reeder@reed.UUCP (Doug Reeder) (09/12/89)
Over the summer, I considered writing a ProDOS Device Driver to read & write
DOS 3.3 disks. The basic method would be to construct a virtual ProDOS
volume. The volume directory blocks would be constructed and stored in
memory. The killer is that index blocks for all the files would have to be
constructed for all the files on the disk (.5K of memory/file,usually)
because device drivers are told to fetch a certain block. One problem is
that a given virtual block of data may consist of two unrelated track/sector
combinations, and 65,568 virtual block numbers are not enough. This can be
solved with a lookup table for odd blocks.
Question: Since ProDOS requires 1K data buffers for .5K blocks, does it
always keep the current index block on hand?
If so, it might prove practical to construct index blocks on the fly. And
using auxilary memory, hmmmm...
--
Doug Reeder USENET: ...!tektronix!reed!reeder
Institute of Knowledge, Jinx BITNET: reeder@reed.BITNET
"A blaster can point two ways." from ARPA: tektronix!reed!reeder@berkeley.EDU
-Salvor Hardin Box 722 Reed College,Portland,OR 97202dlyons@Apple.COM (David Lyons) (09/13/89)
In article <13293@reed.UUCP> reeder@reed.BITNET (Doug Reeder) writes: >Over the summer, I considered writing a ProDOS Device Driver to read & write >DOS 3.3 disks. The basic method would be to construct a virtual ProDOS >volume. [...] Interesting idea...as you noted, there are interesting problems to go along with it. (To pick one you didn't mention: What do you do if there are more than 51 files on the DOS 3.3 disk?) >Question: Since ProDOS requires 1K data buffers for .5K blocks, does it >always keep the current index block on hand? Yes, I believe the current version of ProDOS 8 does keep an index block around in memory for each open file. (It's not *guaranteed* that to, and you can't fiddle with anything in that 1K buffer without incurring the wrath of Fred, the God of Present and Future Disk Integrity.) -- --Dave Lyons, Apple Computer, Inc. | DAL Systems AppleLink--Apple Edition: DAVE.LYONS | P.O. Box 875 AppleLink--Personal Edition: Dave Lyons | Cupertino, CA 95015-0875 GEnie: D.LYONS2 or DAVE.LYONS CompuServe: 72177,3233 Internet/BITNET: dlyons@apple.com UUCP: ...!ames!apple!dlyons My opinions are my own, not Apple's.