Double your diskette capacity

Copyright Dr Alan Solomon (1986-1995)

The 360K diskette is so called because it uses 40 track, 2 sides and 9
sectors per track for a total of 720 sectors.  A sector is 512 bytes,
so this gives you 360K.  But there is nothing sacred about the
512-byte sector, even though it is universally used on floppy as well
as hard diskettes.

Some hard disk management software, such as Disk Manager, Vfeature and
Speedstor uses this fact, and creates sectors that are 1024, 2048 or
even 4096 bytes, making it possible to have 256mb hard disks.  Nearly
all software can cope with these disks, with the exception of software
that works at a lower level than DOS (Tom Drake had his hard disk
trashed by Norton 4.5 recently - he was trying it out in the cause of
science, and was fully backed up, of course).

What you perhaps didn't know, is that the hard disk still has sectors
which are physically 512 bytes in size, but the software bundles these
up into logical sectors which are 1k, 2k or more - you don't actually
get any more space, you just get to run larger partitions.  It is
actually quite difficult to format a hard disk to any other physical
sector size, and I don't know of anything that does it.

On the other hand (OTOH, as we say on Connect) a floppy disk can quite
easily be formatted so that it can have 1k physical sectors - it even
says so in the Bios listings.  I've never actually tried this before,
but a little while ago, I had some time to spare, and I tried it out.
It works, you can put 1K sectors on a diskette.  All you have to do is
change the DPT (diskette parameter table), which is easily done by
building a new one, and then redirecting vector 1B to point to it.

What surprised me at first, was that you could get nine of these 1K
sectors around the track.  I thought that they must be overlapping,
but then I found that I could write data to each of them, and I worked
out what was going on.  On a diskette, there is data in blocks, CRC
and other coding information, and inter-block gaps.  Because 512 bytes
isn't very much, the inter-block gaps are quite wide, and there is a
particularly wide gap after the ninth.  With 1K sectors, the
inter-block gap is much narrower, and the last gap is almost
non-existent.

It also turns out that altering the DPT is all you need to do - DOS
recognises the larger sectors, and adjusts for them, just like it does
with Disk Manager and the others.  So why aren't 1K sectors standard?
For the usual reason - IBM set a rather conservative standard, and all
the other manufacturers followed like sheep.  If a manufacturer used
the 1K DPT in the Bios, then he'd get support calls from people who
were having trouble reading IBM's feeble 512-bytes sectors.  Also, it
would reduce the sales of other storage media if it got out that you
can store 720K on a 360K floppy drive.

So, the following tip is offered to you with the usual caveats.  I
tried it on a couple of my machines, and it does exactly what I would
expect it to, but if you try it on yours and get unexpected results,
don't call me.  I can be sure, however, that it won't damage anything,
and that if you reboot, it'll go away.

Type the following (the - is DEBUG's prompt - don't type it).

DEBUG
-   n moredisk.com
-   a100
-   MOV     AH,09
-   MOV     DX,010A
-   INT     21
-   INT     20
-   SBB     AL,[BX+DI+70]
-   JB      0177
-   DB      6C
-   AND     [BP+6F],AL
-   DB      6F
-   DB      6C
-   AND     [BP+SI],CX
-   OR      AX,0024
-   rcx
-   18
-
-   w
-   q


Debug will create a file called MOREDISK.COM.  You then type MOREDISK
at the DOS prompt, every time you want to run it.