Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Aug 1997 22:00:31 -0400
From:      Randall Hopper <rhh@ct.picker.com>
To:        Michael Smith <msmith@atrad.adelaide.edu.au>
Cc:        ggm@connect.com.au, current@FreeBSD.ORG, emulation@FreeBSD.ORG
Subject:   Fun with DOSCMD (was Re: modifying boot mgrs FROM FREEBSD)
Message-ID:  <19970806220031.07191@ct.picker.com>
In-Reply-To: <199708061320.WAA08867@genesis.atrad.adelaide.edu.au>; from Michael Smith on Wed, Aug 06, 1997 at 10:50:01PM %2B0930
References:  <19970806075054.63235@ct.picker.com> <199708061320.WAA08867@genesis.atrad.adelaide.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Michael Smith:
 |Randall Hopper stands accused of saying:
 |> George Michaelson:
 |>  |So how can you tune the bootmgrs from within FreeBSD? Sure, lotsa recipes
 |
 |> One thing you might look at is running these DOS multiboot utilities in
 |> FreeBSD inside PCEmu or DOSCMD.  If the bootmanager uses the BIOS to do all
 |> its reading and writing, and if those ISRs are emulated correctly, it just
 |> might work.
 |
 |For obvious reasons, none of the DOS emulators allow the emulated
 |process direct access to the disk.  ie. No, it won't work.

Hmmm, well with doscmd tonight and "assign hard /dev/rwd0 621 64 63" doscmd
happily booted my OS/BS2.0 boot manager right off my primary hard drive's abs
sectors 1-5.  I was impressed!  (/dev/rwd0 set read-only of course :-) 

...and it kept on going.  Upon selecting the DOS/Windoze option, it chained
right into the DOS 6.2 multiboot menu, and then after selecting my
"Previous Version of MS-DOS" option to get me into cmd-line DOS, and
bypassing the CONFIG.SYS and AUTOEXEC.BAT files, and specifying the path to
COMMAND.COM -- hey!  I was at the DOS prompt browsin' around my hard drive
using my hard drive's DOS!

Pressing my luck, I then brought up my DOS hard disk manager -- and it
worked.  Then I ran WordStar 4.0, which I use on occasion, started editing
a document on A: (mapped to fd0), and so far so good.  The fun on
that boot stopped when I tried to type the first character in the document
and doscmd said:

     pushl  %eax
     unsupported instruction
     (PRESS <CTRL-ALT> ANY MOUSE BUTTON TO exit)

Man that's cool!  Fun as any video game I've played lately.  All inside
FreeBSD and amazingly fast.  Guess that's the gain for emulating just the
environment, and not the CPU too.

Nice work guys!  Now to try out more of the DOS programs I flip over to use
every so often.  Would love to be able to run all these in FreeBSD.

I also need to figure out how to run doscmd in gdb.  I rebuild libkvm and
gdb for the new kernel, so that's done.  But I'm not sure how to "hook in"
and set breakpoints inside doscmd.kernel after its read and control is
transfered to it by doscmd.  I played with the .gdbinit in the pkg but no
luck.

Randall Hopper





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970806220031.07191>