Wed Oct 19 1994 JES

-	Release pre53_28.tgz
-	From JL:

From popserver Thu Oct 19 14:23:31 GMT 1994
Received: from marlin.ssnet.com (ssnet.com [165.113.8.3]) by Fox.nstn.ns.ca (8.6.8.1/8.6.6) with SMTP id KAA03316 for <jmaclean@fox.nstn.ns.ca>; Wed, 19 Oct 1994 10:40:18 -0300
Received: by marlin.ssnet.com (4.1/SMI-4.1)
	id AA21140; Wed, 19 Oct 94 09:39:00 EDT
From: jlarry@marlin.ssnet.com (J. Lawrence Stephan)
Message-Id: <9410191339.AA21140@marlin.ssnet.com>
Subject: pic announcement
To: jmaclean@fox.nstn.ns.ca (James MacLean)
Date: Wed, 19 Oct 1994 09:38:57 -0400 (EDT)
X-Mailer: ELM [version 2.4 PL20]
Content-Type: text
Content-Length: 2237      
Status: RO

Hi Jes -

Here is the new pic code.  It is implemented as contidional code, so you'll
have to un-comment a line in the Makefile if you want to try it.
Look for the string NEW_PIC in the Makefile; the instructions are right
before it.

Because the serial.c pic mods don't work very well yet, I have provided
two options:  The firstone only implements pic for keyboard and timer code.
This stuff is pretty solid, and I would appreciate bug reports, etc.
The second option implements pic for timer, keyboard, and serial interrupts.
The serial code is knows to have bugs, although it is useable.  PLEASE,
if all you know is that the serial code doesn't work right, DON'T send
a bug report.  I already know that much :-).  On the other hand, if you have
a fix, or even just a partial one, please let me know.  The serial bug
shows as an extermely low send rate; only half as fast as whennot using pic.

I would appreciate any bug reports on the keyboard and timer code.  They are 
not complete, but I believe this code to be bug-free.

And now, a (very) little technical information for the curious:

There are two big differences when using pic.  First, interrupts are not
queued beyond a depth of 1 for each interrupt.  It is up to the interrupt
code to detect that further interrupts are required and reschedule itself.
Second, interrupt handlers are designated at dosemu initialization time.
Triggering them involves merely specifying the appropriate irq.

Since timer interrupts are always spaced apart, the lack of queueing has no
effect on them.  The keyboard interrupts are re-scheduled if there is
anything in the scan_queue.  The keyboard pseudo-input register,
*LASTSCAN_ADD, is set to 1 (an otherwise unused value) to indicate that it
has been read, and can therefore be re-filled.  Both the keyboard and timer
bios routines now have outb 0x20 to signal the EOI.  The OUTB_ADDR is no
longer used.

This has been slow in coming, I know; and it will be a while before it gets
fully utilized.  But, at least when the serial code gets done, it should
help get dpmi on its way.  I'll keep working on this; I think it has a lot
of potential to help organize the code.  Good luck with it to all, and
thanks in advance for any comments.
-	Mods to Makefile, xinstallvgafont, xterm
-	pktnew.c uses run_int() instead of do_hard_int()
-	Various Makefile mods
-	Latest syscallmgr and emumodule from Hans. Remember the
	insmod -m switch
-	dosnet subdir now v-net. Hey, why not :-).
-	Added 'make optionalsubdirs' to keep new test stuff out of
	make most. 
-	Patches received to allow logical partitions to work with partition
	access. All that is required is to have partition parm to
	disk statement be higher than 4.

Tue Oct 18 1994 JES

-	Added config.pd and -D+P debug switch for packet driver debugging

Sun Oct 16 1994 JES

Hi there!
        Here's my patch for allowing DPA access to specific logical
partitions under dosemu. It applies to the patch level 27 code of
disks.[ch].
        Access to specfic logical partitions, rather than entire
extended partitions, is a great idea for the same reason that partition
access is better than wholedisk access: one day a poor linux
partition will suffer. Its used by specifying a part number greater
than 4  e.g.:
        disk { partition "/dev/hda5" 5 }
