Subject: Re: ShrinkitGS and forked files-- and XGS Path: lobby!newstf02.news.aol.com!portc04.blue.aol.com!newsfeed.mathworks.com!enews.sgi.com!sdd.hp.com!col.hp.com!news.cup.hp.com!kentd From: kentd@cup.hp.com (Kent Dickey) Newsgroups: comp.emulators.apple2 Date: 16 Dec 1999 01:26:46 GMT Organization: Hewlett-Packard, Cupertino, CA Lines: 43 Message-ID: <839f4m$lcb$1@web1.cup.hp.com> References: <3856D66A.2D68F971@swbell.net> <836pt4$f1b$1@birch.prod.itd.earthlink.net> NNTP-Posting-Host: hpjade35.cup.hp.com In article <836pt4$f1b$1@birch.prod.itd.earthlink.net>, Steve Mentzer wrote: >Since I have no ProDOS or GS/OS technical references, I have repeatedly asked >many times to have **anyone** email the ProDOS volume schema. Not the API >definition. The raw data structure that forms a valid ProDOS volume. > >Once I have this, I will provide functionality in XGS to automatically transfer >PC-based files (type neutral SHK files for instance) onto a hard disk image. > >Writing a routine that will "insert" a file onto a ProDOS volume image isn't >that difficult... > >I just need the schema information to do it!! argh! > >smentzer@pacbell.net All the above is already provided, in source code form, in the KEGS emulator package. The program you want is called "to_pro" which takes a list of filenames on the commandline and builds a hard-drive image with those files in it. It's not my favorite code (I was playing around with structs to see if it made using the ProDOS file structure any easier--and the result is I don't really think so) but it gets the job done. The file prodos.h pretty much lays out the ProDOS disk format. You can only have up to 52 files at the root level by definiton (you could chain more directory entries together, but who knows what tools will break). To_pro handles files of any length (it builds the right trees even for large files). To_pro automatically ProDOS-izes names using a reasonable algorithm to try to preserve extensions, and sets Auxtype for .shk files correctly. You may distribute to_pro (or derivatives) with XGS as long as I get some credit, and you send all source code changes back to me so I can provide the improvements with KEGS. KEGS is available at: http://www.crosswinds.net/san-jose/~kentd/kegs/ or the temporary (but much faster) site: http://www.psn.net/~kentd/kegs/index.html Kent Dickey kentd@cup.hp.com