Skip to content
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

Reconstruct disk (dummy names) from the INDEX-less disk from Mattis #9

Open
mortenjc opened this issue Oct 17, 2024 · 1 comment
Open
Labels
help wanted Extra attention is needed

Comments

@mortenjc
Copy link
Collaborator

We have a (possibly corrupt) disk which is missing the INDEX track, but does otherwise contain data.

According to Karl Wacker who forked for Q1 Corporation this could be done like this:

Q1 programming floppies had several main file lengths:

40 bytes: Index track & PL1 / assembly error message files

63 bytes: Assembly language source files

79 bytes: PL1 source files

255 bytes: Program files

Note that the shorter the record, the more sectors / track.

I would do a scan of each track, first looking for sector header records
and one I had found a few, look between the lowest sector number pair
and look for the data record between them, testing that it follows the
format rules for one of the above types [testing for a good checksum and
the trailer bytes, then using that read the track].

Any record other than program file ones should have ASCII text in it.

When you have done this for all the tracks, you can build an artificial
INDEX record for the program file tracks and for each track, starting
for the lowest program file track, feed it's INDEX record into the file
loader program in your emulator, and see what it loads into memory.

If the file starts loading at 4300, that is most likely the start of a program.

The last record of a program should modify a jump vector to start running.

@mortenjc mortenjc added the help wanted Extra attention is needed label Oct 17, 2024
@mortenjc
Copy link
Collaborator Author

The above approach is sound, but after spending a couple of evenings on this it became clear
that the digitised disk image has too many read errors so almost all tracks have invalid/empty
records. In very few cases these can be corrected but we really need better floppy images.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant