Categories

Emulating a hardware ROM in real time with an STM32F4

Posted on Thursday, June 14th, 2018 in hacks by DP

Screen-Shot-2018

 

ROM emulation using an STM32F4:

I remember reading dhole’s  Emulating a GameBoy Cartridge with an STM32F4 some time ago thinking that it had a lot of applications with respect to old computers. In that article  a STM32F4 microcontroller  ‘pretends to be a ROM chip for a gameboy’. At the start of a bus cycle, an interrupt is triggered in the STM32F4, it then reads the address bus of the gameboy’s 6502, checks the gameboy’s read/write line(s) and pulls data from its internal Flash and presents it onto the data bus long enough for the gameboy to read it, then tristates the databus. There are no wait states. It does this all within the 1000ns of the 1MHz Gameboy CPU clock. For all intensive purposes the gameboy thinks it has a real rom chip attached.

Full details at Kernelcrash.com .

This entry was posted on Thursday, June 14th, 2018 at 11:51 pm and is filed under hacks. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

One Response to “Emulating a hardware ROM in real time with an STM32F4”

  1. Max says:

    Hey, good job quoting as an abstract something the author writes about someone else’s project… For the record, I do appreciate the proper attention to detail, timing and the limits of what the hardware can possibly do; it’s the exact thing lacking in most of the Arduino “maker” generation. Respect!

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • Crawford: Dog pants,
  • Iain NoSpam: A very random comment from a very random commenter.
  • Kurt: Darkness falls across the land The midnight hour is close at hand
  • Jack: I hope everyone at Dangerous Prototypes wins a share of the MegaMillions jackpot tonight.
  • Edward Mallon: While I loved the Nokia 5110 LCD's readability in full sun, the pressure sensitivity was a real problem for the underwater units. So I started...