* New features are not tested yet, for example SPICE protocol support.
* I have tested on NetBSD/i386 5.99.54 and DragonFly/i386 2.10.1 as host,
NetBSD/{amd64, i386, sparc} as guest.
Changelog:
0.14.1
virtio-blk: fail unaligned requests
qed: Fix consistency check on 32-bit hosts
exit if -drive specified is invalid instead of ignoring the "wrong" -drive
vhost: fix dirty page handling
Do not delete BlockDriverState when deleting the drive
vnc: tight: Fix crash after 2GB of output
lan9118: Ignore write to MAC_VLAN1 register
Don't allow multiwrites against a block device without lsi53c895a: add support for ABORT messages
virtio-pci: fix bus master work around on load
fix applesmc REV key
rbd: don't link with -lcrypto
net: Add the missing option declaration of "vhostforce"
lsi53c895a: Update dnad when skipping MSGOUT bytes
Revert "prep: Disable second IDE channel, as long as ISA IDE emulation doesn't support same irq for both channels"
isa-bus: Remove bogus IRQ sharing check
virtio-net: Fix lduw_p() pointer argument of wrong size
hw/sd.c: Add missing state change for SD_STATUS, SEND_NUM_WR_BLOCKS
vnc: Fix fatal crash with vnc reverse mode
qemu-char: Check for missing backend name
0.14.0
Targets
ARM
Most of the changes are related to bug fixes and improvements to match what the real hardware does. For now there is no new board or CPU.
MIPS
Host CPU consumption for idle guests
Timer fixes
FPU improvements
SH4
Various bug fixes and improvements including
SM501 2D engine copyrect support, needed to boot recent kernels
MMU mmaped TLB access, needed to boot recent kernels
Floating point exceptions and correct NaN support.
PPC
Fix running recent PPC64 kernels
New maintainer: Alexander Graf
Improve interrupt injection with KVM
Enable PV enabled guests for speedup with KVM
Floating point fixes
Add a ppc-440x5 Xilinx model
Add a virtex5 ml507 refdesign board for ppc-440x5
BookE MMU emulation improvements
s390x
No news, business as usual.
SPARC
Fix div(cc) and sdiv(cc) instruction emulation, fixes Xorg crash in the guest
Hosts
ARM
Fix random crashes
Fix 64-bit big-endian targets support
MIPS
Fix random crashes
IA64
Fix random crashes for 32-bit targets
Devices
IDE / AHCI
Added emulation layer for an ICH-9 AHCI controller (not yet stable). Tested with Linux, OpenBSD, Windows Vista and Windows 7. The AHCI emulation supports NCQ, so multiple read or write requests can be outstanding at the same time.
to use it, use the following command line snippet: -drive id=disk,file=<your image goes here>,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0
SCSI
Various bug fixes, no new features.
USB
Added USB support for remote wakeup, allowing the guest to suspend the USB bus when idle, which in turn reduces the CPU overhead of an idle machine.
The USB subsystem also got a bunch of patches to prepare it for USB 2.0 support.
virtio
virtio-pci can use ioeventfd for virtqueue notify. On systems that support KVM, the ioeventfd mechanism can be used to make virtqueue notify a lightweight exit by deferring hardware emulation to the iothread and allowing the VM to continue execution. This model is similar to how vhost receives virtqueue notifies. The result of this change is improved performance for userspace virtio devices. Virtio-blk throughput increases especially for multithreaded scenarios and virtio-net transmit throughput increases substantially. Read the commit message for more details.
Various fixes and stabilization for live-migration:
Various virtio-net improvements:
Make tx_timer timeout configurable
Limit number of packets sent per TX flush
Introduce a new bottom half packet TX
Fix cross-endianness support
PCI/PCI Express
Improved PCI Express support and functionalities with the implementation of:
flr (Function Level Reset)
aer (Advanced Error Reporting) and other improvements
A new monitor command to inject errors into the PCI bus: pcie_aer_inject_error
Implementation of Message Signaled Interrupts (MSI/MSI-X) support
Separation of the PCI bridge code from the main PCI code.
Sound
New Intel HD Audio support, adding three new devices:
intel-hda: Intel HD Audio Controller, the PCI device.
hda-duplex: HDA Codec. Attaches to the HDA bus. Supports 16bit stereo, rates 16k -> 96k, playback, recording and volume control (with CONFIG_MIXEMU=y).
hda-output: HDA Codec without recording support. Subset of the hda-duplex codec. Use this if you don't want your guests access your mic.
Usage: add '-device intel-hda -device hda-duplex' to your command line.
Tested guests:
Linux works.
Win7 works.
DOS (mpxplay) works.
WinXP doesn't work.
Real Time Clock
Fix binary/BCD mode switch
Video
Fix cirrus VGA crash with some guests
Fix curses big endian support
Block Drivers
qcow2
Added a writeback metadata cache. This improves performance of scenarios with lots of cluster allocations noticably (e.g. installation or after taking a snapshot), in some benchmarks by a factor of ten or more. Use cache=none or cache=writeback to take advantage from this change.
Copy snapshots out of QCOW2 disk, eg: qemu-img convert -f qcow2 -O qcow2 -s snapshot_name src_img bck_img
Zero-copy read and write operations
Other fixes and code cleanups:
qcow2: Invalidate cache after failed read
block: Allow bdrv_flush to return errors
qcow2: Simplify image creation
qcow2: Fixes unaligned access on IA64
qed
Introduction of the QEMU Enhanced Disk (qed) image format. It is a disk image format that forgoes features found in qcow2 in favor of better levels of performance and data integrity. Due to its simpler on-disk layout, it is possible to safely perform metadata updates more efficiently.
More information about qed: http://wiki.qemu.org/Features/QED
Initial thread discussion: http://lists.nongnu.org/archive/html/qemu-devel/2010-09/msg00310.html
ceph/rbd
Introduction of the new ceph/rbd block driver. RBD is an block driver for the distributed file system Ceph.
More information about ceph: http://ceph.newdream.net/
nbd
Improve qemu-nbd performance by 4400 %. This patch combines the reply header and payload send operation.
Introduce NBD named exports.
Spice
New support for the SPICE protocol. The project main focus is to provide high-quality remote access to QEMU virtual machines. More information about SPICE can be found at the project's web site: http://spice-space.org/
New qxl device. qxl is a paravirtual graphics card. The qxl device is the bridge between the guest and the spice server (aka libspice-server). The spice server will send the rendering commands to the spice client, which will actually render them. The spice server is also able to render locally, which is done in case the guest wants read something from video memory. Local rendering is also used to support display over vnc and sdl. qxl is activated using -vga qxl. qxl supports multihead, additional cards can be added via '-device qxl.
Relevant commits:
spice: core bits
spice: add keyboard
spice: add mouse
spice: simple display
spice: add tablet support
spice: tls support
spice: make compression configurable.
spice: add config options for channel security.
spice: add config options for the listening address
spice: add misc config options
spice: add audio
spice: add qxl device
spice: connection events.
QMP / monitor
TODO: QMP is now stable, except for error reporting?
The work to facilitate the management of QEMU instances has been improved. QMP has received various fixes. Now it is possible to call a traditional monitor command through QMP, in case your application depends on the output or the command is not yet ported to QMP.
New commands:
query-spice / info spice
human-monitor-command
set_password
drive_del
block_resize command, allowing resizing of block devices while qemu is running. For virtio-blk the size is updated automatically when this command is issued on the host. IDE is not supported. For SCSI devices the new size can be updated in Linux guests by doing the following shell command:
echo > /sys/class/scsi_device/0:0:0:0/device/rescan
Tracing
Introduction of platform-independent tracing, more information about it: http://wiki.qemu.org/Features/Tracing
Documentation and tutorial: http://git.qemu.org/qemu.git/plain/docs/tracing.txt
Some relevant commits:
Add trace-events file for declaring trace events
Add a DTrace tracing backend targetted for SystemTAP compatibility
Add LTTng Userspace Tracer backend
Add simple built-in tracing backend
Add stderr trace-event backend:
Support for dynamically enabling/disabling trace events
Specify trace file name
Add trace-file command to open/close/flush trace file
Other stuff
Extend -option-rom command to have additional parameter bootindex
Little endian / big endian MMIO framework. Until now, most devices had special hacks to allow them to work on big and little endian systems (ppc / x86). With that framework, they should mostly work with both and not require and device specific hacks anymore.
Changes in 1.3.24:
* Various DirectInput improvements.
* Support for line breaking in Uniscribe.
* More UI elements in builtin Shell Explorer.
* Some more D3DX9 functions.
* Improved support for shell known folders.
* Various bug fixes.
Changes in 1.3.23:
* Support for stubless COM proxies on x86-64.
* Builtin dxdiag now outputs real information.
* Monochrome bitmap format in the DIB engine.
* Beginnings of a true shell Explorer builtin.
* A number of new D3DX9 functions.
* More support for Indic text shaping.
* Various bug fixes.
3.4 to 3.4.1: (June 11, 2011)
* Re-enabled 'grabmouse' commandline argument and associated
functionality with the following changes:
- it is changed in the "Input Settings' UI, not in 'Video Settings'
- it only has meaning while in emulation mode
- it is enabled by default
* Fixed bug with emulation of paddles using the mouse most evident in
Warlords; movement was being filtered out if the mouse was moved too
fast. There's still more work required in this area, however.
* Fixed bug with analog axes on gamepad devices, whereby jittering in
these axes would override input from digital axis, hat or keyboard
input.
* Fixed bug when switching to the debugger and back again would
sometimes cause an extra mouse motion event (which would cause the
emulation to think the mouse was moved and move the player
accordingly).
* Tweaked bankswitch autodetection code for 4A50 bankswitching; several
more test ROMs are automatically detected.
* The 'saverom' debugger command now saves ROMs in your home
directory by default if you don't specify a valid path. This fixes
a bug whereby ROMs were saved in strange locations and couldn't later
be found.
* Fixed bug in automatically executing the debugger 'autoexec.stella'
file; any commands it contained weren't actually being executed.
* Zero-byte ROMs are no longer loaded and mis-detected as Supercharger
images.
3.3 to 3.4: (May. 29, 2011)
* Many improvements to input handling, particularly with the mouse and
paddles:
- The mouse can now be used to emulate a joystick, booster-grip or
driving controller.
- The mouse now controls only one device at a time (1 of 4 paddles,
1 of 2 joysticks, etc), instead of devices from both virtual ports.
- The sensitivity for digital and mouse input (for paddles) can now
be set separately with the 'dsense' and 'msense' commandline
arguments, and from within the Input Settings UI.
* Added support for the 2600-daptor device (2600-daptor.com), which is
similar to a Stelladaptor but improves handling of paddles. Thanks
go to Tom Hafner for a complimentary test sample of this device.
* Added new controller types 'Paddles_IAxis', 'Paddles_IDir', and
'Paddles_IAxDr', which invert the paddle axis, direction, and
axis+direction, respectively. These are used for certain ROMs
that have the axis or direction inverted from normal (for example,
using the paddles causes on onscreen object to move up and down vs.
left and right). All applicable ROMs in the internal database
have been updated.
* Added preliminary support for emulating ARM code to the DPC+
bankswitching scheme (thanks to Batari). Related to this, fatal
errors in the DPC+ ARM code are now caught and shown in the debugger.
* Updated internal ROM properties database to ROM-Hunter version 6
(thanks go to RomHunter for his tireless research in this area).
* The ROM audit dialog now automatically selects the current
directory in the ROM launcher, and reloads the directory after
the audit is complete.
* Removed the 'grabmouse' functionality; the mouse is now always
grabbed while playing a game, and released otherwise.
* Updated built-in version of the PNG library to the latest version.
* Support for Indic text shaping.
* Generation of stubless code in the IDL compiler.
* Support for X files in D3DX.
* 4- and 24-bit bitmap formats in the DIB engine.
* Listview performance improvements.
* Various bug fixes.
* Support for installation rollbacks in MSI.
* 8- and 16-bit bitmap formats in the DIB engine.
* Fixes in the XInput2 mouse support.
* Better support for text shaping in Uniscribe.
* Improvements to the Item common dialog.
* More MSVC runtime functions.
* Various bug fixes.
* Option to clip the mouse inside fullscreen windows.
* Support for persistent HTTP connections.
* Initial implementation of the XML writer.
* Support for drawing rectangles in the DIB engine.
* Volume control in MMDevAPI.
* More MSVC runtime functions.
* Various bug fixes.
* New sound driver architecture for MMDevAPI.
* Better support for relative mouse events in DInput.
* Debugger support for the ARM platform.
* Various improvements in D3DX9.
* More MSVC runtime functions.
* Various bug fixes.
Rebuilt IRQ handling. (zones)
Improved overall timings, now Snes9x can handle events in a opcode a little. (zones)
Improved screen interlace and sprite interlace supports. (OV2, zones)
Fixed Hi-Res pixel plotter. (BearOso, zones, OV2)
Fixed C4 for Mega Man X2's "weapon get" screen. (Jonas Quinn)
Fixed Super Buster Bros. graphics after reset. (Jonas Quinn)
Improved SA-1 support. (zones)
Added SA-1 CC2 support. (Jonas Quinn, byuu)
Fixed SA-1 NMI override mode. (zones)
Fixed Dual Orb 2 sound glitch. (byuu)
New APU timing hack, fixes various games that exhibit problems with Blargg's SNES_SPC library. (OV2)
Fixed the problem that echo buffer breaks IPL ROM. (zones, OV2)
Fixed movie snapshot unfreeze inconsistency. (gocha)
Faster config file saving. (OV2)
Fixed BlockInvalidVRAMAccess config file option. (windows port, unix port and gtk legacy config) (Jonas Quinn)
Remove POSIX dup and access calls, and rename qword to fix compilation with Cell SDK. (BearOso)
Fixed PS3 version save state crash by using heap allocation for soundsnapshot. (danieldematteis)
Fixed crash relating to double-closed descriptor. (BearOso)
Removed CPUShutdown speedhack, DisableHDMA and DisableIRQ options. (zones)
Removed remaining outdated asm code. (zones)
JMA 64 bit support. (kode54, Nach, friedrich.goepel)
GTK+, Win32, Mac: Added optional Hi-Res blending. (BearOso, OV2, zones)
GTK+, Win32: Support for bsnes-style XML shaders. (BearOso, OV2)
Unix : Fixed segfault and hang-up with -DNOSOUND. (zones)
GTK+ : Added ability to set specific folders for SRAM, patches, snapshots, etc. (BearOso)
GTK+ : Fixed many permissions issues with config folders. (BearOso)
GTK+ : Updated compatibility with latest GTK+ and GtkBuilder. Added experimental support for GTK+ 3.x. (BearOso)
GTK+ : Updated software output to use cairo and added the ability to use bilinear-filtering with it. (BearOso)
GTK+ : Fixed issues where cheats wouldn't stay enabled. (BearOso)
GTK+ : Fixed focus issue when there is no window manager. (BearOso)
GTK+ : Fixed X Visual incompatibilities and expose problems in the Xv and OpenGL outputs. (BearOso)
GTK+ : Fixed vsync with new X Server and NVIDIA drivers. (BearOso)
GTK+ : Added "Reduce input lag" option to OpenGL output. (BearOso)
GTK+ : Added a visual indication of the expected video refresh rate for the currently selected sound input rate. (BearOso)
slight fix.
* Changes in VICE 2.3
======================
** General
----------
- Added x64sc, the accurate C64 emulator:
* VIC-II emulation rewritten from scratch using results from extensive
testing with newly written test programs on real hardware.
* Emulation is done on a cycle by cycle basis combined with pixel exact
dot clock domain handling.
* Accurate handling of all possible in-line splits of VIC-II registers
and graphics data.
* C64 model and even individual chip revisions can be selected for very
detailed emulation of their differences.
* Equally accurate PAL, NTSC and PAL-N emulation.
We believe x64sc is one of the most accurate C64 emulators at the
moment.
- Drive improvements, including weak bit emulation.
- Major reSID overhaul:
* Emulation of all known pipeline delays for full cycle accuracy.
* New shift register model based on revectorized die photograps.
* Accurate DAC models based on revectorized die photograps.
* Emulation of floating waveform DAC input for waveform 0.
* Advanced 6581 transistor level filter model based on revectorized
die photograps, yielding unprecedented accuracy.
- CRT Emulation (former "PAL emulation") is now available regardless of
video mode or -chip and works in all emulators.
NOTE: Color gamma range changed. You may need to set to 2.200 manually.
(ColorGamma=2200)
- Added "True aspect ratio" option.
- Sound buffer overflows reduced and the error replaced with a warning.
- Various monitor improvements (io details, expansion port status ...)
- Removed little used Emulator ID feature.
- VIA wrap handling rewritten to fix problems with timer 2.
- Added autostart option to do LOAD ,8 instead of ,8,1.
- RESTORE key presses are now distributed randomly across a frame.
- Improved accuracy of CIA interrupts. (6526/6526A selectable)
** C64/C128 changes
-------------------
- Cartridge emulation improvements. Many broken cartridges fixed, and the
following ones added:
* Action Replay 2
* Action Replay 3
* Capture
* Diashow Maker
* EXOS
* Final Cartridge Plus
* Freeze Frame
* Freeze Machine
* Game Killer
* MACH 5
* Magic Voice
* MMC Replay
* Prophet 64
* Snapshot 64
* Super Explode V5
* Super Snapshot
- Added emulation of the passthrough port of MMC64, Magic Voice and IEEE488
cartridges.
- CIA TOD 50/60 Hz toggle emulation fixed.
- Improved 1351/paddles port MUX emulation.
** C64 changes
--------------
- Added Drean (PAL-N) emulation.
- Fixed bug with autostart mode Inject-to-RAM. It now writes to RAM under
I/O correctly.
** C128 changes
---------------
- Fixed a bug with autostarting t64 images.
** VIC20 changes
----------------
- Added Vic Flash Plugin cartridge emulation.
- Fixed video cache & reverse bug.
- Fixed bug in attaching 4kB cartridges.
- Fixed autostarting bug, mostly seen with tape images.
** PLUS4 changes
----------------
- Fixed crashes in NTSC mode.
- Added v364 speech emulation.
** PET changes
--------------
- Added DWW emulation.
- Added userport DAC emulation.
** CBM2 changes
---------------
- Split 5x0 and 6x0/7x0 settings in the configuration file.
** Unix changes
---------------
- (Xaw) The menus can now be operated without holding the
mouse button down. Keyboard control is also available
(Shift-Alt-Z for left menu, Shift-Alt-X for right menu).
- (Xaw) Lightpen/gun support added.
- (GTK+) Fixed aspect ratio option added.
** SDL UI changes
-----------------
- Added vsid UI, FFMPEG and printer menus. The UI is complete.
pkgsrc changes:
* Change CONFIGURE_ARGSs.
* Support GUI debugger.
* Set LICENSE.
Upstream Changelog:
Changes in 2.4.6 (February 22, 2011):
Brief summary :
- Support more host OS to run on:
- Include win64 native binary in the release.
- Fixed failures on big endian hosts.
- BIOS: Support for up to 2M ROM BIOS images.
- GUI: select mouse capture toggle method in .bochsrc.
- Ported most of Qemu's 'virtual VFAT' block driver
(except runtime write support, but plus FAT32 suppport)
- Added write protect option for floppy drives.
- Bugfixes / improved internal debugger + instrumentation.
Detailed change log :
- CPU and internal debugger
- Implemented Process Context ID (PCID) feature
- Implemented FS/GS BASE access instructions support
(according to document from http://software.intel.com/en-us/avx/)
- Rewritten from scratch SMC detection algorithm
- Implemented fine-grained SMC detection (on 128 byte granularity)
- Bugfixes for CPU emulation correctness and stability
- Fixed failures on Big Endian hosts !
- Print detailed page walk information and attributes in
internal debugger 'page' command
- Updated/Fixed instrumentation callbacks
- Configure and compile
- Bochs now can be compiled as native Windows x86-64 application
(tested with Mingw gcc 4.5.1 and Microsoft Visual Studio Express 2010)
- Added ability to configure CPUID stepping through .bochsrc.
The default stepping value is 3.
- Added ability to disable MONITOR/MWAIT support through .bochsrc
CPUID option. The option is available only if compiled with
--enable-monitor-mwait configure option.
- Determine and select max physical address size automatically at
configure time:
- 32-bit physical address for 386/486 guests
- 36-bit physical address for PSE-36 enabled Pentium guest
- 40-bit physical address for PAE enabled P6 or later guests
- Update config.guess/config.sub scripts to May 2010 revisions.
- Update Visual Studio 2008 project files in build/win32/vs2008ex-workspace.zip
- Added Bochs compilation timestamp after Bochs version string.
- GUI and display libraries (Volker)
- Added new .bochsrc option to select mouse capture toggle method.
In addition to the default Bochs method using the CTRL key and the
middle mouse button there are now the choices:
- CTRL+F10 (like DOSBox)
- CTRL+ALT (like QEMU)
- F12 (replaces win32 'legacyF12' option)
- display library 'x' now uses the desktop size for the maximum guest resolution
- ROM BIOS
- Support for up to 2M ROM BIOS images
- I/O Devices
- 3 new 'pseudo device' plugins created by plugin separation (see below)
- Fixes for emulated DHCP in eth_vnet (patch from @SF tracker)
- Added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724)
- NE2K: Fixed "send buffer" command issue on big endian hosts
- USB
- converted common USB code plus devices to the new 'usb_common' plugin
Now the USB device classes no longer exist twice if both HC plugins are loaded.
- added 'pseudo device' in common USB code for the device creation. This makes
the HCs independent from the device specific code.
- USB MSD: added support for disk image modes (like ATA disks)
- USB printer: output file creation failure now causes a disconnect
- re-implemented "options" parameter for additional options of connected
devices (currently only used to set the speed reported by device and to
specify an alternative redolog file of USB MSD disk image modes)
- hard drive
- new disk image mode 'vvfat'
- ported the read-only part of Qemu's 'virtual VFAT' block driver
- additions: configurable disk geometry, FAT32 support, read MBR and/or
boot sector from file, volatile write support using hdimage redolog_t
class, optional commit support on Bochs exit, save/restore file
attributes, 1.44 MB floppy support, set file modification date/time
- converted the complete hdimage stuff to the new 'hdimage' plugin
- new hdimage method get_capabilities() that can return special flags
- vmware3, vmware4 and vvfat classes now return HDIMAGE_HAS_GEOMETRY flag
- other disk image modes by default return HDIMAGE_AUTO_GEOMETRY if
cylinder value is set to 0
- multiple sector read/write support for some image modes
- new log prefix "IMG" for hdimage messages
- floppy
- added write protect option for floppy drives (based on @SF patch by Ben Lunt)
- vvfat support
- bugfix: close images on exit
- SB16
- converted the sound output module stuff to the new 'soundmod' plugin
- SF patches applied
[3164945] hack to compile under WIN64 by Darek Mihocka and Stanislav
[3164073] Fine grain SMC invalidation by Stanislav
[1539417] write protect for floppy drives by Ben Lunt
[2862322] fixes for emulated DHCP in eth_vnet
- these S.F. bugs were closed/fixed
[2588085] Mouse capture
[3140332] typo in mf3/ps2 mapping of BX_KEY_CTRL_R
[3111577] No "back" option in log settings
[3108422] Timing window in NE2K emulation
[3084390] Bochs won't load floppy plugin right on startup
[3043174] Docbook use of '_' build failure
[3085140] Ia_arpl_Ew_Rw definition of error
[3078995] ROL/ROR/SHL/SHR modeling wrong when dest reg is 32 bit
[2864794] BX_INSTR_OPCODE in "cpu_loop" causes crash in x86_64 host
[2884071] [AIX host] prefetch: EIP [00010000] > CS.limit [0000ffff]
[3053542] 64 bit mode: far-jmp instruction is error
[3011112] error compile vs2008/2010 with X2APIC
[3002017] compile error with vs 2010
[3009767] guest RFLAGS.IF blocks externel interrupt in VMX guest mode
[2964655] VMX not enabled in MSR IA32_FEATURE_CONTROL
[3005865] IDT show bug
[3001637] CMOS MAP register meaning error
[2994370] Cannot build with 3DNow support
- these S.F. feature requests were closed/implemented
[1510142] Native Windows XP x64 Edition binary
[1062553] select mouse (de)activation in bochsrc
[2930633] legacy mouse capture key : not specific enough
[2930679] Let user change mouse capture control key
[2803538] Show flags for pages when using "info tab"
-------------------------------------------------------------------------
Changes in 2.4.5 (April 25, 2010):
Brief summary :
- Major configure/cpu rework allowing to enable/disable CPU options at runtime
through .bochsrc (Stanislav)
- Bugfixes for CPU emulation correctness and stability
- Implemented X2APIC extensions (Stanislav)
- Implemented Intel VMXx2 extensions (Stanislav)
- Extended VMX capability MSRs, APIC Virtualization,
X2APIC Virtualization, Extended Page Tables (EPT),
VPID, Unrestricted Guests, new VMX controls.
- Implemented PCLMULQDQ AES instruction
- Extended Bochs internal debugger functionality
- USB HP DeskJet 920C printer device emulation (Ben Lunt)
Detailed change log :
- Configure rework
- Deprecate --enable-popcnt configure option. POPCNT instruction will be
enabled automatically iff SSE4_2 is supported (like in hardware).
- Make --ignore-bad-msrs runtime option in .bochsrc. Old --ignore-bad-msrs
configure option is deprecated and should not be used anymore.
- Enable changing part of CPU functionality at runtime through .bochsrc.
- Now you could enable/disable any of SSEx/AES/MOVBE/SYSENTER_SYSEXIT/XSAVE
instruction sets using new CPUID option in .bochsrc.
- When x86-64 support is compiled in, you could enable/disable long mode
1G pages support without recompile using new CPUID option in .bochsrc.
Configure options:
--enable-mmx, --enable-sse, --enable-movbe, --enable-xsave,
--enable-sep, --enable-aes, --enable-1g-pages
are deprecated and should not be used anymore.
- Local APIC configure option --enable-apic is deprecated and should not
be used anymore. The LAPIC option now automatically determined from
other configure options. XAPIC functionality could be enabled using
new CPUID .bochsrc option.
- Changed default CPU configuration (generated by configure script with
default options) to BX_CPU_LEVEL=6 with SSE2 enabled.
- CPU
- Implemented PCLMULQDQ AES instruction
- Implemented X2APIC extensions / enable extended topology CPUID leaf (0xb),
in order to enable X2APIC configure with --enable-x2apic
- Implemented Intel VMXx2 extensions:
- Enabled extended VMX capability MSRs
- Implemented VMX controls for loading/storing of MSR_PAT and MSR_EFER
- Enabled/Implemented secondary proc-based vmexec controls:
- Implemented APIC virtualization
- Implemented Extended Page Tables (EPT) mode
- Implemented Descriptor Table Access VMEXIT control
- Implemented RDTSCP VMEXIT control
- Implemented Virtualize X2APIC mode control
- Implemented Virtual Process ID (VPID)
- Implemented WBINVD VMEXIT control
- Implemented Unrestricted Guest mode
In order to enable emulation of VMXx2 extensions configure with
--enable-vmx=2 option (x86-64 must be enabled)
- Bugfixes for CPU emulation correctness
- Fixed Bochs crash when accessing the first byte above emulated memory size
- Internal Debugger
- Introduced range read/write physical watchpoints
- Allow reloading of segment registers from internal debugger
- Improved verbose physical memory access tracing
- BIOS
- Fix MTRR configuration (prevented boot of modern Linux kernels)
- Fix interrupt vectors for INT 60h-66h (reserved for user interrupt) by
setting them to zero
- Fix BIOS INT13 function 08 when the number of cylinders on the disk = 1
- I/O Devices
- USB HP DeskJet 920C printer device emulation (Ben Lunt)
- Misc
- Updated Bochs TESTFORM to version 0.5
- SF patches applied
[2864402] outstanding x2apic patches by Stanislav
[2960379] Fix build with -Wformat -Werror=format-security by Per Oyvind Karlsen
[2938273] allow instrumentation to change execute by Konrad Grochowski
[2926072] Indirection operators in expressions by Derek Peschel
[2914433] makesym.perl misses symbols by John R. Jackson
[2908481] USB Printer by Ben Lunt
- these S.F. bugs were closed/fixed
[2861662] dbg_xlate_linear2phy needs to be updated
[2956217] INT13 AH=8 returns wrong values when cylinders=1
[2981161] Allow DMA transfers to continue when CPU is in HALT state
[2795115] NX fault could be missed
[2964824] bad newline sequence in aspi-win32.h
[913419] configure options and build process needs some work
[2938398] gdbstub compile error with x86_64 enabled
[2734455] shutdown/reset type 05 should reinit the PICs
[1921294] extended memory less than 1M wrong size
[1947249] BX_USE_EBDA_TABLES and MP table placement
[1933859] BX_USE_EBDA_TABLES and memory overlapping
[2923680] "help dregs" is a syntax error
[2919661] CPU may fail to do 16bit near call
[2790768] Memory corruption with SMP > 32, Panic BIOS Keyboard Error
[2902118] interrupts vectors 0x60 to 67 should be NULL !
[2912502] Instruction Pointer behaving erratically
[2901047] Bochs crashed, closed by guest os
[2905385] Bochs crash
[2901481] Instruction SYSRET and SS(PL)
[2900632] Broken long mode RETF to outer priviledge with null SS
[1429011] Use bx_phyaddr_t for physaddr vars and bx_adress for lin adr
- these S.F. feature requests were closed/implemented
[2955911] RPM preuninstall scriptlet removes /core
[2947863] don't abort on unrecognised options
[2878861] numerics in the disassembler output
[2900619] make more CPU state changeable
-------------------------------------------------------------------------
Changes in 2.4.2 (November 12, 2009):
- CPU and internal debugger
- VMX: Implemented TPR shadow VMEXIT
- Bugfixes for CPU emulation correctness (mostly for VMX support).
- Bugfixes and updates for Bochs internal debugger
- On SMP system stepN command now affects only current processor
- Memory
- Bugfixes for > 32-bit physical address space.
- Allow to emulate more physical memory than host actually could or would
like to allocate. For more details look for new .bochsrc 'memory' option.
- Cleanup configure options
- All paging related options now will be automatically determined according
to --enable-cpu-level option. Related configure options
--enable-global-pages, --enable-large-pages,
--enable-pae, --enable-mtrr
are deprecated now. Only 1G paging option still remaining unchanged.
- Deprecate --enable-daz configure option. Denormals-are-zeros MXCSR control
will be enabled automatically iff SSE2 is supported (like in hardware).
- Deprecate --enable-vme configure option, now it will be supported iff
CPU_LEVEL >= 5 (like in hardware).
- I/O Devices
- Bugfixes for 8254 PIT, VGA, Cirrus-Logic SVGA, USB UCHI
- SF patches applied
[2817840] Make old_callback static by Mark Marshall
[2874004] fix for VMWRITE instruction by Roberto Paleari
[2873999] fix CS segment type during fast syscall invocation by Roberto Paleari
[2864389] Debugger gui maximize on startup by Thomas Nilsen
[2817868] Rework loops in the memory code by Mark Marshall
[2812948] PIT bug by Derek
- these S.F. bugs were closed/fixed
[2833504] GUI debugger bug-about GDT display
[2872244] BIOS writes not allowed value to MTRR MSR causing #GP
[2885383] SDL GUI memory leak
[2872290] compilation in AIX5.3 ML10 failes
[2867904] crash with cirrus bx_vga_c::mem_write
[2851495] BIOS PCI returns with INT flag = 0
[2860333] vista 64 guest STOP 109 (GDT modification)
[2849745] disassembler bug for 3DNow and SSE opcodes
[1066748] Wrong registers values after #RESET, #INIT
[2836893] Regression: Windows XP installer unable to format harddrive
[2812239] VMX: VM-Exit: Incorrect instruction length on software int
[2814130] bx_debug lex/yacc files incorrectly generated
[2813199] MP Tables Missing From BIOS
[2824093] VMX exception bug
[2811909] VMX : CS Access-rights Type.Accessed stays 0
[2810571] Compile Errors on OSX
[2823749] GCC regression or VM_EXIT RDMSR/WRMSR bug
[2815929] Vista/XP64 unnecessary panic
[2803519] Wrong example in man page bochsrc
- these S.F. feature requests were closed/implemented
[422766] Large Memory configurations
[1311287] Idea for a better GUI
[455971] USB support
[615363] debugger shortcut for repeat last cmd
-------------------------------------------------------------------------
Changes in 2.4.1 (June 7, 2009):
- Fixed bunch of CPUID issues
- Bochs is now able to install and boot 64-bit Windows images!
(special thanks to Mark Ebersole for his patch)
- Several bugfixes in CPU emulation (mostly for x87 instructions)
- Fixed two critical deadlock bugs in the Win32 gui (patches from @SF tracker)
- Fixes related to the 'show ips' feature
- removed conflicting win32-specific alarm() functions ('win32' and 'sdl' gui)
- feature now works in wx on win32
- Added support for gdb stub on big endian machine (patch by Godmar Back)
- Rewritten obsolete hash_map code in dbg symbols module (patch from @SF)
- BIOS: implemented missing INT 15h/89h (patch by Sebastian Herbszt)
-------------------------------------------------------------------------
Changes in 2.4 (May 3, 2009):
Brief summary :
- Added graphical Bochs debugger frontend for most of the supported platforms.
- Thanks for Chourdakis Michael and Bruce Ewing.
- Many new CPU features in emulation
- Support for > 32 bit physical address space and configurable MSRs
- VMX, 1G pages in long mode, MOVBE instruction
- Bugfixes for CPU emulation correctness, debugger and CPU instrumentation.
- New config interface 'win32config' with start and runtime menu
- USB: added OHCI support, external hub and cdrom
- Added user plugin interface support.
Detailed change log :
- CPU and internal debugger
- Support for VMX hardware emulation in Bochs CPU, to enable configure with
--enable-vmx option
Nearly complete VMX implementation, with few exceptions:
- Dual-monitor treatment of SMIs and SMM not implemented yet
- NMI virtualization, APIC virtualization not implemented yet
- VMENTER to not-active state not supported yet
- No advanced features like Extended Page Tables or VPID
- Support for configurable MSR registers emulation, to enable configure with
--enable-configurable-msrs option
Look for configuration example in .bochsrc and msrs.def
- Support new Intel Atom(R) MOVBE instruction, to enable configure with
--enable-movbe option
- Support for 1G pages in long mode, to enable configure with
--enable-1g-pages option
- Support for > 32 bit physical address space in CPU. Up to 36 bit could be
seen in legacy mode (PAE) and up to 40 bit in x86-64 mode.
Still support the same amount of the physical memory in the memory object,
so system with > 4Gb of RAM yet cannot be emulated.
To enable configure with --enable-long-phy-address option.
- Implemented modern BIOSes mode limiting max reported CPUID function
to 3 using .bochsrc CPU option. The mode is required in order to
correctly install and boot WinNT.
- Added ability to configure CPUID vendor/brand strings through .bochsrc
(patch from @SF by Doug Reed).
- Many bugfixes for CPU emulation correctness (both x86 and x86-64).
- Updated CPU instrumentation callbacks.
- Fixed Bochs internal debugger breakpoints/watchpoints handling.
- Configure and compile
- Added ability to choose Bochs log file name and Bochs debugger log file
name from Bochs command line (using new -log and -dbglog options)
- Removed Peter Tattam's closed source external debugger interface from
the code.
- Removed --enable-guest2host-tlb configure option. The option is always
enabled for any Bochs configuration.
- Removed --enable-icache configure option. The option is always enabled
for any Bochs configuration. Trace cache support still remains optional
and could be configured off.
- Added configure option to compile in GUI frontend for Bochs debugger,
to enable configure with --enable-debugger-gui option.
The GUI debugger frontend is enabled by default with Bochs debugger.
- Removed --enable-port-e9-hack configure option. The feature now could be
configured at runtime through .bochsrc.
- Added configure option to enable/disable A20 pin support. Disabling the
A20 pin support slightly speeds up the emulation.
- reduced dependencies between source files for faster code generation
- BIOS
- Added S3 (suspend to RAM) ACPI state to BIOS (patch by Gleb Natapov)
- Implemented MTRR support in the bios (patches by Avi Kivity and Alex
Williamsion with additions by Sebastian Herbszt)
- Bug fixes
- I/O Devices
- Added user plugin support
- remaining devices converted to plugins: pit, ioapic, iodebug
- added 'plugin_ctrl' bochsrc option to control the presence of optional
device plugins without a separate option. By default all plugins are enabled.
- added register mechanism for removable mouse and keyboard devices
- Hard drive / cdrom
- PACKET-DMA feature now supported by all ATAPI commands
- ATAPI command 0x1A added (based on the Qemu implementation)
- sb16
- Added ALSA sound support on Linux (PCM/MIDI output)
- FM synthesizer now usable with MIDI output (simple piano only)
- Fixed OPL frequency to MIDI note translation
- Fixed MIDI output command
- keyboard
- added keyboard controller commands 0xCA and 0xCB
- USB
- USB code reorganized to support more HC types and devices
- added USB OHCI support written by Ben Lunt
- added external USB hub support (initial code ported from Qemu)
- added USB cdrom support (SCSI layer ported from Qemu)
- added status bar indicators to show data transfer
- VGA
- VBE video memory increased to 16 MB
- implemented changeable VBE LFB base address (PCI only, requires latest
BIOS and VGABIOS images)
- I/O APIC
- implemented I/O APIC device hardware reset
- Config interface
- new config interface 'win32config' with start and runtime menu is now
the default on Windows ('textconfig' is still available)
- win32 device config dialogs are now created dynamicly from a parameter list
(works like the wx ParamDialog)
- changes in textcofig and the wx ParamDialog for compatibility with the new
win32 dialog behaviour
- Bochs param tree index keys are case independent now
- some other additions / bugfixes in the simulator interface code
- Misc
- updated LGPL'd VGABIOS to version 0.6c
- Updated Bochs TESTFORM to version 0.4
- SF patches applied
[2784858] IO Handler names are not compared properly
[2712569] Legacy bios serial data buffer timeout bug by grybranix
[2655090] 64 bit BSWAP with REX.W broken by M. Eby
[2645919] CR8 bug when reading by M. Eby
[1895665] kvm: bios: add support to memory above the pci hole by Izik Eidus
[2403372] rombios: check for valid cdrom before using it by Sebastian
[2307269] acpi: handle S3 by Sebastian
[2354134] TAP networking on Solaris/Sparc repaired
[2144692] The scsi device can not complete its writing data command by naiyue
[1827082] [PATCH] Configurable CPU vendor by Marcel Sondaar
[2217229] Panic on EBDA overflow in rombios32 by Sebastian
[2210194] Log pci class code by Sebastian
[1984662] red led for disk write and titlebar mod by ggbsf
[2142955] Fix for monitor/mwait by Doug Gibson
[2137774] Patch to fix bug: cdrom: read_block: lseek returned error by Gabor Olah
[2134642] Fix scan_to_scanascii table for F11 and F12 by Ben Guthro & Steve Ofsthun
[2123036] sdl fullscreen fix by ggbsf
[2073039] Remove CMOS accsess from AML code by Gleb Natapov
[2072168] smbios: add L1-L3 cache handle to processor information by Sebastian
[2055416] bochsrc cpu options for cpuid vendor and brand string by Doug Reed
[2035278] rombios: Fix return from BEV via retf by Sebastian
[2035260] rombios: El Torito load segment fix by Sebastian
[2031978] Fix VMware backdoor command 0Ah by Jamie Lokier
[2015277] Remove obsolete comment about DATA_SEG_DEFS_HERE hack by Sebastian
[2011268] Set new default format and unit only if both are supported by Sebastian
[2001919] gdbstub: fix qSupported reply by Sebastian
[2001912] gdbstub: enclose packet data by apostrophes by Sebastian
[1998071] fix missing SIGHUP and SIGQUIT with term ui on mingw by Sebastian
[1998063] fix wrong colors with term ui by Sebastian
[1995064] Compile fix needed for --enable-debugger and gcc 4.3 by Hans de Goede
[1994564] Fix typo in RDMSR BX_MSR_MTRRFIX16K_A0000 by Sebastian
[1994396] Change hard_drive_post #if by Sebastian
[1993235] TESTFORM email address update by Sebastian
[1992322] PATCH: fix compilation of bochs 2.3.7 on bigendian machines by Hans de Goede
[1991280] Shutdown status code 0Ch handler by Sebastian
[1990108] Shutdown status code 0Bh handler by Sebastian
[1988907] Shutdown status code 0Ah handler by Sebastian
[1984467] two typos in a release! (2.3.7)
[1981505] Init PIIX4 PCI to ISA bridge and IDE by Sebastian
- these S.F. bugs were closed/fixed
[2784148] an integer overflow BUG of Bochs-2.3.7 source code
[2695273] MSVC cpu.dsp failure in 2.3.7.zip
[616114] Snapshot/Copy crash on Win2K
[2628318] 'VGABIOS-latest' bug
[1945055] can't 'make install' lastest bochs on loepard
[2031993] Mac OS X Makefile bug
[1843199] install error on mac osx
[2710931] Problem compiling both instrumentation and debugger
[2617003] ExceptionInfo conflicts with OS X api
[2609432] stepping causes segfault (CVS)
[2605861] compile error with --enable-smp
[1757068] current cvs(Jul19, 07) failed to boot smp
[2426271] cannot get correct symbol entry
[2471982] VGA character height glitches
[1659659] wrong behaviour a20 at boot
[1998027] minwg + --with-term + --with-out-win32 = link failure
[1871936] bochs-2.3.6 make fails on wx.cc
[1684666] info idt for long mode
[2105989] could not read() hard drive image file at byte 269824
[1173093] Debugger totally not supports x86-64
[1803018] new win32debug dialog problems
[2141679] windows vcc build broken
[2162824] latest cvs fails to compile
[2164506] latest bochs fails to start
[2129223] MOV reg16, SS not working in real mode due to dead code
[2106514] RIS / startrom.com install ALMOST works
[2123358] SMP (HTT): wbinvd executed by CPU1 crashes CPU0
[2002758] Arch Linux: >>PANIC<< ATAPI command with zero byte count
[2026501] El Torito incorrect boot segment:offset
[2029758] BEV can return via retf instead of int 18h
[2010173] x command breaks after one error about x/s or x/i
[1830665] harddrv PANIC: ATAPI command with zero byte count
[1985387] fail to make using gcc4 with --enable-debugger
[1990187] testform feedback
[1992138] Misspell in cpu/ia_opcodes.h
- these S.F. feature requests were closed/implemented
[2175153] Update MSVC project files
[658800] front end program and bios
[1883370] Make cd and floppy images more usable
[422783] change floppy size without restarting
[2552685] param tree names should be case insensitive
[1214659] PC Speaker emu turnoff. Plugin Controll.
[1977045] support 40 bit physical address
[1506385] Intel Core Duo VT features
[1429015] Support for user plugins
[1488136] debugger access to floppy controller
[1363136] Full debugger SMP and 64 bit support
[2068304] Support for ACPI
[431032] debugger "x" command
[423420] profiling ideas (SMF)
[445342] Add FM support?
[928439] alsa
0.11 (2011-02-20)
- MESS Software Lists support
- retire mkmamedb-xmame.sh, use "mame -listxml | mkmamedb" instead
- link/copy disks from extra if -j (--delete-found) isn't specified
- ckmame: display current game on SIGINFO (Ctrl-T)
- removed ROMPATH support since mame uses a path in the config file nowadays
fix PR pkg/44465
Changelog:
2010-01-08 <Jim@LS-RED>
* Version 8.0 released
2010-01-05 <Jim@LS-RED>
* xspim/Imakefile, spim/Makefile Jaymie Strecker [JStrecker@wooster.edu]:
Change install path from /usr to /usr/local.
Removed -D option, which doesn't exists on MacOS.
* pervasive:
Change license to a BSD license, update copyright notices, and
eliminated references to my old email address.
2009-12-05 <Jim@LS1>
* CPU/spim-utils.c (initialize_run_stack) [÷ý´ö´ÊîÜ® bupjae@hotmail.com]:
Simplify alignment of data on stack to ensure enough room is left
for environment and args at top of stack.
* PCSpim/PCSpimView.cpp:
Initialize stack with arguments when running program from run dialog.
* spim/spim.c (read_input) [Adam Wolfe Gordon
adam.wolfegordon@gmail.com}:
read_input filled buffer with last character of file not terminated by
newline.
* Documentation/spim.html [Dave Comer dmcomer@dmcmicro.com]:
Links to MIPS documentation were broken.
2009-09-22 <Jim@LS1>
* spim/spim.c (main) [Ohad Kammar ohad.kammar@ed.ac.uk]:
Did not return value from exit syscall.
2009-03-01 James larus <larus@ubuntu-laptop>
* xspim/buttons.c [Karl Ljungkvist k.ljungkvist@gmail.com]:
Step command reinitialized the stack, which changed registers (argc, argv).
2009-03-01 <Jim@LS1>
* Documentation/spim.html:
Updated web page to remove reference to spim source in PCSpim source distribution.
* PCSpim/PCSpimView.{cpp, h}, SettingsDlg.cpp, BreakpointDlg.cpp, MainFrm.{cpp, h}:
Force redisplay of data segment in situations in which register
values may have changed, such as $sp. Some cleanup as well.
* PCSpim/PCSpimView.cpp:
Properly initialize the PC at the first invocation of the step operation.
* PCSpim/PCSpimView.cpp, spim/spim.c [Pierce, Bill [pierce@hood.edu]:
Initialize the stack when initializing the world, so the stack is
initialized when single stepping as well as running.
2009-02-13 <Jim@LS1>
* CPU/mem.c (bad_mem_write) [phong le phongle@nlsim.com]:
Major memory leak: instructions overwritten by self-modifying code
were not freed!
* spim/Configure, xspim/Configure [Carlos Pantelides carlos_pantelides@yahoo.com]:
Added test for 64 bit Linux systems.
2009-01-22 <Jim@LS1>
* spim/Makefile:
Fix install commands so exceptions.s is installed at /usr/lib/spim.
Rerelease of spim.tar.*
2009-01-14 <Jim@LS1>
* pcspim.zip:
Rerelease of pcspim to correct installer problem. Visual Studio
9.0 required new crt and mfc libraries.
2009-01-01 <Jim@LS1>
* Released version 7.4
2009-01-01 James larus <larus@ubuntu-laptop>
* xspim/Imakefile, spim/Makefile:
Fix install directories for Linux.
2008-11-29 <Jim@LS1>
* xspim/buttons.c [karl.marklund@gmail.com]:
Command line arguments for assembly code not properly set.
2008-11-28 <Jim@LS1>
* PCSpim/PCSpimView.{cpp,h}:
Command line arguments not set properly on second and subsequent runs.
2008-11-01 <Jim@LS1>
* Version 7.4
* Tests/tt.core.s (madd_) Miguel Barão [mjsb@di.uevora.pt]:
Added test for madd(2, -1) with (hi, lo) = (0, -1).
2008-05-18 <Jim@LS1>
* CPU/scanner.l [liblit@cs.wisc.edu]:
Fix for flex 2.5.33 was too specific for that version and failed
on later versions, which propagated the change recoganized by fix
of2005-02-05.
2007-05-20 <Jim@LS1>
* CPU/run.c (run_spim):
Fixed handling of borrow from subtract of low-order word in MSUB
and MSUBU
2007-05-03 <Jim@LS1>
* CPU/run.c Tim ODonnell [timodonnell@gmail.com]:
Fixed handling of overflow from add of low-order word in MADD and
MADDU.
2007-04-15 <Jim@LS1>
* Documentation/spim.html:
Updated MIPS documenation links to reflect new file
versions. Included link to Nokia 660 port.
2007-01-14 <Jim@LS1>
* CPU/inst.c (inst_decode) Cai Hongxu [caihongxu@gmail.com]:
Did not correctly decode SPECIAL2 instructions (e.g., madd).
2006-08-28 <Jim@LS1>
* spim/Makefile:
Explicitly include exception handler path for "make test" to
eliminate need to install it before running test.
MESS is a source-available project which documents the hardware
for a wide variety of (mostly vintage) computers, video game
consoles, and calculators through software emulation, as MAME does
for arcade games. As a nice side effect to this documentation, MESS
allows software and games for these hardware platforms to be run
on modern PCs.
MAME stands for Multiple Arcade Machine Emulator. When used in
conjunction with images of the original arcade game's ROM and disk
data, MAME attempts to reproduce that game as faithfully as possible
on a more modern general-purpose computer. MAME can currently
emulate several thousand different classic arcade video games from
the late 1970s through the modern era.
ROMs are needed to play the games. Some are freely available on the
MAME homepage.
alternative from mk/jpeg.buildlink3.mk
This allows selection of an alternative jpeg library (namely the x86 MMX,
SSE, SSE2 accelerated libjpeg-turbo) via JPEG_DEFAULT=libjpeg-turbo, and
follows the current standard model for alternatives (fam, motif, fuse etc).
The mechanical edits were applied via the following script:
#!/bin/sh
for d in */*; do
[ -d "$d" ] || continue
for i in "$d/"Makefile* "$d/"*.mk; do
case "$i" in *.orig|*"*"*) continue;; esac
out="$d/x"
sed -e 's;graphics/jpeg/buildlink3\.mk;mk/jpeg.buildlink3.mk;g' \
-e 's;BUILDLINK_PREFIX\.jpeg;JPEGBASE;g' \
< "$i" > "$out"
if cmp -s "$i" "$out"; then
rm -f "$out"
else
echo "Edited $i"
mv -f "$i" "$i.orig" && mv "$out" "$i"
fi
done
done
* audio2tape
* work with stereo sound files
* don't crash on an empty ROM block
* tzxlist
* print data from ROM header blocks
* Assume non-ASCII characters are in Windows-1252
* snapconv: add -f flag to fix .szx files written with old
versions of libspectrum
* raw2hdf: ensure version data is always written
* Add Opus Discovery disk interface support
* Wii support
* Many improvements to Win32 UI, including an installer
* Support weak data in +3 disk images
* NTSC Spectrum support
* Add support for flipping disk images in single sided drives
* Add support for automatically merging both both disk images where
they are in separate files named with the text [Ss]ide[ _][abAB12]
* Switch to using Blip_Buffer (by Shay Green) for improved beeper and
AY output
* Allow beeper and AY volumes to be set
* Enable Beta 128 interface in 48K and TC2048 machines
* Add emulation of the Fuller Audio Box
* Allow sound to run from 2% speed up
* Add emulation of the Melodik and similar 48K-compatible AY interfaces
that use the 128K sound ports
* Add support for Pentagon 1024SL v2.2 16 colour modek
* Implement GTK+ drag and drop support
* Better support for international keyboards
* Allow svgalib UI to use full range of bit depths and scalers
* Allow GTK+ scalers to set window size in GTK+ UI
* Allow selection of "TV speaker" or "beeper"-style sound output
* Allow hot-key switching between full-screen and windowed mode in SDL UI
* New end of tape flag
* AF and AF' were swapped when reading and writing SZX files
* Support for Fuller Box and Melodik (and similar AY interfaces) in snapshots
* Support for Opus Discovery in snapshots
* Support for the NTSC 48K Spectrum
* Support for stereo sound files
* Add proper support for +2A/+3, Pentagon and Scorpion in .z80 files
* Various fixes for compiling with Visual Studio 6
* Various minor bug fixes/improvements:
* Looser signature checks for .dsk files
* --without-(bzip2|zlib) options to configure for Gentoo and similar
distributions
* Handle querying the block length for turbo and pure data blocks
with 0 length
* Fix loading of Warajevo TAPs with raw samples
* Fail sensibly if file decompression fails
* Remove various unused variables, initialisations etc
"Looks good" from wiz@ and obache@.
ChangeLog for 0.13.0 is not updated but there is a list in announcement:
This release consists of over 2,500 commits from 145 contributors.
Some major features were added in this release including:
- vhost-net: kernel-accelerating network backend for virtio devices (using KVM)
- qmp: significant improvements covering most monitor commands
- vnc: introduction of new encodings that dramatically improve bandwidth
(part of GSoC project)
- ivshmem: new shared memory device allowing multiple guests to share
a memory region
- mips: introduction of fulong mini-pc
- virtio-9p: introduction of a paravirtual file system passthrough mechanism
- hpet: many enhancements
- target-s390: support for s390 usermode emulation
- many more features and bug fixes
A special note about QMP support in 0.13.0. QMP is still considered
experimental in 0.13.0. There are no plans to change the protocol
in an incompatible way but there are likely to be missing features.
ChangeLog for version 0.12.5:
- audio/alsa: Handle SND_PCM_STATE_SETUP in alsa_poll_handler
- block: Handle multiwrite errors only when all requests have completed
- block: Fix early failure in multiwrite
- vpc: Use bdrv_(p)write_sync for metadata writes
- vmdk: Use bdrv_(p)write_sync for metadata writes
- qcow2: Use bdrv_(p)write_sync for metadata writes
- qcow: Use bdrv_(p)write_sync for metadata writes
- block: Add bdrv_(p)write_sync
- qcow2: Restore L1 entry on l2_allocate failure
- block/vdi: Fix image opening and creation for odd disk sizes
- block/vpc: Fix conversion from size to disk geometry
- qcow2: Remove abort on free_clusters failure
- vmdk: Fix COW
- qcow2: Fix creation of large images
- vmdk: fix double free
- qemu-options: add documentation for stdio signal=on|off
- target-arm : fix parallel saturated subtraction implementation
- target-arm : fix thumb2 parallel add/sub opcode decoding
- target-arm: fix addsub/subadd implementation
- target-i386: fix xchg rax,r8
- block/vvfat.c: fix warnings with _FORTIFY_SOURCE
- audio/alsa: Spelling typo (paramters)
- target-mips: fix DINSU instruction
- Correct definitions for FD_CMD_SAVE and FD_CMD_RESTORE
- qcow2: Fix corruption after error in update_refcount
- qcow2: Fix corruption after refblock allocation
- block: Fix multiwrite with overlapping requests
- qcow2: Fix error handling in l2_allocate
- qcow2: Clear L2 table cache after write error
- ide: Fix ide_dma_cancel
- usb-bus: fix no params
- Avoid crash on '-usbdevice <device>' without parameters
- Fix -usbdevice crash
- Fix multiboot compilation
- Fix missing symbols in .rel/.rela.plt sections
- target-ppc: fix RFI by clearing some bits of MSR
- Fix typo in balloon help
- arm_timer: fix oneshot mode
- arm_timer: reload timer when enabled
- qemu-sockets: avoid strlen of NULL pointer
- block: fix aio_flush segfaults for read-only protocols (e.g. curl)
- virtio-blk: fix barrier support
- block: fix sector comparism in multiwrite_req_compare
- pci: irq_state vmstate breakage
- qemu-img: use the heap instead of the huge stack array for win32
Pkgsrc changes:
patch-aa
patch-ao
patch-ba
patch-de
patch-ed
- lifted from previous (some adjustments per upstream changes)
patch-ab
- removed (looks similar fix applied in upstream)
patch-dd
- adjust configure for location of man page dir (as previous)
- fix detection for arm hosts
patch-dk
- removed (looks no longer applicable due to reorganized upstream)
patch-ee
- remove old e1000.c fix (pulled up to upstream)
- pull block/sheepdog.c build fix on *BSD hosts from upstream
patch-ef
patch-eg
patch-eh
patch-ei
- workaround for conflicts with SSP read() macro in NetBSD's <ssp/unistd.h>
(PR lib/43832: ssp causes common names to be defines)
patch-ej
- pull build/warning fixes in ui/vnc-enc-tight.c from upstream
patch-ek
- pull ATA PIO fix (by jakllsch@) from upstream
- pull warning fix from upstream
patch-el
- workaround for missing C99 FP macro on netbsd-4
(PR pkg/42899, but od(1) fixes for netbsd-4 not included)
patch-em
patch-en
- build fix on NetBSD/arm host using gcc-4.1.3
(built qemu binary on NetBSD/hpcarm host fails though)
patch-eo
patch-ep
patch-er
patch-es
- pull ESP SCSI DMA fixes (that might affect sparc) from upstream
patch-eq
- pull ESP SCSI DMA fixes from upstream
- disable broken ARC JAZZ floppy that causes hang on MIPS NT 4.0 guest
Makefile
- bump DISTNAME
- add makeinfo to USE_TOOLS
XXX: gets "qemu-doc.texi:7: warning: unrecognized encoding name `UTF-8'."
- adjust SUBST_FILES.qaudio per upstream changes
- enable nbd support *BSD per upstream update
PLIST
distinfo
- update per each file
pkgsrc changes: none.
upstream changelog:
3.2.1 to 3.2.2: (September 17, 2010)
* Fixed bug with window centering; if enabled and the the window was
larger than the desktop, the window would be moved offscreen.
-Have fun!
3.2 to 3.2.1: (August 25, 2010)
* Improved behaviour of joystick 'hat' movement. This should fix bugs
most visible in Yars' Revenge.
* Fixed bug in debugger rewind states; bankswitching wasn't being
performed during the rewind. Related to this, fixed a similar issue
with the debugger 'loadstate' and 'savestate' commands.
* Added game properties info and snapshot for the newly released
'Halo 2600' ROM.
3.1.2 to 3.2: (August 20, 2010)
* NOTE: because of the many event-related changes in this release, all
event mapping should be reset to defaults after starting Stella for
the first time. As well, because of other internal changes, older
save-state files are no longer valid.
* Many improvements to joystick handling code, particularly for analog
axes. Navigating the UI should be much smoother now, and remapping
events to analog axes should be less 'twitchy'.
* Added ability to assign and remap 'combo' events in emulation mode.
Combo events are basically a sequence of normal events (up to 8)
that are generated from a single event (ie, one button on a joystick
could generate up to 8 events). Updated Input Settings UI to
access and modify these events.
* Default mappings are now available in UI and emulation mode for the
first 'hat' detected on a joystick/gamepad. Related to this, a hat
now works exactly like an axis in UI mode (holding down a direction
continues that direction until the hat is released/centered).
* Several major improvements to the debugger:
- the disassembler can now process multiple entry points, and
caches entry points as they're encountered (ie, the disassembly
isn't 'reset' each time a bank change occurs or you exit and
re-enter the debugger)
- preliminary support for disassembling from zero-page RAM
- re-added ability to change banks with the 'bank' debugger
prompt command and within the ROM disassembly UI
- user labels in disassembly are now supported again
- 'runto' command is now case-insensitive, and shows a progressbar
while searching through the disassembly
- the debugger window can be resized between ROM loads (previously,
the app had to be restarted)
- fixed bug in Distella disassembler output, where it sometimes
generated addresses above $FFFF
- a vertical line separates the disassembly from the raw bytes
* Fixed behaviour of SWCHB and SWBCNT; pins set to output now remember
the values previously written. Some ROMs use this functionality for
extra storage. Special thanks to Omegamatrix of AtariAge for advice
and test ROMs in this area.
* Fixed bug when reading from illegal TIA addresses; a Space Invaders
hack was showing pink enemies instead of white ones. Again, special
thanks to to Omegamatrix of AtariAge for advice and test ROMs in this
area.
* Fixed bug in handling INPT4/INPT5 latches from VBLANK; a least one
ROM was working in Stella when it didn't on real hardware.
* Added 'ramrandom' commandline argument, which is used to randomize
all RAM in the system; otherwise, the RAM is zeroed.
* Added 'finishing touches' to some of the UI descriptions, giving a
better explanation of the functions. Related to this, certain
options now show a message box explaining the option in further
detail (particularly the ROM Audit mode). As well, when starting
Stella for the first time, a prompt appears to select a ROM
directory.
* Fixed bugs in the ROM launcher when viewing certain PNG images not
created by Stella. Related to this, the official PNG library is now
included in the Stella codebase (version 1.4.3). Also added composite
snapshots for those ROMs which consist of several games. Thanks go
to Buzbard of AtariAge for these images.
* Added several fixes for crashes on 'small' systems (those systems
where the maximum resolution is less than 640x480).
* Tweaked bankswitch autodetection for 0840, DPC+, E7 and UA schemes.
* Improved F8 bankswitch autodetection for Yars Revenge in 8in1 ROM.
* Updated DPC+ bankswitch scheme to latest specifications.
* Snapshots taken in continuous snapshot mode are now timestamped, so
older files are never overwritten.
* Fixed a TIA segfault that could occur with certain ROMs.
* The 'center' application window functionality can now be changed
without having to restart the application. Related to this, mouse
positioning bugs when using the Linux version in OpenGL mode with
SDL 1.2.14 have been fixed.
* Reworked the manual, dividing it into 'Getting Started' and
'Advanced Configuration' sections. It still contains the same info
as before, but hopefully in a better organized way.
* Updated Help dialog; it was showing incorrect info for some OSX
shortcuts.
* Updated OSX build script to not crash when a previous build is
detected, and to properly handle filenames with spaces.
* Updated included ZLib to latest release version (1.2.5).
3.1.1 to 3.1.2: (May 3, 2010)
* Modified 'showinfo' command to accept levels of output, where
increasingly larger numbers provide more debug output. Related to
this, added UI item to modify 'showinfo'.
* Updated DPC+ bankswitch scheme to latest specifications, including
support for 32K ROMs with ARM code (the ARM code is ignored for now).
* Fixed bug in saving patched ROMs using DPC and DPC+ bankswitch
schemes; the saved image didn't actually include any changes made by
the user.
* Removed 'uselauncher' from the UI, since disabling it will remove
the ROM launcher on all future runs, and not allow one to enable it
again. It's still available from the commandline, for those that
have a need for it.
3.1 to 3.1.1: (April 26, 2010)
* Fixed program crash when using RIOT addresses and labels in the
debugger console prompt.
* Updated DPC+ bankswitch scheme to latest specifications.
3.0 to 3.1: (April 22, 2010)
* Fixed a major bug with text drawing in software rendering mode.
Switching between windowed and fullscreen mode while text was being
shown could result in garbled text or even a program crash.
* Fixed issues when using 'sleep' timing, whereby a lockup could occur
when changing video modes, and/or Stella would consume more CPU time
than was necessary.
* Integrated Distella disassembler, completely replacing the previous
disassembler. The entire infrastructure has not been completely
ported yet. As a result, labels defined by the user or from a
DASM symbol file aren't actually used in the disassembly, and almost
all distella config options are disabled. These will be addressed in
a future release.
* Completely reworked the debugger cartridge interface, so that
the disassembly is dynamic (ie, the debugger tracks when cart address
space has changed, and automatically performs a re-disassembly).
* All carts with extended RAM that differentiate between read and write
ports now behave correctly when a read from the write port occurs.
* Added more complete support for the more esoteric bankswitch
schemes in the debugger. These schemes now support accurate
disassembly and ROM patch functionality. Related to this, fixed a
bug in disassembler view when a failure to patch a ROM still showed
the (incorrect) patched results.
* Added ability to disable TIA object collisions, independent of
enabling/disabling the objects. Previously, one had to completely
disable an object to avoid collisions, but now an object can be
enabled (and seen) but still have its collisions disabled. These
actions are tied to the same keys as the enable ones, except the
'Shift' key is also used.
* Added preliminary support for 'DPC+' bankswitching scheme, thanks to
Darrell Spice Jr and Fred Quimby.
* Added '16in1' bankswitching scheme, which works with various
ROMs labeled '128-in-1 ...' (the database has been updated for
these). Related to this, switching between multicart ROMs for 2in1,
4in1, 8in1, 16in1 and 32in1 now shows a UI message indicating which
ROM is active.
* Reverted some of the TIA improvements with respect to 'starfield
effect' as seen in "Cosmic Ark" and "Stay Frosty". The emulation is
now more accurate as compared to the majority of consoles in use.
* Added debugger pseudo-register '_rwport', which traps on a read from
the write port. This differentiates from reads that are normally
part of a write cycle (ie, it traps only on inadvertent reads).
* Added 'resolvedata' commandline argument and associated UI item, used
to set the "resolve data sections" config option in Distella
(vs. treating all address space as code).
* Added 'runtopc' debugger command, used to step until encountering the
given program counter. This is also available in the ROM disassembly
UI from the right-click context menu.
* Added 'listfunctions' and 'delfunction' debugger commands to
access/remove user-defined functions. Related to this, fixed a bug
in 'function' command that could cause a program crash.
* Added 'cls' debugger command, used to erase the text and history
from the debugger prompt.
* Removed the 'listwatches' and 'poke' debugger commands, as they
were redundant.
* Removed the 'loadlst' debugger command and the ability to use a
DASM .lst file. This code was incomplete, and no longer fits with
the recent disassembler improvements. Support for this may return
in a future release.
* Modified 'disasm' debugger command to accept a second argument
indicating the number of lines to disassemble.
* Improved tab-completion in the debugger prompt; it now completes
on functions and pseudo-registers.
* Added emulation of the "Sega Genesis" controller, with two buttons
that are directly supported on a real system.
* The ZLib library is now included in the core code, so Windows
developers no longer have to track down the ZLIBWAPI archive.
* Many changes to the MacOS X port, bringing it more in line with
other systems:
The application is now known as 'Stella' (instead of StellaOSX).
Two versions are available: the first is a 32-bit Universal Binary
for OSX 10.4 - 10.6, and the second is 32/64-bit Intel-only for
OSX 10.6 (aka Snow Leopard). The Intel version is compiled with the
very latest compiler (LLVM/Clang), resulting in better performance.
The keyboard handling is changed to match other systems in terms of
where the keys actually are on the keyboard (ie, the OSX Command key
corresponds to Alt, and the OSX Control key corresponds to Control).
The application menu has been cleaned up and simplified, and it
now shows the correct shortcuts for menu items.
The settings file is now (according to Apple standards)
'~/Library/Preferences/net.sourceforge.Stella.plist'.
The base directory (where all other Stella stuff is located) is now
'~/Library/Application Support/Stella'.
Because of these changes, all your settings will have to be entered
again.
* Added 'ctrlcombo' commandline argument, which toggles the use of the
control key as a modifier key. This is useful if you want to press
'Control' and 'R' in a two player game, and not have the combination
treated as 'Control-R' (which will issue a ROM reload).
* Added 'usemouse' commandline argument and associated UI item. This
toggles the use of the mouse as a controller of any type.
* Added 'uimessages' commandline argument and associated UI item.
This toggles showing of UI messages overlaid on the screen.
Critical messages are still shown, though.
* Added ability to take multiple snapshots in a given interval every
x seconds. This is currently tied to the 'Alt-s' key and is not
remappable (for now). The interval can be set with the 'ssinterval'
commandline argument and within the UI, and defaults to 2.
* Many changes to the FrameBuffer and UI code for 'smaller' systems.
Stella will now scale correctly to small screens, down to 320x240
(which is the absolute lower limit supported). Related to this,
added 'maxres' commandline argument, which is useful for developers
testing on such systems.
* The About dialog now shows the version of SDL in use, and the type
of CPU the application is running on (i386, x86_64, etc).
* Improved 'listrominfo' commandline argument to list all information
from Stella's internal ROM database, including a heading. This
output can be imported into a spreadsheet or database program.
* Renamed 'tiafloat' commandline argument to 'tiadriven'. The
emulation of the behaviour of floating TIA pins is also much more
accurate.
* Reworked state files so that they're associated with the cartridge
type used, not the MD5sum of the ROM. This is useful for developers,
since the same state file can now be loaded from different ROMs,
as long as the cart type stays the same. This also fixes a bug
where loading from a non-existent state file could cause Stella
to crash. Because of these changes, old state files will no longer
work.
* Fixed bug in certain editable text fields, where pressing Return/Enter
would disable any further input.
Emulation:
- IDE improvements:
- Support for second drive (IDE slave)
- WIN_FORMAT command (allows HD Driver to format IDE drives)
- GEMDOS HDD emulation:
- Minor fixes to Fseek(), Fopen(), Fdatime() (e.g. Pure debugger works)
- On TOS v4 Fread() size arg is unsigned, on earlier TOS its signed
(bad code can use -1L to read whole file instead getting fail on TOS4)
- Prevent DTA and read/write functions accessing invalid memory areas
- Programs can now change read-only files to be writable
- Falcon sound emulation:
- Microphone (jack) emulation in Falcon mode (requires portaudio library)
- SSI direct sound entrance ("Audio Fun Machine" and winrec are working)
- DMA sound recording
- Crossbar handshake mode transfers
- Max VDI rez increased to TT-hi size (1280x960)
- 68020+FPU changed to 68EC030+FPU (no MMU 030) for Falcon and TT modes
(Some Falcon programs didn't work with 020)
- Video emulation on STF/STE:
- correctly shift the screen 4 pixels to the left when left border is removed
- add support for STE's 224 bytes overscan line without stabilizer
- when reading $ff8205/07/09 on STE, take into account the value
of horizontal scrolling/prefetch and linewidth
- when writing to $ff8205/07/09 on STE, correctly handle the case
where the write is made while display in ON
- LMC1992 emulation / STE sound filtering
0.8.D.2:
NES: Fixed a crash on certain x86_64 platforms(Mac OS X),
due to the sound filtering code dereferencing 32-bit
registers instead of 64-bit registers as it should have.
0.8.D.1:
Fixed a compilation error on gcc 4.5(thanks to hanno for
pointing it out).
0.8.D:
SMS: Some state that wasn't being saved in save states
now is, which should fix netplay desynch problems with
SMS/GG games.
Fixed a couple of remotely-exploitable(if connected to a
malicious server) stack manipulation bugs in the network
play code.
Fixed an incorrect object creation bug in pce/adpcm.cpp.
NES: Added a missing CPU emulator variable to save states.
PCE: Added a missing CPU emulator variable to save states.
0.8.D-rc1:
Lynx: Fixed a bug in the cart loader code that would cause
a crash if the ROM bank size was larger than the actual
data available in the file(as is the case with some homebrew
programs). Thanks to "Wookie" for the patch.
Build files were regenerated using autoconf 2.64 and aclocal
1.11(previously, they were generated with autoconf 2.61
and aclocal 1.10.1).
Fixed a crashing problem when entering an invalid menu
choice("0") in the cheat interface. Thanks to tsenart for
reporting the bug.
GB: The GameBoy module now respects the "filesys.disablesavegz"
setting in respect to saved battery-backed RAM.
Added support for "lurkers" on the network play server.
Previous versions of Mednafen don't lack support for this
per se, but there would be cosmetic issues with status
messages printed to the internal console.
SexyAL: Fixed a bug affecting the return value from
RawCanWrite() in the ALSA driver. The returned value was
typically too small by a factor of 4. The effects of this
bug included potential long periods of garbled sound during
netplay.
Fixed the return value from RawCanWrite() in the JACK
driver. It was being clamped to a value that was too small
by a factor of 4; however, the clamp value was already
excessively large in a way that this bug would should have
only been triggered if the "soundbufsize" setting was
excessively large. The effects of this bug would be similar
to the ALSA RawCanWrite() bug.
The ALSA and OSS drivers will now try to set audio output
to 2 channels if the source data only has 1 channel, and
16-bit signed if the source data is 8-bit(automatic conversion
is done). This is done to allow for lower period/fragment
sizes, as, in ALSA's internals at least, the minimum period
sizes are expressed in bytes, not sound frames.
The ALSA and OSS drivers will now try to set lower
period/fragment sizes than previous versions of Mednafen
did. With default settings, for ALSA, the new period/fragment
size is 50% of what it was before, and for OSS, 25%. Also,
there's a new setting to override the SexyAL's driver's
preferred period/fragment sizes, named "sound.period_time"(default
value of 0: no override). The period/fragment size is
expressed in microseconds. If the new, lower fragment
sizes cause problems, the setting can be changed to "2666"
to approximate the fragment size selection in previous
versions of Mednafen when using ALSA output, and "5333"
when using OSS output.
Added a workaround to the OSS driver for a bug in ALSA(and
hence, ALSA's in-kernel OSS emulation) that could cause
the emulator to run far too fast for a short period of time
if a buffer underflow occurred.
The ALSA's driver's RawCanWrite() method now(finally) uses
snd_pcm_avail_update() instead of snd_pcm_delay(). This
should improve performance and frameskipping behavior when
the ALSA output is not routed directly to a physical device,
such as the case with PulseAudio(though PulseAudio is still
not recommended :b). CVS:
----------------------------------------------------------------------
fixes to get png, jpeg, and ffmpeg support.
* Changes in VICE 2.2
======================
** General
----------
- On autostart, do not change true drive emulation (TDE) anymore by
default. The old behaviour can be switched on again by specifiying
-autostart-handle-tde on the command line.
There is one drawback of this behaviour: If TDE is switched on, an
image attached must fit to the drive type set. For example, when you
attach a .D81, you must have the drive type set to 1581, or the
autostart will fail.
- Added automatic Warp mode during autostart. If this resource is enabled then
VICE automatically enables the warp mode and then loads a file. After
loading the warp mode is disabled again and then the program is started.
- Autostarting a PRG file can now be done in three different ways:
* "Virtual FS": This mode mounts the directory where the file resides as a
virtual filesystem on drive #8 and then loads the PRG via virtual drive
traps. This was the only way of autostarting in previous VICE versions
and is still the default.
* "Inject to RAM": The PRG file is loaded from VICE directly into the RAM of
the emulated machine. Then the memory setup of a Basic LOAD is simulated
and the program is run. This is the fastest mode available but may lack
compatibility as no actual load operation was performed in the emulator.
However, no drive setup is altered during the operation.
* "Diskimage": VICE creates a temporary new disk image and copies the
contents of the PRG file onto it. Then this image is mounted in drive #8
and the program is loaded from there. If TDE is enabled then the load
operation is most compatible. The disk image stays attached until a new
image is mounted.
- Improved PAL emulation is now available for Unix/Xaw XVideo mode, and
AmigaOS. Only the YUV packed modes work, the planar modes still use the
old code paths, though.
- Sound core has been reworked to enable lower latency of operation.
Approximately 50 ms latency values are now routinely reached, and some
people have reported that as low as 30 ms still works for them.
- New SDL port. See ReadmeSDL.txt for details.
- New win64 ports, both amd64/x64 and ia64 are supported (msvc compile only).
- New SDL based armle, mipsle, ppcbe and shle QNX 6.x ports.
- New SDL based M68k and sparc SunOS ports.
- New SDL based Syllable port.
- New SDL based Dingoo port.
- Remote monitor (in other words: TCP/IP interface to VICE monitor) added.
- Fixed non-6502/6510 CPU handling in monitor.
** C64/C128 changes
-------------------
- ReSID's resampler has been optimized with MMX assembly. Some long-standing
bugs in resample-interpolate mode were also fixed.
- ReSID-FP has been optimized, too. It clocks the analog parts at half the
rate now, which saves CPU during filter emulation especially for 6581 modes.
- Added SFX Sound Sampler and SFX Sound Expander emulation.
- Added EasyFlash cartridge emulation.
- Added paddle emulation.
- Added lightpen/lightgun emulation, currently only available for the following
ports: SDL, GTK+, cocoa, win32/win64 and msdos.
- Added support for the following userport joystick adapters: CGA/Protovision,
DXS/HIT, PET (normally only used on the PET/CBM2), Hummer (normally only
used on the C64DTV) and OEM (normally only used on the VIC20).
** C128 changes
---------------
- Added RAM banks 2 and 3 support.
- Improved the VDC emulation.
- Stereo SID $D7xx range support.
** VIC20 changes
----------------
- New cycle exact emulation core. Handles accesses to unconnected
address space and in-line graphics data changes correctly.
(fixes "Impossiblator 3" and others)
- Improved VIC emulation (in-line color/reverse mode changes on half-chars).
- Cartridge handling rewritten.
- Added Mega-Cart cartridge emulation.
- Added Final Expansion cartridge emulation.
- Default memory configuration changed from full to unexpanded.
- Added paddle emulation.
- Added lightpen/lightgun emulation, currently only available for the following
ports: SDL, GTK+, cocoa, win32/win64 and msdos.
- Corrected the joystick support, since the VIC20 can only have one joystick
attached on the joystick port.
- Added support for the following userport joystick adapters: CGA/Protovision
(normally only used on the C64/C128), PET (normally only used on the
PET/CBM2), Hummer (normally only used on the C64DTV) and OEM.
** PLUS4 changes
----------------
- Added Digibooster SID Cart add-on emulation.
- Added SID Cart joystick port emulation.
- Fixed bug in tape recording.
- Improved graphics handling.
** C64DTV changes
-----------------
- Replaced old DTVSID emulation with ReSID-DTV.
- Minor bug fixes and emulation improvements.
- Added support for the following userport joystick adapters: CGA/Protovision
(normally only used on the C64/C128), PET (normally only used for the PET),
Hummer and OEM (normally only used on the VIC20).
** PET changes
--------------
- Corrected the joystick support, since the only way a PET can use a joystick
is by a userport joystick adapter, the following userport joystick adapters
are currently supported: CGA/Protovision (normally only used on the
C64/C128), PET, Hummer (normally only used on the C64DTV) and OEM (normally
only used on the VIC20).
** CBM2 changes
---------------
- Corrected the joystick support, since the only way a CBM2 can use a joystick
is by a userport joystick adapter, the following userport joystick adapters
are currently supported: CGA/Protovision (normally only used on the
C64/C128), PET, Hummer (normally only used on the C64DTV) and OEM (normally
only used on the VIC20).
** Unix changes
---------------
- Rudimentary PulseAudio sound driver has been added.
- Added support for dynamic loading of FFMPEG libraries.
- Added support for dynamic loading of OpenCBM and Lame library
* Changes in VICE 2.1
======================
** General
----------
- The VICEplus project has been joined with VICE. Thus, x64dtv is now
part of VICE.
- We can be contacted via IRC: #vice-dev on freenode
- Added a more accurate ReSID engine using floating point math (ReSID-FP).
- Added support for the USB HardSID.
- PAL emulation has been rewritten and optimized.
- Fixed the ACIA 6551 emulation. (x64/x128/xcbm2/xpet/xplus4)
- Monitor commands help text is now translated too
(in ports where translation is available at all)
- Monitor IO command now displays IO area even if it is currently
banked out.
- GCR file handling (.G64) issues an error message if the .G64 does not
have the expected outline. Before, VICE just silently ignored such
files.
- IRQ handling fix
** C64/C128 changes
-------------------
- Fixed the digimax sound generation.
- Added the RR clockport disable functionality at $DF00.0. Allows
to disable the RRnet.
- Improved REU compatibility and timing.
** C64 changes
--------------
- Added isepic cartridge emulation.
- Added Double Quick Brown Box cartridge emulation.
** VIC20 changes
----------------
- Improved the sound emulation.
- Fixed the lowest note bug.
- Improved VIC emulation (exact in-line color/reverse mode changes).
** C64DTV changes
-----------------
- New emulator.
** Unix changes
---------------
- XRandR fullscreen implemented
- Command line option `-fullscreen' is supposed to do something
useful.
- Vsync code imported from win32 (based on openGL extension).
see also doc/openGLsync-howto.txt.
- Vidmode (fullscreen support) is broken and therefore marked as
deprecated. It will be removed in the next release if no-one takes
responsibility to fix the broken code and is willing to maintain the
code.
- PAL Emulation (new implementation, improved speed) should be usable
again (it was broken on certain display depths).
- Log messages are always english.
- Only x11 keymaps will be installed when doing a 'make install'.
- MIDI cartridge emulation for x128, x64 and xvic.
* Changes in VICE 2.0
======================
** General
----------
- VICE development has moved to public services:
http://sf.net/projects/vice-emu
You can read the latest development in the Subversion
repository, file bug reports, and similar things.
Check it out!
- New Openserver 5.x, Openserver 6.x and Unixware ports.
- New AROS64 port.
- New QNX 4.x port.
- New HPUX (HPPA and IA64) ports.
- New SkyOS port.
- New Atari Mint port.
- New Solaris Express aka OpenSolaris aka Solaris 11 port.
** C64/C128 changes
-------------------
- Improved $01 behaviour with regards to unused bit fall-off.
- New experimental NEOS and Amiga mouse support.
- Added a working RTC to the emulation of the IDE64 cartridge.
- New more precise PAL emulation, works only with double size
and double scan.
- Added support for the Action Replay 4 and StarDos cartridges.
- Improved REU compatibility
- Fixed CPU timing bug introduced in 1.22 (demo "Borderless").
- Fixed bugs in the CIA emulation (demo "So-phisticated",
W. Lorenz testsuite).
- Fixed various bugs in VIC-II emulation: Sprite x-positioning,
Latch X/Y, video mode changes, DEN bit handling, raster IRQ,
NTSC sprites and sprites in full/debugging border mode (list
of fixed demos/games too long to mention here).
- RESTORE key is handled differently now, fixing an NMI bug
because the NMI was asserted too long before.
** VIC20 changes
----------------
- Added unconnected c-bus floating byte support.
- New more precise PAL emulation, works only with double size
and double scan.
** PET changes
--------------
- Added support for toggling CB2 sound output line.
** PLUS4 changes
----------------
- New more precise PAL emulation, works only with double size
and double scan.
** Drive changes
----------------
- Fixed block allocation and interleave.
** Unix changes
---------------
- Broken DGA1/DGA2 code removed
- XRandR fullscreen implemented for all (but CRTC/VDC) videochips.
- XRandR/Fullscreen can now toggle the Statusbar/Menu
- Fixed unix mouse for single sized display.
- Fixed mouse grab and xaw menu popup.
- After a CPU jam user can select to resume emulation without
reset.
** Miscellaneous changes
------------------------
- Added support for more 3rd party basic extenders to petcat.
- Extended BMP saving to support 24bit.
- Fixed the joystick code of all emulators to handle state changes
on both joysticks at the same time.
- New monitor commands and features.
- New memmap feature which allows tracking of memory accesses,
activated by the configure option --enable-memmap.
- Fixed bug in ffmpeg/FFV1 driver. Should be really lossless now.
Based on PR#43567 by Ryo ONODERA.
2010/05/27 - version 0.9.10 released
New feature: GEM clipboard support that allows you to pass data between
GEM clipboard and the host one (MS Windows, Mac OS X and X Window System).
It's currently implemented in FreeMiNT only and uses its aranym.xfs
virtual filesystem (U:\host\clipbrd). Please see setup instructions
in http://wiki.aranym.org/gem_clipbrd
Also couple of important bugfixes:
o fixed two nasty crashes in HostFS (related to recent symlink fixes)
o fixed Xcode building universal binaries on PPC
o VIDEL autozoom feature with correct aspect ratio for non-square pixels
2009/09/05 - version 0.9.9 released
This time mostly bugfixes:
o fixed possible crash in HostFS when quitting ARAnyM (not serious)
o fixed possible crash due to bug in libSDL up to v1.2.13 (very serious)
o fixed some redrawing problems in 8 and 16 color depths with soft NfVDI
o fixed all compile time warnings and Categories entry in aranym.desktop
o fixed weirdness when mouse pointer was leaving the window on Win and OSX
o fixed problem with invalid HostFS symlink breaking directory list
o improvement: HostFS symlinks are now shown as relative if possible
o fixed indirect descriptors handling in MMU
o fixed HostFS symlinks for certain path configurations
o added Mode key in the set of ARAnyM hotkey modifiers
o fixed Alt+mouse click problem on Mac OSX
o fixed Right Shift detection upon startup
If you found ARAnyM crashing previously when moving windows around
or doing any other activity where VDI had to blit screen areas then
please upgrade to this version ASAP. We've added a workaround for
a serious bug in the libSDL that was causing these weird ARAnyM crashes.
2009/04/25 - version 0.9.8beta released
o CPU: fixed TRAPcc and FTRAPcc instructions (for Guillaume's mplayer :-)
o VIDEL: pixel precise horizontal scrolling implemented
o fixed BUSY signal handling on the parallel port
o fixed mouse grab/ungrab/autograb (see below)
o added new ARAnyM mouse cursor (white arrow)
o added middle mouse button handling (in Eiffel mode)
o added suport for reversing mouse Y-axis in IKBD (used in Linux-m68k)
o fixed many DSP56001 instructions
o fixed NFJPEG on 64bit hosts
o fixed several NF drivers to work under FreeMiNT (not rely on __NF cookie)
o buggy JIT-FPU was disabled. Now FPU is precise though slower in JIT mode
Mouse grab/ungrab/autograb has changed: first, ungrabbing when leaving
ARAnyM window was fixed (issue with autograb on the window border).
Then, ARAnyM got a new mouse cursor (white one) so you can recognize
now when the mouse is grabbed (the cursor pointer is black in TOS)
and when it's not (the cursor pointer is white now).
At last, mouse autograb upon entering ARAnyM window was disabled until
we can ensure the Atari mouse cursor is positioned in sync with host
mouse cursor (will require Atari OS support, probably in a form
of aranym.acc and AES implementing appl_tplay).
Also the "AutoGrabMouse" config option has been removed.
2008/11/08 - version 0.9.7beta released
Mostly small fixes at various places plus a lot of work went into
improving the DSP56001 emulation. Also the sound DMA emulation is improved
to a point where GSXB driver should be unnecessary.
o improved automatic network setup on Mac
o reworked audio DMA emulation. Also added configurable host sound frequency
o one MMU bug fixed (regarding TTR)
o special support for halting ARAnyM on linux-m68k reboot (--halt)
o SDL GUI fixed (missing events after alerts)
o EMULOP is now privileged so if some old ARAnyM TSR starts crashing this is why
o joypads are now emulated
o joysticks and joypads can be configured in the config file
o '<>' and 'End' keys' scancodes made Atari compatible
Check the doc/config example file for the new [JOYSTICKS] and [AUDIO] sections.