Changes in version 1.2-pre1 (5/25/2001):
- major cleanup of .bochsrc
- major cleanup of stderr output: prints bochs version information when
  starting, and at the end it tries to print the message that caused 
  bochs to quit.
- two hard disk support (diskd).  At present, you cannot have two 
  hard drives and a cdrom at the same time, because there is only
  one IDE controller with two channels.
- split hard disk support allows different partitions to be stored in
  different image files
- two new GUI choices: term mode and RFB mode.  Term is a text-only
  interface, and RFB creates a server that can be accessed using
  the AT&T VNC viewer.
- now Bochs can simulate an SMP machine, if you configure with
  --enable-processors=N.  Configuring more than one processor has
  a major performance impact, so the default is 1 processor.
  See SMP documentation for more details.
- to make SMP work, bx_mem and bx_cpu have been replaced with
  bx_mem_array[] and bx_cpu_array[].  The cpus are referenced through
  the BX_CPU(n) macro and memories through the BX_MEM(n).  Normal
  mode has one cpu and one memory, SMP mode has multiple cpu's and 
  one memory, cosimulation mode has multiple cpus and multiple memories.
- use --enable-cpu-level=6 to make Bochs claim to be a Pentium Pro.
  The only feature that requires CPU level 6 is apic support.
- new logging system by Todd Fries, which has 4 levels of event
  severity (panic, error, info, debug).  There are new .bochsrc
  options that control what action to take when a 
  panic/error/info/debug event occurs.
- now searches for .bochsrc, bochsrc, bochsrc.txt, and (on unix only)
  $HOME/.bochsrc.
- use GNU readline library if --enable-debugger is on, as long as readline
  can be found on the machine
- configure checks for existence strtoull and strtouq. if neither exists, 
  Bochs uses its own implementation
- applied patches from Cliff Hones <cliff@aonix.co.uk> to fix up the
  rombios.  This includes many improvements, which you can list by
  doing "cvs log -r 1.6 bios/rombios.c" or looking at cvsweb.
- added suggested geometries of larger disks to the documentation
- this is the first release to have official binary packages for win32
  and Linux.  There is a new "make rpm" in the top-level Makefile which
  will create an RPM of the current bochs directory.  To use this,
  become root and type "configure; make rpm".
- applied some FreeBSD patches from Maxim Sobolev (cdrom and serial).

Changes in version 1.1.2 (bugfix3, 5/16/2001):
- updated Elpin VGA BIOS to version 2.40, and changed pointer in .bochsrc
- fixed .conf.x86 script so that it uses c++ instead of egcs for C++ files
- now Makefile targets that recurse into subdirectories use double colons,
  so that it will always recurse into subdirectories.  Now a single make
  command should notice a modified source file in a subdir.
- fixed bug in bx_panic.  If BX_PANIC_IS_FATAL==0 and a (non-fatal) panic 
  occurs, it used to call bx_atexit() and then return.  It should never
  call bx_atexit, which starts to shut down the simulator, unless it's
  really going to quit!
- support 2.88 MB floppy disks
- since dataseghack is checked in as non-executable, invoke it with 
  "csh dataseghack"
- double fault patch from Thomas Petazzoni <thomas.petazzoni@ifrance.com>,
  sourceforge patch #423726.
- removed -fno-builtin from fpu makefiles
- redefine u_char, u_short, etc. in order to not conflict with system
  definitions of these same types.
- in cdrom.cc, remove the extern "C" { } structure around some of the
  header files.  This is no longer necessary.
- do not panic on hard disk command 0x1f2 (read sector count)
- in keyboard.cc:
  - apply Todd Fries' reset patch
  - recognize most of the "Grey" insert/delete/home/end/etc. keys the
    same as keypad keys.
  - removed panic on "kbd_ctrl_to_kbd(): got value of 0x??"
  - implement mouse command 0xf6 (set defaults)
- apply Suboner@aol.com's Xwindows timing patch from
  http://sourceforge.net/tracker/index.php?func=detail&aid=418730&group_id=12580&atid=312580
- remove all patches from patches subdir which have already been applied.
  The remaining ones are under consideration but not applied.

Changes in version 1.1.1 (bugfix2, 4/9/2001):
- in soundwin.cc, arg 3 should be typecast to LPWAVEFORMATEX
- in fpu_entry.c, Bryce mistyped his own initials!
- in configure.in and configure, define good defaults for VC++
   #define BX_64BIT_CONSTANTS_USE_LL 0
   #define inline __inline
   #define BX_NO_EMPTY_STRUCTS 1
   #define BX_NO_ATTRIBUTES 1
   #define BX_HAVE_HASH_MAP 0
- in config.h.in, fixed typo in #error message


Changes in version 1.1 (bugfix1, 4/6/2001):

(FIXED, patch #414360: update copyrights)
update headers.  Change copyright to 2001, replace config.h.in header with
the standard mandrake header that every other file uses.

(FIXED, patch #414356: inlines)
make macro to replace inline and static/extern keywords.  Then make 
define the macro appropriately based on configure.

(FIXED: patch #414234: macos-no-strdup)
--with-macos should force HAVE_STRDUP=0.

(FIXED, patch #403027: Fix mouse bugs in Linux and BSD)
Linux and BSD (maybe others) cause panic in mouse code.

(FIXED, patch #413851: const64bit patch)
VC++ does not allow "LL" after 64-bit constant.

(FIXED, patch #413859: fabs symbol conflict)
fpu code contains fabs, which conflicts with math library fabs.

(FIXED, patch #403004: Implement aborts on a few SET FEATURE commands...)
Implement aborts on a few SET FEATURE commands for ATA.

(FIXED, patch #402991: Update to iodev/vga.cc to add 3c3h read support)
Implement VGA enable register, at 0x3c3.

(FIXED, patch #403027: Fix mouse bugs in Linux and BSD)
Mouse panic in linux/BSD: 
KBD: io write 0x64: command = 0xD3(write mouse outb)

(FIXED, patch #414229: panic-is-fatal)
Allow user to decide if panic is fatal, or just a warning

(FIXED, patch #414230: sun-cdrom)
Support Sun CDROM

(FIXED, patch #413574: portable1)
there are cases where a pointer is cast to a 32-bit int,
then later cast to a pointer and dereferenced, which crashes any 64-bit
machine.

(FIXED, patch #413574: portable1)
some machines have no snprintf or strtoull.  include a replacement function
when needed.

(FIXED, patch #413574: portable1)
Some compilers don't allow "typedef struct { } foo;"

(FIXED, patch #413574: portable1)
Some people don't have hash_map.h, used in dbg_main.cc.  Disable this code
if hash_map.h not found.

(FIXED, patch #413574: portable1)
Some compilers can't handle labels at the end of a block, as in
   void main () { /*code*/ label: }  

(FIXED, patch #413574: portable1)
Most compilers can't handle __attribute__.  Use macro to define it away.

(FIXED, patch #413574: portable1)
if --enable-debugger, turn on --enable-disasm too.

(FIXED, patch #413574: portable1)
ome compilers can't handle any chars after an #endif

(FIXED, patch #413574: portable1)
wrong type arg1 of bx_dbg_watch and bx_dbg_unwatch.  The code in
lexer.l was calling it with integers (not booleans)

(FIXED, patch #413574: portable1)
in fpu code, "setcc" macro was implemented with braces inside parens,
which some compilers don't understand.

(FIXED, patch #413574: portable1)
in fpu_entry.c, FPU_load_int32 was consistently called with arg1 of
type (s32 *), but should be (u32 *)

(FIXED, patch #413574: portable1)
comment out sigcontext structure in fpu/stubs/asm/sigcontext.h because
it conflicted with sigcontext of other machines.  This struct was never
used by bochs anyway.

(FIXED, patch #414046: portable2)
move definition of missing library functions into osdep.h and osdep.cc,
include contents of macutils*.

(FIXED, patch #414061: win32-rawcd)
CDROM drive letter for WIN32 should not be hardcoded.

(FIXED, patch #414060: win32-rawfloppy)
Bypass fstat when opening WIN32 raw floppy disk.

(FIXED, patch #414226: pit-panic)
WinME install dies with panic:
bochs: panic, pit: outp(43h): comm Bh, mode 00, bcd 00 unhandled
I think I had a similar problem.  All three timers should support modes
0, 2, and 3.  Other modes really aren't implemented.

