-
Notifications
You must be signed in to change notification settings - Fork 56
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
nib encoding: an oddity in the epilogue of the address field #86
Comments
This is very interesting. I feel like this may have come up when @iflan was writing tests for the various nibble routines. I will have to dig in some more. |
Don't know how I missed this thread. :-) @Bischoff, I do remember reading that passage in chapter 3 of Beneath Apple DOS:
And I just checked Beneath Apple ProDOS, chapter 3, which says:
In Understanding the Apple IIe, on p. 9-27, Slater writes:
I think this explains what's on I'd very much like to see what happens with real floppies using both DOS 3.3 and ProDOS as well as factory-formatted floppies. I recently received an AppleSauce controller, so I should be able to see exactly what's happening. (This is going to take a few weeks, though, because I need to find a Mac to use the software.) My proposal is this: If factory-formatted floppies contain the |
Thanks guys for diving into this. @iflan's proposal at emission time makes sense to me. But I would also recomment to make the |
@Bischoff, two of the three places that you identified above are only for "exploding" a Therefore, I think that the emulator will be have correctly. If you think that's wrong, please let me know. |
You probably know the source code better than I do. If it does not impact reading, then fine 😸 , let's concentrate on the writing part. |
To finish this off, I looked at a few professionally produced disks which I have imaged, including Ultima V and Chessmaster 2000, as well as personal disks that I'm pretty sure I formatted myself. All of the disks had the full Personally, I'm surprised that they all had the complete, intact epilog. But I guess that's good. :-) |
Hello,
I stumbled today on something very weird.
"Beneath Apple DOS" says that the epilog of an address field is
DE AA EB
, and your code conforms to that :But if you take an hexadecimal editor and analyze for example https://mirrors.apple2.org.za/ftp.apple.asimov.net/images/masters/blank.nib, you will see that there is
DE AA
directly followed by 5 bytes of gapFF FF FF FF FF
. TheEB
is missing.I traced what an Apple II+ ROM does when I save a file, and indeed it starts writing the gap 1 byte earlier.
I get an I/O error if I do a
SAVE HELLO
in an emulator, save the resulting bytes to a disk with the extraEB
, and read the disk again. I don't get this I/O error if I remove the extra byte."Beneath Apple DOS" says about this byte "Oddly, the
$EB
is always written during initialization, but is never verified when an address field is read". I did not check what happens during an initialization. It could be that the$EB
is overwritten at the first occasion, I do not know.In any case, it seems to me that emulators work better if first epilogue is made only of 2 bytes, like what is found on all nib disks I checked so far.
In the hope it helps,
The text was updated successfully, but these errors were encountered: