Using int 13 while BSD is running

Jerry McAllister jerrymc at
Wed Mar 10 08:14:15 PST 2004

> --Signature=_Wed__10_Mar_2004_08_12_00_+0300_m3U9Vu7vS=cMcNXd
> Content-Type: text/plain; charset=US-ASCII
> Content-Disposition: inline
> Content-Transfer-Encoding: 7bit
> On Tue, 9 Mar 2004 14:03:34 -0800 
> Jason Dictos <jason.dictos at> probably wrote:
> > The situation is
> > this, currently we licenses Caldera DOS for a program we wrote which
> > uses the int13 extensions to manipulate the systems hard drive (i.e.
> > to recover partition tables and what not). This forces our application
> > to be written in 16 bit mode, but it does allows us to not have to
> > worry about loading any driver which would be hardware specific to
> > access the hard drive.
> Through the /dev/ad[0-9] (ide) or /dev/da[0-9] (scsi/usb) you can get
> access to any byte in you harddrive. They `look like' ordinary files to
> most programs. Just seek the appropriate number of bytes and read what
> you want (0-512 is the mbr, for example). You don't even need to write a
> line in assembly for that, just plain C (or even shell-script, if you
> prefer that).

Gee whiz, just let dd(1) do it for you.   It can seek to any position
and read any number of bytes of a disk.    If it gets ornery, set the
block size to 1 byte - a little slow and efficient, but then it won't
have trouble with other block arrangements.


> > Is there
> > any way to write a driver for BSD which would put the processor into
> > real mode, therefore allowing us to use the int 13 api of the bios to
> > read and write hard drives?
> Putting the cpu back into real mode is kind of perversion. And I don't
> think FreeBSD provides any real mode interface. Whatever you would see
> in real mode, you can bet it isn't a FreeBSD driver for your harddrive.
> -- 
> DoubleF
> Romeo wasn't bilked in a day.
> 		-- Walt Kelly, "Ten Ever-Lovin' Blue-Eyed Years With
> 		   Pogo"
> --Signature=_Wed__10_Mar_2004_08_12_00_+0300_m3U9Vu7vS=cMcNXd
> Content-Type: application/pgp-signature
> Version: GnuPG v1.2.4 (FreeBSD)
> iD8DBQFATqOrwo7hT/9lVdwRAinPAJ9rsC9Tzum5970w88Ze0o+skKwbTgCbBE0S
> 6bUkIwtlJePcYTsq1Ja/0gU=
> =F4fi
> --Signature=_Wed__10_Mar_2004_08_12_00_+0300_m3U9Vu7vS=cMcNXd--

More information about the freebsd-questions mailing list