MASH's MAMEINFO
Mameinfo.dat v0.282
Updated - 4th November 2025

Homepage - mameworld.info/mameinfo
E-Mail - [email protected]

  Visit ARCADE AT THE MOVIES

    





*NEW* Mameinfo 0.282 (3.72 MB)

*NEW* MAMEUI 0.282 Category-, Version and Alltime inifiles (1003 kB)

*NEW* MAME NEWS from 0.37b1 - 0.282 (6.23 MB)

MAME Listinfos from 0.25 to 0.281 (509 MB)

PCB-infos 0.153 (2.11 MB)

Compile MAME64 or MAME(XP 32bit) with Clang 20 or GCC 15 on Windows 10 (Start a script and compile immediately) (28th Jul)

Compile MAME with GCC 10.3 on Windows XP (Start a script and compile immediately) (28th Jul)

How to fix Root Certificates on XP




New in MAME:    
0.283GIT - New Working games: Cherry Master '97 (V1.7, set 1), Cherry Master '97 (V1.7, set 3, no girls), Cheri Mondo '97 (V1.4I) and Jackpot Knight (V1.1) - New Non-Working games: Mahjong Kokuryu (Japan, T040-RB-03), Mahjong Nigiri Itcho!! (Japan, T038-PB-002), Megacrane and Polar Star 2 (ver. 4.5) - New clones: Arlington Horse Racing (v1.21-I), Astro Wars (set 2), Cherry Bonus (Dyna v1.01 20fev), Cherry Master '97 (v1.6, bootleg), Cherry Master '97 (V1.7, set 2, no girls), Cherry Master '97 (v1.8, bootleg), Cherry Master I (ver.1.01, set 13, BET stops all), Cherry Master I (ver.1.01, set 14, TAKE stops all), Moon Lander (bootleg of Lunar Rescue, set 2), New Cherry '96 (1996/06/01, bootleg of New Fruit Bonus?) and Super Cherry Master (v1.1) - New drivers: megacrane.cpp - New devices: generic_spi_flash - New Clrmame: https://mamedev.emulab.it/clrmamepro/#downloads - CPU . Freescale MCF5206E: Added basic state viewer for Coldfire. Make MCF5206E CPU accept external interrupts, fixes CPU space (misc\gamtor.cpp cares). Provide MBAR relocation and GPIO reads, fixes Funcube 2/3/4/5 battery regression. Disallow do not use commands for monomach to send 0xaa thru the transmitter. Fixed MBUS and DMA irq routing (m68000\mcf5206e.cpp). . Intel 8031/8051/8751: Removed spurious port read messages (mcs51\i8051.cpp) . Intel 80186: Added latency when writiing DMA registers before the next DMA starts. Fixes (MESS) MPC60 crashing and the other drivers using a '186 all behave identically to 0.280 (i86\i186.cpp). . Intel 8257 DMA Controller: Make the driver handle verify cycles since the DMAC only does an address strobe (machine\i8257.cpp) . Intel I386: Set CPl after all memory reads are done in i386_task_switch (i386\i386segs.hxx) . Texas Instruments TMS320C3x: ABSF opcode was mistakenly using ~man instead of -man, causing problems for MK4 which checks whether |A|+|B| == |A + B|. Fixes walking both players toward each other would result in no collision (tms32031\32031ops.hxx). - DEVICE . Floppy: Documented all of the upd72069 auxiliary commands (machine\upd765.cpp) . MB89371 Dual Serial UART: Rewrite MB89371 as a fully functional device (machine\mb89371.cpp) - cdi.cpp: Fixed XA audio peaking by decoding in 32-bit and clipping to 16 later (philips\cdicdic.cpp). Simplified mouse position-update logic (philips\cdislavehle.cpp). - goldstar.cpp . Cherry Master '97 improvements: Decoded and bitswapped the bipolar PROMs creating a RGB555 palette. Fixed title and foreground graphics colors. Video register from port to get the proper graphics modes. Adjusted and placed the reels properly. Added hopper support, mechanical counters and lamps. Fixed the reels colors and the screen update to use the vidreg for modes. More work on memory map, ports, hooked video registers, worked video hardware, reels tile info, screen update and palette/color index for different elements. Added double-up girls support with scroll, new inputs from the scratch and buttons-lamps control panel layout. Added Cherry Master '97 'Double Up Game', 'Double Up Type', 'Double Up Girls' factory forced DIP switches. Splitted inputs for Cherry Master '97 sets 2 & 3. Fixed DIP switches polarity and defaults for cmast97, cmast97a and cmast97b. Splitted inputs for Cheri Mondo '97. Added 'Reels Speed' DIP switch to cmast97, cmast97a and cmast97b. Promoted Cherry Master '97 (V1.7, set 1) and clones Cherry Master '97 (V1.7, set 3, no girls) and Cheri Mondo '97 (V1.4I). . Cherry Master 97 (bootlegs running in different hardware) huge improvements: New machine config, machine start, bankswitching, memory map, port map, video registers, screen update, graphics decode, inputs, ROM load fix, lamps and button-lamps control panel. Added Double Up Type DIP switch (3 / 5 cards) and added the missing layout. Promoted Cherry Master '97 (v1.6, bootleg) and Cherry Master '97 (v1.8, bootleg) to working. . Jackpot Knight improvements: Fixed title and foreground colors and reels colors. Improved reels placement. More work on ports map, hooked video registers, worked video hardware, new machine config, proper screen update and proper graphics decode. Improved inputs. Added a new port to handle the Jackpot Knight reels background colors. Added Reels Speed DIP switch. Added 'Reels Speed' DIP switch. Switched DIP switches to Skill/Stops mode for default. Added buttons-lamps control panel. Promoted Jackpot Knight (V1.1) to working. . New Fruit Bonus '96 Special Edition: Removed all loaned bipolar PROMs from clones nfb96se, nfb96sea, nfb96seb, nfb96sec, carb2002 and carb2003 and decoded the proper device data for palette. Fixed the rom load of clones nfb96se, nfb96sea, nfb96seb, nfb96sec, carb2002 and carb2003 taking care of the proper graphics bitplanes. Removed the imperfect color flag of the above games. Marked clone carb2003 reels graphics ROMs as bad dump. Flagged the game as imperfect graphics. Temporal workaround bypassing some checks for clone noved. - model2.cpp . Fixed textured mesh polygons. Need to double all the increment values (sega\model2rd.ipp). . New trilinear implementation, runs about 40% faster. Added support for microtextures (sega\model2_v.cpp and sega\model2rd.ipp). Pre-bind render callback delegates (sega\model2_v.cpp). . Limit microtexture blend factor to 127/256. Prevents microtextures being drawn when the base texture is transparent, fixes wallpaper in hotd (sega\model2rd.ipp). . Draw polygons front to back, use fill buffer. The real hardware has two 32Kx8 RAM chips described in the Model 2B manual as "fill memory"; these effectively function as a pair of 1-bit depth buffers, one for each framebuffer. Performance is improved over back-to-front rendering, particularly in more intensive scenes, since pixels that would be drawn where other pixels have already been drawn can be discarded early before texture mapping is performed. - namcos23.cpp: Eliminated some switch/case statements through direct read/write handlers for certain registers - pgm3.cpp: Fixed endianness bug - you can't just access a 32-bit ROM region as bytes. - Funcube: Original Funcube uses TMP68301 not Coldfire, fixes black screen regression (ID 09271). - Funcube 2/3/4/5: Make MCF5206E CPU accept external interrupts, fixes CPU space. Provide MBAR relocation and GPIO reads, fixes Funcube 2/3/4/5 battery regression (m68000\mcf5206e.cpp). - Gold Line: Added ROM and reel RAM banking and identified game title as Gold Line. - Renamed (cmast97a) to (cmast97b), (scmaster) to (scmastera) and (unkct) to (goldline) - Dipswitch fixes in goldstar.cpp - Description changes of Astro Wars (set 1), Cherry Master '97 (V1.7, set 3, no girls), Dyno Bop (v1.1), Gold Line, Golden Par Golf (Joystick, v1.0), Golden Par Golf (Joystick, v1.1), Golden Tee Golf II (Joystick, v1.0), Golden Tee Golf II (Trackball, v1.1), Golden Tee Golf II (Trackball, v2.2), Hot Shots Tennis (v1.0), Hot Shots Tennis (v1.1), Moon Lander (bootleg of Lunar Rescue, set 1), Neck-N-Neck (v1.2), New Cherry '96 (1997/01/04, bootleg of New Fruit Bonus?) and , Poker Dice (v1.7), Rim Rockin' Basketball (v1.2), Rim Rockin' Basketball (v1.2, bootleg), Rim Rockin' Basketball (v1.5), Rim Rockin' Basketball (v1.6), Rim Rockin' Basketball (v2.0), Rim Rockin' Basketball (v2.2), Senjou no Ookami (Japan), Slick Shot (v1.6), Slick Shot (v1.7), Slick Shot (v2.2), Strata Bowling (v1 4T, Super Strike Bowling type PCB), Strata Bowling (v1), Strata Bowling (v3) and Super Strike Bowling (v1) - MAME . PLUGINS: Fixed mixed space/tab indentation (plugins\hiscore\init.lua) . Consolidate drivers into single files (kingobox.cpp) . DEVICES: Added more sanity checks to device types. This will bloat debug builds a bit, but unfortunately it seems to be necessary to explicitly guard against this now (emu\device.h). - Compiling . Cleaned up code (cpu\t11\t11ops.hxx, video\poly.h, igs\spoker.cpp, sega\model2.h, sega\model2_v.cpp, sega\model2rd.ipp) 0.282 - New games: Baccarat Special, Lucky Pierrot (Japan, v1.1.0B) and Miracle Seven - Heaven's Gate Turbo (Japan, v2.0.0) - New Working games: 3 Cards Poker 96 (V1.0), 3 Cards Poker 96 (V1.6), Bonus Chance (W-8, set 1), Bonus Chance (W-8, set 2), Cherry Bonus (A.A.I. bootleg), Cherry Bonus II (V2.00 06/01), Fever Chance (W-6, Japan, set 1), Fever Chance (W-6, Japan, set 2), Fever Chance (W-6, Taiwan), Haunted House (IGS, V101US), Haunted House (IGS, V107US), Haunted House (IGS, V109US), Jungle King 2004 (V101US), Mega Lines (Wing W-7 System), New Draw 8 Lines (Version 2.1), Nove Diamante (bootleg), Royal 5+ / X'mas 5 (V101US), Skill Chance (W-7, set 1, 62-98 main), Skill Chance (W-7, set 2, 53-98 main), Wild Cat 3 and Wild Cat S (CMV4 hardware) - New Non-Working games: 100&Medal GekiKazaaan!! (MDA-C0098D), 100&Medal Kazaaan!!, Arabian Jewel (MDA-C0090), Around The World, Battle Kids, Champion (darts machine, v7.71), Chaoji Jielong (V100CN), Crystal Maze, Flash Gun, Hanafuda Hana Tsubaki (Japan), Manguan Fuxing (V104T), Monopoly the Medal 2nd Edition (MDA-C0056A), Pluto 6 Devkit/Evaluation Board, Saikyou Saisoku Battle Racer, Space Computer (ver. 1.8a), Star Basket, Treasure Hunting (US.09.A), Treasure Island Jackpots, and Tsuribori Taikai (JAE 980605 V1.000) - New clones: 100&Medal GekiKazaaan!! (MDA-C0098), 100&Medal GekiKazaaan!! (MDA-C0098C), 100&Medal Kazaaan!! (MDA-C0091A), Arabian Jewel (main), Arabian Jewel (satellite), Bingo Galaxy (MDA-C0039B), Bingo Galaxy (MDA-C0039C), Cherry Master (ED-96, Corsica CM v8.23), Cherry Master 2005 (Ver. 1.00H), Cuty Line (LC-88 bootleg, ver.7.07C), Doraemon Slot, E.D.F.: Earth Defense Force (set 3), Fever Chance (W-6, cross-system for W-4), Galaktron (Sede 3), Hanafuda Hana Ginga (Japan, ver 1.00, rev 1), Magic Tree (V200PR), Samurai Aces (Korea?), Slot no Oujisama / Slot Prince (Japan, SLO1 Ver. A), Sugorotic JAPAN (STJ1 Ver.B), Tang Tang (ver. 0526, 26/05/2000, set 2), Tarzan II (V101XB), UFO Catcher 7 (rev. A) and UFO Catcher 7 (rev. C) - New PinMAME games: 'Adventures of Rocky and Bullwinkle and Friends (Belgium 1.10, display I1.03)' and 'Maverick, The Movie (Germany 4.04, Display Rev. 4.00)' - New drivers: fcourtfev.cpp, fdek_h8s.cpp and flashgun.cpp - New devices: 24c65, hasp_savquest, heath_gp19_tlb, heath_igc_super19_tlb_device, heath_igc_tlb_device, heath_igc_ultra_tlb_device, heath_igc_watz_tlb_device, heath_imaginator_tlb, heath_super19_tlb, heath_superset_tlb, heath_tlb, heath_tlb_connector, heath_ultra_tlb, heath_watz_tlb, lsi11, mm5740, namcos1_sprite, permedia2, serial_heath_h19, st_m29w640ft, st0032, systemy2, toaplan_txtilemap and winbond_w29c020c - New Clrmame: https://mamedev.emulab.it/clrmamepro/#downloads - Bob Zed (What's new): https://youtu.be/60y20tKb9F4 - CPU . DEC T11 . Handle unaligned accesses to I/O page. Certain devices on bk, uknc require this, as they do not handle the WTBT bus signal and always decode full address (t11\t11.cpp). . Improved interrupt handling in K1801VM1 CPU core. Added interrupt processing and EIS instructions to K1801VM2 core (t11\t11.cpp). . Dynamic Re-Compiling . drcbec . Fixed code for ROLC that played fast and loose with integer promotion, producing incorrect results for some compilers/targets (cpu\drcbec.cpp). . Fixed default floating point rounding mode not applying after RESTORE (cpu\drcbec.cpp). . drcbex86 . Clear the zero and carry flags for unordered floating point comparisons for consistency with the documentation and the other back-ends (cpu\drcbex86.cpp). . Mask flags when setting via SETFLGS or RESTORE to avoid possible buffer overrun, slightly optimised SETFLGS with an immediate operand. Optimised FCMP when only the unordered flags is required (cpu\drcbex86.cpp). . Optimised GETFLGS: LEA to avoid the need to save/restore flags for more flag combinations, choose registers more wisely to avoid unnecessary copies and reduce REX prefixes, use more efficient strategy to save and restore flags. Removed assert that made SETFLGS impossible to use in debug builds. Removed casts that are no longer necessary (cpu\drcbex86.cpp). . drcbex64 . Clear the zero and carry flags for unordered floating point comparisons for consistency with the documentation and the other back-ends. Slightly optimised flag calculation for some shifts and rotates (cpu\drcbex64.cpp). . Simplified and ptimised flag calculations for rotate instructions (cpu\drcbex64.cpp) . Mask flags when setting via SETFLGS or RESTORE to avoid possible buffer overrun, slightly optimised SETFLGS with an immediate operand. Optimised FCMP when only the unordered flags is required (cpu\drcbex64.cpp). . Avoid slow microcoded pushfq/popfq altogether. Also avoid some false dependencies and reduce near cache usage by almost 4KiB (cpu\drcbex64.cpp). . Optimised a couple more cases of GETFLGS and replaced a few magic numbers with constants. Use 2-operand and 3-operand forms of imul. Also changed scratch register use a bit. Optimised MULU/MULS flag calculation. Removed assert that made SETFLGS impossible to use in debug builds. Removed casts that are no longer necessary (cpu\drcbex64.cpp). . drcbearm64 . Use bfxil to save an instruction for smae cases of CARRY and ROLINS (cpu\drcbearm64.cpp) . Fixed default floating point rounding mode not applying after RESTORE. Optimised generated code for SETFLGS a little (cpu\drcbearm64.cpp). . Save an instruction when calculating carry flag for shifts with immediate count. Optimised MULU/MULS flag calculation. Handle degenerate forms of ROLAND/ROLINS when simplifier is disabled. Removed assert that made SETFLGS impossible to use in debug builds (cpu\drcbearm64.cpp). . Further optimised 32-bit multiplication and flag calculation for all multiplication instructions. Fixed 32-bit SEXT sign extending to 64 bits. Removed casts that are no longer necessary (cpu\drcbearm64.cpp). . Don't try to get offset of unbound labels even if it won't be used (cpu\drcbearm64.cpp) . ST0016: Moved ROM banking from drivers into device. External ROM is now read through an address space. Also reduced literal tags, suppress side effects for debugger reads and cleaned up code. . UML: Truncate immediate operands for CARRY (cpu\uml.cpp). Marked BREAK as clobbering all flags and marked LOAD, LOADS, STORE, SET, FLOAD and FSTORE as not modifying flags. CPUs already depend on SET not modifying flags (cpu\uml.cpp). . PowerPC drc: Generate a simpler multiplication opcode for MULLI (powerpc\ppcdrc.cpp) . x86/x64 code logging helpers: Encapsulated as a class, don't use unsafe sprintf, optimised a little, made comments and data ranges vectors (cpu\x86log.cpp). . Doc: Documented the last of the UML instructions (docs\source\techspecs\uml_instructions.rst) . Hitachi HD63705Z0: Use logmacro logging (m6805\hd6305.cpp) . hyperstone E1: Optimised generated code for multiplication and DSP instructions a little. Fixed recompiler not sign-extending EHMAC inputs (interpreter was correct) (e132xs\e132xs.h, e132xs\e132xsdrc_ops.hxx). . Intel 8086: Avoid clearing working registers upon device reset (i86\i86.cpp). Note: This change is required in order for BIOS for the AT&T 6300 Plus to work. The 6300 Plus has external logic to reset the 80286 via the reset pin, so that it can return to Real Mode from protected mode. Upon return to Real Mode, the BIOS code is clearly depending on the fact that SP register is preserved upon reset (the BIOS does however explicitly load the SS register after reset, before it is used). The 8086 and 80286 documentation call out which registers are to be initialized upon reset, and SS is one of them. For AX, BX, CX, DX, BP, SP, SI and DI, the behaviour is not specified. However, based on what the 6300 Plus BIOS is doing, it appears the actual hardware behaviour is to leave them untouched. Although we can only be fully confident that the real 286 behaves this way with respect to the SP register, it's likely that the other registers which do not have explicitly defined initialization behavior are also not touched during reset. Note that this observed behaviour only pertains to reset via the reset pin, and not to power-on initialization. . Intel 80960KA/KB . Only trigger interrupts if the input changes to the asserted state (i960\i960.cpp). logr and logrl use base 2 and always use correct rounding mode (i960/i960.cpp). . Split check_irqs() into two separate functions, fixes "Fatal error: I960: 2f2f2f2e: Unhandled 00" during Self-Test in vf2o, overrev and sgt24h (ID 08347). Pending interrupts are only checked after returning from an interrupt, while executing modpc if it causes the current priority to be lowered, and after receiving a test pending interrupts IAC message (i960\i960.cpp). . Fixed typo in ROUNDRL instruction (i960\i960.cpp) . MCS-51 . Fixed destination RAM type in XCHD A, @R0/@R1. The initial value is read from internal RAM (IRAM_IR). The final value must be written to the internal RAM too (IRAM_IW instead of IRAM_W) (mcs51\mcs51ops.hxx). . Renamed the external data bus from io to data. Start turning the internal maps into real maps. Modernization step 1+2 (mcs51\mcs51.cpp) . NEC uPD7810: Added internal layout and complete driver implementation for (MESS) Roland PG-1000 (upd7810\upd7810.cpp, roland\roland_pg1000.cpp) . Texas Instruments TMS7000: Clean up code in disassembler (tms7000\7000dasm.cpp) . Toshiba TMP95C06x: Fixed uninitialised members. Also got a lot of stuff out of the header that doesn't need to be there (tlcs900\dasm900.cpp). Show SFR symbols in disassembled code for names for TMP95C061, TMP95C063 and TMP96C141. . Zilog Z80: Cleaned up unnecessary internal state validation (SA_BUSACK) which caused INT skip (z80\z80.cpp) - DEVICE . 8042 Keyboard/Mouse Controller: Can't possibly receive if the timer isn't running. Fixed PCIAGP boot without debug tricks (machine\8042kbdc.cpp). . Flash ROM: Added ST_M29W640FT and implemented unlock bypass command. Support for Winbond W29C020C + preliminary Winbond SDP mode (machine\intelfsh.cpp) . Floppy . Support quad density floppies as an option. Disable option ROM on fixed disk controller (onboard BIOS has built-in support). Use a lambda instead of short function (isa\fdc.cpp). . Added rudimentary error checking to floppy_create, allow mount to return nullptr on failure. Fixed error return for floppy_create (tools\floptool.cpp, tools\image_handler.cpp). Sanity check for debug builds (formats\fsblk_vec.cpp). . Added 8bit DMA and NOP unknown FDC commands to (MESS) MPC-3000 (machine\upd765.cpp). Added uPD72069 data rate control (machine\upd765.cpp) . New filesystem-based commands: Added flophashes and hdhashes commands to compute CRC-32 and SHA-1 hashes for each file on a floppy or hard disk image. Added flopchmeta command to change the metadata for a file, directory or volume on a floppy image. Added floprename and flopremove commands (tools\floptool.cpp). . Hitachi HD44780 LCD Controller: Reorganized the classes so that the a0* bad dump do not propagate to systems not using it (video\hd44780.cpp). Removed the parent roms stuff because we do not have a parent concrete device anymore (video\hd44780.h). . IGS017_IGS031: Don't hardcode tilemap ROM size in decryption function (igs\igs017_igs031.cpp), fixes 'Krazy Keno' which has bigger ROM [Osso]. . Intel 8259 PIC: Side effect protection . ITE IT8705F LPC Super I/O: Fixed FDC DRQ line setup. Hookup ISA DMA bindings (machine\it8705f.cpp). . Konami 056832 Tilemap Generator: Got rid of a redundant function with duplicated code (konami\k054156_k054157_k056832.cpp) . NMK112: Use configured banking rather than writing to ROM regions. Handle non power of two ROM sizes properly (machine\nmk112.cpp). . NVRAM: Removed DEFAULT_RANDOM init (machine\nvram.cpp) . RS-232 Port: Added option for (MESS) Heath H19 terminal. Changed to the option function to a static method. . SEI80BU Encrypted Z80 Interface: Moved SEI80BU emulation into its own source file (seibu\sei80bu.cpp). SEI80BU is not always part of the Z80-based sound system, e.g. seibu\mustache.cpp. Also added input frequencies for SEI80BU devices (uses the same clock as the Z80). . Seta ST0020/ST0032 Sprites: Made ST0020 and ST0032 separate devices. Use util::sext for sign extension. Suppress side effects for debugger reads, use logmacro.h for configurable logging (seta\st0020.cpp). . SiS 950 LPC Super-South Bridge: Hookup ISA DMA bindings (machine\sis950_lpc.cpp) . Taito TC0110PCR: Use callback and configuration for color format and address shift. Also use logmacro.h for logging and suppress side effects for debugger reads (taito\tc0110pcr.cpp). . Toaplan Text tilemap generator: Merged common text layer emulation in GP9001-based drivers into a device (toaplan\toaplan_txtilemap.cpp) . Winbond W83977TF Super I/O: Hookup FDC, GPIO1, FDC irq and drq lines. Ensure Super I/O port to be installed after the others. Hookup ISA DMA bindings and fixed floppy fails (machine\w83977tf.cpp). . Z80 CTC: Improved interrupts handling in (MESS) specnext (machine\z80ctc.h) . Zilog Z80 DMA Controller: Always return live status regardless of when read command was sent (ID 09143). Refactor read register emulation. Minor logging refinements and cleanups (machine\z80dma.cpp). Keep member declarations together (machine\z80dma.h). - SOUND . Ensoniq 5505/5506 to 5510 interface: Route es5505 bus to a separate 'aux' stereo output. The VFX-SD and later keyboards in the family have not only a main stereo output, but also a second 'aux' stereo output that bypasses effects processing and has separate output jacks from the keyboard. This allows some sound to be routed for separate effects processing or recording (sound\esqpump.cpp and ensoniq\esq5505.cpp). . Ensoniq ES5505/6: Devices generate 20bit samples, not 16-bit ones. . Yamaha SWP30 sound chip: Overhaul. Use util::sext and explicit specializations for std::clamp and std::min. Removed crashing debug fopen/fprinf and srcclean (sound\swp30.cpp) - astrcorp.cpp: Adding passwords in ASCII format - astropc.cpp: Split passwords from astrcorp.c in astropc.c notes where they belongs and added romset IDs. Added missing passwords ASCII tables. - blmbycar.cpp and wrally.cpp . Use device_video_interface to obtain screen. Also lifted a calculation out of the inner sprite drawing loop and cleaned up code (gaelco\gaelco_wrally_sprites.cpp). Implemented device_gfx_interface (gaelco\gaelco_wrally_sprites.cpp). . Suppress side effects for debugger reads and cleaned up code (gaelco\blmbycar.cpp). Cleaned up code (gaelco\wrally.cpp). - dassault.cpp: Fixed priority write function. Fixes regression since MAME 0.194 (Get rid of nonbuffered_palette_w in video\decocomn.cpp). - dbz.cpp: Reduced duplication and cleaned up code. Use object finder arrays and templates to reduce duplication and reduce literal tags. Use BIT helper, improved ROM region names and made more local variables const. - ddenlovr.cpp and dynax.cpp . Correct half the DIP switches for Mahjong Jongoh based on an auction photo of the manual . Added preliminary hanaroku panel support to Hanafuda Hana Ginga . Better representation of the buttons that are actually present (dynax\hanafuda.cpp) - es9501.cpp . Changed IRQ handling so that 'Dream 9 Flower' does palette updates and inputs. Dumped correct EEPROM for the Dream 9 Flower and clone. . Real 93C56 EEPROM dump for Special Dream 9 (v1.0.7G). Added real EEPROM dump for Star Ball (v1.0.0S). - gaelco2.cpp . Moved dual monitor variant to a separate driver state class. Lifted a calculation out of the inner sprite drawing loop. Reduced duplication and suppress side effects for debugger reads. . Make use of DS5002FP programs built from Gaelco archives for the first 2 World Rally 2 sets, older sets still use the ROM found on dumped boards. - giclassic.cpp: Added missing member to saved states - goldstar.cpp . Driver improvements. A huge work on tilemap system, machines config, memory maps, video start, screen update, tile get info, gfxdecode and different video registers to give extended graphics support (mostly girls) to Poker Master and derivative hardwares. Now the sets that support girls are pkrmasta, missbingo, missbingoc, crazybon, crazybona and crazybonb. First titanic pass to reorganize and clean goldstar.cpp driver. . New machine config for '3 Cards Poker 96'. Correct settings for NVRAM. Bypassed the '3 Cards Poker 96' protections. Improved, optimized and unified the protection bypass for both sets. Unified the inputs for both sets. Simulated protection instead of patching it out. Promoted 3 Cards Poker 96 (V1.6) and 3 Cards Poker 96 (V1.0) to working. . Extended graphics/girls support (8.u53 rom) to all Lucky Line III sets. Created buttons-lamps control panel layout. Extended NVRAM. Also added a dump of original 6264 NVRAM for future analysis. . Fixed the constant noise sound problem in Lucky Lady (Wing, encrypted) and Tic Tac Toe (Sundance bootleg of New Lucky 8 Lines). . More work toward clone cutylineb. Memory map and machine config. Redumped cutylinea and cutylineb bipolar PROMs. Removed the loaned girls ROM from clones cutylinea and cutylineb, due to is inexistent on the PCB. Added workaround to get clone cutylinea running the attract. Added temporary hacks to clones cutylinea, cutylineb and cutylinec, to get them working. Unfortunately the double-up feature is still not present. Added new inputs and DIP switches bank #1 to clones cutylinea, cutylineb and cutylinec. Added 'Auto Reset Point', 'Bonus Condition', 'Coinage', 'D-UP Game Rate', 'Key In', 'Main Game Rate', 'Max Credits', 'Max Key In', 'Min Bet for Bonus', 'Rolling Speed' and 'Show Max Credits' DIP switches to cutylinea and marked the whole DIP switches bank #3 as unused. . Promoted Cherry Bonus II (V2.00 06/01) to working. DSW settings for cmast91, crazybonb, ll3, ll3a, ll3b and missbingoc. Fixed the game rate % settings for clone ll3c. Correct the polarity of DIPSW1 pin 1 for cmast91. Added inputs for cll from cmast91. . Remapped and improved Mega Bonus Star II inputs. Added hopper support. . Skill Chance/Mega Lines improvements: Improved memory map, port map, preliminary inputs and fixed the reels bitplanes order and colors for megaline, skillch and skillcha. Improved the skillch/skillcha foreground bitplanes order and colors. Migrated megaline and skillch sets to wingco class. Created a new screen update to work with the new reels parameters and video registers. Fixed memory/port map. Remapped the inputs ports. Reworked the game inputs to be accurate. Added hopper support. Worked the video register to enable/disable respective graphics. Reworked the screen update with the VREG functions. Fixed the double-up single reel/rolling numbers. Added the 4x output ports. Added bookkeeping/mech counters. Added 2 sets of lamps. Fixed the Skill Chance foreground colors. Added a buttons-lamps control panel layaut. Cleaned up the driver. DIP switches locations for megaline/skillch sets. Added NVRAM support. Separate inputs for megaline. Correct main game rate DIP switches settings and set defaults for hopper limit, coin A and key in. Added workarounds to break the different games protections. Added button-lamps control panel to skillch and megaline. Promoted megaline, skillch and skillcha to working. Worked the proper reels gfx banking protection for megaline, skillch and skillcha. . Bingo (Wing) improvements: Added proper memory map. Derivated machine config from lucky8. Fixed the loud noise issue. . New Lucky 8 Lines / New Super 8 Lines improvements: Fixed the loud noise issue in ns8linew and ns8linewb. Fixed the hopper jam error in all sets. . Cherry Angel improvements: Improved memory map, port map, inputs and created new machine config. The parent and clones are playable, but still remain some protections. . Wild Cat S improvements: New machine config, memory, port maps and proper inputs for clone Wild Cat S. Created output port handler. Added video register. Bypassed protections. Created a buttons-lamps control panel layout. Fixed the gfx bitplanes and colors. Added DIP switches to clone Wild Cat S. Promoted Wild Cat S (CMV4 hardware) to working. . Wild Cat sets improvements: Bypassed wcat3 protections. Fixed the wcat and wcat3 gfx bitplanes. Fixed the wcat and wcat3 colors. Allow wcat3 init PPI2 properly. Reworked and separated inputs for wcat3. Complete inputs for wcat3. Buttons-lamps control panel layout for wcat3. Added wcat3 DIP switches. Promoted Wild Cat 3 to working. . Wing W-6 System improvements: Switched the system to wingco class. Created new screen update to fit the video events/stats. Created special function for reels scroll RAM protection. Relocated the reel #1 for D-UP mode. Applied mirror for the reel scroll RAM displaced offset. Created output ports. Added DIP switches & DIP locations. Added hopper support. Switched the bipolar PROM nibbles, fixing the palette. Bypassed some protections. Added lamps support. Added mechanical counters. Added buttons-lamps control panel. Implemented the SM7831 Arithmetic Processor device emulation. Removed all the previous hacks and workarounds at init. Placed SM7831 read and write routines together. Promoted Fever Chance (W-6, Japan, set 1) and clones Fever Chance (W-6, Japan, set 2) and Fever Chance (W-6, Taiwan) to working. . Wing W-8 System improvements: Rewrote the whole memory map and I/O port map. Added new dedicated video start. Bypassed the system protection. Created the 2-states, 6 PROMs palette. Calculated and applied the video resnet. Added new dedicated screen update. Added the 4x SN76489 sound support. Inputs and DSW from the scratch. Added the 3rd GFX bank to the gfxdecode for extended graphics. New tile get info for the special protection tilemap. Hooked the output ports. Hooked Coins A-B-C-D, Key In and Key Out mech counters. Added NVRAM and hopper support. Rearranged the ROM load for GFX banks ROMs and bipolar PROMs. Added the Stop 1-2-3 and Stop All buttons. Partially bypassed the hopper protection. Aligned the controls according to the real control panel. Remapped the reset switch, that was overlapped by mistake. Documented the Wing W-8 System video RESNET. Added ASCII schematics. Reworked the ROM load. Added an extra graphics bank for extended reels graphics. Fixed double-up reel colors. Removed the imperfect colors flag. Created derivative reel tile info. Created button-lamps control panel layout. Promoted Bonus Chance (W-8, set 1) and clone Bonus Chance (W-8, set 2) to working state. . Fixed the clones moonlghtb and moonlghtc colors. Fixed bitswapped reels graphics for clones super9 and super9a. . Cleaned up 'Fever Soccer' code: Fixed sprite wraparound, simplified graphics decoding and use BIT helper. . Decoded the contents of prom met47s01.u66 in clone New Draw 8 Lines (Version 2.1) creating an accurate palette and fixing colors for the foreground graphics. Inputs from the scratch. Extracted the color system PLD contents and decoded the reels palette. Added function to transform on the fly the scrambled SN76489 commands, fixing the sound. Created buttons-lamps control panel layout. Fixed stops buttons border intensity in the buttons-lamps control panel layout. Added 'Double Up Game' and 'New Selective Hold Feature' dipswitch. Figured out the 'Coin A Rate', 'Double Up Game Type' (Reels or Hi-Lo Cards), 'Key In' and 'Main Game Pay Rate' dipswitches. Fixed the Coin A input. Promoted New Draw 8 Lines (Version 2.1) to working. DIP switches for clone F-16 Super 8 Lines. . Cherry Bonus improvements: New memory map, machine config, inputs and protection bypass. Splitted inputs for Cherry Bonus (A.A.I. bootleg). Improved Cherry Bonus inputs adding the STOP buttons. Update Cherry Bonus (A.A.I. bootleg) settings. Promoted Cherry Bonus (A.A.I. bootleg) to working. . Updated Poker Master (Tony-Poker V3.A, hack?) settings. The polarity for DIP switches 1 & 2 has been corrected. . Magical Odds huge improvements: Huge work in tile get info/video start/screen update, to integrate the dynamic reels background color system. Reformatted the reels system to fix the kinetic title effect. Fixed palette decoding and graphics decode accordingly. Added a third graphics bank for title tiles. Reworked inputs to get the necessary to get the game working and match the standards. Removed MACHINE_WRONG_COLORS and MACHINE_IMPERFECT_GRAPHICS flags. Correct spot area for title effect (magodds, magoddsa & magoddsb). . Fixed DIP switches polarity for clone Nove Diamante (bootleg). Workaround to bypass the Nove Diamante link error. Fixed Nove Diamante reels graphics. Removed the loaned bipolar PROMS in Nove Diamante and decoded the color data EPROM from the game PCB, splitting the byte nibbles creating 4bit data for the game palette. Promoted clone Nove Diamante (bootleg) to working. - hng64.cpp: . Decode samples. Bump 8-bit incoming samples to 16-bit and adjust output scaling. Improves audible detail and output volume. Replaced the lpf by a chamberlin, it makes more sense. Adjusted final mix to capture the true highest bits, don't retrigger the filter envelope on writes and decode the loop parameters. More plausible loop point calculation. Updated documentation. Further work on loop parameters. The crowd in Xtreme Rally now sounds reasonable. Additional cleanup, proper logging, device map and multichannel output. Also changed owners/licensing given extensive rewrite since 0.280. Added DMA support. 16-bit linear sample format supported. Remap the channel mapping to make sense. Better logging. Cleanup, improved logging, fixed missing address mask, fixed issue with 16-bit playback and added enum for output channels. Make into a device_memory_interface with a side of memory_access cache (sound\l7a1045_l6028_dsp_a.cpp). . Improved MIPS/V53 communications, fixes many problems with Xtreme Rally. Spin the MIPS for the actual required time to prevent overruns, which is much lower (snk\hng64.cpp). . Cleaned up code: Use template for tilemap info function. Use logmacro.h for configurable logging. Suppress side effects for debugger reads. Reduced literal tags. Use abbreviated integer types consistently (snk\hng64.cpp/h, hng64_3d.ipp, hng64_a.cpp, hng64_sprite.ipp and hng64_v.cpp). . Patch up a bit: Fixed BIOS region in ROM in ROM finder constructor. Use object finders for texture and vertex ROMs. Fixed endianness bug casting 8-bit vertex ROM region to u16. Fixed ridiculously dangerous code depending on variable shadowing. Got rid of some completely unnecessary casts that could break stuff later. . Preliminary hookup for rear/LFE and individual gun sound outputs (snk\hng64.cpp). Follow along with the DSP's new channel mappings (snk\hng64_a.cpp). Fixed vertex ROM range check and moved indexing after check. Fixes assertion failures, etc (snk\hng64_3d.ipp). - hummer.cpp: Adding passwords in ASCII format - igs_fear.cpp . Added preliminary inputs for Icescape . Dumped all GFX ROM for 'Majiang Zhengba' - igs_m027.cpp and igs_m027xa.cpp . Dumped internal ROM for Gone Fishing (V602US), Haunted House (IGS, V109US), Jungle King 2004 (V101US), Krazy Keno (V105US) and Royal 5+ / X'mas 5 (V101US). . Improved I/O for 'Royal 5+ / X'mas 5 (V101US)' and Gone Fishing (V602US). Promoted 'Royal 5+ / X'mas 5 (V101US)' to working. . Improved inputs for Jungle King 2004. Correct inputs, use Triple Fever artwork an hooked up sound banking for Haunted House. Correct button inputs and DIP switches for Krazy Keno. Added internal artwork for Krazy Keno and Jungle King 2004. Promoted Haunted House (IGS, V101US), Haunted House (IGS, V107US) and Haunted House (IGS, V109US) and Jungle King 2004 (V101US) to working. . Fixed ADPCM ROM banking for Haunted House and Krazy Keno. Got rid of some stuff carried over from igs_m027.cpp that no games on this platform seem to use (igs\igs_m027xa.cpp). - igs017.cpp, igs_m027.cpp, igs_m027_033vid.cpp, igs_m027_link.cpp and igs_m027xa.cpp: Boost OKI MSM6295 ADPCM sound volume from half to full - itech8.cpp . Let's mark 'Golden Par Golf' as MACHINE_NOT_WORKING due to lockups in attract mode . Removed DEFAULT_RANDOM NVRAM from gpgolf and capbowl. Changed capbowl NVRAM init from all_0 to all_1 (though bowlrama expects all_0). - jclub2.cpp: Emulated switch matrix properly. Reduced tag lookups and literal tags. Use templates and arrays to reduce duplication. Use util::sext for sign extension. Suppress side effects for debugger reads, use logmacro.h for configurable logging. - legionna.cpp: Fixed naming - micro3d.cpp: Copy old value of MR1 to MR2 when MR1 is written (machine\scn_pci.cpp) - model2.cpp . Only trigger interrupts if the input changes to the asserted state (i960\i960.cpp). Drop interrupts on reset (i960 IRQ) . Correct TGP math lookup table logic, fixes wrong in-game physics in Virtua Cop 2 (ID 09265). Also removed wait state when writing to copro FIFO, no longer needed. . Use separate memory spaces for data A and external. Fixes enemy car collision detection in stcc. Added EBU to address for extended A bus accesses (mb86235\mb86235.cpp). . Bilinear luma filtering for SEGA Model 2 textured render path. Bilinear improvements discussed on pull request thread: Code standard. Anti Alpha higlighted edges ala Supermodel. Cleaner bilinear edge cases ala Supermodel. . Unoptimized preliminary support for mipmaps and trilinear filtering: Bilinear luma filtering for SEGA Model 2 textured render path. Bilinear improvements discussed on pull request thread. Code standard. Anti Alpha higlighted edges ala Supermodel. Cleaner bilinear edge cases ala Supermodel (sega\model2_v.cpp, sega\model2rd.ipp). Added dpdy information to extents to be able to compute mipmap lod index per pixel (video\poly.h). Added all mipmap information to m2_poly_extra_data structure (sega\model2.h, sega\model2_v.cpp). Added preliminary unoptimized support for mipmaps and trilinear filtering. Fix to code overflow error in transparent trilinear. Converted render callbacks to C++ member function templates (sega\model2rd.ipp). . Improved interrupt logic: Interrupt control register only returns interrupts actively signalled to the i960; masked interrupts are not returned. Sound IRQs are triggered when either TxRDY or RxRDY from the USART is active (Model 2B manual, section 6.2). Removed model2c_interrupt callback; no evidence that Model 2C behaves any differently to earlier board revisions. Removed vcop issue from TODO list since it no longer occurs (tested) (sega\model2.cpp). . Correctly combine sound USART interrupts. Make sound_ready_w() protected; read status from USART instead of tracking state using member variables. Reduced number of render delegates (sega\model2.cpp). . Added Virtua Racing layout (layout\vr.lay) also to 'Sega Touring Car Championship', when the cabinet option in the Test Menu is set to Deluxe, the screen's aspect ratio is set to 16:9. - moo.cpp: Separated original hardware and bootlegs in separate state classes. Modernized sound CPU ROM banking and made region size match ROM size. Reduced run-time tag lookups and literal tags. Cleaned up code. - namcofl.cpp: Implemented interrupt acknowledge and drop interrupts on reset (i960 IRQ) - namcos1.cpp and namcos86.cpp: Moved Namco System 1/System 86 sprite functions into its own device. Corrected sprite RAM size. Made ROM region names more descriptive for namcos1.cpp. - namcos21.cpp: Correct DSP clock frequency. There's a 40 MHz oscillator beside the DSP on the DSP board, as documented in NamcoSystem21 driver (namco\namcos21_dsp.cpp). - namcos22.cpp: Fixed portability issues in round_coordinate. Fixes severe graphical glitches in Namco System 22 games like Ridge Racer on ARM systems (video\poly.h) (ID 09276). - namcos23.cpp: Renderer optimizations, 5-10% perf increase on Panic Park. - nmk16.cpp: Fixed palette format for 'Acrobat Mission' and 'Koutetsu Yousai Strahl' and use input merger for Stagger I sound IRQ. Fixes color fading for 'Acrobat Mission' and 'Koutetsu Yousai Strahl' and their clones. - nmkmedal.cpp: Correct title for pllovegene and added reference video - nss.cpp, sfcbox.cpp, snesb.cpp and snesb51.cpp . Fixed status flag display in emulation mode. In emulation mode, "MX" are " B". Both bits are always 1, only the semantic meaning changes: " " doesn't exist, and "B" is only meaningful when pushed during an IRQ/NMI, to distinguish from BRK (g65816\g65816.cpp). . Fixed IRQ to be level triggered. Followup b3f2535: stop clearing LINE_IRQ when jumping to the IRQ vector. Properly written IRQ handlers won't notice any difference, but this fixes the behavior for software which (possibly intentionally) fails to clear an IRQ source; in that case the IRQ should continue to trigger (probably leading to a system hang). LINE_SO is generally not hooked up, but if it is, it doesn't raise IRQ. Also delete unused G65816_INT_* macros (g65816\g65816.cpp). - pgm3.cpp: Bootstrap first decrypted block from internal Flash - pluto6.cpp: Replaced 'Serial VFD Device' with msc1937_device (video\roc10937.cpp). Re-added commented out systems. - polepos.cpp: Split driver classes according to hardware configurations and cleaned up code. Suppress side effects for debugger reads, reduced literal tags and run-time tag lookups. Use address maps rather than installing handlers at initialization time. Made ROM region tags more descriptive. Use logmacro.h helpers. - psikyo.cpp: Split driver classes for different hardware configurations. Reduced use of literal tags and improved ROM region tags. Suppress side effects for debugger reads. Cleaned up input port definitions. - r2dx_v33.cpp: Minor cleanups: Split driver state class for different hardware configurations. Fixed save state support. Fixed bank switching on reset. More cold (seibu\r2dx_v33.cpp). Moved partial_carry_sum to a separate file to reduce dependencies. #include guards (seibu\seibu_helper.cpp). Allow variable ROM region and size in sprite ROM decryption functions (seibu\r2crypt.cpp). Added #include guards (seibu\r2crypt.h). - raiden2.cpp: Minor cleanups: Simplified bank switching and fixed bank switching on reset. Fixed save state support. Use generic graphics decoding layouts. Cleaned up CPU ROM loading. Don't let logging code rot if disabled (seibu\raiden2.cpp). Moved partial_carry_sum to a separate file to reduce dependencies. #include guards (seibu\seibu_helper.cpp). Allow variable ROM region and size in sprite ROM decryption functions (seibu\r2crypt.cpp). Added #include guards (seibu\r2crypt.h). - segas32.cpp: Clean up sega\segas32_v.cpp - segasp.cpp: Dumped PIC keys for clone Yataimura Kingyosukui (4-player, China, Ver 1.000) and Saikyou Saisoku Battle Racer - seibucats.cpp: Fixed crash when reading inputs. Use memory share creators and supply RAM sizes at construction. - seibuspi.cpp . Fixed formatting (seibu\seibuspi_m.cpp and seibu\seibuspi_v.cpp) . Split driver state class for different hardware configurations: Suppress side effects for debugger reads. Restrict tilemap drawing to clipping rectangle. Use BIT helper for extracting single bits. Reduced duplication, literal tags and preprocessor defines. Fixed namings. Use memory share creators and supply RAM sizes at construction (seibu\seibuspi.cpp). . Use names less likely to cause conflicts for free functions (seibu\seibu_helper.cpp). Added #include guards (seibu\seibuspi_m.h). - seta.cpp: Changed jockeyc and setaroul NVRAM init from random to all_0 - slapfght.cpp: Split driver classes for different hardware configurations. Suppress side effects for debugger reads and improved save state support. Reduced literal tags, run-time tag lookups, duplication and cleaned up code. - splash.cpp: Moved roldfrog to a separate driver state class and cleaned up code: Use machine_start() and machine_reset() overrides for machine start/reset functions. Cleaned up bitmap drawing functions. Suppress side effects for debugger reads. Reduced run-time tag lookups, literal tags and duplication. - stella8085.cpp: Clean up driver (adp\stella8085.cpp, machine\i8256.cpp/h and layout\disc2000.lay) - stv.cpp: Register variables to save states (sega\stvcd.cpp) - y2.cpp: Added motherboard ROM for System Board Y2 - Amiga (alg.cpp, arsystems.cpp, cubo.cpp, mquake.cpp and upscope.cpp): Revert MAME 0.274 (Refine silence on empty DMA buffers) with rationale (amiga\paula.cpp). - Anpanman CommuTouch: Identified set. Also confirmed dump on a second PCB. - Championship Bowling: Srcclean - Cosmo: Added support for starfield - Crazy Bell: Dumped PROMs - Cue Ball Wizard: Dumped a GAL for clone Cue Ball Wizard (Spanish) - Doko Demo Issho: Dumped BIOS ROMs, confirmed they are the same as gekimaka and pingu. - Dream Chance: Fleshed out the driver a bit. Identified the game as Dream Chance. TODO: IRQs are wrong and just stubbed enough to make it do something. Stops after showing first card. IRQ problem or protection? Some suspect reads with checks.DIPs ports are correct but they don't affect the game / never change in the DIP test screen. Fully recover password (checked from 0x1ce6 on. It starts with 19490817 but where are last two digits checked?). - Fast Draw (poker conversion kit): Fixed Fatal error: wrong-sized NVRAM region (ID 09280) - Future Flash/Laser Base: Correct clocks (music pitch and speed) - Geki Makaimura: Dumped CF card - Gradius III: Implemented device_post_load for post-load tasks. Fixed sound routing and cleaned up code. PCB has mono output and only one YM2151 channel is connected (fixes background music balance). Use logmacro.h helpers for optional logging and use BIT helper. - Hang-On: Dumped PLS153 on sound and ROM board - Kick and Run: Dumped and verified PALs for clone Mexico 86 (bootleg of Kick and Run, set 1) - Klax: Documented ROM build date shown in the test menu - Knights of Valour 3 HD: Added SOC38 internal ROMs - Konami: Cleaned up code in various Konami devices and systems. Use explicitly sized integers for things that need to be registered for save states. Use references rather than pointers for output parameters of callbacks. Use standard or abbreviated integer types consistently. Improved some member names and fixed formatting (88games.cpp, ajax.cpp, aliens.cpp, asterix.cpp, bishi.cpp, blockhl.cpp, bottom9.cpp, chqflag.cpp, crimfght.cpp, dbz.cpp, divebomb.cpp, giclassic.cpp, gijoe.cpp, gradius3.cpp, konamigx.cpp/h, konamigx_m.cpp, konamigx_v.cpp, konmedal.cpp, lethal.cpp, mainevt.cpp, moo.cpp, mystwarr.h, mystwarr_v.cpp, overdriv.cpp, parodius.cpp, piratesh.cpp, qdrmfgp.cpp, quickpick5.cpp, rollerg.cpp, rungun.cpp, simpsons.cpp, spy.cpp, surpratk.cpp, tail2nos.cpp, thunderx.cpp, tmnt.cpp, tmnt2.cpp, ultraman.cpp, vendetta.cpp, wecleman.h, wecleman_v.cpp, xexex.cpp, xmen.cpp, zr107.cpp, k051960.cpp/h, k052109.cpp/h, k053244_k053245.cpp/h, k053246_k053247_k055673.cpp/h, k054156_k054157_k056832.cpp/h and k051316.cpp/h). - Many Block: Don't apply Macross tilemap offsets to Many Block - Peek-a-Boo!: Dumped the MCU for Peek-a-Boo!. Note: MCU is not hooked up (it's connected differently to other games). - Pirate Ship: Removed commented code from machine configuration (K053246 is paired with K053247 or K055673, so m_k053246 is redundant). - Savage Quest: Convert to new PCI. Stub HASP dongle in a device (centronics\hasp_savquest.cpp). - Shadow Force: Fixed DIP settings based on manual and World and Japan version use only 3 buttons (ID 05557) (ID 09260). - Super 70's: Redumped romset - Super Poker: Added dip-sw settings for Super Poker (v306US) from manual - Turret Tower: Suppress side effects for debugger reads and fixed sound routing. Also reduced literal tags and run-time tag lookups and cleaned up code. - unknown Labeled 'WU- MARY-1A' Music by: SunKiss Chen: Set IP_ACTIVE_HIGH to low. Added P1 input. Will prevent the error 30 except the 0x80 at key2 and 0x40 at P1 and shown error 02 due to hopper not implemented and something. - Yizhi Xiangqi: Improved inputs - Renamed (bingogalo) to (bingogala), (cm2005a) to (cm2005_102u), (cm2005b) to (cm2005_014h), (doraemon) to (doraemonp), (hginga) to (hgingaa), (ufo7) to (ufo7b), (unkbpmed) to (anpanmct) and (unkpara) to (dreamcha) - Dipswitch fixes in ddenlovr.cpp, goldstar.cpp, igs_m027.cpp, igs_m027xa.cpp, laserbas.cpp, lastbank.cpp, shadfrce.cpp and spoker.cpp - Description changes of Anpanman CommuTouch, Bingo Galaxy (MDA-C0039A), Cherry Master (ED-96, Corsica CM v8.01), Crazy Bonus 2002 (Ver. 1, Shanho HW, set 2), Cuty Line (LC-88, ver.1.01), Dream Chance, Hanafuda Hana Ginga (Japan, ver 1.00), Landing High Japan (VER.2.01OK, single monitor), The Love Generation (Power Link), Mega Lines (Wing W-7 System), Pipi & Bibis / Whoopee!! (bootleg, decrypted set 1), Pipi & Bibis / Whoopee!! (bootleg, decrypted set 2), Pipi & Bibis / Whoopee!! (bootleg, encrypted), 'Royal 5+ / X'mas 5 (V101US)', Skill Chance (W-7, set 1, 62-98 main), Skill Chance (W-7, set 2, 53-98 main), Tang Tang (ver. 0526, 26/05/2000, set 1), Turret Tower - The Enemy Has Arrived, UFO Catcher 7 (rev. B) and Wild Cat S (CMV4 hardware) - MAME . VIDEO RENDERING SYSTEM . Polygon rendering: Added dpdy information to extents to be able to compute mipmap lod index per pixel. Fixed portability issues in round_coordinate. Fixes severe graphical glitches in Namco System 22 games on ARM systems (video\poly.h) (ID 09276). . Removed most specialisations of the RGB utilities. Added an ARM NEON bilinear filtering implementation. Increased the intermediate precision of the C++ bilinear filtering implementation. Cleaned up and fully inlined the C++ implementation apart from bilinear filtering. Moved the generic C++ implementation to emu\video\rgbutil.h. Put all bilinear filtering implementations out-of-line in emu\video\rgbutil.cpp. . MEMORY SYSTEM . Fixed debugger's memdump command. Changed memdump to properly report overlapping views (emu\emumem.cpp, emu\emumem_hedr.ipp, emu\emumem_hedw.ipp). . INPUT . Removed the "optional" field flag (emu\ioport.h). There are multiple issues with this flag: It's poorly defined. Is it an input that's software-accessible but not used? Is it an input that shows in test modes but doesn't do anything useful? Is it an input that the system can be configured to not use? Is it an input that is useful but not strictly necessary? In almost a decade, it hasn’t been used widely. It was used in less than ten places. There hasn't been substantial interest in actually applying it across the codebase. It would be an absolute nightmare to try and apply to mahjong and hanafuda games. Consider all the cases where a game may use some but not all of the double-up game controls, and some games support multiple control schemes that use different subsets of the standard mahjong matrix. Trying to apply it to gambling systems would also be a minefield. If we were to expect it to be applied, it would cause an eplosion in input port definitions for platforms with multiple games, adding further maintenance burden. It would greatly reduce the value of having things like the standard mahjong panel definitions as you'd rarely actually be able to use them as-is. . Removed PORT_ROTATED from the core. This automatic joystick remapping feature has not been enabled in any driver for years (emu\inputdev.cpp, emu\ioport.cpp and mame/luaengine_input.cpp). . LUA engine: Allow configuring analog input adjustments from scripts. Export minvalue and maxvalue for IPT_ADJUSTER (mame\luaengine_input.cpp). . 3RDPARTY: Sync AsmJit with upstream version 1.20 from https://github.com/asmjit/asmjit/commit/5134d396bd00c1b63259387acdbb12dfdf009f9b (3rdparty\asmjit). . Prevent automatic attempts at loading or creating loose image files with the same names as extant software list items when they fail to load as such. Only allow command line image creation when file is not found and save startup image name for error reporting before trashing it (emu\image.cpp). . Updated Chinese (Simplified) translations. The revision refers to the Windows 11 Chinese Simplified menu buttons and option titles, many places are still not perfect, modify it again and again! (Chinese_Simplified\strings.po). . Doc: Fixed a typo in the documentation for the default values for the 'comm_localport' and 'comm_remoteport' flags: 15122 -> 15112 (docs\source\commandline\commandline-all.rst). - Debugger . Fixed parsing of unary ! operator in debug expressions (debug\express.cpp) . Added support for generating PDB symbols with MinGW Clang and LLD. Also don't disable sibling/tail call optimisation when symbols are enabled. This is hurting our release builds since they're built with symbols. Note: Set PDB_SYMBOLS to 1 to generate CodeView format symbols in separate PDB files, allowing source-level debugging using Microsoft Visual Studio or WinDbg. It can also be used with other tools that can load symbols from PDB files, e.g. the Intel VTune and AMD µProf performance analysis tools. This option is only supported for MinGW builds using the clang compiler and the LLVM linker (lld). This option only takes effect if the **SYMBOLS** option is set to a non-zero value (makefile, scripts\genie.lua, src\main.lua and scripts\toolchain.lua). . Fill q.value was not working (debug\debugcmd.cpp) 0.281 - New games: Ultraman Club - Lucky Numbers, Waku Waku Pajero and Y-Unit Test ROM (v1.40) - New Working games: Allien Attack (Game FBV2, ver.T), Animal House (V1.0, set 1), Animal Wonders (ver A900 66), Animal Wonders (ver A900, bootleg), Bio-Hazard Battle (scrambled bootleg of Mega Drive version), Cherry Bonus III (ver.5.1), Cherry Bonus III (Ziogas V4.1 hack, set 1), Cherry Bonus III (Ziogas V4.1 hack, set 2), Cherry Master (bootleg, Game FB55 Ver.2), Cherry Master (ver.4, set 2), Crazy Bonus 2002 (Ver. 1, dual game), Cuty Line Limited (ver.1.30), F-16 Super 8 Lines, Golden Regular (version 388/2000), Hamburger House, Hamburger House 9, Hard Drivin's Airborne (prototype, rev 2.7), Joker Master 2000 Special Edition (V512/513), Joker Master 2000 Special Edition (V515), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 1), Poker Master (ED-1993, dual game, set 1), Poker Master (ED-1993, dual game, set 2), Si Se 7, Super 97-2 (Witch Bonus), Super Real Magic (V6.3) and Win Cherry (ver 0.16 - 19990219) - New Non-Working games: Bahia, Bare Knuckle III (Conny bootleg of Mega Drive version), Big Jackpot, Bullet Mark, Burning Rubber (Amcoe), Contra (Conny bootleg of Mega Drive version), Criterium 75, Disc, Disc Bonus, Disc Jackpot, Doppelstart, 'Gunstar Heroes / Snake Rattle n' Roll / Joe & Mac (Conny bootleg of Mega Drive versions)', Hou Ye Leyuan (S103CN), Joker Poker (Merkur), Jumbo Jumbo Fun, Love Generation (Power Link), Macao, Premium Double Eight (V5.3FA), Rasant, Sanguo Lieche (880103 1.6 CHINA) and Side Pocket (Conny bootleg of Mega Drive version) - New clones: All American Football (Tecmo, Japan), Asteroids 1981 (Tetris + Cherry Master with space graphics), Battle Shark (US, older), Blue Hawk (Japan, NTC license, set 2), Cherry Bonus III (Micronic v1.2, hack), Cherry Bonus III (Reel Magic 7 bonus, set 1), Cherry Bonus III (Reel Magic 7 bonus, set 2), Cherry Master I (ver.1.01, Spanish, CODERE, set 1), Cherry Master I (ver.1.01, Spanish, CODERE, set 2), Cherry Master I (ver.1.01, Spanish, CODERE, set 3), Cherry Master I (ver.1.01, Spanish, Dyna), Florida Skill Deluxe 2K (FBV2 ver.T), Florida Skill Deluxe 99 (FBV2 ver.T), Hacha Mecha Fighter (bootleg with Raiden sounds), Joker Master 2000 Special Edition (V512), Jumbo Jumbo, King Fruit (VZ 1.04), Lonestar Roundup (set 1), Lonestar Roundup (set 2), Looping (US, set 3), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 2, Macedonia), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 3), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 4), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 5), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 6), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 7), Miss Bingo (Crazy Bonus DB, dual game), Miss Bingo (Poker Master HW, dual game), Monster Maulers (ver UAA), New Lucky 8 Lines (set 19, W-4), New Lucky 8 Lines (set 20, W-4, 58%), Pack System (Game FB55 ver.2, encrypted), Skill Master (ver.fst v3.0), Skill Master (ver.fst v5.0), Space King Part II (Space Invaders II bootleg), Super Reel Magic (ver.6.3.0, set 1), Super Reel Magic (ver.6.3.0, set 2), Super Spacefortress Macross / Chou-Jikuu Yousai Macross (bootleg with Raiden sounds), Tetris + Cherry Master (unencrypted bootleg, set 1) and Tetris + Cherry Master (unencrypted bootleg, set 2) - Removed games: 'UFO Catcher 7 Second' - New drivers: amcoe_au1250.cpp, banpresto_bpsc68000.cpp and criter75.cpp - New devices: 5080pa, amgda, intel_8256, konami_twin16_video, mb8795, pcat512me, spi_sdcard, sst_39sf020, ubpnic, zxbus, zxbus_adapter, zxbus_nemoide, zxbus_neogs, zxbus_slot and zxbus_smuc - New Clrmame: https://mamedev.emulab.it/clrmamepro/#downloads - Bob Zed (What's new): https://youtu.be/w3mQpczk9eQ - CPU . ARM7: Removed the recompiler that had never been completed (arm7\arm7.cpp) . Dynamic Re-Compiling . drcbec: Improved behaviour for float-to-int conversion. Apply floating point rounding mode to arithmetic (cpu\drcbec.cpp). . drcbex86: i686 has no red zone (cpu\drcbex86.cpp) . drcbex64 . Slightly optimised flag calculation for some variants of the multiply instructions (cpu\drcbex64.cpp). . Fixed some cases where GETFLGS would produce incorrect results when the destination is not a UML register permanently assigned to a host register (cpu\drcbex64.cpp). . drcbearm64 . Added missing source load for optimised ROLINS case. Fixes bad ROLINS results in some cases where the result is in memory. Hopefully fixes Hyperstone E1 systems corrupting SR on absolute jumps (e.g. kdynastg failing to boot) (cpu\drcbearm64.cpp). . Optimised shift and rotate operations. Don't calculate carry flag when not requested. Don't calculate zero and sign flags when only carry is requested. Avoid branches when calculating carry, optimise for non-zero shift. Improved strategy for selecting working registers (cpu\drcbearm64.cpp). . Implemented float-to-int conversion using rounding mode. Also optimised code generation for UML ROL (rotate left) and slightly optimised carry flag calculation for left shift (save one instruction) (cpu\drcbearm64.cpp). . Added NEON vector register assignments to the header comment (cpu\drcbearm64.cpp). . Fixed some cases of 32-bit operations not clearing the upper bits of a UML register (there are still a few remaining). Optimised unordered flag test - only the V bit needs to be tested. Fixed rounding mode dispatch for FTOINT (cpu\drcbearm64.cpp). . Apply floating point rounding mode to arithmetic (cpu\drcbearm64.cpp). . Improved code generation a bit: Avoid unnecessary operand loads for add/subtract operations where both sources are identical. Improved code generation for rotate through carry with immediate shift count and/or immediate zero source (cpu\drcbearm64.cpp). . Improved emulated memory access code. Generate optimised code for reads narrower than native width. Mask returned value to access size - the upper bits may not be cleared (fixes Hyperstone E1 misbehaving on Windows arm64). Don't save emulated flags across CALLC - flags are clobbered anyway (cpu\drcbearm64.cpp). . A few more optimisations: Avoid some unnecessary register copies for the displacement in LOAD/STORE when the scale is 1. Avoid unnecessary register copies for ROLAND when the source is a UML register kept in a host register. Avoid an unnecessary register copy for ROLINS when inserting a left-aligned field (cpu\drcbearm64.cpp). . UML . Added a couple of simplification rules. ADDC's inputs are commutative and TEST with an immediate zero operand effectively ignores the other operand. Got rid of a redundant assignment (cpu\uml.cpp). . Added simplification rules for FFRINT and FFRFLT (cpu\uml.cpp). Added a simplification rule for pathological cases of SEXT (cpu\uml.cpp). Added some simplification rules for multiply and divide (cpu\uml.cpp). . Fixed potential assertion failure when a degenerate rotate through carry is converted to a move (cpu\uml.cpp). . drcumlsh . Removed helpers for generating the unimplemented JMPH instrcution. Trying to use it would cause a compile error (cpu\drcumlsh.h). . Use "src" rather than "src1" if there's only one source operand (cpu\drcumlsh.h). . Doc . Documented the most common DRC UML integer arithmetic and logical instructions. Documented some UML floating point arithmetic instructions. Also replaced mathematical symbols for Boolean algebra with less desirable C operators as they were upsetting pdflatex (docs\source\techspecs\uml_instructions.rst). . Documented more DRC UML floating point instructions (docs\source\techspecs\uml_instructions.rst). Documented several DRC UML shift/rotate instructions (docs\source\techspecs\uml_instructions.rst). Documented the DRC UML SEXT instruction (docs\source\techspecs\uml_instructions.rst). Documented the DRC UML integer multiplication and division instructions (docs\source\techspecs\uml_instructions.rst). . Documented DRC UML rotate through carry instructions (docs\source\techspecs\uml_instructions.rst). - SOUND . Konami 053260 KDSC: Added TODO about reverse-engineered pan LUT. The pan LUT is mentioned in the reverse-engineered based on work by Furrtek: https://github.com/furrtek/SiliconRE/blob/master/Konami/053260/k053260_schematics.PDF . Sega 315-5313 Megadrive VDP: Acknowledge irqs only if enabled. Fixes regressions with (MESS) chukrck2 & d_titov2. Delay VINT regular triggers. Fixes (MESS) mazinsagj hang regression (video\315_5313.cpp/h, hash\megadriv.xml). . SN76496: m_sega_style_psg was wrong way around. Fixed recent regression with initial period. Fixes megatech.cpp games have a loud noise in one of the sound outputs (ID 09258). Whitespace cleanup. 'ready state' variable was missing from savestates. Initial volume is 0xf on Sega PSG. No need to savestate volume table. Only write ready pin devcb if ready pin changed, no need for in_noise_mode function and added pinout diagram to h file (sound\sn76496.cpp). . Yamaha YMF271 OPX: Update stream before reading status registers and fixed a performance regression (sound\ymf271.cpp). Note: Performance regression was from MAME 0.195 (Allow 4 channel output...). It was clearing the complete mix buffer at each stream_update, instead of only clearing amount of samples, making seibuspi driver boot-up sequence about 2.5 times slower. - DEVICE . Flash ROM: Added SST_39SF020 and fixed sector size for SST_39SF0*0 (machine\intelfsh.cpp) . Floppy/PC Harddisk . Allow images loaded from software lists to be write protected (imagedev\floppy.cpp). Set m_mon to 1 (motor off) in constructor (imagedev\floppy.cpp). Fixes (MESS) mtu130 crashes MAME, if you try to load a software-list item that is missing (ID 09005). Fixes (MESS) LSI m3 crashes when attempt to use missing disk (ID 09255). . Basic fix for pc_chd support in imgtool. Take ownership of stream in pc_chd_image_open. 'imgtool::image::internal_open' passes an rvalue reference to the stream to the 'open' function of the image format module. It expects the 'open' function to take ownership if it keeps a reference to the stream. If 'open' does not do so, the 'stream' is going to be destroyed at the end of 'internal_open'. 'pc_chd_image_open' fails to take ownership, yet it persists a reference to the stream as part of 'info->hard_disk'. This causes an use-after-free condition. Correct determination of total sectors of a FAT volume. The number of total sectors of a FAT volume is stored either in the 16-bit word at offset 19 or, if that word is zero, in the 32-bit word at offset 32 instead. The 32-bit word is not a high word to build a 48-bit value in conjunction with the 16-bit word at offset 19, but it supersedes it (modules\fat.cpp and imgtool\modules\pc_hard.cpp). . Correct recalibrate steps for Intel N82077 FDC. As documented in the datasheet it should be 80 for this FDC (machine\upd765.cpp). Recognize more file types (formats\fs_prodos.cpp). . Added a default implementation for 'supports_save'. Since the default implementation of 'save' is a stub that always fails, it makes sense to also add a default implementation of 'supports_save' that returns 'false'. That way, there's one fewer method that needs to be implemented for read-only image formats. Removed the now-redundant implementations in concrete format classes (formats\flopimg.cpp). . I2C Memory: Fixed (MESS) later Acclaim sport games fails I2C checks during POST (sega\megadriv.cpp) (GitHub #13998) . Intel 8251 USART: Don't do binary math on bool. Removed unneeded calc_parity function (machine\i8251.cpp). . Intel 8256AH Multifunction microprocessor support controller: Added Intel 8256 MUART. Don't do binary math on bool. Removed unneeded calc_parity function. Small cleanup (machine\i8256.cpp). . Konami 001006 Texel Unit: Fixed save state support. Added save state registration and fixed initialization for bilinear flag. Use fixed sized integer for device selection (konami\k001006.cpp). . Konami 007121 Video Controller: Use callback for sprite color bank/code bank and moved global x offset into configuration. Renamed set_spr_dx to set_sprite_offsets similar to how these displacement functions are named on other konami chip devices (konami\k007121.cpp). . Konami 053936 PSAC2 tilemap generator: Reduced duplication and added notes about emulation deficiencies. Updated notes based on reverse-engineering by Furrtek. Also cleaned up code (video\k053936.cpp). . Konami 056832 Tilemap Generator: Removed duplicate function . MagicEyes VRender0: Updates and cleanups (machine\vrender0.cpp) . MOS 6522 VIA: Changed timer1 count=0 change from MAME 0.277 to only when in continuous mode (machine\6522via.cpp). Fixes several Vectrex games hang MAME (ID 09249). . National Semiconductor INS8250/NS16xxx UART: Avoid setting data frame when bit encoding doesn't change (machine\ins8250.cpp) . SNK68 Sprites: Added flipscreen variable to savestates (other vars are configuration) (shared\snk68_spr.cpp) . Zilog Z80 DMA Controller: Clear BUSRQ line upon device reset to prevent CPU from freezing after a soft reset (machine\z80dma.cpp) - 3x3puzzl.cpp: Moved videoram DMA out of screen_update - alpha68k_n.cpp: Small cleanup to gamelist spacing. Only enable transparent color to Super Stingray. Fixes also kyros and kyrosj seems to have two graphical problems on the last level of the game (stage 5) (ID 01148). - amusco.cpp: Fixed colors - coinmstr.cpp: Small cleanup - crystal.cpp: Tidied up driver a little. Added lamp outputs used by Office Yeoin Cheonha and Urachacha Mudaeri and fixed button order/names for Urachacha Mudaeri. - ddenlovr.cpp . Fully separate emulation from Dynax driver (dynax\hanafuda.cpp). Eliminated the intermediate bitmap from Hanafuda Hana Tengoku (Japan). . Added DIP switch locations for Super Hana Paradise. Improved DIP switch labels for Hanafuda Hana Gokou. Fixed DIP switch labels and added locations for Mahjong Dai Touyouken and Return Of Sel Jan II. . Credit limit should be multiplied by coin rate for Hanafuda Hana Gokou, Mahjong Dai Touyouken and Return of Sel Jan II. - ddenlovr.cpp, dynax.cpp and royalmah.cpp: Improved DIP switch labels for non-working mahjong games based on manuals (dynax\mjdipsw.h) - decocass.cpp: Small cleanup. Removed coin NMI and watchdog from screen_update. Correct watchdog enable and hook up flip screen and removed some tag lookups. - djmain.cpp: Increased screen width. Removed tag lookups. Added more LED outputs and README. Enable MACHINE_SUPPORTS_SAVE flag. Use generic gfx decode layout. Use std::swap for swap layer. Make some variables constant. Fixed namings. Added notes. - dynax.cpp: Upgrade some optional devices to required devices (dynax\dynax.h) - es9501.cpp . Started fleshing out the driver. Added preliminary sprite drawing routine (disabled for now). Enabled sprites so they can be checked more easily. Hookup irq source/mask, added missing layer and fixed palette reads. Minor maintenance work (shorthand variable types everywhere, save state support and comment updates). . Handcrafted EEPROM for Star Ball. Added inputs for Special Dream 9 and Star Ball. Fixed 'Dream 9 Flower' irq regression. . Hooked up hopper, counters, identified some video regs and added sprite priority. Special Dream 9 and Star Ball could possibly be considered working. - f1gp.cpp, gstriker.cpp and tail2nos.cpp: Hook up RS232 to F-1 Grand Prix, Grand Striker and Tail to Nose. - fortune1.cpp: Clean up some of the rot - fromance.cpp and fromanc2.cpp: Use standard mahjong matrix - goldstar.cpp . Driver improvements. Fixed/improved hopper support to the recently supported games/sets. Added new functions to the PPI 8255 to allow hook the hopper. Changed some default DIP switches to get the hopper limit high. Correct notes. Some minor clean-ups. Works on extra lamps support. Some inputs fixes. Fixed missing EoF. Added technical and games notes, minor clean-ups. Changed DIP switches banks #1 & #2 polarity to cherry master sets. A lot of work on memory map, registers and inputs. . Rearranged inputs and created machine drivers for the A900/animalw series. Fixed the horrible noise on the animalw, animalwbl and lucky8t due to use of AY8910 instead of SN76489. . Added hopper support to alienatt, animalhs, animalhsa, animalw, animalwbl, cb3, cb3a, cb3b, cb3c, cb3d, cb3e, cb3f, cb3g, cb3h, cb3s51, chryglda, chthree, cmaster, cmasterb, cmasterbv, cmasterc, cmasterd, cmastere, cmasterf, cmasterg, cmasterh, cmasteri, cmasterj, cmasterk, cmasterl, cmezspin, cmezspina, cmezspinb, cmfun, cmv4, cmv4a, cmv4zg, cmv4zga, cmv801, cmwm, crazybon, crazybonb, cutyline, cutylinea, cutylineb, goldstar, f16s8l, goldstbl, hamhouse9, jkrmast, jkrmasta, luckylad, magodds, magoddsa, magoddsb, match98, moonlght, moonlghta, moonlghtb, moonlghtc, nc96 (+clones), ncb3, nfb96 (+clones), pkrmast, pkrmasta, pokonl97, schery97, schery97a, skill98, super972 and wcherry. . Added hopper support to machines amcoe1 (+amcoe1a), amcoe2 (+nfm (+amaztsk)) and wcat3 . Improved the lucky 8 lines 1P control panel. Assigned 1P control panel for clones f16s8l and super972. Added stop buttons to clones lucky8b and lucky8l. Fixed Lucky 8 Lines reel misalignment in Double-Up mode. The viewport is now focused on the active reels tilemap and the inactive ones are hidden. . Added hopper support to chryangl set. Forced DSW to Hopper Limit 1000. Decoded the bipolar PROMs, fixed planes and get correct colors for the games Cherry Angel (set 1) and Cherry Angel (set 2). . jkrmast improvements: Added hopper support. Inputs and DIP switches. Decoded the bipolar PROM and fixed colors. Added reels stop buttons. Fixed title tilemap/scroll bug and DIP switches. Reworked the screen update to take rid of the boolean states toward a real video register for Joker Master. Removed the imperfect graphics and imperfect colors flags to all the Joker Master sets. . pkrmast improvements: Added hopper support. Added/Fixed outports. Reworked Inputs. Reworked and fixed DIP switches banks. Added defaults to the DIP switches. Added sound support. Fixed missing ports. Reworked I/O portmap. Decoded the bipolar PROMS. Fixed colors and coinage. Added 2x PPI 8255 support and eliminating the individual ports. Added reels stop buttons. . Fixed cmv4 hopper DIP switches polarity. Added Animal House button-lamps control panel. Added remaining lucky8t (A900) DIP switches. Fixed nfb96 DIP switches polarity. . Fixed maincpu memory region size and added stop buttons for star100. Fixed a couple of DIP switch setting labels for hgly. . Eliminated ALL the init hacks to unscramble and manipulate the Poker Master and derivatives bipolar PROMs to get proper colors. Implemented the PLDs transformations directly in the video hardware to decode on the fly the color codes. . Added RAMDAC support for Crazy Bonus machine. Removed the "loaned" unnecessary bipolar PROMs from the Crazy Bonus sets. Perfect colors for pkrmast, pkrmasta, crazybon, crazybona, jkrmast and jokermasta sets. . Documented the Poker Master's Chance Bonus behaviour/usage. Added workaround to bypass the complex crazybonb and missbingoc protection. These two are running in a daughterboard with 4 PLDs and do some writes and reads to ports to get proper pointers to NVRAM and take from there some temp values that will be computed to create the code jumps offsets. Fixed the crazybonb and missbingoc color scheme, getting correct colors. Fixed super9, super9a and superdrg crashes. Removed the "loaned" unnecessary bipolar PROMs from crazybonb. Placed crazybon and crazybona with stealth games and crazybonb and missbingoc with dual games. . Fixed Joker Master sets DIP switches and cmv4zg/cmv4zga reels bitplanes order . Super Nove improvements: Analyzed all ports and made raw inputs from the scratch. Also created the missing portmap and hooked the also missing DIP switch #5. Now all match the port test mode. Added Double Up rate DIP switch. Added some basic inputs. Fixed some inputs and added OKI samples sound system. Added workaround to map the internal palette. Fixed colors. Improved inputs. Added hopper line and hopper detection. Fixed the screen size to show the missing bottom 16 pixels. Fixed protection #4 to allow the game discount credits when play. Promoted Golden Regular (version 388/2000) to working. . Cherry Bonus III (Ziogas V4.1 hack, set 1/2) improvements: Defeated protection. Added default NVRAM with signature and harcoded values. . Win Cherry improvements: Added hopper support. Fixed 3rd reel offset in memory map, splitted proper inputs, added needed RAM at 0xc000-0xc7ff and made a temporary workaround to make the game playable. Also added 2 more skill sets. Added a lot of work toward get Win Cherry working properly. Muted the unused SN76489 for Win Cherry to avoid noise. Changed Win Cherry manufacturer to Videostar. Promoted Win Cherry to working. . Fixed the physical DIP switches banks for goldstar, goldstbl, moonlght, moonlghta, moonlghtb and moonlghtc. Renamed some roms to the MAME standards. Fixed more DIP switches polarities. . Fixed Hamburger House dump and colors. Verified hopper working. Promoted Hamburger House and Hamburger House 9 to working. . ncb3 fixes: Changed memory map 0xc000-0xc7ff into RAM. NOP'ed unknown I/O Ports. Changed Hopper Limit settings. Defaut to "Unlimited". Polarity Change for DSW2: 4, 5, 6, 7, 8. Hopper Verified on: ncb3, cb3, cb3b, cb3d, cb3g, cb3h and cb3s51. Promoted clone Cherry Bonus III (ver.5.1) to working. . Reworked inputs base for cmaster and cmv4 systems to use MAME standards, match the real 6-buttons Cherry Master control panel and arranged new buttons-lamps layouts accordingly. Fixed polarity to avoid differences with derivative system inputs. Created group of games that have internal settings on-screen, instead of DIP switches and created new inputs for them. Added workaround for a couple of hardcoded signatures needed for Allien Attack to work properly and changed inputs + control panel layout. Promoted Allien Attack (Game FBV2, ver.T) and Cherry Master (ver.4, set 2) to working. . Lucky Line III improvements: Added workaround to defeat initial protection. Bypassed the port 10h protection (disabling video). Created new memory map. Created new machine config. Created new inputs from the scratch. Reverted the port 10h protection hack. Hooked the port 10h to the video register and arranged the system to use it instead of hardcoded values. Reworked part of the inputs, getting the missing stop buttons working properly. Promoted Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 1) to working. Promoted Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 1) to working. . Fixed inputs for clone Cherry Master (bootleg, Game FB55 Ver.2). Promoted Cherry Master (bootleg, Game FB55 Ver.2) to working. . Different fixes and new ports, hopper line work and inputs corrections for Cherry Master '91 machine. Added control panel/buttons-lamps layout to Cuty Line Limited (ver.1.30). Promoted Cuty Line Limited (ver.1.30) to working. . Promoted alienatt, animalhs, animalw, animalwbl, cb3s51, cll, cmfb55, cmv4a, cmv4zg, cmv4zga, crazybonb, f16s8l, gregular, hamhouse, hamhouse9, jkrmast, jkrmasta, ll3, pkrmast, pkrmasta, srmagic, super972 and wcherry to working. - gticlub.cpp, hornet.cpp and nwk-tr.cpp: Correct sound irq frequency. Fixes music tempo too slow compare to real hardware in NBA Play By Play and clones (ID 09240). - harddriv.cpp . Correct user4 rom loading in Hard Drivin's Airborne (prototype, rev 2.7). Promoted game to working. . Added PORT_MINMAX to brake pedal for clone Race Drivin' (compact, rev 5). Fixed clone Race Drivin' Panorama (prototype, rev 2.1) audio ROM duplicate SHA1. - hnayayoi.cpp: Cleanup driver - hng64.cpp: Rewritten L7A1045 L6028 DSP-A: Correct looping and single-shot sample support. Pitch and volume parameters hooked up. Volume envelope hooked up. Per-voice low-pass filter hooked up. Filter envelope hooked up. Voice parameter readbacks corrected (sound\l7a1045_l6028_dsp_a.cpp). - igs009.cpp: Added hopper device - igs011.cpp: Labeled DIP switches not shown in test mode based on manual - konamigq.cpp: Zerofill class variables - metro.cpp: Added setting descriptions from manual in comments - namcos23.cpp: Added Angler King and Race On! controls. Treat spinny things as a dial rather than half a mouse (aking and downhill). - pipedrm.cpp . Correct default 'Lives' dipswitch in Pipe Dream . Inverted dipswitch orientation in Hatris - quizdna.cpp: Small cleanup. Avoid splitting handlers on dup-ing, avoiding tons of extra allocations (emu\emumem_hedr.ipp and emumem_hedw.ipp). Fixes MAME crashes with "Caught unhandled St9bad_alloc exception: std::bad_alloc" message in all quizdna.cpp sets (ID 09251). - royalmah.cpp: Labelled DIP switches for Mahjong Cafe Paradise based on manual. Fixed DIP switch labels for Almond Pinky and Mahjong Cafe Break. Improved DIP switch labels for Ichi Ban Jyan amd Mahjong Vegas. - segas32.cpp: Fixed text flip and NBG0 - NBG3 layer flip (sega\segas32_v.cpp) - stella8085.cpp: Added lamps, layout and 5 more games (Bahia, Disc, Doppelstart, Macao and Rasant). - stellafr.cpp: Added 6 more games (Big Jackpot, Disc Bonus, Disc Jackpot, Joker Poker (Merkur), Jumbo Jumbo and Jumbo Jumbo Fun) - subsino2.cpp: Identified the odds rate setting for Bishou Jan - tmnt2.cpp: Split driver state class for different hardware configurations. Improved saved state support and reduced run-time tag lookups. Check for disabled side effects before displaying messages in read handlers. Use BIT helper for testing bits, avoid legacy start function override mechanism. Improved member names and ROM region names. - twin16.cpp: Encapsulated Konami Twin 16 video subsystem as a device. Slightly optimised sprite drawing. Use logmacro.h for configurable logging function. Use templates to replace memset and memcpy. Reduced duplication, made more local variables const, use more appropriate integer variable types (konami\twin16_v.h). Cleaned up code and updated comments (konami\twin16.cpp). - AGEMAME . Fixed fatalerror on sound routing (barcrest\mpu4_oki_sampled_sound.cpp and barcrest\mpu4.cpp) . Removed invert flag from 7seg element and added inverted 7seg outputs to mpu4 (the only driver that used this flag) (emu\rendlay.cpp and barcrest\mpu4.cpp) - Bio-Hazard Battle (scrambled bootleg of Mega Drive version): Promoted game to working - California Speed: Dumped alternate PIC - Classic Edition: Redumped OKI rom for Classic Edition and clones - The Combatribes: Mark button 3 as optional. Game use only 2 buttons (ID 09261). - Commando: Hook up manual sprite DMA trigger - Dynamic Shoot Kyousou: Fixed DIP switch labels - El Circulo: Added preliminary LED outputs and internal layout (layout\elcirculo.lay) - Funny Land de Luxe: Added default NVRAM content for Funny Land de Luxe. Documented interleave. - Gone Fishing 2: Dumped internal ROM - Gyruss: Changed joystick from 2*2way to 8way - Huanle Dou Dizhu: Added decryption table (igs\igs_m036.cpp) - Konami's Ping-Pong: Correct sound freq, removed joystick (game has 4 buttons) and added brief PCB notes. - Landing High Japan: Landing High Japan (VER.2.01OK) doesn't use the sub monitor, clone Landing High Japan (VER.2.02O) does. - Mahjong Natsu Monogatari: Improved DIP switch labels - Mawasunda!!: Don't use device_start to init driver - Meijinsen: Verified clone Meijinsen (set 2) dump - Operation Thunderbolt: Restored stereo sound. Operation Thunderbolt's switch to mono speakers in MAME 0.197 was based on incorrect information. - PinMAME: Dumped PICs for 'Red and Ted's Road Show' and 'The Shadow' and clones (pinball\wpc_s.cpp) - Quiz Panicuru Fantasy: Identified coinage-related DIPs for 'Medal Quiz Panicuru Roulette' - Shadow Warriors: Dumped bigger tile mask ROMs for Shadow Warriors. Measured clock for clone Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden) - Si Se 7: Driver improvements. Redumped the program ROM. Reworked inputs to cover the game requeriments. Added its own memory map and machine config. Added support for OKI6295 sound samples system. Removed the inexistent UM3567/YM2413 device. Removed the no sound flag and confirmed OKI 6295 pin 7 connected to GND. Promoted game to working. - Skins Game: Dumped PIC - Teraburst: Verified Teraburst boards don't have the X76F041 populated - unknown 1980 poker game: Replaced custom draw function with mame tilemap - Video 21: Replaced custom draw function with MAME tilemap and added section headers to source - Yizhi Xiangqi: Hookup RAMDACs and CRTC. Fixed RAMDAC colors and hookup category for BG layer. Background layer is actually 7bpp. Fixed remaining color issues. Added preliminary inputs, hopper and copyright holder. Hookup audio ROM banking. - Fixed rom names in igs_m027.cpp - Description changes of All American Football (Leland, rev B), All American Football (Leland, rev C), All American Football (Leland, rev D, 2 players), All American Football (Leland, rev E), Allien Attack (Game FBV2, ver.T), Blue Hawk (Japan, NTC license, set 1), Crazy Bonus 2002 (Ver. 1, dual game), Crazy Bonus 2002 (Ver. 1, Shanho HW, set 1), Gone Fishing 2 (ver. 1445A), Gridiron Fight (World), Hard Drivin's Airborne (prototype, rev 2.0), Hard Drivin's Airborne (prototype, rev 2.7), Joker Master 2000 Special Edition (V512/513), Joker Poker (Gottlieb), Landing High Japan (VER.2.01OK, no sub monitor), Long Hu Zhengba Gao Qing Ban (V105CN), Looping (Europe), Looping (US, set 1), Looping (US, set 2), Lucky Line III (ver 2.00, Wang QL-1 v3.03, set 1), Majuu no Ohkoku (Japan), Merlin's Money Maze, Office Yeoin Cheonha (version 1.2), Poker Master (ED-1993, dual game, set 1), Poker Master (ED-1993, dual game, set 2), Que Huang Zhengba (V100CN), Return of Sel Jan II (Japan, NM508), Return of Sel Jan II (Japan, NM557) and Si Se 7 - Dipswitch fixes in goldstar.cpp, gms.cpp, homerun.cpp, igs011.cpp, igs_m027.cpp, jack.cpp, megadriv_acbl.cpp, meijinsn.cpp, metro.cpp, pipedrm.cpp, royalmah.cpp, quizpani.cpp, senjyo.cpp and stella8085.cpp - Renamed (hdrivair) to (hdrivair0), (hdrivairp) to (hdrivair), (loopingv) to (loopingu), (loopingva) to (loopingua) and (unkyungyu) to (sise7) - MAME . VIDEO RENDERING SYSTEM . Use raw parameters for screen timings in exidy\carpolo.cpp and exidy\circus.cpp . Make hit test priority match visual order. Also made order of parsing view element more logical (makes interation with parameter elements less confusing). Some layouts have been updated, others still need work (emu\rendlay.cpp). . Do a 2-pass for updating artwork clickable zone input field state. Fixes Artwork held input is released after crossing overlapping clickable zone edge of same input field (ID 09252) (emu\render.cpp). No need to do std::transform here. Yoda style for loop like the surrounding source (emu\render.cpp). . Changed legacy marquee UI toggle to Marquees instead of a 2nd Backdrops (emu\rendlay.cpp). Removed invert flag from 7seg element and added inverted 7seg outputs to mpu4 (the only driver that used this flag) (emu\rendlay.cpp). . MEMORY SYSTEM . Optimize a specific but useful case (emu\emumem.cpp). Added forgotten range checks (emu\emumem_mview.cpp). . Avoid splitting handlers on dup-ing, avoiding tons of extra allocations (emu\emumem_hedr.ipp and emumem_hedw.ipp). Fixes MAME crashes with "Caught unhandled St9bad_alloc exception: std::bad_alloc" message in all quizdna.cpp sets (ID 09251). . Count references correctly for de-duplicated handlers (emu\emumem_hedr.ipp and emumem_hedw.ipp). Restrict 'check_optimize_all' to very short ranges (fixes crash in cave/cv1k.cpp games) and optimized the optimization further (emu\emumem.cpp). . Work around regression in Gaelco3D games by disabling optimization when address select is enabled (emu\emumem.cpp) . Prevent subunit offsets from being masked out in handlers (emu\emumem_mud.cpp). Fixes sound in suprnova.cpp. Short-term fix to some crashes, need more thinking though (emu\emumem_mud.cpp). . DEVICE: Avoid updating data frame if nothing changed. Don't use bitwise OR on bool. Small cleanup to spacing (emu\diserial.cpp). . INPUT: Fixed "Application" key with SDL keyboard provider (input\input_common.cpp). Also improved support for rare higher F-keys with SDL and Win32 providers. . UI/OSD: Hold ALT to INC/DEC setting by 100 (ui\analogipt.cpp) . SOFTWARE LIST: Split multiple languages/developers into separate info elements in all software lists . NETWORK: Added packet logging helper (emu\dinetwork.cpp) . Multi-Language: Updated Japanese translations (Japanese\strings.po). Added Polish translation (Polish\strings.po). . Consolidate drivers into single files (bking.cpp, gaiden.cpp, jack.cpp, rohga.cpp and senjyo.cp). Got rid of some VIDEO_START macros (rohga.cpp, gottlieb.cpp and docastle.cpp). Removed some unused/unneeded MACHINE_START / MACHINE_RESET / VIDEO_STARTs (cps2.cpp, scramble.h/_m.cpp, m92.h, model2.h, system1.h, route16.cpp, superqix.cpp and toaplan1.h) . Tidied some stuff (video\upd7220.cpp, atari\atarisy2.h, igs\igs017.cpp) - Compiling . Fixed pull_request property (.github\workflows\includeguards.yml) . Fixed missing EoF marker (lib\netlist\build\create_lib_entries.py) . Don't pass --line-numbers to objdump. It has no effect on --syms for GNU objdump, but it causes LLVM objdump to disassemble the executable (scripts\src\main.lua). Improved support for building on Windows arm64. Manage objdump processes from python. Avoids issues with inconsistent shell behaviour (dist.mak, scripts\build\llvm-objdump-filter.py, scripts\src\main.lua and scripts\src\osd\modules.lua). . Fixed compile with Clang 21.1.1 (machine\spg_renderer.h, tvgames\generalplus_gpl162xx_lcdtype.cpp) - Debugger . Extended memory commands for region and space (emu\debug\*). Reduced unnecessary duplication (debug\express.cpp). . Don't persist fallback expressions (debug\debugvw.cpp) 0.280 - New games: 119 (bootleg?), Gold Strike (Japan, v1.1.1 - location test), ICP EX-Turbo-GT poker, ICP F40 poker (137 Fever, 10 bet), ICP F80 poker (137 Fever, 50 bet), Shuihu Feng Yun Zhuan, Songjiangyanyi Final and 'Unknown Turbo Poker (set 1)' - New Working games: Kaimen Hu (PAN Electronics), New Lucky 8 Lines (A900 2nd gen, Cross and Bell Bonus), Taishan Wuxian Jiaqiang Ban (V101CN) and Tiansheng Haoshou (V201CN) - New Non-Working games: Best of Nudge (Ver. 1.01), Bio-Hazard Battle (scrambled bootleg of Mega Drive version), Crazy Circus (Ver. US.01.7), Dajia Dou Dizhu, Dash! (A37, ver 1998/10/22), Dynamic Chance (Type-3.0 Part 1-2), Fruit Poker (V.Swe 1.74), Funny Fruit (Ver. 1.05, newer hardware), Gold Touch (Ver. 2.45), Gone Fishing (V602US), Hong Mayi (Xin Yun), Krazy Keno (V105US), Lucky Full House (ver 1.16, data ver 1.05), Medal Quiz Panicuru Roulette, Multi Game III (V.Int 3.63), Neo Print SP! Super Collection Version (Japan), Pretty Present, Star Ball (v1.0.0S), Silver Bar (Ver. 1.07), Southern Gold (Ver. 1.16) and Tankers - New clones: Allien Attack, beatmania 3rd MIX (ver JA-B), Classic Edition (Version 1.4R), Clutch Hitter (bootleg), Dash! (A37, ver 1996/11/18), Donkey Kong Jr. (Nuova Videotron bootleg), Dynamic Chance (Type-3.0 Part 1-2, alt), Dynamic Plus One (SP Type ver 1.10), Fruit Bonus 2000 / New Cherry 2000 (Version 2.3B), Fruit Bonus 2000 / New Cherry 2000 (Version 2.6 Special), Fruit Bonus 2000 / New Cherry 2000 (Version 3.1 Special), Fruit Bonus 2000 / New Cherry 2000 (Version 3.3 Special), Fruit Bonus 2000 / New Cherry 2000 (Version 3.4 Special, set 1), Fruit Bonus 2000 / New Cherry 2000 (Version 3.4 Special, set 2), Fruit Bonus 2000 / New Cherry 2000 (Version T 2.3C), Fruit Bonus 2nd Edition (Version 1.6R), Fruit Bonus 2nd Generation (Version 1.8Q), Gold Touch (Ver. 2.39), Haunted House (IGS, V107US), ICP F40 poker (100yen), ICP F40 poker (137fv_10yen_f40), ICP F40 poker (jap_9a), ICP F80 poker (137_50_100), ICP F80 poker (137_9.bin), ICP F80 poker (137_9_0jap), ICP F80 poker (137_9_10bet), ICP F80 poker (137_9_50), ICP F80 poker (137_9_60), ICP F80 poker (137_9_70), ICP F80 poker (137_9_90), ICP F80 poker (137_9_jap), ICP F80 poker (137_9_redsquare), ICP F80 poker (137_number7), ICP F80 poker (9_jap), ICP F80 poker (9_reddot), ICP F80 poker (abg), ICP F80 poker (af_80_newer), ICP F80 poker (af_80_older), ICP F80 poker (blue-green-red dots), ICP F80 poker (jap_9), ICP F80 poker (jap_9_jap), ICP F80 poker (redx_9_40_45_50_60), ICP F80 poker (redx_9_7), Kingdom Grandprix (bootleg), Lucky Full House (ver 1.15, data ver 1.04), Mini Golf (cocktail, 10/18/85), Money Machine (Version 1.3R), Monkey Land (Ver. AA.20.A), Ms. Pac-Man (bootleg, set 5), New Lucky 8 Lines (set 16, W-4), New Lucky 8 Lines (set 17, W-4, turbo, protected), New Lucky 8 Lines (set 18, W-4, bingo/fever, protected), Ozma Wars (set 3), Quiz (Revision 2.11, alt questions), Rally X (Tecnidiver bootleg), Rolling Stones (V21), Sea Invasion, Sexy Gal Tropical (Japan 850715 SXG T-01), Southern Gold (Ver. 1.14), Stone Age (Astro, Ver. AA.05.H, 2007/03/15), Techtron EX-Turbo-GT poker (set 1), Techtron EX-Turbo-GT poker (set 2), Tetris + New Lucky 8 Lines (W-4 + W4BET-VID sub board with MCU), Tiansheng Haoshou (V201CN), Tutankham (bootleg), Unknown Golden Poker (Japan Ver. 2.2), Unknown Golden Poker (PED 70%), Unknown Golden Poker (PED 80%), Unknown Golden Poker (PED 85%), Unknown Golden Poker (PED 90%), Unknown Golden Poker (PED 95%, set 1), Unknown Golden Poker (PED 95%, set 2), Unknown Turbo Poker (set 2), Unknown Turbo Poker (set 3) and Wing W90 poker (Wing 8510-A W90-3 PCB) - New drivers: 119.cpp, cadillacjack_mc68340.cpp and xinyun.cpp - New devices: mz1p16 - Bob Zed (What's new): https://youtu.be/0K2G0lYl8OI - CPU . Dynamic Re-Compiling . Not nuking the destination register on 64-bit rotate is important (fixes broken collision detection in Poosho Poosho with drcbex86 (ID 09228)), also slight optimisations (cpu\drcbex86.cpp). . Don't sign extend word register loads into upper 32 bits of host register (cpu\drcbearm64.cpp). . Intel 8086: Correction to idiv overflow (i86\i86.cpp) . Intel I386: Throw faults from i386_trap so double and triple faults can be handled properly (i386\i386.cpp and i386\i386priv.h) . NEC Vxx: Correction to idiv overflow (nec\necmacro.h). Updated MUL/DIV cycles (nec\necinstr.hxx). Small cleanup to spacing. DIV/DIVU does store a result on V33. . Motorola MC68010: Use constructor delegation (m68000\m68010.cpp) - SOUND . Sega 315-5313 Megadrive VDP: Make VDP irq enable times more deterministic. Fixed regression. Mode 4 disallows writing to registers beyond 10. Fixed (MESS) bassmpro Sega startup logo (video\315_5313.cpp) (ID 06228) . SN76496: Tone frequencies and volume are non-zero at startup (gives (MESS) BBC Micro boo-bip startup tones) (sound\sn76496.cpp) - DEVICE . Floppy: Prevent INTRQ from being raised until last DRQ is serviced unless data was already lost (ID 09236). Fixed validation by restoring wonky difference between ISA8 and ISA16 option lists (machine\wd_fdc.cpp). . ISA: Merged ISA8 options with ISA16 8-bit options, i.e. allow mounting (MESS) IBM Speech to ISA8, xtide to ISA16 (isa\isa_cards.cpp). . Konami 053244/053245 Sprite Generator: Small cleanup (konami\k053244_k053245.cpp) . Konami 053260 KDSC: Uses K053260's TIM2 output as interrupt source (sound\k053260.cpp). Small optimization to devcb. . Konami 054321 Maincpu-Soundcpu interface: Reset m_active at device_reset. . Konami 054338 Mixer and Konami 055555 Priority Encoder: Some comment cleanups . Konami 054539 ADPCM: Fixed regression with K054539 L/R speakers. Small cleanup. Update stream before writes. Added m_ prefix to class variables. Also update stream before init_flags. . Konami 056832 Tilemap Generator: Small cleanup. Re-enable update_linemap render now that it works again. Fixes zooming glitches and wrong backdrop in G.I. Joe (ID 01858). Make linemap_enable a mcfg setter (konami\k054156_k054157_k056832.cpp) . MC68681 DUART: Fixed TX disable bug (machine\mc68681.cpp) . MOS 6522 VIA: RESET does not change T1 and T2 latches/counters and Shift Register (machine\6522via.cpp) . Motorola MC6845 CRTC: Removed hack that resets line counter when screen parameters are changed (fixes split screen mode in (MESS) Elite on BBC Micro) (video\mc6845.cpp). . Paradise Systems PVGA1A Graphics Card: (Try to) pull cnf15 high for wd90c11 graphics card. Refactor all cards to use ISA remap. Fixed wd90c33_zz going in MDA mode in ct486 BIOS menu (isa\svga_paradise.cpp). . Paradise Systems PVGA1A i/f: Hookup DDR callback for PR11 writes. Fixed (MESS) Teradrive and MegaPC going in MDA video mode (video\pc_vga_paradise.cpp). . Zilog Z80 DMA Controller: Implemented BAO callback (machine\z80dma.cpp) - 1942.cpp, 1943.cpp, bionicc.cpp, blktiger.cpp, commando.cpp, gng.cpp, gunsmoke.cpp, supduck.cpp, tigeroad.cpp and vulgus.cpp: Revert global 128,6 screen offset. - astrcorp.cpp: Added dedicated inputs for keno21 and gostopac - bankp.cpp: Cleaned up a few things - btime.cpp: Merged driver with scregg.cpp - cdi.cpp: Added Interlace Graphics (GitHub #13997). Doubles vertical resolution. Minimal code to double the vertical resolution for GitHub #13231. The result is a slightly crisper looking image on most monitors due to better upscaling on images are have less oblique pixels. This was tested minimally and seems stable. Something closer to a proper interlaced image can be accomplished using the _PA bit, however current screen blanks between frames preventing the parity bit from being able to produce a correct interlace image yet. Removed excess vertical resolution. Use 2x clock multiplier. Added Interlaced Graphics. Fixes GitHub #13231. Toggle interlace effect. When the interlace bit is off, line-duplication is re-enabled. This ensures the interlace effect is only visible when the game declares the output to be interlaced. Fixed interlaced line offset. In some cases, such as during startup, the line length of the interlaced line is impacted. This corrects the offset. Fixed interlace clock speed (philips\mcd212.cpp). Cleaned up a few more things (philips\mcd212.cpp). - cham24.cpp, famibox.cpp, multigam.cpp, nes_arcade_bl.cpp, playch10.cpp and vsnes.cpp: Removed disused callback (video\ppu2c0x.cpp) - djmain.cpp: Small cleanup. Measured maincpu clock. Added screen raw params from Guru video timing measurements. Clarify x in product number. - dkong.cpp: Increased quantum for I8257 CPU - galaxian.cpp: Do global sprite clipping with a virtual function instead of setter - goldnpkr.cpp: Minor cleanups - goldstar.cpp . Driver improvements. Added hopper support to the following games/sets: bingowng, lucky8, luckybar, ns8lines and clones bingownga, lucky8a, lucky8b, lucky8c, lucky8d, lucky8e, lucky8f, lucky8g, lucky8h, lucky8i, lucky8j, lucky8k, lucky8l, lucky8m, lucky8n, lucky8o, lucky8p, lucky8q, lucky8r, lucky8s, lucky8t (fixed), lucky8tet, ns8linesa, ns8linew, ns8linewa, ns8linewb, ns8linewc and ns8linewd . Improvements for clone New Lucky 8 Lines (A900 2nd gen, Cross and Bell Bonus): Rearranged the ROM load, simplified the things eliminating its own machine config and dedicated memory map. Created proper inputs, added stops and bonus buttons, added DIP switches for key in, max bet, double-up on/off, double-up rate, main game rate, changed control panel layout to one player, added technical notes and cleaned up a bit the driver. Removed special odds DIP switches. Added hopper support and removed wrong control panel, due to the lack of lamps support. Documented the 3 forced bits that allow boot the game. Fixed the Max Bet DIP switch and connected through port conditional with the new added Minimum Bet DIP switch. Promoted 'New Lucky 8 Lines (A900 2nd gen, Cross and Bell Bonus)' to working. . Dumped PROMs for Jackpot Knight (V1.1) and New Mondo Plus (V0.6I) - hng64.cpp: Promoted bbust2, buriki, fatfurwa, roadedge, sams64, sams64_2 and xrally to working. Several people have tested this game quite extensively at this point, and there haven't been any logic bugs reported in the gameplay, even if the sound is still rather offensive to the ears. - igs_m027.cpp . Added decryption tables for gonefsh, jhg3d and royal5p (igs\pgmcrypt.cpp) . Added/Correct inputs, outputs and DIP switches for tshs and tswxp. Confirmed sound is OK for tshs and tswxp. Promoted tshs and tswxp to working. . Added preliminary I/O and correct OKI sound chip clock frequency for cjsxp. Improved inputs and sound. Hooked up sound ROM banking. Identified six DIP switches. Corrected test and bookkeeping inputs. Added support for fruit machine wiring option. Better I/O. Added key-in/key-out inputs and counters used in fruit machine mode. Identified some more DIP switches for cjsxp. - igs_m027xa.cpp: Added decryption tables for jking04 and krzykeno - jollyjgr.cpp: Added screen raw params. Small cleanup. - kurukuru.cpp and rgum.cpp: Changed inputs from poker type to slot type - lastduel.cpp: Updated notes - m92.cpp . Added screen raw params. Shorthand variable types. Added palette DMA and improved sprite DMA. Tweak DMA busy timing and added BTANB note. . Correct num sprites limit for clone Peter Pan (bootleg of Hook) and no need for +1 on OKI bank. - mitchell.cpp: Added rom locations for qtono1 and qsangoku - model3.cpp: Removed 'Region' from game names. Added colormod disable flag (sega\model3_v.cpp), fixes von2 blackened floor regression. Rollover scan timer at 0, not at 1 (sega\model3.c). - namcos22.cpp: Renamed cybrcycc and tokyowar analog controls - namcos23.cpp . Added support for dynamic texture scrolling. Better direct-polygon Z-sort handling. Clear all machine-class members on reset. . Added default NVRAM contents for Downhill Bikers - naomi.cpp: Dumped NAOMI Rev A and Naomi 2 Rev B Australia BIOSes - pluto6.cpp: Correct include order (video\serialvfd.cpp) - spoker.cpp: Slightly better inputs for Jingle Bell and Super Poker games - timeplt.cpp: Added hopper device for Bikkuri Card (Japan) and Chance Kun (Japan) - twinkle.cpp: Combine speakers - vendetta.cpp: Added lazy sprite DMA and removed note about tile chip (r/w go to gaps in memory map). Fixes flickering and bad characters on the life bar of bosses in Vendetta (ID 09230) and graphics issues (ID 05975). Added TODO note about sprite DMA. - 1942, Commando, Exed Exes, Pirate Ship Higemaru and Vulgus . Hook up irq prom instead of hardcoded values (no change to emulation). Added screen raw params to Exed Exes and Pirate Ship Higemaru. . Copy over input defs from 1942 for clone 1942 (Itisa bootleg), demote game to not working (not from this commit, it was already broken when added). - Amiga (alg.cpp, arsystems.cpp, cubo.cpp, mquake.cpp and upscope.cpp): Get rid of m_icr_read, fixes (MESS) cpm68k-amiga boot (machine\mos6526.cpp). - Asterix: Correct flipscreen offsets - Atari 800 (bartop52.cpp and maxaflex.cpp): A800 write_cart doesn't need returning from void fn (a800\a800_slot.cpp) - Bloxeed: Patched out undumped MCU handshake in clone Bloxeed (bootleg) and makes game boot - D-Day (Jaleco, set 1/2) . Correct text layer colors. Lower AY-3-8910 clock. Improved DMA BUSACK and audiocpu irq and changed controls to 4way. Updated notes on protection chip and use generic gfxlayout for chars. Shorthand variable types. . Assume maincpu clock is same as soundcpu. Still missed sound irqs. Increased quantum. . Correction to scroll offset and foreground cliprect. Confirmed protection device from decap and pinout. - D. D. Crew: Demoted clone D. D. Crew (bootleg) to not working - Double Dribble and Iron Horse: Added brief PCB notes - Exerion: Added DIP locations. Removed static constexpr list at top of driver. - Field Combat: Added DIP locations. Note: Colors match available references (i.e. https://youtu.be/kMfaYrmoOc4). Re-added screen raw params after Guru measured video timing. - Filetto, Magical Crystals and Smash T.V.: Dumped and verified some PLDs - G.I. Joe: Re-enable update_linemap render now that it works again (konami\k054156_k054157_k056832.cpp). Fixes zooming glitches and wrong backdrop in G.I. Joe. - Goldart (Spain): Confirmed the Dallas dump as good for Goldart (Spain) and clones (France, Covielsa license), (Germany), (Portugal) and (United Kingdom). - Golfing Greats: Uses K053260's TIM2 output as interrupt source (sound\k053260.cpp) - Invasion - The Abductors: Redumped PIC - Kaimen Hu (PAN Electronics) . Improved inputs. Mapped the DIP switches bank. New video hardware (tile get info, video start). Fixed the ROM load. Created extended GFX banks. Added a default clean NVRAM to get the game working properly. Fixed the PSG clock. Different tweaks in graphics banks and color system. Added Autohold, Coinage and Multiplier DIP switches and DIP locations. . Promoted game to working - Keno 21: Redumped gfx rom - Lethal Enforcers: Added screen raw params and enable priority shadows and simplify sprite priority. Correct shadow color. Small correction to sprite layer coords. - Lunar Rescue and Ozma Wars: Confirmed PROMs for Ozma Wars (set 1/2) and clone Lunar Rescue (Artic bootleg) - Mace: The Dark Age: Dumped alternate PIC - MegaDrive/Genesis (hshavoc.cpp, megadriv_acbl.cpp, megadriv_sunmix.cpp, megadriv_ybox.cpp, megaplay.cpp and megatech.cpp) . Sega 315-5313 Megadrive VDP: Make VDP irq enable times more deterministic. Fixed regression. Mode 4 disallows writing to registers beyond 10. Fixed (MESS) bassmpro Sega startup logo (video\315_5313.cpp) (ID 06228). . Replaced irq_callback with vpa_after/vpa_sync cpu_space_map (sega\megadriv.h) . Fixed no sound BGMs in (MESS) megadrij [teddyboy] (sega\megadriv.h) (ID 07645) - Mogura Desse: Added screen raw params. Added coin counters and do weird tilemap layout with TILEMAP_MAPPER. - Pac-Land: Added BTANB note "Jump sound effect is silent for a while after car horn sound effect". - Pool 10: Dumped and verified one PAL for clone Pool 10 (Italian, set 2) - Poosho Poosho: Not nuking the destination register on 64-bit rotate is important (cpu\drcbex86.cpp). Fixes broken collision detection in Poosho Poosho with drcbex86 (32bit) (ID 09228). - Raiden II New / Raiden DX: Correct cpu type (V33->V33A) - Revolution X: Fixed DMA register accesses (also eliminates U76 custom chip error) (midway\midxunit_m.cpp). Fixes corrupt colors in Steven Tyler cutscene of Revolution X and clone (ID 08799). - Surprise Attack: Correct shadow color - Triple Hunt: Reading x/y axis was swapped (ID 09245) - UFO Catcher 21: Added DIP description. Correct coinage DSW. - unknown Cointek game: Made it show something - Vs. Hot Smash: Fixed crash when playing sample (ID 09232) - Yie Ar Kung-Fu: Modernized interrupts and added screen raw parameters - Fixed rom names in astrcorp.cpp, es9501.cpp, igs_m027.cpp, mitchell.cpp and vulgus.cpp - Description changes of Cash'£'Vania (Qps) (Scorpion 4) (set 1-10) (ID 04830), Cash'£'Vania Club (Vx.xx), Crisis Zone (US, CSZO3 Ver. B, set 2), Crisis Zone (World, CSZO4 Ver. A), Cyber Troopers Virtual-On: Oratorio Tangram, Cyber Troopers Virtual-On: Oratorio Tangram (Revision A), Cyber Troopers Virtual-On: Oratorio Tangram (Revision B), Cyber Troopers Virtual-On: Oratorio Tangram M.S.B.S. ver 5.4, Cyber Troopers Virtual-On: Oratorio Tangram M.S.B.S. ver 5.66 2000 Edition, - 0.280: Changed description to 'Cyber Troopers Virtual-On 4: Force (Rev E)', D-Day (Jaleco, set 1), D-Day (Jaleco, set 2), D-Day (Olympia), Daytona USA 2: Battle on the Edge (Revision A), Daytona USA 2: Power Edition, Fighting Vipers 2, Fighting Vipers 2 (Revision A), Flip Shot, Frogger (Nuova Videotron bootleg), G.I. Joe (World, EAB), Geo Storm (Japan, 014 sound CPU), Geo Storm (Japan, 026 sound CPU), Get Bass: Sega Bass Fishing, Get Bass: Sega Bass Fishing Deluxe, Get Bass: Sega Bass Fishing Upright, Harley-Davidson and L.A. Riders (Revision A), Harley-Davidson and L.A. Riders (Revision B), Hearts Spades (ID 08429), Hong Mayi (bootleg of Super Star 97), Kuri Kinton (World, prototype) (ID 01067), L.A. Machineguns, Le Mans 24 (Revision B), Major Title 2 (World, set 1, 017 sound CPU), Major Title 2 (World, set 2, 016 sound CPU), Major Title 2 (World, set 3), Motocross Go! (US, MG2 Ver. A), Motocross Go! (World, MG3 Ver. A), New Lucky 8 Lines (A900 2nd gen, Cross and Bell Bonus), Ninja Princess (Japan, 315-5051, 64k Ver. bootleg?), Ninja Princess (Japan, 315-5051?, 128k Ver. bootleg?), Ninja Princess (Japan, 315-5098, 128k Ver.), Ninja Princess (Japan, 64k Ver. not encrypted), NHL Open Ice: 2 on 2 Challenge (rev 1.21) (ID 08758), NHL Open Ice: 2 on 2 Challenge (rev 1.2A), Pop'n Music (ver AA-A, HDD 1.00), Pop'n Music (ver JA-A, HDD 1.00), Pop'n Music (ver KA-A, HDD 1.01), Pop'n Music (ver TA-A, HDD 1.01), Rolling Stones (V17), Roy Clark Super Picker (ID 08430), Scud Race / Sega Super GT - Deluxe, Scud Race / Sega Super GT - Deluxe (Revision A), Scud Race / Sega Super GT - Twin/DX, Scud Race Plus / Sega Super GT Plus - Twin/DX, Scud Race Plus / Sega Super GT Plus - Twin/DX (Revision A), Sega Bass Fishing Deluxe, Sega Rally 2: Sega Rally Championship, Sega Rally 2: Sega Rally Championship (prototype, 29 Dec 1997), Sega Rally 2: Sega Rally Championship (prototype, 8 Dec 1997), Sega Rally 2: Sega Rally Championship Deluxe, Ski Champ, SOS (ID 07694), Space Battle Ship Gomorrah (Japan) (ID 07995), Spikeout (Revision C), Spikeout Final Edition, Star Wars Trilogy Arcade, Star Wars Trilogy Arcade (Revision A), The Lost World: Jurassic Park (Revision A), The Ocean Hunter, The Ocean Hunter (Revision A), Tiansheng Haoshou (V101CN), Undercover Cops Alpha: Renewal Version (US), Undercover Cops Alpha: Renewal Version (World), Virtua Fighter 3 (Revision A), Virtua Fighter 3 (Revision C), Virtua Fighter 3 (Revision D), Virtua Fighter 3 Team Battle, Virtua Striker 2 '98 (Step 1.5), Virtua Striker 2 '98 (Step 2.0) and Wang Pai Dou Dizhu - Dipswitch fixes in exerion.cpp, fcombat.cpp, goldnpkr.cpp, igs_m027.cpp, midxunit.cpp, megadriv_ybox.cpp, segaufo.cpp, spoker.cpp, thepit.cpp and vulgus.cpp - Renamed (am_mg3) to (am_mg3g), (am_mg3a) to (am_mg3ga), (animalwa) to (lucky8t), (bm2ndmxa) to (bm2ndmixa), (bm3rdeaa) to (bm3rdmixe), (bm3rdmix) to (bm3rdmixa), (crszonev3b2) to (crszonev4a), (crszonev4a) to (crszonev3b2), (rollston) to (rollstonv17) and (tshs) to (tshs101) - MAME . VIDEO RENDERING SYSTEM . Do assert() check before accessing array (util\palette.cpp) . Added screen raw params to blueprnt.cpp, gijoe.cpp, lastduel.cpp, megazone.cpp, mogura.cppm naughtyb.cpp, rungun.cpp, srumbler.cpp and yiear.cpp . New sound infrastructure . Don't apply gain if value didn't change, also use u32 instead of int for io_connection index (emu\sound.cpp). . PLUGINS . Support driver sourcefile path (plugins\data\data_mameinfo.lua and data_messinfo.lua) . hiscore.dat update (plugins\hiscore\hiscore.dat) . CHDMAN: Request write permission when opening file for verify --fix; allow SHA1 fixes for CHDs otherwise treated as not writeable (tools\chdman.cpp). . Multi-Language: Updated Japanese translations (Japanese\strings.po). Added Polish translation (Polish\strings.po). . Consolidate drivers into single files (btime.cpp, midxunit.cpp, sspeedr.cpp and ojankohs.cpp) . Correct some ioport mask vs defval conflicts (alpha68k_i.cpp, balsente.cpp, by35.cpp, ertictac.cpp, goldstar.cpp and igs017.cpp) - Compiling . Fixed SPIRV shader builder compilation error with newer standard library that doesn't implicitly include stdint in as many places (3rdparty\bgfx\3rdparty\glslang\SPIRV\SpvBuilder.h). - Debugger . Don't repeatedly get the focussed window in a loop (debugger\win\debugwininfo.cpp) . Made the code for symlist marginally less dreadful (debug\debugcmd.cpp) 0.279 - New games: 'To Heart House' - New Working games: Slime Kun and Tsururin Kun - New Non-Working games: Club Ultraman - Daichi Boeisen, Cyber Troopers Virtual-On 4 Force (Rev E), Disc 2000, Disc 2001, Disc 3000, Doppelpot, DS-6000 Driving Simulator, Elite Disc, Excellent, Huanle Dou Dizhu (V104CN), Jackpot Knight (V1.1), Jin Huangguan 6th, Jin Huangguan II (V310CN), Jin Zuanshi, Kaimen Hu (PAN Electronics), Keno 21 (Ver. A-2.30), Kniffi, Major Poker Deluxe (Ver. 1.12), Merkur Service Testgeraet, Neo Print - European Version II (World) (T4i 3.07), Premiums Line, Shizhan Majiang Wangchao (Version 2.0), Super Dragon (Ver 211), Taishan Wuxian Jiaqiang Ban (V101CN), Tieban Shensuan (Mainland version 2.0), Treasure Ocean (v1.5A), 'unknown Alba game', 'unknown Paradise poker game', 'unknown YungYu game' and Zhongji Dou Dizhu (V204CN). - New clones: 280-ZZZAP (set 2), 7 Smash (set 2), Arkanoid (bootleg of version Japan, older), Arthur's Knights (v1.00), Blackjack (Cadillac Jack, Ver. 1.22), Butterfly Video Game (version U863M), Dogyuun (bootleg), Driving Force (Galaxian conversion, Seatongrove UK), Emeraldia (Japan Version D), Gals Hustler (set 2), Hana Awase (set 2), Jiyou Gaoshou (China, Ver 1.2), Magic Bomb (Ver. A4.0A, 4/06/01), Magic Bomb (Ver. A4.1A, 5/4/01), Magic Bomb (Ver. A4.2A, 7/06/01), Magic Bomb (Ver. A4.2A, 8/09/01), Magic Bomb (Ver. AA.71.A, 30/04/04), Magic Bomb (Ver. AA.73.A, 17/10/06), Magic Bomb (Ver. AB4.3A, 11/22/01S), Magic Bomb (Ver. AB4.3A, 12/19/01S), Magic Bomb (Ver. AB4.5A, 05/24/02S), Magic Bomb (Ver. AB5.0, 09/26/02), Magic Bomb (Ver. AB5.1, 01/10/03), Magic Bomb (Ver. AB6.0J, 26/11/03), Magic Bomb (Ver. BB6.0, 02/24/04), Magic Bomb (Ver. EB4.3, 08/22/01), Magic Bomb (Ver. L3.7S), Magic Bomb (Ver. L4.0S), Magic Bomb (Ver. LB5.1 12/13/02), Mahjong Electron Base (parts 2 & 3, Japan bootleg set 2), Mahjong Electron Base (parts 2 & 3, Japan bootleg set 3), Major Poker Deluxe (Ver. 1.09), Monkey Land (Ver. A1.1), San Se Caishen (Version 0118), Western Venture (Ver. AA.01.B), Western Venture (Ver. AA.02.E) and Zuanshi II (version V153A) - Removed games: Alpine Surfer (World, AF2 Ver.A, set 2), Loto-Play (set 4), Motocross Go! (Japan, MG1 Ver. A, set 2), Motocross Go! (World, MG2 Ver. A, set 2), Panic Park (Japan, PNP1 Ver. B, set 2) and Poker (Version 50.02 ICB, set 3) - New drivers: banprestomsz80.cpp, ds6000.cpp, jinhuang6.cpp, ps_m3.cpp and servicetastatur.cpp - New devices: coldfire_dma, coldfire_mbus, coldfire_sim, coldfire_timer, cs4334, k005849, mcf5206euart, pl6_fpga, pl6_pic, pl6expslot, pl6gpu, serial_vfd, serial_votraxtnt, ua858d and votraxtnt - New Cheat.dat (Pugsy): http://www.mamecheat.co.uk/ - Bob Zed (What's new): https://youtu.be/EXg3sKss5Og - CPU . Hitachi SH-2 (SH7604): Hookup UBC BARA/BARB r/w (sh\sh7604.cpp), fixes sound in (MESS) 32x aburner. . Motorola MC68010: 'ctor' accepts type param. Support being able to subclass and pass in type param (m68000\m68010.cpp). . NEC Vxx: REP opcodes are interruptable. Fixed issue with prefetch (can't do prev_icount - m_icount to determine opcode cycles since m_icount can be cleared externally) (nec\nec.cpp). Fixes incorrectly effects in 'Ninja Baseball Bat Man' (ID 06021) and the status bar in Battle Chopper and clone appear twice (ID 00816). Fixes Major Title 2 and clones hangs at title screen if flip screen is enabled (ID 05342). - SOUND . Atari C012294 POKEY: Synchronize on SOD output transitions during serial transmission. Disable logging again (sound\pokey.cpp). . Biquad Filter: Added calculator functions for RC-based band-pass filters (sound\flt_biquad.cpp) . Ensoniq ES5503: Fixed error in emulation of oscillator over-contribution glitch (GitHub #13669) and use m_ prefixes consistently. Oscillators halted by the CPU have the same behavior as those halted internally if the low bit of the mode is set, as per the datasheet. Fixes Skate or Die for the Apple IIgs's music freezing (sound\es5503.cpp) . Sony LDP-1450 HLE: Fixed display mode selection issue and grey background (machine\ldp1450hle.cpp) - DEVICE . Floppy: Include IPF, 86F disk formats in floptool. IPF is included unconditionally by scripts/formats.lua, so the HAS_FORMATS condition was always false. 86F is also included unconditionally but simply wasn't added to formats/all.cpp when it was introduced. Added 86F to the "Container FM/MFM" category for consistency with the grouping in devices/imagedev/floppy.cpp and moved IPF to the "PC" category for the same reason (formats\all.cpp). . Fujitsu MB87030 SCSI controller: Fixed SCSI hookup in (MESS) FZ-20M (machine\mb87030.cpp) . I2C Memory: Revert change from MAME 0.278 (Don't enter start condition except from idle state) that broke dreamlss. Don't falsely register I2C bus start or stop condition while device as slave is driving SDA. Modernize logging (machine\i2cmem.cpp). Fixes bmiidx2, bmiidx3, bmiidx4, bmiidx5, bmiidx6, bmiidx7 and bmiidx8 fails to boot with "E800 NO SECURITY CARD ERROR" (ID 09212). Fixes BnB Arcade has severe slowdown, black screen in attract mode and unable to start game (ID 09220). . Konami 005849 Video Controller: Added preliminary k005849_device . Konami 007121 Video Controller: FIRQ is every other frame. Removed dirtytiles_cb (konami\k007121.cpp). . Konami 051960 Sprite Generator . Improved sprite y zoom. Fixes bad sprite zooming for the planes in Devastators level 2 (ID 00505). Added sprite buffer, fixes sprite lag in Aliens (ID 02014 and ID 06873). Added sprite busy flag and irq enable. Removed old #if 0 spriteram savedump. . Improved NMI timer and sprite busy duration. . Konami 052109 Tilemap Generator: Added screen raw params to all K052109 drivers. Added col+rowscroll, fixes possible graphical corruption during stage 2 in Thunder Cross II and clones (ID 08275). Added NMI and FIRQ timers (copy paste to/from k051960). Added callback for custom scrolling to emu\tilemap.cpp and added one to K052109 for its combined col/rowscroll. Update scroll before active display (konami\k052109.cpp). . Konami 053244/053245 Sprite Generator: Removed old #if 0 spriteram savedump. Moved sprite buffer clear to reg 7. Limit sprite size to 1024x512. Assume sprite size limit is cliprect, not zoom level (konami\k053244_k053245.cpp) . Konami 053250 LVC: Small cleanup (konami\k053250.cpp) . Konami 053251 Priority Encoder: Removed obsolete code (all dirty tilemap marking after colorbase changed is done locally in drivers). Removed unused read() function (konami\k053251.cpp). . Konami Custom: Correction to device strings (Konami 0xxx instead of K0xxx) . Sega 315-6154 Northbridge: Handle statuses and IRQ callback. Updated docs (sega\315-6154.cpp). . Z80 DMA Controller: Added UA858D DMA Controller variant to machine\z80dma.cpp. Added extra memory read wait state at 28MHz for (MESS) ZX Spectrum Next (machine\z80dma.cpp). - aristmk6.cpp: Dumped SPC2 board rom gambs2m_01.05.07.u3 (SPC stands for serial protocol converter) - astrcorp.cpp: Avoided completely patching out protection routines for a bunch of games, fixes some problems at start up and when exiting test mode. Reversed remaining CPU codes. Factory reset EEPROMs. Got rid of checksum/original ROM content related patches. Switched to mnemonic suffixes for clones. Metadata improvements and Q/A for most magibomb sets. - badlands_ms.cpp and galpanic_ms.cpp: Added missing PLDs to clones Bad Lands (Modular System) and New Quiz (Modular System bootleg of Gals Panic) - battlnts.cpp and rockrage.cpp: Use screen raw parameters as in similar Konami games. Added clocks for video ASICs. - boramz80.cpp: Implemented NVRAM, hopper and protection workaround. Moved out of skeleton to misc. GFX problems remain, games are otherwise playable (tpkborama excluded, since it's encrypted). - cave.cpp: Added hopper device. Fixes Crusher Makochan and Koro Koro Quest returns "Error 3" after completing a stage (ID 09223). - cdi.cpp . Implemented cursor blinking (philips\mcd212.cpp). Fixed double width cursor. This fixes cursor width is too wide in The Challenge (GitHub #13968). Originally this flag made the cursor 2x as wide (4 pixels). However the Validation Disc (EU) test GC_Ptn has a clarifying comment that in double-resolution mode, the cursor should be half the width of the normal cursor (philips\mcd212.cpp). . Fixed Pixel Hold Clut4. Console verification identified a descrepency in CLUT4 pixel hold behavior. This corrects a factor of 2 error in the width for CLUT4 (GitHub #13513) (philips\mcd212.cpp). . Added Undefined Matte Behavior. Fixes GitHub #13976. Greenbook says not to change the MF flag within a line. However, if you do, the behavior is undefined. Console verification shows that the real console will use these values. The non-spec behavior is explained in a comment. Additionally, this tidies up the Matte function. Fixed RGB Transparency. This fixes RGB transparency checks. Previously it was checking the high bit. This would pass when checking the false condition (mode 10) but not on the true condition (mode 2) (philips\mcd212.cpp). . Fixed Cursor Inversion Color. This corrects a slight error in the cursor inversion color. A full brightness color should keep the brightness value and only invert the RGB. See MCD212 section 7.5 (philips\mcd212.cpp). . Introduce External Video Input. This replaces the static background color with a function that will switch behavior if the EV flag is set. Currently there is no DVC chip, so this will produce black output. This fixes (GitHub #13980) (philips\mcd212.cpp). . Simplified CD-i CDIC MCU. This simplifies the reference functions while making small changes to the used functions. Fixed CDIC XA audio header offset. Fixes Github #13991 (philips\cdicdic.cpp). - circus.cpp: Set maincpu ROM_LOAD to 0x0. Fixes Robot Bowl hang/freeze at boot (ID 09225). - cps1.cpp . Removed unneeded init function. Do interrupts with IPL pins and HOLD_LINE and copy over raster interrupts from cps2. Re-add cpu space map for irqack. . Correct the cpu space back to fully take into account the impact of vpa on the timings. Added debugger side effects check. Removed old TODO notes (one about raster effects and one about supposedly missing sf2 layers). Correct the cpu space back to fully take into account the impact of vpa on the timings. . Ganbare! Marine Kun irq4 is actually the same raster interrupt as on cps2 (it writes to the raster regs too). Comment out n/a button3 in Final Fight. - cps2.cpp: Improved raster irq. Make sure to mask raster counter with 0x1ff. Correction to raster irq timing. Fixes Shuma Gorath super move raster effect is not working in Marvel Super Heroes (ID 09221). - cps3.cpp, pluto5.cpp and luckgrln.cpp: Removed if(0)ed-out routines for dumping decrypted ROMs - ddragon3.cpp: Lower overall volume. Added sprite size mask and wwfwfest sprite buffer trigger. Fixes Combatribes sprite player glitch (ID 07595) (GitHub #13986). - ghosteo.cpp: evert I2C Memory change from MAME 0.278 (Don't enter start condition except from idle state) that broke dreamlss. Don't falsely register I2C bus start or stop condition while device as slave is driving SDA. Modernize logging (machine\i2cmem.cpp). Fixes BnB Arcade has severe slowdown, black screen in attract mode and unable to start game (ID 09220). - goldstar.cpp: Fixed NVRAM regression for sets in wingco_state - hikaru.cpp: Added 2nd AICA and 315-5881 encryption and fixed ROM layout. - hummer.cpp: Hooked up decryption - igs017.cpp: Fixed tarzan and starzan addrmaps. Fixes graphical or security error causes the appearance of a character that does not exist in the original game in jking200pr and all starzan dependents (ID 09193). - konmedal.cpp . Inverted hopper sensor. Reorder dsw settings (left = less, right = more). . Promoted Slime Kun and Tsururin Kun to working - m72.cpp . Tweak bg layer 2 transmask workaround. Improved tile priorities. Fixes graphic priority issues in bchopper and clone mrheli (ID 09205). . Do spritelist fill with push_back. NEC Vxx REP opcodes are interruptable, fixes status bar in Battle Chopper and clone appear twice (ID 00816). - m90.cpp: Small cleanup (irem\m90_v.cpp) - m92.cpp . Added sprite/video disable flags and put bootlegs on different hw in subclass. Updated flipscreen before screen update (irem\m92_v.cpp). . Updated dipswitches. Fixes Gun Force II has wrong difficulty setting "very easy", should be shown as "hardest" (ID 07725). . NEC Vxx REP opcodes are interruptable. Fixes incorrectly effects in 'Ninja Baseball Bat Man' (ID 06021) and 'Major Title 2' and clones hangs at title screen if flip screen is enabled (ID 05342). - mainevt.cpp: Added missing watchdog - megadriv.cpp: Fixed Megadrive version register incoherent (no TMSS ROM) (GitHub #13941). - model1/2.cpp: Sort out register update priority (mb86233\mb86233.cpp) - model2.cpp . Implemented proper lighting and improved "gamma" table. Stadium ads in Virtua Striker have the correct colors now. Do geo_parse even if frame was skipped. Removed the (void) func params from h file too. Revert frameskip workaround. . Actually fixed Super GT 24h and Over Rev reverses gas and brake activeness by default (ID 07445) - namcos22/23.cpp: Removed duplicate romsets (or rather, only the embedded s/n differs) - namcos23.cpp: Added point ROM auto-increment to Namco System 23. Improves Downhill Bikers and Race On! visuals. - phoenix.cpp: Small cleanup - pluto6.cpp: Added support for Freescale mcf5206e peripherals for Pluto 6 emulation. Cleaned up driver. - senjyo.cpp: Star Force boardset has 4mhz and 12mhz xtals and copy paste screen raw params from bombjack (pace matches PCB video). Fixes rarely no sound on Star Force (ID 09200). - stella8085.cpp: Re-enable games that were commented in 0.278 release - taitotz.cpp: Use versions as printed on Taito's hard disk labels in descriptions - tecmo.cpp . Lower YM volume in Gemini Wing and small correction to mcfg. Fixes OKI MSM5205 is quiet compared to the PCB and OST (ID 08785). . More accurate ADPCM addressing (no audible change). - tmnt.cpp: Removed VIDEO_UPDATE_AFTER_VBLANK flag and changed joystick to 4way in Cue Brick - tmnt2.cpp . Invert vblank flag and removed m_toggle hack. This fixes corrupt graphics at bonus screens in Quiz Gakumon no Susume (ID 06651) and slow transitions (ID 06652). Removed VIDEO_UPDATE_AFTER_VBLANK flag. . Re-Added support for high priority shadows (emu\drawgfx.h + drawgfxt.ipp). Fixes graphic error with high priority shadows in tmnt2 and ssriders (ID 03644). - twin16.cpp: Lower pixel clock - twinkle.cpp: Revert I2C Memory change from MAME 0.278 (Don't enter start condition except from idle state) that broke dreamlss. Don't falsely register I2C bus start or stop condition while device as slave is driving SDA. Modernize logging (machine\i2cmem.cpp). Fixes bmiidx2, bmiidx3, bmiidx4, bmiidx5, bmiidx6, bmiidx7 and bmiidx8 fails to boot with "E800 NO SECURITY CARD ERROR" (ID 09212). - vendetta.cpp: Set VIDEO_UPDATE_AFTER_VBLANK flag. Probably just sprite DMA. - Asterix: Added screen raw params. Small tweak to layer offsets. Lower soundcpu clock and added brief pcb info. - Arcadia (NMK): Removed duplicated PROM entries from ROM definition - Beyond Kung-Fu: Protection/MCU notes and research. Make most of the ingame HUD elements work: Proper dirty marking. Make the floor counter display work. Handle the credit number / continue counter. Allow high score table to be drawn. Allow high score name entry. Added notes. Make the tilemap wide enough for the background, put some dummy (column position values) in the tilemap when the command is issued. Put the draw on a timer. - Bottom of the Ninth: Fixed sprite priority regression, fixes graphics priority issue at upper part of screen (ID 09191). Small cleanup. - Chequered Flag: Assume vtotal is 264. Tweak analog controls. - Cherry Master '97: Improved GFX. Started reorganizing some. - Cherry Master '99: Dumped one PAL - Crime Fighters: Set VIDEO_UPDATE_AFTER_VBLANK flag. Writes tilemap registers during active display area, which won't have effect until the next frame. - Escape Kids: Removed black screen edges by default - Go & Stop: Reversed 'CPU code', goes in game. - Hana Awase: Added NO_DUMP entry for MCU very likely used for I/O on this set (but not the clone) - Inferno (Meadows): Fixed samples_device reset. Fixes Inferno (Meadows) crash emulation (ID 09226). - Iron Horse: Lower maincpu clock and improved screen raw params - Jin Huangguan 3-dai: Started reorganizing - Kyuukoukabakugekitai - Dive Bomber Squad: Lower quantum - Loto-Play: Added info and clock frequency for PIC-based Loto Play - Magic Bomb: Dumped GFX ROM for clone Magic Bomb (Ver. AB5.3, 20/06/03). Q/A for most magibomb sets. Improved magibomb related documentation and correct GFX ROMs for some sets. - Mole Attack: Simplify gfxlayout - Pleiads: Fixed/Swap color proms for Pleiads (Tehkan) amd clones (Centuri), (Niemer S.A.) and (bootleg set 1). Added a note about protection chips. Removed TODO note about palette banking, it is already correct when compared to PCB video. - Rampart: Removed n/c buttons - Revolution X: Redumped PIC - Rollergames: Added screen raw params - Shuang Long Qiang Zhu 2 VS: Demoted clone (China, VS203J, set 2) to not working - S.P.Y. - Special Project Y: Small cleanup - Super Basketball: Fixed default 'Starting Score' dip based on manual - Super Speed Race: Fixed sound regression and added screen raw params - Surprise Attack . Added callback for custom scrolling to emu\tilemap.cpp and added one to K052109 for its combined col/rowscroll (konami\k052109.cpp). This improved star field background scrolling and rotation in Surprise Attack (ID 06790). . Re-Added support for high priority shadows (emu\drawgfx.h + drawgfxt.ipp). Fixes graphic error with high priority shadows in suratk (ID 03644). - Swinging Singles: Added xtal and tweak palette a bit. Fixes music is too high pitched and choppy in Swinging Singles (ID 09201). Swap car green/yellow. Added 'Lives' and 'Cabinet' dsw and small cleanup. Swap palette bits0/1 back again. - Tekken 3: Used recently dumped sound ROM from clone Tekken 3 (Japan, TET1/VER.D) for clones Tekken 3 (World, TET2/VER.B), (World, TET2/VER.C), (World, TET2/VER.D) and (US, TET3/VER.D). - Toaplan: Removed hidden keybinding to test switch. Show Toaplan test switch as input instead of dip switch and removed default keybind (toaplan\toaplipt.h; batsugun.cpp, dogyuun.cpp, dt7.cpp, enmadaio.cpp, fixeight.cpp, ghox.cpp, kbash.cpp, pipibibi.cpp, raizing.cpp, snowbro2.cpp, sunwise.cpp, tekipaki.cpp, toaplan1.cpp, truxton2.cpp, twincobr.cpp, vfive.cpp and wardner.cpp). - Vapor TRX: Removed PORT_CODE for buttons - Xexex: Hook up CCU - Xin Jin Huangguan: Filled in memory map - Zombie Revenge: Redumped redumped program ROM for clone Zombie Revenge (Export) - Fixed rom names in namcos12.cpp - Description changes of 280-ZZZAP (set 1), 7 Smash (set 1), Alpine Surfer (World, AF2 Ver.A), Armed Police Unit Gallop (Japan, M72 hardware), Armed Police Unit Gallop (Japan, M84 hardware), Battle Gear (VER.2.40A), Battle Gear 2 (VER.2.04J), Battle Gear 2 (VER.2.01J, Side by Side conversion), Black Jack (Olympic Games, v5.04, upgrade kit for Wild Card), Blackjack (Cadillac Jack, Ver. 1.31), Club Ultraman - Daichi Boeisen, Densha de GO 3! Tsukin-hen (VER.2.03J), Final Furlong 2 (Japan, FFS1 Ver. A), Final Furlong 2 (World, FFS2 Ver. A), Gals Hustler (set 1), Gunforce: Battle Fire Engulfed Terror Island (Japan), Gunforce: Battle Fire Engulfed Terror Island (US), Gunforce: Battle Fire Engulfed Terror Island (World), Hana Awase (set 1), Hyper Dyne Side Arms (Japan, 861128), Hyper Dyne Side Arms (US, 861128), Hyper Dyne Side Arms (US, 861202), Hyper Dyne Side Arms (World, 861129), Jack's Venture - Inca Treasure (US.02.01.A, 2010/01/21), Jin Zuanshi, Kaimen Hu (BMC), Landing High Japan (VER.2.01OK), Landing High Japan (VER.2.02O), Mahjong Electron Base (parts 2 & 3, Japan bootleg set 1), Motocross Go! (Japan, MG1 Ver. A), Motocross Go! (World, MG2 Ver. A), Panic Park (Japan, PNP1 Ver. B), Penguin Party (TM.01.01.B, 2012/01/16), Poker (Version 50.02 ICB, set 3), Power Shovel ni Norou!! - Power Shovel Simulator (VER.2.07J), Raizin Ping Pong (VER.2.01O), Raizin Ping Pong (VER.2.01J), S.P.Y.: Special Project Y. (US ver. M), S.P.Y.: Special Project Y. (World ver. N), Stunt Typhoon Plus (VER.2.04J), Teenage Mutant Hero Turtles: Turtles in Time (2 Players ver EBA), Teenage Mutant Hero Turtles: Turtles in Time (4 Players ver EAA), Teenage Mutant Ninja Turtles: Turtles in Time (2 Players ver UDA), Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver ADA), Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver OAA), Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver UAA) and Teenage Mutant Ninja Turtles: Turtles in Time (4 Players ver UEA) - Dipswitch fixes in bottom9.cpp, konmedal.cpp, m92.cpp, mole.cpp, skylncr.cpp, ssingles.cpp, tecmo.cpp and tmnt.cpp - Renamed (emeraldaj) to (emeraldajb), (emeraldaja) to (emeraldaj), (gepoker2a) to (gepoker2), (hapfarma) to (hapfarm_in0102b), (magibomba) to (magibomb_br44), (magibombb) to (magibomb_ab45a), (magibombc) to (magibomb_ab42), (magibombd) to (magibomb_aa72d), (magibombe) to (magibomb_a31), (magibombf) to (magibomb_nb45), (magibombg) to (magibomb_nb61), (magibombh) to (magibomb_a40a), (magibombi) to (magibomb_a36a), (magibombj) to (magibomb_aa72c), (magibombk) to (magibomb_a30), (magibombl) to (magibomb_ab43a), (magibombm) to (magibomb_ab53), (magibombn) to (magibomb_eb40), (magibombo) to (magibomb_br71a), (monkeyla) to (monkeyl_aa13b), (monkeylb) to (monkeyl_aa21b), (monkeylc) to (monkeyl_aa21c), (monkeyld) to (monkeyl_a12), (monkeyle) to (monkeyl_en20b), (showhanc) to (showhandc), (skilldrpa) to (skilldrp_g10s), (speedmsta) to (speedmst_d14), (speedmstb) to (speedmst_d201ca) and (winbingoa) to (winbingo_gm051) - MAME . VIDEO RENDERING SYSTEM . Removed unused (and not working) TILE_LINE_DISABLED flag, just use cliprect for something like that. Added col+rowscroll. Added callback for custom scrolling (emu\tilemap.cpp). . Small optimization to scroll cache (emu\tilemap.cpp) . Re-Added support for high priority shadows (emu\drawgfx.h + drawgfxt.ipp) . UI: Added shift/ctrl/alt modifier keys to some controls (ui\viewgfx.cpp) . INPUT: Added coinage settings 10C_1C, 1C_10/20/25/50/100C (emu\ioport.cpp) . New sound infrastructure . Added full/channel route via menu instead of f/c keys (ui\audiomix.cpp). Moved notch filter check to ui (audio_effects\filter.cpp and ui\audio_effect_filter.cpp). . Put devtag in add ful/channel menu entry. Added not initialzed message when entering menu too early (eg. pressing tab on the red warning screen) (ui\audiomix.cpp) . Clamp final output to -32768, 32767 (emu\resampler.cpp). Fixed problem when default devices are missing (emu\sound.cpp), fixes Portaudio error when WASAPI is enabled with no audio input devices in the OS (ID 09192). . Don't repeat default settings at several places and removed unneeded float<->double conversions (emu\sound.cpp). Round default q down instead of up (probably has no audible effect) (audio_effects\eq.h). . Fixed initial -volume setting (emu\sound.cpp). Use emplace instead of emplace_back when reconfiguring mapping (emu\sound.cpp), fixes cursor highlight issue in Audio Mixer menu (ID 09204). . Finer control over HQ resampler settings (keeping max settings same as before) (emu\resampler.cpp and ui\audioeffects.cpp). Safety check for filter len (emu\resampler.cpp). . Correction to input gain calc. Increase max input db so input gain won't distort the signal. Re-added infinite release option and also infinite ratio. Added a header to advanced settings (audio_effects\compressor.cpp). . Misc sound fixes (emu\sound.cpp) . Sound modules . PortAudio: Re-add printf list of found devices with -verbose and added a check for duplicate device names (ID 09195). Can use unordered_map instead of map (sound\pa_sound.cpp) . SDL: Fall back to 2 channels if 0 channels are detected on a device (sound\sdl_sound.cpp) . Correct various games SN76489/SN76489A/SN76496 type based on PCB photos and/or schematics (appoooh.cpp, bankp.cpp, circusc.cpp, exedexes.cpp, hyperspt.cpp, ikki.cpp, mrjong.cpp, pingpong.cpp, senjyo.cpp, suprloco.cpp, tp84.cpp and trackfld.cpp) . Added PLDs to several Modular System games (Blood Bros. (Modular System), Euro League (Gaelco bootleg, Modular System), Power Spikes (Modular System), Splash (Modular System, ver. 1.0, checksum 16EDD8FB, non North America, censored), Splash (Modular System, ver. 1.0, checksum A6C431A4, non North America, uncensored) and Toki (Modular System)). - SDLMAME: Testing for glibc does not guarantee pty.h is available. It's possible to build glibc for targets where its PTY wrapper functions are not implemented (osd\modules\file\posixptty.cpp). - Compiling . Added SN76496 to scripts\target\mame\tiny.lua . MinGW/MSYS2 mktime() cannot handle dates before the Unix epoch, so use a precalculated offset between the Unix and MacOS epochs . Prevent excessive link times with the default optimization level for emscripten build (scripts\genie.lua) . Removed Wayland-EGL-backend requirement at compile-time. Since MAME 0.274 Wayland is dynamically loaded at run-time (scripts\src\3rdparty.lua). . Fixed LZMA PPMD support (src\3rdparty.lua) - Debugger . Requiring every debugger window class to care about the console window's views is bad design. That's a clear case of unnecessary coupling (debugger\win\*). . Used DCA_SELECTED color friendly for Light/Dark theme (qt\debuggerview.cpp) . Do not drop into debugger when no MAME window has focus. On Windows, the debugger has a special Windows-specific feature that drops the user into the debugger if the key sequence is pressed. This seems to be present so that the key sequence triggers dropping into the debugger not just from the main window, but also from debugger windows. This has also created an oddity where pressing the debugger key sequence from a MAME window will cause a "User-initiated break" but pressing it from a debugger window will cause "Internal breakpoint" to be displayed. However, while this logic has a check to not apply when to a MAME window, it seems to also activate even if MAME itself is not in focus. This change ensures that a stray debugger sequence in a completely unrelated application won't cause the user to be dropped in the debugger (debugger\debugwin.cpp and win\debugwininfo.cpp). . Have print command insert spaces between numbers (debug\debugcmd.cpp) . Fixed symlist default CPU: When executed with no parameters, symlist was displaying the symbol tables for the first CPU and the debugger built-in globals. Defaulting to the first CPU like that didn't make sense. It now displays the symbol tables for the VISIBLE cpu and the debugger built-in globals (debug\debugcmd.cpp).


