The Anatomy of an Impossible Port: Bringing Dead Cells to the R36S
The Anatomy of an Impossible Port: Bringing Dead Cells to the R36S
So a few weeks back my friend klops: the lead dev of PortMaster, introduced me to a developer called bmdhacks (who was once, long ago, a dev on a couple PS2 games!). bmdhacks had a crazy plan (well by the time I got to chat to him, that plan was very close to complete!) of bringing Dead Cells to the inexpensive R36S retro handheld. Which maybe you'll know, if you're a retro handheld fan, is a device that was never designed to run games of that scale.
What started as a impossible request in the PortMaster world (they had it rated as “Low” in feasibility) turned into a stupidly difficult technical project involving a custom ARM JIT compiler for HashLink, an LLVM-based ahead-of-time compilation backend, and an entirely new decompiler pipeline capable of reconstructing structured code from bytecode.
And did I understand everything he told me when telling me what he did, how he did it, and what was next? No. Not at all.
My article I got to write on it (from all bmdhacks told me) covers the whole process, so if you're into the technical side of porting games? Then you're in for a treat!
Here's my link:
https://gardinerbryant.com/the-anatomy-of-an-impossible-port/
Little edit: bmdhacks is in the comments below, if anyone has any specific question to ask, or comment to share! Yay!