pkgsrc changes:
- remove stray conflict with qemu-bin - I cannot find references to it in
pkgsrc
- drop mentions of NetBSD version < 6.0 - it's already broken there
regardless of the directives and not supported
- remove stray BUILDLINK_PASSTHRU_DIRS and BUILDLINK_PASSTHRU_RPATHDIRS
this is redundant with the default pkgsrc framework defines
- not yet ported to 3.x as of 2.10.0, newer versions get initial patches
- remove ivshmem - it's not a user settable option, it requires as of now
Linux kernel API (eventfd) and it builds only for Linux now (no longer
for BSD and SunOS)
- add test target - all tests pass on NetBSD 8.99.2 (with disabled PaX
MPROTECT)
- sync PLIST
- drop patches that are no longer needed, proper fixes merged upstream
upstream changelog
==================
The full list of changes are available at:
http://wiki.qemu.org/ChangeLog/2.10
Highlights include:
* Support for ACPI NUMA distance info and control over CPU NUMA
assignments via '-numa cpu' parameters
* Support for LUKS encryption format in qcow2 images
* Monitor/Management interface improvments: additional debug
information available through 'info ramblock/cmma/register/qtree',
support for viewing connected clients via 'info vnc', improved
parsing support for QMP protocol, and other additional commands
* QXL and virtio-gpu support for controlling default display resolution
* Support for vhost-user-scsi devices
* NVMe emulation support for Write Zeroes command and Controller
Memory Buffers
* Guest agent support for querying guest hostname, users, timezone, and
OS version/release information
* ARM: KVM support for Raspberry Pi 3
* ARM: emulation support for MPS2/MPS2+ FPGA-based dev boards
* ARM: zynq: SPIPS flash support
* ARM: exynos4210: hardware PRNG device, SDHCI, and system poweroff
* Microblaze: support for CPU versions 9.4, 9.5, 9.6, and 10.0
* MIPS: support for Enhanced Virtual Addressing (EVA)
* MIPS: initrd support for kaslr-enabled kernels
* OpenRISC: support for shadow registers, idle states, and
numcores/coreid/EVAR/EPH registers
* PowerPC: Multi-threaded TCG emulation support
* PowerPC: OpenBIOS VGA driver for MacOS guests
* PowerPC: pseries: KVM and emulation support for POWER9 guests
* PowerPC: pseries: support for hash page table resizing
* s390: channel device passthrough support via vfio-ccw
* s390: support for channel-attached 3270 "green screen" devices for
use as guest consoles or additional TTYs
* s390: improved support for PCI (AEN, AIS, and zPCI)
* s390: support for z14 CPU models and netboot/TFTP via CCW BIOS,
* s390: TCG support for atomic "LOAD AND x" and "COMPARE SWAP"
operations, LOAD PROGRAM PARAMETER, extended facilities, CPU type,
and many more less-common instructions.
* SH: TCG support for host atomic instructions for emulating tas.b and
gUSA (user-space atomics), and support for fpchg/fsrra instructions
* SPARC: fixes for booting Solaris 2.6 on sun4m/OpenBIOS machines
* x86: Q35 MCH supports TSEG higher than 8MB
* x86: SSE register access via gdbstub
* Xen: support for multi-page shared rings, and 9pfs/virtfs backend
* Xtensa: sim machine console can be directed to chardev via -serial
* and lots more...
Move the definitions of LDCONFIG_ADD_CMD and LDCONFIG_REMOVE_CMD
into suse_linux/emulator.mk. The commands are specific to the
Linux installed, including the path to ldconfig(8), so localize
them to the package that provides it.
Move the definition of RUN_LDCONFIG out of the emulator framework
and into the packages that use them as RUN_LDCONFIG is meant to be
a package-settable variable.
Fix the path to the Linux ldconfig(8) that was used on FreeBSD to
brand the ELF format that has been incorrect for over 10 years.
In the suse_base packages, explicitly set LDCONFIG_REMOVE_CMD to
${TRUE} since the ldconfig(8) command is provided by that package
and can't be invoked at the postremove stage because it has already
been deleted from the system by then.
Bump the PKGREVISION of all the suse_base packages because the
install scripts have changed.
Bump the PKGREVISIONs of the darwin_lib and osf1_lib packages
because the install scripts no longer try to run ldconfig(8),
which is not provided in either OpenDarwin or OSF/1.
Upstream changes:
2.31.0 2017/08/19
* make file dialog and setting dialog fullscreen for low resolution devices
when the ALWAYSFULLSCREEN flag is specified on build
* fix sound call method which was not thread safe
* rewrite documents with asciidoc
* (Windows) update build procedure
make 64 bit version buildable
recommend to use fixed MSYS2 version
PATH setting no longer necessary
* (UNIX) fix pro file to build on non-Linux UNIX systems
* (non Windows) use absolute path for config files etc.
* (Android) temporary workaround for access issue of file access on a SD card
General
- New support for double sided 1571 g64 and p64 images.
- SID filter improvements.
C64(SC)/SCPU64/C64DTV/C128 changes
- New joyport script64 dongle emulation.
- New joyport vizawrite64 dongle emulation.
- Fixed joyport paperclip64 dongle emulation.
- Fixed StarDOS emulation.
XVIC
- Fixed VIA emulation.
C1541
- Fixed commands and added new commands.
BeOS/Haiku changes
- New drag & drop support: dragging a file from Tracker into the window
now autostarts it, and dragging text into the window pastes it.
* Emulation core improvements:
* Add workaround for Multiface One and 128 clash
* Limit RZX sentinel warning to once per playback
* Disable Melodik interface on 128K machines
* Correct the list of machines for Multiface One
* Miscellaneous improvements:
* Update compile instructions for win32 UI
* Check required version of libspectrum is available
* Document --mdr-len and --mdr-random-len options
* Document support for the Recreated ZX Spectrum
* Fix transposed description of AY-3-8912
* GTK UI: Destroy tape browser dialog on close
* Fix Z80 snapshot writing when +D is enabled
* Export pkgconfig file to publish library version
* Fix offset of keyboard mappings in Z80 v3 snaphots
* Various minor bug fixes/improvements:
* Replace '*' in boolean context with '&&' in libspectrum_malloc0_n()
* Fix warning about missing atomic_lock()/atomic_unlock() declarations
in gslock.c
* rzxdump
* Allow extracting snapshot files
* scl2trd
* Print error messages to stderr
* Various minor bug fixes/improvements:
* Ignore .DS_Store files too
* Check close()/fclose() return value on write operations
* Move write_file() into utils.c and share between utilities
* Also ignore *~ files
* Switch to using autoreconf
* Use silent builds by default
* New features:
* Add Multiface One/128/3 interface emulation
* Machine specific improvements:
* Restore +2A/+3 ALL_RAM mode from snapshots
* Miscellaneous improvements:
* SDL: Hide cursor when UI runs on a console (Raspberry Pi)
* Switch to using autoreconf
* Use silent builds by default when available
* Use explicit AM_SILENT_RULES macro as libspectrum does
* AC_PROG_RANLIB is rendered obsolete by LT_INIT
* Remove unnecessary include glib.h
* Add Multiface One/128/3 support
* Add self-inflating buffer for writing binary files
* Add class recognition for SCR files
* Fix crash when saving CSW tapes
* Various minor bug fixes/improvements:
* Add unit test for CSW writing
* Swich to using autoreconf
* Use silent builds by default
* Remove more const qualifiers from libspectrum_buffer API
* Fix GCC warnings about unexpected values in switch statements
* Remove unsused variables from libspectrum_buffer refactoring
* Fix error messages when reading Opus/+D chunks from SZX files
* Distribute standard-tap.tap
* Set logical '1' when reading SZX flags
* Document Multiface snap accessors
Emulation core improvements:
* Add Covox interface emulation
* Disable accelerate loader while recording RZX files
Miscellaneous improvements:
* Fix typo in Opus Discovery option
* WidgetUI: Disable RollbackTo menu option for widget UIs
* Update description of speed option
* List Melodik as supported interface and rearrange audio interfaces
as a separate item
* Document --volume-covox option and update bash completion
* Work around invalid "used bits in last byte" field in TZX tapes
* Save SpecDrum level as unsigned in SZX snapshots
* Add support for storing Covox interface state
* Replace old ticket numbers from Trac to Allura
Emulation core improvements:
* Disable tape traps when playing/recording RZX files
Miscellaneous improvements:
* Fix typo in LOG disk format
* Replace old ticket numbers from Trac to Allura
* WidgetUI: Fix memory leak in file selector
* Fix allocator sizeof operand mismatch and remove dead assignment
* Remove prototypes of old plus3 disk functions
* Increase allocated memory to keep GCC7 happy
* Silently skip PLTT blocks in SZX snapshots
* Document missing disk identifiers
* Validate "used bits in last byte" field in TZX tapes
* Fix the load of PZX tapes with malformed strings
TODO: see cpu_arm_instr_dpi; non-zero steps but still under 256 is not implemented yet
to_be_translated(): TODO: unimplemented instruction:
ebf61a60: e28fc600 add ip,pc,#0
== Warning of unsupported host systems ==
This release includes changes to the configure script so that it will now report some host operating systems and
platforms as "unsupported". These are host setups which we do not have access to and are thus unable to test. They will continue to work in this 2.9 release (though configure will warn you about the unsupported status), but in a future QEMU release we may drop support for those hosts unless somebody volunteers to help us with maintaining them (and can provide build/CI machines).
This affects the CPU architectures:
* ia64
and the OSes:
* GNU/kFreeBSD
* DragonFly BSD
* NetBSD
* OpenBSD
* Solaris
* AIX
* Haiku
== System emulation ==
=== Incompatible changes ===
* Improvements to "-drive":
** "-drive"'s <tt>if</tt> option defaults to "none" on machines that do not have an onboard IDE or SCSI controller.
** "-drive if=scsi" does not work anymore with PC machine types, as it created an obsolete SCSI controller model. QEMU supports better controllers (megasas, mptsas, virtio-scsi) but which to use depends on the guest you are using.
** "Orphan" -drive options, where an <tt>if</tt> option is not supported by the emulated machine (e.g. "if=mtd" on x86) is now a fatal error. It had been triggering a warning since version 2.2.
=== Future incompatible changes ===
* Three options are using different names on the command line and in configuration file. In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".
:-readconfig will standardize on the name for the command line option.
* Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
* Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
* For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
Well, it’s the last Wednesday of the month, and I hope you know
what that means: it’s time for your regularly scheduled MAME release.
There aren’t a huge number of new working machines in this release,
but there are some significant improvements. Thanks to kazblox,
MAME now emulates some of the peculiarities of Famicom clone hardware,
and thanks to shattered, emulation of the Agat-7 Apple II clone is
improved. Peter Ferrie provided a superior Apple II language card
implementation. We’ve got lots of additions to the BBC and PC
software lists from Nigel Barnes and darkstar.
We’ve made substantial improvements to some of MAME’s non-emulation
features. The -romident verb is now much faster when used on a
folder or archive containing multiple files, and will identify ROMs
for emulated slot devices that aren’t inserted by default. The
-listxml output now includes all linked devices, and is produced
at least 30% faster. We’ve also improved -verifyroms so it covers
more devices and is faster when verifying ROMs for a subset of
drivers/devices.
MAME 0.184 includes support for plenty of newly dumped versions of
supported arcade games, including a rare US prototype of Shanghai
III, the world release of Super Crowns Golf, a version of Flashgirl
that shows the Kyugo logo, a German version of Raiden II, the
Japanese release of Radical Radial, and bootlegs of Bomber Man and
Phoenix. There are also several new chess computers, and even more
Aristocrat Mark V gambler sets. If you’re interested in the TI-8x
graphing calculators, it’s now possible to get an emulated TI-82
or TI-85 to communicate with another emulated instance or with a
program running on the host computer over a socket.
MAME 0.183
22 Feb 2017
Hi everyone! It’s been a busy month for MAME development, and we’ve
got a whole lot of surprises to unwrap today as we continue to
celebrate twenty years of MAME. First up, we’ve added some incredibly
rare systems to MAME. Omega is an Arkanoid-inspired arcade game
with a production run of about ten boards. Dodge Man is a rare Omori
title from 1983. The vertical version of Flash Boy, a DECO Cassette
title that borrows more than a little from a well known anime is
another very rare game that was at risk of becoming nothing but a
memory. Westinghouse Test Console #5 is possibly a one-of-a-kind
wire-wrapped prototype machine for field-programming some kind of
interlocking equipment (it has a rude easter egg – press X|TRAN in
calculator mode to see it). Less rare, but still awesome, are arcade
titles Galaxy Games StarPak 3, Sega Sonic Cosmo Fighter, and a U.S.
release of Puzznic with the digitised photos intact.
This release adds support for a number of electronic toys/handheld
games, including Atari’s Touch Me (a clone of Simon, which is itself
a clone of an Atari arcade game), GAF Melody Madness, Lakeside Le
Boom, and with possibly the most awesome title if not gameplay,
LJN’s I Took a Lickin’ From a Chicken. Many of these games have
colourful, clickable artwork. MAME is dedicated to preserving more
than just video games, and these systems are great examples of some
of the other experiences you can relive through emulation.
If you use MAME’s computer emulation and have been frustrated by
modifiers not working properly in natural keyboard mode, you’ll be
pleased to know that this release addresses that. Natural keyboard
mode now works properly with many more systems, including Amiga,
Sun and RM Nimbus. Speaking of Amiga, we’ve emulated a 3rd-party
variant of the Amiga 1200 keyboard and added support for many
different language variants, so chances are you’ll be able to use
keyboard that matches your Workbench language. And speaking of
keyboards, the Zorba keyboard now works properly, so you can try
out one of the last luggable CP/M machines.
Other improvements include fixing the crash on encountering invalid
cheats, allowing multi-part software list entries to load each part
on the correct interface, emulation of the Poly-Play light organ,
a brand new preliminary Interpro 2800 driver and Clipper CPU core,
support for VIC-20 and C64 speech synthesiser cartridges, support
for the Osborne-1 Nuevo Video 80-column modification, protection
MCU emulation in Bad Dudes vs. Dragonninja and Bouncing Balls, audio
improvements to a number of supported games, and optimisation of
the netlist emulation.
Some of these improvements might seem inconsequential, or apply to
systems you don’t use, but they often lie in common components used
by many other systems. For example, the Amiga 1200 and Zorba keyboards
use the same MCU family used in a lot of arcade games published by
Taito. The same change that fixes the Zorba keyboard also fixes
enemy spawning and timing in Xain'd Sleena. The Nuevo Video board
uses a common Motorola CRT controller, so improvements made to
support it stand to benefit a lot of other systems.
Of course there are plenty of other improvements not listed here,
and you can read all about them in the whatsnew.txt file, or grab
the source or Windows binaries from the download page and join in
our 20th anniversary celebration.
* Fixed building with C++.
* Fixed building on Darwin (PR 51899).
* Added GTK3 as an option.
* Switched from SDL-1 to SDL-2.
* Depend and enable support for: lzo, jemalloc, snappy, png, curl, jpeg.
Make sure that /usr/include and /usr/lib${LIBABISUFFIX} always appear in the
search paths for headers and libraries, respectively.
Fix the broken ethernet support (and etc) on platforms like NetBSD.
Thanks hans for his valuable suggestions.
MAME 0.182
As we approach the 20th anniversary of the first MAME release,
we've got a really exciting update for you. There's so much awesome
stuff in this month's release that there's no way we can possibly
cover it all here. MAME is a team effort, and we'd like to thank
everyone who's contributed towards making this release as awesome
as we think it is. One very exciting addition is support for another
version of the East German Poly-Play system, with German and Czech
ROM sets providing ten games, six of which are new. Protection on
Future Flash/Laser Base has finally been emulated, so you can take
a look at Hoei's take on Missile Command. A dump of the damaged
microcontroller (MCU) from Tatakae! Big Fighter makes this title
and Sky Robo finally playable. Another eagerly awaited addition is
the Hot-B prototype Hangzo.
Serial ports have been hooked up on Race Drivin' allowing you to
link two MAME instances over TCP, reproducing the multi-player
experience with linked cabinets. To do this, use a null modem slot
device and configure it for 38,400 Baud, 8 data bits, even parity,
and 1 stop bit. It would also be possible to connect a MAME instance
to a real board set by forwarding the connection to a serial port
on the host system.
We've received a contributed PortAudio output module and integrated
it in this release. This provides a cross-platform low latency
audio output solution. Performance should be similar to Steinberg
ASIO on Windows 7 or later without the licensing issues, and better
than SDL audio on Linux. It can be enabled by setting the sound
parameter to portaudio on the command line or in an ini file. Of
course, all the other audio output modules are still supported, so
if you're happy with your current setup you don't have to change
anything.
Although we haven't added a huge number of new microcontroller
(MCU) dumps in this release, substantial work has gone into improving
systems where we already have dumps but the emulation is lacking.
MCU emulation was added to Puzznic, Joshi Volleyball and Gladiator.
For Puzznic, this places player data at the correct location in
RAM and supplies the game with a pseudo-random number sequence
rather than a stream of zeros. Joshi Volleyball now behaves better
in service mode, allowing coins and inputs to be tested. Gladiator
now honours the coinage DIP switches. The MC68705 core has had a
complete overhaul, and all drivers using it have been reviewed.
This fixes lots of subtle issues: for example Change Lanes will
now skip the full memory tests if configured to ignore them in DIP
switches, timings have improved in Arkanoid, and the Apple II mouse
card is slightly improved. We now emulate the '705 family well
enough to support stand-alone MCU programmer boards.
Other improvements include working sound in Pole Position bootlegs,
improved video in Winning Run, preliminary banked 256 colour mode
for the NEC PC-9821, kana input on the Sharp X1, a VME bus system
with preliminary support for the miniFORCE 2P21 chassis, additional
Aristocrat Mark 5 peripheral emulation allowing non-US games to
boot, Corvus hard disks for the DEC Rainbow 100, preliminary work
on Atari Stunt Cycle (displays the playfield), fixes for the Aussie
Byte and Otrona Attaché, and support for octal and binary numbers
in debugger expressions.
---------------------------------
4.7.2 to 4.7.3: (Nov. 21, 2016)
* Added preliminary support for the 3E+ bankswitching scheme, developed
by Thomas Jentzsch.
* Fixed HMOVE positioning bug that occurred under certain circumstances.
Thanks to Omegamatrix of AtariAge for the bug report and patch to fix
the issue.
* Added 'trapm', 'trapreadm', 'trapwritem' commands to debugger prompt.
These are similar to the non-'m' versions, except that they also trap
on all mirrors of the given address.
* Fixed bug in debugger 'reset' command; it wasn't resetting the
bankswitching, so after a reset the banks were in an undefined state.
* Updated UNIX configure script to fix a bug where it fails in
cross-compilation under certain circumstances. Thanks to Vlad
Zakharov for providing a patch to fix this issue.
4.7.1 to 4.7.2: (Mar. 25, 2016)
* Fixed bug when entering and exiting the debugger; sometimes the
character corresponding to the '`' key would be output in the
prompt area.
* Updated DPC+ Thumb ARM emulation code to latest from David Welch.
In particular, this fixes incorrect handling of the V flag when
adding and subtracting, but also fixes compile-time warnings that
I couldn't get rid of before.
* Updated UNIX configure script to work with GCC 6.x compilers, and to
remove references to obsolete compiler versions that can no longer
be used to compile Stella.
4.7 to 4.7.1: (Feb. 13, 2016)
* Improved TV 'jitter' emulation; the recovery time can now be spread
over multiple frame, to simulate a real TV taking multiple frames to
recover. Related to this, added new commandline argument
'tv.jitter_recovery' to set the recovery time. Finally, enabling
the jitter effect and the recovery time are now accessible through
the UI. Special thanks to SpiceWare of AtariAge for the initial idea
and implementation.
* Fixed bug with 'Medieval Mayhem' ROMs; the paddle range was set too
low, and as a result the number of players couldn't be selected.
* Fixed bug when using more than two input controllers with the same
name; each controller after the second one was named the same as the
second one. This caused the joystick mappings to be lost, since there
was only information about two controllers being saved.
* Indirectly fixed issues with Stelladaptor/2600-daptor devices and
paddles having too large of a deadzone in Linux. Currently, this
involves running an external application to set the deadzone,
since SDL2 does not yet expose this information. The program is
called 'evdev-joystick', and will be released separately from Stella.
* Updated internal ROM properties database to ROM-Hunter version 11
(thanks go to RomHunter for his tireless research in this area).
Related to this, updated the snapshot collection.
4.6.7 to 4.7: (January 25, 2016)
* Improved paddle emulation in several ways:
- Added ability to specify the maximum range of movement for paddles
when using a mouse or digital device to emulate the paddle. This is
useful since on a real console most paddle games use very little of
the paddle range, and could result in moving the mouse onscreen with
nothing appearing to happen (when in effect it was as if you turned
a real paddle all the way to the end of the range). This eliminates
issues in (for example) Kaboom, where there was a huge 'deadzone'
when moving to the left. All applicable ROMS in the internal
database have been updated.
- The range for paddle emulation now takes an integer from 1 - 20,
indicating how much to scale movement (ie, how fast the onscreen
paddle will move when you move the mouse). The movement itself
is now also smoother than before.
* Fixed bug in 'Score mode' in TIA emulation; the TIA object colours
were correct, but the associated priority was sometimes incorrect.
* Fixed bug in ROM launcher; selecting 'Options -> Game Properties' after
loading a ROM would always point to the last opened ROM, not to the one
currently selected.
* Fixed bug in storing ROM properties; in some cases, a copy of the
ROM properties was being stored in the external file when it was
exactly the same as the internal entry.
* Added 'CV+' bankswitching scheme, developed by myself and LS_Dracon
(of AtariAge). This scheme contains RAM like the CV scheme, and
also switchable 2K ROM segments by writing to $3D.
* Added more C++11 updates all over the codebase, and ran Stella
through Coverity for the first time. I'm proud to say that Stella
now has a 0.00 defect rate!
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
MAME 0.181
Happy new year from the MAME team! To help you celebrate, weâre
unwrapping an extra-special release this month, with enough
improvements to put anyone in a good mood. The exciting news thatâs
got people talking is that protected microcontrollers (MCUs) from
a number of games have been read out and hooked up in MAME. This
gives real, emulated sound in Toaplan's Vimana, Fire Shark (also
known as Same! Same! Same!) and Teki Paki, proper emulation of
Tokio/Scramble Formation, M-chip emulation for Taito Extermination,
Dr Toppel and Plump Pop, MCU emulation for Sega Altered Beast and
Golden Axe, and partial sound in World Beach Volley. There's more
coming on this front, so stay tuned for upcoming releases!
MAME 0.181 also marks the debut of Votrax SC-01 emulation in MAME,
based on reverse-engineering die photographs. The digital section
should be pretty much perfect, although there are still some issues
in the analog section (plosives don't sound quite right). Overall,
it's a huge improvement in Votrax speech synthesis emulation, and
a great leap forward in our understanding of how the hardware works.
It also means speech samples are no longer required for a number
of games.
Building on the ARM improvements in last month's release, we now
have working floppy drives and sound in the Acorn Archimedes driver,
and default NVRAM images for the US Aristocrat Mark 5 games. This
greatly increases the amount of RISC OS software you can try out,
improves the gameplay experience in the Archimedes-based arcade
games, and allows you to play the Aristocrat gamblers without having
to make your way through the setup process first.
MAME's discrete netlist emulation library has been expanded
substantially in this release, including some new classes of devices
like ROMs, and many newly supported logic chips. This will make it
substantially easier to emulate arcade games which used discrete
TTL logic, and as a test of this new functionality, the TTL video
board from the Hazeltine 1500 intelligent terminal is now emulated
using the netlist system. There's ongoing work in this area involving
multiple developers, so look out for more exciting updates in this
space.
Weâve fixed some fairly significant bugs, including one preventing
the debugger from working on Linux or Mac with drivers that use a
dynamic recompiler core, and one that could cause MAME to crash
when using BDF fonts. The internal UI should be more efficient if
you're using icons now, and issues with spurious key repeats should
be reduced. The Beezer driver has been rewritten and should be
improved overall.
There are quite a few newly dumped arcade games in this release,
including Eeekk!, Simpson Junior (a Korean bootleg of J. J.
Squawkers), Power Flipper Pinball Shooting (an updated version of
Grand Cross), a version of Momoko 120% with English text, Miss
World 2002 (an adult Qix game), and alternate versions of The
NewZealand Story, Real Bout Fatal Fury, Space Dungeon, Flicky and
Turbo Force. The Apricot PC and Xi are now working, further increasing
MAME's coverage of DOS-based computers that aren't IBM-compatible.
You can also play with the COP44L version of Entex Space Invader,
and Mattel Funtronics Jacks and Red Light Green Light.
There are far too many improvements to list here, including lots
of fixes for graphics and flip screen issues, but you can read all
about it in the whatsnew.txt file, or grab the source or Windows
binaries from the download page and start playing.
MAME 0.180
Hello everybody! Are you ready for the November MAME release? It's
definitely ready for you, and there are lots of reasons to get
excited this time around. First and foremost, a number of ARM CPU
core fixes mean you can now boot to the RISC OS desktop on an
emulated Acorn Archimedes, and try some of the included applications.
The same bug fixes allow a number of Aristocrat Mark 5 gambling
machines to boot and run in demonstration mode. There are still
some issues to iron out, but things have definitely improved
enormously.
On the arcade front, protection on Atari Space Lords has finally
been reverse-engineered making the game playable. This is an
interesting space combat game for one or two players, where the
second player takes on the role of the gunner/co-pilot. In another
improvement that's been a long time coming, The Acclaim RAX sound
board is now emulated, bringing sound to Batman Forever and NBA
Jam Extreme. There are substantial improvements to the Magnet System
emulation (added in last month's release) making these rare prototype
bootlegs playable. David Haywood also fixed some graphical issues
in Altered Beast, and Angelo Salese fixed graphical issues in The
Lost Castle in Darkmist.
There are some other notable improvements in computer emulation,
too. Barry Rodewald has added support for IC Card (PCMCIA SRAM)
storage on the FM Towns, and substantially improved LSI Octopus
emulation. The Mac 128/512/Plus drivers have been modernised, and
serial port support has been added to the Apple IIgs driver. Another
DEC Rainbow 100 update from Bavarese fixes colours in high-resolution
mode among other improvements.
Newly supported systems include RC De Go (Go By RC outside Japan),
newly dumped versions of 1945k III, Forgotten Worlds, Sol Divide
and Vendetta, the Italian release of Mustache Boy, 286-based versions
of the Intel iSBC, bootlegs of Blue Shark, Pole Position II and
Ozma Wars, more Fidelity and Mephisto chess computers, and more
electronic toys.
Changelog:
== System emulation ==
=== Incompatible changes ===
* The number of allow PCI host bridges for pSeries machine was reduced from 256 to 31 (more can be configured by setting up MMIO windows manually).
* Removed support for tftp:// in the block layer, since this has been broken forever for files bigger than 256KB.
=== Future incompatible changes ===
* Three options are using different names on the command line and in configuration file. In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".
:-readconfig will standardize on the name for the command line option.
* Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
* Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
* QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.
* For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
=== ARM ===
* Improvements to the Aspeed board.
* Support for HLT semihosting traps in AArch32 mode (both ARM and Thumb).
* The ACPI tables for the "virt" machine type support ITS.
* The Cadence GEM device now supports multiple priority queues through the num-priority-queues property.
* The STM32F2xx board (Netduino 2) now includes ADC and SPI devices.
==== KVM ====
=== MIPS ===
* Support for 24KEc CPUs.
=== PowerPC ===
* Support for POWER9 CPUs.
* Improvements for the new "powernv" platform.
==== pSeries ====
* PCI host bridges can be associated to NUMA nodes.
* Support for more than 1 TiB of guest memory.
* Support for more than 64 GiB of MMIO window in a PCI host bridge.
* Support for the "-prom-env" parameter
=== s390 ===
* Support for CPU models.
* Support for virtio-ccw revision 2.
=== SH ===
=== SPARC ===
=== TileGX ===
=== Tricore ===
=== x86 ===
* Support for several new CPUID features related to AVX-512 instruction set extensions.
* The emulated IOAPIC (used by TCG and, with KVM, if the "-machine kernel_irqchip" option has the value "off" or "split") now defaults to version 0x20, which supports directed end-of-interrupt messages.
* Support for Extended Interrupt Mode (EIM) in the intel_iommu device. EIM requires KVM (Linux v4.7 or newer, for x2APIC support) and "-machine kernel-irqchip=split"; it is enabled automatically if interrupt remapping is enabled ("-machine kernel-irqchip=split -device intel_iommu,intremap=on").
* Support for up to 288 CPUs with the Q35 machine types. 256 or more CPUs are only supported if IOMMU and EIM are enabled.
==== Xen ====
* Support for unplugging SCSI disk.
* Support for SUSE xenlinux-compatible device unplug.
=== Device emulation and assignment ===
* QEMU now includes a generic loader pseudo-device that lets you load multiple images or values into memory at startup. This device is documented in {{src|path=docs/generic-loader.txt}}.
==== ACPI ====
* Support for hotplugging of NVDIMM devices (_FIT)
==== Block devices ====
==== Network devices ====
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
==== SCSI ====
==== PCI/PCIe ====
* The sample EDU device now supports MSI.
* [http://git.qemu.org/?p=qemu.git;a=blob;f=docs/pcie.txt;h=9fb20aaed9f41c302419206e1201d151c35e5a1c;hb=HEAD PCI Express Guidelines documentation] has been added for advice on topology and PCI vs PCIe.
==== USB ====
==== VFIO ====
==== virtio ====
* New device vhost-vsock.
* Initial support for graceful handling of guest errors (i.e. QEMU should not exit on guest errors).
* Support for new virtio-crypto device.
==== Xen ====
* Support for grant copy.
=== Character devices ===
=== Crypto subsystem ===
* Support for more hash algorithms for PBKDF.
* Support for CTR mode.
=== GUI ===
* SPICE can use pure OpenGL rendering if "gl=on" is specified.
=== Monitor ===
=== Migration ===
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
=== Network ===
=== Block devices and tools ===
* More QMP commands support node-name (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file, drive-backup, drive-mirror, nbd-server-add).
* The BLOCK_IO_ERROR event now includes the node name.
* More QMP commands accept device model names (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
* The DEVICE_TRAY_MOVED event now includes the device id.
* Throttling now applies to the guest device only, and not to block jobs or the NBD server.
* drive-backup and blockdev-backup support writing out backups in compressed format.
* The LUKS format now can configure the PBKDF iteration count.
* block-stream supports streaming from a backing file to another backing file.
* Support for replication, for coarse-grained lock stepping (COLO) fault tolerance.
* New "dd" subcomamand of qemu-img.
* The DMG driver can be compiled to a separate driver, so as to make QEMU's dependency on libbz2 optional.
* Support for iSER in QEMU's iSCSI initiator through a iser:// URI.
* The NBD client and server support the NBD_CMD_WRITE_ZEROES extension.
* Raw images support "offset" and "size" options to access only a part of the file or device.
=== Tracing ===
* New tracing backend "syslog".
* Support for multiple "-d trace:PATTERN" command-line arguments.
=== CLI options ===
== User-mode emulation ==
=== Removed target support ===
* The unicore32-linux-user target implemented a different system call ABI from mainline Linux for this architecture. Support for it has been dropped.
=== New functionality ===
* Added support for more syscalls including preadv, pwritev, syslog.
* Major scalability improvements for multi-threaded programs (ARM, SPARC, x86).
* QEMU can now understand and generate fence and cmpxchg operations.
== TCG ==
* New TCG primitives have been added for safely modelling architectural synchronisation instructions (e.g. atomics, LL/SC, LOCK prefixes). arm, aarch64, alpha and x86 targets now use these primitives for multi-threaded linux-user programs. TCG target maintainers are encouraged to port their front-ends to use the new facilities.
* The TCG backends now emit appropriate barrier instructions for frontend barriers when running multi-threaded programs. However, emulating a strongly-ordered architecture (e.g., x86) on a weakly-ordered one (e.g., ARM or POWER) will not work yet.
* tb_flush() is finally thread-safe meaning multi-threaded programs are less likely to crash when the translation buffer is reset
* lock contention in the main cpu run-loop has been reduced improving performance for multi-threaded code
* a number of races were identified and fixed
A lot of the TCG work merged in this cycle where prerequisites for supporting multi-threaded system emulation (MTTCG). While full MTTCG support is expected to be merged in the next development cycle, multi-threaded linux-user programs will already benefit from this work.
to take a snapshot from github. Update to 7964e2b72d9.
Changes: too many to list them all, full list of changes is available at
https://github.com/simh/simh/blob/master/README.md
Highlights:
- many new simulators
- simulator front panel API
- VAXstation video display simulation using SDL
- UDP and NAT packet transports
- scripting support
Many of these definitely do not depend on readline.
So there must be a different underlying problem, and that
should be tracked down instead of papering over it.
Solves:
/usr/libexec/binutils225/elf/ld.gold: error: cannot find -lreadline
The missing specification is obvious on DragonFly because there's
no publically accessible version of readline in base.