Path: utzoo!attcan!uunet!microsoft!brianw From: brianw@microsoft.UUCP (Brian Willoughby) Newsgroups: comp.sys.apple Subject: Re: 35 track floppies (was BASIC.SYSTEM v1.3 Bug) Summary: 40 tracks are easy and invisible to the user Message-ID: <7865@microsoft.UUCP> Date: 28 Sep 89 04:37:25 GMT References: <890921211121.002635@DOCKMASTER.ARPA> <7834@microsoft.UUCP> <12994@athertn.Atherton.COM> Reply-To: brianw@microsoft.UUCP (Brian Willoughby) Organization: Microsoft Corp., Redmond WA Lines: 109 In article <12994@athertn.Atherton.COM> paul@athertn.Atherton.COM (Paul Sander) writes: >In article <7834@microsoft.UUCP>, brianw@microsoft.UUCP (Brian Willoughby) writes: >> One caveat, I do make it a habit of modifying each version of ProDOS I >> get so that it will access 40 track 5.25 disks. [...] >> BTW, why don't you Apple II ProDOS >> developers just support 40 track 5.25 drives in the standard release >> ProDOS? > >Probably because there are still lots of 35 track 5.25" floppy drives out >there. Many of them are even DISK ][s! Yes, but supporting 40 tracks does not force all disks to become 40 track disks. If I'm running Pascal, DOS 3.3 or my modified ProDOS, and I stick in a 35 track disk, then the OS will not write beyond track 35 on that disk. That's because DOS 3.3 has a VTOC which would mark those sectors as not available, and Pascal and ProDOS have a 'total number of blocks on this disk' value in the directory which will not allow the OS to allocate blocks greater than the maximum. The hard problem is not *preventing* an erroneous 40 track write to a 35 track disk, but *allowing* a write to the entended blocks/sectors by indicating that there is free space out there beyond track 35. That necessitates a custom formatter to produce disks with 40 track directory sizes, but you do not need to modify Pascal or DOS 3.3 to use these 40 track disks, just ProDOS. >> That is the only occasion that even tempts me to delve into the >> dark expanses of ProDOS machine code. (DOS 3.3 had many factors which >> demanded modification!) > >What does DOS 3.3 have to do with it? This is a hardware limitation for some >drives and a media compatibility problem in general. There is no compatibility problem, and it has everything to do with DOS (IMHO) because DOS broke the 'rules' and hard-coded specific information about the Disk ][ which prevented attaching any other drive (3.5", hard disk, etc.). ProDOS improved on DOS by not hard-coding limits of any particular drive. In case you didn't know why I'm complaining, ProDOS returns an I/O ERROR *before* it even *attempts* to access blocks greater than 280. That is the ONLY hard-coded limitation within the ProDOS code (i.e. my modification changes *1* byte to allow accessing 320 blocks, if I can find that byte in each new version of ProDOS). If you have a 35 track disk, then ProDOS should never seek beyond track 35 because each and every disk has the total number of blocks encoded into the directory, and that controls where ProDOS puts new files. All I am asking is that if a 5.25 disk directory indicates to ProDOS that a file has blocks beyond 280, then ProDOS should at least *attempt* to read it before returning an incorrect I/O ERROR message. In fact, I don't think there should be any hard-coded limit, ProDOS should always use the value read from the volume currently online for the number of blocks on that volume. One caveat (there goes another) with my modified ProDOS, if you accidently place a 40-track disk in a drive only capable of 35 (which I often do because my drive 2 is a 35er), the ProDOS track seek function will enter an endless loop trying to move the head to an impossible track. In my opinion, the track seek routine doesn't have to be coded with such limiting assumptions. I also don't think that to be a serious drawback because 40 track disks shouldn't be in the drives of people who only own 35 track disks (for the most part). >As I understand it (it's been a while, so this might have changed), 35 tracks >were defined as the standard size for 5.25" floppies, though some manufacturers >discovered that stretching things to 40 tracks worked okay. This was before >77 track 5.25" floppies came out, but they never really caught on anywhere but >AT class IBM machines and clones (and maybe on Commodore machines). In my admittedly limited experience, no other drive (except the TI-99) is limited to less than 40 tracks. If you pop the lid on your drive and look at the size of the 'window' compared to the position of the head while formatting a disk, you will notice that the 35th track is nowhere near the limit. Why did they make the window for the drive head so large if 35 tracks was the standard? Also, according to one source, there were two drives made by Shugart which were used in Disk ][ units. The first one used by Apple was 35 track, and the second was the SA-490 mechanics version (I'm not absolutely sure about that number) which accesses 40 tracks and handles half-tracks better. I found this out before I purchased my first drive, because Apple Disk ][ drives were >$550. I wanted a Shugart drive, for the same quality as Apple's, but I only paid $199. That was many years ago, and the few people I know with genuine Apple Disk ]['s seem to all have the 35 track version. BTW, I can actually get 41 tracks, but since I've never read about anyone using that many, I've never tried to *use* a 41 track disk. >A better solution would be to write installable drivers for 40-track floppies, >and distribute software on 35-track floppies. Great idea! But I think that ProDOS 8 checks the slot ROMs for the driver addresses on booting, so these drivers would have to be loaded in on every ProDOS startup. They would also take up memory, when a simple change in one byte would make them unnecessary. Regarding distribution, 35-track is the only way. Microsoft still distributes non-OS/2 software on 360K floppies, which is a real pain, but the only way to support everyone. Nothing prevents you from copying them onto larger capacity disks (we don't use copy protection). Written correctly, I don't see how a 40-track ProDOS would cause any difficulties for 35-track drive owners. I don't know why I'm trying to convince you, though, because Apple is who I need to convince :-) >-- >Paul Sander (408) 734-9822 | If you must describe both quantity and >paul@Atherton.COM | quality of someone else's code, try >{decwrl,pyramid,sun}!athertn!paul | "awful lot." -- independent discovery Brian Willoughby UUCP: ...!{tikal, sun, uunet, elwood}!microsoft!brianw InterNet: microsoft!brianw@uunet.UU.NET or: microsoft!brianw@Sun.COM Bitnet brianw@microsoft.UUCP