• Please review our updated Terms and Rules here

Intro to the ROMulator for Apple II (and other 6502 machines)

bitfixer

Veteran Member
Joined
Apr 6, 2011
Messages
679
Location
San Francisco, CA
Hello to the Apple II folks here,
I wanted to introduce a device I've been working on fairly recently,
It's called the ROMulator, and it is a fully programmable RAM and ROM replacement board as well as a debug aid for 6502 based computers.
This originally came about as a tool for Commodore PETs, but it works for 6502 machines in general including the Apple II. I've used it recently to help debug some faults on a II+, have not finished that repair yet but it was able to quickly tell me that a certain address line was stuck when reading from RAM. Currently the machine will start with the RAM and ROM replaced with the ROMulator's onboard ram. It will run standalone in this mode, and in addition if you connect a raspberry pi to it, you can halt the CPU at any point and dump the contents of the ROMulator's memory. This is useful for debugging a system with bad video ram, for instance, since you can still 'see' the screen by looking at the memory in the video ram space.
There are switches to select between 16 different ROM sets or memory configurations. The contents of the ROMs as well as the details of the individual configurations is programmable using an external raspberry pi.

Segments of memory space with minimum size 256 bytes can be programmed to replace RAM (read/write), replace ROM (read only), duplicate writes to onboard memory but continue to read from the main board (writethrough), and pass through.
I wanted to introduce this board to the Apple II group here as an option when looking for tools to fix faulty machines. It can also be used as a standalone RAM/ROM replacement for as long as it's needed.
More information is here: https://bitfixer.com/romulator
Please let me know if you have any questions, thanks!
 
So this can only be used on The original Apple II, II plus and un-enhanced IIe's (cant be used on a 65C02 based apple II)?
 
Good question, I'll check on that. I've only personally tested on 6502s, but as far as I know it should work on a 65C02 as well. The pinout is the same, and the main signals the ROMulator cares about (Data, address, the phi clocks, R/W) are doing the same thing, so should be fine. I may have a 65C02 machine around for testing..
 
Actually just checking the 65C02 pinout, the BE pin on 36 is different from a 6502 which is NC for that pin, and pin 1 is VPB as opposed to GND. Have to check on the details on that
 
Last edited:
Ok, quick check on the ROMulator schematic, and confirmed that currently both pin 1 and 21 are connected to GND. So there may indeed be a problem with a 65C02 used in the ROMulator. I'll note this for the next revision next time I order some boards.
 
I dont know what is involved; but if you could make this romulator support the 6502 and 65C02 you will have a much bigger audience in that most apple II owners have a IIe (an most likely an enhanced IIe with a 65C02) I would definitely be interested if it supported both.
 
Thanks, appreciate the information. I'll look into that for the next board revision. Luckily, the ROMulator has two separate boards, and the more complicated of the two wouldn't need to change at all. Mostly it would involve switching pin 1 between ground and VPB depending on the processor, and would have to figure out how to handle the functions of the pins that are different.
 
@bitfixer I’m looking forward to using the romulator in my apple ii plus.
But i’ve noticed that the board doesn’t quite clear the height of the expansion slots.

What’s the best method to bump the height, Is it best to stack a few 40 Pin sockets between the cpu socket and the romulator? or maybe there is a ribbon cable extender?
 
Neat project! It looks similar to my MCL65+ and MC64 projects which also use a microcontroller board to emulate the motherboard's RAM, ROM, and CPU.
 
Just to correct the confusion above concerning 6502, 65c02 pinouts and enhanced Apple IIes. There are different 65c02s:
  • the enhanced Apple IIe used a Rockwell 65c02. This is fully pin-compatible with the original 6502. There are no pinout differences compared with the original 6502. See datasheet: http://archive.6502.org/datasheets/rockwell_r65c00_microprocessors.pdf
    The Rockwell R65c02 still has the 3 NC pins and pin 1 is still ground. This was used for the "enhanced" Apple IIe. You can just swap the 6502 with a Rockwell 65c02 (and use updated ROMs) and you're done with the enhancement.

  • However, there is also a more advanced 65c02: the W65C02 made by WDC (Bill Mensch). The W65C02 is still availble today. Bill is still selling these and many suppliers have them in stock. However, you cannot plug a W65C02 into a mainboard which was only made for the original 6502, like the Apple II(e) - unless you use an adapter. The W65C02 repurposed pin 1 for VPB (instead of ground) and also uses two of the NC pins. See W65C02 datasheet: https://www.westerndesigncenter.com/wdc/documentation/w65c02s.pdf
    Apple never made and Apple II(e)s for the W65C02. You have to use an adapter, if you wanted to use a W65C02 in an Apple II(e).
So, back to the topic: if the ROMulator was made for the original 6502 pinout, then it will just work fine with the enhanced Apple IIe - since it's using the identical CPU pinout like any other Apple II.
 
Last edited:
enhanced Apple IIe - since it's using the identical CPU pinout like any other Apple II.
I believe the Apple IIe uses and 6502 and the enhanced version uses the 65C02.
 
I believe the Apple IIe uses and 6502 and the enhanced version uses the 65C02.
Yes, that's what I said. I was refering to the pinout there. The CPU pinout never changed for any Apple II(e) mainboard. No matter whether using a 6502 or (Rockwell) 65C02.
 
Can this device replace the 128KB system ram (not just 64KB) of an apple IIE hypothetically if the AUX slot COULD NOT be used to give the IIe the ADDITIONAL 64kb?
 
Last edited:
Hi @VERAULT
Sorry for the late reply, I don't believe that the Romulator can be used to replace 128k of systems ram as it does not support Bank switching which would be needed to address above 64k.
Bank switching support would be useful as it could also provide support for apple ii language card/ram sharing.
 
Hi @VERAULT
Sorry for the late reply, I don't believe that the Romulator can be used to replace 128k of systems ram as it does not support Bank switching which would be needed to address above 64k.
Bank switching support would be useful as it could also provide support for apple ii language card/ram sharing.
Shame. Maybe one day such a device can be made.
 
Back
Top