- New games: unknown Italian poker game
- New Working games: Alligator Hunt (Spain, protected), Big Buck Hunter, Big Buck Hunter II, Big Buck Hunter Call of the Wild, Glass (Ver 1.1, Break Edition, Checksum 49D5E66B, Version 1994), Glass (Ver 1.0, Break Edition, Checksum C5513F3C), Glass (Ver 1.0, Break Edition, Checksum D3864FDB), Great Guns, Maniac Square (protected, Version 1.0, Checksum CF2D), Slap Fight (A76 set, GX-006-A PCB) and Virtual Pool
- New Non-Working games: Bingo Wave, Cisco/Fisco 400 [TTL], Gaelco Football, Gran Trak 10/Trak 10/Formula K [TTL], Gran Trak 20/Trak 20/Twin Racer [TTL], Le Mans [TTL] and Qwak!/Quack [TTL]
- New clones: Alligator Hunt (World, protected), Beast Busters (Japan, Version 2, 3 Player), Big Buck Hunter - Shooter's Challenge (v1.60.01), Chuka Taisen (Japan) (P0-025-A PCB), Iron Horse (version K), Kick Off (bootleg), Lady Master of Kung Fu (set 2, older), Land Breaker (World) / Miss Tang Ja Ru Gi (Korea) (pcb ver 1.0) (AT89c52 protected), Maniac Square (protected, Version 1.0, Checksum DEEE), Robot Hunting (bootleg of Death Race) [TTL], Royal Card / Royal Jackpot (with a third draw)(encrypted), Shootout Pool Prize (Export) / Shootout Pool The Medal (Japan) Version B -P, Syvalion (US, PS2 Taito Legends 2) and Syvalion (World, PS2 Taito Legends 2)
- New TourVision games (Softwarelist: hash\pce_tourvision.xml): Bomberman 93, Die Hard, Hit The Ice and Knight Rider Special
- New PinMAME games: Guns N Roses (2.00) and Meteor (Stern, set 2)
- New drivers: bingowav.cpp
- New devices: amd_29f800b_16bit, arm946es, deco_irq, i82072, lc7535, mc68340duart, mc68340sermod, mc68340timmod, mea8000 and ta7630
- ADSP21062 CPU: Removed leftover debug code
- ARM7 CPU: Various changes. Added ARM946ES variant. Fixed up CPU ID values.
- COP400 CPU:
. Emulated COP402 MCU in Quiz Punch II
. Rewrote the execution control logic to fetch each byte of an instruction separately in one pass of the main loop. This provides EEPROM-compatible timing for the SIO shift register, allowing the 93C46 on Quiz Punch II to be read and written properly (though its default contents are a bad dump).
. Added M pseudo-register (internal RAM referenced by B) to debugger state
. Added T register to debugger state on devices where it only affects SKT
. The SIO state is now displayed in binary when it is defined as a shift register
. Skipped instructions and the SKIP flag can be debugged by compile-time switch (disabled by default)
- M68000 CPU: Fixed abcd/sbcd/nbcd opcodes to pass 68k-bcd-verifier (cpu\m68000\m68k_in.cpp). FlameWing has a test that claims to exhaustively test BCD instructions: https://github.com/flamewing/68k-bcd-verifier.
Verified the test on MegaDrive Model1 (68000).
- M68705 CPU: Fixed corrupt bytes in two MC68705 dumps of clones Arkanoid (Japan, newer) and Nekketsu Kouha Kunio-kun (Japan) after re-analysis of raw dump data.
- MC68340 CPU
. Fixed MCR register enum error and silented some logerror spam by turning them into LOGx statements (machine\68340tmu.h)
. Deskeletonized the serial module as a device derived from the DUART device defined in mc68681.cpp (machine\68340.cpp and 68340ser.cpp). Fixed SIM module read register bug and added informative chip select logic LOG messages (machine\68340sim.cpp). Fixed -validate errors and made slight cleanup.
. Simplified code by making the timer module implementation a device and created two independent instanses, as it should be.
- MN1020012A CPU: Fixed savestate issue
- PSXCPU: Implemented program counter break point to PlayStation CPU & re-added PlayStation EXE, CPE & PSF loading.
- uPD7725 CPU
. Updated OV1 and S1 flag calculation to be correct based on AWJ's NESdev forums post and the original datasheets.
. DPL bits of the instruction field are ignored if DP is the destination register of the current opcode. Similarly, RPDCR bit is ignored if RP is the destination register of the current opcode.
- SAA1099 sound: Removed unnecessary device tag from logerror messages
- Sound Interface
. Soundlatch modernization in 1942.cpp, airbustr.cpp, aquarium.cpp, astrocde.cpp, bking.cpp, bombjack.cpp, dacholer.cpp, ddragon3.cpp, deniam.cpp, exterm.cpp, gaelco3d.cpp, gaiden.cpp, karnov.cpp, lkage.cpp, m90.cpp, mainsnk.cpp, mazerbla.cpp, onetwo.cpp, seicupbl.cpp, segajw.cpp, seta.cpp, shadfrce.cpp, snowbros.cpp, spartanxtec.cpp, spbactn.cpp, spyhuntertec.cpp, sub.cpp, suprridr.cpp, tecmosys.cpp, thedeep.cpp, vball.cpp and wwfsstar.cpp
. Added 74LS259 device to balsente.cpp, munchmo.cpp, pitnrun.cpp and sub.cpp
. aquarium.cpp: Soundlatch modernization. Use BITSWAP8 to implement MSM6295 line swap.
. dblewing.cpp: Modernized soundlatch. Improved IRQ arbitration for (hopefully) less dropped sound commands.
. karnov.cpp and mugsmash.cpp: Use MCFG_GENERIC_LATCH_DATA_PENDING_CB for soundlatch
. sub.cpp: Soundlatch modernization. Added watchdog timer. Acknowledge all interrupts.
- TA7630 sound: Wrote a new device for TA7630 (bass/treble and volume/balance), hooked it up to 40love.cpp, buggychl.cpp, msisaac.cpp and flstory.cpp.
- YMF271 sound: Added slot end status bits, fixes at least missing shots samples for Desert War.
- 6840 PTM and 6850 ACIA: Fixed so that LOG_OUTPUT_FUNC can be defined as printf. Removed c_str() in 6840 LOG statements.
- 68681 DUART: Added the DUART compatible 68340 serial module (machine\mc68681.cpp)
- 8155 RIOT: Cleanup timer start, a clock of 0 causes MAME to freeze.
- 8250 UART: Added and use INS8250 register defines. Replaced LCR, LSR and MCR bits by defines.
- 8251 USART: Fixed setup for sync byte
- 8259 PIC: Break up the MCFG_PIC8259_ADD macro
- DECO Custom: Use DEVCB for DECO 146 input ports and explicitly define these in all drivers (machine\deco146.cpp)
- EEPROM: Improvements to 28XX parallel EEPROM emulation. Emulated direct manipulation of /OE line for read/write mode control. Special handling for data polling before a write has completed. Allow optional configuration of device to lock EEPROM after each write, as often used by Atari. Eliminate the Atari EEPROM interface devices, since their special features have been incorporated into the base device. To continue using old NVRAM files, renamed them from eeprom_eeprom to eeprom (machine\eeprompar.cpp; drivers\arcadecl.cpp, atarig1.cpp, atarig42.cpp, atarigt.cpp, atarigx2.cpp, atarisy1.cpp, atarisy2.cpp, badlands.cpp, batman.cpp, blstroid.cpp, cyberbal.cpp, eprom.cpp, gauntlet.cpp, klax.cpp, mastboy.cpp, offtwall.cpp, rampart.cpp, relief.cpp, shuuz.cpp, skullxbo.cpp, thunderj.cpp, toobin.cpp, vindictr.cpp, xybots.cpp, includes\harddriv.h and machine/atarigen.cpp).
- Flash ROM: Added 29F800B flash boot device for (MESS) D-box
- Floppy: Added drive LED callback. This currently only works if you set the drive select lines correctly, which the upd765 does now. Hook it up to (MESS) Kontron PSI98 and use the TEAC FD-55F drive instead of the generic one.
- MB3773 Power Supply: Added watchdog device to aquarium.cpp and gcpinbal.cpp
- Programmable Logic Device (PLD): Initial support for viewing the logic equations of the PLS100, 82S100, PLS101 and 82S101 (tools\jedutil.cpp).
- Voodoo GFX
. Removed wrapping after y origin conversion so that proper y-clipping is performed (video\vooddefs.h and voodoo.cpp). Fixes pool cue wrapping out of top the screen in Virtual Pool.
. Changed 2x2 dither matrix values. Allows ITEagle driver power-on video memory tests to pass (video\voodoo.h).
. Fixed depth buffering for Voodoo 2 cards and greater (video\voodoo.cpp)
. Declare scale_imm_and_clamp as inline to ensure that it compiles as fully inlined in voodoo rasterizers (video\rgbsse.cpp).
. Clean up interrupt handling and adjust PCI device mapping
. Changed to interrupt callback instead of direct interrupt assertion (machine\vrc4373.cpp)
- cninja.cpp and deco32.cpp
. Added 'Data East IRQ Controller' device. This implies proper VBlank IRQ ack for all games now. Use a device map, move screen include to header (machine\deco_irq.cpp).
. Added and improved raw screen parameters for various games.
- deco_mlc.cpp: Removed erroneous I/O ports
- deco156.cpp: Palette cleanup
. Emulated LC7535-based volume control for Dragon Gun board based games
. Added DSW3 and DIP locations to Captain America
. Reorganized driver and start cleaning it up (in progress)
- f1gp.cpp: ACIA interrupt goes to second CPU
- flstory.cpp: Merged memory maps and fixed gfx bank default (fixes Onna Sanshirou POST messages). Added screen raw parameters.
. Added DS5002FP SRAM dump to Maniac Square (protected, Version 1.0, Checksum CF2D) (Games now playable)
. Added DS5002FP SRAM dumps to Glass (Ver 1.1, Break Edition, Checksum 49D5E66B, Version 1994) and clones (Ver 1.0, Break Edition, Checksum C5513F3C) and (Ver 1.0, Break Edition, Checksum D3864FDB).
. Base Gaelco game's CPU clock speed on actual OSCs
. Miscellaneous configuration cleanups and corrections
. 555 star blinking timer is only present on Scramble, Super Cobra and similar hardware.
. Scramble clone Explorer (bootleg of Scramble) uses two AY-3-8912 and no 555 timer
. Added the (first) two 8255 PPIs only in konami_base and stop removing and readding these in derivative configurations
. Safer order for static definitions
. Fixed MB60553 zooming tilemap compared against visible area. Improved MB60553 zooming alignment, mostly noticeable in Tecmo World Cup '94.
. Added buffered spriteram (sprites being ahead 2 frames; video\gstriker.cpp)
. Tecmo World Cup '94: Added MCU simulation to clone (set 2). Fixed tournament logic. Added input labels. Replaced MACHINE_NOT_WORKING flag with MACHINE_UNEMULATED_PROTECTION.
. Fixed dipswitches for V Goal Soccer and added DIP locations
. Added rotation to MB60553 core, used by V Goal Soccer during display of football field.
. Serial link preparation (6850 ACIA) for Grand Striker
- homedata.cpp: Fixed sound I/O write in Homedata driver (affected hourouki, mhgaidenm, mjhokite, mjclinic and mrokumei). This fixed missing voices of "Reach", "Ron" etc. in Mahjong Hourouki (ID 00490).
. Changed 2x2 dither matrix values. Allows ITEagle driver power-on video memory tests to pass (video\voodoo.h).
. Added vblank handling, updated gun control and added proper eagle1 (Virtual Pool) battery ram functionality (machine\iteagle_fpga.cpp).
. Virtual Pool: Removed wrapping after y origin conversion so that proper y-clipping is performed (video\vooddefs.h and voodoo.cpp). Fixes pool cue wrapping out of top the screen in Virtual Pool. Set "Medium" resolution as default for Virtual Pool. Setting to VGA is buggy and low resolution will hang the game. Removed MACHINE_NOT_WORKING and IMPERFECT_GRAPHICS flags - Game now playable.
. Updated DIP settings for Big Buck Hunter series and Virtual Pool.
. Set MIPS3DRC_STRICT_VERIFY option. Sees to eliminate game hangs in Big Buck Hunter series.
. Set Carnival King to start at medium resolution by default
. Promoted Big Buck Hunter - Shooter's Challenge (v1.60.01), Big Buck Hunter - Shooter's Challenge (v1.50.07), Big Buck Hunter II - Sportsman's Paradise (v2.02.11) and Big Buck Hunter Call of the Wild (v3.02.5) to working
. Changed to interrupt callback instead of direct interrupt assertion (machine\vrc4373.cpp)
. Berlin Wall clearly uses 4way sticks
. Made dial/paddle optional for Great 1000 Miles Rally, fixes INP playback.
- ladyfrog.cpp: Added missing DAC sound chip, fixes death scream in Touche Me. Added screen raw parameters.
- leland.cpp: Fixed missing DAC sounds in later Ataxx-era audio
. Added multi-layer drawing (video\mb_vcu.cpp)
. Improved layer clearances for Mazer Blazer
. Fixed layer clearances for Great Guns (video\mb_vcu.cpp). Fixed lightgun inputs. Soundlatch modernization.
. Added backup RAM
. Improved collision detection and fixed layer 0 data setups. Driver and input cleanup.
. Promoted Mazer Blazer sets from NOT_WORKING to UNEMULATED_PROTECTION
. Try make start buttons work properly through BIOS. Demoted Mega Play to not working. Note: Driver is marked as NOT WORKING because interaction between BIOS and 68k side is not fully understood. The BIOS often doesn't register that a game has been started and leaves the 'PRESS P1 OR P2 START' message onscreen during gameplay as a result. If this happens, the games usually then crash when you run out of lives as they end up in an unknown state.
. Log the internal P1/P2 Start activity to make it more obvious where things are going wrong
- midzeus.cpp: Map proper * key to keypad
. Fixed luma overflow (Virtua Striker flag colors) (video\model2rd.hxx)
. fixed Model2 address map, the framebuffer for Last Bronx title screen is not a mirror.
- ninjaw.cpp: Saner interleave CPU timings, attempt to fix missing enemies bug in Ninja Warriors.
- seattle.cpp: Adjust tx interrupt status to mirror tx buffer empty (machine\smc91c9x.cpp)
- segas24.cpp: Added uPD4701A devices for analog input. Updated documentation.
. Use uPD4701A device for analog input in Krazy Bowl
. Added uPD4701A device with multiplexing to U.S. Classic
. Replaced bogus "kiwame_nvram" with TMP68301 parallel interface in Pro Mahjong Kiwame
. Correctly implemented 8751 port2 latch based on PCB tracing. Fixed semaphores implementation to match PCB tracing. Got rid of z80<->mcu 'pending' communication hacks by using synchronize calls. Moved superqix specific variables and member functions to its own subclass. Consolidated the 8031 bootleg and 8751 protected set port2 handling code. Removed some unnecessary trampoline functions.
. Added a sync trampoline for reading the semaphores via the AY-3-8910 #1, MCFG_QUANTUM_PERFECT is no longer needed.
- taitosj.cpp: Added synchronize calls on soundlatch write and bit7 clear, as well as for writing and clearing the secondary sound semaphore. Use input_merge for both NMI enable and the secondary semaphore. Added sound cpu mirroring.
- tnzs.cpp: Removed outdated comments
- tourvis.cpp: Added new BIOS dump, clarified BIOS names and updated several games with newly discovered ID codes.
. Adjust tx interrupt status to mirror tx buffer empty (machine\smc91c9x.cpp). Fixes linking boot hang on Cart Fury.
. Added Denver UARTs, gearshift and updated input dips for various Vegas games.
. Clean up timer code in VRC5074 controller
. Clean up DUART code and make parallel read return not busy
- Alcon: Added MCU to clone Slap Fight (A76 set, GX-006-A PCB) (Game now playable)
- Alligator Hunt: Added new DS5002FP SRAM dump to Alligator Hunt (Spain, protected) (Game now playable). Data was verified using a 2nd board, only 1 byte changed in the code area, data table is also verified by checksum in the code, and by the unprotected set as reference. This is a good read.
. Make Z8 CPU data space optional and fixed stack pop semantics. Mask addresses for external memory accesses based on P0 control bit and external stack accesses.
. Fixed C flag polarity for CP, SBC, SUB and actually subtract with carry in SBC. This lets Ameri-Hockey pass its initial checksum calculation.
. Interrupts are working now (Z8681 CPU; cpu\z8\z8.cpp)
- Big Event Golf: Added DAC (cup in and crowd applauses samples)
- Blood Bros: Prevent mistimed interrupts that were killing sound in clone West Story (bootleg of Blood Bros.)
- Borderline: Added sound samples (http://www.progettosnaps.net/samples/brdrline.zip)
- Buggy Challenge
. Removed NMI trampolines. Added details and mirrors to memory map based on schematics. Added note about the maybe unused scoreboard hookup, similar to Grand Champion.
. Fixed sound timer irq frequency, fixes enter initials BGM tempo.
. Fixed background pen and clipping enable (fixes title screen and stage 3 graphics). Converted accelerator to analog, proper sound irq frequency.
. Fixed PORT_SERVICE_DIPLOC in conflict with IPT_SERVICE, causing F2 to toggle service to not work.
. Wrote a new device for TA7630, hooked it up to Buggy Challenge.
- Capriccio Spin 2: Some rather blind guesses that don't help much now
- Caveman Ninja: Fixed sound banking in clone Tatakae Genshizin Joe & Mac (Japan, bootleg)
- Chain Reaction: Game uses 4-way joystick and 2 buttons
- Championship Bowling: Separated trackball reset handler
- Cool Minigame Collection: Added speedup
- Demons & Dragons (prototype): Added MACHINE_IS_INCOMPLETE flag since sound program is missing
- Dinosaur King - Operation: Dinosaur Rescue: Dumped origin Compact Flash card. Removed rom_board roms.
- Exterminator: Soundlatch modernization and save state support. Might as well make the IRQ line explicit.
- F1 Super Battle: Fixed extra VRAM boundaries and inputs. Added coin counters.
- Grand Champion: Fixed the sound latch system such that the bit 7 clearing actually works and properly synchronized the sound latch writes and bit 7 clears. Added memory map comment for sound cpu. Added missing sound NMI enable and hooked sound NMI to the sound semaphore. Added sound semaphore readback. Minor format changes to ease potential future code merge.
- Guzzler: Added PAL dump to clone Guzzler (Swimmer Conversion)
- Heavy Unit: Added more generic latch devices for inter-CPU communication
- Hexion: Fixed music speed by hooking up the INT_TIME callback from the K053252 CCU properly. Fixed music pitch for clone Hexion (Asia ver AAA, bootleg).
- King Derby: More plausible method of generating NMI on sound CPU
- Lunar Lander: Changed Language rom which passes now self-test (former source built attempt had 2 bytes differing)
- Metal Hawk: Fixed missing sound (ID 06680)
- Ninja Clowns
. Fixed palette read accesses, fixed many color bugs (title screen fade-in, water spray properly blue and color cycle effects in bonus stage).
. Fixed 0x40000-0x7ffff constant area, now program ROM checksum correctly returns OK status.
. Moved vblank irq generation for Ninja Clowns, fixes frames per second jerkiness.
- QB-3: Fixed missing AY-3-8910 sound (ID 06682)
- Quiz Punch II: Emulated COP402 MCU. Rewrote the COP400 execution control logic to fetch each byte of an instruction separately in one pass of the main loop. This provides EEPROM-compatible timing for the SIO shift register, allowing the 93C46 on Quiz Punch II to be read and written properly (though its default contents are a bad dump).
- Panic Road: Demoted Panic Road to MACHINE_NOT_WORKING. Playtesting shows that the collisions aren't right.
- PinMAME: Added meat to the bones to inderp.cpp and stargame.cpp
- Pocket Gal Deluxe: Added vblank interrupt acknowledge
- Return of the Invaders: Fixed colors in clone (bootleg no MCU set 3)
- Rock'n Rage: fixed priorities and text tile banking for Rock'n Rage. Fixes stage 1 boss eyes flashing and Shena display inside the bubble at stage 5 boss.
- Star Wars: Fixed missing sounds by restoring the old boost_interleave method as an annex to the modern soundlatch semaphore handling (ID 06672)
- Stunt Air: Added 74LS259, NVRAM and watchdog timer. Attempt at improving sound communication.
- Super Qix: Traced out correct clock divider for CPU and MCU from PCB. Fixed issue with clone Super Qix (bootleg of V1.0, 8031 MCU) not working with the correct clock speed and synchronize fences. Added emulation of the 8031 bootleg MCU port 3 output latch.
- Ultraman: Sound IRQ modernization
- Wyvern F-0: Misc fixes and added DAC.
- Input port
. Using a better overload of utf8_from_uchar() in ioport_field::key_nam (emu\ioport.cpp)
. Fixed a longstanding INP playback desync bug caused by a rand() call in the MAME core (emu\ioport.cpp)
. Prefer lower shift states, eliminate O(n) lookup allows Alt-combos on European Amiga keyboards to be restored as MAME will now prefer the simpler Shift-combos to get characters that can be typed in more than one way.
- Dipswitch fixes in champbwl.cpp, gstriker.cpp, inderp.cpp, iteagle.cpp, legionna.cpp, mazerbla.cpp, seattle.cpp, subsino.cpp (ID 06673) and vegas.cpp
- Fixed rom names in inderp.cpp, tnzs.cpp, tourvis.cpp, tsamurai.cpp and zn.cpp
- Description changes of 500 GP (US, 5GP3 Ver. C), Ace Driver: Racing Evolution (Rev. AD2, World), Ace Driver: Victory Lap (Rev. ADV2, World), Alpine Racer (Rev. AR2 Ver.C, World), Alpine Racer (Rev. AR2 Ver.D, World), Alpine Racer 2 (Rev. ARS2 Ver.A, World), Alpine Racer 2 (Rev. ARS2 Ver.B, World), Alpine Surfer (Rev. AF2 Ver.A, World), Angler King (Japan, AG1 Ver. A), Aqua Jet (Rev. AJ2 Ver.B, World), Armadillo Racing (Rev. AM1 Ver.A, Japan), Beast Busters (Japan, Version 2, 2 Player), Chuka Taisen (Japan) (P0-028-A PCB), Chuka Taisen (US) (P0-028-A PCB), Chuka Taisen (World) (P0-028-A PCB), Crisis Zone (US, CSZO3 Ver. A), Crisis Zone (US, CSZO3 Ver. B, set 1), Crisis Zone (US, CSZO3 Ver. B, set 2), Crisis Zone (World, CSZO2 Ver. A), Crisis Zone (World, CSZO4 Ver. A), Crisis Zone (World, CSZO4 Ver. B), Cyber Cycles (Rev. CB2 Ver.C, World), Dai Ressya Goutou (Japan, version K), Dinosaur King - Operation: Dinosaur Rescue (USA, Export) (MDA-C0021), Dirt Dash (Rev. DT2, World), Downhill Bikers (US, DH3 Ver. A), Final Furlong (World, FF2 Ver. A), Glass (Ver 1.0, Break Edition, Checksum C5513F3C), Glass (Ver 1.0, Break Edition, Checksum D3864FDB), Glass (Ver 1.1, Break Edition, Checksum 49D5E66B, Version 1994), Glass (Ver 1.1, Break Edition, Checksum D419AB69, Version 1994) (censored, unprotected), Grand Striker (Europe, Oceania), Graplop (DECO Cassette) (US) (Prototype?), Gunmen Wars (Japan, GM1 Ver. A), Gunmen Wars (Japan, GM1 Ver. B), Iron Horse (version H), Lady Master of Kung Fu (set 1, newer), Maniac Square (protected, Version 1.0, Checksum CF2D), Maniac Square (unprotected, Version 1.0, Checksum BB73), Meteor (Stern, set 1), Motocross Go! (Japan, MG1 Ver. A, set 1), Motocross Go! (Japan, MG1 Ver. A, set 2), Motocross Go! (US, MG3 Ver. A), Motocross Go! (World, MG2 Ver. A, set 1), Motocross Go! (World, MG2 Ver. A, set 2), Ninja Clowns (27 oct 91), Panic Park (Japan, PNP1 Ver. B), Panic Park (World, PNP2 Ver. A), Prop Cycle (Rev. PR2 Ver.A, World), Race On! (World, RO2 Ver. A), Rapid River (US, RD3 Ver. C), Rapid River (World, RD2 Ver. C), Shootout Pool Prize (Export) / Shootout Pool The Medal (Japan) (Rev A), Shootout Pool Prize (Export) / Shootout Pool The Medal (Japan) Version B, Slap Fight (A76 set, GX-006-A PCB), Slap Fight (A77 set, 8606M PCB), The NewZealand Story (Japan, new version) (P0-043A PCB), The NewZealand Story (Japan, old version) (P0-041A PCB), The NewZealand Story (US, old version) (P0-041A PCB), The NewZealand Story (World, new version) (P0-043A PCB), The NewZealand Story (World, old version) (P0-041A PCB), The NewZealand Story (World, prototype) (P0-041-1 PCB), The NewZealand Story (World, unknown version) (P0-041A PCB), Time Crisis (Rev. TS2 Ver.A, World), Time Crisis (Rev. TS2 Ver.B, World) and Tokyo Wars (Rev. TW2 Ver.A, World)
- Renamed (aligator) to (aligators), (bbhsc) to (bbhsca), (ironhors) to (ironhorsh), (maniacsq) to (maniacsqu), (mp_twc) to (mp_twcup), (tecmowcm) to (twcupmil), (twrldc94) to (twcup94), (twrldc94a) to (twcup94a), (tws96) to (twsoc96), (wc90) to (twcup90), (wc90a) to (twcup90a), (wc90b) to (twcup90b), (wc90b1) to (twcup90b1), (wc90b2) to (twcup90b2), (wc90ba) to (twcup90ba) and (wc90t) to (twcup90t)
. VIDEO RENDERING SYSTEM
. Make verify_header public (util\png.cpp)
. Detect image format(png) before loading image. No PNG error message anymore when loading JPG (emu\rendlay.cpp).
. Multi-Language: Updated Dutch, Italian, Turkish and Russian translations
. Returning a reference from various corestr.cpp calls to avoid unnecessary string copies (util\corestr.cpp)
. Fixed warning message (ui\info.cpp)
. Fixed is_oneshot() (cheat\init.lua). Fixed cheats driven by
. Gettextify localizable strings ( "" -> _("") )
. Updated hiscore.dat
. LUA engine: Translation support
. MAME -validate will now report an error if no matches occur. Fixed exit status (emu\validity.cpp).
. Added a natural keyboard validation to check for valid natural keyboard (uni)codes (emu\ioport.cpp and validity.cpp)
. Don't translate info box titles twice (ui\datmenu.cpp, ui\selmenu.cpp)
. Bug fix for network menu (ui\miscmenu.cpp)
. Merged duplicate code for drawing UI palette menu
. Use std::unique_ptr to manage instances of slider_state (ui\slider.h). Eliminate now-unnecessary machine parameter (ui\ui.cpp).
. Don't use auto_alloc for temporary bitmaps (ui\selmenu.cpp). Eliminated last use of auto_alloc in frontend (ui\ui.cpp).
. Defer decoding DOS timestamps (util\unzip.cpp)
. Turn most of the ROM entry accessor macros into templates, and make them work on tiny_rom_entry/rom_entry pointers/references, also claw back a little performance lost in the ROM entry refactoring.
. Make ROM BIOS reported in listxml output match what ROM loading does. This is the soure of the "BIOS can only apply to one region" meme - it actually works for all regions, but the listxml output was wrong, making it look like it didn't work.
. Start adding stuff for iterating ROM entries in a more C++ way without needing to allocate everywhere, improved performance of -listxml by another 10% or so.
. Attempted to sanitize/rationalize how we access UTF-8 command line arguments. Specifically, this creates a call osd_get_command_line() that returns UTF-8 command line arguments as std::vector<:string>. On non-Windows platforms, this does nothing more than build the vector. On Windows, this invokes GetCommandLineW() and CommandLineToArgvW(). This also attempts to unwind usage of wmain()/_tmain() on Windows, which is not standard. Related to this, this fixes a bug in Imgtool; specifically, non-7 bit ASCII was not being handled correctly in Windows. This is really an admission that the way that Windows handles Unicode and command line arguments sucks, and it is my belief that having a wmain() or _tmain() declaration specific for Windows is a worse solution [Nathan Woods].
. Added support for C++ output streams using LOG_OUTPUT_STREAM instead of using printf as LOG_OUTPUT_FUNC (emu\logmacro.h)
- SDLMAME: Make the C-like parts more consistent with MAME (tools\aueffectutil.mm)
. Fixed compling on OS X Sierra (machine\diablo_hd.cpp)
. Fix for Clang 5 unused lambda capture errors
. Changed the Clang workround for ../../../../../3rdparty/compat/winsdk-override\wrl/internal.h:23:13: error: function declared 'noreturn' should not return [-Werror,-Winvalid-noreturn] to work with Clang 5.0.