the number itself does mot matter (as long as its greater than 4) as it
is the device name that's used to derive the part table entry info.
The only query is that I raised the MAX_HDISKS in disk.h from 4 to 8,
(I'm using 7 at the moment with no probems). Also I wasn't sure of the
number to pass to leavedos for the BLKGETSIZE error, is there a
convention for this?
        This should never never happen though (famous last words).
        Hope this is useful to others,
        email me with any questions,

                        Ciao,
                                Rod May.
                                stoke@melbourne.dialix.oz.au

Fri Oct 14 1994 JES

-	From Marty :
	-	Added realclean to Makefile
	-	Changed if STATIC to ifdef STATIC
	-	#if 0'ed Warnings for running static in dos.c

Fri Oct 14 1994 JES

-	Release pre53_27.tgz
-	Small patch to int10.c so that recursive calls to char_out()
	for tab's doesn't become and endless loop :-(
-	Patch from Dino Dini to get that -F option working again.
-	Patch to emu.c to make clean compiles without X.
-	Added adder var to timer code so that 2 reads don't return
	the same number.
-	More I'm sure... But I forget :-(.

Mon Oct 10 1994 JES

-	vinod@cse.iitb.ernet.in (Vinod G Kulkarni) has added multiple
	protocal/sessions under DOSEMU via dosnet (dsn0) device. Requires
	reading of ./dosnet/dosnet.README, loading the dosnet.o module,
	ifconfig'ing it with a new IP, and running ipxbridge (ipxbridge0.1).


Sat Oct 07 1994 JES

-	andi@andiunx.m.isar.de (Andreas Kies) added the catch for 
	keystate to HogThreshold. Seems to be a great help for keeping
	CPU usage down.

Fri Oct 07 1994 JES

-	Removed SIGIO for PS2 and busmice.

Wed Oct 05 1994 JES

-	Even better Configure script from Jan.
-	Diffs from Martin.
-	Changed Extended Move Block call in xms.c to not move outside
	(from/to) of valid memory.

Tue Oct 04 1994 JES

-	pre53_26 released.
-	Added in some timer code from MACH for Scott to play with.
	NOTE ****** This is scary stuff so beware of this release
	as the code WILL get direct access of certain ports :-(.
	You may wish to hold off until pre53_27.
-	Latest Configure script from Jan. Keeps getting better, and
	funner too :-).
-	Added Hans latest SIG enhancements.

Mon Oct 03 1994 Lutz

-	Placed back DPMI sigio/sigalrm signal calls to the old one ;-(
-	Removed dpmi/call.S - now using a task switch via hlt-instruction
-	Fixed some small DPMI bugs

Sun Oct 02 1994 Jmaclean

-	Released pre53_25.
-	Added 10 bytes to the malloc for 1 dir_ent struct, as the
	dir_emt size seems too small. This fixes some bad mfs.c bugs.
-	Added a nonl() by request of Fons Botman <NE3995!botman@relay.NL.net>.

Fri Sep 30 1994 Jmaclean

-	Released pre53_24.
-	Added Scott's patch to fix EMS attempting to access invalid
	memory. Fastest fix for a bug I've seen :-).
-	Modified CHECK_HANDLE to deal with non-active handles as it
	was previously just checking for ranges. This fixes Hans
	finding of mem/d giving extraneous info.
-	Moved Lutz's DPMI signal calls to within the signals for Hans.

Wed Sep 28 1994 Jmaclean

-	Fixed one definite place for Divide/Stack Overflow to occur in int.h.
	Problem occured when a default interrupt was called by a redirected
	interrupt. This caused a recursion to the never lands.

Tue Sep 27 1994 Jmaclean

-	Released pre53_23.tgz in diff form only.
-	Added Jan's latest Configure script with X support. Modified
	it to cp with backups /etc/dosemu.conf to /etc/dosemu.conf.backup.
-	Remade first part of convascii of termio.c where esc seq's
	are translated. Involved working around select getting 
	interrupted.
-	Fixs to serial woes added in termio.c - keyboard_init().
	Moral of this story? A baud rate of 0 (B0) is equivalent to 
	sending the process -SIGHUP. Real fix added to ./video/terminal.c
	by moving raw() statement to AFTER initscr() as spec'd in ncurses.
-	Fixed to memory access errors in vga.c. Funny they seem to have
	been OK when handled in a signal?. Now folks should be able to
	resume switching VC's :-).

Mon Sep 26 1994 Jmaclean

-	Pre53_22.tgz released.
-	Added isemu.com from dan@fch.wimsey.bc.ca (Dan Fandrich) to give a
	return code for testing if DOSEMU is running.
-	Added MDA as valid card selection in dosemu.conf (=MGA)
-	Some goodies from Hans Lerman:

Well, here now is the summery of things that are in my patches which
I have tested under Linux-1.1.50.
( the patches come in a separate mail, because my mailer cannot handle
too large mails )

1. Loadable driver sillyint.o
   It is compiled via a normal "make doeverything"
   and put into the directory /boot/modules.
   I changed the sig/Makefile, it also needs to know where the kernel
   sources are (USRSRCDIR).
   The source needs a -DMAKE_LOADABLE_DRIVER to compile sillyint.o
   The same source can be used (without the -DMAKE..) to compile the
   kernel linked in driver. I changed the sig/HowTo.

   The device major is put into an global variable SIG_MAJOR, so it
   can be changed on loadtime by
     insmod /boot/modules SIG_MAJOR=31


2. Multiple SIG IRQ's can be defined in /etc/dosemu.conf and
   also wether to use SIGIO or not. (see examples/config.dist)
   Because of "sillint off", there is no need to disable SIG
   via compile time option SIG. I recommend to let it be #define SIG 1.
   I did not succeed with setting up a test for two IRQs at the same time,
   so me and other people have to test it in the future.


3. Mapping of hardware ram is configurable via

     hardware_ram { 0xc8000 }  # one 4K page mapped
   or
     hardware_ram { 0xc8000 range 0xcc000 0xcffff }  # multiple mapped pages

   I added an overlap test to avoid wrong mapping, it is done after
   configuration is finished, so it should catch all errors.
   It relates to EMS, VBIOS and HARDWARE_RAM.


4. EMS-frame is now movable (needed for ram conflicts).
   The ems keyword is expanded as follows:
     ems { 1024 ems_frame 0xe000}
   or
     ems { ems_size 1024 }  # defaults to old size of 0x10000

   But the old syntax is valid too.


5. Size of VBIOS now configurable (most BIOSes at 0xc0000 have only 32K
      so I can gain some space for hardware ram and/or UMBs).
      /etc/dosemu.conf line:
        added flag "vbios_size"


6. I corrected a situation (not a bug) concerning the "c" debug flag.
   If "c" was switched off in /etc/dosemu.conf, you could not get
   the config printout via
     dos -D+c
   Now this is possible.



That's all for now, ...so long,
Hans
<lermen@elserv.ffm.fgan.de>

Sat Sep 24 1994 Jmaclean

-	Messed more with timer interrupt so that setting date backwards
	doesn't cause divide overflow. Seems to fix it for going
	ahead and back through time. Only problem is that when DOS
	sees it's past 24hrs, it always moves its date ahead a day :-(.
-	Changed config.graphics to config.vga in emu.c to control 
	setting allowvideoportaccess to 0.
-	Added vc switching (set_process_control) to new signal_queue.
	From conversation with JL I'm not sure this is gonna be solid
	since now the signal_queue being run to switch VC's will rely
	on returns from vm86().
	Still doesn't fix bad crashing when running Windows3.0 which
	takes down my whole UNIX box :-(.
-	Stopped DOSEMU from exiting when no diskette in drive.
-	Added note to add users to /etc/dosemu.users in QuickStart.
-	Fixed parsing of -C option to NOT expect arguements.

Thr Sep 22 1994 Jmaclean

-	PRE53_21 Released.
-	Messed with timer code. Changed tick setting to different
	method and relied on time() to give acurate time.
	Found what seems to be the 24 hour bug and inilated it!!!!!!
	With many thanks to Corey.
-	Added backspace/delete patch to Xkeyb.c. Thanks to Scott and Mark.
-	Hacked up HogThreshold again. Rule: Closer you set to 0, the
	lower the CPU usage. At 0 though, hogThreshold is turned off,
	and int16/int2a are run full open.
-	Added HogThreshold to int2a.
-	Added patches to bring -F config file option back to life
	thanks to Dino Dini <ddini@dircon.co.uk>.
-	Added patches to ./video/X.c for better color reps thanks
	to Mark.
-	Prepared to move vc_acquire/release under new signal
	handling... but failed miserably :-(.
-	Makefile additions by Mark.

Tue Sep 20 1994 Jmaclean

-	Removed most coding from SIGIO and SIGALRM signals in an
	effort to remove race conditions. Now these signals just
	mark that they've occured, save their context, and 
	continue. Lutz's DPMI will suffer :-(. Probably best to 
	go through DANG to get an idea of what's going on :-).

Mon Sep 19 1994 Jmaclean

-	Wrapped lpt opens in exchange_uids() to allow "lpr" to run at
	user level.
-	Modified Makefile to create libdosemu$(EMUVER)pl$(PATCHL) and link
	libdosemu to it. Now folks can compare releases just by changing
	symlinks. Probably not what was wanted, but a close facsimile :-).
-	Added SIG mods by Hans Lermen (lermen@elserv.ffm.fgan.de). More to
	come.
-	Cleaned up boot() in emu.c to just boot. Added memory_init() for
	all specific memory setups for proper i86 boots.
-	Added portuguese keyboard map.

Sun Sep 18 1994 Jmaclean

-	Removed ioc_fd and replaced all occurances with kbd_fd.
-	Started DANGing :-).

fri Sep 16 1994 Jmaclean

-	Another change to the readonly open error
-	Fix to mfs.c for return values for readonly mfs drives.

Sat Sep 10 1994 Jmaclean

-	Added new dialog script from Jan Vandenburge.

-	Fixed internal Mouse driver not setting up for new SIGIO calls. 
	Thanks to Alan for providing a fix... But  I  did  it ...
	my  way  :-). Hope you don't mind Alan.

-	Fixed SERIAL not working. Martin's code was returning in
	outb before anything was done :-(.

-	And now a little from Alan...:

Hi James..

	Not my usual stuff but I had to fix it.

	The parser seemed to be screwed up for me, in that it parsed two
files, both the local .dosrc and the /etc/dosemu.conf, this resulted in
the first linux drive becoming f:. All because the system though I had two
hard disks and one floppy image due to the parsing twice of the configs.

	Anyway attached is a fix so that it parses the local .dosrc first...
If it doesn't find one it takes the /etc/dosemu.conf.

	Secondly, I've implemented an /etc/dosemu.users file, similar to
minicom's way of working. This allows only selected users to execute dosemu.
Create the /etc/dosemu.users file with, on each line, the name of the user
allowed to execute DOSEMU.
	This approach could be later expanded to specifying devices in the
dosemu.users file, so that only selected users are able to open specific
devices.
	Thirdly, I had to fix up the Makefile a little for ease of use.
Notice I've defined an X11LIBDIR now too.

Cheers.

Alan.

-	Also:

James,
	For some reason the gfx_cursor for the mouse was commented out.
I checked the docs and someone commented it out because it was crashing the X
stuff. Well, This fix should get rid of that. As it only call mouse_do_cur()
if we are not running X. Before it was trying to mmap even when X was running.
Bad idea .....

Tue Sep 06 1994 Jmaclean

-	Added sig subdir with Silly Interrupt Generator in toe. Did
	some preliminary testing with SIG to get it working with
	1.1.x kernels.

Mon Sep 05 1994 Jmaclean

-	From Rain:

I guess I let this stuff rust on my harddisk long enough, so here's 
another patch ;)

It includes:

- support for 28/43/50 line modes
- make xdos exit properly when it fails to open the X server
  (!includes a change to the printer code!)
- a color (xpm) icon :-)
- auto-detection of readonly floppies, which newer kernels require.

It also includes my attempts to make bios scrolls scroll the X window
directly, in the hope that it would make things faster. 
However, I found that it's at least as often slower as it's faster...

I disabled the code and left it in just because Mark might be interested
to use it for the terminal modes.

bye,
Rainer

-	From Martin Ludwig :

Hello James!

Here is my diff of dosemu pre53_12 to use a second (HGA) monitor for
dosemu while using X. I hope it will patch against pre53_15, too.

Changes against pre53_12:
* new switches -Y and -Z: giving the names of the keyboard and mouse pipe
* keyboard input from pipe instead of STDIN
* mouse input from pipe instead of asking a mouse port
* doesn't  install video-bios, uses int10.h instead
* watches port I/O of HGA-card and remapps video-memory if the second
  page is used
* uses an own cursor position routine (the one in dosemu 0.52 was removed...)
* new X-prog (xdos) which sends mouse and keyboard events from X
  to dosemu, emulating a raw keyboard

Bugs:
* no semaphore for the HGA-memory
* no mouse in graphics mode
* no test if HGA-card is there
* it leaves rxvt or xterm disturbed if started from there
* problems with msherc-programs and the second page
* large xdos-window
* some others, I think

Future plans:
* remove the bugs
* data exchange with X-progs
* perhaps an CGA or EGA emulator for HGA


Copyright:
* the same conditions as for dosemu

I hope that's all, here is the diff

Martin
Martin.Ludwig@ruba.rz.ruhr-uni-bochum.de

Tue Aug 30 1994 Jmaclean

-	Added dosconfig script by Jan Vandenberghe. Requires DIALOG. I like
	it :-).
-	Included patches from Heiko for X and timer.
-	Fixed emubat config thanks to Scottb.
-	Modified io_select() calls to start dividing into 2 camps, 
	those that use sigio and those that don't.
-	Added SIGIO ability to internal mouse driver.

Fri Aug 26 1994 Jmaclean

