New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DOS 3.2 - INIT gives an I/O ERROR #537
Comments
The difference between 1.25.0.4 and 1.27.0 is how the disk's write-protect state is returned. For DOS 3.2.1, after INIT writes a track, it'll attempt to read it (eg. to check that the gaps aren't too big and no sectors have been overwritten). Here's the code to read the disk's write-protect state and set read mode:
For AppleWin 1.27.0, because floppywritemode==1, then the write protect state isn't written to the latch (bit7), and the latch value remains at 0xFF. So the INIT fails. See Is this a bug? Or a difference between the 13-sector and 16-sector Disk II interface controller cards? |
In
@sicklittlemonkey - Nick: you did the improvements and changes in this area. Do you have thoughts about this? |
Interesting. I'm currently packing my life away into boxes, but this isn't
obvious at a glance when looking at the sequencer programs on 9-19 of
Sather's Understanding the Apple //e.
As usual, though, Sather is nothing if not thorough!
Read page 9-21 from the paragraph starting:
"If for some reason the above write protect check
were entered with the READ/WRITE switch in
WRITE, the write protect switch would still be read
correctly."
So we can just remove the surrounding "if (!floppywritemode)" block.
Nice find!
Cheers,
Nick.
|
Nick: thanks for the quick Sather reference (that's fixed and committed now). I'm leaving this issue open for now, as there are a few DEBUG asserts to tidy up (due to 13 sectors), and it would be nice to understand why CiderPress doesn't like these DOS 3.2 .nib's that AppleWin is creating. |
Added test for DOS 3.2.1 INIT (AppleWin/AppleWin-Test@21185bd) |
There's a subtle bug in CP: |
Officially there's no support for DOS 3.2 in AppleWin (eg. there's no mention of DOS 3.2 in the docs, and .d13 disk images have never been supported).
To reproduce this using AppleWin 1.27.0:
INIT HELLO,D2
will quickly give an I/O ERROR.NB. AppleWin 1.25.0.4 completes the INIT without error. But if you try to open the .nib with CiderPress, then it prompts with Filesystem=Unknown filesystem. Selecting "DOS sector ordering" and "DOS 3.2" gives the error:
The text was updated successfully, but these errors were encountered: