683 lines
34 KiB
Plaintext
683 lines
34 KiB
Plaintext
-------------------------------------------------------------------------
|
|
Changes in 1.4.1 (June 22, 2002):
|
|
|
|
- now cdrom is enabled in configure, unless you specifically disable
|
|
it with --disable-cdrom. (Christophe)
|
|
- fix compile error in main.cc when SMP or APIC is enabled (Dave)
|
|
- the runtime menu now displays 11 (continue) by default (Bryce)
|
|
- initialize DMA controller before floppy and SB16
|
|
- fix DMA panic when installing win95 (Volker)
|
|
- first character of the vga bitmap is blank on win32 (Volker)
|
|
Before, it was incorrectly coded as a '@'.
|
|
- AltGr key on European keyboards works now on win32 (Volker)
|
|
- fix problem with console/serial port on Bochs exit (Volker)
|
|
- enable serial port for GNU and GNU/Linux (Volker)
|
|
- small documentation fixes (Volker)
|
|
- remove unnecessary include statements for X11 (Volker)
|
|
- italian keymap added (Emanuele Goldoni)
|
|
- fix win32 ethernet frames error. It will no longer reject packets
|
|
that are less than 60 bytes long. (Peter Tattam)
|
|
- BIOS fixes :
|
|
- win2k cd-boot (Christophe)
|
|
- emm386 crash (Dave)
|
|
- cs=0 at boot time (Christophe)
|
|
- keyboard failure in scandisk (Dave)
|
|
- fix bug in forming the 64-bit APIC base address from two 32-bit registers.
|
|
A compiler warning in cpu/proc_ctrl.cc pointed this out.
|
|
- fix default choice in the runtime options menu
|
|
|
|
-------------------------------------------------------------------------
|
|
Changes in 1.4 (March 27, 2002):
|
|
- ROM BIOS
|
|
- Boot from CDROM! Christophe Bothamy added partial El Torito support in
|
|
rombios.c, which allows Bochs to boot cdroms. Booting from win2k or winXP
|
|
cdrom is not supported yet. The default BIOS includes El Torito functions.
|
|
the boot line must say "cdrom".
|
|
Example:
|
|
boot: cdrom
|
|
- implementation of int13 diskette function 5 (format track) (Volker)
|
|
- initialisation of PIC and DMA-2 added to POST code (Volker)
|
|
- configure script (Bryce Denney)
|
|
- the configure script now detects your platform and provides a default
|
|
GUI and the required compiler flags. All supported platforms should
|
|
compile with simply "configure" and "make".
|
|
- default guis by platform:
|
|
- win32/windows/cygwin: win32 gui
|
|
- MacOS X: carbon gui
|
|
- MacOS 9 or earlier: macos gui
|
|
- BeOS: beos gui
|
|
- AmigaOS: amigaos gui
|
|
- all other platforms: X windows gui
|
|
- compile arguments supplied by configure script
|
|
- win32: too many to list here; see documentation
|
|
- cygwin: -mno-cygwin -DWIN32
|
|
- MacOS X: -fpascal-strings -fno-common -arch ppc -Wno-four-char-constants
|
|
-Wno-unknown-pragmas -Dmacintosh
|
|
- the --with-GUINAME configure option is only needed if you want to override
|
|
the default GUI. This is the only way to use the Term, RFB, and SDL
|
|
GUIs.
|
|
- VGA
|
|
- added VESA BIOS Extensions code by Jeroen Janssen (banked mode only, LFB
|
|
support in patches)
|
|
- vga memory read/write functions in text mode fixed
|
|
- implementation of CGA mode 320*200*4 (patch from Sebastien Bechet)
|
|
- VGA BIOS
|
|
- updated Christophe Bothamy's LGPL VGA BIOS to version 0.3a. This consists
|
|
of a bug fix for function ah=13 and VBE support by Jeroen Janssen.
|
|
- networking
|
|
- chipmem read/write limit fixed (Mike Lerwill)
|
|
- writing a byte in 16-bit mode now possible (Mike Lerwill)
|
|
- new ethertap interface for Linux, which allows Bochs to talk to
|
|
the local machine and the internet (Bryce Denney)
|
|
- NE2000 is now enabled by default on Win32, Cygwin, and Linux compiles
|
|
in the .conf.* scripts and release binaries.
|
|
- fix check for auto transmit disable, which was checking the wrong bit
|
|
(Peter Tattam)
|
|
- Win32 only
|
|
- niclist.exe has been revised to work on more Windows versions, and it
|
|
suggests a usable ne2k line (Dean Payne)
|
|
- fix timeout setting so that ne2000 does not slow down the whole
|
|
simulation (Don Becker)
|
|
- bug fix: be able to handle multiple packets that arrive at once
|
|
(Mike Lerwill)
|
|
- GUI changes
|
|
- cdrom button: click this to notify Bochs when you changed the CDROM (Volker)
|
|
- snapshot button: saves the text on the Bochs screen into a file called
|
|
snapshot.txt (Volker)
|
|
- copy button: on Win32 and X windows, copy the text on the Bochs screen
|
|
to the clipboard (Volker)
|
|
- paste button: on Win32 and X windows, paste the characters on the
|
|
clipboard into the Bochs window. This requires keyboard_mapping to
|
|
be enabled. (Bryce Denney)
|
|
- improved text mode cursor for Win32, X11, and SDL (Volker)
|
|
- new SDL interface (Dave Poirier, debugging by Christophe, Volker, Bryce)
|
|
SDL is a graphics library that has works on many platforms. This interface
|
|
is experimental, and is missing a few features of the standard Bochs
|
|
interfaces: extended keys (arrows, keypad).
|
|
- MacOS X: add MacOS X carbonized event handlers by Jeremy Parsons
|
|
- X windows: when not enough colors can be allocated, force use of
|
|
private colormap (Bryce Denney)
|
|
- bug #490570 fixed: OUTB set and command 0xaa encountered (Dave Poirier)
|
|
- keyboard
|
|
- completed keyboard emulation with the implementation of the three scancodes
|
|
sets (mf1, mf2, mf3) with or without translation. This is based on Ludovic
|
|
Lange's plex86 keyboard patch. (Christophe Bothamy)
|
|
- added a "keyboard_type" option, that defines the answer to an "identify
|
|
keybord" request to the keyboard controller. The available values are
|
|
"xt","at","mf". (Christophe Bothamy)
|
|
- added an optional keyboard_mapping option that enables to use your
|
|
country specific keyboard with Bochs. If enabled, the keymap file must be
|
|
specified in bochsrc. The available keymaps are US, German, Spanish and
|
|
French for PCs running X11. Contributions are welcomed. (Christophe
|
|
Bothamy)
|
|
- added Windows(tm) key definitions (Volker Ruppert)
|
|
- added paste button, which causes the emulated keyboard to type characters
|
|
from the system clipboard. This only works when keyboard_mapping is
|
|
enabled. (Bryce Denney)
|
|
- cdrom
|
|
- bug fix: win32 could not read a cdrom image file
|
|
- eject cd support for linux (patch from Petr Stehlik)
|
|
- BeOS fixes
|
|
- changing cdrom media is possible now with CDROM button
|
|
- sound blaster(tm) emulation (Volker)
|
|
- you can use --enable-sb16=freebsd now
|
|
- 16-bit DMA controller added
|
|
- 16-bit mode of the SB16 implemented (output to file works)
|
|
- floppy drive (Volker Ruppert)
|
|
- implementation of the floppy command 'format track'
|
|
- implementation of read / write operations with MT=0
|
|
- behaviour of a few floppy commands fixed
|
|
- floppy reset behaviour fixed
|
|
- lots of other fixes
|
|
- fixed bug [ #468340 ] pic:slave: OCW3 not implemented. Now the slave PIC
|
|
supports all the modes that the master PIC does, and nobody will see this
|
|
message again.
|
|
- serial port (by Volker Ruppert unless noted)
|
|
- improved IRQ handling
|
|
- now Windows 95 serial driver works correctly
|
|
- fixed the return value of the MCR (loopback bit)
|
|
- interrupt reasons LSR change and MSR change implemented
|
|
- the number of data bits is considered when sending data
|
|
- all serial port changes are tested in loopback mode only
|
|
- serial port emulation fixed for FreeBSD and OpenBSD (Stu Grossman)
|
|
- fix receiver poll frequency so that it doesn't slow emulation (Stu Grossman)
|
|
- Bochs debugger
|
|
- when tracing, print the instruction just before it is executed, instead
|
|
of just after (Greg Alexander)
|
|
- after a triple-fault panic, you can now return to the debugger
|
|
- symmetric multiprocessor (SMP) simulation
|
|
- no more panic if you read the EOI register
|
|
- fixed default destination format in local APIC
|
|
- fix SMP instruction tracing in bochs debugger
|
|
- fix deadlock when debugger enabled and all processors HLT
|
|
- MSR support added by Zwane Mwaikambo
|
|
- simulation of interrupts is more accurate (Volker)
|
|
- implemented edge triggered interrupt mode
|
|
- added functions raise_irq() and lower_irq()
|
|
- programmable interrupt timer (Greg Alexander)
|
|
- fixed the PIT gate and improved the PIT printing options
|
|
- experimental real-time PIT
|
|
- parallel port improvements (Volker Ruppert)
|
|
- bug fix: hard disk errors caused by overflowing imul in the BIOS code.
|
|
Sebastian Bechet and Peter Tattam tracked it down and fixed it.
|
|
- fix some memory leaks (patch from Darko Tominac)
|
|
- Double-Word IO is supported for ATA devices
|
|
- fix bash-specific syntax in install-x11-fonts script
|
|
- print stack_return_from_v86 error only the first 100 times
|
|
|
|
-------------------------------------------------------------------------
|
|
Changes in 1.3 (December 10, 2001):
|
|
- networking works on Windows and Linux platforms
|
|
- emulated cdrom can now read from ISO image files, on any platform.
|
|
- new PIT model by Greg Alexander which is much more complete than the
|
|
old one. The new PIT is used by default, but you can switch back to
|
|
the old one if you configure with --disable-new-pit.
|
|
(PIT = 8254 programmable interrupt timer)
|
|
- new configuration menus by Bryce Denney, which allow you to change any
|
|
bochsrc option using text menus, then save the configuration into
|
|
a new bochsrc file for later use. You can disable the new code using
|
|
configure --disable-control-panel. Also you can use the command
|
|
line arguments -nocp or -nocontrolpanel. Also, there is a new
|
|
"Config" button on the GUI that allows limited changes to the
|
|
configuration at runtime, such as changing the floppy disk.
|
|
- add docbook documentation directory in the sources under doc/docbook.
|
|
The transition from HTML to docbook documentation is still in progress.
|
|
- Add new log action "ask", as shown in these example bochsrc lines:
|
|
panic: action=ask
|
|
error: action=ask
|
|
When an event occurs which is set to "ask", you get a beep and message
|
|
on the text terminal that asks what you want to do. Choices are: continue,
|
|
continue and disable future messages from this device, quit immediately,
|
|
or segfault (where abort() function is available). If compiled with
|
|
--enable-debugger, you can also choose to enter the debugger.
|
|
- Parallel port emulation cleaned up by Volker Ruppert. See .bochsrc for
|
|
syntax of new parport1 line in bochsrc.
|
|
- PCI support improved by Volker Ruppert, including BIOS changes. Still
|
|
not complete.
|
|
- floppy controller returns a proper error response if you try to write
|
|
a read-only disk image. For systems such as DOS that actually use the BIOS
|
|
services, it was also necessary to add code in int13_diskette_function to
|
|
recognize a write-protected error and return the correct error status code
|
|
(AH=3, Carry Set).
|
|
- the ROM BIOS now prints panic messages to the console. Thanks to Cliff
|
|
Hones for his console display code.
|
|
- the ROM BIOS detects nonbootable disks (Barry Allard), and prints a message
|
|
on the console. Barry Allard's patch who helped with checking the boot
|
|
signature.
|
|
- LBA support added for hard disks. (Not tested very much.)
|
|
- add dependencies to makefiles
|
|
- logging code moved into a separate file, logio.cc
|
|
- new option --enable-slowdown-timer, by Greg Alexander, which kicks in if
|
|
Bochs simulation time starts to run faster than real time. This helps to
|
|
keep the Bochs clock in sync with the real clock when the CPU is mostly
|
|
idle.
|
|
- new option --enable-iodebug, by Dave Poirier, which creates an I/O
|
|
interface to the debugger. This lets you write software to be emulated
|
|
in Bochs which can turn on instruction, register, or memory tracing
|
|
using I/O accesses.
|
|
- improved detection of readline in configure script
|
|
- configure substitutes the version number into many files, instead of
|
|
using sed in the makefile. There are still a few uses of sed remaining.
|
|
- you can now use environment variables in bochsrc values. For example,
|
|
diskd: file="$BOCHS_IMG/diskd.img", cyl=615, heads=6, spt=17
|
|
- configure with --prefix=PATH works now
|
|
- running configure from a different directory works now, thanks to
|
|
a patch from Edouard G. Parmelan
|
|
- fix [ #433759 ] virtual address checks can overflow.
|
|
> Bochs has been crashing in some cases when you try to access data which
|
|
> overlaps the segment limit, when the segment limit is near the 32-bit
|
|
> boundary. The example that came up a few times is reading/writing 4 bytes
|
|
> starting at 0xffffffff when the segment limit was 0xffffffff. The
|
|
> condition used to compare offset+length-1 with the limit, but
|
|
> offset+length-1 was overflowing so the comparison went wrong.
|
|
- cmpxchg8b patch from Michael Hohmuth <hohmuth@innocent.com>
|
|
- apply patch from Thomas Fitzsimmons <fitzsim@cygnus.com> to fix compile
|
|
problems when BX_SUPPORT_PAGING and BX_USE_TLB are turned off
|
|
- fix bug introduced in 1.2.1 which caused spurious exceptions.
|
|
See patch #439314, Exception 1 (debug) on HALT, from
|
|
thomas.petazzoni@meridon.com.
|
|
- add panic in ctrl_xfer32.cc where the IRET32 implementation is broken.
|
|
This only happens if you are NOT in vm8086 mode or protected mode.
|
|
The intent is to warn people when they are getting bad emulation, and
|
|
encourage people to report how they got to that point.
|
|
- apply patch from Santiago Bazerque. See this bug report:
|
|
[ #463018 ] retf not removing parameters sometimes
|
|
- fix bug [ #461730 ] IRETD causes problems if NT-flag is set
|
|
reported by Peter Lammich.
|
|
- apply patch [ #455014 ] CR0 bug in 80486, described as:
|
|
> In the register CR0, when the bit PM is enabled, the bit 4 is 0
|
|
> when should be 1.
|
|
- apply patch from Mike Rieker <mrieker@o3one.org> associated with this bug
|
|
report: [ #480422 ] gdt 'accessed' bit
|
|
- in task_switch when it tried to ensure that the old TSS was paged in,
|
|
it actually used the new TSS address, fixed.
|
|
- updated the instrumentation code, and added a working example. To try
|
|
it, configure --enable-instrumentation=instrument/example1. Then when
|
|
you run bochs, you will get one line for each instruction PC and for
|
|
each I/O access in a new file called bxevent.txt.
|
|
- set a bit in the CMOS that says the processor has an FPU. This is
|
|
from patch [ #455006 ] Device byte is not initialized aptly.
|
|
Author did not leave their name.
|
|
- add logging code to the "null ethernet" which does not require host OS
|
|
support. All this does is print the outgoing packets from the guest OS.
|
|
- cleanup of log functions (Todd Fries)
|
|
- add BX_ERROR for every command in ATAPI-6 that bochs does not support.
|
|
I still need to do add some commands from older specs that are obsolete
|
|
(and not listed) in ATAPI-6. Commands that aren't in the spec will still
|
|
panic.
|
|
- only put 0xf into the 2nd hard disk field when the cdrom is not present.
|
|
This is a patch from Volker Ruppert <Volker.Ruppert@t-online.de>, who
|
|
comments: "The fdisk command reports an unusable second harddisk if the cdrom
|
|
is enabled. This patch helps, but I don't know if it is the right way."
|
|
- make hard disk code return error codes when data is not available instead
|
|
of just panicing. In particular, if the logical sector is out of bounds
|
|
or the disk image cannot be read/written at the desired offset, we now
|
|
abort the ATA command and return an error code. Many of the old BX_PANIC
|
|
messages are turned to BX_ERROR, so they will still appear in the
|
|
log, but now the device model will try to communicate this fact to
|
|
the OS instead of simply giving up.
|
|
- don't blindly reject odd length atapi commands. There are cases when
|
|
it's really ok according to ATA-4.
|
|
- for big endian machines, reversed the bit fields in interrupt_reason.
|
|
This was pointed out by Nicholai Benalal.
|
|
- extended keyboard improvements by Dave Poirier
|
|
- major mouse patch from Dave Spring, that implements several missing
|
|
mouse modes.
|
|
- commit keyboard patch from David Haslam <dch@sirius.clara.co.uk>
|
|
posted to mailing list, that addresses the problem of each key press
|
|
printing ^@. See cvs log for details.
|
|
- mouse performance fixes by Greg Alexander and Robb Main
|
|
- NE2000 fixes by Frode Vatvedt Fjeld, ecelca@yahoo.com, Greg Alexander,
|
|
and angelos@openbsd.org.
|
|
- fix bug [ #468340 ] pic:slave: OCW3 not implemented. Some event handling
|
|
code appeared in the master pic but not the slave pic.
|
|
- fix compile problems in SB16 code, related to fpos_t being treated as
|
|
an integer.
|
|
- patch from Volker Ruppert <Volker.Ruppert@t-online.de> to fix
|
|
midi output file so that winamp can play it.
|
|
- some cleanup of serial code by Todd Fries and Volker Ruppert, but it
|
|
doesn't work yet.
|
|
|
|
X Windows specific:
|
|
- commit patch from David Haslam <dch@sirius.clara.co.uk>
|
|
[ #455763 ] Cursor trail with DOS Edit/Minix vi
|
|
- error for missing fonts now points to the documentation
|
|
- new option --enable-idle-hack, by Roland Mainz, which makes Bochs more
|
|
friendly toward other processes when its CPU is idle. Presently,
|
|
this option is specific to X windows.
|
|
|
|
Win32 specific:
|
|
- now Windows 95/98/ME can read the physical cdrom (Don Becker)
|
|
- The default configuration for Win32 VC++, given in .conf.win32-vcpp,
|
|
now enables the NE2000 and renames all .cc files to .cpp. This keeps VC++
|
|
happy but may make it hard to use CVS.
|
|
- The default configuration for Cygwin, given in .conf.win32-cygwin, now
|
|
enables cdrom and SB16.
|
|
- See "new docs" on the web site for compile instructions for VC++ and Cygwin.
|
|
- The sources include a VC++ workspace, in addition to the old "nmake"
|
|
makefile.
|
|
- ethernet support (emulated NE2000 card), coded by Don Becker. This
|
|
implementation requires a library called WinPCap, which you can
|
|
download from http://netgroup-serv.polito.it/winpcap.
|
|
- new utility called niclist.exe which lists the ID number of all your network
|
|
cards (well probably you just have one). The ID be used when setting up your
|
|
.bochsrc.
|
|
- patch [ #466403 ] make text colors more accurate. The author did not leave
|
|
his/her name.
|
|
- fix GUI bug [ #452159 ] win32: mouse stuck if bochs win partly off screen
|
|
Now we center the mouse periodically, whether or not the mouse has
|
|
wandered outside of the window or not.
|
|
- event handler recognizes the extended keycode flag
|
|
- fixes for raw floppy and floppy disk images (Don Becker)
|
|
|
|
Linux specific:
|
|
- Ethernet (emulated NE2000 card) now works in Linux! Contributed by
|
|
splite@purdue.edu. This has been tested using host OS kernel 2.2.14, and
|
|
works with telnet, ftp, irc, lynx, etc. Because it is a packet filter
|
|
solution, you aren't able to talk to the host machine, only to other
|
|
machines on the network.
|
|
- The default configuration for Linux, given in .conf.linux, now enables
|
|
the NE2000 model.
|
|
- RPM build process configures with --prefix=/usr so that everything is
|
|
installed in /usr/bochs instead of /usr/local/bochs.
|
|
- DLX Linux disk image is now installed so that only root can write it, to
|
|
avoid security problems. When you run the bochs-dlx script, it creates a
|
|
local copy in your home directory and then runs it.
|
|
- code that determines the capacity of a cdrom now works for both ATAPI
|
|
and SCSI drives (splite@purdue.edu)
|
|
- applied patch from bochs@sigint.cs.purdue.edu. The comments are:
|
|
> The Linux 2.4.5 CD-ROM driver sends a READ_DISC_INFO command which caused
|
|
> an "unrecognized ATAPI command" panic. Looks like READ_DISC_INFO is only
|
|
> recognized by CD-R and CD-RW drives, so I ignore it for now.
|
|
|
|
Amiga MorphOS specific:
|
|
- Bochs now compiles and works on Amiga MorphOS. Configure with
|
|
--with-amigaos. For AmigaOS only, see .bochsrc for use of fullscreeen and
|
|
screenmode options. The Amiga MorphsOS is written and maintained by
|
|
Nicholai Benalal <nicholai@chello.se>.
|
|
- raw cdrom supported if you configure with --enable-cdrom
|
|
|
|
BeOS specific:
|
|
- Bochs compiles and works on BeOS. Configure with --with-beos.
|
|
Bernd Thorsten Korz <bernd.korz@insidebeos.de> maintains the BeOS port.
|
|
- raw cdrom supported if you configure with --enable-cdrom
|
|
|
|
MacOS X specific:
|
|
- Bochs now compiles and works on MacOS X. Configure with --with-carbon.
|
|
Emmanuel Mailliard <e.rsz@libertysurf.fr> ported the Macintosh code to the
|
|
Carbon API.
|
|
- The MacOS X application is built using (gasp) mkdir, copy, and rez.
|
|
Surely this is not the right way, but it works.
|
|
- raw cdrom supported if you configure with --enable-cdrom
|
|
|
|
RFB mode:
|
|
- apply patch.rfb-mouse by MURANAKA Masaki (monaka@users.sf.net)
|
|
see this source forge bug [ #457968 ] Strange mouse motion on RFB
|
|
- add a retry loop in RFB code, so that if port 5900 is not available
|
|
it can try 5901, etc.
|
|
|
|
Bochs Debugger:
|
|
- do a vga update whenever you print a debugger prompt.
|
|
- added debugger command "info fpu" that prints the FPU registers. If you
|
|
do "info all" you get cpu and fpu registers.
|
|
- added debugger command "info ne2k" which prints all the registers
|
|
of the NE2000 model
|
|
- add ability to do register tracing and flag tracing (Dave Poirier).
|
|
Try the trace-reg-on and trace-reg-off commands.
|
|
- instruction trace now includes time ticks
|
|
- fixed problems in which bochs compiled with debugger measured time
|
|
differently from bochs compiled without debugger. Also when instruction
|
|
trace was enabled, breakpoints and control-C did not work. Also,
|
|
breakpoints at the beginning of an interrupt handler did not work.
|
|
|
|
-------------------------------------------------------------------------
|
|
Changes in 1.2.1 (June 12, 2001):
|
|
- more work on makefile for building RPMs
|
|
- [ #432382 ] build debian packages patch
|
|
add build/debian directory from Rob Lemley <rjlemley@calypsoblue.org>
|
|
which allows us to make Debian packages!
|
|
- optimize for speed when simulating one processor. Now 1-processor
|
|
performance should be equivalent to 1.1.2.
|
|
- [ #425640 ] sb16 assumes fpos_t is long int
|
|
This fixes compiles of iodev/sb16.cc on linux systems with newer libraries
|
|
in which fpos_t is not an integer.
|
|
- [ #432488 ] SMP:assert "n_logfn < MAX_LOGFNS" fails
|
|
increase MAX_LOGFNS since we ran out of them on an SMP simulation with
|
|
4 processors
|
|
- changes to compile clean on cygwin:
|
|
- don't use the WIN32 snprintf define for cygwin
|
|
- add ssize_t definition for cygwin
|
|
- only compile "struct timeval tval" if select is available
|
|
on that platform.
|
|
- [ #432491 ] SMP: CPUID says no APIC feature
|
|
clean up inconsistent use of BX_SUPPORT_APIC and BX_APIC_SUPPORT, which
|
|
caused the CPUID to report no APIC was present
|
|
- [ #431025 ] --enable-external-device-models broken
|
|
removed configure options for external-device-models and
|
|
external-cpu-memory. These don't work and aren't going to be fixed.
|
|
- [ #429448 ] configure: -lreadline when not there
|
|
Now configure allows you to choose not to use readline, even if it's found
|
|
on your system.
|
|
- [ #428915 ] apply extended keyboard patch
|
|
extended keyboard patch by Dave Poirier <eks@void-core.2y.net>
|
|
- [ #428626 ] if no X11 found, configure&make fails
|
|
Now configure halts if X windows is selected but no X libraries are found.
|
|
- updated rombios to version 1.13. This fixes several problems:
|
|
- [ #430472 ] DOS HIMEM "A20 line" error
|
|
This problem was apparantly caused when Bryce added a function that prints
|
|
the BIOS version, and he called it too early in the boot process. Now the
|
|
same function is called later, and it doesn't break the A20.
|
|
- [ #431010 ] SMP structure overwritten in v1.2
|
|
SMP structures were getting overwritten by BCC-generated data,
|
|
preventing SMP operating systems from detecting that other processors
|
|
were available.
|
|
- [ #431016 ] bios: SMP struct has wrong entry count
|
|
SMP structure had the wrong entry counts
|
|
- very minor doc updates (typos, replace broken link to mtools info)
|
|
- quit when the user clicks the power button, even if they have disabled
|
|
panics.
|
|
- win32 now defaults to having mouse capture mode turned off. For new users,
|
|
it would be distressing for their mouse cursor to disappear until they
|
|
pressed F12.
|
|
- [ #428222 ] vga font not installed
|
|
added script called "install-x11-fonts" which should help people install
|
|
the VGA font on X windows systems, if it isn't already there.
|
|
|
|
Changes in 1.2 (June 3, 2001):
|
|
- [ #427259 ] rombios HALT calls don't print
|
|
Fixed bios/rombios.c HALT macro so that it writes the line number of the
|
|
panic to the PANIC_PORT (port 0x400) and then does NOT do a halt
|
|
instruction. Also changed iodev/unmapped.cc so that the line number written
|
|
to PANIC_PORT is displayed as a BX_PANIC message. Because the HALT
|
|
macro now triggers the normal panic behavior, it can be controlled by
|
|
the bochsrc.
|
|
- [ #429016 ] crash if no hard drive
|
|
rombios used to call HALT macro if no hard drive was found. Now it only
|
|
calls HALT if a hard drive has an illegal geometry.
|
|
- [ #425388 ] include source for simple disk img tool
|
|
[ #428478 ] mkimg tool creates image 1 byte too big
|
|
Added bximage tool, which makes empty floppy and hard disk images.
|
|
It is now included in the top level Makefile, so it will get built
|
|
by default on all platforms.
|
|
- [ #426036 ] eth_fbsd.cc compile problem on solaris26
|
|
added configure test so that "configure --enable-ne2000" only
|
|
includes the Berkeley Packet Filter code (eth_fbsd) if the header
|
|
file <net/bpf.h> can be found. If you don't have BPF the ne2000
|
|
will not actually move packets, but at least it will compile clean now.
|
|
- [ #428214 ] 1.2.pre1 need documentation for binaries
|
|
Write windows and linux specific documentation to be installed in
|
|
binary releases.
|
|
- [ #429258 ] disable RESET for version 1.2
|
|
Since soft reset was not completely working, I reverted the reset patch.
|
|
Now it does panics on reset instead of trying to reboot, as the old
|
|
bochs versions did.
|
|
- [ #428222 ] Should the linux RPM install vga font?
|
|
now font/vga.pcf will be installed in the RPM package
|
|
- [ #429020 ] stop renaming the BIOS!!!
|
|
new BIOS changes are now in BIOS-bochs-latest, instead of a BIOS
|
|
whose name changes every time we change anything! To help distinguish
|
|
different BIOS versions, the BIOS now prints its RCS Id into the
|
|
log file.
|
|
- [ #428625 ] compile problem if SHOW_IPS is on
|
|
removed extra paren that broke SHOW_IPS
|
|
- [ #428219 ] PCI doesn't compile with SMF=1
|
|
- [ #429375 ] pthreads detection broken
|
|
- [ #429073 ] configure: if no X11, makes bad config
|
|
- [ #429229 ] install current .bochsrc in binary rels
|
|
- install Tim's man pages on linux RPM
|
|
- BIOS prints messages in log in case of boot failure
|
|
- rewrote instructions for compiling in win32 (win32.txt)
|
|
- fixed link in HTML changelog.html to point to the real sources on SF.
|
|
- added missing LOG_THIS definition to gui/nogui.cc and gui/rfb.cc
|
|
- added additional check for null pointer in debugger exit routine
|
|
- added diskd to .bochsrc
|
|
|
|
Changes in version 1.2-pre1 (May 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, May 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, April 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, April 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.
|
|
|