o) SuperH (SH4) emulation is now somewhat more stable.
x) GXemul 0.4.4: A NetBSD/dreamcast Live CD works.
x) GXemul 0.4.4.1: A Linux/dreamcast Live CD also works.
o) PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
run from a disk image. (Installing actually worked before, but the
NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
not implemented correctly.)
o) The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
it is at least better than before (when the timer wasn't really
running at any specific speed at all).
PPF (PlayStation Patch File) is a tool dedicated to all PlayStation
coders and developers out there who are creating PAL/NTSC patches,
trainer options and even cracks for your favourite console system.
With the files in the PPF package you are in the position to make
patchfiles similar to IPS on SuperNES.
This package contains a tool to create PPF patches.
PPF (PlayStation Patch File) is a tool dedicated to all PlayStation
coders and developers out there who are creating PAL/NTSC patches,
trainer options and even cracks for your favourite console system.
With the files in the PPF package you are in the position to make
patchfiles similar to IPS on SuperNES.
- Many Direct3D fixes and performance improvements.
- More comctl32 tests and some bug fixes.
- Compatibility improvements in cmd.exe.
- Still more fixes to builtin OLE.
- Support for process control on Solaris.
- Lots of bug fixes.
(see his ILVSUN3 page http://www.ilvsun3.com/ for more details),
and some others are from skrll and me.
patch-ab: (from skrll)
fix an invalid pointer cast for -fstrict-aliasing
patch-a[cijklmn]: PR pkg/34113 (by me)
- specify -fno-strict-aliasing in Makefiles (for workaround)
- add several casts to appease -Wpointer-sign
- remove a static decl from a global function
- add a cast and remove unused variable
patch-ap: (from Arthur, tweaked by me)
disable "cannot generate keysym" warnings on tmesh startup
patch-aq: PR pkg/33969 (from Arthur)
TME sun3 emulator incorrectly emulates cmp2 and chk2 M68K instructions
patch-ar: PR pkg/34538 (from Arthur)
TME sun3 emulator incorrectly calculates EA with immediate mode
instructions with PC indirect 16-bit displacement addressing
patch-aw: PR pkg/35010 (from Arthur)
sun3 emulator asserts when using stdin/stdout for emulated serial console
patch-ax: PR pkg/35009 (from Arthur)
TME sun3 emulator asserts when running two emulators with ethernet
patch-az: PR pkg/35305 (from Arthur, with some minor tweaks by me)
TME sun3 emulator incorrectly emulates ethernet obie & i825x6 hardware
patch-ba: PR pkg/35309 (from Arthur)
TME sun3 emulator, running without a window manager,
overwrites tmesh prompt
patch-bb: PR pkg/34690 (from Arthur, modified by me)
TME sun3 emulator incorrectly performs: movel sp,-(sp)
(also modify m68k-insns-auto.sh to mark cas instructions CANFAULT)
patch-bc: PR pkg/34571 (from Arthur, modified by me)
TME sun3 emulator doesn't consider floating point infinities to be equal
patch-bd: (by me)
- avoid invalid 32 bit shifts in fb-xlat-auto.sh,
which may cause broken screen fonts when tme is compiled with gcc4
patch-be: (by me)
fix decoding cas instructions
Makefile: (by me)
- add some CONFIGURE_ARGS to avoid invalid shifts more than
(or equal to) variable sizes, which could be problematic on gcc4
- bump PKGREVISION
texi2dvi and texi2html exist, so that configure believes that
the documentation is wanted. Afterwards just patch the Makefile
to not really use those as intended according.
- Many Direct3D fixes and performance improvements.
- Several new features in the builtin cmd.exe.
- Improvements to HTML help support.
- Lots of bug fixes.
01/01/2007 *** v2.31 ***
- Uses DatLib v2.20.
- Added 'prune' option (-p) for removing roms, disk and/or samples
- Added 'incorporate' option (-I) to assist in combining datafiles
17/10/2006 *** v2.30 ***
- Uses DatLib v2.18.
- More intelligent DTD creation when saving in ListXML format
- Added support for game/display (MAME v0.107)
- Added support for game/input/control (MAME v0.107)
- Added support for emulator/build (MAME+MESS v0.101u4 upwards)
- Added support for driver/savestate (MAME v0.101u1 upwards)
- Note: The above changes affect the tab delimited format!
- Added 'delimited.sql' as an example of loading dats into MySQL
16/07/2006 *** v2.29 ***
- Uses DatLib v2.17.
- Fixed bug that caused the DatUtil -g and -r options to crash
11/07/2006 *** v2.28 ***
- Uses DatLib v2.16.
- Fixed bug that messed up internal indices (affected crc matching)
- More intelligent directory scanner (regarding samples and CHDs)
- Removed 64MB file limit from directory scanner (reads 1MB blocks)
01/01/2007 *** v2.20 ***
- Added 'prune' feature for removing roms, disk and/or samples
- Added 'incorporate' feature to assist in combining datafiles
30/12/2006 *** v2.19 ***
- Internal change that only affects MAMEDiff (see note below)
- Improved -dX modes (understands merging despite differing names)
17/10/2006 *** v2.18 ***
- More intelligent DTD creation when saving in ListXML format
- Added support for game/display (MAME v0.107)
- Added support for game/input/control (MAME v0.107)
- Added support for emulator/build (MAME+MESS v0.101u4 upwards)
- Added support for driver/savestate (MAME v0.101u1 upwards)
- Note: The above changes affect the tab delimited format!
16/07/2006 *** v2.17 ***
- Fixed bug that caused the DatUtil -g and -r options to crash
11/07/2006 *** v2.16 ***
- Fixed bug that messed up internal indices (affected crc matching)
- More intelligent directory scanner (regarding samples and CHDs)
- Removed 64MB file limit from directory scanner (reads 1MB blocks)
Or1ksim is a generic OpenRISC 1000 architecture simulator capable of
emulating OpenRISC based computer systems. Or1ksim provides several
unique features:
* Free, open source code
* High level, fast, architecture simulation that allows early code
analysis and system performance evaluation
* All major models of OpenCores peripheral and system controller
cores supported
* Easy addition of new peripheral models
* Remote debugging through a network socket with the GNU Debugger (GDB)
* Support for different environments (memory configurations and
sizes, OR1K processor model, configuration of peripheral
devices)
Changes between release 0.4.3 and 0.4.4 include, among other things:
o) The interrupt subsystem has been redesigned. This means two things:
x) Internal code cleanup, which makes the whole emulator more
maintainable. Instead of using magically encoded integers
for interrupts, strings are now used. These strings are in
the form of "paths", so that devices and busses can more
easily be connected to other busses, devices, or CPUs.
x) Some machine types which happened to work in release 0.4.3,
but were not listed in the documentation as working, may
have stopped working now. As always, the documentation should
indicate the combinations of machine modes and guest OSes that
are supposed to work.
o) SuperH (SH4) emulation is now somewhat more stable, enough to let a
NetBSD/dreamcast Live CD be usable.
o) PowerPC "G4" emulation is now stable enough to let NetBSD/macppc
run from a disk image. (Installing actually worked before, but the
NetBSD/macppc GENERIC kernel uses AltiVec instructions which were
not implemented correctly.)
o) The PICA-61 (arc) and i80321 (evbarm) emulation modes now have their
timers fixed at 100 Hz. A hardcoded speed like this is very ugly, but
it is at least better than before (when the timer wasn't really
running at any specific speed at all).
- Many Direct3D fixes and performance improvements.
- Several new comctl32 test cases.
- IDL compiler improvements.
- More OLE32 marshalling fixes.
- Lots of bug fixes.
* Changes in VICE 1.20
======================
** General
----------
- New GP2X port.
- New AmigaOS3, AmigaOS4, MorphOS and AROS (x86/ppc) ports.
- Mac OSX X11 port is included in the main distribution now.
- Fixed some unusual CPU opcodes.
** C64 changes
--------------
- Fixed some longstanding RMW to IO area VIC-II DMA timing bug.
- Added Mikro Assembler, Dela EP7x8, Dela EP256 and Rex EP256
cart support.
- Fixed the KCS cart emulation.
- Added swiftlink and turbo232 support.
- Added +256k memory expansion support.
- Added I/O source read collision detection support, making
simultanious use of multiple expansions possible, like on
the real machine.
- Fixed the RR-net address decoding and REU compatibility.
- Fixed a problem with traps using the SX Kernal ROM.
- Some IDE64 ultimax bug has been fixed.
** PET changes
--------------
- Added 128kb REU memory expansion support.
** PLUS4 changes
----------------
- Added 256k csory memory expansion support.
- Added 256k, 1024k and 4096k hannes memory expansion support.
** Unix changes
---------------
- Gnome1 is no longer supported.
- Gnome2 is now supported - everthing except the Image preview with
CBM font should work.
- Gnome 2 port supports dimmable drive LED now.
- Added experimental ParSID support.
- Added support for minix3.
- Fixed some compile problems with the ffmpeg library.
** MS-Windows changes
---------------------
- Added experimental ParSID support.
** MS-DOS changes
-----------------
- Added experimental ParSID support.
** Mac OSX X11 changes
----------------------
- Added support for Intel build.
- Added USB joystick support.
** Miscellaneous changes
------------------------
- Added support for more 3rd party basic extenders to petcat.
- Added a c64/c128 cartridge conversion program (cartconv).
- Added binary distribution (package) creation functionality.
- Fixed a bug in the trap emulation with caused programs probing
devices on the IEC bus to fail.
- Lots of small fixes to the monitor.
- Many improvements to Direct3D shaders and state management.
- Support for inter-process memory allocations.
- OLE32 marshalling fixes.
- Lots of bug fixes.
Included are three new patches to make it compile with gcc4, to
fix a bug in an emulated instruction and to increase the memory
size of the emulated system.
2006-10-27 Hartmut Brandt <harti@freebsd.org>
* version 2.10i
* Remove rl debugging prints
* Fix a problem with IE in the TM CSR (submitted by Mike Haertel)
* get rid of float_t - all *_t identifiers are reserved by posix!
2002-09-03 Hartmut Brandt <brandt@fokus.gmd.de>
* rename libdir to libpath
* libdir is now a colon separated path of directories that
defaults to :/etc:${datadir}/p11
* implement an accessp() predicate to apply access(2) in a list
of directories
* further tweaks to the rpm spec file
2002-09-02 Hartmut Brandt <brandt@fokus.gmd.de>
* p11.spec, p11.sh and some tweaks to build rpms.
2002-08-14 Hartmut Brandt <brandt@fokus.gmd.de>
* main.c: implement daemonizing by specifying the -d option.
* spot a gcc-3.1 error: Use of global registers generates bad
code on the i386 for the MTPI instruction.
Use --disable-regs for these platforms.
2002-03-07 Hartmut Brandt <brandt@fokus.gmd.de>
* float.h (FrExp): the result of this macro should be signed, so
make the exponent signed before subtracting the offset.
Spotted by: Frank Wortner
* proc.h: include <time.h> to get localtime declaration. Spotted by:
imil@home.imil.net.
* README: Add MacOS-X 10.1. Reported by: Christian Groessler.
2001-06-19 Hartmut Brandt <brandt@fokus.gmd.de>
* float.h (GetMant): Replace a u_quad_t by u_xquad_t.
* README: Add Slackware 7.1
Reformat paragraph.
- More work on the new Direct3D state management.
- Debugger support for Mac OS.
- Many OLE fixes and improvements.
- Audio input support on Mac OS.
- Lots of bug fixes.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
- OpenGL in child windows should work again.
- Better mouse support in games.
- Beginnings of new state management in Direct3D.
- Improved audio and font support on Mac OS.
- Lots of bug fixes.
or USE_X11BASE set, but don't include mk/x11.buildlink3.mk directly or
via buildlink3.mks
- introduce BUILDLINK_PREFIX.libXpm as alias for BUILDLINK_PREFIX.xpm
in the !modular case
- fix some cases where the check for libX11 couldn't work at all by using
C++ for compilation without including the proper headers
Verified using a full X11_TYPE=xorg bulk build without additional
breakage. Discussed with salo@, wiz@ and send to packages@ for feedback.
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
Changes in 2.3 (August 27, 2006):
Brief summary :
- limited save/restore support added (config + log options, hardware state)
- configuration parameter handling rewritten to a parameter tree
- lots of cpu and internal debugger fixes
- hard disk geometry autodetection now supported by most of the image types
- hard disk emulation now supports ATA-3 (multiple sector transfers)
- VBE memory size increased to 8MB and several VGA/VBE fixes
- updated LGPL'd VGABIOS to version 0.6a
Detailed change log :
- CPU and internal debugger fixes
- Fixed bug in FSTENV instruction (Stanislav Shwartsman)
- Recognize #XF exception (19) when SSE is enabled
- Fixed bug in PSRAW/PSRAD MMX and SSE instructions
- Save and restore RIP/RSP only for FAULT-type exceptions, not for traps
- Correctly decode, disassemble and execute multi-byte NOP '0F F1' opcode
- Raise A20 line after system reset (Stanislav Shwartsman)
- Implemented SMI and NMI delivery (APIC) and handling in CPU (Stanislav)
- Experimental implementation of System Management Mode (Stanislav)
- Added emulation of SSE4 instructions (Stanislav Shwarstman)
- Save and restore FPU opcode, FIP and FDP in FXSAVE/FRSTOR instructions
- Fixed bug in MOVD_EdVd opcode (always generated #UD exception)
- Fixed critical issue, Bochs was not supporting > 16 bit LDT.LIMIT values
- Many fixes in Bochs debugger and disassembler
- CPU x86-64 fixes
- Fixed SYSRET instruction implementation
- Fixed bug in CALL/JMP far through 64-bit callgate in x86-64 mode
- Correctly decode, disassemble and execute 'XCHG R8, rAX' instruction
- Correctly decode and execute 'BSWAP R8-R15' instructions
- Fixed ENTER and LEAVE instructions in x86-64 mode (Stanislav)
- Fixed CR4 exception condition (No Name)
- Fixed x86 debugger to support x86-64 mode (Stanislav)
- APIC and SMP
- Support for Dual Core and Intel(R) HyperThreading Technology. Now you
could choose amount of cores per processor and amount of HT threads per
core from .bochsrc for SMP simulation (Stanislav Shwartsman)
- Allow to control SMP quantum value through .bochsrc CPU
option parameter. Previous Bochs versions used hardcoded quantum=5
value.
- Fixed interrupt priority bug in service_local_apic()
- Fixed again reading of APIC IRR/ISR/TMR registers. Finally it becomes
fully correct :-)
- Configure and compile
- Moved configure time --enable-reset-on-triple-fault option to runtime,
the 'cpu' option in .bochsrc is extended and the old configure option
is deprecated (Stanislav Shwartsman)
- Removed --enable-pni configure option, to compile with PNI use
--enable-sse=3 instead (Stanislav Shwartsman)
- enable SEP (SYSENTER/SYSEXIT) support by default for Penitum II+
processor emulation (i.e. if cpu-level >= 6 and MMX is enabled)
- general
- Limited save/restore support added. The state of CPU, memory and all
devices can be saved now (state of harddisk images not handled yet).
- Fixed several memory leaks
- configuration interface
- Configuration parameter handling rewritten to a parameter tree. This is
required for dynamic menus/dialogs, user-defined options and save/restore.
- Support for user-defined bochsrc options added
- help support at the parameter prompt in textconfig added
- I/O devices (Volker)
- Floppy
- partial sector transfers fixed
- Hard drive / cdrom
- several fixes to the IDE register behaviour (e.g. in case of a channel
with only one drive connected)
- fixed data alignment of 'growing' hard drive images (sharing images
between Windows and Linux now possible)
- disk geometry autodetection now supported by most of the image types
(unsupported: external, dll and compressed modes)
- multi sector read/write commands implemented
- hard disk now reporting ATA-3 supported
- ATAPI 'inquiry' now returns a unique device name
- Keyboard
- reset sent to keyboard has no effect on the 8042 (scancode translation)
- PCI
- forward PIRQ register changes to the I/O APIC (if present)
- attempt to fix and update the emulation part of 'pcidev' (untested)
- VGA
- VBE memory size increased to 8MB and several VBE fixes
- VGA memory read access fixed (bit plane access and read mode)
- VGA memory is now a part of the common video memory
- System BIOS (Volker)
- enable interrupts before executing INT 19h
- fixed ATA device detection in case of one drive only connected to controller
- improved INT 15h function AX=E820h
- real mode PCI BIOS now returns IRQ routing information (function 0Eh)
- keyboard LED flags handling fixed and improved
- fixed handling of extended keys in INT 09h
- Updated LGPL'd VGABIOS to version 0.6a
- SF patches applied
[1340111] fixes and updates to usb support by Ben Lunt
[1539420] minor addition to pci_usb code by Ben Lunt
[1455958] call/jmp through call gate in 64-bit mode
[1433107] PATCH: fix compile with wxwindows 2.6 (unicode / utf8) by jwrdegoede
[1386671] Combined dual core and hyper-threading patch
- these S.F. bugs were closed
[833927] TTD: System Error TNT.40025: Unexpected processor exception
[789230] Sending code that shows lock up when setting idt
[909670] Problems with Symantec Ghost
[1540241] include missing in osdep.cc
[1539373] Incorrect disasm for "mov moffset,bla" in 64bit
[1538419] incorrect disassembly of [rip+disp] with rex.b
[1535432] shift+cursor key maps to a digit
[1504891] Knoopix 5.0.1 error
[1424355] bochs-2.2.6 ata failure in windoze 98se
[1533979] wrong disassembly of IN instruction
[620059] paste won't stop
[1164904] status bar doesn't show num/caps/scroll lock status
[1061720] ATA Support level for HD
[1522196] Broken CHANGES link in main page
[1438415] crash if screen scrolled downwards
[778441] Shouldn't interrupts be enable after BIOS?
[1514949] I got a problem with the 8253 timer
[1513544] disasm of 0xec (in AL,DX) returns ilen of 2 instead of 1
[1508947] APIC interrupt priority checking and interrupt delivery
[766286] Debugger halts after any GPF exception
[639143] va_list is not a pointer on linuxppc
[1501815] debugger examines memory over page-boundary wrong
[1503978] movsb/w/d doesn't work when direction is stored
[1499405] WinPCap has changed URL hosting
[1498519] APIC IRR bits not set while interrupts disabled
[1498193] Bochs segfaults on LTR instruction
[787140] Guest2HostTLB optimization bug
[1492070] instrument stop
[1487772] No SEP on P4
[1488335] Growing hard disk images severe interoperability errors!
[1076312] Shadow RAM and TLB
[1282249] The real i440FX chipset Award bios hangs
[1479763] mistake "mov ax,[es:di]" for "mov ax,[ds:di]"
[1453575] Misconfigured floppy DMA transfers do not terminate.
[1460068] Incorrect handling for the Options Menu Item
[910203] bochs-2.1.1 wx.lo failed
[1438654] PANIC when trying to run install-amd64-minimal-2005.0.iso
[1458320] compile hdimage.h fails
[1455880] bochs-2.2.6,2: make error on FreeBSD
[696890] Network wouldn't run under W2k hosting MSDOS
[673391] SMP timer problems
[1291059] wxWindows GUI on non-windows/configure issue
[1356450] bochs 2.2.1 errors-omittions
[1178017] Win98 guest cannot receive network packets from host
[1076315] a20_mask after restarting
[1436323] real hw does not panic when bad Ib in CMPSS_VssWssIb
[1435269] cdrom_amigaos is not compilable
[1433314] disasm issues
[1170614] relative jumps/calls wrong in debugger
[758121] user might get confused when interrupt handler invoked
[1170622] You cannot toggle OFF "show" flags
[1406387] JMP instruction should display absolute address
[1428813] PANIC: ROM address space out of range
[1426288] DR-DOSs EMM386 problem
[1412036] Bochs cannot recognize PCI NIC correctly
[435115] dbg: modebp broken and no docs
[1419366] disasm cs:eip does not work anymore
[1419393] SSE's #XF exception -> "exception(19): bad vector"
[1419429] disassembly of "260f6f00" show DS: instead of ES: prefix
[1417583] Interrupt behaviour changed from 2.2.1 to 2.2.5
[1418281] 'push' (6A) incorrectly disassembled
[1417791] FLDENV generating exception when real hw does not.
[1264583] OS/2 1.1 doesn't run
-------------------------------------------------------------------------
Changes in 2.2.6 (January 29, 2006):
- First major SMP release !
- several APIC and I/O APIC fixes make SMP Bochs booting Windows NT4.0
or Knoppix 4.0.2 without noapic kernel option in SMP configuration.
- critical APIC timer bug fixed
- obsolete SMP BIOS images removed (MP tables created dynamicaly)
- determine number of processors in SMP configuration through .bochsrc
new .bochsrc option 'CPU' allows to choose number of processors to emulate
- new configure option --enable-smp to configure Bochs for SMP support,
the old --enable-processors=N option is deprecated
- CPU and internal debugger fixes
- enabled #PCE bit in CR4 register, previosly setting of this bit
generated #GP(0) fault
- enabled LAHF/SAHF instructions in x86-64 mode
- fixed bug in PMULUDQ SSE2 instruction
- fixes in Bochs debugger
- Configure and compile
- enable VME (virtual 8086 mode extensions) by default if cpu-level >= 5
- enable Bochs disassembler by default for all configurations
- win32 installer script improvements
- ips parameter moved to new 'CPU' option
- show IPS value in status bar if BX_SHOW_IPS is enabled
- Other
- several fixes in the hard drive, keyboard, timer, usb and vga code
- new user button shortcut "bksl" (backslash)
- updated Bochs instrumentation examples
- user and development documentation improved
-------------------------------------------------------------------------
Changes in 2.2.5 (December 30, 2005):
Brief summary :
- added virtual 8086 mode extensions (VME) implementation
- several fixes/improvements in x86-64 emulation, debugger and disassembler
- new serial mode 'socket' connects a network socket
- IDE busmaster DMA feature for harddisks and cdroms completed and enabled
- many improvements in Bochs emulated I/O devices (e.g. floppy, cdrom)
- Updated LGPL'd VGABIOS to version 0.5d
Detailed change log :
- CPU
- fixed XMM registers restore in FXRSTOR instruction (Andrej Palkovsky)
- print registers dump to the log if tripple fault occured
- fixed PANIC in LTR instruction (Stanislav)
- added virtual 8086 mode extensions (VME) implementation, to enable
configure with --enable-vme (Stanislav)
- flush caches and TLBs when executing WBINVD and INVD instructions
- do not modify segment limit and AR bytes when modifying segment
register in real mode (support for unreal mode)
- fixed init/reset values for LDTR and TR registers
- reimplemented hardware task switching mechanism (Stanislav)
- generate #GP(0) when fetching instruction cross segment boundary
- CPU (x86-64) (Stanislav Shwartsman)
- implemented call_far/ret_far/jmp_far instructions in long mode
- fixed IRET operation in long mode
- fixed bug prevented setting of NXE/FFXSR bits in MSR.EFER register
- implemented RDTSCP instruction
- do not check CS.limit when prefetching instructions in long mode
- fixed masked write instructions (MASKMOVQ/MASKMOVDQU) in long mode
- fetchdecode fixes for x86-64
- APIC
- Fixed bug in changing local APIC id (Stanislav)
- Fixed reading of IRR/ISR/TMR registers (patch by wmrieker)
- Implemented spurious interrupt register (Stanislav, patch by wmrieker)
- Fixed interrupt delivery bug (anonymous #SF patch)
- Correctly implemented ESR APIC register (Stanislav)
- Bochs debugger
- Fixed bug in bochs debugger caused breakpoints doesn't fire sometimes
(Alexander Krisak)
- watchpoints in device memory fixed (Nickolai Zeldovich)
- new debug interface to access Bochs CPU general purpose registers
with support for x86-64
- Disassembler (Stanislav Shwartsman)
- Fixed disassembly for FCOMI/FUCOMI instructions
- Full x86-64 support in disassembler. The disassembler module extended
to support x86-64 extensions. Still limited by Bochs debugger which
is not supporting x86-64 at all ;(
- I/O devices (Volker)
- general
- memory management prepared for large BIOS images (up to 512k)
- slowdown timer sleep rate fixed (now using 1 msec on all platforms)
- some device specific parameter handlers moved into the device code
- serial
- new serial mode 'socket' connects a network socket (#SF patch by Andrew Backer)
- hard drive / cdrom
- assign a unique serial number to each drive (fixes harddrive detection
problems with Linux kernels 2.6.x: "ignoring undecoded slave")
- geometry autodetection for 'flat' hard disk images added. Works with
images created with bximage (heads = 16, sectors per track = 63)
- ATAPI command 'read cd' implemented, some other commands improved
- cdrom read block function now tries up to 3 times before giving up
- emulation of raw cdrom reads added, some other lowlevel cdrom fixes
- IDE busmaster DMA feature for harddisks and cdroms completed and enabled
- disk image size limit changed from 32 to 127 GB
- split ATA/ATAPI emulation code and image handling code
- floppy
- fixes for OS/2 (patch by Robin Kay)
- disk change line behaviour fixed (initial patch by Ben Lunt)
- end-of-track (EOT) condition handling implemented
- more accurate timing for read/write data and format track commands using
a motor speed of 300 RPM
- timing of recalibrate and seek commands now depends on the step rate,
date rate and the steps to do
- floppy controller type changed to 82077AA
- cmos
- RTC 12-hour and binary mode implemented
- number of CMOS registers changed from 64 to 128
- bochsrc option 'cmosimage' improved
- save cmos image on exit if enabled
- speaker
- simple speaker support for OS X added (patch by brianonn@telus.net)
- pci
- BeOS boot failure fix in the PCI IDE code
- don't register i/o and memory regions during PCI probe
- vga
- memory allocation for vga extensions fixed
- usb
- some bugfixes by Ben Lunt (mouse and keypad are usable now)
- networking modules
- VDE networking module now enabled on Linux
- display libraries
- general
- new syntax for the userbutton shortcut string and more keys supported
- win32
- fixed keycode generation for right alt/ctrl/shift keys
- runtime dialog is now a property sheet
- x11
- simple dialog boxes for the "ask" and "user shortcut" feature implemented
- Slovenian keymap added (contributed by Mitja Ursic)
- configuration interface
- ask dialog is now enabled by default for win32, wx and x display libraries
- bochsrc option floppy_command_delay is obsolete now (floppy timing now based
on hardware specs)
- floppy image size detection now available in the whole config interface
- some device specific parameter handlers moved into the device code
- calculate BIOS ROM start address from image if not specified
- System BIOS (Volker)
- PCI i/o and memory base address initialization added
- several keyboard interrupt handler fixes (e.g. patch by japheth)
- several floppy fixes (e.g. OS/2 works with patch by Robin Kay)
- some more APM functions added
- Updated LGPL'd VGABIOS to version 0.5d
- generate SMP specific tables dynamicly by the Bochs memory init code
- SF patches applied
[1389776] Disk sizes over 64 Gbytes by Andrzej Zaborowski
[1359162] disasm support for x86-64 by Stanislav Shwartsman
[857235] task priority and other APIC bugs, etc by wmrieker
[1359011] build breaks for 386 + debugger + disasm by shirokuma
[1352761] Infinite loop when trying to debug a triple exception
[1311170] small APIC bug fix (interrupt sent to the wrong CPU)
[1309763] Watchpoints don't work in device memory by Nickolai Zeldovich
[1294930] change line status on floppy by Ben Lunt
[1282033] SSE FXRESTORE not working correctly by Ondrej Palkovsky
[816979] wget generalizations by Lyndon Nerenberg
[1214886] No more pageWriteStamp / unified icache by H. Johansson
[1107945] com->socket redirection support by Andrew Backer
- these S.F. bugs were closed
[669180] win95 install : unknown SET FEATURES subcommand 0x03
[1346692] bochs 2.2.1 VGA BIOS error
[1354963] floppy in KolibriOS
[1378204] error: bochs-2.2.1, --enable-sb16, --disable-gameport
[1368412] VDE problems in BOCHS
[533446] CPU and APIC devices appear twice
[1000796] bximage fails to create image of specified size
[1170793] Quarterdeck QEMM doesn't work
[923704] Multiple opcode prefixes don't reflect Trap 13
[1166392] DocBook/documentation issues
[1368239] broken grater than 4GB size of sparse type hd image
[1365830] i386 compile breaks on paging
[427550] Incomplete IRETD implementation
[1215081] MSVC workspace STILL not fixed
[736279] Jump to Task
[1356488] FD change fail & occur error
[957615] [CPU ] prefetch: RIP > CS.limit
[1353866] not booting linux-2.6.14
[1351667] load32bitOSImage does not work with --enable-x86-debugger
[1217476] Incorrect (?) handling of segment registers in real mode
[1184711] OS2 DOS crash [2.2.pre2]
[624330] support for disks > 32GiB
[1348368] bochs 2.2.1 bximage error
[1342081] Configuration Menu option failed
[1138616] OS/2 Warp 4 hangs when booting
[1049840] mouse and video conflict
[1164570] Unable to perform Fedora Core 4 test 1 installation
[1183201] Windows 2000 (MSDN build 2150?) does not completely install
[1194284] Can't boot from CD-ROM (Windows NT)
[962969] Windows NT crashes while trying to intall them.
[1054594] WinXP install halts (redo)
[1153107] Windows XP fails with BSOD on 'vga'
[938518] Win XP installation fails
[645420] getHostMemAddr vetoed direct read
[1179985] MS XENIX: >>PANIC<< VGABIOS panic at vgabios.c, line 0
[1329600] WBINVD and INVD should flush caches and TLB
[638924] eliminate BX_USE_CONFIG_INTERFACE
[1048711] Funny behaviour with CTRL
[1288450] keyboard BIOS error
[1310706] Keyboard - about key SHIFT
[1295981] Ubuntu 5.04 Live-CD won't boot in Bochs
[879047] APIC timer behavior different before reset and after
[1188506] I still can't install the german Windows XP!
[1301847] Windows XP dosn't boot - FXRSTOR problem ?
[661259] does not boot QNX under WinX
[924412] Keyboard lock states all whacked
[681127] MIPSpro compiler (IRIX) is allergic to ^M
[1285923] BIOS keyboard handler
[516639] ATA controller revisited...
[657918] does not boot BeOS under WinX
[649245] BeOS CD locks halfway on boot
[1094385] Attachment for bug 1090339 (beos failure)
[1183196] BeOS 4.5 developer CD does not install
[1090339] BeOS fails to boot
[639484] panics when int 13 is called
[711701] divide by zero
[704295] ATAPI/BIOS call missing
[682856] hard drive problems
[627691] Cursor keys problem
[588011] keyboard not working
[542260] os/2 warp crashes with floppy handling
[1273878] SB16 doesn't work in pure DOS
[542254] OS/2 FDC driver dies
[1099610] Windows 98 SE Does not install
[875479] cr3 problem on task switch
[731423] NE2000 causing PANIC on Win2K detection
[1156155] bochs fails to boot plan9 iso
[1251979] --enable-cpu-level=3 should assume --without-fpu
[1257538] Interupt 15h 83h - set wait event interval
[658396] Panic for DR DOS emm386
[679339] /? doesn't divulge Bochs command-line syntax
[1167016] call/jump/return_protected doesn't support x86-64
[1252432] Mac OS X compile bug
[881442] Bochs 2.1 PANIC when loading DOS Turbo Pascal protected mode
[1249324] Boch2.2.1 Buffer Overfollow in void bx_local_apic_c::init ()
[1197144] 'make install' has dependency on wget
[1079595] LTR:386TSS: loading tr.limit < 103
[1244070] Compilation Error in gui/rfb.cc
[761707] CPU error when trying to start Privateer
[517281] Crash running Privateer in DOS...
to handle this, but it is good (and simple!) enough for now. It'd be
improved by moving some more files around and trying to make it more
consistent with "regular" installs.
The problem is that the build results are completely different under OS X
than those produced in other systems.
Not bumping PKGREVISION because this was unbuildable before.
Changes between release 0.4.2 and 0.4.3 include, among other things:
o) SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast
GENERIC_MD (ramdisk) kernel reach userland.
o) There is now a simple framework for letting emulated clocks, as seen
by guest operating systems, run at the same speed as the host clock.
So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta
(evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes
use the new clock/timer framework.
o) Some changes to the way expressions are evaluated in the built-in
debugger, and some changes in command behaviour:
x) Expressions (including assignments) can now be arbitrarily
complex, using parentheses, and the following operators:
+ - * / % (modulo) ^ (xor) & (and) | (or)
x) Some internal emulator variables can now be read/written using
normal expressions. Examples of commands that did not work
earlier, but should work now:
print verbose
r5 = sp - arch_pagesize * 4
machine[0].statistics_enabled = 1
x) To force a name to be interpreted as a setting/register name,
a hash sign (#) is now used instead of the percentage sign (%).
(In the new expression evaluator, % means arithmetic modulo.)
x) The 'focus' command now also selects a cpu, in addition to
selecting machine and emul.
x) The 'reg' command only prints registers for one cpu now, not
all cpus in the currently focused machine.
o) The wdc (standard IDE controller) had a bug which prevented disk
images larger than 2 GB to work correctly. This has been fixed.
o) For MIPS emulation, some combinations of emulated processor + guest
operating system should now work better when idling (i.e. the host
should not run at 100% CPU):
x) For MIPS32/MIPS64 and RM5200, the 'wait' instruction should
now work more or less as expected.
x) For VR41xx (e.g. MobilePro) emulation, the standby instruction
should work like the 'wait' instruction.
x) For R3000 emulation, where there is no hardware wait instruction,
I've implemented "instruction combination" hacks for both
NetBSD/pmax and Debian/pmax, so that their cpu idle loops are
detected and treated almost as a wait instruction.
o) MIPS 64-bit address translation (X=1) was not fully working before;
TLB exception handling for xkseg and larger-than-2GB-userland should
now actually work. (Thanks to Juli Mallett and Carl van Schaik for
noticing these problems.)
o) The mouse cursor update routines in DECstation (LK201) emulation
previously used the fact that guest OSes set the _hardware_
cursor position. In order to support X Windows when emulating
modern versions of NetBSD/pmax, which don't set the hardware
position anymore, a workaround has been implemented which only
sends relative coordinates to the guest OS. This has two drawbacks:
1. Ultrix emulation with dual- and tripple-head emulation will
most likely feel very strange. It will still work, though.
2. Cursor movement feels "accelerated", because the emulator
sends unaccelerated movements to the guest OS, which then
accelerates them. This can however be compensated to some
degree by running 'xset m 1 0' in the guest OS.
Having weird accelerated mouse movement is better than having no
mouse support at all, so this change was necessary.
- Support for multiple monitors using Xinerama.
- Various MSI fixes and improvements.
- A ton of memory leaks fixed.
- Many common controls fixes.
- Lots of bug fixes.