04/26/17 09:09 AM
Today’s the day for our April MAME release, bringing some important fixes as well as the usual assortment of emulation improvements. A bug preventing multiple keys from being mapped to subdevice inputs has been fixed, which means you can now assign multiple keys to buttons in NeoGeo games and consoles/computers with controller/keyboard/mouse slots. Software loading has been reworked in this release, and the user-visible issues in 0.184 should be addressed. An improvement to the debugger allows more cheats in games with encrypted program ROMs.
Newly supported systems include the Galaxy Games StarPak 4 prototype (thanks to Keith Kolmos), Acchi Muite Hoi (a jan-ken-pon game), the HP 9845T computer, Tekken Card World, and Pirate Ship. This release also restores working support for Omori Popper, the driver rewrite having been completed just in time (the old driver had to be removed due to licensing issues). New clones includes the export release of Mach Breakers, an earlier world release of Rastan, the US release of Sonic Blast Man, and Up Maguila (a Spanish bootleg of Donkey Kong Jr.).
Emulation improvements include improved netlist performance, a fix for classic Mac keyboard input, a fix for the Apple I cassette interface, and fixes for regressions in Thomson floppy support and Apollo SIO. The N-Sub driver now supports sound sample playback and the gradient generator simulation uses PROM data. There are also some fixes for bugs in the Intel MCS-51 and 8086 family CPUs.
Of course that’s not all, and you get the source or Windows binaries from the download page and have a look yourself.
MAMETesters Bugs Fixed
- 06402: [Interface] UI:: Switch Item Ordering corrupts software list (Nathan Woods)
- 06481: [DIP/Input] (mac128.cpp) All classic Macs: Keyboard input is not working anymore in the emulated macs since version 0.181 (R. Belmont)
- 06516: [DIP/Input] (coolpool.cpp) 9ballsht and clones, coolpool and clones: Can't coin up (O. Galibert)
- 06526: [DIP/Input] (nbmj8891.cpp) club90s: dsw b should not exist (system11)
- 06532: [Save/Restore] (alpha68k.cpp) skysoldr skyadvnt timesold: No Sound (Osso)
- 06534: [Crash/Freeze] (fm7.cpp) fm77av: BASIC doesn't boot (Barry Rodewald)
New working machines
- Acchi Muite Hoi [David Haywood, Surgeville, Sean Sutton, Jred, Mike Krug, Smitdogg, The Dumping Union]
- Fidelity Dame Sensory Challenger [hap, yovan]
- Fidelity Sensory Chess Challenger 8 [hap, yovan]
- Galaxy Games StarPak 4 (prototype) [Keith M. Kolmos, The Dumping Union]
- Novag Presto [hap, Berger]
- Pirate Ship [Phil Bennett, R. Belmont, Jared Bresee]
- TI-2550 III [hap, Sean Riddle]
- Tekken Card World [ShouTime, Rob Carr, The Dumping Union]
- Wireless 60 (Jungle Soft / Kids Station Toys Inc) [RebeccaRGB]
New working clones
- Bionic Commandos (bootleg, set 2) [TeamEurope]
- Gals Panic DX (Asia) [arcademodbios.com]
- Knights of Valour / Sangoku Senki (ver. 100, Hong Kong) [Pasky Junk]
- Mach Breakers (World, MB2) [caius, Silvio Grazini, The Dumping Union]
- Martial Masters (ver. 103, 102, 101CN) [kuze, The Dumping Union]
- Megatack (set 2) [OriginalJohn]
- Novag Octo [hap, Berger]
- Prehistoric Isle in 1930 (World, bootleg) [The Iron Goat]
- Rastan (World, Earlier code base) [System11, The Dumping Union]
- Sonic Blast Man (US) [coolmod, The Dumping Union]
- Street Fighter II': Champion Edition (UPL bootleg) [ShouTime, The Dumping Union]
- Up Maguila (bootleg of Donkey Kong Jr.) [Asociacion A.R.C.A.D.E.]
Machines promoted to working
- HP 9845T [fulivi, A.Kueckes]
- Popper [Dirk Best]
- Soreike Kokology Vol. 2 - Kokoro no Tanteikyoku [AJR]
New machines marked as NOT_WORKING
- GI-Classic EX (satellite terminal) [R. Belmont, Jacob Kesinger, Surgeville, Paul Vining, Smitdogg, The Dumping Union]
- GI-Classic EX (server) [R. Belmont, Phil Bennett]
- Gaelco Championship Tuning Race [Mark F., Smitdogg, The Dumping Union]
- Galaxy Play [PinMAME]
- Game & Watch: Boxing [hap, Sean Riddle]
- Game & Watch: Donkey Kong II [hap, Sean Riddle]
- MegaTouch XL 6000 (Version r07) [R. Belmont]
- Megatouch XL Gold (Version r01) [R. Belmont, Smitdogg, The Dumping Union]
- MegaTouch XL (Italy version R1) [any, R. Belmont]
- Megatouch XL Super 5000 (Version R5I) [R. Belmont, Smitdogg, The Dumping Union]
- Otomedius (ver GGG:J:A:A:2008041801) [R. Belmont, dopefishjustin, G. Paziouros, S. Fauveau, R. Higashi, R. Howard, B. Munger, S. S. Neilson, Tormod, Smitdogg, The Dumping Union]
- Police Trainer 2 [R. Belmont, gamerfan, Mr. CAST, Smitdogg, The Dumping Union]
- Ring Riders (Software version v2.2) [Mark F., Smitdogg, The Dumping Union]
- Shark (US Billiards Inc.) [Stiletto, Siftware]
- Super Derby II (Satellite board) [Charles MacDonald, The Dumping Union]
- Super Star (Recreativos Franco) [AJR, Akiles500]
- Unknown 'VIP 2000' game [TeamEurope, f205v]
- Unknown Poker Game by Chain Leisure [Gerald (COY), The Dumping Union]
- Unknown Sega gambling game (M1 Satellite board) [Jacob Kesinger, Surgeville, Paul Vining, Smitdogg, The Dumping Union]
New clones marked as NOT_WORKING
- Megatouch XL 6000 (Version r02) [R. Belmont, AeroCityMayor, Smitdogg, The Dumping Union]
- MegaTouch XL Gold (Version r00) [R. Belmont]
- MegaTouch XL Super 5000 (Version R5B) [R. Belmont]
- MegaTouch XL Super 5000 (Version R5E) [R. Belmont]
- Rocky (French speech) [PinMAME]
- The Real Ghostbusters (US 3 Players, revision ?) [caius, The Dumping Union]
- Tokyo Cop (US, dedicated version) [Mark F., Smitdogg, The Dumping Union]
- Tokyo Cop (US, kit version) [Mark F., Smitdogg, The Dumping Union]
- U.S.A. Football (R01u) [PinMAME]
New working software list additions
- bbcb_cass: 3D-Wars (Demo), Arcade 4 Pack, Blockbusters Question Master, Children from Space, CopyCat III, Crazy Cut/Mastermind/Klingon Attack, Disk Master, Football Director, How To Move Programs To Disk, Music, Predict, Pro Word, Superior Mover, Tape Transfer Software, Toccata [Nigel Barnes]
- coco_cart: Super LOGO [Nigel Barnes]
- dragon_cass: All known cassette dumps [Nigel Barnes]
- dragon_flop: All known floppy dumps [Nigel Barnes]
- dragon_flex: FLEX System and other Compusense FLEX releases [Nigel Barnes]
- dragon_os9: OS-9, BASIC09, C, Dynacalc, Pascal, RMS, Stylograph [Nigel Barnes]
- dgnalpha_flop: OS-9, NitrOS9, C, Dynacalc, Pascal, RMS, Stylograph, etc. [Nigel Barnes]
- fmtowns_cd: F-BASIC386 Compiler v1.1 L21, Dennou Ehon - Kyouryuu no Sekai, Hyper Oku no Hosomichii, Soko-ban Perfect, Youjuu Senki 2 - Reimei no Senshi [r09]
- ibm5150: Golden Axe, Home Alone, Prince of Persia v1.0 [ArcadeShadow]
Gods, Indiana Jones and the Fate of Atlantis, The Legend of Kyrandia, Monkey Island 2: LeChuck's Revenge, Space Quest V: The Next Mutation [ArcadeShadow]
Borland Quattro Pro 3.0 (German), Borland Quattro Pro 5.0 (German), Borland Turbo Basic 1.0 (German), Borland Turbo Pascal 4.0, Borland Turbo Pascal 6.01 (German) [darkstar]
- ibm5150, ibm5170: Various alternate sets [Justin Kerk]
- megadriv: Zhan Qi - Chinese Battle Chess (Tw) [system11]
- nes: Adan y Eva [No-Intro], AV Super Real Pachinko [Frank Cifaldi]
- pc98_cd: Jorougumo - Jubaku no Dorei-tachi, Ms. Detective File #1 - Iwami Ginzan Satsujin Jiken, Youjuu Senki 2 - Reimei no Senshi [r09]
- pet_rom: KeyChip [Andy Grady]
- phc25_cass: official releases from Sanyo, Citadelle [Nigel Barnes]
New NOT_WORKING software list additions
- gameboy: Song of the Pipa / Magic Ball [James, TeamEurope, Tauwasser]
- pce_tourvision: Dragon Egg! [system11]
-pstring, pdynlib, pfmtlog refactoring: [Couriersud]
- Changed to use std::string for storage (removes allocation code).
- Added support for UTF16LE.
- Renamed size() to mem_t_size() and len() to length(), added size() == length().
- Added empty() and simple compare().
* Simplified pfmtlog, added more C++.
* pdynlib: Added a dynproc type to dynlib to wrap dynamic library calls.
* Fixed two coverty scan issues and various clang warnings.
-Netlist code refactoring: [Couriersud]
* More use of C++ features.
* Some CRTP in pfmtlog.
* Demangled code for truthtables.
* Used more constexpr.
* Rewrote main loop.
* Used default constructors and assignment operators were applicable.
* Optimized 7448 and 9316.
* Startup time decreased by 25% to 30% (netlists like pong/kidniki are parsed, analyzed and constructed in around 15 ms).
* Run performance has improved by about 5%.
-Fixed Gun Card logic in Double Dealer. [Angelo Salese]
-Renamed the write-only -printer image instance type to -printout (the former conflicts with printer port in several drivers). [AJR]
-osbexec: Added experimental support for RS232C serial ports. [AJR]
-UI input map fixes: [AJR]
* Fixed a longstanding bug that prevented binding several ORed buttons to any input belonging to a non-root device.
* Fixed a visual glitch when assigning inputs to analog sequences.
-decocass.cpp: Corrected missile colors for Highway Chase and Astro Fantasia. [AJR]
-segas24.cpp, segaybd.cpp, segajw.cpp: Use 315-5296 for I/O. [AJR]
-segaxbd.cpp: Rewrote CXD1095 as a device and also add it to megaplay.cpp, megatech.cpp, cyclwarr, and bigfight. [AJR]
-segaybd.cpp, srallyc: Added OKI MSM6253 device. [AJR]
-Added VS9209 I/O device for various Video System games. [AJR]
-Converted Sega Model 1 Sound Board and Z80-based Digital Sound Board to use proper UART-based serial interfaces. [AJR]
-segas32.cpp: Input modernization: [AJR]
* Use I8255 or MSM6253 devices for most non-JAMMA inputs.
* Separated service and test inputs in Multi-32 and twin-unit sets.
* arescue: Four coins are recognized, not just two.
* ga2: Use MB8421 device for V25 communications.
* orunners: Assign keys to some 2P inputs.
* Use Sega 315-5296 device for primary I/O.
* Restored Coin 2 inputs to f1lap, radm, radr, slipstrm.
* Identified onboard service inputs and restored them to practically all games.
-hotrod: Read pedals through MSM6253 [AJR]
-kokoroj2: Corrected inputs, changed name to match title screen. [AJR]
* Found switch to disable CD and printer, game presumably works now, albeit imperfectly.
-jvs13551: Removed identical second halves of overdumped MCU PROMs. [AJR]
-Created device_palette_interface mixin: [AJR]
* Provides most of the functionality from palette_device besides initialization/decoding routines and RAM interface.
* Updated screen_device and device_gfx_interface to use device_palette_interface rather than palette_device.
* Modified v9938 and v9958 to use device_palette_interface rather than a subdevice.
-Seibu/TAD PROM stuff:
* toki: Added dumps of bipolar PROMs [caius]
* bloodbro: Added dump of bipolar PROM [Andreas Naive]
* dynduke, raiden, skysmash, cupsoc: Documented undumped PROMs for many sets. [AJR]
-ds1205: Added Dallas DS1205 Multikey. [Carl]
-popper: Fixed memory map, finished gfx rendering - game is fully working again. [Dirk Best]
-dgnbeta: Added software list with OS-9 system and apps. [Nigel Barnes]
* Replaced 5.25" floppies with 3.5", and added sounds.
* Enabled floppy motor.
* Removed tag lookups.
-cesblit.cpp: Improved blit coordinates - fixes some missing graphics in e.g. galgame4. [Luca Elia]
-Created 'util::arbitrary_clock' class template representing a clock with known epoch. [Nathan Woods]
* Converted NTFS filetime code and Imgtool Mac datetime code to use new template.
-coco: Further cleanups in cartridge slot signal handling: [Nathan Woods]
* Attempts to make signals on the CoCo cartridge slot (CART, NMI, HALT) more standardized, particularly the practice of Program
Paks tying the CART line to Q.
* Should fix some outstanding bugs in how these signals were passed around when using the CoCo Multi-Pak interface.
-Fixed issue that could cause bogus arguments to be reported incorrectly. [Nathan Woods]
* Example: 'mame -whatever nes' would previously be reported as "Unrecognized argument: nes".
-Refactoring in response to MT6531: [Nathan Woods]
* Exposed emu_options image and slot selections as maps, store data that persists across sessions here rather than subverting
* Overhauled various implementations of get_default_card_software().
-Fixed out of bounds issues in NeoGeo memory access. [Nathan Woods]
-Miscellaneous cleanup: [Nathan Woods]
* Fixed a pedantic MSVC warning in dipalette.h.
* Made a few random methods 'const'.
* Changed a lookup within the softlist code to use std::find_if().
-dragon32: Corrected release year and company of Spanish clones. [Nigel Barnes]
* Added joysticks to all machines, Added floppy sounds.
-dragon200e: Added chargen ROM, not working (possibly MC6847 issue). [Nigel Barnes]
* Demoted to MACHINE_NOT_WORKING.
-d64plus: Added CRTC with chargen ROM and second screen output, not yet hooked up. [Nigel Barnes]
* Demoted to MACHINE_NOT_WORKING.
-dgnalpha: Added older Boot v0.4 ROM. [Nigel Barnes]
* Replaced 5.25" floppy drives with 3.5", and added sounds.
-atom: Added csw cassette format. [Nigel Barnes]
-dragon: Moved all Dragon cartridges from coco_cart to dragon_cart [Nigel Barnes]
-phc25: Added character generator ROM, not yet used. [Nigel Barnes]
-electron: Added Power Software joystick interface. [Nigel Barnes]
-bbc: Removed the direct update handler (not supposed not to be useful any more). [Nigel Barnes, O. Galibert]
-ti8*: Removed the gross boot hack - breaks the Flash-based models. [O. Galibert]
-abc80x: Removed the direct update handler. [O. Galibert]
-multiface 2: Disabled the direct update handler. [O. Galibert]
* Device should be overhauled using the by now-reversed PAL information.
-i86: Added decrypted opcodes space support. [O. Galibert]
-Removed support for direct updated handlers. [O. Galibert]
-mlanding: Fixed tms32025 memory map. [O. Galibert]
-tms32026: Fixed status register and banking. [O. Galibert]
-voodoo: Changed multi base address selection to fix funkball textures. [Ted Green]
-vp101: Improved support for reduced-cost VP050 version. [R. Belmont]
-piratesh: Fixed to pass POST, which earns it working with imperfect graphics. [R. Belmont]
-mac: Fixed major 0.183 regression in Mac II series [R. Belmont]
-megatouch: More work clarifying the various versions, thanks to Merit documentation. [R. Belmont]
-apple1: Fixed bug introduced when the cassette was slotified. [Colin Douglas Howell, R. Belmont]
-chihiro: Added high level simulation of an2131sc - OutRun 2 runs with USB enabled and no patches. [Samuele Zannoli]
-Turned pstring iterator into a real forward iterator that works with standard algorithms. [Vas Crabb]
-Assume LLVM libc++ if __llvm__ is defined but __GLIBC__ is undefined (fixes bx build with MacPorts clang). [Vas Crabb]
-Apply environment variable substitution to bgfx_path (github issue #2201). [Vas Crabb]
-naomi, triforce, chihiro: Converted remaining bad CHD v4 to good v5, track1 and track2 length was restored based on now-known data
-naomi.cpp: Export mushik2e/mushi2eo are 3-in-1 Mushiking II, III and III+ games. [MetalliC]
-thomson: Fixed regressions to (legacy) floppy support [Antoine Mine]
-apollo: Fixed SIO regression. [Hans Ostermeyer]
-Allow debugger 'dasm' command to traverse virtual spaces with unmapped holes. [Happy]
-uml: Added case for parameter PTYPE_CODE_LABEL in UML instruction disassembly. [Happy]
-vicdual: Added 97269-P-B and 97271-P daughterboards for nsub. [SailorSat]
* Confirmed PR-33 and PR-34 on the nsub motherboard - type is MMI 6331 (32*8).
* Added the 97269-P-B daughterboard - gradient is still a simulation, but uses the PROMs (starfield is still missing).
-Implemented HP 9845T driver (9845 with HP987080A hardware-accelerated monochrome graphics). [fulivi, A.Kueckes]
* Fixed a race condition in 45T, added second tape drive (T14), 98035 module default SC is 9 now.
* hphybrid: Hopefully fixed a super-subtle race condition in 9845T video hardware.
-acchi.cpp: Promoted to working state: [David Haywood]
* Added scantimer interrupt, inputs work in game.
* Added video banking.
* Added an NMK112 for sound banking, might not be hooked up correctly, difficult to know without understanding Japanese.
* Oki frequencies etc. need verifying on PCB.
-mcs51: Fixed indirect memory access opcodes dec, inc and xch_a. [Jean-Francois DEL NERO]
* Indirect access can't use SFRs, only extra memory above 0x80.
-i86: Fixed JNL flags test (github issue #2200). [htjywf2008]
-namconb1.cpp: Corrected Coin inputs and added in Coins 3 and 4 as needed. [Brian Troha]
-wirels60: Made P2 IO port optional. [RebeccaRGB]
-sblaster: Save DSP state, fixed incessant popping before first use. [moralrecordings]
-ymf262: Added save state support and slot pointer checks. [moralrecordings]
-nes improvements: [kazblox]
* Marked edu2k48 as working, added notes about mouse titles.
* Made koko not use battery-backed WRAM as shown in PCB picture.
* waixing.cpp: Slight modernizations - waixing_sgzlz_device now implemented the way CaH4e3 does it, gets some titles working.
-Fixed Head Panic modesty settings (more modesty means more clothing; nude/bikini pics are displayed after a level when set).
Input/service button fixes and clenups: [OzFalcon]
* realbrk.cpp: Removed service button hard-coded keycode assignment.
* hanaroku: Use standard hanafuda inputs and key assignments, remove hard-coded IPT_SERVICE assignments.
* aleck64.cpp: Corrected Service/Test Button assignments.
* suprstar: Remove hard-coded keycode assignments.
* ampoker2.cpp: Made various key assignments consistent.
* albazc.cpp: Assigned "Data Clear" to IPT_MEMORY_RESET, changed "Medal In" and "Pay Out" to standard buttons, changed lockout
"Key" to PORT_TOGGLE type, corrected "Payout" button to use "IPT_GAMBLE_PAYOUT", corrected IPT_SERVICE assignments, set
IPT_SERVICE and Double up buttons as standard assignments, set "Ext In 1" & "Ext In 2" as IPT_OTHER.
-Fixed gtrfrk6m boot by correcting Flash card memory size to 32MB, works for gtrfrk5m as well (thanks to @sakamoto-neko). [limyz]
-naomi.cpp: Redumped "Initial D Arcade Stage Ver. 2 (Export) (GDS-0027)". [rtw]
-Redumped Knights of Valour 3 HD (V105). [Peter Wilhelmsen, The Dumping Union]
-Documented that Taito's T.T. New York New York ROMs match the Sigma set. [ShouTime]
-Added later SuperMac Spec/8 III V1.3 NuBus ROM. [fink]
-Fixed coverity CID 157540 and CID 15741: Missing comma resulting in unintentional string concatenation. [Peter Bortas]
-sun4: Added SPARCstation IPX V2.3 and SPARCstation 1 V2.2 boot ROMs. [NekoEd]
-Fixed writes to decrypted opcode memory space. [Pugsy]
* Separated EXPSPACE_RAMWRITE and EXPSPACE_OPCODE case statements to allow opcode writes to access the correct memory.
* Example: In flicky this will now disable cat collisions with the main sprite: maincpu.ob@3ac6=c3.