Path: utzoo!attcan!uunet!cs.utexas.edu!usc!julius.cs.uiuc.edu!psuvax1!rutgers!rochester!pt.cs.cmu.edu!b.gp.cs.cmu.edu!Ralf.Brown@B.GP.CS.CMU.EDU From: Ralf.Brown@B.GP.CS.CMU.EDU Newsgroups: comp.os.msdos.programmer Subject: Re: 1024 byte sectors Message-ID: <2764e8bf@ralf> Date: 11 Dec 90 12:10:07 GMT Sender: ralf@b.gp.cs.cmu.edu Organization: Carnegie Mellon University School of Computer Science Lines: 28 In-Reply-To: <1990Dec10.144757.15032@maytag.waterloo.edu> In article <1990Dec10.144757.15032@maytag.waterloo.edu>, dmurdoch@watstat.waterloo.edu (Duncan Murdoch) wrote: }The RAMDRIVE.SYS programs that come with DOS 3.2 and 4.01 both give an }option for 1024 byte sectors, but DOS always refuses to load them with }that option. The error message is explained in the DOS 4.01 manual as: } }------ }Sector size too large in file filename The problem is that DOS allocates the disk buffers BEFORE loading in any installable device drivers, and disk buffers must be the size of the largest sector size of any device. Since the built-in drivers all use 512-byte sectors, the 1024-byte sector driver can't be installed. You need to patch two bytes in IBMDOS.COM/MSDOS.SYS. First, issue an INT 21h with AH set to 52h. On return, BX is the offset into IBMDOS.COM of the "list of lists". The word containing the maximum sector size is 11h bytes further into the file for DOS 2.x and 3.0, and 10h bytes further for DOS 3.1 to 4.0x. Set those two bytes to 00h 04h and away you go.... There is one significant drawback to using 1024-byte sectors: your disk buffers use up twice as much space, half of which is wasted on every drive except the one with the large sectors. -- UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=- 412-268-3053 (school) -=- FAX: ask ARPA: ralf@cs.cmu.edu BIT: ralf%cs.cmu.edu@CMUCCVMA FIDO: 1:129/3.1 Disclaimer? | I was gratified to be able to answer promptly, and I did. What's that? | I said I didn't know. --Mark Twain