Author Topic: How to dump an Intel MCS-48 8021 ROM?  (Read 227 times)

0 Members and 1 Guest are viewing this topic.

Offline artess97

  • Newbie
  • Posts: 3
  • Country: au
How to dump an Intel MCS-48 8021 ROM?
« on: May 08, 2021, 01:49:18 pm »
Got an old processor from a Pro One synth I'm trying to dump the ROM from, if it still works.

I've attached a pdf of the datasheet.

On page 5 of the document, there is info to dump the contents to Port 0 (which I assume with be the 8 bit bus on pins 4 thru 11)

So, would I need a logic analyser to read and store the contents and does the VCC also need to be powered? (i would guess to 5V and not the 15V of the other pins )

Perhaps someone with more knowledge on these early chips can help.

« Last Edit: May 08, 2021, 01:51:39 pm by artess97 »
 

Online Ian.M

  • Super Contributor
  • ***
  • Posts: 10100
Re: How to dump an Intel MCS-48 8021 ROM?
« Reply #1 on: May 08, 2021, 02:43:49 pm »
Yes, Vcc needs to be powered in its normal range - that's implied by the existence of Mode 2 in that chart.

Although you *could* use a logic analyser to capture the data you'd also need to pulse TEST1.   It would be a *LOT* simpler to use a 5V Arduino.   The RESET pin would need to switch between +5V (in Reset) and +15V and PROG also needs to go to +15V to enter Mode 1B, so you can strap them together and drive them from a suitable level shifter controlled by an I/O pin - probably the easiest here would be a RRIO OPAMP powered between >= +15V and Gnd, configured as an inverting 2X amplifier with its +in strapped to +5V.   When its input is at 0V its output will be 15V and when at 5V, its output will be at 5V.  Caution: if you want to power the Arduino from the external >= 15V supply you'll need to preregulate down to <12V for Vin e.g. with a LM7809.

The sketch should initially set RESET and PROG at 5V, then take them high and pulse TEST1 to output each program memory byte, capturing it on IO pins so it can be sent to a terminal program on the PC in whatever format you prefer for a ROM dump.   Its easier on an Arduino Mega as its got full 8 bit ports available whereas an Uno or Nano looses two port D pins to serial comms with the host so you'd have to use two pins of a different port and reconstitute the program byte accordingly.   Use D2-D7 (PortD2:7) for bits matching the pin number, and D8-9 (PortB0:1) for the two LSBs and you can simply do:
Code: [Select]
byte=(PORTB&0x03)|(PORTD&0xFC);
« Last Edit: May 08, 2021, 03:42:08 pm by Ian.M »
 

Offline 8bitrepair

  • Newbie
  • Posts: 1
  • Country: de
Re: How to dump an Intel MCS-48 8021 ROM?
« Reply #2 on: May 26, 2021, 09:51:58 pm »
I'm new in this forum and i'm trying the same thing, this brought me bit further thx. :)
but im still a little bit confused do i need to pulse TEST1 between +5V and +15V ? and is it pulsed once too dump the full ROM or mutliple times at a specific frequency ?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf