![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
Guest
Posts: n/a
|
> > Totally forgot about resource forks since currently all my programming
> > has been under P8. *I am studying the program called "Unforkit" to see > > how it converts the DATA and RSRC forks into separate folders. *But my > > ultimate goal is to rewrite Prodos 8 to recognize an 8 GB CFFA drive > > as one complete drive. *So, slight changes also need to be made to the > > volume boot blocks and directory which I have already done. *Once I > > made the changes to Prodos 8 to read and write to the drive, I was > > looking into a way to copy extended files from all the regular disks > > onto the 8 GB drive. *Then I would have needed some help in writing a > > driver for GSOS to recognize the drive. > > Aargh, a 32 bit ProDOS-8! Actually it would be only a 24 bit Prodos 8. Although the CFFA card can access up to 128 GB, that would seem way overkill for such small file sizes of most apple II files. And 2x 8 GB drives would be supported for a total of 16 GB is probably still larger than ever would be needed to store every program ever written for any Apple II. > > > > > It doesn't seem that big of a feat to me. *The greatest downtime is to > > study the P8 code. *So if anyone has a source listing of Prodos 8 > > V2.0.3 would help speed up the transition tremendously. *Then, > > obviously I would release the new version of P8 and extended file copy > > program into the public domain. > > That sounds dangerous to me but the idea is great, I've always wanted > a ProDOS 8 support for bigger drives but that will prevent us from > accessing such drives from GS/OS and other platforms. Not at all. Only 4 bytes need to be added and 2 bytes changed in the volume and directory headers. The forward and backward links, the file start block, and the hard drive size. And the number of files per directory block and bytes per entry would need to be adjusted. > > Instead of rewriting ProDOS 8, why don't you add a disk driver to > support bigger drives? That support may be limited to the physical > access not to the handling of a file system thus reducing the > interest, I don't remember exactly what that does but I really believe > the changes will kill compatibility. I'd rather write a GS/OS FST > instead of breaking what P8 does well. > Due to the way the Volume header is laid out, the maximum size of a drive will always be 32 MB. I have already written a driver to access up to 256 drives of 32 MB each. All that is needed is to use the (V)olume command as in CATALOG,V255 would catalog drive #255. By using the V parameter, all 256 drives can be accessed as if it were drive #1. > Correct me if I'm wrong, I may have missed some ideas. > > > > > I have already written a driver for Dreher's CFFA card to recognize an > > 8 GB drive, as, 256 separate drives of 32 MB each. *But I would like > > Prodos 8 to recognize it as one complete 8 GB drive. > > > > What did you do? Disassembly, addition of new device information and > re-assembly? > I just wrote a driver that bypassed the protocols, calculated the high order bit in a 24 bit number, and accessed the read/write block routines already in the slot ROM. By adding 4 bytes to the volume and directory headers and changing 2 more, access can be made to the entire 8 GB contiguously without having boot blocks and volume header at the beginning of each 32 MB interval. This driver only works on dreher's CFFA card version 2.0. Check it out here http://dreher.net/phpBB/viewtopic.ph...55aacf405c78eb and here is the updated short driver routine. The bytes that get changed to your slot number are: $4001 - $0n, 4012 - $0n, 4024 - $n0 and 402A - $Cn where n is the slot # your card is in. 4000:A9 05 0A A8 A9 10 99 10 BF C8 A9 40 99 10 BF 60 4010 8 A0 05 AD 68 BE F0 30 D9 F8 05 B0 2B AA CA 8A4020:99 F8 04 A2 50 2C FF CF 2C 00 C5 20 DE CB A5 42 4030 0 07 A0 FF A2 FF A9 00 60 C9 02 D0 02 38 89 184040:20 20 CB B0 02 A9 00 60 A9 02 60 00 00 00 00 00 |
|
![]() |
![]() |
![]() |
![]() |
| Copyright ©2007-2008 MacShock.com. |
Powered by vBulletin Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. |