What's New:
- New games: Joker Card (encrypted), Roulette (ICP-1 PCB) and Wonder Circus (Japan, v1.1.1)
- New Working games: Jack Potten's Poker (set 15, w/fever, ICP-1 PCB), The Real Ghostbusters (US 3 Players, revision 2), Real Mahjong Haihai (Japan, bootleg) and The Yakyuken
- New Non-Working games: Amazonia (Ming-Yang Electronic / TSK), Black Rhino (IGT), Chaku Melo Collection, Cherry Bonus IV (V5.0), CPS1 Multi Game, Crazy Bell (V1.2D), Dream 9 Flower (v1.00c), DT7 (prototype), Halloween (Ming-Yang Electronic / TSK, version 1.0), Hana Doujou (set 1), Lucky 88 (Wing), Harikiri Junior Baseball (Japan, main ver. 1.0, video ver. 1.3), Lucky Star (newer Z180 based hardware), Mahjong Dai-Reach (Japan, TSM012-C01), Multi Game (IGT, M0000133), Multi Game (IGT, M0000156), Multi Game (IGT, M0000159), Multi Game (IGT, M0000164), Multi Game (IGT, M0000166), Multi Game (IGT, M0000214), Multi Game (IGT, M0000247), Multi Game (IGT, M0000394), Multi Game (IGT, M0000535), The Munsters, Special Dream 9 (v1.0.5G), Super 8 Race, 'unknown Belatra slot machine', 'unknown Falcon gambling machine', Venteta, Vision printer and Wheel of Fortune (IGT)
- New clones: Bubblen Roulette (Japan, main ver. 1.7, video ver. 1.3), Dragon Mahjong (Ver 1.03), El Dorado (V2.0D), Future Flash (set 2), Golden Poker Double Up (tearoom*sara hack), Hana Doujou (set 2), Hanafuda Hana Gokou (Japan, ver. A), Jack Potten's Poker (set 16, ICP-1 PCB), Jack Potten's Poker (set 17, ICP-1 PCB), Jan Oh (set 3), Janyou Part II (ver 7.02, July 1 1983), New Lucky 8 Lines (set 13), Punk Shot (Asia 2 Players, hacked?), 'SRD: Super Real Darwin (Japan, bootleg)' and Turpin (Novatronic bootleg)
- New AGEMAME games: 3 Bags Full (4XF5196I02, US), Arctic Wins (4XF5227H04, US), Bachelorette Party (BHG1247, US), Black Panther (FHG0949-01, US), Boot Scootin' (AHG1433, US), Boot Scootin' (GHG1012-01, US), Bumble Bugs (CHG0479-02, US), Caribbean Gold II (4XF5182H04, US), Chariot Challenge (RHG0635-02, US), Dolphin Treasure (FHG4076-02, US), Double Agent (3XF5287H04, US), Double Dolphins (0351006, US), The Gambler (11XF528902, US), Geisha (0101153V, NSW/ACT), Joker Poker (0301477V, New Zealand), Jumpin' Joeys (DHG4735-02, US), K.G. Bird (3XF5264H04, US), King's Ransom (0301689V, New Zealand), Let's Go Fishing (5XF5196I02, US), Magic Garden (AHG1211-03, US), Magic Mask (AHG1207, US), 'Mine, Mine, Mine (NHG0416-02, US)', Penguin Pays - Cash Express (AHG1295, US), Penguin Pays Deluxe (AHG1198, US), Scatter Magic - Cash Express (0251026, US), Thunder Heart (13XF528902, US), Trick or Treat (7XF5183H04, US), White Tiger (4XF5139I08, US), Wild Angels (QHG0477-04, US) and Wild Cougar (NHG0632-07, US).
- New PEPlus games: Player's Edge Plus (PP0045) 10's or Better (set 6, Circus Circus), Player's Edge Plus (PP0045) 10's or Better (set 7, Old Reno Casino), Player's Edge Plus (PP0045) 10's or Better (set 8, Harrah's), Player's Edge Plus (PP0050) Joker Poker (set 2), Player's Edge Plus (PP0055) Deuces Wild Poker (set 3, Casino Rouge), Player's Edge Plus (PP0102) Standard Draw Poker, Player's Edge Plus (PP0123) Deuces Wild Poker, Player's Edge Plus (PP0197) Standard Draw Poker (International), Player's Edge Plus (PP0231) Deuces Joker Wild Poker, Player's Edge Plus (PP0242) Deuces Wild Poker, Player's Edge Plus (PP0540) Double Bonus Poker (set 2), Player's Edge Plus (PS0278) 4th of July Slots, Player's Edge Plus (X000126P+XP000038) Deuces Wild Poker, Player's Edge Plus (X002001P+XP000038) Double Double Bonus Poker, Player's Edge Plus (X002133P+XP000043) Faces 'n' Deuces Double Bonus Poker, Player's Edge Plus (X002278P+XP000038) Joker Poker (Two Pair or Better)
- Removed games: Galaxia (set 2)
- New drivers: batsugun.cpp, chakumelo.cpp, dogyuun.cpp, dt7.cpp, enmadaio.cpp, es9501.cpp, falconun.cpp, fixeight.cpp, ghox.cpp, hanadojo.cpp, kbash.cpp, pipibibi.cpp, raizing.cpp, raizing_batrider.cpp, snowbro2.cpp, sunwise.cpp, tekipaki.cpp, truxton2.cpp, venteta.cpp and vfive.cpp
- New devices: g65sc102, g65sc112, g65sc12, hd6305y0, r65c102, r65c112, sega_sk1100e, sst_39sf010, toaplan_coincounter, williams_blitter_sc1_device, williams_blitter_sc2_device, zorro_framemaster, zorro_picasso2p, zorro_rainbow2, zorro_ripple and zorro_toccata
- New Clrmame: https://mamedev.emulab.it/clrmamepro/#downloads
- CPU
. Fujitsu MB88xx: Added PLA mask option. Increment timer when taking irq cycles. Make TC pin an inputline and don't clear irq pin state at reset. Small cleanup (mb88xx\mb88xx.cpp).
. GTE G65SCxx: Added G65SC02 subtypes (GTE G65SC12, GTE G65SC102 and GTE G65SC112) (m6502\g65sc02.cpp). orrect constructor. Removed Rockwell bit opcodes (source comment appears to be mistaken). Added internal clock divider to G65SC102.
. hyperstone E1-16T: Sign-extend the divisor in DIVS instructions (cpu\e132xs\e132xsdrc_ops.hxx). Fixes 'Cool Minigame Collection' don't work properly/softlock (ID 08942).
. Hitachi H8: Handle forced aborts (h8\h8_dma.cpp). Fixes (MESS) microkorg quits after the red warning screen (ID 09003).
. Hitachi HD63705Z0
. Split off HD6305/63705 emulation to a separate source file. Make code style consistent.
. Refresh port outputs when ddr changes, pass ddr through mem_mask. Moved common peripherals to base class. Changed port functions to templates (m6805\hd6305.cpp). Added HD6305Y0 (m6805\hd6305.cpp). Added special function registers to hd6305y2 internal map.
. Added cycle tables. Don't decrement 0 cycles for illegal opcodes (m6805\m6805.cpp).
. Intel i960KB: Fixed regression with emul opcode (i960\i960.cpp). Fixes Speed Racer In-game sprites are missing.
. Motorola MC68000 FPU: Support direct FPU moves to A registers, not just indirect (m68000\m68kfpu.cpp).
. NEC V25: Improved peripheral emulation. Added preliminary DMA controller (capable of doing burst memory transfers). Make timer 1 cause two different interrupts. Added kludge for one timer edge case. Correct mistaken idea about DMA (nec\v25.cpp).
. Rockwell R65C02: Added r65c02 subtypes (Rockwell R65C102 and Rockwell R65C112) (m6502\r65c02.cpp). Added internal clock divider to R65C102.
. Signetics 2650: Moved s2650cpu.h contents to s2650.cpp. Use util::sext rather than goofy lookup table. Fixed issue with add/sub half carry flag. Small cleanup. Added logerror for illegal opcodes. Correct subtract overflow flag and interrupt cycles.
- SOUND
. Namco CUS30: Added waveform counter readback (sound\namco.cpp). Fixes speech in aliensec and baraduke (ID 03083).
. SoundBlaster 16: Convert FIFO size checks to a named entity. Halve DMA length if Stereo mode is selected. Added +1 to DMA length for stereo mode as well (isa\sb16.cpp).
. TMS5110: Small cleanup
- DEVICE
. AD1848 16-bit SoundPort Stereo Codec: Added support for auto-calibration (sound\ad1848.cpp)
. ATAPI: Clamp buffer size to word units in command packet. Fixed CD audio playback in PC-based systems (ata\atapihle.cpp).
. Cirrus Logic GD54xx: Replaced cirrus_define_video_mode with VGA arch recompute_params. Workaround crash for zorro\picasso2 and fixed bit 3 in blitting status (video\pc_vga_cirrus.cpp)
. DS1643 Nonvolatile Timekeeping RAM: Fixed wrong constructor (ds1643_device; machine\timekpr.cpp). Fixes (MESS) m8120 crash at start (ID 09000).
. Flash ROM: Added SST_39SF010 variant. Added missing address mask check to erase command (machine\intelfsh.cpp).
. Floppy: Fixed remaining calls memory access warnings (modules\fat.cpp)
. K007121 Sprite/Tilemap Controller: Correct 32x32 sprite code mask. Fixes Lance's death sprites are mirrored in Contra and clones (ID 05724). No need for is_flakatck param (konami\k007121.cpp).
. K007420 Sprite Generator: Apply same sprite code mask fix as with K007121 (konami\k007420.cpp)
. K007342 Video Controller: Added interface for sending sprite related flags to paired chip (konami\k007342.cpp). Fixes sprites are not flipped correctly in battlnts and clones (ID 04901). Fixes part of the zamboni in bladestle is missing when it exits or enters from the right side of the screen (ID 06511) and flip screen has no sprite flip (ID 04902).
. Paradise Systems PVGA1A i/f: Fetch configuration pins when entering VGA setup mode (video\pc_vga_paradise.cpp)
. SCSI Bus: Added some more framework for future support of later SCSI command sets (machine\nscsi_bus.cpp)
. SCSI Hard Disk: Support SYNCHRONIZE CACHE command and fixed off-by-1 MODE SENSE size reporting (nscsi\hd.cpp).
. Signetics 2636 PVI: Removed render_first_line and added a start_new_frame instead (machine\s2636.cpp)
- armedf.cpp, galivan.cpp, magmax.cpp and terracre.cpp: Small cleanup to long comment lines
- bwing.cpp, bmcpokr.cpp, jchan.cpp, kchamp.cpp, kyugo.cpp, leland.cpp, sidearms.cpp, tagteam.cpp and vamphalf.cpp: Added screen raw parameters
- bwing.cpp: Reduced MC6809E clocks by 25%. Correct audiocpu clock and paletteram size. Removed RGB boost DIP switch.
- calomega.cpp: Use tilt input type
- cdi.cpp: Fixed restarting audio map after stopping it (philips\cdicdic.cpp). Fixes random freezes in (MESS) CD-i (Mono-I) with Hotel Mario (1994) when counting bonus score from remaining time at the end of stages (ID 08833).
- chihiro.cpp: Added support for texture bilinear filtering (shared\xbox_nv2a.cpp)
- cinemat.cpp: Moved watchdog trigger to fake vblank handler. Fixes game watchdog resets when stepping through code in debug mode (ID 03099).
- cop01.cpp: Lower soundcpu clock and copy over sound timer from Mag Max
- cps1.cpp: Remap IPT_SERVICE as IPT_SELECT for CPS Changer games
- cvs.cpp
. Fill initial char ram with 0xff. Fixes title logo of Cosmos doesn't appear (ID 07133). Simplify discrete sound placeholder. Added logmacro and removed set_vblank_int. Simplify star generator a bit (no difference here yet). Shorthand variable types. Merged driver.
. Make interrupts edge triggered, increased cpu clock freq and set screen refresh to 50. Fixes hunchbak and hunchbaka suffers from slowdowns (ID 05604).
. Removed MUP flag in Raiders, game works fine - If it's about the collision detection: It looks like it's intended that enemies that haven't separated from the group yet can't be shot down.
. Removed Superbike TODO note, can't repro bug on current build.
. Improved starfield density and blink rate. Added 0x1884 and 0x1885 sound triggers.
. Added documentation in comments about the effects of the sound registers observed by poking values on a real CVS PCB.
- ddenlovr.cpp
. Started using I/O port finders for mahjong keyboards. More side effects checks. Reduced some duplication. Use standard input types for service keys in many games.
. Improved service inputs and use standard hanafuda panel input matrix. Demoted Hanafuda Hana Gokou and clone Hanafuda Hana Gokou Bangaihen to not working. Fixed inputs for clone Mahjong The Mysterious Orient (Japan, v1.00). Fixed 2P side inputs for Mahjong The Mysterious World (Japan, set 1).
. Use hanafuda input types for Hanafuda Hana Ginga (Japan). Use proper bookkeeping and memory reset inputs for Hanafuda Hana Ginga (Japan) and Hana Kanzashi (Japan).
. Use different controls in bet and non-bet modes for Hana Kanzashi (Japan). Identified some DIP switches for Mahjong Gekisha (Japan). Hooked up hopper device for Hanafuda Hana Tengoku. Remove some unused inputs in htengoku.
. Use normal input types for player buttons in animaljr, funkyfig and mmpanic. Fixed DIP switches for mjmyornt based on manual. Identified some DIP switches for mjmyster based on similarity to mjmyornt.
. Eliminated custom key assignment for test (service mode) input. Improved DIP switches for Mahjong Fantasic Love (Japan).
- ddenlovr.cpp, dynax.cpp, igs_m027.cpp, igs_m027_023vid.cpp, igs017.cpp, ms32.cpp, ssv.cpp: Moved "standard" mahjong matrix to shared project. The "standard" mahjong matrix can easily be shared by Dynax, Jaleco, Seta and IGS with minor adjustments.
- dec0.cpp: Correct audiocpu type. Small cleanup.
- dec8.cpp
. Correct audiocpu type. Correct cpu clocks for some games, make mcu-side comms edge-triggered, removed non-existant coin3 on 2 player games (it was service coin in some cases) and misc cleanups. Fixes missing option 1 coin/1credit for Coin A at Dipswitches setting (ID 06752).
. Clone The Real Ghostbusters (US 3 Players, revision 2) expects longer irq trigger. Promoted game to working. Let's make clone Meikyuu Hunter G (Japan) a parent set.
- dynax.cpp
. Added DIP switches that are sometimes populated to Ougon no Pai. More I/O improvements. Started moving common mahjong DIP switches to macros. Started using I/O port finders for mahjong keyboards. More side effects checks. Reduced some duplication. Use standard input types for service keys in many games.
. Replaced Hana Jingi hopper hack with a hopper device. Improved DIP switch labels for Mahjong Electron Base and clone (Japan) and hooked up hopper.
. Suppress side effects for Mahjong Electromagnetic Base keyboard read.
. Fixed 2P side inputs for Mahjong Ougon no Pai (Japan) and Mahjong Tenkaigen (Japan). Removed some unused inputs in hnkochou and hjingi.
. Improved clone Mahjong X-Tal 7 and Jong Yu Ki DIP switches. Added DIP locations based on input test display. Correct some Mahjong X-tal 7 DIP switch settings and marked some as unknown as they were clearly wrong. Correct 7jigen DIP switches based on a very blurry photo of the manual.
. Identified most DIP switch settings and fill in DIP switch names from second manual page for Mahjong Reach.
. Fixed more DIP switches. Fixed hjingi, mjcomv1, neruton and nerutona DIP switches based on manuals and observing behaviour. Removed some unused inputs from neruton and nerutona.
. Filled in descriptions for mjreach DIP switches from the one manual page could find a photo of. Improved DIP switches for Mahjong Dial Q2 (Japan set 1).
- epos.cpp: Added screen raw parameters for Tristar 8000 hardware
- galaxia.cpp
. Correct bullet size and screen refresh rate. Removed partial updates, it was problematic for this driver and unneeded.
. Correct screen resolution and colors. Small cleanup. Untangle from cvs_base. Improved stars, not 100% accurate yet. Shorthand variable types. Added dipswitches. Correct 'Extended Play'/'Bonus Life' dipswitch. Improved starfield density and blink rate.
. Added different address map for clone Galaxia (set 2). Reorder Galaxia sets.
. Flip bad bit on Astro Wars rom 13i (suspected bad byte at 0x2a00). Fixes Astro Wars resets at start of stage 5 (ID 07016).
- gottlieb.cpp: Removed unneeded NMI timer. Work around race condition at soft reset. Fixes Krull doesn't like F3 reset (ID 08794).
- hnayayoi.cpp: Use bookkeeping input type for "analizer" key
- igs011.cpp
. Moved Virtua Bowling to a derived class and cleaned up code. Improved keyboard and DIP switch matrix reading code. Use generic graphics decoding layout for debugging. Suppress side effects for debugger reads. Generally cleaned up code and improved and fixed some comments.
. Use common mahjong matrix definitions. Fixed DIP switches for lhb2, nkishusp and xymg. Some unusued inputs cause garbage to show in test mode because the code doesn't expect them.
- jaguar.cpp: Fixed various bugs in quickload handling. Fixes (MESS) mame jaguar -quik e:\data\atari\jaguar\blobs.cof crashed (ID 08999)
- joystand.cpp: Dumped GFX roms for x180
- kyugo.cpp: Merged driver files
- m72.cpp: No need for all those youtube video links in source to back verification claim of IRQ frequency.
- megasys1.cpp
. Dumped E.D.F. : Earth Defense Force microcontroller. Hooked up microcontroller. Removed microcontroller simulation support for E.D.F. : Earth Defense Force.
. Added support for Mega System 1 Type B with emulated microcontroller. Use the proper clock signal for I/O microcontroller in System B.
- royalmah.cpp
. Use standard mahjong matrix
. Improved DIP switch settings for Ippatsu Gyakuten
- route16.cpp: Don't do the color OR trick for route16 (see titlescreen reveal). Split off jongpute class. Merged driver. Copy over screen raw params from kangaroo driver. Fixes crash sound plays incorrectly (ID 09027). Small cleanup.
- seibuspi.cpp: Use standard mahjong matrix (seibu\seibuspi.cpp). Update object finder tag for standard mahjong matrix (seibu\seibuspi.h).
- sidearms.cpp: Minor PCB note
- skykid.cpp: Small cleanup to dipswitches
- ssv.cpp: Better effort at using common mahjong matrix
- suna8.cpp: Added provisional raw parameters for screen
- suprridr.cpp and timelimt.cpp: Take clock freqs from thepit driver. Fixes all sound in suprridr plays at half speed and credit sound plays on start instead of coin (ID 08984).
- system1.cpp
. Increased 2nd SN76489A volume. Fixes on WBML SEGA System 2 PCB, two SN76489As volume is different (ID 08360).
. Clean up mcfg names. Lower sound hw clocks for Star Jacker and Up'n Down.
- tetrisp2.cpp: Use configured banking for sound ROMs. Cleaned up code. Moved Rock'n Tread to a separate state class and moved more members to the state classes that use them. Use driver device lifecycle functions for initialization. Use generic graphics decoding layouts. Reduced use of literal tags and run-time tag lookups. Reduced redundancy in member names.
- toypop.cpp: Use tilemap helpers for tile maps. Register member variables for save states, and suppress side effects for debugger reads. Derive sound chip clock frequency from master crystal frequency. Simplified graphics decoding. Reduced run time tag lookups and preprocessor macros. Made some variables const.
- williams.cpp: Converted SC1/SC2 blitter to a device. Flipped some always-present optional finders to required.
- Amiga (alg.cpp, arsystems.cpp, cubo.cpp, mquake.cpp and upscope.cpp): Guard against out of bounds bitmap writes (amiga\amiga_v.cpp). Fixes all arsystems- and upscope sets (AddressSanitizer: heap-buffer-overflow) (ID 08483) and double free or corruption in arsystems driver (github 9936). Fixes AddressSanitizer heap-buffer-overflow in cndypuzl, haremchl, lasstixx, mgnumber and mgprem11 (ID 08491).
- Beam Invader: Small cleanup. Changed color overlays.
- The Big Pro Wrestling!: Periodic IRQ modernization
- Chanbara: Confirmed that enemy spawn bug happens on PCB. Note: If you skip an upper floor enemy (just walk under them), the next time one shows up, it may appear out of thin air instead of scrolling in from the right. This doesn't happen when skipping lower floor enemies. On enemies that hide behind the roof on the 3rd level, their feet are visible below, the roof and their head is behind the sky.
- Cool Minigame Collection: Sign-extend the divisor in DIVS instructions (cpu\e132xs\e132xsdrc_ops.hxx). Fixes 'Cool Minigame Collection' don't work properly/softlock.
- Cosmoswat: Redumped romset, hooked up color prom and a SN76489A.
- Crazy Rally: Copy over sprite x clipping from Sauro driver
- Darwin 4078: Removed comment about prom, 0xf0 is definitely bitrot.
- Dead Angle: Added missing text layer disable, fixes missing text flickering at game start.
- Dora-chan: Make sure interrupts happen at scanline 0 and 128, increase cpu clock. Fixes Dora-chan crashes after finished bonus stage in player 2 (ID 08975).
- Espial: Swap button1/2 (ID 09026)
- Enigma II: Better star blink rate
- Exed Exes: Added 'Bonus Life' dipswitch and DIP locations (ID 08853)
- Got-cha Mini Game Festival: Removed audiocpu NMI (unknown purpose, causes music bug) and merged driver. Fixes music suddenly stops (ID 05962).
- Ghosts'n Goblins: Use 4-way joysticks
- Hi Lice: Correct hashes
- I, Robot: Fixed compile issue and small cleanup. Fixes irobot driver doesn't compile with DISASSEMBLE_MB_ROM set to 1 (ID 03202).
- Jack Potten's Poker
. Jack Potten's Poker with fever feature: New full addressing memory map. New proper machine driver. Fixed ROM load. Worked proper inputs. Added extra DIP switches.
. Breaking the protection loops of clone Jack Potten's Poker (set 15, w/fever, ICP-1 PCB). Promoted clone 'Jack Potten's Poker (set 15, w/fever, ICP-1 PCB)' to working.
- Kageki: Removed sample playback HLE
- Kangaroo: Dumped MB8841 internal rom. Hook up protection MCU. Fixes kangaroo and clones death sound pitch oscillation is too slow (ID 08989).
- Karate Champ: Use main PCB xtal for CPU/AY clock, assume audiocpu has M1 wait states. Fixes voice pitched slow in karatedo and kchamp (ID 05607). Improved sound NMI frequency. Separated kchampvs romset from kchamp. Assume maincpu is 3mhz after all.
- Kicker: Fixed NMI freq regression
- Mahjong Sisters
. Cleaned up code: Reduced literal tag usage and runtime tag lookups. Make some variables constant and reduced preprocessor macros. Use more appropriate types for some variables.
. Use memory share creator for VRAM, put banked ROM in its own region so the fixed ROM region can be sized correctly.
- Mario Bros.: Dumped PROMs and unprotected PALs for clone Mario Bros. (bootleg on Ambush Hardware, set 1)
- Metal Clash: Convert driver to set_raw
- Mole Attack: Use normal input types for player buttons
- New York! New York!: Correct AY clocks. Fixes nyny and clones AY sound is an octave higher than it should be (ID 08996).
- Ninja Baseball Bat Man: Fixed palette array oob access in clone Ninja Baseball Bat Man II (bootleg). Fixes heap-buffer-overflow with -aviwrite (ID 05865).
- Phozon: Added PLD dumps to clone Phozon (Sidam). Removed PROM palette.prm not actually present on Phozon (Sidam) PCB.
- Quasar
. Fixed soundlatch, irq vector and 'effect' colors. Added dipswitch locations. Correct bullet size and hook up videochip sound channels.
. Correct cpu speed and improve vblank duration to fix game speed bug on 3rd level. Untangle from cvs_base. Moved quasar driver to zaccaria folder. Correct screen height.
. Use palxbit functions for effect colors
- Queen Bee Bingo: Added missing 'Change' button (ID 08461)
- Radikal Bikers: Added output start lamp
- Speed Racer: Fixed regression with emul opcode (i960\i960.cpp). Fixes Speed Racer In-game sprites are missing (ID 08992).
- Super Shot: Changed screen refresh rate to 50
- The Speed Rumbler: Lower screen refresh rate. Fixes music BGM looks a bit slow and/or out of sync in srumbler, srumbler2, srumbler3 and rushcrsh (ID 06945).
- The Yakyuken: Identified 'Gu, Choki, Pa' as a bootleg of Omori's The Yakyuken. Added NVRAM. Correct irq frequency. Promoted game to working.
- Time Traveler: Updated driver to improve segment display accuracy
- Toaplan 2
. Split Toaplan2 driver into smaller per-board parts (batsugun.c, dogyuun.c, enmadaio.c, fixeight.c, ghox.c, kbash.c, pipibibi.c, raizing.c, raizing_batrider.c, snowbro2.c, sunwise.c, tekipaki.c, truxton2.c and vfive.c)
. Moved some common logic to a device. Removed unused shared_ram in tekipaki.cpp. Cleanup raizing.cpp. Renamed functions that still had _toaplan2 and _truxton2 in them. Clean up sound reset handling.
. Renamed "reset" member function as it clashes with device_t::reset. Removed some pointless tests of required object finders. Sorted #includes.
- Tricky Doc: Added sprite y flip
- Trick Trap: Fixed tile/sprite priorities regression. Correct sprite layer priority bit.
- Warrior: Modify internal artwork because of unsupported blend mode (it looks the same) (layout\warrior.lay). Fixes debug assert after -bench or -str run (ID 07888).
- Description changes of Atomic Runner Chelnov (World), Atomic Runner Chelnov (Japan), Atomic Runner Chelnov (Japan, bootleg with I8031, set 1), Atomic Runner Chelnov (Japan, bootleg with I8031, set 2), Atomic Runner Chelnov (US), Dongbang Jiju (Korea, V040K), Fruit Bonus 2002 (Ming-Yang Electronic / TSK, vFB02-07A), Fruit Bonus 2002 (Ming-Yang Electronic / TSK, vFB02-01A), Future Flash (set 1), Galaxia (set 1), Galaxia (set 2), Galaxia (set 3), Hanafuda Hana Gokou (Japan, ver. B), Inca Sun (CHG1458, US), Inca Sun (DHG1577, US), Jack Potten's Poker (set 15, w/fever, ICP-1 PCB), Karate Champ - Player Vs Player (US, set 1), Karate Champ - Player Vs Player (US, set 2), Karate Champ - Player Vs Player (US, set 3), Karate Champ - Player Vs Player (US, set 4), Lucky Girl (newer Z180-based hardware), Lucky Star (newer Z180-based hardware), Player's Edge Plus (PP0045) 10's or Better (set 1), Player's Edge Plus (PP0045) 10's or Better (set 2, Gambler Downtown Reno), Player's Edge Plus (PP0045) 10's or Better (set 3, Par-A-Dice Riverboat Casino), Player's Edge Plus (PP0045) 10's or Better (set 4, Annie Oakley's Central City), Player's Edge Plus (PP0045) 10's or Better (set 5, Las Vegas Rio), Player's Edge Plus (PP0050) Joker Poker (set 3), Player's Edge Plus (PP0050) Joker Poker (set 4), Player's Edge Plus (PP0050) Joker Poker (set 5, El Cortez), Player's Edge Plus (PP0130) Aces and Faces Bonus Poker (Grand Casino), Player's Edge Plus (PP0540) Double Bonus Poker (set 3), Player's Edge Plus (PP0733) Double Aces and Faces Bonus Poker (Grand Casino), Player's Edge Plus (X000127P+XP000038) Deuces Joker Wild Poker, SRD: Super Real Darwin (World), SRD: Super Real Darwin (Japan), Taisen Karate Dou (Japan), 'Wonder Boy: Monster Land (Japan New Ver., MC-8123, 317-0043)', 'Wonder Boy: Monster Land (decrypted bootleg of English, Virtual Console release)', 'Wonder Boy: Monster Land (decrypted bootleg of Japan New Ver., MC-8123, 317-0043)', 'Wonder Boy: Monster Land (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043)', 'Wonder Boy: Monster Land (English bootleg set 1)', 'Wonder Boy: Monster Land (English bootleg set 2)', 'Wonder Boy: Monster Land (English bootleg set 3)','Wonder Boy: Monster Land (English bootleg set 4)', 'Wonder Boy: Monster Land (English, difficulty hack)', 'Wonder Boy: Monster Land (English, Virtual Console)', 'Wonder Boy: Monster Land (Japan bootleg)' and 'Wonder Boy: Monster Land (Japan Old Ver., MC-8123, 317-0043)' and The Yakyuken
- Dipswitch fixes in aristmk4.cpp, ddenlovr.cpp, dynax.cpp, galaxia.cpp, igs011.cpp, kangaroo.cpp, markham.cpp, quasar.cpp, skykid.cpp and yakyuken.cpp
- Renamed (3bagflnz) to (3bagfullnz), (3bagflvt) to (3bagfull), (arcwins) to (arcwinsa), (bootsctnu) to (bootsctnub), (bootsctnua) to (bootsctnud), (bootsctnub) to (bootsctnu), (bumblbugua) to (bumblbugub), (cgold2) to (cgold2a), (dblagent) to (dagenta6), (ddsomjr1) to (ddsomjr2), (ddsomjr2) to (ddsomjr1), (dolphntru) to (dolphntrua), (eforsta5ce) to (eforstcea), (eforsta5cea) to (eforstce), (galaxia) to (galaxiaa), (galaxiab) to (galaxia), (galaxiac) to (galaxiab), (gambler) to (gamblra5), (geisha) to (geishanz), (goldpyr) to (goldpyrua), (goldpyra) to (goldpyru), (goldpyrb) to (goldpyr), (guchokip) to (yakyuken), (hnktonku) to (honktonk), (incasunu) to (incasunua), (kgbird) to (kgbirdnz), (kgbirda) to (kgbirdnza), (kyhatonu) to (kyhaton), (marmagicu) to (marmagicua), (marmagicua) to (marmagicu), (mgarden) to (mgardena), (minemineua) to (minemineub), (pengpayu) to (pengpayub), (pengpayua) to (pengpayu), (pengpayub) to (pengpayua), (pepp0050c) to (pepp0050d), (pepp0050b) to (pepp0050c), (pepp0055c) to (pepp0055d), (pepp0055b) to (pepp0055c), (pepp0050a) to (pepp0050b), (pepp0242) to (pepp0242a), (pepp0540a) to (pepp0540b), (wafricau) to (wafrica), (wcougaru) to (wcougarub), (wcougarub) to (wcougaruc), (wcougaruc) to (wcougaru) and (wtiger) to (wtigerc)
- MAME
. VIDEO RENDERING SYSTEM
. Prevent race condition on drivers with vblank at y=0, causing partial updates to fail after load state (emu\screen.cpp).
. Improved scaling of 2-bit blue for commonly copy pasted color decoder (aristmk4.cpp, crgolf.cpp, galaxian_rockclim.cpp, galaxold.cpp, jollyjgr.cpp, lasso.cpp, m63.cpp, mirax.cpp, mouser.cpp, munchmo.cpp, quasar.cpp, seicross.cpp, superwng.cpp, suprridr.cpp and xyonix.cpp)
. Fixed crash with rect element alpha of 0 < n < 1.0/255 (emu\rendlay.cpp)
. LUA engine: Exposing running_machine::phase() to LUA (mame\luaengine.cpp)
. UI
. Allow icons to be scaled up as well as down (ui\selmenu.cpp)
. Make failure to mount required media fatal if file manager can't be displayed (ui\ui.cpp).
. Show warnings in a box above the menu so they can be wrapped rather than being truncated to the point of being useless (ui\filemngr.cpp).
. Fixed calculation mistake that resulted in NaNs (Not a Number) being passed to the renderer, causing assertion failures in debug builds (ui\menu.cpp).
. Show warnings at the bottom (ui\filemngr.cpp)
. INPUT
. Retire PORT_VBLANK / PORT_HBLANK (emu\ioport.h). Use the empty string rather than nullptr as default tag for ioport_condition (ioport_condition::operator== was blindly passing the null pointers to strcmp).
. Natural keyboard improvements: NUL is no longer a reserved character and PORT_CHAR(0) is meaningful now. The ioport_field structure now uses a reserved Unicode character rather than 0 as a filler. PORT_CHAR() with no arguments (formerly illegal) may be used to skip over shift positions that produce no useful codes. Added CAPSLOCK, CR and LF escapes to post_coded (emu\natkeyboard.cpp).
. Allow sub-mcfg to unset perfect quantum (emu\mconfig.cpp)
. Print error message when decompression fails (tools\romcmp.cpp)
. Get rid of 'MACHINE_IS_SKELETON' / 'MACHINE_IS_SKELETON_MECHANICAL' - cfr. https://github.com/mamedev/mame/pull/13090#issuecomment-2551146118 for details (emu\gamedrv.h).
. Consolidated drivers into single files (cvs.cpp, gotcha.cpp, kyugo.cpp, route16.cpp and zaccaria.cpp)
. Small cleanup (1942.cpp, 1943.cpp, commando.cpp, exedexes.cpp, gunsmoke.cpp, higemaru.cpp, sidearms.cpp, srumbler.cpp, vulgus.cpp)
- Compiling
. Fixed a bunch of #include guards that don't match file paths and added a CI task to check them in src\devices and src\mame.
. Updated GENie and changed Visual Studio target to Visual Studio 2022. Updated to GENie 1181. Applied local fix for GENie resource include directory bug, sent upstream as bkaradzic/GENie#572. Set MSVC flags to use conformant preprocessor, standards conformance mode and assume UTF-8 encoding. Use MPARAM for GENie build architecture. Restore MPARAM for non-Windows OS builds (gmake.windows\genie.make). Avoid escaping issue in 3rdparty/expat (scripts\src\3rdparty.lua).
. Demoted tautological-compare to a warning (scripts\genie.lua)
. Fixed cross-compiling bgfx for MinGW under Linux (scripts\src\3rdparty.lua)
. Correct source folder (big10.cpp, cvs.cpp, dribling.cpp, galaxia.cpp, kurukuru.cpp, othello.cpp, quasar.cpp, skopro.cpp, sothello.cpp, sshot.cpp, subhuntr.cpp, tonton.cpp, yakyuken.cpp)
. Updated compiling instructions to refer to Visual Studio 2022