libXext/buildlink3.mk, now that it is included there.
Leave the places where its API version is set or variables from it
are used directly (about 3 packages).
* Update emutos to 0.8.7
Changelog:
2012/09/20 - version 0.9.14 released
Mac users: check out the new bridged ethernet (see README_ethernet.rtf).
All users: try out the new Single Blit Composing and Single Blit Refresh
modes - they might give you a better video performance.
There are also many compilation and build fixes for various MacOSX targets
and few MPFR FPU fixes.
And last but not least, there's a neat user requested feature - mouse ungrab
(frees your keyboard and mouse from ARAnyM window so you can work in other
applications while ARAnyM is running) simply by clicking the host middle
mouse button (well, works only if you don't have the Eiffel mouse wheel
emulation enabled in settings).
* It seems that NetBSD/i386 and amd64 do not boot on this version of bochs...
Changelog:
Changes in 2.6 (September 2, 2012):
Brief summary :
- More than 10% CPU emulation speedup !
- Support for AMD's SVM hardware emulation (including extended XAPIC support).
- Implemented support for new x86 ISA extensions.
Bochs is fully aligned with rev043 of Intel(R) Architecture Manual.
- Improved emulation accuracy (critical fixes for APIC, VMX and AVX/XOP emulation).
- Bochs internal debugger: new command to show state of a device from the debugger.
- ROM BIOS: improved PCI boot ROM support (for VGA and other devices)
- Networking:
- Ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu.
- Added PCI network boot ROM support to all network adapters.
- Added TFTP support to the 'slirp' networking module.
- Harddrive: added support for VirtualPC disk images, fixed sparse disk images.
- Sound:
- implemented PC speaker beep using the lowlevel sound interface.
- SDL audio output support.
- Added ability to set log action per device from .bochsrc.
- Moved disk imaging, networking, sound and USB devices to subdirectories
in the iodev folder.
Detailed change log :
- CPU
- Implemented EPT A/D extensions support.
Bochs is fully aligned with rev043 of the of Intel(R) Architecture Manual.
- Implemented ADX (ADCX/ADOX) instructions support, the feature can
be enabled using .bochsrc CPUID option.
- More than 10% CPU emulation speedup with even more optimal lazy flags
handling, stack access optimizations and cross branch trace linking.
- Support for AMD's SVM hardware emulation in Bochs CPU, to enable
configure with --enable-svm option
- Implemented AMD Extended XAPIC support, to enable set .bochsrc CPU
APIC option to 'xapic_ext'
! Added Corei5 750 (Lynnfield) configuration to the CPUDB
! Added Turion64 (Tyler) configuration to the CPUDB
! Added AMD Phenom X3 8650 (Toliman) configuration to the CPUDB
! Added Corei7 3770K (Ivy Bridge) configuration to the CPUDB
- Bugfixes for CPU emulation correctness and stability
(critical fixes for APIC/X2APIC, VMX and AVX/XOP emulation)
- Bochs Debugger and Instrumentation
- Implemented new debugger command 'info device [string]' that shows the
state of the device specified in 'string'
- Improved debug dump for ne2k, pci, pic and vga/cirrus devices. Added
debug dump for pci2isa, i/o apic, cmos, pit, floppy and dma devices.
- Added TLB to CPU param tree - now it can be browsed from Bochs internal
debugger and Bochs debugger GUI through param tree interfaces
- Implemented 'writemem' debugger command to dump virtual memory block
starting from selected linear address into a file
- Updated definition of instrumentation callbacks, see description in
instrumentation.txt / Fixed instrumentation examples
- Configure and compile
- Moved disk imaging, networking, sound and USB devices to subdirectories
in the iodev folder.
- pcidev: enable support for Linux kernel 3.x (Debian patch by Guillem Jover)
- debugger: generate parser / lexer files only if all required tools are present
- Config interface
- Added support for direct device plugin loading with bochsrc directive for
devices which have the same name for the plugin and config option.
- The bochsrc option 'plugin_ctrl' can now be used to load/unload optional
plugins directly when parsing the config file or command line. See the bochsrc
sample for supported devices.
- Moved bochsrc parsing / writing and config parameter handling for networking,
sound and USB devices to the plugin device code. The options are only
available when the corresponding plugin device is loaded.
- Added ability to set log action per device from .bochsrc.
- Added new command line option '-noconsole' to disable the console
window on Windows host.
- Renamed PCI Pseudo NIC option to "pcipnic" (for direct plugin loading)
- Moved several related options to the new "keyboard" bochsrc option.
- Added new parameter 'rtc_sync' for the 'clock' option. If this option
is enabled together with the realtime synchronization, the RTC runs
at realtime speed.
- Moved MWAIT_IS_NOP bochsrc option from CPUID to CPU so it can be set
even if cpu was configured using pre-defined CPUDB profile.
- Allow larger CPU 'quantum' values when emulating SMP systems for speed
(quantum values up to 32 are allowed now).
- I/O Devices
- Networking
- Ported Intel(R) 82540EM Gigabit Ethernet adapter emulation from Qemu,
to enable configure with option --enable-e1000
- Added PCI network boot ROM support to all network adapters
- Added TFTP support to the 'slirp' networking module
- PCI
- added "auto-assign to PCI slot" feature for PCI-only devices
- DMA
- Added the capability to transfer more then one byte / word per ISA DMA cycle
- VGA
- Major rewrite of the vga / cirrus code:
- vgacore (shared standard VGA emulation code)
- vga (Bochs VBE and PCI VGA)
- cirrus (CL-GD 5430 ISA / CL-GD 5446 PCI)
- Added VGA graphics blinking support
- More accurate vertical and horizontal retrace emulation
(based on the DOSBox implementation)
- hard drive / hdimage
- added new disk image mode 'vpc' for VirtualPC images
- undoable mode: added coherency check (flat image size and timestamp)
- sparse mode: fixed read support
- Sound
- implemented PC speaker beep using the lowlevel sound interface
- added SDL audio output support
- ROM BIOS
- improved PCI boot ROM support (for VGA and other devices)
- added MADT entry for Interrupt Source Override to ACPI tables
- GUI and display libraries
- implemented "auto-off" timer for status LEDs indicating a data transfer
- Added support for sending absolute mouse position values from the gui if an
absolute pointing device (USB tablet) is active (rfb, sdl, win32, wx, x).
- Gui debugger now supported when using sdl gui on Windows
- Implemented "hideIPS" option in rfb, sdl, win32 and wx libraries
- wx: fixed random freezes with wxGTK and "show ips" feature enabled
- rfb: the "show ips" feature now works on Windows host
- Tools
- bxcommit: added support for converting growing to flat mode images
- bxcommit: support command line options and non-interactive (quiet) mode
- bximage: increased maximum disk size to 8 TB
- SF patches applied
[3540389] Patch 5 : Change memory reference functions argument order by Yeong-uk Jo
[3539254] Patch 4 : Memory reference optimization 2 by Yeong-uk Jo
[3539251] Patch 3 : Memory reference optimization by Yeong-uk Jo
[3539237] Patch 2 : Some optimization by Yeong-uk Jo
[3539228] Patch 1 : ROM BIOS Compatibility patch by Yeong-uk Jo
[3505209] Fixed combo box size by Konrad Grochowski
[2864391] Gui debugger default regs by Thomas Nilsen
[3486555] Fix critical stack leak in Win32 GUI by Carlo Bramini
- these S.F. bugs were closed/fixed
[625877] wx: power button -> thread deadlock
[3534063] Configure does not check for flex presence
[3555237] NE2000 doesn't compile on OS/X
[3553168] X doesn't build in latest code on OS/X
[3550175] Crash when saving snapshot to directory instead of file
[3548109] VMX State Not Restored After Entering SMM on 32-bit Systems
[3548108] VMEXIT Instruction Length Not Always Getting Updated
[3545941] Typo in preprocessor symbol
[3538731] Missing CR8 register
[3538574] Missing XD flag ( Execute Disable ) when showing PTEs
[3537556] Missing initializations
[3537309] Unable to use the debug GUI with SDL and plugins
[3537473] GUI debugger only shows 32-bit CRx registers in x86-64 mode
[3533426] UHCI PCI interrupts
[3459359] svga cirrus initialization
[3535228] info gdt does not show long mode segments
[3531806] Bochs crashes (SIGSEGV) when starting via ssh console
[3531807] Various missing initialization values reported by Valgrind
[635789] mapping mode 0 not supported
[3307201] BOCHS panics when execute HBIOS.COM
[3528809] IO APIC index register width
[3528516] Missing #if in soundmod.h
[3526069] MADT:Interrupt Source Override missed
[3518753] update dump after manual chages to memory contents
[3516859] bug in svn e1000 module
[3516029] stepping not working in debugger GUI in case of smp vm
[3510403] closing config dialog box closes entire simulator
[3459998] Bochs cannot be compiled outside the source tree
[2905969] can't use --enable-gdb-stub on vs2008
[3294001] Bochs GUI doesn't appear properly for 2nd Bochs copy
[3493315] Changing VGA 9/8 dot mode causes screen corruption
- these S.F. feature requests were closed/implemented
[3540441] automatically enable devices in plugin control
[1251456] command line method to query bochs for features
[3409396] sdl sound
[3519794] debugger's ability to save physical/linear memory dumps
[1429612] Idea how to speedup simulation - stack direct access
[1703452] Other Network Devices?
[2919376] Disable show the console window
[534271] can't set log action by device (bochsrc)
given the libz typedef "voidp" for void *, "const voidp" does not magically
inject const inside the typedef'd type. Use the libz typedef "voidpc"
instead. May fix PR 46996.
Changes since version 1.1.1:
System emulation
All targets
* ... QMP error changes go here ...
* File descriptors can be passed to qemu using the new
add-fd/remove-fd QMP commands. It is intended that they can
be used in any place where QEMU would expect a file name.
This is ensured for disk images, support in other parts of
QEMU may still be inconsistent.
ARM
* LPAE (large physical address extensions) are now supported
for the Cortex-A15 CPU; you can now run a vexpress-a15 model
with more than 4GB of RAM
* The new monitor command "dump-guest-memory" creates an ELF
dump of the guest memory.
* New board model: i.MX31
PowerPC
* The pSeries target correctly creates segment size device
tree nodes (fixes odd bugs with HV vs PR KVM)
* The pSeries target implements an IOMMU.
* ... pSeries VGA, USB, etc.? ...
* The E500 target generates its device tree dynamically
* New mpc8544ds -machine option: dumpdtb. This allows to dump
the dynamically generated device tree to a file.
* Emulation for e5500 cores
* PC87312 Super I/O chipset emulation for PReP, adding
parallel port to prep machine
x86
* Support for PCI passthrough is available for Xen
fully-virtualized domains.
* The new monitor command "dump-guest-memory" creates an ELF
dump of the guest memory.
* When using KVM, the in-kernel APIC supports MSI.
* Also when using KVM, new PV EOI feature improves performance
when both host and guest run linux 3.6-rc1 and up. To
enable, add +kvm_pv_eoi to -cpu option, e.g.
-cpu kvm64,+kvm_pv_eoi
* The "cpudef" config file section is being deprecated and may
be removed in v1.3.
Device emulation
* VGA and QXL cards (obtained with -vga std and -vga qxl) have
16 MB of VRAM rather than 8 MB.
* Three new SCSI host bus adapter devices are available:
am53c974 and dc390 emulate respectively an AMD PCI PCscsi
and a Tekram DC-390 device, both of which are supported on
older operating systems including MS DOS 6.2, MS Windows 3.11,
98 SE, NT 3.1 and NT 4.0. megasas emulated an LSI SAS1078 RAID
controller. The next version of SeaBIOS will support booting
from am53c974 and dc390 disks.
* An USB-attached SCSI controller is now available.
Audio devices
* The PC speaker audio card is now available by default.
Network devices
* The guestfwd argument to slirp now supports running an
arbitrary command on every TCP connection (as in inetd).
This is invoked by specifying a target that starts with "cmd:".
Block devices
* Emulated IDE and SCSI as well as virtio-blk devices can now
switch the cache mode between writethrough and writeback.
virtio-blk automatically switches to writethrough if the
guest driver doesn't support flushes.
* The default cache mode for images is now writeback.
* Emulated SCSI devices can be given a custom vendor name,
product name and WWN.
* Improved support for passthrough of SCSI tapes and media changers.
* libiscsi can be used together with scsi-generic to pass
iSCSI tapes and media changers to the guest.
* When raw files are streamed, parts of the files that are
holes in the underlying filesystem are treated as
unallocated (as long as the OS supports either the FIEMAP
ioctl or the SEEK_HOLE/SEEK_DATA modes)
* CD-ROM drives can now be used with AHCI
qcow2
* qcow2 images support a new option, lazy_refcounts. If on,
the speed of cache=writethrough mode will be improved, at
the cost of requiring an fsck-like pass (and thus QEMU 1.2)
to use the image again after a power loss.
* qemu-img check can now repair qcow2 and QED images with the
new -r option.
VMDK
* Support for images in the streamOptimized subformat has been
fixed. This is a VMDK subformat commonly used with OVF appliances.
rbd
* rbd no longer ignores the cache setting
Live Migration, Save/Restore
* Migration works much better with guests with large memory.
* USB mass storage and passthrough devices support live migration.
VNC
* The threaded VNC server is now enabled by default.
Guest agent
* A new command "fstrim" was added to the guest agent.
New targets
* OpenRISC is now supported for both user-mode and system emulation.
- Fix a bit of pkglint.
- patch-aa is no longer needed.
Upstream changelog:
3.7.1 to 3.7.2: (June 10, 2012)
* Fixed bug in handling filenames with the '~' character, as is used
extensively by RomHunter rom-sets.
-Have fun!
3.7 to 3.7.1: (June 8, 2012)
* Note: because of TIA changes, the state file format has changed again,
and old state files will not work with this release.
* Improved TIA emulation with ROMs that have too few or too many
scanlines; the output is now more accurate compared to a real TV.
Special thanks to Omegamatrix of AtariAge for test ROMs in this area.
* Modified hotkey for "Change console palette" (Control-f) to also
change the display properties of the TIA. This allows you to switch
between NTSC/PAL/SECAM (and variant) modes dynamically. Related to
this, added Shift-Control-f key to step backwards through the
available modes.
* Added '64in1' and '128in1' multicart bankswitching schemes, which work
the same as the 2in1/4in1/etc ones (Control-r switches to each
consecutive game in the ROM).
* Fixed several bugs in DPC+ bankswitching scheme, including ability
to load and save state files. As well, ROMs now work correctly after
console format autodetection.
* Fixed bugs in handling relative filenames on the commandline,
introduced in the last release. The new functionality should be much
more robust.
3.6.1 to 3.7: (June 1, 2012)
* Added Blargg TV effects, with presets for Composite, S-video, RGB,
and badly adjusted TV, and well as a custom mode with full
configurability of contrast, brightness, gamma, etc. Many
keyboard shortcuts and commandline arguments were added to support
this; see the documentation for a detailed explanation. These
effects are OpenGL-only. Special thanks to Ian Bogost and the
Georgia Tech Atari Team for the preliminary implementation.
* Updated the CompuMate keyboard handler to recognize more keys on an
actual keyboard, instead of having to remember the weird combinations
used on the original CompuMate keyboard (although those original keys
will continue to work). Related to this, fixed bug whereby
'ghost keys' would be detected by the CompuMate, particularly after
pressing 'Enter' to start a game from the ROM launcher.
* Added emulation for MindLink controller using the mouse; the 'Bionic
Breakthrough' and 'Telepathy' ROMs now work.
* Updated FA2 bankswitch scheme (Star Castle) to emulate load/save
high score functionality to the Harmony cart flash RAM.
* Added ability for ROM launcher to 'descend' into ZIP files when it
contains more than one ROM file. This means you no longer have to
unzip a multi-file archive before using each ROM. Thanks go to Roland
Schabenberger (webOS maintainer) for this idea and sample code.
* Several improvements to the debugger/disassembler:
- The 'resolvedata', 'showaddr' and 'gfxformat' commandline
arguments are renamed to start with 'dis', indicating that
they're used with the built-in disassembler.
- Zero-page code addresses no longer have their high-byte
truncated, and system equates (TIA and I/O registers) are now
properly marked as such.
- The Distella '-r' option (Relocate calls out of address range)
is no longer the default, resulting in output more consistent
with normal usage of Distella. Related to this, added the
'-dis.relocate' commandline argument (and associated UI item)
to toggle this dynamically.
* Fixed bug in EFSC bankswitch scheme state saving; the Superchip RAM
wasn't actually being loaded and saved to state files.
* Improved speed of loading and saving state files, as well as slightly
reducing their size. Because of this, old state files will not work
with this release.
* Replaced commandline argument 'uselauncher' with 'exitlauncher'. The
new option specifies the behaviour of the ROM launcher when exiting
a ROM (always exit to launcher, or only when the launcher was actually
used). This setting can now be changed in the GUI.
* Several updates to the internal properties database:
- 'Juno First' ROMs now use an AtariVox/SaveKey when possible
- 'Astroblast' ROMs now use the paddles by default
- 'Star Castle 2600' ROMs added
* Changed key-combo for enabling TIA objects and collisions to be
toggled on and off with the Alt-period and Shift-Alt-period
respectively (instead of having two separate keys to turn them on
and off).
* When working on the commandline, relative filenames are now
correctly handled (current working directory is used).
* The Windows 98/ME/2000 builds have been discontinued, due to code and
features that are only available on Windows XP/SP3 and later.
* Updated included PNG library to latest stable version.
3.6 to 3.6.1: (March 30, 2012)
* Extended FA2 bankswitch scheme to handle 28K ROMs (in addition to
the previously supported 24K ROMs).
3.5.5 to 3.6: (March 16, 2012)
* Added support for 2600-daptor II device, including native support
for 7800 controllers, BoosterGrip and Keypad controllers. Special
thanks go to Tom Hafner for a complimentary test sample of this
device, and also for donating a BoosterGrip controller.
* Added ability to dynamically swap the port order of Stelladaptor/
2600-daptor devices with the 'Control-1' key combo (useful if you
have only one 2600-daptor and want to use it as a left port
normally, but as a right port for Star Raiders, etc).
* Added CompuMate bankswitching/controller support to the emulation
core; the Spectravideo CompuMate ROMs (NTSC and PAL) now work.
Frequently used keys on the CompuMate are directly mapped to your
keyboard (ie, Func-Space for backspace is mapped to Backspace, etc).
Loading/saving from the cassette player is not yet supported, and
will come in a future release.
* Fixed bug in BoosterGrip controller emulation; the functionality
of the booster and trigger buttons was reversed. Related to this,
renamed these actions in the Event Mapping dialog to be more clear.
* Reverted to SDL 1.2.14 for the Windows 98/2k release, since SDL
1.2.15 isn't supported in that environment.
* Updated included PNG library to latest stable version.
3.5 to 3.5.5: (February 4, 2012)
* Due to changes in the debugger, old state files will not work with
this release.
* Fixed bug in sound restructuring introduced in the last release; in
some cases, there could be some sound 'crackling' when starting a
ROM after at least one ROM had already been loaded.
* Several significant improvements to the debugger I/O tab:
- added controller input widgets for many of the built-in
controllers, allowing to control joysticks, paddles, etc
from within the debugger.
- added ability to modify the SWCHB/SWBCNT port B registers.
- added ability to view TIA INPTx and VBLANK latch/dump bits.
* Reworked 'mcontrol' argument, and added ability to map the mouse
axes separately for paddles 0-3 or driving controllers 0-1. In
such modes, the left mouse button is tied to the x-axis, and the
right button is tied to the y-axis.
* Mouse 'specific-axis' mode is now saved per-ROM, meaning that each
ROM can have separate settings. For example, this allows one ROM to
use paddles 0 and 1, while another can use paddles 0 and 2, etc.
* The key-combo for switching the mouse between controller modes is now
'Control-0' (Control-1,2,3 have been removed). This switches
between all possible modes for the current virtual controllers.
* Fixed bug in 'Fixed Debug Colors' mode; under certain circumstances,
playfield graphics could be coloured as being player graphics.
* Fixed bug in PAL color-loss setting in Video Settings; changing the
settings wouldn't take effect until the ROM was reloaded.
* Fixed bugs with cheatcode handling; loading a ROM with a cheat
disabled would sometimes trash the emulation. More work is
required in this area, including the ability to create more
advanced types of cheats.
* Updated ROM properties database for all Sega Genesis controller
compatible ROMs. Also, the mouse can now emulate a Genesis
controller, with the left/right buttons mapped to buttons B and C,
respectively.
* Added 'FA2' bankswitch scheme, thanks to code from Chris D.
Walton. This scheme will be used in an upcoming 'Star Castle' ROM.
* Updated internal ROM properties database to ROM-Hunter version 7
(thanks go to RomHunter for his tireless research in this area).
* Added several PERL tools to help in automation of analyzing RomHunter
ROM set releases.
* Fixed compile issues in Irix when using the default compiler
instead of gcc. Thanks go to Rainer M. Canavan for this code.
* Updated included PNG library to latest stable version.
3.4.1 to 3.5: (December 29, 2011)
* Stella is now DonationWare! Please see the DonationWare link on the
main webpage for more information.
* Added several improvements to the joystick management code. Joystick
event mapping is now saved per device, meaning that if you map events
to a certain joystick device, remove the device and then later insert
it again, Stella will remember the original mapping.
* The total number of joysticks present and their associated properties
(number of axes, buttons and hats) is now dynamic. That is, there's
no longer a hard-coded limit on the number of joysticks that Stella
can use, or the number of buttons, etc that it contains. This fixes
a serious bug with PS3 controllers with 27 buttons, whereby adding a
mapping for joystick 0 would inadvertantly change settings for
joystick 1, and could potentially lead to a program crash.
* Added 'mcontrol' commandline argument, which can specify to use each
mouse axis as a separate paddle. The old (and default) behaviour can
be activated by setting this argument to 'auto'. Related to this,
removed redundant 'usemouse' argument.
* Huge restructuring of the OpenGL code, making it compatible with
OpenGL 2.x+ features (such as vertex buffer objects), while at the
same time keeping compatibility with OpenGL 1.5 / OpenGL ES.
Because of the required changes, TV effects were removed (they will
be added again for the next release).
* Improvements to audio handling, particularly for certain cases of
Windows, ATI video cards, and OpenGL mode. The sound device is now
opened only once when Stella starts, and is paused between loading
different ROMs. This fixes a problem whereby sound could possibly
not be functional after loading the first ROM. Related to this,
removed the 'audiofirst' commandline argument as it's now redundant.
* Fixed bug with displaying the ROM launcher in Windows XP; the initial
load was sometimes taking up to 30 seconds to complete.
* Added logging facility, whereby the output of the application is
available within Stella itself. This can still be printed to the
console, or also saved to a file. Add the 'loglevel' and
'logtoconsole' commandline arguments which control these settings,
and removed the 'showinfo' argument as it's now redundant.
* Updated DPC+ bankswitching scheme to latest code provided by
SpiceWare.
* Added MAMCR handling to the Thumb ARM emulation code. Note that
MAMCR isn't actually emulated, it is just ignored for now. This
fixes a bug whereby accessing MAMCR would crash the ARM emulation.
* Added 'thumb.trapfatal' commandline argument, which causes the
Thumb ARM emulation to either trap on a fatal error (throw an
exception to the debugger and exit emulation) or simply log the
error and continue. This should normally always be enabled, but
can be disabled by developers for testing reasons.
* Updated default snapshot directory to be much saner and easier to
find. For most systems, it now defaults to the users 'Desktop'.
Note that the commandline argument has changed to 'snapdir'.
* The debugger 'print' command now indicates "special" addresses if
they are read-only (R), write-only (W) or read-write (R/W).
* Fixed a bug where scrolling the mouse-wheel in certain debugger UI
items would cause the program to crash; scrolling now works as
expected.
* Fixed minor display issue in the debugger RAM area; some addresses
were being displayed as '...'.
* Fixed compile issues in the latest versions of Ubuntu and Debian, and
fixed UNIX desktop file so that Stella will launch with a ROM when
selected from its icon. Thanks go to Stephen Kitt for this code.
* Updated included PNG library to latest stable version.
* Updated the credits list in the documentation, listing people that
have donated hardware to the Stella team.
Probably this was a problem for non-gcc / non-clang compilers, but such
a compiler wasn't tested. When lintpkgsrc tried to scan this package,
it spun around forever. Rewrite the CXX override code so this doesn't
happen. Fixes lintpkgsrc scan and probably build for rarer compilers
as well.
There were two problems building openMSX on NetBSD:
1) The was a name conflict with the funcion bswap16. This only appeared
on one file, so the function was prefixed with msx_ to solve it.
2) freetype-config is not located on $PREFIX on NetBSD with native X11.
Normally the wrappers abstract this but openmsx was making assumptions
and using absolute paths. The solution was to set the distroRoot
value to "None" which tells the configure process to not use a path
and those finds freetype-configure through the search path.
I compiled it, installed it, and executed openMSX with these patches.
Two years and a little over a month elapsed between the pkgsrc release
and the latest version 2.2.1 (5 May 2011). There were hundreds of
changes, but the vast majority were bug fixes and improvements on
existing functionality.
The only major addition was implementation of IDE.
See changelog in DOC/ChangeLog for details.
* Update configure script to force all platforms to use same installation
path as NetBSD
* The PLIST was built with fc-cache detected. This implicates fontconfig
as a dependency (without it, font still install but with a diff. name)
* like NetBSD, define HAVE_STDINT_H (other platforms may need it too)
Revbump required because package would have installed before without
PKG_DEVELOPER=yes, albeit incorrectly.
Version 2.1a is not compatible with zlib 1.26+. Luckily this problem
was fixed in version 2.2. Three patches were removed, and a few were
tweaked.
src/linux.c and src/win.c now have dos line endings. I used the
technique seen in textproc/FlightCrew to convert these to unix
endings after extraction. That should allow this package to build
on all platforms where zip handling of line ending differs.
Also defined GPLv3 license.
Several files needed the <cstring> include for functions like memset.
Additional, Tinderbox caught this error:
=== Checking filesystem state after all packages deleted
================================================================
list of extra files and directories in / (not present on clean system
but present after everything was deinstalled)
34217227226 0 lrwxr-xr-x 1 root wheel 65 Aug 12 00:13
usr/local/bin/openmsx ->
/work/emulators/openmsx/work/.destdir/usr/pkg/openmsx/bin/openmsx
The package was installing a symbolic link from /usr/local/bin to the
destdir! Luckily this feature is switchable with a variable. Fixed.
Now works with NetBSD 4, 5 & 6 which would have previously failed.
Comment out some unusual sector subtractions which handled values in the
multigigabyte range.
Now allows all tested NetBSD versions (3, 4, 5 & 6) to mount ISO images
Changelog:
# System emulation
## All targets
* qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
* PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix.
* -kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
* PCI-to-PCI bridges are supported [...]
* PCI emulation includes a standard hot-plug controller [...]
* The coroutine backend can now be configured using configure --with-coroutine=.... A new coroutine backend sigaltstack is available for platforms that don't support the default ucontext backend.
* Last but not least: the SDL user interface now uses the new QEMU icon.
## ARM
* The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
* A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
* New 'nuri' and 'smdkc210' models of Samsung Exynos4210 based devboards.
* New 'highbank' model of the Calxeda Highbank.
* New 'vexpress-a15' model of the Versatile Express Cortex-A15.
## PowerPC
* The Bamboo machine now works with TCG, before only KVM was able to execute 440 code.
* Pseries handles PCI, allowing for virtio devices with -M pseries.
* Pseries works with PR KVM allowing for -M pseries -enable-kvm to work on G5s.
* We can now emulate e500mc cores, but no e500mc based board is emulated yet. You need to use -M mpc8544ds and a special guest kernel.
* Timers on ppc405 now work and don't segfault QEMU.
## S/390
* Added support to -kernel to allow booting of ELF binaries.
* Fixed -kernel to allow booting of newer guest kernels.
* Devices can now be hotplug add'ed (remove is not there yet).
* Rebooting a virtual machine now works.
## SPARC
* Added interrupt controller and support of vector interrupts.
* Fixed handling 32 bit instructions on a sparc64 CPU.
* Fixed block load instructions regression happened in 1.0 release.
* Fixed BCD mask in m48t59 emulation, so that Solaris 2.5.1 doesn't hang on sun4m emulation when day of month >21.
* Fixed initrd loading in qemu-system-sparc64.
## x86
* NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
* The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
* When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
* KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
* Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
* KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.
## Device emulation
* The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
* QEMU now includes experimental support for USB 3.0 (xHCI).
* Various improvement on the floppy emulation, most notably media change has been fixed
## Audio devices
* Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).
## Block devices
* QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
* The rbd block driver supports the discard operation now
* The vpc block driver supports the Fixed Disk subformat of VHD images now
* The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
* The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
* An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
* I/O throttling is experimentally supported using the new -drive options bps/bps_rd/bps_wr/iops/iops_rd/iops_wr. It is expected to work with virtio-blk and IDE harddisks, but may lead to hangs when used with CD-ROM or floppy emulation or other devices.
* qemu-io supports new options to enable tracing and to choose a cache modes
## Network devices
* QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.
## Live Migration, Save/Restore
* Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported.
* Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.
# Guest agent
* qemu-ga has been ported to Windows.
* Interfaces added for suspending guests to disk/ram, and retrieving information about network interfaces
* Interfaces for filesystem freeze have been hardened, and no longer depend on guest agent runtime state to determine whether a system is currently frozen.
* An easier to use reset mechanism has been added: guest-sync-delimited.
# Host support
* ARM hosts are now supported again (they were broken in 1.0).
* Sockets and SLIRP on Windows hosts was broken in 0.14 and works again.
* 64-bit Windows hosts are now supported.
# User-mode emulation
* User-mode emulation can provide some information from the /proc filesystem.
* On 64-bit hosts user-mode emulation now defaults to reserving 0xf7000000 bytes of address space for the guest. This significantly reduces the likelihood of QEMU having to fail a guest mmap() request when there is still memory available. This reservation can be overridden with the -R command line option.
# Testing
* A make check target has been implemented and runs some quick sanity tests
* qemu-iotests, which was previously hosted in an external git repository, has been merged into the QEMU source tree
# Build dependencies
* Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.
This package starting failing this week. It was due to an change in the
system binutils which turned on link time optimization support. This
was intended for external compilers.
The package picked up that the linker was capable of supporting -flto, but
then just assumed the compiler also was! "4.4.7" was added to the list of
compilers to exclude. Earlier versions are not necessary because the
-flto switch would be suppressed anyway due to binutils not supporting it.
The current package won't compile if using libz >= 1.2.6 due to a typedef
change of GzFile. Luckily this packages used macros for gz* functions
which significantly cut down the number of lines to be patched.
As previously predicted, the horrible code in archive.c wouldn't last long
before breaking. There were a few dozen errors erupting when libz 1.2.7
header was used. The previous patch-af was appended, but the previous fix
for linux was changed because that was broken too.
Info: typedef of gzFile changed from void* at version 1.2.6, so its use
is no longer optional with libz versions >= 1.2.6.
The current package won't compile if using libz >= 1.2.6 due to a typedef
change of GzFile. Fix inspired by r1091 at vbam.svn.sourceforge.net
Package broke after DragonFly upgraded system libz from 1.2.5 to 1.2.7
* based on wip/qemu
Changelog:
1.1.0
System emulation
All targets
qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix.
-kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
PCI-to-PCI bridges are supported [...]
PCI emulation includes a standard hot-plug controller [...]
The coroutine backend can now be configured using configure --with-coroutine=.... A new coroutine backend sigaltstack is available for platforms that don't support the default ucontext backend.
Last but not least: the SDL user interface now uses the new QEMU icon.
ARM
The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
New 'nuri' and 'smdkc210' models of Samsung Exynos4210 based devboards.
New 'highbank' model of the Calxeda Highbank.
New 'vexpress-a15' model of the Versatile Express Cortex-A15.
PowerPC
The Bamboo machine now works with TCG, before only KVM was able to execute 440 code.
Pseries handles PCI, allowing for virtio devices with -M pseries.
Pseries works with PR KVM allowing for -M pseries -enable-kvm to work on G5s.
We can now emulate e500mc cores, but no e500mc based board is emulated yet. You need to use -M mpc8544ds and a special guest kernel.
Timers on ppc405 now work and don't segfault QEMU.
S/390
Added support to -kernel to allow booting of ELF binaries.
Fixed -kernel to allow booting of newer guest kernels.
Devices can now be hotplug add'ed (remove is not there yet).
Rebooting a virtual machine now works.
SPARC
Added interrupt controller and support of vector interrupts.
Fixed handling 32 bit instructions on a sparc64 CPU.
Fixed block load instructions regression happened in 1.0 release.
Fixed BCD mask in m48t59 emulation, so that Solaris 2.5.1 doesn't hang on sun4m emulation when day of month >21.
Fixed initrd loading in qemu-system-sparc64.
x86
NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.
Device emulation
The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
QEMU now includes experimental support for USB 3.0 (xHCI).
Various improvement on the floppy emulation, most notably media change has been fixed
Audio devices
Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).
Block devices
QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
The rbd block driver supports the discard operation now
The vpc block driver supports the Fixed Disk subformat of VHD images now
The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
I/O throttling is experimentally supported using the new -drive options bps/bps_rd/bps_wr/iops/iops_rd/iops_wr. It is expected to work with virtio-blk and IDE harddisks, but may lead to hangs when used with CD-ROM or floppy emulation or other devices.
qemu-io supports new options to enable tracing and to choose a cache modes
Network devices
QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.
Live Migration, Save/Restore
Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported.
Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.
Guest agent
qemu-ga has been ported to Windows.
Interfaces added for suspending guests to disk/ram, and retrieving information about network interfaces
Interfaces for filesystem freeze have been hardened, and no longer depend on guest agent runtime state to determine whether a system is currently frozen.
An easier to use reset mechanism has been added: guest-sync-delimited.
Host support
ARM hosts are now supported again (they were broken in 1.0).
Sockets and SLIRP on Windows hosts was broken in 0.14 and works again.
64-bit Windows hosts are now supported.
User-mode emulation
User-mode emulation can provide some information from the /proc filesystem.
On 64-bit hosts user-mode emulation now defaults to reserving 0xf7000000 bytes of address space for the guest. This significantly reduces the likelihood of QEMU having to fail a guest mmap() request when there is still memory available. This reservation can be overridden with the -R command line option.
Testing
A make check target has been implemented and runs some quick sanity tests
qemu-iotests, which was previously hosted in an external git repository, has been merged into the QEMU source tree
Build dependencies
Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.
Changelog:
1.0.1
* Version 1.0.1
* Merge branch 's390-1.0' of git://repo.or.cz/qemu/agraf
* Merge branch 'ppc-1.0' of git://repo.or.cz/qemu/agraf
* e1000: bounds packet size against buffer size
* s390: fix cpu hotplug / cpu activity on interrupts
* s390x: add TR function for EXECUTE
* pseries: Don't try to munmap() a malloc()ed TCE table
* pseries: Populate "/chosen/linux,stdout-path" in the FDT
* pseries: Add a routine to find a stable "default" vty and use it
* pseries: Emit device tree nodes in reg order
* kvm-ppc: halt secondary cpus when guest reset
* pseries: Fix array overrun bug in PCI code
* console: Fix segfault on screendump without VGA adapter
* Merge branch 'master' of ssh://git.qemu.org/pub/git/qemu-stable-1.0
* rbd: always set out parameter in qemu_rbd_snap_list
* Documentation: Add qemu-img -t parameter in man page
* qemu-img rebase: Fix for undersized backing files
* coroutine: switch per-thread free pool to a global pool
* qiov: prevent double free or use-after-free
* PPC: Fix linker scripts on ppc hosts
* target-sh4: ignore ocbp and ocbwb instructions
* usb-ohci: td.cbp incorrectly updated near page end
* usb-host: properly release port on unplug & exit
* usb-storage: cancel I/O on reset
* Fix parse of usb device description with multiple configurations
* pc: fix event_idx compatibility for virtio devices
* pc: add pc-0.15
* cris: Handle conditional stores on CRISv10
* configure: Enable build by default PIE / read-only relocation sections on OpenBSD amd64/i386.
* target-i386: fix cmpxchg instruction emulation
* hw/9pfs: Use the correct signed type for different variables
* hw/9pfs: replace iovec manipulation with QEMUIOVector
* hw/9pfs: Use the correct file descriptor in Fsdriver Callback
* hw/9pfs: Add qdev.reset callback for virtio-9p-pci device
* hw/9pfs: Reset server state during TVERSION
* hw/9pfs: use migration blockers to prevent live migration when virtfs export path is mounted
* hw/9pfs: Improve portability to older systems
* exec.c: Fix subpage memory access to RAM MemoryRegion
* malta: Fix regression (i8259 interrupts did not work)
General
i386-softmmu is no longer named qemu but instead referred to as qemu-system-i386 for better consistency with other targets. A new tool is likely to be introduced that uses the qemu name so distributions are advised to not undo this change.
QEMU now uses a separate thread for VCPU execution. This merges the biggest difference between the qemu-kvm tree and upstream QEMU.
A new memory dispatch API has been added internally. A new monitor command "info mtree" can show the hierarchy of memory regions in the guest.
QEMU now has a build dependency on glib and makes extensive use of glib.
QEMU now can run on more hosts. Hosts without a native code generator can use the TCG interpreter (TCI). See Features/TCI for more information.
Block devices (disks)
QEMU now supports I/O latency accounting in the monitor command "info blockstats".
Errors are now tracked per device and are shown by the monitor command "info block".
All image formats now support asynchronous operation. IDE and SCSI emulation will use this feature, while other devices (notably floppy and SD) will not.
IDE/ATAPI
A large number of bugs were fixed regarding CD media change and tray locking.
SCSI
Memory management errors could crash QEMU when scsi-disk encountered I/O errors. Many instances of this problem were fixed.
The accuracy of error handling for SCSI emulation has been greatly improved.
SCSI devices can now be addressed by channel, target (id) and LUN. Not all emulated HBAs will support this feature (in particular, the LSI controller will not).
Block device pass through is now supported through a new scsi-block device. The scsi-block device works with block devices (like /dev/sda or /dev/sr0) rather than /dev/sgN devices, and is more efficient because it does not consume arbitrary amounts of memory when the guest does large data transfers.
SCSI CD-ROMs now report media changed events.
SCSI CD-ROMs now support DVD images.
Bugfixes for IDE media change also apply to SCSI.
SCSI devices now report a unit attention condition when the system is started or reset. This may cause problems with old firmware versions.
VDI
Now supports discarded blocks in dynamically-sized images.
User-mode networking (SLIRP)
SLIRP can process ARP replies and gratuitous ARP requests from the guest.
ARM
QEMU now supports the new Cortex-A15 instructions in linux-user mode (via "-cpu any"): VFPv4 fused multiply-accumulate (VFMA, VFMS, VFNMA, VFNMS) and also integer division (UDIV, SDIV).
The vexpress-a9, versatileab, versatilepb and realview-* boards now have audio support.
QEMU is known not to work on ARM hosts in this release. (ARM target emulation is fine.)
pSeries
sPAPR VIO devices can now be created with -device.
Xtensa
QEMU now supports DC232b and FSF xtensa CPU cores.
QEMU now supports sim (similar to Tensilica ISS) and LX60/LX110/LX200 machines.
Migration
QEMU now supports live migration using image files like QCOW2 on shared storage
The post-extract target on this package was supposed to allow normal users
to build this package, but it didn't work for me. It may have been the
attempt at changing $WRKSRC instead of $WRKSRC/src (recursively).
The updated command touches only directories rather than all files and
now handy_sdl builds for me with a non-root user.
* Update glibc rpm to 2.14.1-14.17.1, previous one is not in repo.
* Change /etc/mtab symlink to relative so that linux binary can read it.
Bump PKGREVISION.
disable the Nagle algorithm in the host-side connection. Either
the VM is already doing Nagle, in which case there is no point
in doing it twice, or it has chosen to disable it, in which case
we should respect that choice. This change speeds up GDB remote
debugging over TCP over user mode networking by multiple orders
of magnitude.
* libXp was used by Xaw8, but it had been obsolated, and in pkgsrc,
x11/libXaw/buildlink3.mk had been switched to pick up Xaw7 by default.
* With x11/xorg-cf-files, libXp was offered with XawClientLibs,
but updated to 1.0.4, it was removed.
* And pkgsrc had been switched to use always xorg-cf-files and imake from pkgsrc,
so all platforms should not require libXp from libXaw with Imake.
Bump PKGREVISION.
v1.03:
pecompat: New app
uips: Fixed a bug that caused bytes near the end of the file to be unnecessarily included in the .ips patch
cdpatch: Combining -f and -v now lists all errors, while still ignoring them
cdpatch: -x option now preserves modification time when possible
* Add patch for configure.ac, for making potential ethernet support easier.
Changelog:
2012/03/23 - version 0.9.13 released
A couple of important bugfixes accumulated in last few days:
o USB NatFeat doesn't fail to claim devices in certain cases
o MPFR FPU got fix for restarting of instructions after access error
o JIT CPU version should work even when compiled with newer compilers
o update your mmusetup.cnf in MiNT setup for larger FastRAM (see
provided atari/mmusetup.cnf that is set for 512 MB FastRAM now)
2012/03/19 - version 0.9.12 released
New features:
o MPFR based new precise FPU emulation core. Somewhat slower than the
normally used IEEE or UAE FPU emulation cores (about 5 times)
but should be totally complete and precise. Enabled in Linux binary
MMU builds (aranym-mmu). Hopefully Debian-m68k developers will enjoy it
:-)
o USB NatFeat fully usable: http://wiki.aranym.org/manual#usb
With a FreeMiNT driver you can access your USB flash discs from
the Atari side easily. First enter the SETUP GUI and plug in
the desired USB device. The USB support is compiled in by default
in all linux binary packages.
o NF Clipboard implemented newly for BeOS
o "aranym --version" will now list the built-in FPU core and also all
NatFeats that are compiled in.
Bugfixes:
o memleaks in various files
o blitter memmove fix
o MacOSX project fixes
o small 64bit fixes in nfcdrom
o aliasing issue fixes (in nfosmesa that is not compiled in)
o CPU CAS+CAS2 instructions - several very important fixes!
o some little fixes for newer GCCs in various files
o RPM spec file updated for Fedora, openSUSE and Mandriva. Give
rpmbuild -tb aranym_0.9.12.orig.tar.gz a try!
2011/02/06 - version 0.9.11 released
New features: SCC serial port emulation and USB NatFeat support.
BeOS/Haiku port: fixes and improvements.
MMU emulation: fix for initialization and FPU registers.
Video: fix (refresh palette when switching from true color to bitplane
mode) and an improvement (use current fullscreen size if fixed size is 0x0).
shipping symlinks into /usr/share/automake-1.11 instead of copies of
various semi-standard gnuish files, including some scripts needed by
the build.
Remove the patch that causes the build to try to run things direct
from ${PREFIX}/share/automake-1.11, as that's not the way things are
supposed to be done in a buildlink universe. However, adding a bl3.mk
to automake to allow using this stuff is itself wrong.
So instead, work around this mess by adding a post-extract hack that
deletes the symlinks and replaces them with the actual files from
automake.
Also, add a build dependence on automake so the files are actually
there when we try to reference them. (hi reinoud!)
No revbump needed as the package didn't build.
Grumble.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require S-Lang shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require QT4 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenSSL shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenMotif shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package contains the glibc2 locale files.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libxml2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require TIFF shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libsigc++2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require PNG shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require JPEG shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libdrm (for X acceleration).
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require cURL shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require CUPS shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require kerberos shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require GTK+-2.x shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenGL/Mesa shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require freetype2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require fontconfig shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require expat shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package contains some old shared libraries required by older
Linux binaries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
don't require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require aspell shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require alsa shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require S-Lang shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require QT4 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenSSL shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenMotif shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package contains the glibc2 locale files.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libxml2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require TIFF shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libsigc++2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require PNG shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require JPEG shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require libdrm (for X acceleration).
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require cURL shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require CUPS shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require kerberos shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require GTK+-2.x shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require OpenGL/Mesa shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require freetype2 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require fontconfig shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require expat shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package contains some old shared libraries required by older
Linux binaries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
don't require X11 shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require aspell shared libraries.
Linux compatibility package based on the openSUSE Linux distribution.
Please visit http://www.opensuse.org/ for more information about openSUSE
Linux.
This package supports running ELF binaries linked with glibc2 that
require alsa shared libraries.
* gdk-pixbuf and gtk are not used anywhere in pkgsrc and suse>10.0 does not
support them.
* vmware module was used for emulators/vmware* packages, but it had been removed
from pkgsrc.
0.145
-------
Happy 15th Anniversary! Over its 15 years of existence since MAME
0.01 was released for MS-DOS with an initial library of 5 sets, MAME
has grown exponentially to the point that no one thought we would be,
boasting 18,650 different sets and operable on more OS platforms than
thought possible. While video-based arcade games were the original
targets for MAME, the scope of the project has grown to include
documentation of virtually all coin-operated amusement devices
including gambling (video/slots), coin droppers, pinball machines and
more. Through the efforts of the literally thousands of developers,
players and others who have provided assistance and feedback over the
project's history, we would like to thank all of them that made this
possible!
Changelog:
Version 1.6.1 (2012-01-13):
---------------------------
This version is mainly a bugfix for 1.6.0, where monochrome mode
gave a black screen and was not usable.
Emulation:
- Fixes to bootup issues in monocrome mode
- Better left border removal timings
- DSP external memory access cycles taken into account
Other changes:
- Fix to allow build with Xcode 3.1.3/OS X 10.5.8 PPC
- Several fixes & updates needed to Hatari UI & hconsole
for them to work correctly with Hatari v1.6.x
- Test programs added for testing TOS booting with different
HW configurations and for finding out values needed in
Hatari keymaps
- Remove a potential segfault in the debugger
Fixed Demos :
Vodka Demo - Kill The Beast 2 (left border removal)
* Update MASTER_SITES and HOMEPAGE.
* Remove c++ from USE_LANGUAGES.
* Set LICENSE.
Changelog:
Version 1.6.0 (2012-01-01):
---------------------------
The Hatari project has been moved from hatari.berlios.de to
http://hatari.tuxfamily.org/. Please update all bookmarks!
Emulation:
- More accurate FDC emulation (correct status bits and commands' timings,
DMA transfer by blocks of 16 bytes, floppy change detection). This should
fix a lot of non working games
- More accurate microwire clock emulation
- SCSI class 1 (ICD) command support for drives > 1 GB
- Improved color conversion table so that colors are a little bit brighter
- Improve shifter (add another method to do 4 pixel hardware scrolling,
better emulation for 0 byte blank line)
- Some fixes to the IKBD emulation
- Better filters and model for sound emulation
- Correct VBL timings in TT monochrome (double clicking works now)
- More cycle accurate Falcon DSP <-> CPU emulation. All the demos that
needed 32Mhz CPU with the old CPU core in Hatari v1.5, work now at
correct 16Mhz with the WinUAE CPU core
- 030 MMU emulation with the WinAUE CPU core
Emulator:
- Switch to ST mode when using TOS <= 1.04
- Replace "--slowfdc" with "--fastfdc" option and default to fast FDC being OFF
- "--fast-boot" option to initialize "memvalid" system variables to
by-pass the memory test of TOS, so that the system boots faster
- "--force-max" option to force Hatari use specified maximum resolution
to avoid window size changes messing up Hatari video recording
- "--desktop-st" option to keep desktop resolution also for ST/STE modes
(unfortunately without scaling besides the low-res doubling)
- GEMDOS HD emulation:
- Allow drives up to Z: (not Y:)
- Unique name for each partition
- Warn user when using too old TOS version
- Dfree() reports host disk total and free size if they're below
value understood by TOS and unlike earlier, it forwards Dfree()
requests for other (IDE/ACSI image) partitions to TOS
- Debugger improvements:
- "history" command to list instructions executed before entering
debugger
- each trace output line is flushed to avoid it being buffered
- Fixed behavior of the Caps Lock key
Other changes:
- Fixes to Hatari UI Hatari window embedding
- Latest Linux sfdisk is borked so atari-hd-image script creates
HD image partition table now itself (experimental)
- Windows needs also HOMEDRIVE for full home path in case Hatari
isn't installed on C:, bug 18297
- Minor fixes
Fixed Demos :
Overscan Demos and Shforstv.exe by Paulo Simoes (black line at top),
ACF - Just Bugging (FDC), Delirious Demo IV (FDC, shifter),
Overdrive Demos - Snirkel Screen (IKBD), Oxygene - Stniccc2000 (FDC),
Cream - Madness (FDC)
Fixed Games :
Superior 65 - Super Monaco GP, DBug 24 - Knightmare, Pompey Pirates 27 - X-Out,
Fuzion 32 - Pang, Fuzion 108 - The Simpson, Fuzion 40 - Super Grand Prix,
Fuzion 46 - Warlock, Fuzion 51 - Navy Seals, Fuzion 61 - Gods, Fuzion 78 -
Carmen Sandiego, Fuzion 82 - Flight Of The Intruder, Fuzion 83 - RBI Baseball 2,
Fuzion 102 - Exile, PP46 - Yolanda, Medway Boys 15 - Murders In Venice,
Medway Boys 83 - Yogi Bear, BBC 2 - Platoon, BBC 39 - The Deep, Superior 71 - The
Running Man, Adrenaline 24 - Demon Blue, Superior 93 - Alien Storm
Fixed Misc Programs :
Procopy 1.50, Terminators Copy 1.68, maxYMizer (caps lock key)
Version 1.5.0 (2011-07-19):
---------------------------
Emulation:
- Alternative CPU core based on WinUAE for more accurate future
HW interaction emulation (see readme.txt on how to enable it)
- Use precise clocks values (as described in Atari's official schematics)
for better video/dma audio synchronisation (e.g. More Or Less Zero by DHS)
- DSP:
- Some DSP-timing sensitive Falcon demos that by luck happened to work
with Hatari v1.4, don't work anymore in v1.5 with the default UAE CPU
core. This is because while DSP cycle accuracy has been improved,
the default UAE CPU core isn't fully cycle accurate. The experimental
WinUAE core is needed to run them
- Undocumented 2 bit shift special case for DSP SSI <-> crossbar exchanges
in hanshake mode with 32 Mhz clock (fixes DSP MP2 player used in many
demos & programs, but that requires also using WinUAE core)
- Sound improvements:
- Major rewrite and accuracy improvements in STE DMA sound, including
emulation of the 8 bytes FIFO, giving results nearly identical to
a real STE (e.g. HexTracker by Paulo Simoes)
- Improved precision in sound emulation, with nearly no rounding errors
over successive VBL (correct sound latency on US TOS running at 60 Hz)
- By default mix 3 YM voices using a lookup table of values
measured on real STF to improve digisound (e.g. Flashback demo sound)
- Remove old ST Sound's code used for tone and noise step compute
(some low period values were not correctly emulated)
- Video emulation on STF/STE:
- On STE, correctly shift display 8 pixels to the left when using
224 bytes overscan
- Add support for spec512 mode in med res (fixes 'Best Part Of The
Creation' in 'Punish Your Machine', 'HighRes Mode' demo by Paradox)
- Correctly shift the screen 4 pixels to the left when left border is removed
in med res overscan (Hatari 1.4 handled only low res, fixes 'No Cooper'
by 1984, 'Best Part Of The Creation' by Delta Force)
- Precisely emulate the number of frames per sec (eg 50.053 fps in PAL
instead of the usual 50 Hz)
Emulator:
- Atari program given as argument to Hatari will be automatically
started after TOS boots. GEMDOS hard disk directory can now be
give also as an argument, not just as a (-d) option
- TOS4 or --machine falcon option use enables DSP emulation now
(follow them with --dsp none to disable DSP emulation)
- Memory state saving and restoring fixes, especially for Falcon
- Crossbar state is included -> state file ABI break
- AVI recording options can be set in the new [Video] config file section
- AVI recording supports non integer frame rates.
- Falcon/TT Videl/hostscreen improvements:
- New setting/option for using Desktop resolution & scaling
in fullscreen instead of changing the resolution. On by default
- User's desktop size is used as max limit for Videl zooming.
Requires SDL >= 1.2.10
- Videl resolution change is done immediately, not 3 VBLs late
- Fix issues in switching between same sized VDI & TT resolutions
- SDL GUI improvements:
- DSP can be disabled from the GUI without needing to restart Hatari
- Disk access LED and desktop-resolution options
- AVI video length (mins:secs) is shown in titlebar during recording
- Option for cropping statusbar from videos & screenshots
- Fileselector scrollbar can be used with mouse
- YM mixing method selection
- Debugging improvements:
- New disassembler with more Motorola like syntax
- CPU & DSP "disasm" and "memdump" commands accept register & symbol
names in addition to numeric addresses / address ranges
- Option to disable Falcon mic
("--mic off" is needed for Mudflap debugging)
- "--run-vbls" can be set also at run-time
- "--bios-intercept" can be toggled from debugger (not just enabled)
- BIOS CON: output is converted to ASCII and redirected to host console
with the --bios-intercept option
- Support for tracing DSP, Videl and Crossbar
- Support for tracing AES calls. VDI calls can now be traced
also without using an extended VDI resolution
- BIOS/XBIOS/GEMDOS/VDI/AES/Line-A/Line-F opcode breakpoint support
- TEXT, DATA and BSS variables for addresses of corresponding segments
in currently loaded program
- "aes", "vdi" and "gemdos" subcommands for "info". Without arguments
they will output information about corresponding OS part state,
with (a non-zero) argument, opcode/call name table is shown.
"video" subcommand for showing video related information.
"cookiejar" subcommand for showing cookiejar contents.
- "file" subcommand to "lock" that executes debugger commands from
given file when debugger is entered (or ":lock" breakpoint is hit)
- ":lock" option to breakpoints that will show (without stopping the
emulation) the same output as what's shown on entering the debugger
- ":file" option to breakpoints that executes the commands from
given file when the breakpoint is hit. This can be used to chain
debugger actions
- multiple breakpoints options can be specified per breakpoint
- parenthesis in "evaluate" command are used to indicate memory
accesses (instead of operator precedence like earlier)
- DSP and CPU code profiling functionality. Provides statistics about
profiled code (executed code address ranges, max and total counts
and cycles), lists addresses/instructions taking most cyles and if
symbols are loaded, what were the most used symbol addresses.
- Profiling information is also shown in disassembly output
Other changes:
- hmsa tool can create empty disk images in addition to converting
disks between ST & MSA formats
- Minimal hatari-tos-register.sh Linux init script (example)
to register Hatari as binfmt_misc handler/runner for TOS programs
- hatari-console.py renamed to hconsole.py, documented and made extensible
(hconsole is command line Python interface for Hatari remote API)
- Support for plain Makefiles removed (except for internal tests),
only CMake is used for configuring and building Hatari
- CMake doesn't require anymore working C++, C-compiler is enough
* Remove deprecated CONFIGURE_ARGS.
* For fixing build, --enable-instrumentation is commented out.
Changelog:
* All CPU options are defined in bochsrc, not in build stage.
* Many improvements.
v1.28 <- v1.27
* ROM loader can now use libarchive when available for decompression. This
replaces the previous system()-based implementation.
* "tobin" has been renamed "dgen_tobin" and no longer has dependencies on
SDL and other unnecessary libraries.
* CZ80: fixed emulation bug ("weird sound") introduced just before the 1.27
release.
* Improved CZ80/MZ80 switching.
* Improved save file handling. Z80 context and other important things are now
stored. The format is mostly compatible with Gens v5 and save states can be
exchanged between both emulators. Old save files are still supported.
* YM2612: upgraded from version 0.35f to 1.4b, as found in Final Burn Alpha.
Sound quality has improved as a result.
* Improved sound buffer management again, a single buffer is now used with
both channels instead of two separate buffers.
* Removed 8-bit sound output format since it was useless and annoying to
support with the new buffer.
* Removed superfluous window resizing messages.
* Game Genie codes can now be entered while in stopped mode to avoid crashes
when more than one is needed at once. Also, DGen now supports RAM patching.
* Corrected clock frequencies for YM2612 and SN76496, sound is pitched a bit
higher than before.
* Added region selection command-line option. This option reuses "-R"
(realtime priority). In case this option isn't given, the default region
used by DGen is now the first found in the ROM header. This option has no
effect on PAL (50Hz) mode which needs to be enabled separately.
* OpenGL: a single OpenGL texture (and subtexture) is now used instead of two
smaller ones, thus removing some of the complexity.
* Usual batch of miscellaneous bugfixes.
v1.27 <- v1.26
* Documentation clean-up, sample.dgenrc update.
* Compilation fixes for MZ80.
* When both Musashi and StarScream are available, default to Musashi since
it provides better emulation.
* Imported CZ80 0.91. This Z80 emulator is pure C and works better than the C
version of MZ80. This means that on non-x86/32 bit hardware, games that
previously didn't have sound now work properly (Sonic 2 for instance).
Thanks to DGen PSP which implemented CZ80 first.
* Modified CZ80 to work properly on big-endian machines.
* When both CZ80 and MZ80 are available, CZ80 is now the default.
* DGen can now be compiled without any external modules. MZ80, CZ80, Musashi
and StarScream can all be disabled.
* There's now a toggle key (F10 by default) to switch between MZ80, CZ80 or
neither.
* The Musashi/StarScream toggle key can now disable them both.
* New rc variables for selecting default emulators.
* FPS are now calculated every second for a more accurate message at exit.
* Implemented bool_show_carthead.
* Game Genie codes can now be entered interactively by pressing F9. They can
also be disabled by re-entering them.
* Various other fixes.
v1.26 <- v1.25
* Upgraded Musashi from 2.0 to 3.3.1. This version solves various emulation
problems.
* Reworked autoconf and automake scripts to improve readability and
portability.
* Added support for MinGW. DGen can now run in Windows.
* Fixed messy border again, this time for all video color depths.
* OpenGL: added bool_opengl_aspect to keep the original aspect ratio during
resizing. This option is enabled by default.
* Added support for 24 bpp (3 Bpp) mode.
* Made Crap TV filters available for all architectures, color depths and
OpenGL.
* OpenGL: fixed GL_LINEAR support so it can be used again instead of
GL_NEAREST, one can switch between them with bool_opengl_linear
(enabled by default).
* Refactored the main loop and SDL code for a smooth frame rate with an
improved sound synchronization.
* Made a wrapper to open and create files relative to user's home directory
in a system-independant manner.
* Fixed Z80 speed in NTSC mode, sound effects were abnormally high pitched.
* Improved FPS counter.
* Removed SIGALRM for improved portability.
* OpenGL: now enabled by default when available.
* MZ80: fixed segfault on reset.
* OpenGL: use 16 bpp mode internally instead of 32, allow textures to be 16
(default) or 32 bit with bool_opengl_32bit.
* OpenGL: added bool_opengl_swap to byte-swap colors when the host computer
endianness is not the same as the ouptut (possible with X11 sessions).
* Screenshots are now generated from the internal video buffer as TARGA files
so they are available in all modes (OpenGL or not) and depths (except 8 bpp,
as usual). Their output directory is ~/.dgen/screenshots.
* OpenGL: the message bar now spans both textures.
* Improved stopped mode to be less easily unstopped and to avoid dropping
frames. Also, it now accepts resizes and refreshes.
* Added the -H option to tweak emulation speed. Can be used to run 50Hz games
at 60Hz.
v1.25 <- v1.24
* Added 64 bits targets support, DGen can now run on those.
* Minor fix for joystick/joypad when sizeof(int) != sizeof(long).
* Fixed messy border issue (garbage on the right of the screen).
* OpenGL: worked around the vertical dark line between textures.
* OpenGL: the visible area now takes the entire window (except for the
status line). No more borders.
* OpenGL: the window can now be resized/rescaled at runtime.
* Fixed bug in which SDL-specific fields in dgenrc were not taken into
account when no command-line option was given.
* Replaced dgenrc parser with a better one. It breaks compatibility a
little with the previous version because special characters now need to
be escaped or put between quotation marks.
* Improved configure and Makefiles for proper SDL/OpenGL detection,
better dependencies in parallel builds, NASM's presence on x86 targets
which shouldn't be mandatory and various other things.
* Fixed many crashes.
* Removed many compilation warnings.
v1.24 <- v1.23
* Fixed compilation on GCC 4.
distinction between host and guest addresses and 64-bit host addresses
give it fits.
If anyone wants to try making it work, let me know as I have partial
patches.
support for it. There is ostensibly alpha support so it might be
possible to make it work (although the number of cast warnings I see
makes me dubious) but it certainly isn't going to get fixed anytime
soon.
2011-04-01 Philip Kendall <philip-fuse@shadowmagic.org.uk>
* Fuse 1.0.0.1a released.
* Remove all ROMs for which there isn't explicit permission to
distribute (Philip Kendall).