-	Fix that HJ already sent in and I missed :-( for the 
	-T arguement of ld from flebbe@tat.physik.uni-tuebingen.de.

Wed Aug 24 1994 Jmaclean

-	Added Enhancements to CDROM driver by Karsten Rucker.
-	Added Lutz's STI patches and kernel patch sti.pat in .kernel

Fri Aug 19 1994 Jmaclean

-	Changed OpenKeyboard to keyboard_init and closeKeyboard
	to keyboard_close. Moved these out of video init procs and
	into there own separate calls. This was causing problems
	in video_config_init() as it would map in video bios
	illegally :-(.
-	Added Conditional for SIG in sigalrm to help io_select()

Wed Aug 17 1994 Jmaclean

-	Added scan to charcode returned in Xkeyb.c by put_key()
-	Tried to get lexer.l back up :-(

Tue Aug 16 1994 Jmaclean

-	Messed around with Rain's patches until all modes started
	to work. Mostly order of routines during initialization
	that had minor problems. Now for example, telnet works
	again.

Sun Aug 14 1994 Jmaclean

-	Removed SOME __inline__'s from mfs.c, still memory pig :-(.
-	Rain's latest patches.
-	Minor fixups to various files.
-	New Makefile from Mark.

Sat Aug 12 1994 Jmaclean

-	Added Rain's massive cleanups and X mouse support. This is
	NOT tested and will need some time to smoothen out.
- 	Added keymaps fixes for sg-latin1 from :
	pingu@satu.baboon.ch (Ruedi Kneubuehler).

Fri Aug 12 1994 Jmaclean

-	Added Scottb's patches to bios_emm.c and lexer.l
-	Added lsm to ./doc subdir

Thr Aug 11 1994 Jmaclean

-	Fixed keyboard latin1 statement and latin1 codes for better
	emualtion thanks to vilva@xiron.pc.helsinki.fi (Veijo Vilva).

Wed Aug 10 1994 Jmaclean

-	Added back some termio ioctl's to set ISTRIP,IGNBRK,OPOST
	and such. Seems to remove backspace in non-rawkeyboard
	mode.
- 	Added -lfl to toplevel makefile for fixing new parser not
	resolving required libs.
-	Added check to NOT add release key for ascii's with high 
	byte 0x00.

Mon Aug 08 1994 Jmaclean

-	Thanks to Rob for pointing out the NCURSES raw() command
	interference by way of his messages, the ICRNL thing should
	be dispersed, and replaced with possible new bugs :-).
-	CD-ROM extensions for DOSEMU with thanks to Karsten
	Rucker (rucker@astro.uni-bonn.de).
- 	Parser additions from Scottb. We are back to the NEW
	parser. Developer/Tester beware :-).
- 	DOSEMU-HOWTO updates from Mike.

Fri Aug 05 1994 Jmaclean

-	Added kludge to keyboard so that keypresses in non-console
	keyboard mode send keypress then keyrelease sequences. This
	seems to fix atleast WordPerfect double chars. Doesn't
	seem to help German aumlets though :-(.
-	Scottb's latest parser patches adding back emu(sys/bat) and
	a debug { X on } option.

Thu Aug 04 1994 Lutz

- dpmi/call.S is now totally rewritten to fix a problem with
  returning to DOS code (stack problem).
- CallToInit() deleted
- more dpmi cleaning/preparing

Wed Aug 03 1994 Jmaclean

-	Added patches from Tomi, Scottb to new parse generator...
	but put back in old parse generator fot this release. Well
	step back to this one hopefully in the next release.
-	Added Rain's Xdos patches. Folks, we're well on our way :-).
	Please read README.X and thank Rain for getting everything on
	it's way.

Mon Aug 01 1994 Jmaclean

-	Added new parser combo lexer.l/parser.y from Scott for all
	to play with. A bit rough but Scott would enjoy feedback :-).
- 	Fix for bug in cursor positioning that causes garbage sometimes
  	This can be a MAJOR improvement to some people because it's appliation-
  	specific.
- 	Invisible cursor support in console mode.  More visually pleasing.
- 	Cursor in ANSI and NCURSES is now put at position 0,0 whenever the
  	cursor is invisible or off-screen.
- 	Improvements to character blinking disable/enable code (this stops the
  	annoying blinking when you run PCTools over a telnet line)

-	Note from Markkk about new ansi_xterm :

"ANSI Xterm 2.0 is a specially modified Xterm that is compatible with DOSEMU
and to enable the use of all 16 colors, and the entire PC character set.
This makes DOSEMU just like xdos in this area!

Furthermore, just follow the instructions included with ANSI Xterm 2.0
for an easy compile.  Then all you need to do is type "xdosemu" to bring
up an Xwindow running DOSEMU.   The xdosemu command automatically detects
for the existence of ansi_xterm.  If it does not exist, it detects for
a regular xterm and rxvt next.

Try it, and let Mark Rejhon know at mdrejhon@csclub.uwaterloo.ca
as he is responsible for this."

Mon Aug 01 1994 Jmaclean

-	Markks latest and greatest additions to the Xterm capabilities
	of DOSEMU. Best to get ansi_xterm from a site at this time :-).
-	Detach capability added, thanks to Karl Hakimian. Now with 
	the optional -d parm, a new VT will be switched to for starting
	and running DOSEMU.
-	Added __map_page() to fix EMS error caused by remap() calling
	__unamp_page() first. FoxPro is running again.

Fri Jul 29 1994 Jmaclean

-	By Jon's request, set '_''s to '-' in keyboard parms
	in examples/config.dist
-	By Jon's request, added 'make most' option which does
	NOT make the doc subdir.

Tue Jul 26 1994 Jmaclean

-	Thanks to Scottb which fixed the DOSEMU memory problems
	with pointing out that mmap annonymous needed PRIVATE and
	not SHARED to work :-) We're back on the road again .

Sat Jul 23 1994 Rain

 * Largely reworked {re}{un}map_page, removed v_mmap.
   COPY/MMAP/IPC_EMS conditionals are now in map_page and friends.
   Fixed MMAP_EMS: mmap() mapped the wrong way around  (-:
   Still doesn't work, mmap() patch is broken :-(
 * EMS_IPC is completely screwed up and probably not easy to make work.
   The problem is that one cannot do partial mappings of shared
   memory regions. Left it in, though.
 * added COPY_EMS conditional (for the standard 'mapping' method)
 * added UNMAP_BEFORE_MAP conditional to leave out unmapping
   of old mappings in map_page for MMAP_EMS.
   Shouldn't be necessary because the kernel'll do this for us.
 * made some calls to re{un}map_page dependent on COPY_EMS
   because they are only there to update the logical memory
 * restore_handle_state: unmap pages which were previously unmapped
 * reallocate_pages:
   reunmap only pages belonging to the current handle.
   Fixed a bug: pages above newcount were left mapped.
 * some minor optimizations, fixes and cleanups...

Thr Jul 21 1994 JES

	- Patches from Rainer Zimmermann (zimmerm@Mathematik.UNi-Marburg.DE)
	  for time-problems with mfs.c
	- Added procedure to make dosemu.map which is usefull for 
	  finding where DOSEMU bombs, like kernel. Thanks Daniel :-)

Sat Jul 14 1994 JES

	- Latest enhancements from Markkk.

Sat Jul 11 1994 JES

	- Latest termio.c with keyboard enhancements from Markkk
	- Added SIGIO conditional on uname().

Sun Jul 10 09:38:23 1994  Jochen Hein  (jochen@No-MS-DOS)

	* added setlocale-call to dos.c
	* reformatted highscan[] in termio.c

Sat Jul 09 1994 JES

	- DPMI patches from Lutz
	- Pktdriver enhancements by Rob
	- Mouse patch from Douglas Gleichman p86884@tcville.ES.hac.com
	- Changed install dos as per Jochen
	- Windows 3.0 mouse is back.
	- I added insert esc-seq to gettermcap of termio.c 

Tue Jul 05 1994 JES

	- Finally... Markkk succeeds where so many of us have failed.
	  NCURSES support is here, and I believe to stay :-). It's 
	  still a bit rough, but it IS. You should truly think about
	  getting ncurses-1.8.5.tgz from:
	  netcom.com:pub/zmbenhal/ncurses/1.8.5.tgz
	  This of course brings color to serial lines and preps for
	  many more. I couldn't activate it on a telnet or rlogin 
	  connect yet. Thanks Markkk, from many of us :-).

Sat Jul 02 1994 JES

	- Finally... interrupt routines are called by functions of
	  an array. I'm certain that someone can come up with a better
	  method as I'm using 0x100 pointers in interrupt_function().

Tue Jun 28 1994 JES

	- Markkk brings actuall character set to DOSEMU
	  when in non-graphics mode ... Yaaa :-). Pease
	  read README.ibmset
	- Patch to modify timers done in SIGALRM.

Fri Jun 24 1994 JES

	- Markks console cursor patches, and more speed increses to
	  serial stuff.
	- Small change to mfs.c to correct wrong return codes for
	  findfirst. Seems t speed up directory searches, but may
	  just be my imagination :-).
	- Messed around with SIGILL a bit to try and track down reported
	  problem starting DOSEMU for some that causes SIGILL with 
	  instr of 2e:f7 (cs:div?). No solution yet.
	- Hacked ./init/parse.c a bit to exchange_uids when running
	  overide config files. Now /etc/dosemu.conf always runs, then
 	  overrides can be speced in optional config files.
	  Doesn't work yet :-(

Tue Jun 14 1994 JES

	- Next set of patches from Markkk. Major overhaul started
	  that is really improving termcap. Way to go Markkk!
	- Alistair has completed in no time flat his automoted 
	  DANG application. At this time I have NOT included his
	  perl script, but hope to soon. Look in ../doc/DANG[.sgml].
	- Michael provides us with an updated DOSEMU-HOWTO in 
	  .txt,.ps, and .sgml format.
	- Alan has another few patches bringing mice support along
	  even further.
	- Tim's IPX patches for 1.1.14 kernels +.

Mon Jun 13 1994 JES

	- First set of termcap patches from Markkk

Sat Jun 11 1994 JES

-	Latest additions from Alan for busmice.
-	Put CNTRx counters to -= 2.
-	Clean up for Thursday release started.

Fri Jun 10 1994 JES

-	Latest additions from Alan for busmice.
-	UMB fixes by Scott.

Sun Jun 05 1994 JES

-	Alan's latest patches for busmice with a start for graphics
	support.
