Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!ut-emx!linus!sjsca4!greg From: greg@sj.ate.slb.com (Greg Wageman) Newsgroups: comp.sys.atari.st Subject: Re: 16 meg partition limit Message-ID: <1990Feb6.223637.15845@sj.ate.slb.com> Date: 6 Feb 90 22:36:37 GMT References: <2947@water.waterloo.edu> <1325@crash.cts.com> <20465@watdragon.waterloo.edu> Reply-To: greg@sj.ate.slb.com (Greg Wageman) Organization: Schlumberger ATE, San Jose, CA 95110 Lines: 49 Opinions expressed are the responsibility of the author. In article <20465@watdragon.waterloo.edu> swklassen@tiger.waterloo.edu (Steven W. Klassen) writes: > >Here is a question about the 16 meg partition limit. I purchased an >Atari Megafile 60 a number of months ago. From the part number I >believe it used a Seagate drive. The manual that came with it >mentioned the 16 meg limit, however, the utilities which came >with it allowed me to make larger partitions. I decided to experiment >with this. I made a partition a fair bit larger than 16 meg (I believe >it was about 24 meg but I don't recall for sure) then tested it by >copying a program onto it multiple times (giving it a unique name each >time) and then reading the files (actually some selected copies of it >from throughout the hard drive) and everything worked fine. I have >kept my large partition and have not had a problem with it yet (although >I also haven't filled more than about 11 meg on that partition, except >of course during the test I mentioned earlier). > >Does anyone have comments on this? Did some of the later versions >of TOS 1.0 or 1.1 or whatever it is in my 1040, allow for larger >partitions? Did some of the later versions of the driver program >allow for larger partitions, patching TOS appropriately? One reason there was a 16M limit on hard disk partitions is because the Rwabs() function which does the physical I/O is specified as taking a signed integer (16 bit) value for the "recno" parameter. This means that the sector number can only range from 0 to 32767, for a total of 32768 sectors. Since Atari-compatible disks have 512 bytes per sector, that means you are limited to 32768 * 512 = 16 777 216 bytes (16 Megabytes) per partition. What Atari has changed, I believe, is to treat the "recno" parameter as an UNSIGNED int, with a range of 0 to 65535, and consequently a 32Mb limit. However, any software which calls Rwabs() to directly access the hard disk (such as disk checkers might do) must understand this convention, or else they will get confused by the (apparently) negative sector numbers (i.e. any in the second 16 Meg with the high-order bit set). Personally, I am absolutely paranoid about hard disk integrity, and will limit myself to 16 Meg or smaller partitions. Besides, once you get about 4 Meg of stuff in a partition, the old Dfree()/FAT search bug rears up, and file creation takes nearly forever. It is, however, a good motivation to get Rainbow TOS. Copyright 1990 Greg Wageman DOMAIN: greg@sj.ate.slb.com Schlumberger Technologies UUCP: {uunet,decwrl,amdahl}!sjsca4!greg San Jose, CA 95110-1397 BIX: gwage CIS: 74016,352 GEnie: G.WAGEMAN Permission is granted for reproduction provided this notice is maintained.