Path: csiph.com!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: awanderin Newsgroups: comp.sys.apple2 Subject: Re: DOS 3.2, 3.3 and ProDOS GCR in RWTS Date: Sun, 10 Jan 2016 23:00:10 -0700 Organization: A noiseless patient Spider Lines: 54 Message-ID: References: <9e054763-c065-493a-8b57-1bc7abe93cd7@googlegroups.com> <8fa4554d-e86b-4f60-8282-39960a6834bd@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="3f7daab8c080c0d7ccea7a857596d713"; logging-data="27477"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19MwTc8Dsx8NndwSLnNJcOxI17+f399XXQ=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:7llu66n9DqMgj+HnDHJrgRADYQ4= sha1:g92GaVCeVYBf8+tWOYtVddICPVk= Xref: csiph.com comp.sys.apple2:26684 Frank Schnorbus writes: > On Saturday, January 9, 2016 at 9:58:29 PM UTC-8, fadden wrote: >> On Saturday, January 9, 2016 at 9:24:36 PM UTC-8, Frank Schnorbus wrote: >> > I am not a programmer, but I have been fascinated by the scheme >> > used to write data to the disk. Some time ago, for the fun of it, >> > I wrote an Excel spreadsheet that converts 256 bytes of data to >> > the 342 (plus 1 checksum) bytes written to the disk for ProDOS. >> > The spreadsheet converts it back the other way also. >> [...] >> > Lately I thought it would be fun to write similar spreadsheets for >> > DOS 3.2.1 (which covers back to DOS 3.1 and uses 5x3, producing >> > 410+1 bytes), and for DOS 3.3 (which like ProDOS uses 6x2). I >> > think I have it done for 3.2.1, but I need to confirm my work! I >> > have an Apple IIc, but it is in a box, and I am so rusty on how to >> > do something like this, especially with DOS 3.2, that it would >> > take me weeks (or months). Are there any experts here that might >> > be able to help me? I'd be so appreciative! >> >> >> Interesting approach. :-) >> >> FWIW, you can find the CiderPress implementation of 6&2 and 5&3 >> encoding here: >> https://github.com/fadden/ciderpress/blob/master/diskimg/Nibble.cpp > > Thank you! I see that you wrote it for both 6x2 and 5x3. Not to > sound helpless, but I really don't know how to implement this program. > Obviously it's a language, I presume Basic. Step by step, how can I > make this run? > > Or, if it would be easier just to give me the fish (instead of > teaching me how to fish), can you give me the 411 disk bytes using the > 256 input bytes I posted above? I'd like to know how to fish, but > I'll be happy with either! > > Lastly, is the 6x2 encoding/decoding the same for DOS 3.3 and ProDOS? > I haven't tackled 3.3 yet, but in my search travels I'm pretty sure I > read that they are handled differently. Both are 6x2, but the data > arrangements are different. 6&2 encoding is the same for DOS 3.3 and ProDOS. At higher levels, DOS 3.3 used 256-byte sectors and ProDOS paired sectors up to logically have 512-byte blocks, but that doesn't affect the on-disk formatting. Do you have the book, Beneath Apple DOS? It's available on-line as a PDF and it describes the 5&3 decoding in sufficient detail that you should be able to implement in Excel. You figured out 6&2 so 5&3 is really conceptually the same but the details differ. -- -- Jerry awanderin at gmail dot com