rocklite wrote:I am trying to put the awesome Rockman X3 hack known as " Project Zero " on a 1DC0N board.
I am not working with x2 or trying to put x3 on a 2dc0n board at all. That was another project and I know how to do that. I am trying to replace one 1.5mb 40pin mask rom with one 4mb 36pin 29f033c chip.
I've done it, but it's not too straightforward.
The main issue is that the CX4 doesn't know where to map ROM data past 2MB, causing it not to enable the ROMs /OE line.
I'm not entirely sure of the process but I have some notes:
- hack is based on MMX3 but I used 2-ROMs on a MMX2 board I changed that $7f52 register to be set to 0 instead of 1
- the data lines are passed from edge connector through CX4 to ROM, but CX4 tristates data lines (luckily not address lines!) when we're reading past 16mbit in ROM, so we have to run the data lines from ROM2 directly to the edge connector
- for simplicity, both ROM1 and ROM2 can have their /CE tied to GND and we'll do all switching on the /OE lines
- ROM1 will need the A20 line from the CX4 and the CX4 /ROMOE line can be used for the ROM1 /OE signal
- ROM2 is to be enabled while /ROMSEL is low and we're reading past the 16-mbit address on the bus. This is LoROM so that would be edge A22.
- instead of having the data pass through cx4, I placed the upper 16mbit in parallel with the cx4 directly on the edge connector. Then
the enable clause for the 2nd EEPROM is simply ~A22 || /ROMSEL.
So to modify a MMX2 board you:
- patch ROM file to set $7f52 to 1 instead of 0
- route ROM1 /CE to ground, /OE to cx4 pin 52 (/ROE)
- cut ROM2 data line traces to cx4 (behind the via's so ROM1 data
lines remain connected)
- route ROM2 data lines to edge connector using the pads next to C11-C17 marking
- route ROM2 /CE to ground, /OE to some logic formula (I used a 74139)
- get A20 from CX4 (no /CE trickery possible this time)