Friday, December 27, 2019

Dumping the x88c64 multiplexed rom #8051 #ROM @abzman2000

Evan notes the 8051 microcontroller is in many different devices. It’s a very old architecture, which means there are lots of tools and the parts are rather inexpensive.

The 8051 is in everything.  I’ve won pitchers of alcohol by betting that a given device contained an 8051.  It’s in USB hubs, bluetooth microprocessors, UPSes, and even SOIC16 packages and smaller.   That’s not to say it’s a sane architecture, but it’s ubiquitous.  The problem I have is pin multiplexing.  The 8051 has internal rom, that’s all fine if you’re only using that internal space but the 8031 is the rom-less version.  The 8031 has all of it’s program memory offboard which is very nice for the purpose of accessing it to dump the data for analysis and modification, except in this case.

To save pins on the 8051 series the data pins are multiplexed with the lower 8 bits of the address bus.  In most circuits that just means that a latch is used and the processor interfaces with a standard parallel rom.  This architecture became so ubiquitous though, that special multiplexed roms were created to deal with this exact scheme and allow for smaller boards and less circuit design work.  The x88c64 is one of those chips.

See how Evan used an Arduino Mega 2560 to read out the ROM contents in the blog post here. The code is on GitHub here.

No comments:

Post a Comment