-	Alessandro Rubini (rubini@ipvvis.UNIPV.IT) patches to make 
	Makefiles inherit important common include directory paths.
-	By suggestion from Jon Tombs, make default inb return 0xff
	and the creation of tempdir be strdup'ed incase it's freed
	by a config request.
-	Changed CNTR timers to count UP by 0x2221 instead of down.
-	Changed a compare in xms.c according to Scott Buchholz.

Thu Jun 02 1994 JES

-	Patches from Rob including updates to s3 code.
-	Daniels idea about malloc problem worked into emu.c by
	moving where scrbuf is allocated. Wonder why it was allocated
	where it was.

Sun May 29 1994 JES

-	Stuck in a fix for DIR a: error. It's a KLUDGE  for now, but
	I hope it will show where the error is.

Thr May 26 1994 JES

-	More mods to int_queue_run(). Changed where set_leds() is 
	called.
-	Moved int.h and int10.h to emu.c as that is where do_int()
	is called mostly now.
-	Scott's latest patches against 1.0.x & 1.1.x
-	Rob's patches to remove linpkt from DOSEMU tree.

Sat May 21 1994 JES

-	Lutz's latest patches cleaning up DPMI, etc...

Thr May 19 1994 JES

-	Added Scotts proc/self/map kernel-diffs to ./kernel and
	added his patches to bios_emm.c. Bios_emm.c is NOT using
	these by default (See MMAP_EMS in bios_emm.c).
-	Changed run_vm86() use of int_queue_running to *OUTB_ADD.
-	Added extra sti to int10 bios handler.
-	Added Jochen's patches to Makefile.

Wed May 18 1994 JES

-	Added EMS patch from Scott
-	Added diffs from Jochen.
-	Started work on keyboard simplifying. Made lastscan into
	*LASTSCAN a bios area variable.

Mon May 17 1994 Jochen

