[Coco] Timing problem with the CoCo and the WD1773 ?
robert.gault at worldnet.att.net
Mon Aug 7 23:29:06 EDT 2006
The important part of this doc is not even/odd bytes. That just uncovers
timing problems in the 1773. The critical answer to the problem is
not to reload $FF40 in the read/write loops.
That means you don't use a loop such as
readloop lda $ff4b get a data byte
sta ,x+ store it in the buffer, point to next cell
stb $ff40 enable halt mode
bra readloop continue till NMI
Instead you use
readloop lda $ff4b get data from fdc
sta ,x+ store byte in buffer
nop one more op code fetch for HALT
bra readloop repeat till NMI occurs
When you change the read or write loops in this manner, the code no
longer is dependent on odd/even bytes. The BLOB no longer is active.
More information about the Coco