Index of /FreeBSD/FreeBSD-current/xperimnt/doscmd

      Name                    Last modified       Size  Description

[DIR] Parent Directory 14-Mar-2007 16:41 - [   ] doscmd-970320.tar.gz 20-Mar-1997 14:34 144k

[Note: The best source of DOScmd related work now is FreeBSD-current
 itself - the snapshot here is actually somewhat aged in comparision
 to what you'll find in the 3.0 SNAPs, but it's nonetheless all we have
 for 2.2.x]

$Id: README,v 1.7 1997/03/18 02:32:35 msmith Exp $

This is the work-in-progress BSD DOScmd MS-DOS emulator.  It supports both
the running of individual DOS programs and the booting of MS-DOS inside
the emulator.  It is based on source released by BSDi, and is not related
to the Linux DOSemu in any way.

At this point in time, this version of DOScmd runs under FreeBSD.  It is
most recently descended from work by John Kohl on the BSDi sources for
NetBSD, and as such should build and run under NetBSD with trivial 
changes.  I/we do not currently have a NetBSD machine to test on.  Work
is also underway to reinstate the BSD/OS support with the eventual aim
of having a single product that will compile on all BSD platforms.
(It is expected that the OpenBSD people will find supporting DOScmd a
trivial exercise.)

To get up and going, apply the patch in the diffs directory to your
/usr/src directory (or a copy therof).  Make sure that you supply
the '-p' argument to patch, so that it generates the new files
correctly.  Note that as of this version, the bulk of the vm86 
support is now in a loadable kernel module.  More on that below.

Build a new kernel; no specific options need to be supplied.  Note
that the patches change the size of a kernel data structure, and as
a consequence 'w' and 'ps' and similar tools will not work with the
new kernel.  You can rebuild libkvm and these tools if you plan to
use the new kernel on a regular basis.

Build the lkm in src/lkm/vm86.  It can be loaded simply by saying
'modload vm86_mod.o'.  

Build the emulator in the freebsd directory.  Note that the 
freebsd/machine directory contains prepatched versions of some system
headers affected by the vm86 patches; this avoids having to install the
new versions in /usr/include/machine.

A VGA font suitable for use with DOScmd in X mode is supplied in 
'vga.pcf'.  Put this in your /usr/X11R6/lib/X11/fonts/misc directory,
as root say 'mkfontdir' in that directory, and then say 'xset fp rehash'
before running DOScmd (or restart your X server).

Read the manual page in the freebsd directory for usage details, or ask on
the emulation@freebsd.org mailing list if you're stumped.  Any bug reports
will be promptly responded to.  Note that this document, and others in
the same directory are fairly outdated, and contain some inaccuracies.
In particular, note that a harddisk image must be fleshed out using dd
before it can be used.

Enjoy!

Mike
msmith@gsoft.com.au


changes:
--------

970320:
	Update patch set to the latest from Jonathan.

970318:
	Integrated Jonathan Lemon's changes to the vm86 kernel code,
	including LKM support.  This appears to have mostly squashed
	the problems where DOS programs not trapping to the emulator
	were immune to scheduling.

	Fixed some serious bugs in the redirector which prevented
	it from being good for much at all; file sizes were not being
	updated on writes, the 'qualify path' function was returning
	a misleading error code, chdir() would only work on writeable
	filesystems, and there were a few other bogons too.

960923:
	Major code rework to improve register access abstractions.
	All functions needing register access now take a parameter
	'regcontext_t *REGS', and macros R_* are provided to access
	registers independent of the actual platform implementation.
	This does away forever with the nasty GETx/PUTx macros,
	although these are still available for compatability.
	Neither the video BIOS nor tty code have been converted yet,
	as these are undergoing a rewrite.
	Consolidated several small files into the BIOS, and other
	(as yet unimplemented) NetBIOS files together.
	Functionally, this version should be identical to 960920
	modulo any transcription errors.	
	Finished (hopefully) whitespace and formatting changes. At
	last there is (almost) a single coding style throughout.

960920:
	Reworked the redirector support, fixed several oddities and
	implemtented 2f:11:0f (stat).
	Reimplement PSL_I for pushf/popf.

<history ends>