
dosemu 0.61 -- a work in progress

For those familiar with previous versions of dosemu, be aware that the
layout has completely changed in an effort to make things more friendly
to folks who want to port the system and add enhancements.

The 'arch' directory should contain everything that pertains to your given
operating system.  There is currently a directory for the Linux stuff (big
surprise there) and a more or less empty directory for the NetBSD folks.
Hopefully they'll help us fill it up!  Anyone porting to more exotic
environments (another *NIX) should create a new directory and locate the
necessary definitions there.  (hint. hint.)

The 'emulator' directory contains the information related to the 80x86
emulator you're running.  For example, under Linux, we use the vm86
'emulator' which is located in the i386 directory [this is actually a
little more logical than it seems -- the automagically generated bios
string will now say "Dosemu x.yy.zz ARCH i386".]  Since folks were working
to use the Bochs emulator with Dosemu, there is also a Bochs directory.

The 'env' directory contains the operating environments for dosemu.
Each of these should a 'keyboard', 'video', and 'mouse' subdirectory
specific to that environment.  For example, the i386/video directory
contains the files managing console video on 80x86 PC compatibles.

The 'base' directory contains all the basic functionality needed to create
a virtual 80x86 box (minus the emulator code).  This includes the bios,
the IO devices (serial ports, parallel ports, pic, pit, rtc, cmos, etc.),
the handler registers (port, halt, int, etc.), and so forth.

The 'dosext' directory contains the DOS-specific extensions.  This is in
the event that one day someone writes a good 80386 emulator and we decide
that we want to boot Linux inside DOSEMU.

To that end the directory structure is now as follows:

./				-- contains as little as humanly possible

./arch				-- architecture directory
	Linux			-- Linux code
		cfiles		-- Linux-specific files
		modules		-- emumodules
	NetBSD			-- NetBSD code

./emulator			-- type of emulator you're running
	bochs			-- for those who want to merge bochs :)
	i386			-- vm86() functionality

./base				-- base functionality
	bios			-- bios & emulation bios code
	debug			-- debugging functions
	dosemu			-- basic functions
	init			-- initialization code
	iodev			-- i/o devices (pit, pic, rtc, cmos, ...)
	keyboard		-- keyboard functions
	mouse			-- mouse functions
	video			-- basic video functions

./env				-- environments directory
	i386			-- when running on a DOS machine
	generic			-- when running on a generic UNIX box
	X			-- when running under X

./commands			-- dosemu 'inside dos' commands
	boot			-- hdimage .S file
	dos			-- *.com, *.exe, *.sys DOS commands
	periph			-- hdimage stuff, get/put rom, etc.

./doc				-- documentation

./dosext			-- extensions specific to MS DOS
	dev			-- DOS device driver helpers
	dpmi			-- dpmi support
	mfs			-- unix file system on top of DOS
	mm			-- mem. managers (ems, xms)
	network			-- networking support

./include			-- include files

./init				-- emu.c, dos.c, dosstatic.c & similar files

./tools				-- tools subdirectory
