4 ms·
Ditto - I've been wanting to do one on a small ARM Cortex-M core, but it's bewildering to even think about where to start. It seems like people have put togeth
by leggomylibro 8y ago
Ditto - I've been wanting to do one on a small ARM Cortex-M core, but it's bewildering to even think about where to start.
It seems like people have put together a lot of good documentation for old systems though, which could at least be a good place to start reading:
https://problemkaputt.de/gbatek.htm https://problemkaputt.de/gbatek.htm
- jwhitlark 8y agoChip8 is a good one to cut your teeth on. Very simple, good examples, does not take too long, but once you've done it, its much easier to see how more complex ones could work.
- pjmlp 8y agoTry this Assembly tutorial https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/ https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/ It has enough for doing 2D games bare metal on ARM. And then you can jump into PiFox. https://www.raspberrypi.org/blog/pifox-bare-metal-arm-assembly-language-star-fox/ https://www.raspberrypi.org/blog/pifox-bare-metal-arm-assemb...
- burfog 8y agoThe upside is that the Raspberry Pi has good documentation. The downside is that you'll need to emulate 4 cores plus a GPU. Guest software (the stuff being emulated) may fail if the cores aren't decently fast. You may also need to do USB, audio, wireless LAN, and Ethernet.
- pjmlp 8y agoI understood that leggomylibro would like to learn the hardware first, before getting into emulation. Hence the idea of learning ARM Assembly, I guess I got it wrong.
- leggomylibro 8y agoWell I've already gotten simple 2D games working in bare-metal ARM with OLED and TFT displays, it's more the emulation aspect of things that is intimidating. ARM Cortex-M cores are also a bit different from the Application-class processors used in boards like the Raspberry Pi. They are closer to an Arduino than a "real computer".
- pjmlp 8y agoYeah, I guess I misunderstood you. That is how we did 8 and 16 bit coding on home micros back in the day. :) My favourite SOC is the ESP32, but I guess it already has too much hardware to emulate and isn't an ARM anyway.
- leggomylibro 8y agoHaha, no worries - embedded stuff sometimes feels so confusing that I think I misunderstand myself most of the time. Yeah, I've wanted to learn more about the ESP32 - it seems like people have done some really cool stuff with it and it looks like you get a lot of power and connectivity. But I'll bet you can empathize with not having enough hours in the day!
- pjmlp 8y agoYup, my github repo is full of useless, unfinished stuff. :)
- makapuf 8y agoI ported a gb emulator on baremetal custom diy arm32 console with 192k of ram and 168mhz. The challenge was that the video signal is generated in realtime, like no framebuffer. http://bitboxconsole.blogspot.fr/2014/01/bitboy-bitbox-emulator-for-bitbox.html?m=1 http://bitboxconsole.blogspot.fr/2014/01/bitboy-bitbox-emula...
- leggomylibro 8y agoOh, cool! Thanks for that link, the STM32F4 is pretty close to the F0/L0/L4 series that I've been learning about; I was actually thinking of using an L082KZ to start with because it has a lot of Flash, built-in EEPROM, a simple M0+ core, and is easy to hand-solder. Cool idea using VGA as the output; was that hard, or could you just use the DACs normally? I was looking into parallel LCD interfaces for awhile - some F4 cores have a 24-bit RGB LCD peripheral - but they look complicated and I'm still puttering around with SPI OLED/TFT displays. Anyways, looks like a really cool project!