CBM-II & 2031 disk drive

From: Andre Fachat (a.fachat_at_gmx.de)
Date: 2001-02-07 11:58:05


While debugging the VICE CBM-II emulation (C610-C720) I found something
interesting. Using the CBM-II emulation with a 2031 disk drive seems to
result - at least in VICE - in a randomly occuring file not found error
with ST=3:

During a load operation (FFD5), after sending the IEC UNLISTEN (after
sending the
filename) the CBM-II immediately proceeds to send the IEC TALK to start
the data transfer. However, as the CBM-II runs a 2MHZ, the CBM-II is
much faster than the disk drive. So when the drive detects the ATN low
the CBM-II it resets the bus, which includes setting atna up to block
bus on ATN by setting nrfd & ndac lo. The CBM-II 
on the other side waits for NRFD hi to start the send. resetting the bus
from the drive (STA $1800 @ E953) now happens basically the same time
the cpu
first checks for nrfd hi (LDA $DE00 @ F2D4), and in VICE this can now
in both orders. When the drive is first it works, when the CBM-II is
first is gives a file not found error.

This error does not seem to happen in a 4040 drive for example.

Now I have two questions:
- Has anyone experienced this problem with a real C610/620/710/720,
B128/B256 and
  a real 2031?
- Does the 2031 really run at 1MHz, and the CBM really on 2MHz?
- I analysed this from a combined VICE trace log from the drive and the
main CPU.
  But somehow I can't believe that this is the full truth, for me it is
just too
  close. I know noone has much time, but can someone please verify this
behaviour by
  code review?

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

Archive generated by hypermail 2.1.1.