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.