home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
emulator
/
apple2000_utilities
/
afid.doc
< prev
next >
Wrap
Text File
|
1995-02-27
|
4KB
|
79 lines
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.