RE: C64 DMA

From: Marko Mäkelä (msmakela_at_cc.hut.fi)
Date: 1999-11-18 15:26:56

On Thu, 18 Nov 1999 g.j.p.a.a.baltissen@kader.hobby.nl wrote:

> The make sure evrything goes smooth, you put some NOPs behind the
> instruction in case the timing is not quit right.

I have never understood this.  I've seen unnecessary NOPs in the bank
switching code of cartridges and in some other places.  It is hard to
believe that there could exist a latch having a long enough propagation
delay (over 300 ns) for an approach without any NOPs to fail.

> The Z80 starts at $0000, its reset-address, the first time it is
> activated. The rest is the same as with the 6510.

According to the Programmer's Reference Guide, in the Commodore CP/M
cartridge, the Z80 addresses do not directly correspond to 6510 addresses.
I think it was off by $1000 ($1000 in the C64 memory would be $0000 in the
Z80 address space).

> I did not completely understand the above.

I did.  He is planning to use the C64 for I/O of another computer system
(this is just what accelerator cartridges do).  One Finnish guy asked
about this in comp.sys.cbm recently; maybe you could co-operate with him?

I think it's quite possible to use the cartridge port for write-only
access to all of the RAM (maybe expect $d000-$dfff) and I/O.  By default,
all other memory areas expect $d000-$dfff are write-through (when you
write, the value will go into RAM), and by using the -GAME and -EXROM
lines appropriately, you could perhaps be able to enable the RAM at
$d000-$dfff for writing.  Add a wire running into the 6510's CHAREN
output, if you cannot figure out any better solution.

	Marko

-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.

Archive generated by hypermail 2.1.1.