Using int 13 while BSD is running
jerrymc at clunix.cl.msu.edu
Wed Mar 10 08:14:15 PST 2004
> 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 yosemitetech.com> 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.
> Romeo wasn't bilked in a day.
> -- Walt Kelly, "Ten Ever-Lovin' Blue-Eyed Years With
> Content-Type: application/pgp-signature
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (FreeBSD)
> -----END PGP SIGNATURE-----
More information about the freebsd-questions