I am not used to be a forum thread necromancer, but I stumbled across this page many months ago when I wanted to assess if the MCU I was considering had enough RAM to run Doom.
Thanks to your contributions I found the awesome doomhack’s GBA Doom port, which I took as the starting point.
That helped me porting Doom to a device featuring only 108 kB RAM (yes, 96+12 kB!), 1 MB internal flash, and 8 MB external SPI flash, which I added to store the Shareware WAD file (this slows down everything, but that MCU has no external memory bus).
With respect to the GBA port, mine lacks music (SFX work well instead), and it has a resolution of 160x128 pixels (however rendered in high detail i.e. no pixel doubling). Furthermore, Z-Depth lighting effect has been restored (it was removed by doomhack to gain some RAM). Moreover, the GBA port used mip-mapping in composite textures, but in my port rendering has been restored to full detail.
All the other features are kept as in the doomhack's GBA port.
Full source code and link to my work will be released very soon! (probably next Sunday)
In the meantime, I have attached a close-up of what I achieved on the development board.
The final device where I ported Doom is, let's say, quite unusual (no, it is not a pregnancy tester!), more info on Sunday!
In the picture, the ammo shows the current FPS multiplied by 10, for testing purposes. On the github code, it will correctly display the ammo.
Finally, the colors are not caught very well by the camera.