home *** CD-ROM | disk | FTP | other *** search
- This file describes version 1.0 of afid.
- The latest version should be available for anonymous FTP from
- cs.ubc.ca in /ftp/local/src/afid.
-
- afid is a utility which allows you to manipulate an Apple ][ DOS 3.3
- disk image. It currently doesn't handle Prodos disk images and only
- reads and writes 35 track, 16 sector diskette images.
-
- afid provides a simple command line interface. You start it up
- by giving it the name of a disk image:
-
- afid file.dsk
-
- It then reads the disk image into memory, does a few sanity checks and
- gives you the "] " prompt. You can use the following commands:
-
- catalog - show a list of the files on the disk image
- free - display a map of free sectors and the number of free sectors
- quit, exit - leave afid
- binary - no translation of file data is done during copies (this is the default)
- text - CR <-> LF and Apple <-> ASCII translations are done to file data
- reorder - switch disk sector order between DOS 3.3 (default) and Prodos
- read file - copy the given file from the disk image to a UNIX file
- write file - copy the given UNIX file onto the disk image
- save file-image - save the in-memory disk image to the given UNIX file
-
- Notes:
-
- "save" is important, and changes made with "write" will not be permanent
- until you save the disk image. File names are translated to all uppercase
- on the Apple disk and to all lowercase on the UNIX end. This is convenient,
- but could be annoying. I'm not sure that the text translation is done
- correctly. I just empirically judged that twiddling the top bit was
- the right thing to do. Binary file copy is a little hokey; pay no mind
- to the extra stuff it spits out at you. Disk block ordering can be a
- little tricky. Basically, if you make the disk image on a machine running
- Prodos, you'll have to re-order the sectors. This means that probably
- anything extracted from a Shrinkit archive will need to be reordered.
- It can be hard to tell since the most obvious symptom is a shortened
- catalog which is not a lot different from a normally short catalog.
-
- The free command spits out some crap about the sector mask. You can
- ignore it, but knowledgable folks could help me out. I gather that
- the mask allows you to specify sectors which cannot be used, but
- I've never seen a mask that was usable. What's wrong?
-
- I've compiled afid on a Sun sparcstation with gcc and on a PC with
- Turbo-C 2.0. It should be fairly portable if your machine has enough
- memory. I hope this inspires someone to create a Prodos version.
-
- Things to do:
-
- The most obvious extension is file operations such as type changing
- and deletion. If the disk fills up, you're left with a partial file
- on the disk. The file system is still stable at that point, but
- not deleting the failed file is pretty messy. File reads should
- do something smart like paying attention to the file type.
- A warning that the disk blocks are out of order could be put in.
- Options to switch the file-name mapping on and off would be nice.
- A file-duplicating mechanism could be useful if you ever should run
- into files with holes. Sector allocation is not done in the same
- way as DOS 3.3 (not so bad) and may not be very efficient at times
- (not so good).
-
- The code could use some cleaning up, for sure. I'd try and completely
- localize things like the VTOC accesses and come up with a few
- master directory scanning and file scanning loops instead of duplicating
- the code here and there.
-
- I'm looking towards getting a Deluxe Option Board for my PC. I know
- it can read apple ][ disks into bit images. Should I get the board
- and can figure out the format of those bit images, you can bet afid
- will be enhanced. This should provide a very nice file transfer path:
- diskette -> bit file image -> afid -> bit file image -> diskette.
- This is pretty plausible, but real pie in the sky would be a program
- that could work directly with the apple ][ disk on your PC with the
- option board. Probably won't happen as I doubt programming information
- on the option board will be easy to find.
-