On Wed, 25 Jul 2001 ncoplin@orbeng.com wrote: > Ok, thanks Marko, but I assume the program is trying to do something like > this, > > sta $DFFF (this activates /IO2 and in turn pulls EXROM low) > jmp $8xxx (run code from ROM) > > The FastLoad Cart uses a capacitor ensure that the EXROM signal stays low > for the 3us between the store and jump. Is this not necessary due to some > "internal" or circuit delay? Okay, now I understand what you were trying to say. By the way, the EXROM signal should stay active for much longer than the 3 microseconds you mention in the above example. In fact, the program would work, even if it took the EXROM signal up to 3 clock cycles to react to the I/O2 signal. The Action Replay fastloader and utility cartridge makes use of something like what you are describing. It has one 6-bit register that is triggered on every I/O1 access. (It's better not to try _reading_ from $dexx when the cartridge is active, since the register on the cartridge will accept the value that happened to be on the data bus also in that case.) The I/O2 area is mapped to $9f00-$9fff on the ROM. You can get a very short documentation of the Action Replay cartridge hardware by reading the prlink source code. Look for the "actionreuplay" option that (together with a hardware modification) allows simultaneous use of the Action Replay cartridge and the Commodore REU (RAM Expansion Unit). Note that the Action Replay uses a latch (maybe an 8-port D-flipflop) in order to implement the register. You can get the schematic diagram of an Action Replay clone from FUNET. Marko Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.1.