Mameinfo.dat

0.282: Updated to MAME 0.282 (http://git.redump.net/mame/log/). Added Source/Listinfo changes. Newest Bugs (31st Oct). Added/Reorganized 'Recommended Games'. Fixed Mameinfo.dat infos.
0.281: Updated to MAME 0.281 (http://git.redump.net/mame/log/). Added Source/Listinfo changes. Newest Bugs (25th Sep). Updated to FinalBurn Neo v1.0.0.03 (15th Sep). Added/Reorganized 'Recommended Games'. Fixed Mameinfo.dat infos.
0.280: Updated to MAME 0.280 (http://git.redump.net/mame/log/). Added Source/Listinfo changes. Newest Bugs (30th Aug). Added/Reorganized 'Recommended Games'. Fixed Mameinfo.dat infos.
0.279: Updated to MAME 0.279 (http://git.redump.net/mame/log/). Added Source/Listinfo changes. Newest Bugs (1st Aug). Updated to FinalBurn Neo v1.0.0.03 (nightly 6th Jul) and Flycast v2.5. Added/Reorganized 'Recommended Games'. Fixed Mameinfo.dat infos.




Download

MAMEINFO.DAT 0.282  (3.72 MB)

MAMEINFO.DAT 0.281  (3.71 MB)

MAMEINFO.DAT 0.280  (3.69 MB)

MAMEINFO.DAT 0.279  (3.69 MB)





   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME/MESS GIT
   MAME Download
   Ashura-X's Nightly MAME builds
   MAME Frequently Asked Questions




Battle Zone II (https://fb.watch/4im4qGJzNL/)