It’s time for MAME 0.253, but before we start talking about all the exciting updates, there are a couple of things that will affect people compiling or packaging MAME. Firstly, libc++ 6 is no longer supported. You can still compile with clang 6, but you’ll need to use libc++ 7 or later, or GNU libstdc++ 7 or later, for the C++ standard library. Secondly, MAME now requires Lua compiled as C++ to work correctly. This prevents the use of Lua libraries from Linux distribution package repositories, as they are compiled as C. (The technical reason for this change is that MAME requires C++ stack frames to be unwound correctly, including destructor calls, when Lua errors are raised from C++ code. Using Lua compiled as C will cause resource leaks.)
We’ve updated to Lua 5.4, which comes with an all-new garbage collector, giving better performance. This should have minimal impact on people writing scripts and plugins. Two of the biggest visible changes are that unpack has been replaced with table.unpack and the deprecated bitlib has been removed. While we’re talking about Lua, we’d like to draw your attention to the new MAME Goodies repository, where we’ll be adding additional content for use with MAME. So far, there are two plugins. One of them is sure to be useful for fans of Konami’s arcade rhythm games. They also serve as example code for people looking to learn about some of the things you can do with MAME’s Lua scripting capabilities.
The long-rumoured microcode-based Motorola 68000 CPU core is finally here! It’s already delivering results, with a number of previously out-of-reach Atari ST demos now running. We’ve done some intensive testing, but there are probably still regressions lurking. Let us know if one of your favourite 68k-based games flakes out on you.
One of the more interesting systems to be dumped and emulated this month is Akazukin, a 1983 arcade game where you shoot wolves preying on a defenceless girl. There’s also a game bearing the rather generic title Heroes, an early version of Data East’s Mutant Fighter. We’ve added a few more electronic toys to play with, including Race Time from Bandai, Punch Your Lights Out from Tiger, and a trio of backgammon and chess games from Tryom. If you’re in a more serious mood, the Brother LW-30 and LW-840ic dedicated word processors are now supported. The Sony NWS-3410 UNIX workstation is now working (albeit without its frame buffer, so you’ll need to use a serial terminal), as is the ironically named Vector 4 S-100 bus computer (Vector Graphic never sold a system with vector graphics capabilities).
Building on the work in last month’s release, Hyper Neo Geo 64 games are looking better than ever. Numerous texturing and tilemap issues have been resolved. Taito F3 video emulation has had several effects fixed, with Land Maker in particular looking noticeably better. Switching from video to sound, the KC 85 computer family now has working audio output, some issues with looping and retriggered samples on the Apple IIgs have been fixed, and fixes for PC Engine CD audio playback issues have made some games go from crashing to playable. More subtly, correcting audio chip clock frequencies has fixed the pitch of sounds for several systems, including Snow Bros. 2 and Noboranka.
As always, there’s far more than we have time to talk about here, but you can read all about it in the whatsnew.txt file. The source code and 64-bit Windows binary packages are available from the download page.