-	Changed int 8&9 to use a memory location in bios for outb(0x20).
	This nolonger needs to back off to DOSEMU from an outb20. This
	caused vm86() not to return enough to run it's int8's, so 
	sigalrm has been modified to be called more often. At the same
	time I now have the pit controllers decremented. Not sure if
	this will be of any use or not. For fun just change the 
	TIMER_DIVISOR define at the top of emu.c
	(Hopefully I'll do this for int9 scancodes next)

-	Fixed bug in EMS coded Sunday that stopped Windows 3.0 from
	properly launching programs.

-	Makefile fixed to distribute ./ipxutils. Thanks Jochen.

Mon May 16 1994 Jochen

        * [ doc/dos.1 ]
	Updating the manpage to 0.52, current changes
	
	* [ init/parse.c ]
	Cleanup

	* [ emu.c ]
	Cleanup: Prototypes, parsing options, usage

Mon 16 May 1994 JES

-	Added conditional to outb20 so that pktdrvr does not require
	outb20 call. (As should only hard int's)
-	Added Lutz's fix for Sigsegv()'s.

Sun 15 May 1994 JES

-	To EMS added Alternate Map Register Set, OS/E Function Set.
	Windows 3.0 now boots without EMS error(All necessary FNX's
	are supported). Some other cleanup's to EMS including Handle
	Naming.

Thr 13 May 1994 JES

-	Totally changed int_queue_run(). Now only int's requiring
	callback will be forced to.

Wed 11 May 1994 JES

-	Markkk's latest serial.
-	Made ipxutils subdir optionally compile

Tue 10 May 1994 JES

-	Made int08 inline, still need 0x1c to be inline too.
-	Added back outb20 check to fix stacking of interrupts
	which included int08 stacking.
-	Floppy drive sticking has mysteriously vanished.

Mon 9 May 1994 JES

-	IPX updates by Tim Bird. Please look in ./ipxutils for more
	info.
-	Addition of -n pktdrvr option by Rob. Look in 
	./examples/config.dist.
	
Sat 7 May 1994 Jochen

	* [disk.c disk.h]
	creating the name for the partition-decsription-file moved to
	parse.c, because we need to check the existance of this file there.
	without this file is running further useless. dosemu may hang
	silently.

	* [emu.c]
	use config.exitearly instead of exitearly and stop dosemu earlier
	when set.

	* [parse.c config.dist include/mouse.h mouse/*]
	attempt to use cleardtr for some mousesystem/microsoft compatible
	mice. mostly unsuccesful.

	* [init/Makefile init/parse.c]
	more compiler warnings removed. Error-checking implemented.

May 4, 1994  JES

-	Jochen moves files around to conform to standards. Please
	take care that your config is in the correct /etc/dosemu.conf
	place.
-	Alan improves on the internal mouse driver to include other
	mice.
-	Lutz includes patch against 1.1.11.

May 2, 1994  JES

-	Jochen latest. Makes video bios memory area configurable at
	boot time. Brought int10 inline.
-	Narrow allowed ports when videoportaccess on, hopefully stop
	problem of serial port being touched inadvertantly :-(
-	pktnew/libpacket patches from Rob.

May 3, 1994 Jochen

-       Files installed in places where they may match the FSSTND

April 29, 1994  JES

-	Lutz's Latest kernel diff's. Now just 1 small one against 
	1.1.10 and 1 for the 1.0.x kernels. This has fixed the 
	EmuBat/Sys boot option problem.

-	First attempt to move net stuff into net subdir and create
	1 ../net.o object for linking.

April 27, 1994  JES

-	If your kernel is of the 1.0.x nature, patch with 
	kernel.1.0.x.diff. If your kernel is 1.1.x where x is less
	than 9, patch with kernel.1.1.9.diff. If your kernel is
	1.1.9 patch with kernel.post.1.1.9.diff. Have fun :-)

-	Make keyboard stop dupping. Poor kludge until JLarry's 
	PIC code.

-	Jochen's continuing cleanup code.

-	Lutz's Patches to allow DOSEMU to run in 1.1.9.

April 23, 1994  JES

-	modified code in DOSEMU to prevent errors due to stack 
	over/underflow when computations are done on offsets.

-	Lutz's latest kernel diffs to avoid under/overflow in stack
	computations

-	Rob Janssen patches to fix int2f returns and understand
	deskview giveup timeslices.

April 19, 1994  JES

-	Rob's pktdrvr enhancements. Ready for testing.
	rnzll3!pe1chl!rob@relay.NL.net. Should be possible 
	to run different stacks on this one. Doesnot require 
	loading linpkt.

-	Lutz's latest kernel.diff + patches.

-	Lutz's changed inline code back to assembler that's copied in.

-	Only do set_leds() when in RawKeybaord.

-	Moved DPR, DANG, EMUSuccess.txt to ./doc

April 17, 1994  Hein@Student.TU-Clausthal.De (Jochen Hein)

-       Cleanup continues
        * [Makefile]
	-ansi -pedantic as a comment :-(
	Updated depend-target. Should be done for clients/dpmi also

	* [cpu.c termio.c video.c]
	removed unused include linux/mm.h

	* [emu.c video/terminal.c video/Makefile]
	moved terminal-video-functions to video/terminal.c

	* [emu.h]
	removed warnings for keyboard-layout-pointers.
	added some external variables, should be moved later

	* [include/video.h video/video.c emu.c]
	moved the installation of the inline int10-handler from emu.c
	to video.c

	* [mouse.h mouse.c]
	moved mouse-cursor-define from .h to .c

	* [emu.c video/vga.c]
	moved some more vga-functions to video/vga.c

April 16, 1993  JES

-	First draft of JLarry's timer/PIC code. See ./timer/README.pic

April 14, 1993  Hein@Student.TU-Clausthal.De (Jochen Hein)

-	Major cleanup in video.c
	* [Makefile]
	changed to reflect other changes, removed unnessecary comments
        and other old stuff. 
	added ./include to the list of include-paths and subdirectories.
	added the ./video subdirectory

        * [include/* video/*]
	created subdirectories for better code-structure.

	* [include/port.h]
	moved inline-port-function from emu.h (smaller emu.h)

	* [video.c video.h s3.c modes.h]
	moved to include and video.

	* [cpu.c]
	added port.h to the include-files

	* [cpu.h]
	made it compile with -ansi -pedantic

	* [emu.h]
	made it compile with -ansi -pedantic
	moved port funtions to ./include/port.h

	* [emu.c]
	keep up with emu.h

	* [machcompat.h]
	made it compile with -ansi -pedantic

	* [modes.h]
	removed; content moved into video/vga.c

	* [periph/mkpartition]
	better error checking and messages.

	* [sigsegv.c]
	moved port funtions to ./include/port.h

	* [termio.h]
	made it compile with -ansi -pedantic

	* [include/Makefile]
	Makefile to do a make dist. All new files compile clean with
	-ansi -pedantic, old files not.

	* [include/keymaps.h]
	New file: Prototypes for keyboard layouts

	* [include/port.h]
	New file: inline-port-functions moved from emu.h
	made them compile with -ansi -pedantic

	* [include/video.h]
	moved from ./video.h, modified to fit in and compile with -ansi

	* [video/Makefile]
	Makefile to do a make dist. All new files compile clean with
	-ansi -pedantic, old files not.

	* [s3.c, s3.h]
	moved to video/, slightly modified.

	* [video/et4000.[ch] video/trident.[ch] video/vga.[ch] video/console.c]
	New files, extracted from video.c and modified to compile with
	-ansi -pedantic.

	* [video/video.c]
	remainder of splitting video.c, didn't compile with -ansi :-(

Thu Apr 14 1994, Jochen Hein (Hein@Student.TU-Clausthal.de

	* [periph/mkpartition]
	added error-checking and some help-messages.

April 12, 1994	jmaclean@fox.nstn.ns.ca

-	Lutz kernel patches to make ROCKET DOS :-)
-	Mark's serial code almost better than the real thing.
-	Jochen's 4 miles of patches :-).
	- debug is configurable using meaningfull words
	- keyboard is configured in /etc/dosemu/config
	- work on making more than the first partition accessable
	  using partition access.
	Look in examples/config.dist

April 07, 1994	jmaclean@fox.nstn.ns.ca

-	Minor updates to bios_emm.c
-	Modified HMA_MAP to use IPC so that proper mapping takes place
-	Marks latest serial.
-	Modified OUTBUFSIZE to 80 thanks to Vinod.
-	Modified CHOUT thanks to Vinod.
-	Fixed 'stick-ctrl-key' after VC switches

April 06, 1994	jmaclean@fox.nstn.ns.ca

-	Added niemann@swt.ruhr-uni-bochum.de S3 code update and fix to
	Errors beeping to stdout, not stderr.
-	Added Marks latest serial changes. Now we can properly define
	particular COM ports and more. Read examples/config.dist for
	details.
-	Latest enhancements from Lutz.
-	Added Spanish keyboard support by jon@gtex02.us.es (Jon Tombs)

April 04, 1994	jmaclean@fox.nstn.ns.ca

-	Added Bill's changes for better MDA support
-	Added Alan Hourihane's patches for PS/2 mice, now for 
	describing mice in /etc/dosemu/config, first spec the port
	serial { device /dev/cua0 } then describe the mouse,
	mouse { device /dev/cua0 microsoft }.
-	Added latest serial from Mark, he's approaching true 16550 :-).
-	Added check for video mapped when emulating ports.
-	Added more specific checks for allowvideoportaccess.

March 26, 1994	jmaclean@fox.nstn.ns.ca

-	Latest serial from Mark.
-	Added Belgium Keyboard thanks to :
	jvdbergh@wins.uia.ac.be (Jan.Vandenberghe)

March 24, 1994	jmaclean@fox.nstn.ns.ca

-	Concluded that E000 video bios'es are now working, many thanks
	to danpop@cernapo.cern.ch (Dan Pop)
-	Broke sigsegv() out of cpu.c into just sigsegv.c as to compile
	do_int(), inb/outb(), et al inline now needs a 6meg swap on
	my 4 meg system at work :-(

March 23, 1994	jmaclean@fox.nstn.ns.ca

-	Added #def's for E000 video bios testing.
-	Added more DPMI from Lutz.
-	Added new mouse.c from Alan Hourihane, this should become very
	usefull in NCURSES mouse Client implementation.
-	Seperated emu.c -> emu.c,ports.c,int.c and moved int.h & ports.h
	into cpu.c in first attempt at bringing do_int and inb/outb inline.

March 12, 1994	jmaclean@fox.nstn.ns.ca

-	S3 video code started by niemann@swt.ruhr-uni-bochum.de 
	(Christoph Niemann)
-	More DPMI thanks to LUTZ.
-	Serial INT14 updated thanks to Mark Rejhon.
-	Modest changes in code to continue clean up. 

March 12, 1994	jmaclean@fox.nstn.ns.ca

-	More DPMI thanks to LUTZ.
-	Serial INT14 updated thanks to Mark Rejhon.
-	Fixed (kludged) bugs in VC switching, Added -Wall
	to start cleaning up code. Changed do_int to inline, no
	benefit.

March 9, 1994	jmaclean@fox.nstn.ns.ca

-	DOSEMU becomes one again (one process)

March 4, 1994	jmaclean@fox.nstn.ns.ca

-	VC switching in RAW mode now uses CTRL-ALT-x.

-	Ronnies serial patches to allow more mice to roam and modems
	to run faster/better. ronnie@epact.se

-	Jochen's patches to straighten up video support and remove
	unused DISKS statements. In keeping with the FSSTND-draft
	our lib has been moved to /usr/lib. 
	Thanks hein@centeotl.in.tu-clausthal.de

-	Alanh patches to allow switching between linpkt and IPX
	on the fly with the "ipxsupport" option. alanh@metro.co.uk

-	Koenig@nova.tat.physik.uni-tuebingen.de (Harald Koenig)
	patch to show last 10 characters of path on volume 
	requests on the redirected drives in place of LINUX.1,
	LINUX.2, etc...

-	Lutz Molgedey has been making great advances in DPMI and
	although not ready for household use, is included.
	molgedey@theo-physik.uni-kiel.de.

February 20, 1994	jmaclean@fox.nstn.ns.ca

-	Wordperfect HOME key stopped working :-( why ?????

February 17, 1994	jmaclean@fox.nstn.ns.ca

-	Fixed function 0x23 in mfs.c redirector

February 9, 1994	jmaclean@fox.nstn.ns.ca

-	Added config option dosbanner to optionally stop DOSEMU
	messages at startup.

-	Added allowvideoportaccess config option to give video card
	bios routines access to ports.

-	Fixing Keyboard int15 4f to return AH=0x86. This fixes 
	WordPerfect HOME key problem, and nothing else :-(.

February 1, 1994	jmaclean@fox.nstn.ns.ca

-	First layer of terminfo patches in from Corey 
	(corey@amiganet.chi.il.us)

-	Mouse now closes/opens on VC switches. I can now use X and a
	mouse in DOSEMU. Serial is still buggy though.

-	gorden@jegnixa.hsc.missouri.edu only came on stream less than
	a month ago and has already added a pktdriver interface. Could
	we have another Robert S. here?

-	dos_helper() int 0xe5 changed to 0xe6 to allow my FCB program
	Direct Access to work.

-	FCB callouts added to redirector. Lahey Fortran now works,
	as dos Direct Access.

-	Tim_R_Bird@Novell.COM IPX has been added to dosemu. What's
	Tim's next surprise?

-	Tim fixed LREDIR.EXE so that emufs.sys no longer has to
	be loaded once at boot.

-	Tim fixed an error in SIGSTACK.

-	Int15 0xc0 callout has been modified to deal with DOS programs
	wishing to override scan codes going into the KBD buffer. Still
	needs work.

-	Allow USAGE to display before default stderr redirection.

-	Made dos auto-redirect to stderr if no redirection given on
	command line.

-	Added simple saytime() function to display message and CLOCK
	time.

-	Modified hard_int routine many times to try and make int 9, as
	well as other ints stay serial and yet nt have to wait for
	program to return to return_address.

-	Added Corey@amiganet.chi.il.us patches to exchange 
	stderr <-> stdout. This is to prepare for terminfo.

-	Indented all source code according to INDENT.PRO.

-	Deleted int16 function.

-	Added dpmi/dpmi.h include for interrupts.

-	Added code to allow int09 (keyboard) to allow another interrupt by using
 	outb(20) called by dos programs.
 
-	Modified inline int09 to pass ALL keys to int15-4f function.

-	Added a far return for DPMI call to go protected.

-	Removed old int16 function.

-	Changed int08 inside of do_int() to return after being called.

-	EMS is very close to full 4.0 specs. I've taken the need for
	patching the kernel out at this time so that more folks will
	test EMS. Unfortunately it is horribly slow. Many thanks to
	mikebat@netcom.com (Mike Batchelor).

-	(Theadore Ts'o's)tytso@ATHENA.MIT.EDU created the booton bootoff
	patch. Now a user can boot from a bootdisk a:, type diskimage, 
	and then return control of a: to /dev/fd0. Alright :-).

-	Added routine to allow Diamond Card to go graphics.

-	Much effort has been put into keyboard enhancements, 
	which have not been that fruitful. Need to have numlock off
	to cut & paste within MSDOS edit, and WordPerfect 5.1 's home
	key does not work as expected.

-	Keyboard kinda does a REAL int9.

-	Fixed UMB size 0, and move XMS edx:ebx problem.

-	Added more SS overflow checks.

-	Added call in SIGILL to check if illegal op-code is just another
	hard interrupt ending. It calls int_queue_run() and sees if such
	was the case.

-	Added WORD macro in push/pop functions.

-	Added check for DPMI far call.

-	Small ET4000 updates from info from Robert Saunders. Thanks.
	Needs more testing.

-	Redirector now truncates files properly (with fingers crossed)
	Calls to create_truncate existant files is closer to correctly
	being handled.

-	Modified findfirst/findnext routine.

-	Added 0x80 flag to tell DOS it's not lanman redirector.

-	Poor excuse for an update to work with ../NUL device. Also 
	added code to allow mfs.c properly deal the GetRedirection 
	with Novell-Lite Printers.

-	Added lredir using environment vars by 
	coosman@asterix.uni-muenster.de

Wed Dec 28 00:00:00 1993  jmaclean

-	Problem with multiple instances of emufs.sys has been destroyed
	I believe.

-	tytso@ATHENA.MIT.EDU (Theodore Ts'o) has added the ability
	to boot off a bootimage file as drive a:, then release drive
	a: back to dosemu as the actual /dev/fd0 via booton/bootoff
	in autoexec.bat. See ./examples/config.dist for parameters.

-	As usual the keyboard routines have been dug up more.
	Still MSDOS edit.com needs numlock off to cut&paste. ARG!
	Someone could really make my day if they pointed out what
	I'm doing wrong.

-	Added video option chipset for diamond for some diamond
	cards, specifically Diamond Speedstar 24x with a 
	Paradise/Western Digital chipset. Many thanks to
	patrickm@gas.uug.arizona for putting up with me.
	This does no more than allow 'graphics' for
	this card type.

-	Overhauled EMS to allow it to work with programs that I
	use. It nolonger requires the mmap.diff patch, so please
	don't use it. I'm just carrying it along because the way Robert
	did EMS mapping was better, and I hope to move back to that
	after folks start beating this version around a bit.

-	Debugged XMS a bit more to work with UMB's and passing the
	correct XMS address for XMS moves.

-	Some more messing with ET4000, thanks to Robert alias 
	Nils Rennebarth for the ET4000 stuff. Unfortunately I am
	in need of another tester to start relaying bugs. Any takers?

-	Diffed in patch[1-3]_against_pl3.dif applied:
	-	First patch fixed a timer problem mainly.
	-	Second patch limited VC switching to left alt key.
	-	Third patch almost finishes my changes in keyboard
		routines.

-	coosman@asterix.uni-muenster.de submitted patches to mfs.c
          which allow lredir to access environment variables like are
          now used in emufs.sys.

-	coosman@asterix.uni-muenster.de fixed the 15 character limit
 	  on keybaords, some keyboard extenders should now work, 
	  yes :-).

-	coosman@asterix.uni-muenster.de also submitted dumpconf.asm
          to try and fix the multiple emufs.sys instance problem.
	  Still unsuccessful, any takers?

-	Changed dosvga.h to video.h

-	tytso@ATHENA.MIT.EDU (Theodore Ts'o) aided in getting mfs.c
	to do the ftruncate thing more like DOS. Still not sure if
	it's up to the full 100%.

Mon Nov 29 00:00:00 1993  jmaclean

* Another update of multiple bugfixes :-).

	- Keyboard internals have been really rearranged. I'm not sure I'm
	  keeping them this way, but now cut&paste problems should hopefully
	  go away. Also any program that looked at the bios memory for 
	  checking ctrl-alt-shift statuses have a better chance of operating.
          Still seems to be some lagging (somewhere).

	- German keyboard patches thanks to hein@tlaloc.in.tu-clausthal.de
	  (Jochen Hein) which should fix that multiple alt key problem a 
	  couple people have asked about, as well as some incorrect mappings.

	- As always mfs.c has been updated again to react to another funny
	  one on DOS's part. If a file was open write, and actually written to,
	  it should be O_TRUNC first. If its just opened for writing, and not 
	  actually written to, the file should exist as was when closed. ARG!
	  The fix is a kludge, and needs some work!

	- Ross Biro <bir7@leland.Stanford.EDU> gives us some more fixes for
	  the redirector, and includes a new toy/option for emufs.sys. Now
	  in you config.sys you can add a device statement like:
		- device=c:\emufs.sys \${HOME}/dosstuff
	  which will allow you to use your home directory as part of the
	  path. Any environment variable can be used.

	- alan@spri.levels.unisa.edu.au (Alan Modra) fixed some flag setting
	  problems in the emulated int13 code.

	- bde@kralizec.zeta.org.au (Bruce Evans) noticed some initilization
	  problems as did -

	- alan@spri.levels.unisa.edu.au (Alan Modra), so we have changes to 
	  the registers at boot time, good for some disks that need everything
	  just right :-).

	- And not to forget fin!chip@dg-rtp.dg.com (Chip Salzenberg) who got
	  rid of those annoying errors when bison was running.

	- Makefile has been altered hopefully to cleanup those 'separator
	  missing messages'.

	- parse/parse.c will not be contained in the distribution and should
	  limit that parse.tab.h not found error.

* From announce0.49pl2

	- This release has some important changes, actually bug fixes, and some
	new functionality to emufs.sys. (The hardrive redirector) It allows
	us to redirect the redirected drives using a DOS program LREDIR after
	booting, thanks to Tim Bird (Tim_R_Bird@Novell.COM) .
	 
	- Video switching is still growing, and has had some fixes for Trident
	cards, as well as changing routines for saving and restoring video
	memory above the first bank. ET4000 code is still giving some problems
	so be aware. 

	- Keyboard control has been enhanced using a real time int16 interrupt.
	Thanks Tim. This is important for WordPerfect users, Dosshell,
	Qbasic, and many other problems that have been attributed to keyboard
	problems. This has not been proved to fix the 1 key behind problem
	yet.:-(

	- Sdh@po.cwru.edu (Scott D. Heavner) has allowed us to specify an
	alternate config file using dos -F'filename' etc with his patches.

	- A problem writing files in WordPerfect on emufs.sys drives has been
	irraticated. 

	- Dir listings that included the volume label attribute were only 
	returning the volume label, and no dir listing. Fixed. Thanks to
	karel@obelix.icce.rug.nl.

	- Finally the keyboard problem has had another important fix thanks to
	ronnie@lysator.liu.se (ronnie s.) via Robert (gt8134b@prism.gatech.edu)
	that should fix the keyboard behind by 1 problem.

Tue Jul 13 19:54:13 1993  rsanders

	* Makefile: cleanups...

Tue Jul 13 19:24:54 1993  root

	* cpu.c, cpu.h, emu.c:
	changes for using the new (0.99pl10) signal stacks

Wed Jul  7 21:44:51 1993  root

	* emu.c: hook for parse_config(name);

	* parse.c:
	added support for ~/.dosrc and parse_config() now takes a filename
	argument to override .dosrc check.

Mon Jun  7 20:26:09 1993    (root@hrothgar)

	* emu.c (char_out): more BIOS-like handling of int
	0x29...character attributes are now reserved, and scrollup now
	uses the attribute from the previous char (needs more work).

Fri Jun  4 01:43:39 1993    (root@hrothgar)

	* cpu.c (find_port): added Andrew's patches diff1-6, which include
	the maskable port I/O.  Began fixes to allow ports beyond 0x3ff.

Thu Jun  3 23:05:26 1993    (root@hrothgar)

	* emu.c (ms_dos): fixed up the EmuSys and EmuBat directives.  They
	now take string arguments.

Thu May 27 21:38:08 1993    (root@hrothgar)

	* bios_emm.c (bios_emm_init): moved into dosipc.c: memory_setup().
	Now checks that /proc/self/mem is mmap()able, and turns off EMS
	support if it isn't.

Wed May 26 01:09:23 1993    (root at hrothgar)

	* moved 0xE000 segment routines to 0xF000.  also changed reboot
	code to use inte5, ax=0xffff

Tue May 25 01:41:53 1993    (root at hrothgar)

	* added early support for the EmuSys and EmuBat directives, which
	remap CONFIG.SYS to CONFIG.EMU and AUTOEXEC.BAT to AUTOEXEC.EMU.
	This works now, but I'm not sure when I should disable it.

Mon May 24 21:50:33 1993    (root at hrothgar)

	* added CMOS checksum.

	* dosemu 0.49 released!

Fri May 14 00:41:08 1993    (root at hrothgar)

	* cleaned up the int10h ah=9/0xA calls...they now work correctly
	except for possible bounds checking.

	* made floppies safe, but slow...work on this.

Wed May  5 02:18:23 1993    (root at hrothgar)

	* added mouse support and console switching even in graphics
	mode.

Tue Apr 20 00:49:07 1993    (root at hrothgar)

	* added DMSG_PAUSE for pausing the parent...

	* fixed a lot of int10() problems, including cursor positioning
	and int10h 0xa/0x9.

Fri Apr 16 08:58:43 1993    (root at hrothgar)

	* added VGA BIOS support...user vgaon.com to allow it, vgaoff.com
	to stop it. 

Wed Apr 14 03:44:36 1993    (root at hrothgar)

	* now have mfs.c updated all the way to diff9, which has multiple
	drive support...(not my doing!).  also translated linux.asm into
	emufs.S. 

Mon Apr 12 22:08:39 1993    (root at hrothgar)

	* added the 1-second tick in dosipc.c.  the child gets a SIGALRM
	every second, which child_tick() handles.  currently only calls
	print_tick(). 

Tue Apr  6 00:20:05 1993    (root at hrothgar)

	* stold the Mach DOS emulator's UMB routines. PCShell no longer
	crashes, PKZIP now uses it.  PKZIP 2.04e won't use EMS :-( and
	neither will debug.

	* ported bios_emm.c (EMS emulation) from the Mach DOS emulator. It
	relies on my kernel hack of mmap(/dev/selfmem). Works pretty well,
	emulates EMS version 3.2.

	* applied diff1,diff2,and diff3 from Andrew Tridgell. MFS works
	better, faster.  MFS also adjusts for being run suid root.  The
	default interrupt (0xfe) conflicts with Turbo Debugger.  I suggest
	a change to 0xe5.

Thu Apr  1 03:08:22 1993    (root at hrothgar)

	* translated the bootsect.S code for as86.  This is nice for
	general interest, and for the distribution hdimage (which requires
	fdisk /mbr to fix it, by the way).

Wed Mar 31 01:00:37 1993    (root at hrothgar)

	* integrated Andrew Tridgell's port of the Mach mfs redirector.
	Seems to work okay, if not blazingly fast.  Sure beats linux.exe.

	* changed VIRT_SCREEN_BASE and INIT_VIDEO_MODE for MDA to actually
	show MDA mode 7 and base of 0xb0000.

	* added PARTITION type.  only works with /dev/hd?1. relies upon
	the file "/etc/dosemu/partition" to be the first sector (Master
	Boot Record) of /dev/hd?.  

Tue Mar 30 02:51:33 1993    (root at hrothgar)

	* changed disks.c a lot, added the IMAGE file header code (to
	auto-detect geometry from an image file).

Mon Mar 29 00:47:41 1993    (root at hrothgar)

	* added the int 0x2f, ax=0x1680 "give up time slice" function.
	does a usleep()...is this best?  thanks to Andrew Tridgell.

	* changed disks.c to simply accept FLOPPY_A as defined

	* changed -f option to take an argument

Sun Mar 28 02:07:50 1993    (root at hrothgar)

	* wrote dosconfig.c to replace dosconfig.sh.  

	* changed the int16h ah=0x55 to return eax=0 for MS-WORD 5 (check
	this with Andrew Tridgell). 

	* fixed up some of the CONFIGURATION (int 11h value) stuff.  see
	emu.c, config_init()

Mon Mar  8 00:37:07 1993    (root at hrothgar)

	* added dosconfig.sh for "make config", rearranged Makefile to be
	a little safer.  It tries to keep the user's config.h updated, but
	not to recompile too often.  (dosconfig.sh uses awk)

	* cleaned up get_video_ram()...Turbo debugger 3.0 now works, at
	least the video stuff does.

	* added some fixes so that leavedos() will timeout after 3
	seconds or so, but I still need to find out why/where it hangs.

	* added memory.h and video.c.  added "make dep" to Makefile.

Sun Mar  7 15:05:10 1993    (root at hrothgar)

	* added an ugly hack for multiple screen pages...nasty. works okay
	for Turbo Debugger 1.0, though.  also began marking hacks with
	XXX...most everything new&old is a hack, sadly enough.  termio.c &
	emu.c need to be robbed of the screen functions, which will be put
	in screen.c. also the emu.h and termio.h headers...clean the
	get_video_ram & put_video_ram stuff...

Thu Mar  4 01:23:04 1993    (root at hrothgar)

	* added the proper set-iflag-after-instruction STI emulation.  it
	doesn't seem worth it, so I disabled it be default (define
	PROPER_STI in cpu.c or the Makefile to get it working).

	* got the HMA working perfectly.  moved the IPC_RMIDs into
	memory_shutdown(), called by stop_dosipc, so that the HMA area,
	which isn't always attached, wouldn't go away unexpectedly.

	* used krishna's new ipcdelta stuff (the SHM_REMAP flag) to make
	the low page shared, too. I should break this out of the main
	segment1. verified that it works.

	* added SIGCHLD handler, fixed up the DMSG_ACK situation. still
	need to design a rational, interrupt-like protocol for this.

	* added shared memory to dosemu. I haven't gotten Krishna's new
	stuff yet, so I don't share the first page (I NEED TO!). 2 segments,
	one from 0x1000-0x9ffff, the other 0xc0000-0xfffff.  Because of
	stupid mmap(), I can't share the segment from 0xa0000-0xbffff, as
	mmap() needs memory under, and IPC can't have memory under.

Tue Mar  2 02:07:57 1993    (root at hrothgar)

	* apparently, whatever badness in DOS 5.0 that caused the SIGSEGV
	when booting has gone away, or I've fixed it, so I took the
	boot_in_progress checks out (partially, I'm a little wary).  We'll
	see how it goes.

	* made the child process munmap() everything from page 2 (address
	4096) to the page before LIBSTART.  this should cut down on memory
	usage a little, as well as make attaching shm a little easier.
	still doesn't fix first page problem, but Krishna is doing that.

	* changed the format of the DOS HELPER function to show interrupts
	(now takes low int in BH,high int in BL).  Also added a parameter
	to show_ints(). also added -2 option for 80286 flags emulation.
	(real-mode 80286 keeps upper 4 flag bits (15,14,13,12) clear.

	* added two new switches, -3 and -4, that allow you to choose 386
	or 486 "emulation"...this currently only changes the behavior of
	the AC (alignment check) bit of EFLAGS, but since that IS the
	Intel-recommended test...I need to add emulation for BSWAP, XADD,
	and CMPXCHG instructions for 386 users running in 486 mode (just for
	kicks :-). I wonder if PKZIP 2.04 is much faster in 386/486 mode...

Mon Mar  1 01:35:53 1993    (root at hrothgar)

	* added code to keep virtual IOPL, NT, bit15 of eflags register.
	this means I also have to interpret the 0x66 and 0x67 instruction
	prefixes (32-bit operand and address, respectively).  this must be
	done in sigsegv()...it's just ignored now

	* split dosemu into 2 processes, one of which currently only
	monitors keypresses.  I use UNIX domain sockets--pipe() returns a
	uni-directional pipe :-(

	* tried to speed up clear_screen() for non-console video.

Thu Feb 25 21:19:10 1993    (root at hrothgar)

	* fixed show_regs() to display an iflag-adjusted eflags.  I should
	make access functions to _regs.eflags so that "virtualized" bits
	are always handled correctly.

	* fixed iflag/IF handling...Matthias had forgotten to adjust iflag
	on popf and iret. Silly boy.  I wasn't doing much better, testing
	IF directly from the _regs.eflags after return from vm86(), which
	of course corresponded to the system IF...someone should write a
	virtual-8086 mode tutorial!

Wed Feb 24 11:33:59 1993    (root at hrothgar)

	* fixed the key-repeat bug.

Tue Feb 23 01:36:17 1993    (root at hrothgar)

	* well, the ugliness with indirect far calling can be
	skipped...however, I can only get pcshell to work with the mouse,
	and it doesn't use callbacks!  added lctrl+rctrl+capslock = toggle
	kayboard mouse...arrow keys are direction, home is left and end
	is right button.

	* made the first brain-dead changes for mouse support.

Mon Feb 22 16:26:17 1993    (root at hrothgar)

	* cleaned up the show_regs() a bit, better display of flags, shows
	10 bytes before and after CS:EIP.

	* added the define FAST_BUT_WRONG29, which, if defined, makes
	int29 fast char output faster, but makes programs that hook int29
	fail.  ANSI.SYS is one of these.  I leave FAST_... defined, as
	ANSI.SYS doesn't work now anyway.

	* added the extended (32-bit) XMS 3.0 API.  cleaned up xms.c to be
	a little more 32-bit clean (i.e. doesn't fudge upper 16 bits of
	register if it's not supposed to).  Added the macros LWORD() and
	HWORD() to emu.h...

Sat Feb 20 17:43:50 1993    (root at hrothgar)

	* added Bill Bogstad's (bogstad@cs.jhu.edu)
	auto-hd-geometry-detect code.  It seems to work okay.

Thu Feb 18 01:38:21 1993    (root at hrothgar)

	* RELEASE: released these changes as 0.48.patch1.  Peter Macdonald
	(pmacdona@sanjuan.uvic.ca) says he'll incorporate this into his SLS.

	* changes NUM_HANDLES for XMS to 64. took out handle_mask.

	* added the screen-buffer-and-compare code to restore_screen().
	this ought to really speed up the non-console users

Wed Feb 17 15:40:54 1993    (root at hrothgar)

	* fixed up the Makefile to make libemu start at 1 GB... this is
	really really important, as the dosemu0.48 distribution's MAX_XMS
	of 3072 could overrun into libemu...I don't know why it works this
	way, but it does (actually, I do know why, I just don't know why
	sbrk() lets you move into a shared lib).  Anyway, now xms.c checks
	that you have space left for MAX_XMS (at compile time, will have
	to be dynamic-ized to run time XMS size setting)

	* removed the check for console_keyb before calling
	PollKeyboard...non-console users deserve a keyboard, too!

Tue Feb 16 00:29:58 1993    (root at hrothgar)

	* cmos RTC now returns values in BCD if appropriate (usually is)

	* fixed the keypad number keys.  forgot to put scancode in upper
	byte. also fixed the F11 and F12 keys.

	* added man page, and the rest is history.
	  DOSEMU 0.48 DISTRIBUTION

Mon Feb 15 00:24:50 1993    (root at hrothgar)

	* added all the ctrl and alt cursor keys.

	* added the files cmos.c and cmos.h.  these will eventually
	contain all the CMOS values needed and provide CMOS real-time
	clock and alarm support.  current code covers time/date, disk
	setup, memory size, CMOS status.

Sun Feb 14 16:50:28 1993    (root at hrothgar)

	* put the special_nowait call into read Extended keycode also.
	I've really gotta verify this.

Sat Feb 13 15:26:20 1993    (root at hrothgar)

	* uh, fixed the XMS EMB alloc. problem.  I swear I checked for
	this when I first had problems, but apparently not...I was
	malloc()ing the actual K size, instead of the K size * 1024.

	* added some XMS functions, made the XMSControl entry point
	conform to the spec (for hookability).

Fri Feb 12 14:19:30 1993    (root at hrothgar)

	* put the 101-key keyboard flag in the BIOS

	* Added the timer_tick() routine. this fixes a LOAD of
	stuff...4DOS beep lockup, 4HELP, Norton utilities, checkit,
	autocnf, bunches and bunches of stuff, basically.  This still
	needs a LOT of work, like keeping track of round off error, higher
	frequency, but it'll do for now.

Thu Feb 11 01:53:27 1993    (root at hrothgar)

	* changed ReadString to accept almost any characters.  I'm still
	not sure about the ones below space.

	* char_out now treats \n as \n\r.  I wonder about this.  also,
	ctrl-c checking is done a little more properly (look for dos_ctrlc())

	* added the hold-alt-and-type keypad numbers entry method.  still
	need to add alt/shift/ctrl-cursor keys.

Wed Feb 10 13:08:05 1993    (root at hrothgar)

	* WordPerfect works perfectly now :-). almost.

	* added Rshift-scrlock for int8, lshift-scrlock for int9.  funny
	thing is, these work better than the flags.  makes me wonder about
	the whole signal handler thing, and maybe I should check the IF.

	* added the -K flag.  sorta makes QBASIC/EDIT work.  if I use the
	-t switch (timer int), then msdos will crash eventually with a GP
	fault on 0xe8.

Tue Feb  9 15:45:54 1993    (root at hrothgar)

	* XMS can now allocate the HMA and a single UMB at 0xc000.  I
	really need to make sure that 0xc000 isn't BIOS-mapped, but I'm
	just playing now, anyway.  This is fun!  I can put dos=high,umb in
	my config.sys and get 702K posible executable size! (with -m 720)

	* began the XMS stuff.  Have a driver that can mark its presence
	and claim no HMA. :-) 

	* fixed the dir /w problem by allowing int 21h to do its own char
	out.  however, I found an anomaly in the get video combination
	code.  I can return 4 (color EGA), but not 8 (color VGA).  If I
	do, qedit freaks and puts the menu up off the screen as if the video
	memory started at 0xb000:0000.  The same thing happens if I change
	BL in video subsystem.

Mon Feb  8 02:05:07 1993    (root at hrothgar)

        * this (or herabouts) is RELEASE 0.47.7

	* fixed the heavy-load miss characters thing.  The keybuffer code
	Stephen Tweedie gave me would advance the buffer even if ReadKeyboard
	was called with wait=TEST.

Fri Feb  5 01:51:08 1993    (root at hrothgar)

	* okay, fixed the lost characters thing for real: Matthias' int29h
	handler (fast DOS tty output) was calling int 10h/ah=e.  int 29h
	output always goes to the current screen, and Matthias wasn't
	taking that into account.

Thu Feb  4 00:35:57 1993    (root at hrothgar)

	* i know why...I'm doing that damn WAITACTIVE ioctl(). damn damn
	damn! I see no way around that. (later note: it might in fact
	be the fact that I was often deleting libemu out from under
	dosemu's feet with rm -f, and now that I've stopped that,
	everything's better. Should I keep the ioctl queue?)

	* well, it seems that my ioctl queue hasn't stopped the kernel
	panics. here's what I get (raw keyboard mode):
 general protection: 0000
 EIP:    0008:00047325
 EFLAGS: 00010286
 fs: 0017
 base: 00000000, limit: C0000000
 Pid: 464, process nr: 16
 64 88 08 4e 85 ed 74 13 8b 15 
 
 wait_queue is bad (eip = 00000201)
         q = 0017b864
        *q = 00236f6c
       tmp = 00236f6c

(repeat the wait_queue block 7 times)

 Unable to handle kernel paging request at address c0000004
 Oops: 0000
 EIP:    0008:0004748B
 EFLAGS: 00010093
 fs: 0017
 base: 00000000, limit: C0000000
 Pid: 31, process nr: 8
 39 50 04 75 f8 8b 4c 24 1c 89 

	* well, pkzip 2.04e uses int10h/ah=e with a seemingly random
	screen page.  PC-DOS 4.01 seems to do the same thing. so, in my
	infinite wisdom, if it writes to a screen page > 7, i make it
	write to the current screen page.  this is probably wrong, but it
	works for pkzip 2.04e.

	* fixed the PollKeyboard() thing, I think.  I use a "queue" for
	ioctl()'s started from within an interrupt handler.  this is
	nasty, but it'll have to do.  I can make this a lot pretier.

	* AAARRRRRGH! PollKeyboard() was crashing the emulator (kernel
	panics and such) because I was using select()...and looky here,
	pg. 278 of the Stevens book, select() is NOT listed as one of the
	reentrant functions.  I'm a fool. A FOOL, I tell you!

	* these changes I will call dosemu0.47.5

	* also added choice of PHANTOMDIR and VIDEO_CARD to the Makefile.
	VIDEO_CARD only has effect if it is set to MDA: the
	PHYS_SCREEN_BASE will then be set to 0xb0000 instead of 0xb8000.

	* Now you can choose your RAW keyboard nationality in the Makefile
	(like with a kernel compile).  Gotta clean this up later with a
	keymaps subdir, and all the keymaps therein.  Also noticed that
	when 4dos freezes up during a beep, ctrl-break (in RAW mode, of
	course), fixes it :-).  Added these keys to RAW (-k) mode:
	   ctrl-alt-pgup  ... exit the emulator
	   ctrl-alt-pgdn  ... "reboot" the emulator (not recommended)
	   ctrl-break     ... as in DOS
	   ctrl-scrollock ... show first 0x30 interrupt vectors
	   alt-scrollock  ... show registers
	for some reason, keypad cursor keys (pgup/pgdn/delete) when
	combined with the ctrl-alt keys will cause nasty things to happen.
	Things like kernel panics, hard system reboots, etc.  Is this my
	fault, or Linux's? (I'm sure it's mine, but I can't figure out how)

Wed Feb  3 12:07:16 1993    (root at hrothgar)

	* Added some elementary key-polling in sigalrm() with
	PollKeyboard(). This works okay for now, but I really need to make
	in general purpose (not just for console_keyb) and make the key
	buffer use the BDA for real. Then we've got keyboard about done,
	except for the multi-national keyboard maps.

	* Added Stephen Tweedie's small patches for insert-key into
	keyboard buffer (InsKeyboard).  This needs to be rewritten to use
	the real BDA queue.

	* made the parse-debugflags kinda recursive, so a and 0 don't
	terminate the parsing.  This allows for handy option strings like
	"-a+v" or "0+v" for debugging just video.  

Tue Feb  2 15:21:59 1993    (root at hrothgar)

	* note that DOSKEY works now! Nathan says it didn't before.  Oh,
	well. I thought it didn't.

	* cleaned up the debug-msg flags a bit.  now the -D option
	specifies a list of options.  also cleaned up the int-revectoring
	a tad.  moved a little of the stuff into emu.h (a lot more needs
	to go)

	* added the -f option to flip A: and B: floppies.  I also have the
	-B flag to boot from the b: drive, but I don't think DOS will ever
	be happy with that.  might take it out before release.

Mon Feb  1 23:53:52 1993    (root at hrothgar)

	* NEED to find out what int 16h/ah=0x55 does.  it seems to control
	timeout for get_char (int 16h/ah=1), and is necessary for dosshell
	and qbasic (which freeze occasionally otherwise).

	* added some wacky int-revectoring code.  all but int 16h is broke
	right now, and that is even special-case, too.

Wed Jan 27 00:21:06 1993    (root at hrothgar)

	* fixed problem with CloseKeyboard() sometimes restoring flags
	that had never been read.  now, kbd_fd==-1 at startup, as it should.

	* fixed time problem - now DOS time is set properly at boot to be
	in sync w/Linux's clock.  After that, DOS can change it.

	* moved the port_[out,in] functions to emu.h

	* fixed a problem in get_leds() arising from the fact that &= is
	not the same operator as &. silly me.  now it works.

Tue Jan 26 16:48:31 1993    (root at hrothgar)

	* well, had to put ioperm()s to disable the emulator's I/O
	permissions before I re-enter the vm86() call. (of course, the
	vm86 "task" inherits the emulator's ioperms).  This means that if
	I'm not careful, I may leave an I/O port open to DOS :-(.

	* Added two options: -N exits the emulator before booting DOS (but
	after all the initialization), and -V allows VGA video.  This
	presently only includes the changing of the blink attribute bit to
	the high intensity background bit, but it will one day also enable
	VGA graphics.

Mon Jan 25 22:19:20 1993    (root at hrothgar)

	* the linux.exe problem was found: linux.exe will fail if there
	are more than 2 floppy drives defined.  i defaulted the number of
	floppies and hard drives to 2 each; this is changeable by the -H
	and -F options.

Thu Jan 21 21:10:06 1993    (root at hrothgar)

	* filled the highscan[] table for all chars <= 0x80 (ASCII).  the
	rest are alt-chars (from a terminal's point of view, META at least).

	* note that the below change required that I no longer open
	/dev/tty, but use STDIN_FILENO and dup() that.  whatever that implies.

	* fixed the console-video/keyb code.  dosemu can now detect if you
	are on a console, and refuse to run if not.  it also retrieves the
	console number for future use. (very system-dependent checking of the
	major/minor numbers! this is dangerous! if dev_t changes from 16
	bits, this breaks.)  console_video console switching should now be
	completely safe, thanks to WAITACTIVE.  currently, it blocks until
	the dos console is current.  I might want to change this so that
	it just doesn't map it if the console isn't current--using
	GETSTATE (and wait for later acquire_vt() calls to do so.)]

	* made the int13 disk-sensing functions more sensible. also made
	the dp->tracks, dp->heads stuff orthogonal (for some reason,
	matthias had made exceptions for floppys??).  You can now
	format/unformat a floppy, as well as a floppy disk image. added a
	default CMOS type to the disk table struct.

Sat Jan 16 10:28:23 1993    (root at hrothgar)

	* fixed alt-numkey bug in termio.c.  for some reason, alt-numkey
	scancodes get bumped up by 0x76. also fixed alt-- and alt-=

	* can't find bug that causes repeated extended keystrokes to kill
	the emulator: to find it, run tv.com on some file, go the bottom,
	and press & hold pgdn.  bam, crash.

	* fixed int21h, ah=1,7,or 8 problem with extended keycodes;
          (was supposed to return 0 first, then scancode on next call).
