Page 1 of 1
ROM emulator
Posted: Tue Aug 20, 2013 7:42 pm
by Dajgoro
In a university lab where we had to work with 8051 MCUs there were some ROM emulator gizmos that would plug instead of the rom chip, and we could upload the hex file over the pc.
It is a very fancy tool for developing stuff for 6502 and similar CPUs.
Has anyone made something like that?
Or can it be bought for a decent price?
Re: ROM emulator
Posted: Tue Aug 20, 2013 10:21 pm
by nyef
A ROM emulator is basically an SRAM module with a ROM pinout and a connector to allow a PC to upload a program to it. You could probably build something that would work from a suitably-sized SRAM, a few shift registers, some tri-state latches, and a parallel port connector. Or use a small MCU and a serial port instead of a parallel port.
That said, if your target system has ROM and a serial port already, it might be cheaper and easier to have a small monitor program that can load a program into RAM from the serial port. Or go one step further if you have an in-system-programmable ROM setup.
Re: ROM emulator
Posted: Tue Aug 20, 2013 10:42 pm
by MichaelM
We had some of these at one time that er used for the exact purpose that you described for your lab. I think nyef's suggestion is probably more economical. We didn't buy them because they were cheap, but because they were convenient for a system whose SW would not include a monitor.
After we quit worrying about the cost of 29F256 vs 29F010s or 29F040s, we put in a monitor in our projects and just used it's download capability to load and test the SW. The cost of the additional Flash memory to include a 4-8kB monitor was insignificant when compared to the cost of the ROM emulators. Furthermore, unless you opted for a parallel port version, the download speeds of most ROM emulators matched that of the monitor.
Re: ROM emulator
Posted: Wed Aug 21, 2013 4:57 am
by Dajgoro
Since I build projects that have a 8051 or a 6502 at the core with point to point soldering adding an extra rom is not trivial. Also I don't have such a monitor program, and that would also require that all of the projects have a working link to a PC.
I was thinking about using a 32k ram, few latched, mcu, and a ftdi chip to connect via usb to the computer. Then I could just stream the hex file to the com port.
Re: ROM emulator
Posted: Wed Aug 21, 2013 6:36 pm
by BigEd
Here's ROMBO which uses i2c to shift in data and addresses:
https://sites.google.com/site/beeb816/hardware
Re: ROM emulator
Posted: Tue Oct 22, 2013 7:38 pm
by yzoer
I made a ROM emulator a while ago that I'm re-visiting. Right now it supports up to 8k as I didn't want to use more parts but I need to make it support up to 512k or so. The way it works is that you connect it to your computer's parallel-port and then simple type 'copy test.bin lpt1:' which will then copy the contents of that file to RAM. During that time your CPU will be disconnected / execute crap code so you'll need to reset it afterwards. Still, the process takes under a second.
From a technical point of view, it's based around a 74hc123, which is a 'dual re-triggerable monostable multivibrator' and a flip-flop (the top two IC's), counters, multiplexers and a latch. The first half of the 74hc123 acts like a watchdog circuit and switches the address / data bus on the negative pulse of the parallel-port strobe. The positive edge then drives the busy / ack signals as well as performing the write to RAM and clocking the address counters. As long as it receives strobes from the PC, it'll keep the CPU off the bus. Once the file is done, it times out and resets the flip-flop to switch the CPU back.
I'm regurgitating all this from memory but do have the schematics somewhere. If anyone has any requests as to what they'd like to have, let me know..
-Yvo
Re: ROM emulator
Posted: Tue Oct 22, 2013 8:27 pm
by GARTHWILSON
I'm regurgitating all this from memory but do have the schematics somewhere. If anyone has any requests as to what they'd like to have, let me know..
We like to collect as much helpful documentation as we can. If you don't have your own website, maybe you could send Mike the documentation to put up a page on it on the projects section of this website. Do make it as clear and complete as you can so as to minimize the amount of work it is for him to turn it into a web page when he's not familiar with what you've done.
Re: ROM emulator
Posted: Tue Oct 22, 2013 8:32 pm
by yzoer
Yeah, I'm planning on putting it up as soon as I redesign the board. On that note, one of the things I was considering was making separate daughter PCB's that would route the signals the right way. I.e. 24, 28 and 32-pin boards with perhaps some jumpers on there to select different devices.