Posted
over 4 years
ago
MAME developer Vas Crabb will be giving a talk at FOSDEM ’21. Due to the ongoing
pandemic and associated movement restrictions, FOSDEM ’21 will be held
online. This is great news for a lot of us, because it means we can
attend
... [More]
without having to travel to Belgium. Vas will be speaking in
the Emulator
Development room, on Saturday 6 February, from 10:00 AM to 11:00 AM,
Central European time (UTC+1). The hour will include a presentation
followed by a live Q&A session. There’s information on how to
attend and participate here.
[Less]
|
Posted
over 4 years
ago
Has it already been an entire month? It must have been, because
MAME 0.228 is ready today! We’ve added support for two very rare arcade
games this month. The first is Namennayo, an overhead-view obstacle
course game making
... [More]
unauthorised use of Satoru Tsuda’s Nameneko
characters. The second is Get A Way, an overhead-view racing game made
by Universal, touted as the “first game in the world to feature a 16-bit
microcomputer.” Universal went on to create the much loved Mr. Do!
character. Emulation is preliminary – while the game is playable, there
are some graphical issues, and sound is absent.
In other arcade emulation news, Windy Fairy has made a triumphant
return, bringing numerous fixes for issues affecting Bemani rhythm games
running on System 573 hardware. Thanks to the persistent efforts of
David “Haze” Haywood, various fruit machines from JPM are starting to
become playable in MAME. Interestingly, these machines rely on similar
Brooktree RAMDACs to NCD X11 terminals, and Motorola DUARTs used by
numerous other systems emulated in MAME. A complete dump of the type 01
program for Zaccaria’s Cat and Mouse has finally been obtained,
making both known versions of this obscure game playable at last.
For hand-held consoles, the WonderSwan and WonderSwan Color have had
an overhaul, and Game Gear X-Terminator cartridges are now supported.
Several Bandai RX-78 cartridges have been dumped, exercising more
aspects of the emulation and allowing several shortcomings to be fixed.
We’ve also made some progress on emulating Apple’s floppy drive
controllers, providing a path to support for SuperDrive high-density
floppy drives, and eventually the HD20 external hard disk.
There’s been plenty more happening, including a new LCD shader from
cgwg, all the latest FM Towns software dumps, fixes for recent
regressions, and more code modernisation. You can read all about it in
the whatsnew.txt
file, and get the source and 64-bit Windows binary packages from the download page.
Read the rest of this entry »
[Less]
|
Posted
over 4 years
ago
It’s time to say goodbye to 2020, and we’re doing that with the
release of MAME 0.227, the fruit of our extended November/December
development cycle. A lot has happened in these two months, in terms of
internal improvements to
... [More]
MAME as well as user-visible changes. If
you’ve been following along with development, you’ll have noticed that
we’ve migrated MAME to C++17, overhauled the Lua interface, further
streamlined and enhanced the emulated memory system, and cleaned up a
lot of ageing code.
MAME 0.227 adds preliminary support for macOS on AArch64, also known
as “Apple Silicon”. Please note that we lack a native A64 recompiler
back-end, and there are some issues with our C recompiler back-end. If
you’re running an A64 build of MAME, you can disable recompilers for
most systems that use them with the -nodrc option on the
command line. You may get better performance for emulated systems with
MIPS III or PowerPC processors by running an x86-64 build of MAME under
Rosetta 2 with recompilers enabled. (Yo, ’sup dawg. I heard you like
recompilers…)
Lots of long-standing issues have been fixed in this release.
Missing platforms in stage 15 of Sega’s Quartet now appear properly.
This relies on a protection microcontroller feature that we were
previously unaware of. Protection features that are only used late in
the game have been a recurring source of frustration not just for
emulator developers, but also for arcade bootleggers, and even
publishers re-issuing old games in new formats. It seems Sega missed
this feature in their Astro City Mini release. Another long-standing
protection issue was fixed this month that made Atari’s Rampart
impossible to complete on Veteran difficulty. This one was actually a
regression that managed to stay unresolved for years, possibly because
the game’s high difficulty makes it difficult to reach. While we’re on
the topic, protection simulation has been added for the versions of
Sega’s Carnival that run on Head On hardware.
While protection emulation may encompass the most noticeable fixes,
lots of other things that have been improved as well. Graphical issues
have been fixed in Chase Bombers, Championship Bowling, and Prop Cycle.
NFL Blitz ’99 no longer skips animations in attract mode. DIP switch
descriptions have been corrected in 3-D Bowling, Bloxeed and Mahjong
Tenkaigen. Game switching now works on Multipede, and Klax bootlegs are
playable, with working sound.
It wouldn’t be a MAME release without new supported systems. This
month we’ve got TV games from dreamGEAR, JungelTac, LexiBook and
Senario. As always, the quality varies enormously. New versions of
1944: The Loop Master, Cookie & Bibi 2, F-1 Grand Prix, Forgotten
Worlds, and Narc have been found and dumped. One of the newly supported
Narc versions is particularly interesting, as it appears to be an early
test version, lacking a substantial amount of content found in other
versions of the game. Another incomplete copy of Unico’s Master’s Fury
was found, which could be combined with the previous incomplete set to
make the game playable.
Finally, there are a few improvements to the internal user interface.
There are more controls for screenshots, aspect ratio and scaling
accessible from the Video Options menu. You can now use NOT codes when
assigning analog joystick axes to digital inputs. The menus for the
Cheat and Autofire plugins have been made more consistent.
Of course, there’s far more that we don’t have space for here, but
you can read all about it in the whatsnew.txt
file, and get the source and 64-bit Windows binary packages from the download page. It’s
been a very tough year for a lot of us, but it’s still been a great year
for MAME development. Thanks to everyone who contributed this year,
even if it was just a kind word or helping out a user on a community
forum. Have a great new year, and keep the spirit of digital
preservation alive!
Read the rest of this entry »
[Less]
|
Posted
over 4 years
ago
If you’ve been following along during our extended November/December
development cycle for MAME 0.227, you might have noticed that we’ve
migrated MAME to C++17. As part of this, we’ve upgraded the C++/Lua
interface library to
... [More]
sol3. This has necessitated a shake-up of the Lua
interface code. We’ve taken this opportunity to re-think some of MAME’s
Lua interfaces.
Some of the changes are not backwards-compatible and will require
scripts to be migrated. However, we believe these changes make our Lua
interface more robust and efficient as well as making the Lua syntax
more idiomatic. We’ve exposed more functionality, too. Most of the
breaking changes fall into a few categories:
Better aligning the Lua interface with MAME’s architecture.
Using container wrappers rather than building Lua tables.
Replacing simple getter methods with read-only properties.
Moving the Lua API reference to our documentation web site.
In particular, using container wrappers makes a lot of properties far
more efficient because the collection no longer needs to be iterated and
copied into a Lua table for every access. We’ll go through most of the
breaking changes and touch on some of the new functionality here. There
will still be occasional changes to the Lua APIs going forward, but
we’re not anticipating another major upheaval like this soon.
Read the rest of this entry »
[Less]
|
Posted
over 4 years
ago
Thanks to the kind generosity of Wolfgang Nottebaum, managing
director of Video Klein Automatenbau GmbH, we can provide ROMs for
several German video poker games. The ROMs are freely available for
personal use. Most of the
... [More]
games come from Video Klein’s popular Witch
Card series. Notably, Witch Strike is one of the many games designed to
comply with the letter of laws banning video poker games by eschewing
playing card graphics and gambling terminology.
The ROMs are available for download from our ROMs page. All the games have
internal artwork that shows the control panel button lamps. The buttons
are clickable if you run MAME in windowed mode with mouse capture
disabled. For games that require initial setup, instructions are
provided on the download pages.
[Less]
|
Posted
over 4 years
ago
The slipping of release dates is nothing new in software development;
it can, and does, happen with some frequency, for a whole assortment of
reasons. That said, with an aim towards increasing the transparency
with which the
... [More]
MAME team operates, we have taken the unprecedented step
of announcing it, and issuing a (hopefully) reasonable explanation as to
why.
The simple, and non-technical, reason for this decision is that the
overall stability of the codebase, after some major changes under the
hood in order to rectify technical debt after the release of MAME 0.226,
is not where we would like it to be. As with many projects, we have a
boilerplate set of tests which are run on a regular basis. When any
major change to the core codebase occurs, there is the chance for
instability – for reasons which will be clear in the more technical
description to follow, the change was downright guaranteed to cause
issues, despite the overall benefits once these issues are rectified.
The metrics that have come from those tests indicate that the rate at
which we are burning through regressions is not such that we can be
reasonably assured of having a stable build by the time that it is
necessary to have one to maintain a monthly release cadence.
Read the rest of this entry »
[Less]
|
Posted
over 4 years
ago
You know what day it is? It’s MAME 0.226 day! A lot has happened in
this development cycle, and plenty of it is worth getting excited about!
First of all, there’s a change that affects all systems with keyboard
inputs
... [More]
, including most computers. MAME now allows you to activate and
deactivate keyboard and keypad inputs per emulated device in the
Keyboard Mode menu. When a system has multiple keyboards (for example a
computer with a terminal connected to a serial port), you can choose
which keyboard you want to type on rather than effectively typing on all
the keyboards at once. If a system has multiple devices with keyboard
inputs, MAME will start with only one enabled by default. Sadly,
MAME doesn’t have mind-reading capabilities yet, so it may not always
choose the keyboard you want to type on. If you find you can’t type on
an emulated computer, check that the right keyboard is enabled in the
Keyboard Mode menu.
Another batch of layout/artwork system updates are ready this month.
More image formats are supported, several long-standing alignment and
clipping bugs have been fixed, more parameter animation features are
available, and external artwork loads faster. Lots of systems using
built-in layouts look prettier, but Cosmo Gang probably shows the
biggest improvement in this release (yes, the electromechanical
redemption game). Try it out in MAME 0.226, and maybe do a before/after
comparison to see how far we’ve come.
Apple II systems have seen some significant development this month.
Firstly, a number of issues with demos using raster split effects have
been fixed. The Apple II has no hardware support for raster effects, so
these demos rely on open bus read behaviour to work out what the video
hardware is doing. Getting this to work requires precise emulation of
memory access timings. Secondly, two parallel printer cards are now
working: Orange Micro’s popular Grappler+ and Apple’s Parallel Interface
Card. The Grappler+ is well-supported by Apple II software and provides
a better out-of-the-box experience if you want to try one of them.
Sega’s Tranquillizer Gun was a somewhat ambitious title for 1980, but
was largely overlooked at the time. It’s finally fully emulated in
MAME, with audio emulation and protection simulation being added in this
release. We’ve also added support for Must Shoot TV, an unreleased
prototype developed at Incredible Technologies. Step into the shoes of
disgruntled ITS Cable employee Chuck and go on a rampage!
Far more has been added this month than we can cover in detail here,
like another batch of TV games (including several Vs Maxx titles),
support for Mattel Aquarius CAQ format cassette images, and working Sega
Mega Play games. You can read all the updates in the whatsnew.txt
file, or get the source and 64-bit Windows binary packages from the download page.
Read the rest of this entry »
[Less]
|
Posted
over 4 years
ago
Starting with the December 2020 development cycle (after the
anticipated release of MAME 0.227), we will switch to compiling MAME as
C++17. Compiler and standard library support for C++17 is now
sufficiently widespread that we
... [More]
can update and benefit from the new
functionality. The minimum compiler versions and corresponding
standard library versions with adequate C++17 support are
GCC/libstdc++ 7, clang/llvm/libc++ 6, and Visual C++/MSVCPRT 19.14
(Visual Studio 2017 15.7). This will be an increase in the required
clang/llvm/libc++ version.
A small number of C++17 standard library features that are not yet
widely supported will not be permitted. The following standard library
features will not be permitted until support is more widespread:
Parallelism TS (P0024R2)
Updating references to C standard to C11 (P0063R3)
Elementary string conversions (P0067R5)
Splicing maps and sets (P0083R3)
Hardware interference size (P0154R1)
File system library (P0218R1)
Polymorphic memory resources (P0220R1)
Mathematical special functions (P0226R1, ISO/IEC 29124:2010)
std::shared_ptr/std::weak_ptr with array support (P0414R2)
std::is_aggregate (LWG2911)
[Less]
|
Posted
almost 5 years
ago
Whether it’s the Autumn harvest moon, or the ornamental plum blossoms
are blowing in the Spring breeze, it’s time for something special:
MAME 0.225 is out today! We’ve got some big updates that benefit
everyone! First of all
... [More]
, MAME’s sound output system has been overhauled,
with better sample rate conversion and mixing. This makes pretty much
everything sound sweeter, but on top of that, the Votrax SC-01 speech
synthesiser has been tuned up. Does anyone here speak Q*Bertese? SC-01
speech has been added to the Apple II Mockingboard card, too. While
we’re talking about Apple II cards, Rhett Aultman has ported the CS8900A
Crystal LAN Ethernet controller from VICE, allowing MAME to emulate the
a2RetroSystems Uthernet card.
Other across-the-board enhancements include more artwork system
features (you’ll start to see this show up in external artwork soon),
an option to reduce repeated warnings about imperfectly emulated
features, and several internal improvements to make development simpler.
Significant newly emulated system features include the Philips P2000T’s
cassette drive from Erwin Jansen, the Acorn BBC Micro Hybrid Music 4000
Keyboard, internal boot ROM support for the WonderSwan hand-helds, and
initial support for the NS32000 CPU.
Newly emulated systems include several TV games from MSI based on
arcade titles, a couple of Senario Double Dance Mania titles, Sun
Mixing’s elusive Super Bubble Bobble, a location test version of Battle
Garegga, a couple more versions of Jojo’s Bizarre Adventure, and three
more Street Fighter II': Champion Edition bootlegs. Some of the
immediately noticeable fixes this month include 15-bit graphics mode
refinements for FM Towns from r09, gaps in zoomed sprites on Data East
MLC and Seta 2 fixed by cam900, Galaga LED outputs lost during
refactoring restored, and clickable artwork remaining clickable when
rotated.
As always, we can only fit a few highlights here, but you can read
all the updates in the whatsnew.txt
file, or get the source and 64-bit Windows binary packages from the download page.
Read the rest of this entry »
[Less]
|
Posted
almost 5 years
ago
Are you ready kids? MAME 0.224 (our August release) is out now! As
always, there’s plenty to talk about. First of all, the Magnavox
Odyssey² and Philips Videopac+ G7400 have had a major overhaul, with
many graphical errors
... [More]
fixed, most software working, and support for the
Chess and Home Computer modules. The Gigatron 8-bit homebrew computer,
created by the late Marcel van Kervinck and based entirely on
7400-series logic chips, is now working with graphics and controller
support. Acorn 8-bit expansions continue to arrive, with several
additions for the BBC Micro and Electron. Speaking of expansions,
regular contributor F.Ulivi has delivered serial modules for the HP
Integral PC and HP9825/HP9845 families.
Analog arcade audio continues to advance. If you’ve played Namco’s
Tank Battalion, ancestor of the NES classic Battle City, you’ll be
acutely aware of the limitations of the sample-based audio. That has
been addressed this month, with netlist-based audio emulation. For
Midway, 280 ZZZAP sound has been further refined, and netlist-based
audio has been implemented for Laguna Racer and Super Speed race, which
use similar circuitry. Sega G-80 games have received some long-overdue
attention, with netlist-based audio added for Astro Blaster, Eliminator,
Space Fury and Zektor, as well as better Universal Sound Board emulation
for Star Trek and Tac/Scan, and more accurate CPU timing. Other games
receiving netlist-based audio are Destroyer and Flyball from Atari,
and Fire One and Star Fire from Exidy. On the topic of audio emulation,
the ultra low cost GameKing now has preliminary sound emulation, making
the games feel more complete.
Work on UK gambling systems has continued, with several more
Barcrest, BWB and JPM games working in this release. There are also a
number of new European gambling games, including several Cherry Master
and Jolly Joker sets. A significant number of arcade driving games have
had additional internal layouts optimised for use on wide aspect ratio
displays added. Other advances in home computer emulation include
Apple IIe RGB monitor mode support, Apple II CMS SCSII II card support,
and proper emulation speed for the VTech Laser 500.
As always, there’s far more happening than we have space for here,
and you can read all about it in the whatsnew.txt
file, or get the source and 64-bit Windows binary packages from the download page.
Read the rest of this entry »
[Less]
|