• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.
  • Here are the results of the VCF East 2022 Post Event Survey: Survey Results

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

bitfixer

Veteran Member
Joined
Apr 6, 2011
Messages
651
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!
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,079
Location
Connecticut, USA
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)?
 

bitfixer

Veteran Member
Joined
Apr 6, 2011
Messages
651
Location
San Francisco, CA
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..
 

bitfixer

Veteran Member
Joined
Apr 6, 2011
Messages
651
Location
San Francisco, CA
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:

bitfixer

Veteran Member
Joined
Apr 6, 2011
Messages
651
Location
San Francisco, CA
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.
 

VERAULT

Veteran Member
Joined
Jan 30, 2012
Messages
5,079
Location
Connecticut, USA
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.
 

bitfixer

Veteran Member
Joined
Apr 6, 2011
Messages
651
Location
San Francisco, CA
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.
 
Top