Dual Port RAM Teaches an Old NES New Tricks

nesDPR

[Andrew] is developing a game for the Nintendo Entertainment System (NES). Emulators are great for this, but [Andy] loves running on the real iron. To help, he’s created a dual port RAM interface for his NES. As the name implies, a dual port RAM is a memory with two separate data and address buses. The Cypress Semiconductor CY7C136 [Andy] used also includes arbitration logic to ensure that both ports don’t attempt to access the same memory cell and cause data corruption. In [Andy's] case the NES was on one side, oblivious to the new hardware. On the other side of the dual port RAM, [Andy] installed an ATmega164 running his own custom firmware.

The new hardware gives [Andy] a live view of what’s going on in the NES’s memory. He added a live memory view/edit screen similar to the FCEUX emulator. The window runs on a PC while the game itself is running on an NES. [Andy] was even able to add rudimentary break and step features by connecting his circuit to the Non Maskable Interrupt (NMI) line of the NES. By holding the NMI asserted, the ATmega can essentially freeze the game in progress.

[Andy] has even used his circuit to teach the NES some new tricks. By reading the timer and score memory locations on Ice Hockey, he was able to create a scoreboard and goal light. Similar techniques were used to give Contra a muzzle flash light which puts Ambilight systems to shame.

We don’t know what [Andy] is planning next, but we hope it’s a source release so we can start hacking some some games ourselves!

Click past the break to see a couple of [Andy's] Vine videos.

 

 

Comments

  1. MobileWill says:

    Wow that is impressive. I still have mine (only owner) and haven’t had a reason to bring it out. Hmm…

  2. vpoko says:

    Not much to say about this except that it’s awesome!

  3. PodeCoet says:

    Brilliant!

  4. charliex says:

    dual ported ram is one of the best things ever

  5. NewCommentor1283 says:

    im glad…
    last time i saw someone doing something LIKE this,
    it was a looong time ago!

    he should seriously consider making a second that stands in for the game program data. AKA game-cart

    because using both of them at once would be insane :D
    in addition to the things you could do with such a setup would be insane :D

    i mean being able to create a game-genie type device execpt on a whole different level!
    (no pun intended)

    • smilr says:

      WIth full access to both ram and rom contents, you could feed the NES basically an unlimited size / malleability cartridge. Now tie that into an internet enabled computer. Suddenly your nes has internet multiplayer, Gigabytes large game worlds, endless tracklists for background music.

      FIrst thing I would want is a console played MUD or MMO game in true 8 bit style!

  6. Your MOther says:

    Not Ice Hockey, that is Blades of Steel!

  7. Gdogg says:

    This is one of the cooler hacks I’ve seen here in a while (well, it’s right up my alley). Very cool project that makes me wish I leaned more of the EE side of my engineering degree.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,742 other followers