int 0x13 utility



I recently bought a SATA controller for my old Pentium III box, and
plugged it in. Hooked up a 120GB SATA hard disk, booted up with MSDOS
6.22. Imagine my surprise when MSDOS FDISK refused to create a
partition larger than 503MB even though it was specifically told it
could use the large disk feature. Upgrading the SATA controller BIOS
made no different, it was still a maximum of 503MB.

MSDOS boots just fine, it just can't use partitions larger than 503MB
with that SATA disk and controller.

I have MSDOS correctly installed in a 2GB partition on a PATA disk
connected to the motherboard, so I know the problem isn't with the
motherboard's BIOS.

So, I wrote a tiny utility program in NASM to get the disk parameters
via the int 0x13 / AH = 8. The parameters it reporte are correct for
the hard disks connected to my PC's motherboard, but when it queried
the BIOS for the parameters of its SATA hard disk, it reported: 16
heads, 1022 cylinders and 63 sectors. Ah! That's why MSDOS couldn't
create partitions larger than 503MB!

I've told the manufacturers of the SATA that they need to fix their
BIOS - hopefully they might release an updated BIOS for the SIL3114
controller - fingers crossed. If they won't... I might have to fix it
myself, and that is NOT an easy job!

This utility also checks for the extended Int 0x13 / AH = 0x48 service
but I haven't written the code to print out the values yet - that'll
come as soon as I can find a PC that supports that.

You may find the utility along with its source code at
http://www.munted.org.uk/programming/int0x13.zip

Enjoy!
--
http://www.munted.org.uk

Fearsome grindings.

.



Relevant Pages

  • Re: amd64 sata_nv (massive) memory corruption
    ... Originally, I had the sata disk paired to a pata disk in a RAID array, and the ... The SATA controller is part of the chipset, and I think it talks HyperTransport directly, it only looks like PCI or PCI Express. ... it's possible that the particular timing or burst sizes of the transfers done by the SATA controller triggered a problem with marginal timing on the DIMMs and caused the data corruption. ...
    (Linux-Kernel)
  • Re: int 0x13 utility
    ... Most SATA controller vendors probably don't even think about MS-DOS ... Hooked up a 120GB SATA hard disk, booted up with MSDOS ... Upgrading the SATA controller BIOS ...
    (comp.lang.asm.x86)
  • SATA hdwr recommendations
    ... I'm looking for a SATA II adapter with four ports rather than one ... drives are much better than IDE. ... having a SCSI U320 adapter and hard disk. ... the SATA controller and disk is likely to change the device interface ...
    (comp.os.linux.hardware)
  • Re: FreeBSD & Hot pluggable disks (SATA?)
    ... driver supports hot-plug as long as the SATA controller does. ... FreeBSD gracefully handles hot removal, but needs a reboot to correctly ... I moved all data off of the disk and umount'd it. ...
    (freebsd-hackers)
  • Re: hard disk cloning: PATA to SATA
    ... I cloned a 160gb PATA boot disk to a 36gb SATA Raptor with no trouble. ... Enable the SATA controller and RAID mode in the ...
    (microsoft.public.windowsxp.hardware)