Redneckerz Posted November 23, 2020 (edited) Introduction: Picture a re-release of a classic handheld from the 80's and load it up with Super Mario Bros. Then picture it being hacked. The innards of the 80s were thrown away, and in it you find a a STM32H7B0VBT6 microcontroller, which consists of an ARM Cortex-M7 core at 280 Mhz, 128 KBytes Flash, a 2D accelerator (Chrom-ART) and 1380 KBytes of SRAM,and 1 MBytes of Serial Flash. You bypass the security, and find a way to get new games on there. So what else is left then?Simple: Hack it even more so it is able to run Doom. And that's exactly what developer Stacksmashing did. Due to the limited memory available (A little more over 1 MB), Simon @fraggle Howard's miniwad is employed here, along with STM32Doom, a custom build of Chocolate Doom to the STM32 platform and variants. In this rendition, Doom is semi-playable. With slightly more detail the framerate plummets, but hey, its yet another rendition of Doom. Github/Source Code: Game and Watch Doom Perhaps @viti95's FastDoom routines might be an inspiration for improvement?Youtube: Edited November 23, 2020 by Redneckerz Added in Source code page 11 Quote Share this post Link to post
Murdoch Posted November 23, 2020 Jesus. Coming up next, Doom running on a cheap casio watch from 1984, followed by the blockbuster sequel Doom running on a literal abacus... somehow. 1 Quote Share this post Link to post
mxrgan Posted November 24, 2020 48 minutes ago, Murdoch said: Jesus. Coming up next, Doom running on a cheap casio watch from 1984, followed by the blockbuster sequel Doom running on a literal abacus... somehow. What about doom on the Tiger Game Watch? Spoiler This isnt mine fyi 0 Quote Share this post Link to post
DuckReconMajor Posted November 24, 2020 This Game&Watch hacker had a great use case for miniwad and was able to find it with a bit of research. Good job again fraggle! I'm very excited what further frontiers 'real' doom source can reach with miniwad. 2 Quote Share this post Link to post
Murdoch Posted November 24, 2020 3 minutes ago, PSI Boredom Ω said: This isnt mine fyi Yeah I would not admit to owning one of those either... Kidding. I had a car racing game watch when I was about 9 or 10. Fun at the time. 2 Quote Share this post Link to post
Optimus Posted November 24, 2020 Great achievement of fitting this with so little memory. But I wondered originally why it's slow. When I first read Game&Watch I thought of the original LCD displays like in the 80s or before. But this is a rerelease from Nintendo, it only looks like this but mind you a 280mhz CPU is a bit more than a Gamepark GP2X which ran Doom very nicely, even Quake 1. I posted something on the channel and the response was "The external flash is slow to access, that’s the main issue - not unfixable but more work required :)". So, maybe because of very little memory, things are loaded constantly from the ROM and results into that. 0 Quote Share this post Link to post
Swordofdanu Posted November 24, 2020 I'd just like to add that in the featured video, my YT comment appears (just to the right of the centre) Asking the important questions for Doomworld. 2 Quote Share this post Link to post
Redneckerz Posted November 24, 2020 11 hours ago, Optimus said: Great achievement of fitting this with so little memory. But I wondered originally why it's slow. When I first read Game&Watch I thought of the original LCD displays like in the 80s or before. But this is a rerelease from Nintendo, it only looks like this but mind you a 280mhz CPU is a bit more than a Gamepark GP2X which ran Doom very nicely, even Quake 1. I posted something on the channel and the response was "The external flash is slow to access, that’s the main issue - not unfixable but more work required :)". So, maybe because of very little memory, things are loaded constantly from the ROM and results into that. The original's used a 4 bit processor - This was wholly unknown till they arrived in MAME. As for this, the Cortex M7 is rather potent - it has DSP instructions, it has an FPU, there is even an 2D accelerator - So if one were to make an optimized version for Doom that takes advantage of this, you could get some serious speedboosts here. A custom engine using Doom assets like Dread or Doom SNES do it would be possible aswell. All in all, this is very interesting hardware - like a GameBoy Advance on steroids. ;) 0 Quote Share this post Link to post
viti95 Posted November 24, 2020 The Cortex M7 should run Doom much faster (even without optimizations), but the low ram available is a big problem. Maybe it's possible to implement some kind of ram compression (such as ZRAM) and gain more ram available. Also having some kind of compression algorithm for the data should improve the performance, the less you transfer from the flash device, the faster. The compression itself shouldn't be a problem having such a powerful cpu. It's also possible to remove more Doom features, and most of the I_Error messages to reduce even more the executable size. Anyway is a really impressive port! 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.