Homepage - mameworld.info/mameinfo
E-Mail - [email protected]
Visit ARCADE AT THE MOVIES
0.272GIT - New games: Chusenoh, Tangram Q and Wantouchable - New Working games: American Soccer, Indoor Soccer (set 2), Indoor Soccer (Tecfri license PCB), Jurassic Park (bootleg of Mega Drive version) and Wai Wai Jockey - New Non-Working games: Arthur's Knights, Cellage, Chibi Maruko-chan - Wanage de Asobo!!, Crayon Shin-chan - Arashi o Yobu! Sushitori Daigassen, Diamond Heart New (v20.0), Dojokko Tsukami (Japan, ver 1.02), Dragon Ball Z - Bucchigiri no Chou Kessen, Dragon Mahjong (Ver 1.20), Dynasty (1992, V5.1G), Fruit Cat (v2.00), Ginga Yakyu, 'Gu, Choki, Pa', Haunted Hunter (Japan, ver 1.00), Hi Lice (V102FA), Honey-Bee (v3.0), Itazura Cockroach (Japan, ver 1.02), Joker Bonus, Lucky 75, Lucky Star, Major Poker 2 (set 1), Mite Shinzeyou, Multi GAME XL, PK Rainbow (v 1.5), PK Turbo Great 2, Pump it Up Extra (Mar 21 2001), Pump it Up The O.B.G: The 3rd Dance Floor (v3.04 - Jun 02 2000), Pump it Up The O.B.G: The Season Evolution Dance Floor (R4/v3.25 - Aug 27 2000), Pump it Up The Premiere 2: The International 2nd Dance Floor (Premiere 2/2002), Pump it Up The Premiere 3: The International 3rd Dance Floor (Premiere 3/2003 - 28th Mar 2003), Pump it Up The Premiere: The International Dance Floor (R6/v4.01 - Feb 22 2001), Pump it Up The PREX 2 (Premiere 2/2003), Pump it Up The PREX 3: The International 4th Dance Floor (X3.2MK3), Pump it Up The PREX: The International Dance Floor (REV2 / 101), Pump it Up The Rebirth: The 8th Dance Floor (Rebirth/2002), Pump it Up: The 2nd Dance Floor (Feb 28 2000), Pump it Up: The Collection (R5/v3.43 - Nov 14 2000), Pump it Up: The Perfect Collection (R5/v3.52 - Dec 18 2000), Rodeo King (Japan, ver 1.00), Ruleta Magica, Satoyama Grand Prix, Toy Shop, 'unknown Banpresto medal game', 'unknown Boram poker game', Wanikko Punch (Japan, ver 1.20), Youkai VS Uchuujin, Yujo Gattai Shishigami-o and Zoids - New clones: Astro Blaster (French), Big 10 (1986, System Make), Black Beard (US.00, 2005/03/14), Bumba (bootleg of Head On), Cabal (Modular System), Captain X, Carnival (ManilaMatic bootleg), Crisis Zone (World, CSZO2 Ver. B), Double Dragon (Modular System), Falcons Wild - World Wide Poker (Falcon original), Golden Poker Double Up (bootleg, set 5), Gryzor (Modular System), Jack Potten's Poker (set 14, ICP-1 PCB), Jack Potten's Poker (set 15, ICP-1 PCB), Janyou Part II (ver 7.03, July 1 1983, no title screen), Jumanji (V113), Jump Bug (bootleg, set 3), Jungle King (V200PR), Lode Runner III - Majin no Fukkatsu (Japan, rev. C), Mad Motor (prototype, set 2), Magical Kengo 2005 (Ver. USA 1.10), Major Poker 2 (set 2), Major Poker 2 (set 3), Makaimura (Japan Revision B, alt GFX), New Double Bet Mahjong (bootleg of Royal Mahjong, set 2), Ninja Emaki (Tecfri license), Pump it Up Extra (Mar 08 2001), Pump it Up EXTRA + Plus (Premiere 2/2003), Pump it Up The O.B.G: The 3rd Dance Floor (v3.03 - May 07 2000), Pump it Up The Premiere 3: The International 3rd Dance Floor (Premiere 3/2003 - 17th Mar 2003), Pump it Up The Premiere: The International Dance Floor (R6/v4.01 - Feb 22 2001 USA), Pump it Up The PREX 3: The International 4th Dance Floor (INT X3.1MK3), Pump it Up The PREX 3: The International 4th Dance Floor (Korea X3.1MK3), Pump it Up: The 2nd Dance Floor (Dec 27 1999), Real Mahjong Haihai (Japan, bootleg), Ron Jan (set 2), Ron Jan Super (set 2), Ron Jan Super (set 3), Shadow Warriors (Modular System), Super Crowns Golf (Japan, set 2), Tarzan (V103M), Tarzan (V202FA), Thunder Heroes (set 2), Ukiyo Box (Japan, v1.3.7), Wonder Boy - Monster Land (English bootleg set 4), World Rally (US, version 1.0, checksum 75A5) and Yamato (set 1) - New PinMAME games: Batman Forever (Dutch, 3.02) - New drivers: banpresto_tomy_h8s.cpp, cabal_ms.cpp, ddragon_ms.cpp, extrema_m27sv.cpp, flashvga2.cpp, gryzor_ms.cpp, guchokipa.cpp, lgtz80.cpp, miteshin.cpp, palsystems_sh2.cpp, shadoww_ms.cpp and vgame.cpp - New devices: efo_sound3, et4kw32i, et4kw32i_vga, fuukitmap, h8s2320, h8s2321, h8s2322, h8s2323, h8s2324, h8s2326, h8s2327, h8s2328, h8s2329, namcoc71, sh_adc_hs, sh_adc_ms, sh_bsc, sh_cmt, sh_dmac, sh_dmac_channel, sh_intc, sh_mtu, sh_mtu_channel, sh_port16, sh_port32, sh_sci, sh7042, sh7042a, sh7043 and sh7043a - CPU . Ensoniq ES5510: Removed hack that never could possibly have worked, comparing a uint8_t to a 24-bit constant. . Hitachi HD63705Z0: Put hd63705 functions in hd63705z0_device class instead of base class (m6805\m6805.cpp) . Intel I386: Make the SSE opcodes generate the #NM exception used to save/restore the FPU state (i386\i386.h and i386\pentops.hxx) . MIPS-III: Fixes for IDT-specific instructions (aleck64.cpp, atlantis.cpp, caprcyc.cpp, hng64.cpp, iteagle.cpp, kinst.cpp, kpython.cpp, kpython2.cpp, magictg.cpp, namcops2.cpp, namcos23.cpp, seattle.cpp, vegas.cpp and vp101.cpp) . Motorola MC6809: Mask PCR-mode addresses in disassembly (m6809\6x09dasm.cpp). Added interrupt vector read callback. Removed fake SWI interrupt line, replacing interrupt callback with exception hook for debugging. Eliminated PC "massaging" for SYNC and similar instructions. . Motorola MC68000: Changed name of invoked executable to bin/python3 (m68000\m68000gen.py) . Motorola MC68010/20/30: Stub out the Coprocesor Interface Registers found on '010-'030 so that Mac ROMs can detect if an FPU is present . NEC V25: Fixed BRG logging message (nec\v25sfr.cpp) . NEC V60: Simplify operation of DIVX, DIVUX, MOVD, RVBIT and RVBYTE (v60\op12.hxx). . NSC8105: Small tweak to opcode cycles (m6800\m6800.cpp) . Philips MX10EXA: Implemented unsigned 16*16 multiply and branch if positive. Fixed flags for unsigned 32/16 divide (cpu\xa\xa_ops.cpp). Confirmed Icescape XA as the same as Fearless Pinocchio. Added some XA opcode groups that get executed with this now (xa\xa_ops.cpp). . Texas Instruments TMS320C31/2: Added standard IRQ callback (tms32031\tms32031.cpp) . Toshiba TMP95C063: Correct typo from MAME 0.270 commit (tlcs900\tmp95c063.cpp) - SOUND . AY-3-8910A PSG: Pass outputs high-impedance state with mem_mask . CD/DA: Updates and additions. More flexible API: You can set the start and length separately without forcing unpause/play start/etc. Data tracks are force muted, headphone users are safe. Added forward and reverse fast scan capability (sound\cdda.cpp). . EFO Sound-3 board: Added emulation of Sound-3 speech synthesizer board to nightmare, cerberup and spain82. Improved propagation of data from latch to speech synthesizer (shared\efo_sound3.cpp). . SoundBlaster 16: Fixed incorrect OPL3 range and added quick mixer placeholder so that it returns irq/dma settings (isa\sb16.cpp) . TMS5220: Fixed status read when RSQ is held low. Clean up logging slightly. Further logging refinements. - DEVICE . ATAPI CD/DVD-ROM and SCSI CD/HD: Return dummy data for CD-TEXT format TOC read. Fixed bug in track transition. Fixed ATAPI Mode Sense and Mode Select for MSCDEX Mode 2 Form 1 support. T10MMC mode select length does not include the length itself (machine\t10mmc.cpp). . CD-ROM: Handle track type and serial copy management flags in TOC file input. Fixed issues with CUE, TOC and GDI parsers. Rewrote GDI parser to be more robust and identify more kinds of invalid input. Don't ignore the last line in CUE and TOC files if there is no terminating newline. Use osd_printf_ family functions for output. Changed fprintf(stderr, ...) calls to osd_printf_error (util\cdrom.cpp). . Floppy . Set ST0_SE when seeking not ready drive (verified on real hardware) (machine\upd765.cpp) . Guard against divide by zero errors when the bytes per sector field in the parameter block is not properly set (as on some early PC-DOS disks) (formats\fs_fat.cpp) . Intel XScale PXA255 Peripherals: Added basic screen visible area configuration (machine\pxa255.cpp) . Kaneko KC002/VU002 Sprites and Kaneko VIEW2 Tilemaps: Use generic graphics decoding layouts. Also removed unnecessary object finders and use bool rather than int for Boolean variables (kaneko\kaneko_spr.cpp and kaneko_tmap.cpp). . MIDI: Added MIDI connection selection to MIDI ports (ui\midiinout.cpp) . Namco 186/187 or C355 (Sprites): Use generic graphics decoding layouts (shared\namco_c355spr.cpp) . Namco C123 (4x + 2x Tilemaps) and Namco C169 (ROZ): Use generic graphics decoding layouts, use references rather than pointers in delegate parameters (namco\namco_c123tmap.cpp and namco_c169roz.cpp). . Tseng Labs ET4000AX VGA i/f: Implemented extended start address register. Added ET4KW32I_VGA and hookup overflow high register. Added offset bit 8. Stub ACL/MMU infrastracture. Preliminary HW cursor. MMU placeholders and direct writes (video\pc_vga_tseng.cpp). - bnstars.cpp and ms32.cpp: Use generic graphics decoding layouts and cleaned up code. Reduced literal tags and runtime tag lookups. Fixed mahonng switch matrix reading code. Reduced code duplication and cleaned up spacing. - cclimber.cpp . Correct xtal value for Top Roller and Yamato. Fixes wrong sound speed in Yamato (ID 07740). Simplify Yamato sound comms. . Added coin b dipswitch for Yamato and Top Roller. Improved background gradient for Yamato. . Reorganized some comments (moved TODO to top of driver, removed old embedded changelogs). Moved cclimber_m.cpp contents into main driver and added section headers. Merged driver. Shorthand variable types. . Added NMI clear to Swimmer. No need for m_sidepen variable. - changyu.cpp: Hooked up hopper for '999' - cidelsa.cpp: CDP1852 fixes and enhancements. Fixed clock write handler. Added write handler for automatically clocking 8-bit data into input-mode latch. Added line read handler for SR output (machine\cdp1852.cpp). - coolpool.cpp: Added VRAM mirror and merged driver files. Fixes Ameri Darts and clones crashing after game completion (ID 05695). - cps1bl_pic.cpp: Avoid trampoline for okibank, handle MCU port b reads a bit differently. - docastle.cpp . Removed main-sub comms hack and hook up SN76489A ready pin. Do main-sub comms a bit differently (defer_access on subcpu was eating cycles) and re-add logging. Merged driver files. Updated some dipswitches. Fixes 'Bonus Credit for Diamond' dipswitch (ID 07071). Shorthand variable types. . Make idsoccer a subclass. Improved ADPCM emulation in Indoor Soccer. Do adpcm_w edge triggered instead. Fixes clones Indoor Soccer (set 2) and American Soccer both hang with a black screen (ID 05419). Promoted clones Indoor Soccer (set 2), Indoor Soccer (Tecfri) and American Soccer (Japan) to working. - dynax.cpp . Correct Mahjong Tenkaigen DIP switches according to the manual and Mahjong Ougon no Hai DIP switch settings . Improved I/O for Mahjong Tenkaigen and Mahjong Ougon no Hai. Hooked up hopper for Mahjong Tenkaigen and Ougon no Hai. Identified three more DIP switches for Ougon no Hai. Use bookkeeping input type for Analyzer key. Use describe context helper for logging rather than extracting PC. - dynduke.cpp: Correct OKI rom mapping. Fixes missing sound samples in Dynamite Duke (ID 06435). Use DIPUNUSED for unused dsw. Small cleanup. Take xtals from PCB photo. - fuukifg2.cpp and fuukifg3.cpp: Extracted common tilemap handling (fuuki\fuukitmap.cpp). Use generic graphics decoding layout and improved naming (it just emulates sprite hardware) (fuuki\fuukispr.cpp). - galivan.cpp: Split into subclasses - homerun.cpp: Fixed coin inserted at boot and regression with upd7756 sound. Fixes 'Dynamic Shoot Kyousou' immediately coins up on boot at default coinage DIP switch settings (ID 08897) - jaguar.cpp: Added [[maybe_unused]] to the speedup functions - m72.cpp: Split driver state for reduce optional finders. Fixed typename values for boolean flags. Reduced literal tag usages. Fixed naming and spacings. Added notes. - megadriv_acbl.cpp: Hook up PIC dump for Aladdin (bootleg of Mega Drive version) and Jurassic Park (bootleg of Mega Drive version). Promoted Jurassic Park (bootleg of Mega Drive version) to working. - midvunit.cpp, seattle.cpp and vegas.cpp: Dumped PICs for blitz, blitz2k, calspeed, crusnwld and roadburn. - namco: Various Namco 2D driver cleanups and updates: Made some local variables const, use BIT helper for extracting bits, reduce literal tag use. Suppress side effects for debugger reads. Use explicitly sized integers for member variables that are saved. Updated notes. Reduced preprocessor macro usage. - namcofl.cpp: Reduced main CPU program ROM region size to match address map - namconb1.cpp: Moved NB2 and Point Blank/Gun Bullet to derived state classes - namcos1.cpp: Moved quester to a derived state class - namcos2.cpp: Simplified graphics decoding layout (namco\namcos2.cpp). Use generic graphics decoding layouts (namco\namcos2_roz.cpp). Implemented device_gfx_interface to decode graphics (namco\namcos2_sprite.cpp). - namcos12.cpp and namcos23.cpp: Fixed dip switch hookup, added unpopulated buttons and updated IO port documentation on the Namco TSSIO JVS I/O board, based on hardware analysis by Guru (jvs\namcoio.cpp). - namcos22.cpp: Moved C71 internal ROM and device defines into namco\namco_dsp.cpp. Cleanups: Make some variables constant. Fixed typename value for some bools. Use BIT helper for bitfields. Reduced literal tag usages. Suppress side effects for debugger reads. Simplify gfx decode layouts. Fixed some notes. No need for parentheses when bitshift has higher precendece. - namcos23.cpp . Copy over simpler gfxlayout from NamcoS22. Correct subcpu irq1 I/O pin. . Correct pointrom loading for clone Final Furlong 2 (Japan, FFS1 Ver.A) (after byteswap, old files are identical to parent set) . Improved texturing in Super System 23 games. Added missing address-map setter. . Boot fix for Angler King - play_2.cpp and play_3.cpp: Added emulation of Sound-3 speech synthesizer board to cerberup and spain82 (shared\efo_sound3.cpp) - quickpick5.cpp . Removed trampolines to internal scc r/w handlers. Use memory_view. Guard against ttlrom array overflow. Split classes and fixed sprite priority. Lower sound frequency, matches video recording. Correct NVRAM range. . Added waijockey coinage/payout dipswitches. Correct waijockey tilemap Y alignment (green strip at upper fence matches with arcade cab video recording). Promoted Wai Wai Jockey to working. - quizpun2.cpp: Better way for stalling maincpu for MCU comms. Fixes Quiz Punch II hangs on a black screen (ID 08943). - seattle.cpp: Zerofill class variables and use memory_share_creator for NVRAM - seicross.cpp . Deobfuscate draw_sprites. Added MCU waitstates and cocktail mode (flip screen). . Mark color proms as bad dump in clone Radical Radial (Japan) - snk.cpp . Added more side effect checks . Fixed frequency register bit alignment as well as waveform sample bit alignment based on the schematics and observations of running games (sound\snkwave.cpp). Fixes wrong laser/other sounds in Vanguard II and some wrong sounds in Marvin's Maze. - stfight.cpp: Correct a comparison of an uint16_t with -1 - system1.cpp . VRAM wait timing was still assuming 20mhz z80 clock from before 0.259 (fixes Pitfall II titlescreen (ID 08954), and allows tokisens overclock hack to be removed). . Increase quantum for games with MCU, hook up SN76489 ready pin. Fixes digitized speech is pitched too high in Choplifter and clones (ID 05737) and game graphics pause on any digitized speech (ID 07869). . No need for m_mute_xor variable. Added 2nd coincounter for Noboranka. Added Shooting Master gun adjustment port and fixed rapid fire gun. . Correct 2nd coincounter and clean up single line comments. Make shtngmst and dakkochn subclasses. No need for m_videomode_prev variable. . Correct mcu t0 pin. Fixes misaligned graphics on levels 3 & 4 in Choplifter (ID 05782). - tehkanwc.cpp: Correct refresh rate. Dummy .share is needed, 2 CPUs have access to same RAM. Use raw parameters for screen (verified from unofficial schematics). - travrusa.cpp . Revert Traverse USA BIOS option for color proms with exact same rom contents (ID 08842). Small cleanup. . Assume Shot Rider's Z80 is 6MHz. Fixes race countdown timing is too slow (ID 08970). TODO: Verify maincpu XTAL, 3.072MHz seems too slow. See race countdown at start and overall a lot of frame overflows. . Make sure to refresh flipscreen when changing the dsw - xtom3d.cpp: Added CAT702 roms to 'Pump it Up' games, CD images will be added soon. Test mode seems to lock up in the 2002 & 2003 games, if you build with Clang 18.1.18 on windows. GCC 14.2.0 on Windows & Clang 16 on MacOS/M1 works. - '88 Games: Use memory views rather than trampolines (simplifies memory banking). Also improved names of some member functions and changed single-line comments to C++ line comments. - Acrobatic Dog-Fight: Determine screen refresh rate from PCB video. Small cleanup. Added dipswitch locations, no need for logmacro for warning messages. - Battle Rangers: Combined input ports - Bomber Man World (Japan) and Undercover Cops: Changed encrypted opcode 0x37 to map to 0x98 (cvtbw) in dynablaster table (bbmanwj, uccops). Title screen sine wave effect loads a byte from a lookup table and scales it. Byte value needs to be sign extended using 'cvtbw', previous encryption table was mapping 0x37 to 'xch aw, cw'. - Bottom of the Ninth: Use memory views rather than trampoline functions - Cashline: Fixed year and added notes about the reels - Cherry Master '99: Verified PROMs. Dumped 3 of 4 PLDs. - Cluedo: Added layout. Widen accusation lamps to make text more readable on 1920x1080 screens protect against gap between upper and lower suspect lamps. Illuminate text instead of the background for the accusation section of the panel. - Crime Fighters: Use memory view rather than address map bank device. Register member variables for saved states. Improved some member names and turned single-line comments into C++ line comments. - Finalizer: Correct green color PROM decode. Fixes white colour appear purple (ID 03108). - Gals Panic 3: Added RLE blitter dstaddress (fixes gals gfx issues on 100% clear) (kaneko\kaneko_grap2.cpp) - Heavy Unit: Confirmed tiles ROM dump for clone Heavy Unit (Japan, alternate ROM format). Note: For the B73 23 ROM: Two 27C2001 EPROMs were piggybacked and soldered together with a flying wire tied from the socket pin 31 (A18) to the bottom EPROM pin 24 (/OE) and a 7404 inverter input. The bottom EPROM chip was selected when A18=0 and the top EPROM chip was selected when A18=1. However, it's been verified the actual data matches the other sets. - The House of the Dead: Redumped texture ROM for clone The House of the Dead (prototype) - Icescape: Dumped IGS027A internal ROM and GG ROMs. Removed obsolete XOR table. Confirmed Icescape XA as the same as Fearless Pinocchio. - Mad Motor: Dumped PROM (probably related to sprites hardware) - Master Crane: Fixed ROM sizes, year, comments, etc. - Ms. Pac-Man: Added side_effects check to dynamic bankswitch - Mustache Boy: Refresh flipscreen like travrusa/dogfgt. Small cleanups. - Night Mare . Added missing sound ROM from another Night Mare dump. Added emulation of Sound-3 speech synthesizer board (shared\efo_sound3.cpp). Added coin counters. Cocktail mode appears to be working. Set joysticks to 4-way. . CDP1852 fixes and enhancements. Fixed clock write handler. Added write handler for automatically clocking 8-bit data into input-mode latch. Added line read handler for SR output (machine\cdp1852.cpp). - Pengo: Dumped PROMs for clone Pengo (Marti Colls bootleg on Pac-Man hardware, set 1). Still missing one PROM, that was bad on the dumped PCB. - The Punisher: Hook up newly dumped PIC16C57 for clones The Punisher (bootleg with PIC16C57, set 1) and The Punisher (bootleg with PIC16C57, set 2), giving them working sound. - Puzzlet: Verified some clocks - Thunder Zone: Reduced quantum (still opcode-granularity) - VS Gong Fight: Correct stupid strcmp. Fixes clone Ring Fighter does not boot (ID 08963). - Warlords: Redumped sync PROM - Fixed rom names in cps1bl_pic.cpp, nightmare.cpp and toaplan2.cpp - Description changes of All Japan Pro-Wrestling Featuring Virtua (T 971123 V1.000) (ID 08946), Ameri Darts (set 1), Ameri Darts (set 2), Ameri Darts (set 3), Batman Forever (Dutch, 4.0), Big 10 (1985, Success), Diamond Heart (v1.06), Dynasty (2009, Ver. 1.02), Falcons Wild - World Wide Poker (Falcon original, protected), The Glob (Pac-Man hardware, Magic Electronics), Lode Runner III - Majin no Fukkatsu (Japan, rev. A), Mad Motor (prototype, set 1), Magic Electronics), Magical Kengo 2005 (Ver. 1.2), Mahjong Ougon no Pai (Japan), Mahjong Ougon no Pai (Japan bootleg set 1, medal), Mahjong Ougon no Pai (Japan bootleg set 2, medal), Mahjong Ougon no Pai (Japan bootleg set 3, medal), Mr. Do! vs. Unicorns (Japan), New Double Bet Mahjong (bootleg of Royal Mahjong, set 1), PK Turbo, PK Turbo (Ver 2.3B2, encrypted), Ron Jan (set 1), Ron Jan Super (set 1), Sector Zone (bootleg), Sector Zone (set 1), Sector Zone (set 2), Super Crowns Golf (Japan, set 1), Thunder Heroes (set 1), Vs. Janshi Brandnew Stars (Ver 1.1, MegaSystem 32 Version), World Rally (version 1.0, checksum 0E56), World Rally (US, version 1.0, checksum 2CC1), World Rally (version 1.0, checksum 3873), World Rally (version 1.0, checksum 8AA2), World Rally (version 1.0, checksum E586), Yamato (set 2) and Zen Nippon Pro-Wres Featuring Virtua (J 971123 V1.000) - Dipswitch fixes in docastle.cpp, dogfgt.cpp, dynax.cpp, dynduke.cpp, homerun.cpp, igs_fear.cpp, megadriv_acbl.cpp, namcos12.cpp, namcos23.cpp, quickpick5.cpp and system1.cpp - Renamed (sectrzona) to (sectrzon), (sectrzon) to (sectrzona), (yamato) to (yamatou) and (yamato2) to (yamatoa) - MAME . VIDEO RENDERING SYSTEM: Fixed apparent bug in draw_quad_palette16_add (emu\rendersw.hxx) . DEVICES . Don't eat negative cycles with abort_timeslice when icount<0 (emu\diexec.cpp) . Added retry_access with abort_timeslice for redoing the access at the same point in time + documentation (emu\devcpu.cpp) (cinematronics\leland_a.cpp, misc\quizpun2.cp and universal\docastle_m.cpp) . LUA engine: Exposing full build version to LUA as emu.app_build (mame\luaengine.cpp) . INPUT: Guard against automatic integer promotion on arithmetic (emu\input.cpp) . UI . Fixed sorting. Clones should match parent on list name and short name, instance name of first part is irrelevant. List names actually need to be compared (ui\selsoft.cpp) (ID 08966). . Fixed palette viewer if indirect pen exists (ui\viewgfx.cpp) . Only check for hold/drag conversion on losing pointer if it hasn't already happened (sdl\window.cpp and windows\window.cpp) . CHDMAN: Added a sink for osd_printf_ family function output (tools\chdman.cpp) . Mark one path as EXPECTED (emu\schedule.cpp) . Don't increment coin counter at power-on when initial counter_w input is 1. Added handlers for resetting counters (emu\bookkeeping.cpp). . Consolidated drivers into single files (cclimber.cpp, coolpool.cpp, docastle.cpp, galivan.cpp and vigilant.cpp) . Multi-Language: Ukrianian translation updated to actual 0.270. There were minor cosmetic corrections and translating empty problematic strings. - MAC OS X: Don't use uninitialised NSRect when creating pop-up button. The initial size doesn't really matter because the pop-up button is resized before being added to the container that holds it and the expression field. The disassembly viewer apparently wasn't updated properly like the memory viewer when the auto-sizing code was refactored. Hopefully this will fix the debugger crashing when restoring window positions from configuration (although I would have thought this would cause crashes in more situations if it was the cause of that). - Compiling . Enabled -Wno-tautological-compare for BGFX in order to evaluate turning it off for MAME (src\3rdparty.lua) . Fixed several things using memset on non-trivial objects. In particular, this fixes a delegate getting nuked in cpu\powerpc. . Cleaned up miscellaneous stuff (namco\vpx3220a.cpp, vigilant.cpp) . Use 32x32=64-bit multiply inlines (cpu\drcbec.cpp, cpu\i960, mips\mips3.cpp, cpu\sharc and cpu\v60) . Removed assert(0 <= info->clickcnt) (sdl\window.cpp) . Fixed build with Clang 19. sol::optional::emplace was broken and depended on the compiler not checking that members exist if the template wasn't instantiated. See ThePHD/sol2#1606 and ThePHD/sol2#1648 (3rdparty\sol2\sol\sol.hpp). - Debugger: Added callback to allow debugger to break into the middle of wait-type instructions whose execution time is normally indefinite. When this happens, a special message may be printed to the debug console stating the location of the last actual instruction executed before the wait (if there was one). Note that since the callback ignores the current value of the program counter, this special type of debugger break cannot be entered through breakpoints or instruction stepping commands. The callback also leaves no effect on PC history tracking or trace logs (emu\diexec.h and debug\debugcpu.cpp). 0.271 - New games: Chaoji Dou Dizhu Jiaqiang Ban (S300CN), Chaoji Dou Dizhu Liang Fu Pai (V109CN), Chaoji Tuolaji Jiaqiang Ban (V206CN), Long Hu Zhengba (China, VS105M, set 1), Long Hu Zhengba 4 Dui Hua Ban (V203CN), Long Hu Zhengba III Shengji Ban (V300C5), Mingxing San Que Yi (China, V201CN) and Miracle Seven - Heaven's Gate (Japan, v1.0.2) - New Working games: Bare Knuckle II (bootleg of Mega Drive version), Crazy Bugs (V103JP), Fever 13 (Japan, v1.3), Kart Duel (World, KTD2/VER.A), Kart Duel (Japan, KTD1/VER.A) and Poker & 21 - New Non-Working games: Bullion 2, Carnival (Astro Corp., US.004.D), Cashline, Diamond Heart (v1.0), Double Hearts, Dynasty (Ver. 1.02), Fisherman Battle (Japan, ver 1.03), Jungle King (V302US), La Maquina del Tiempo, Multistar 14, Multistar 5, Mystery J & B (V1.3G), Mystic Jaguar, Santa Claus (IN.001.07.A), Sunset Riders / Super Street Fighter II - The New Challengers (scrambled bootleg of Mega Drive versions), Super 70's (V100US), Super Cherry Master (V5.2), Super El Dorado (Ver. 1.04H), Triple Jack (V1.6G), Triple Play (M0000230, Spanish) and Wanpaku Pirates (Japan, ver 1.00) - New clones: 1945k III (Promat license, OPCX1 PCB), Chaoji Da Manguan II (China, V754C, set 2), Chaoji Dou Dizhu (V217CN), Chaoji Dou Dizhu (V219CN), Crazy Balls (Bontempi, set 2), Discs of Tron (Environmental, prototype, 8/9/83), Jungle King (V103A), Labyrinth Runner (World Ver. F), Last Duel (Modular System), Long Hu Zhengba (China, VS105M, set 2), Long Hu Zhengba III (V106C5M), Metal Black (World, single PCB), Mirax (set 3), Power Spikes (Modular System), Race On! (Japan, RO1 Ver. B), Raiden II (Great Britain), Return of the Invaders (Video Dens bootleg, without MCU), Star Rider (PROTO 3), Super Cherry Master (V1.2), Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver OAA) and Twin Cobra (Modular System) - New AGEMAME games: Aladdin's Cave (Maygay M2, SW8-323 SW8-299), Aladdin's Cave (Maygay M2, SW8-322 SW8-298), Aladdin's Cave (Maygay M2, SW8-298 SW8-144), Big Break (Maygay M2, SW6-656 SW6-635), Big Break (Maygay M2, SW6-657 SW6-636), Bullion Blox (BWB) (BVM_____.1__) (MPU4 Video), Each Way Gambler (Maygay M2, SA6_128 SA6_114), Each Way Gambler (Maygay M2, SA6_129 SA6_115), Each Way Gambler (Maygay M2, SA6_130 SA6_115), Each Way Gambler (Maygay M2, SA6_281 NONE), Each Way Gambler (Maygay M2, SA6_282 NONE), Each Way Gambler (Maygay M2, SA6_283 NONE), Each Way Gambler (Maygay M2, SA6_284 NONE), Guinness Book Of Records (Maygay M2, SW8-146 SW7-360), Guinness Book Of Records (Maygay M2, SW8-147 SW7-361), Jack & Vera (Maygay M2, set 2), Jack & Vera (Maygay M2, set 3), Jack & Vera (Maygay M2, set 4), Krypton Factor (Maygay M2, set 2), London Underground (Maygay M2, SW8-233 SW8-155), Pinball Wizard (Maygay M2, SW8-099 SW8149), Pinball Wizard (Maygay M2, SW8-099 SW8149), Risk (Maygay M2, SW9-025 SW9-023), Risk (Maygay M2, SW9-024 SW9-026) and Super Clue (Maygay M2, SW8-153 SW8-131). - New drivers: bullion2.cpp, cashline.cpp, cirsa2080606.cpp, cle68k.cpp, dyna_d0703.cpp, igs_m027_023vid.cpp, lastduel_ms.cpp, pspikes_ms.cpp and twincobr_ms.cpp - New devices: atari_trakball, atmel_29c020, f2mc16_adc, f2mc16_clock_generator, f2mc16_intc, f2mc16_port, f2mc16_ppg, f2mc16_reload_timer, f2mc16_uart, hd38870, hd44840, hd44848, hd44860, hd44868, igs023, jvs_port, mb90f574, md8412b, namco_amc, namco_asca1, namco_asca3, namco_asca3a, namco_asca5, namco_c77, namco_csz1, namco_cyberlead, namco_cyberlead_led, namco_cyberleada, namco_emio102, namco_empri101, namco_fca10, namco_fca11, namco_fcb, namco_tssio, namco_xmiu1 and vpx3220a - Bob Zed (What's new video): https://youtu.be/XkJBrGk-nNY - CPU . DEC T11: VM1 does not use RMW bus transaction for MOV and MOVB insns (fixes writing to floppy) (cpu\t11\t11ops.hxx) . Hitachi H8: Disable logging by default & don't log debugger reads. Only start sending data via DMA if transmitter is enabled. Clear TEND when sending data via DMA. TDRE, RDRF, ORER, PER and FER flags can be cleared to 0 only if they have first been read while set to 1. Only set TEND when there is no more data to send. Receiver is started only on high to low rxd in asynchronous mode, when receiving and sending in synchronous mode when data is sent, or continuously when receiving without sending in synchronous mode. Set rx status to idle when stopping clock in rx_async_step(). Removed double invert when calculating parity in rx_async_step(). Removed redundant check for synchronous mode in rx_async_step() (h8\h8_sci.cpp). . Hitachi HD44801: Set page start to 0x3f (hmcs40\hmcs40d.cpp) . IBM PowerPC: Fixed QNan check. a) All constants were one digit too short. b) The payload was always expected to be 0 (which is just a special case qnan (Real Indefinite) though) (powerpc\ppccom.cpp). . Intel 4004: Don't log messages about NOP aliases for the 4004 (the Linux/4004 firmware uses these for instrumentation points) (mcs40\mcs40.cpp) . Motorola MC68000: Renamed m_instruction_restart to m_can_instruction_restart to clearly distinguish from m_restart_instruction . Motorola MC68000 FPU: Added FPU instructions 'FETOX', 'FETOXM1', 'FTWOTOX' and 'FTENTOX' (m68000\m68kfpu.cpp, softfloat3\bochs_ext\f2xm1.c, softfloat3\bochs_ext\softfloat3_ext.h) . Motorola MC68030: Added gdbstub support . Motorola MC68030/40: Don't emulate byte smearing for the 68040 and fixed disabling the FPU for the 68030 . NEC V25: Added stubs for serial interface registers (nec\v25.cpp). Logging fixes (nec\v25sfr.cpp). - SOUND . K054539 ADPCM: Correct reverb RAM size and addressing. Top address bit for the 32K RAM is bit 16, rather than the intuitive bit 14. - DEVICE . Flash ROM: Added ATMEL_29C020 and support for SDP & added missing state save registrations (machine\intelfsh.cpp). . Floppy . Removed #include "screen.h" (imagedev\floppy.h) . Don't enable_transfer after tc. Indicate ready status in polling irq sense. Reset st0 when starting a seek and fail if drive isn't ready (machine\upd765.cpp). . Added read 86f image support (formats\86f_dsk.cpp). Different workaround for (unused) BIG_ENDIAN enum (formats\86f_dsk.h). . Fujitsu Micro F2MC-16: Created devices for the onboard analogue to digital converter, clock generator, interrupt controller/Extended intelligent I/O service, I/O port, Programmable Pulse Generator, reload timer and UART. CPU core exposes the RMW line for onboard devices. Log messages will contain the address of the start of the instruction, rather than the next byte the CPU is about to fetch. Added INT9/INT addr16 & INT addr24 software interrupt instructions. Fixed INCW @RWx & DECW @RWx instruction length. Added missing fetch of immediate value in MOV @RWx + RW7, #imm8. . Intel 82371 southbridge: Reduced PIT range. i82371sb_isa_device can now redirect their IRQs (machine\i82371sb.cpp). . MC68681 DUART/SC28C94 QUART: Unambiguous xr68c681 control blocks. 'SC28C94 QUART' has 64 registers (machine\mc68681.cpp). . National Semiconductor NSC810 RAM-I/O-Timer: Save internal state (machine\nsc810.cpp) . Real Time Clock interface: Devirtualize set_current_time and cleaning up misuse (emu\dirtc.h) . SiS 85C496/497 chipset: sis85c496_host_device can now redirect their IRQs (machine\sis85c496.cpp) . Timekeeper: Suppress side effects for debugger reads . Z180 ASCI: Fixed calculation of framing and parity errors (z180\z180asci.cpp) - asteroid.cpp: Set the watchdog frequency. Note: This seems to have been omitted for some reason. - bestleag.cpp: Cleanups - changyu.cpp: Implemented changyu2 MCU communication well enough to get attract mode working with music. Added inputs for both games. - cidelsa.cpp: Verified clocks for Cidelsa's Destroyer and Altair (efo\cidelsa.h) - dec0.cpp: Use input merger device for 6502 irq - esd16.cpp: Cleaned up code. Use appropriately sized integers for tilemap color values. Reduced literal tag usage, improved variable names and use C++ line comments. - fuukifg2/3.cpp: Init palette ram to black (nomore white flash at boot) [hap]. - gkigt.cpp . Cleanup video functions, hookup debug terminal as default. 'SC28C94 QUART' has 64 registers (machine\mc68681.cpp). Removed most QUART2 overlay hacks. . Added debug notes and preliminary background layer. Partial decoding of CG ROM regions. Hookup OPLL, irq3 ties with the other QUART. Fixed release years for ms3 and ms72c. . Suppress SENET readback for now, fixed base video ROM banks and documented workaround for i960 init crash. - igs_m027.cpp . Added memory clear switch to clear memory contents when power is removed (hard reset with the switch on to clear NVRAM) . Fixed title for Long Hu Da Manguan Duizhan Jiaqiang Ban (V400C3M) . Use mnemonic short names for clones. Added version numbers from service mode or bookkeeping to descriptions, and added comments where displayed version number doesn't match what was already in the description. . Confirmed I/O and DIP switches match other games. Added some notes about DIP switch settings. . Trojaned internal ROMs for cjddzlf, lhzb3106c5m and lhzb3sjb. . Reduced repetition in inputs a little, made conventions a bit more consistent across files and correct a few comments. . Confirmed some more internal ROM dumps. Added notes about game controls. Hide inactive inputs for more games. - igs_m027xa.cpp . Dumped internal CPU ROM for clone Crazy Bugs (V103JP). Promoted game to working. Fixed inputs for clone Crazy Bugs (V103JP). Got rid of hopper from Crazy Bugs (V103JP) since there appears to be no way to use it and exposed hopper switch as a user input so it can still be tested. Got rid of third bank of DIP switches from Crazy Bugs (V103JP) as comments indicate it isn't physically present (although it is displayed in the input test). . Use mnemonic short names for clones - igs017.cpp . Dumped GFX ROM for clone Tarzan Chuang Tian Guan (China, V110) . Fixed DIP switches and cleaned/improved inputs for Chaoji Da Manguan II, Manguan Caishen, Manguan Daheng, Shuang Long Qiang Zhu 2, Tian Jiang Shen Bing and Tarzan Chuang Tian Guan. Correct Long Hu Zhengba 2 DIP switch settings and cleaned up inputs. . Reduced repetition in inputs a little, made conventions a bit more consistent across files and correct a few comments. . Use slots input types for Tarzan Chuang Tian Guan in "joystick" mode to make playing slightly less confusing. Removed mahjong keyboard row that isn't read from Tarzan Chuang Tian Guan. . Added notes about game controls - lwings.cpp: Hooked up sound CPU reset control for Trojan and Avengers. Original Trojan schematic shows that the main CPU controls the sound CPU reset line. - megadriv_acbl.cpp . Hook up PIC MCU to Bare Knuckle II (bootleg of Mega Drive version). Promoted game to working. TODO: Unknown inputs to Port B of the emulated PIC. MCU clock frequency. There is only a 50 MHz XTAL on the PCB, are the other clocks correct? . Sorted DIP switch options. Order coinage options from least to most generous, put off to the left of on. - midvunit.cpp: Fixed range error in "Galil" wheel controller emulation (midway\midvunit.h) - mosaic.cpp: Minor cleanups. Suppress side effects for debugger reads. Use more appropriate types for some integer variables. Use generic graphics decoding layouts, made CPU ROM region size match size of ROM. - multfish.cpp: Minor cleanups: Use more appropriate types for integer variables and made some variables constant. Allocate video RAM on start and reduced run-time tag lookups. Improved some function and variable names and reduced use of static functions and preprocessor macros. Cleaned up spacing and converted single-line comments to C++ line comments. - multfish_boot.cpp: Converted single-line comments to C++ line comments - namcos12.cpp and namcos23.cpp: Added a new modular JVS framework. New devices added: Namco Cyber Lead I/O LED(I/O) PCB 8699014200, Namco Cyber Lead I/O LED(I/O) PCB 8699014200 (compatibility patch), Namco Cyber Lead I/O LED(LED) PCB 8699014500, Namco AMC PCB (Extra I/O,JPN,Ver1.10), Namco ASCA-1 (Multipurpose I/O,JPN,Ver2.00), Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.04), Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.02), Namco ASCA-5 (Multipurpose,JPN,Ver2.09), Namco CSZ1 MIU-I/O (GUN-EXTENTION,JPN,Ver2.05), Namco EM I/O1-02 (Techno-Drive I/O,JPN&EXP,Ver2.00), Namco TSS-I/O (GUN-EXTENTION,JPN,Ver2.02) and Namco XMIU1 TSS-I/O (GUN-EXTENTION,JPN,Ver2.11,Ver2.12). Note: The Cyber Lead compatibility patch is required because later versions aren't. Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.00), Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.01) and Namco FCB (TouchPanel&Multipurpose,JPN,Ver1.02). Note: These use ASCA3 patched to return the correct ID string as the full ROM is yet to be extracted. Namco EM Pri1-01. Note: The printer for Techno Drive is HLE'd only enough to make the game happy. - namcos12.cpp . Promoted Kart Duel (World, KTD2/VER.A) and clone (Japan, KTD1/VER.A) to working (ID 08867) . Added Namco C77 CPU (custom H8) . Converted Namco System 12 to allow JVS or JAMMA in each game. See src\devices\bus\jvs\cyberlead.cpp for list of games that support Namco Cyber Lead cabinet animations. Moved CDXA documentation and memory map into it's source file, converted the shared memory to 16bit on the PlayStation side and acknowledge the interrupt correctly. Converted to logmacro.h. Setup analogue inputs to match the games defaults, except Kart Duel because the defaults seem impossible to achieve. Made set names and formatting consistent. . Added Techno Drive LED artwork. Lower analog controls keydelta for Techno Drive. - namcos23.cpp . Significant improvements. More games boot and are playable, albeit with glitchy graphics at times. Fixes Race On causes MAME to freeze after self-test (ID 08924). . Increased timeout in namco_csz1 ROM to stop it timing out, the H8 is either running too fast or the SUB CPU is running too slow (jvs\namcoio.cpp). . Configured Crisis Zone gun to match game defaults & default to namco_csz1 JVS I/O board. Stop motor error in Crisis Zone test mode . Removed texture_enabled flag, it caused missing graphics so this bit must have a different meaning. Reset poly counts each frame to prevent trailing graphics and MAME crashing when holding INS. - pgm.cpp: Removed unneeded trampoline (igs\pgm.cpp). Fixed some regressions (igs\pgmprot_igs027a_type1/3.cpp). - sigmab98.cpp: Fixed regression with hopper motor. Fixes all games using the Sammy Medal BIOS set except tdoboon: Games return "Hopper Overrun" error upon exiting service menu after backup RAM initialization (ID 08941). - taito_f3.cpp: Added TODO note to use common TC0640FIO device - tecmo.cpp: Reduced literal tags and cleaned up code. Use I/O port array finder for DIP switches, made some variables const. Use C++ line comments for single-line comments and added notes. - toaplan2.cpp: Lower sound volume because of distortion - warpwarp.cpp: Update sound stream before volume decay (namco\warpwarp_a.cpp and namco\geebee.cpp) - wpc_s.cpp: Correct rom region for some sets. Fixes corv_la1, corv_lx2, jm_05r, nf_08x and nf_10f with Fatal Error on emulation start (ID 08945). - AGEMAME: Split the maygayew.cpp 'altrevs' in proper clone sets - Alien Command: Driver cleanups. Port over cischeat_draw_sprites. - Champion Poker 2: Verified dump with another PCB - D-Day (Jaleco set 1): Hookup i8257 in place of custom code - Fever 13: Promoted game to working - Mahjong Senpu . Cleaned up code: Use palette_device handlers for palette. Correct video RAM width and changed to allocate on start. Constrain screen update to clipping rectangle. Fixed input matrix reading. Reduced literal tags, changed logging to use logerror and made come variables const. Reduced duplication and improved ROM region names. Added notes about languages for in-game text and voice samples. Use C++ line comments for single-line comments. . Fixed I/O and DIP switch settings. This makes it possible to complete a game with either mahjong keyboard or joystick controls. - Mirax: Minor cleanups. Use more appropriate types for some variables. Simplified graphics ROM decoding. Reduced literal tags, made some variables const, improved ROM region and variable names. - Moon Light (Inder): Dumped ROMs from "bonus expansion board" used by Moon Light. This board is used for driving lamps. It is described in the manual and schematics. - New York! New York!: Added DAC enable bit - Operation Wolf 3: Dumped unprotected PALs - Poker & 21: Promoted game to working - PT Reach Mahjong: M14 driver cleanup - R2D Tank: Removed unneeded trampoline - Saboten Bombers: Fixed clone Cactus (bootleg of Saboten Bombers) causes MAME crash (ID 08944) - Skins Game: Removed unused leftover - Snooker 10: Identified manufacturer for clone Ten Balls (Ver 1.05), using original program ROM. - Space Invaders: Changed clones Jatre Specter (set 1/2) to licensed. As described in MT 08149, Jatre Specter was licensed by Taito. - Task Force Harrier: Hook up MCU for clone Task Force Harrier (Lettering bootleg). Test mode can now be accessed. - Yizhi Xiangqi: Fixed GFX decoding, tilemap and screen size. - Fixed rom names in igs017.cpp, model2.cpp and snookr10.cpp - Description changes of 999, Acchi Muite Hoi Battle (Japan, ver 1.04), Aka Mahjong (Double Bet, ver 1 16), Aladdin's Cave (Maygay M2, SW7-536 SW7-465), Aladdin (bootleg of Mega Drive version), Alien Command (v2.1), Bare Knuckle (scrambled bootleg of Mega Drive version), Bare Knuckle II (scrambled bootleg of Mega Drive version), Bare Knuckle III (bootleg of Mega Drive version), Bare Knuckle III (scrambled bootleg of Mega Drive version), Bare Knuckle III / Sunset Riders (scrambled bootleg of Mega Drive versions), Big Break (Maygay M2, SW6-618 SW6-601), Boo Boo Donpatchi (Japan, ver 1.01), Bullion Blox (BWB) (BV_1P___.2__) (MPU4 Video), Bullion Blox (BWB) (BV_50___.2__) (MPU4 Video), Bullion Blox (BWB) (Datapak) (BV_1P___.2__) (MPU4 Video), Bullion Blox (BWB) (Datapak) (BV_50___.2__) (MPU4 Video), Chaoji Da Manguan II (China, V754C, set 1), Chaoji Dou Dizhu (V215CN), Chess Challenge II (ver. 1445A), Crazy Balls (Bontempi, set 1), Docchi Fighter (Japan, ver 1.02), Each Way Gambler (Maygay M2, SA6_127 SA6_113), Fruit Paradise (V214US), Guinness Book Of Records (Maygay M2, SW7-235 SW7-240), Jack & Vera (Maygay M2, set 1), Krypton Factor (Maygay M2, set 1), London Underground (Maygay M2, SW8-232 SW8-154), Long Hu Da Manguan (V102C3M), Long Hu Da Manguan Duizhan Jiaqiang Ban (V400C3M), Long Hu Zhengba 4 (V104CN), Long Hu Zhengba III (V400CN), Long Teng Hu Yao Duizhan Jiaqiang Ban (S104CN), Mahjong Senpu (Japan), Maque Wangchao / Chaoji Da Manguan 2 - Jiaqiang Ban (China, V100C), Mayo no 21, Mogu Mogu Hammer (Japan, ver 1.01), Mortal Kombat 3 (scrambled bootleg of Mega Drive version), Pinball Wizard (Maygay M2, SW8-098 SW8148), Que Long Gaoshou (S501CN), Return of the Invaders (bootleg, without MCU, set 1), Return of the Invaders (bootleg, without MCU, set 2), Return of the Invaders (bootleg, without MCU, set 3), Return of the Invaders (bootleg, with MCU), Risk (Maygay M2, SW7-614 SW7-461), Shippe Champion (Japan, ver 1.02), Stadium Cross (World, linkable), Star Rider (REV 1), Sunset Riders (scrambled bootleg of Mega Drive version), Super Clue (Maygay M2, SW8-152 SW8-130), Super Street Fighter II - The New Challengers (scrambled bootleg of Mega Drive version), Wan Wan Dash (Japan, ver 1.01), Zenigata Ponta (Japan, ver 1.02) and Zhongguo Chu Da D (V102C). - Dipswitch fixes in funtech.cpp, gkigt.cpp, igs017.cpp, igs_m027.cpp, igs_m027xa.cpp and megadriv_acbl.cpp - Renamed (cjddz) to (cjddz215cn), (crzybugsj) to (crzybugs103jp), (crzybugsb) to (crzybugs200us), (crzybugsa) to (crzybugs202us), (fgtlayerj) to (fgtlayerja), (fruitpara) to (fruitpar206us), (haunthiga) to (haunthig101us), (kartduelj) to (kartduelja), (lthy) to (lthyp), (mgzza) to (mgzz100cn), (mrdrillrj) to (mrdrillrja2), (oceanpara) to (oceanpar101us), (olympic5a) to (olympic5107us), (soulclbr) to (soulclbrac), (soulclbra) to (soulclbr), (soulclbrja) to (soulclbrja2), (tektagtc1) to (tektagtc1a), (tektagtja) to (tektagtja3), (tenkomorja) to (tenkomorja1), (tripfevb) to (tripfev105us), (tripfeva) to (tripfev107us) and (unkwht) to (yizhix). - MAME . VIDEO RENDERING SYSTEM: Always translate coordinates if container is found (emu\render.cpp). Fixes Touch drag gestures that leave the window do not behave correctly. The menu jumps to an unexpected position when the touch point is outside the window. . MEMORY SYSTEM: Allow ioport finders in portr/w/rw. Converted a number of drivers to use ioport finders in the memory map. This is not entirely gratuitous. The idea is to ensure all the ports are in the class, so that eventually ioport finders become ioport creators. The ultimate aim is to C++-ify port descriptions which would be made way nicer by getting rid of the need for PORT_START (emu\addrmap.h). . DEVICE: Improved stop bit handling. Fixes bytes are read too slow in serial emulation. Never check more than one stop bit on reception. Don't add an extra stop bit on transmission. Got rid of the per-instance parity lookup table (emu\diserial.cpp). . INPUT . Fixed deadlock issue with joystick (removed reset() call during process_event) (input\input_sdl.cpp) . Added piano keyboard definitions and automatic names (emu\ioport.cpp) . Improved validation of DIP switch locations. Treat an empty switch name as an error. Treat a non-positive switch number as an error. Also allocate fewer temporary strings (emu\ioport.cpp). . Made syntax for configuring callbacks more consistent. You now use FUNC or NAME to configure port field callbacks, like you would when configuring other kinds of callbacks. This has a number of benefits: No need to remember different syntax for port field callbacks and more approachable for new contributors. May use function templates with multiple arugments using NAME((&...)) syntax without resorting to another layer of macros. May use non-member functions on the odd chance it's useful. More natural syntax for referring to member functions (emu\ioport.h). . UI . Allow pressing UI Clear to restore default pointer timeout settings (ui\ui.cpp and ui\videoopt.cpp) . Don't ignore character input when no pointer is active (ui\selmenu.cpp). Handle menus resetting items from custom pointer handlers better (ui\menu.cpp). . CHD/CHDMAN . Made some APIs return errors rather than throwing exceptions (util\chd.cpp and util\chdcodec.cpp) . More API changes: Have metadata_find return std::error_condition instead of throwing an exception. Replaced the is_XXX predicates with check_is_XXX methods that return a std::error_condition, enabling improved error reporting for cdrom_image_device. Retain read error information in chd_file_compressor. Make a bunch of methods noexcept (util\chd.cpp). . Throw errors when examining metadata to determine compression defaults (tools\chdman.cpp) . Made a few more member functions return error conditions. Also mark error paths as unexpected to optimise against them (util\chd.cpp). . Added a safer way to let codecs do special stuff with hunks (util\chd.cpp and util\chdcodec.cpp) . Improved notes about DirectX SDK and added a link in compiling instructions. Also fixed typo "SDL" in place of "SDK" (docs\source\initialsetup\compilingmame.rst). . Consolidated drivers into single files (fuukifg2.cpp, supbtime.cpp) - Compiling . Added ATTR_COLD to common lifecycle methods for many files in src\mame and src\devices . Use qmake to query Qt libexec directory to find moc (osd\modules.lua) . Upgrade checkout and upload-artifacts actions (github\workflows\*) - Debugger . Clean up #includes a bit (emu\debug and osd\modules\debugger\qt) 0.270 - New games: Aka Mahjong (Double Bet) and Triple Slot (V200VE) - New Working games: Chaoji Dou Dizhu, Crazy Bugs (V200US), Crazy Bugs (V202US), Crazy Bugs (V204US), Fruit Paradise (V206US), Fruit Paradise (V214), Jungle King 2002 (V209US), Long Hu Da Manguan, Long Hu Da Manguan Plus, Long Hu Zhengba III, Long Hu Zhengba 4, Long Teng Hu Yue, Manguan Zhizun (V100CN), Manguan Zhizun (V101CN), Manguan Caishen 3 (V101CN), Ocean Paradise (V101US), Ocean Paradise (V105US), Que Long Gaoshou, Shuang Long Qiang Zhu 3 (China, VS107C) and Zhongguo Chu Da D. - New Non-Working games: Boo Boo Donpatchi, Cherry Bonus V Five (V1.3), Cherry Master 2005 (Ver. 1.10U), Countertop Champion 2 (ver 2.11), Double 8 Line, Fever 13 (Japan, v1.3), Halloween Party (US.23.A), Jack's Venture - Inca Treasure, Lucky V Line, Magical Kengo, Penguin Party, Reel Magic Turbo Play and Triple Slot (V200VE) - New clones: Automat (bootleg of Robocop, Modular System), Cherry Bonus III (ver.1.40, set 6), Cherry Master 2005 (Ver. 0.14H), Cherry Master 2005 (Ver. 1.02U), Diet Go Go (Europe v1.1 1992.09.26, set 1), Fruit Paradise (V206US), Lunar Rescue (Artic bootleg), Mushiking The King Of Beetles - Mushiking IV / V / VI (Taiwan), New Lucky 8 Lines (set 12, W-4, encrypted), P-47 - The Freedom Fighter (World), Super Cherry Master Plus (V1.0U), Triple Fever (V105US), Triple Fever (V108US) and Turbo PK (Ver 2.3B2, encrypted) - New drivers: champ2.cpp, dyna_d0404.cpp, filetto.cpp, hummer.cpp, syvg.cpp and tetriskr.cpp - New devices: floppy_3_dsqd, floppy_3_dssd, floppy_3_sssd, igs027a, igs_xa_ics_sound, igs_xa_subcpu and neon250 - New Clrmamepro: https://mamedev.emulab.it/clrmamepro/#downloads - Bob Zed (What's new video): https://youtu.be/Y5wwAU_YHsU - CPU . ARM7: Added interrupt helpers, hid details from most clients. Moved input line and state item numbers into class declaration so most users don't need the internal header. Added callbacks so run to next interrupt works in the debugger. Added helpers for SoCs that generate effective FIQ/IRQ signals with and onboard interrupt controller. . Hitachi H8: Put register list enum under public (h8\h8.h) . NEC V2x/V3x: Don't log message on bus lock by default (nec\nec.cpp and v25.cpp) . Philips MX10EX: Implemented add with indexed addressing mode for source. Used by clone Triple Fever (V105US) microcontroller program. The game no longer causes a fatal error, but hangs instead (cpu\xa\xa_ops.cpp). . Texas Instruments TMS34020: Implemented TMS34020 cvdxyl_b instruction. Used by Atronic gambling systems (tms34010\34010ops.hxx). . Toshiba TMP90xxx/TMP91640: Small spacing cleanup and removed execute_burn altogether (renamed but keeping it in z180 after seeing TODO note) (tlcs90\tlcs90.cpp). Moved too generic irq enum to class (tlcs90\tlcs90.h). . Toshiba TMP95C06x: Replaced a number of preprocessor macro constants with enum and constexpr. Use callback arrays and member function templates to simplify I/O port handling (tlcs900\tlcs900.cpp). . Zilog Z80 . Changed PAIR to PAIR16 (all those registers are 16bit) (z80\z80.h). Moved logmacro stuff to C++ files so subdevices can add their own logging if they want (z80\z80.inc). . Removed identical local copy of z80.inc (z80\r800.cpp). Added m_ea/m_rtemp to savestates (z80\z80.cpp). Moved nsc800 device to its own file (z80\nsc800.cpp). . Removed Z80 boguswait pin (tried to fix (MESS) super6 properly but no luck). Use LOGMASKED instead of a macro for each log type. - SOUND . DCS/2 Audio xxxx: Got rid of unused memory share (fixes mismatched width warning for DCS Denver) (shared\dcs.cpp) . SSi TSI S14001A: Level triggered 1-bit handler does not make sense. Removed overloaded set_clock. - DEVICE . Floppy . Floppy hard-sector support. Mix of Eric Anderson's and Mark Gallager's patches. Removal of the flux screen experiment. Removal of the unused get_pos(). . Be more permissive about allowing double-sided images in single-sided drives (formats\d88_dsk.cpp). Relax track_count check to a warning (formats\d88_dsk.cpp). . Use standard drives for hard-sectored systems. Added single-density 3" drive types. Added 3-inch double-sided quad-density format (imagedev\floppy.cpp) . Don't bail immediately when a sector address crc failure fixes ea interlock copy pro (machine\upd765.cpp) . MOS 6551 ACIA: Misc fixes. Suppress receiver full and transmitter empty IRQs when disabled by command write. Added address map for future use. Correct pin label on diagram (machine\mos6551.cpp). . Motorola MC6845 CRTC: Lift horizontal display and mode control from being zeroed in device_reset. Fixes (MESS) bml3 getting stuck on soft resets. . Samsung S3C24xx: Workaround for array out of bounds compiler warning (machine\s3c24xx.hxx) . Ticket Dispenser: Get device configuration constants out of the global namespace. Changed ticket MOTOR_ACTIVE_LOW and STATUS_ACTIVE_LOW to HIGH. Removed motor/status_active setters (machine\ticket.cpp). . VideoLogic PowerVR Neon: Added 'VideoLogic PowerVR Neon 250' stub - amuzy.cpp: Roms u2/u3 are OKI ADPCM roms, fixed rom loading. - atarisy2.cpp: Changed some ioport tag lookups to portr and fixed conflict between PORT_SERVICE and IPT_SERVICE - atronic.cpp: Implemented TMS34020 cvdxyl_b instruction. Used by Atronic gambling systems (tms34010\34010ops.hxx). - bombjack.cpp: Removed BIT(v, 0, n), just use a mask and re-add enters after comment block - changyu.cpp: Added PSG to sound CPU memory map. When the system writes 21 to 0x0c, an alarm sounds. - filetto.cpp and tetriskr.cpp: Splitted driver pc\pcxt.cpp into filetto.cpp and tetriskr.cpp. Fine tune Filetto um5100 pitch frequency. - igs_fear.cpp: Hooked up IGS027A GPIO callbacks properly and improved DIP switch labels - igs_fear.cpp, igs_m027.cpp, igs_m027_link.cpp, igs_m027xa.cpp and pgm.cpp . Fixed a number of places interpreting ROM as non-native width. Removed literal ROM region lengths (igs\pgmcrypt.cpp). . Removed obsolete lhzb3_decrypt and lhdmgp_decrypt. Changed some functions to make it clearer that keystream is generated from address. Got rid of literal ROM lengths from decryption functions for igs\igs_fear.cpp games (igs\pgmcrypt.cpp). . Use uploaded XOR tables where available (igs\pgmcrypt.cpp) . Decouple 8255 PPI device from igs017_igs031 emulation and give that custom device its own input ports. Privatize some more stuff (igs\igs017_igs031.cpp). . Started encapsulating IGS 027A onboard peripherals from igs_fear.cpp, igs_m027.cpp and igs_m027xa.cpp (igs\igs027a.cpp). Added 5-bit output port. Correct timer interval calculation. Fixes slowdown in jking02. Added output port, and flagged as having imperfect timing as confidence in timers is still low. Slight simplification. Moved presumed onboard RAM and possible FIQ enable into the device (igs\igs027a.cpp). . Consolidated MCU interface logic from igs_fear.cpp and igs_m027xa.cpp (igs\xamcu.cpp). Updated system flags. Adjusted XA MCU communication and interrupts. Slight simplification (igs\xamcu.cpp). - igs_m027.cpp . Promoted games to working: Chaoji Dou Dizhu, Fruit Paradise (V206US), Fruit Paradise (V214), Jungle King 2002 (V209US), Long Hu Da Manguan, Long Hu Da Manguan Plus, Long Hu Zhengba 4, Long Hu Zhengba III, Long Teng Hu Yue, Manguan Caishen 3 (V101CN), Manguan Zhizun (V100CN), Manguan Zhizun (V101CN), Ocean Paradise (V101US), Ocean Paradise (V105US), Que Long Gaoshou, Shuang Long Qiang Zhu 3 (China, VS107C) and Zhongguo Chu Da D. . Added internal IGS027A ROM dumps for chessc2, cjddz, extradrw, lhzb4, oceanpar, oceanpara and tripfev. . Implemented dual 128KiB Oki sample banks for Chaoji Dou Dizhu. Use uploaded XOR table. Use transliterated title. . Patch out 'Chess Challenge II' startup checks to aid in verifying decryption. Added enough inputs to make the game playable. . Added more RAM for Extra Draw. Fixed graphics loading and decoding. Changed year to 2001. Improved ROM labels and added note about additional 8255 PIA. Added second 8255 PPI. Second PPI is installed in memory map, but no I/O connected to it yet. . Fixed decryption for Fruit Paradise. Hooked up I/O, sound banking and added layout. . Improved Jungle King 2002 inputs. Identified the inputs required to play and navigate the setup menus. Filled in DIP switches shown in service mode (haven't tested that all of them do what the name suggests). Added support for 36+10 wiring option and clickable layout. . Hooked up mahjong controls for Long Hu Da Man Guan. Fixed DIP switches. Only two banks of 8 switches connected directly to PPI ports. Filled in remaining settings. Added inputs for clone Long Hu Da Manguan Plus. Added preliminary sound banking. . Added inputs and identified I/O for Long Hu Zhengba 4. Hooked up hopper and mahjong keyboard. Route outputs through I/O ports. Implemented dual 128KiB Oki sample banks. . Confirmed 'Long Hu Zhengba III' uses the same IGS027A ROM as 'Long Hu Da Man Guan'. Correct sound samples region tag. Added inputs and preliminary sound banking. . Hooked up controls and DIP switches for Long Teng Hu Yue. Disabled link feature by default. Since this game doesn't have a hopper, for payouts, it's playable with the link feature disabled. Joystick and mahjong keyboard are both working. . Hooked up inputs, hopper and counters for Manguan Caishen 3. Route outputs through I/O ports. Implemented dual 128KiB Oki sample banks. . Hooked up inputs and joystick inputs for Manguan Zhizun (V101CN) and clone Manguan Zhizun (V100CN). Route outputs through I/O ports. Note: Output routing is different depending on the control panel type for thesse games, so it needs PORT_CONDITION or it will give a "hopper empty" error. Correct year. . Hooked up I/O and added layout. Hooked up sound banking for Ocean Paradise. Use standard IGS double/small/take/big button arrangement (layout\oceanpar.lay). . Added inputs for Que Long Gaoshou. Simplified graphics ROM address unscrambling for Sheng Dan Wu Xian (igs\igs017_igs031.cpp). . Hooked up I/O for Shuang Long Qiang Zhu 3. Added inputs and joystick for Zhongguo Chu Da D. . Added DSW read. Use set_ioport instead of trampolines for PPI b/c. Initialize m_dsw_io_select to 7. Removed tilemap ROM unscrambling for zhongguo and related games. Fixed some tile ROM loading. . Started hooking up outputs (hopper, counters, lamps, etc.). Correct PPI mapping. Added notes about Oki sample ROM contents. Added non-volatile RAM. . Cleaned up installation of varying numbers of PPIs, got rid of the chessc2 and gonefsh2 PPIs that don't really exist. - igs_m027_link.cpp: Removed 8255 that doesn't seem to exist here - igs_m027xa.cpp . Added outputs, second coin slot and clickable layout for Crazy Bugs. Promoted Crazy Bugs (V204US) and clones Crazy Bugs (V200US) and Crazy Bugs (V202US) to working. . Correct PPI mapping. Copied sound MCU interface and timer logic from igs_fear.cpp and use uploaded XOR tables when available. Fixed communication with sound MCU and improved inputs. m_ prefix for class variables. . Dumped XA microcontroller for Triple Fever (V108US) (matches Crazy Bugs). Hooked up proper inputs, lamps and layout for Triple Fever games. Only one version of Triple Fever crashes MAME. . Implemented add with indexed addressing mode for source. Used by clone Triple Fever (V105US) microcontroller program. The game no longer causes a fatal error, but hangs instead (cpu\xa\xa_ops.cpp). - igs017.cpp and igs_m027.cpp: Share IGS mahjong keyboard matrix between drivers (igs\mahjong.cpp) - jaguar.cpp: Correct mistaken "GPI0" to "GPIO" in comments - lastbank.cpp: Use ioport_array instead of live tags. Bump main CPU to /2 clock. Hopper hookup. - namcos86.cpp: Mark PCM MCU as NO_DUMP. Changed some single line comments to //. - nmk16.cpp: Get sprite DMA trigger from PROM, it's 2 scanlines earlier. Fixes discolored otter in 'Hacha Mecha Fighter' title screen after bootup (ID 08910). Hook up ssmissin/airattck vtiming PROM. - popobear.cpp: Hooked up one DIP bank - segas32.cpp . Updated some OSC info. Multi 32 master clock is 32MHz. Got rid of clock defines, it gets messy with MASTER_CLOCK_S32 and MASTER_CLOCK_M32, and especially 2 defines for the timer0 clock. . Small cleanup to code style consistency (sega\segas32.h, segas32_m.cpp and segas32_v.cpp) - sg1000a.cpp: Small note update - ssv.cpp: Adjusted sound levels so Mahjong Hyper Reaction isn't constantly clipping - vsnes.cpp: Fixed some save state and debugger issues. Use fixed size types for more data members and register more data members for save states. Suppress side effects for debugger reads. Use conventional read/write handler naming, made some variables const. - Armadillo Racing: Use trackball and provide option to use original 45 degree orientation - Avengers: Removed unneeded m1 trampoline, assume that unused palette bits in MCU rom are not a bad dump. - Diet Go Go: Added note about sprite roms - Double Crown: Misc cleanups. Pinpoint a bunch of DIPs. Converted to tilemap and fixed screen size. Preliminary hopper hookup. - Double Dealer: Use timing PROM contents to trigger video interrupts. Small cleanup. - Dream 9 Final: Added coin counters, coin lockout and hopper payout. - Flower: Added MACHINE_SUPPORTS_SAVE flag, slightly lower quantum. - Jin Hu Lu 2: Improved program decryption and descrambled GFX ROM - Karate Champ: Removed duplicate function - Kung Fu Fighters: Moved clone Kung Fu Fighters (IGS, v100) to cabaret.cpp driver - Oli-Boo-Chu: Tweaked refresh rate to ~62.5hz. Moved sound interrupts to scanline timer. Documented flip screen latch(?) usage. Seems to be debug or diagnostics? Added PCB references to the driver notes. Convert graphics definitons to macros. Reduced tag literal usage, more const specifiers. Reduced duplicate sprite drawing code. Converted palette to compute_resistor_weights (resistances are a guess). - Royal Poker 2: Fixed regression with hopper line_r - Super Cherry Master Plus: Dumped GFX ROM - Super Mario Bros. 3 (NES bootleg): Added note about smb3bl timer CPU ROM content. An oversize ROM is used with the content repeated multiple times. Also added CRC and SHA1 for a smaller ROM with the same content seen on some boards to comment. - Treasure Island (Subsino, set 1): Looks like clone New HUNTer (bootleg, set 3) uses a plain Z80 - Fixed rom names in cb2001.cpp and segas16a.cpp - Description changes of all amuzy.cpp, Chaoji Dou Dizhu, Cherry Bonus 2001 (V1.1I), Diet Go Go (Europe v1.1 1992.09.26, set 2), Diet Go Go (Europe v1.1 1992.09.26, set 3), Extra Draw (V100VE), Jin Hu Lu 2 (v412GS), Long Hu Da Manguan, Long Hu Da Manguan Plus, Manguan Caishen 2 (link version, extension, S110CN), Manguan Caishen 2 (link version, host), Manguan Caishen 3 (V101CN), Manguan Zhizun (V100CN), Manguan Zhizun (V101CN), New DongmulDongmul 2 (V1.2N), PuLiRuLa (World, dual PCB), PuLiRuLa (World, single PCB), Que Long Gaoshou, Riot (NMK), Riot (Woong Bi), Shuang Long Qiang Zhu 3 (China, VS107C), Super Cherry Master Plus (V1.6) and Zhongguo Chu Da D - Dipswitch fixes in amuzy.cpp, cabaret.cpp, dblcrown.cpp, igs_fear.cpp, igs_m027.cpp and igs_m027xa.cpp - Renamed (dietgoea) to (dietgoeb), (dietgoe) to (dietgoea), (dietgo) to (dietgoe), (mgcsh) to (mgcs2h), (mgcsl) to (mgcs2l), (p47b) to (p47bl), (scherrym) to (scherrymp), (sddz) to (cjddz) and (tripfev) to (tripfeva) - MAME . MEMORY SYSTEM: Added support for passing mem_mask parameter on 8-bit handlers (emu\emumem.h and emumem_aspace.cpp) . INPUT . Increase event queue size (input\input_common.h) . Empty event queue on resets (input\input_win32.cpp and input\input_sdl.cpp) . Set RIDEV_INPUTSINK flag because of missed keyup events, causing stuck inputs (input\input_rawinput.cpp) (ID 08789). . Made DIP switch location validity errors more precise (emu\ioport.cpp) . Convert more string posting methods to std::string_view (emu\natkeyboard.cpp) . Got rid of [DECLARE_]CUSTOM_INPUT_MEMBR - it's just obfuscation at this point (emu\ioport.h) . Added 32.2159_MHz_XTAL (emu\xtal.cpp). C++ style comments, remove list of xtals that could be purchased via digikey in 2008 (emu\xtal.cpp). . Fixed error popmessage param index (imagedev\snapquik.cpp) . MiniMAWS: Removed Python 2 support (scripts\minimaws\minimaws.py). Use python3 superclass method call syntax (scripts\minimaws\lib\*.py). - Compiling . Correct some save_pointer usage (atari\atarixga.cpp, irem\redalert_v.cpp, konami\k001006.cpp, misc\videosaa.cpp, sega\315_5338a.cpp and sega\315_5649.cpp) . Added out-of-line destructors to various device classes that aren't templates and aren't in anonymous namespaces . No need for offs variable in tilemap mappers (baraduke.cpp, digdug.cpp, galaga_v.cpp, mappy_v.cpp, skykid.cpp, warpwarp_v.cpp, pacman_v.cpp and schick.cpp) . Removed vestigal execute_input_lines() and execute_burn override (emu\diexec.cpp) . Don't use image_error::BADSOFTWARE for things that aren't software list errors . Bumped GitHub CI to three simuataneous jobs for Windows and Linux - this should be OK with 16GB RAM. 0.269 - New Non-Working games: Cai Jin Shen Long (link version, extension, S111CN), Cai Jin Shen Long (link version, host), Dancing Bells, Geki Makaimura, Jin Hu Lu 2, Long Hu Da Man Guan, Long Teng Hu Yue, Magical Jack (VA 4.00), Magical Jack Plus (VA 6.03), Manguan Caishen (link version, extension, S110CN), Manguan Caishen (link version, host), PK - New Exciting Poker!, Poker & 21, Tropical Fruits (V. 24-06.00 Rev. 4.0), Turbo PK, 'unknown WHT gambling game' and Wan Wan Dash - New clones: Crazy Balls (Bontempi), Fruit Genie (Version 1-1-03, set 2), Fruit Genie (Version 1-1-03, set 3), Fruit Genie (Version 1-1-03, set 4), Fruit Genie (VT 2.11), Heavy Barrel (US, revision 3), Hyper Street Fighter II: The Anniversary Edition (Japan 040123), Long Hu Da Man Guan Plus, Magical Jack (VA 2.0), Magical Jack (VA 3.11), Magical Jack (VA 3.30), Magical Jack Plus (VA 6.01), Manguan Caishen (China, V106CS), Quiz Gakuen Paradise (Japan, ver. 1.02), Quiz Gekiretsu Scramble (Japan, prototype), Shuang Long Qiang Zhu 2 VS (China, set 2), Tarzan Chuang Tian Guan (China, V110), Te Yi Gong Neng (China, V632C), Tic Tac Trivia (6221-25, U5-0E, 05/08/86, UK), 'Umi de Poker / Marine Paradise (Japan, newer)' and X-Men Vs. Street Fighter (Japan 970113). - New PinMAME games: Pentacup (rev. T) - New drivers: boramz80.cpp, igs_m027_link.cpp, igs_m027xa.cpp and whtm68k.cpp - New devices: st_m29w640gb and upd7220a - New Clrmamepro: https://mamedev.emulab.it/clrmamepro/#downloads - Bob Zed (What's new video): https://youtu.be/7pkx19m02x4 - CPU . DEC T11: Improved interrupt handling on K1801VM1 CPU, misc fixes. Allows bus error handlers on (MESS) Elektronika BK to deal with interrupt from STOP key (causes a HALT-mode IRQ and triggers access to unmapped region at 177674). Changed PC display to octal. Made clear_virq/raise_virq safer (machine\pdp11.h). . Intel 8086: Make "out dx,al" output masked AX on data bus (i86\i86.cpp) . MCS-48: MCU reset sets bus to hi-z if ea=0. Improved EA pin and added it to Mario Bros.. Shorthand variable types (mcs48\mcs48.cpp). . NEC uPD7751: Renamed n7751 to upd7751 - SOUND . SSi TSI S14001A: Shorthand variable types. Small cleanup. Removed statistics. Use logmacro for debug msgs and device_rom_interface (sound\s14001a.cpp). . TMS5110/TMS5220: Renamed extract_bits to read_bits (sound\tms5110.cpp and sound\tms5220.cpp) - DEVICE . Flash ROM: Added ST M29W640GB 8K Flash device (machine\intelfsh.cpp) . Floppy: Removed HFE image format from the general list for rewrite (imagedev\floppy.cpp) . K052109 Tilemap Generator: Removed the color kludge for xmen/gradius3. Proper handling (init/save) of new m_addrmap variable (konami\k052109.cpp). . MC146818 RTC: Implemented Valid RAM and Time (VRT) register (machine\mc146818.cpp) . Z80 DMA Controller: Burst mode and refactoring (machine\z80dma.cpp) - alien.cpp: Changed dokodemo and wontame to use boot loader ROMs from pingu/gekimara instead of handmade hack. Note: Needs verification if these games really use same boot ROMs. - cntsteer.cpp: QA cleanup, use data_pending_callback for soundlatch irq. - deco_ld.cpp: Converted to tilemap. A few less literal tags. - gms.cpp: Added preliminary reels support - igs_fear.cpp: Added save SRAM/NVRAM. Tidy up inputs (F2 service key, single button, no trackball on fearless). - igs_m027.cpp . Added IGS027A internal ROM dumps for crzybugs, fruitpar, jking02, lhdmg, lhdmgp, lthy, mgcs3, mgzz, mgzza, qlgs, slqz3 and zhongguo. Allow slqz3 to show something. . Added decryption for lhdmg and lhdmgp. Fixed decryption for mgcs3 and mgzz. - igs_m027_link.cpp: Added IGS027A internal ROM dumps for cjslh and mgcsh. Preliminary decryption for the extension sets. - igs_m027xa.cpp . Moved sets with Philips MX10EXA CPU (crzybugs, haunthig, tripfev and wldfruit) from igs_m027.cpp to igs_m027xa.cpp for now. . Dumped MX10EXA for crzybugs US sets and wldfruit, matches dumps for crzybugsj and haunthig. - igs017.cpp: Moved sprite/tile gfx decryptions out of driver into video device. Fixed a regression with Super Tarzan. - metro.cpp: Split driver state class for different hardware configurations. Suppress side effects for debugger reads. Moved save state registration and other initialization to machine_start. Reduced literal tag usage and runtime tag lookups. Cleaned up switch matrix reading. - neogeo.cpp and midas.cpp: Fixed display timing related parameters (neogeo\neogeo_spr.h). Fixed zoom table RAM size. Note: The maximum allowed access is 64K bytes (neogeo\midas.cpp). - nightgal.cpp: Inputs cleanup - quizdna.cpp: Cerified DIPs for gakupara and quizdna - sderby.cpp: Improved clone Croupier (Playmark Roulette v.03.09) and Magic Touch a bit. Need PIC dump and core to be playable. - Animal Wonders: Got game to boot - Au: Combine program rom files to match known set (same rom contents) - Battle Gear 2: Documented hdd - Bu Bu Car: Added CPLD dump - Cherry Master I: Redumped GFX ROM for clone Hamburger House 9. - Cosmic Cop: Decapped and added MCU for clone Gallop - Armed Police Unit (Japan, M72 hardware) - Dance Dance Revolution Solo Bass Mix: Implemented proper MP3 decryption algorithm - Football Power: Added notes and ROM placeholder for Football Power I/O PCB. Note: Game has a small PCB inside the ball controller, very similar to the one found on Gaelco Football, with two accelerometers and a PIC. - Mario Bros.: Improved EA pin and added it to Mario Bros (mcs48\mcs48.cpp). Mark sound MCU as NO_DUMP. Removed USE_8039 and added note about soundrom hack. Removed old changelog from comments. - Mirage Youjuu Mahjongden: Minor cleanup - Moonquake: Added ROM locations and improved documentation. Note: Information compiled from pictures of an eBay auction for a Moon Quake cart. Flyer in the same auction shows a picture of a Moon Quake cart with U12 & U18 (ROM5L/H) populated but the actual cart for sale had these 2 sockets unpopulated. That cart pictured might have been a dev or prototype cart and the production versions were reduced down to not need the extra ROM chips. - Puzzle Time: Cleanups. Make video blinking more sensical. Converted custom ticket handling to ticket_dispenser_device and EEPROM/ticket to portw. Avoid potential out-of-cliprect bitmap layer drawing. - Revelations: Provided a default NVRAM - Speed Up: Added note and ROM placeholder about coin distribution - Star Rider: Replaced bad Processor Interface board (PIF) program ROM dump - Target Panic: Increased irq frequency. Update notes (ID 07797). - Thunder Dragon: Improved controls and scrolling for clone Thunder Dragon (bootleg with reduced sound system). IRQs related problems remain. - unknown Chang Yu Electronic gambling game 2: Added VBL NMI and hook up the YM2413 OPLL - unknown Labeled 'WU- MARY-1A' Music by: SunKiss Chen . Improved peripherals. Fixed PSG and 8279 clock frequencies. Save contents of battery-backed static RAM. Cleaned up inputs. . Use an I/O port finder array. Fixed I/O port selection. Fixed LED active polarity in layout (layout\marywu.lay). - X-Men . Added service switch inputs. Note: Reverse-engineered schematics: https://github.com/jotego/jtbin/blob/master/sch/xmen.pdf . Workaround for broken right side screen colors in clone X-Men (6 Players ver ECB) - Fixed rom names in gei.cpp, igs_m027.cpp, merit.cpp and mquake.cpp - Description changes of Au (location test), Barmy Army, Crazy Balls (NAT), Croupier II (Playmark Roulette v.03.09), Ding Dong Bells (B Gaming Technology), Fruit Genie (Version 1-1-03, set 1), Heavy Barrel (US, revision 1), Man Guan Zhi Zun (V101CN), Max A Million (set 1), Max A Million (set 2), Quiz Gakuen Paradise (Japan, ver. 1.04), Ring & Ball (Ver. 2.6), Super Kids / Jiu Nan Xiao Yingxiong (S019CN) and Umi de Poker / Marine Paradise (Japan, older) - Dipswitch fixes in goldstar.cpp, igs_m027.cpp, jungleyo.cpp and bnightgal.cpp - Renamed (hbarrelu) to (hbarrelua), (hsf2j1) to (hsf2j2), (mgzz) to (mgzza), (mgfx) to (mgzz), (umipoker) to (umipokera), (xmvsfjr3) to (xmvsfjr4), (xmvsfjr2) to (xmvsfjr3), (xmvsfjr1) to (xmvsfjr2) and (xmvsfj) to (xmvsfjr1) - MAME . MEMORY SYSTEM: Fixed possible nullptr crash. Added exists() getter (emu\emumem.h and emu\emumem_mview.cpp). . UI . UI pointer options: Set inc/dec to 1s (hold shift for shorter 0.1s). Allow 0.0s hide delay to disable pointer. Warning message if delay is set to 0.0s. . Be consistent with custom_render passed variable names (ui\*) . Changed driver status "Overall:" to "Status:" (ui\selmenu.cpp and ui\simpleselgame.cpp) . Avoid floating point equality comparison. Fixes pointer input not working on menus at some window sizes in 32-bit x86 builds (ui\menu.cpp). . INPUT: Offset analog value by half a step because of rounding issue when crossing 0 (crossing 0 now takes 1 step instead of 2, and there's 0.5 step wiggle room at edges) (emu\ioport.cpp) . Consolidated drivers in single files (shangha3.cpp) - Debugger . Don't sleep waiting for events on debugger update (debugger\debugqt.cpp) . Added -debugger_host option. This allows setting the host to 0.0.0.0 to accept connections from outside of localhost. Command line options need to be documented. Don't assume C strings returned as option values remain valid indefinitely. Fixed wording for option description (debugger\debuggdbstub.cpp and lib\osdobj_common.cpp). . Fixed bad display if view is scrolled horizontally (debug\dvdisasm.cpp) . Don't restrict maximum window sizes (debugger\win\debugwininfo.cpp) 0.268 - New games: Au (Swimmer conversion) - New Working games: The Couples (set 1), The Couples (set 2), The Couples (set 3), Dodge City (2131-82, U5-0D), Dodge City (2131-82, U5-50), Dodge City (2131-82, U5-0 GT), Fearless Pinocchio (V101US), Match'em Up (6221-51, U5-1), Match'em Up (6221-55, U5-1, German), Megatouch 5 (9255-60-01 R0C, Standard version), Montana Super Draw (4436-05, U5-0), Revelations, Super Kids (S019CN), Super Poker (v102UA), Super Poker (v200UA), Super Poker (v201UA), Super Poker (v203US), Super Poker (v205US), Super Poker (v306US) and Superstar (4435-81, U5-1) - New Non-Working games: Battle Gear 3 (Ver.2.01A), Boo 1000, Dice Master, 'Hard Puncher Hajime no Ippo 2 - The Fighting! - Ouja e no chousen (VER.2.00J)', Hill Climber, Icescape (V104FA), Jungle King 2002 (V209US), Lucky Cross (V106SA), Multi-Action 6711-14-R0A, Multi-Action 7558-01-R4, Multi-Action 8340-01-R1, Multi-Action 9800-20-R0, Ocean Paradise (V105US), Olympic 5 (V112US), 'Sega Yonin Uchi Mahjong MJ Network Taisen Ver. (Update Disc Ver.3.000, Japan) (CDP-10002F)', Sutjaro Haeyo Deluxe, 'Terebi Denwa Thomas the Tank Engine and Friends', Triple Fever (V107US), UFO A La Carte and Wild Fruit (V208US) - New clones: Crazy Bugs (V200US), Crazy Bugs (V202US), Crazy Bugs (V204US), Dodge City (9131-02, U9-2B), Grand Prix (Treasure Bonus bootleg), Guttang Gottong, Hamburger House 9, Haunted House (IGS, V109US), Jingle Bell (v200US), Link (Korean bootleg of Atari Tetris), Miss World 2002, Missile Command (rev 1, A035467-01 PCBs), Missile Command (rev 2, A035467-01/03 PCBs), Missile Command (rev 3, A035467-01/03 PCBs), Ocean Paradise (V101US), Olympic 5 (V107US), Pop'n Music Animelo 2 (JAA), Pop'n Music Animelo 2 (JAA, license expired), Sega Yonin Uchi Mahjong MJ (Update Disc Ver.1.007, Japan) (CDP-10002A), Sega Yonin Uchi Mahjong MJ (Update Disc Ver.1.011, Japan) (CDP-10002C), Sega Yonin Uchi Mahjong MJ Network Taisen Ver. (Update Disc Ver.2.000, Japan) (CDP-10002D), Sega Yonin Uchi Mahjong MJ Network Taisen Ver. (Update Disc Ver.2.002, Japan) (CDP-10002E), Street Smart (bootleg of World version 1), Super Glob (Pac-Man hardware, bootleg) and WOW New Fantasia - Removed games: Police 24/7 (ver EAD, alt), Thrill Drive 2 (ver AAA, alt), Thrill Drive 2 (ver AAA, alt 2), Tsurugi (ver EAB, alt), Wild Fang (year hack?) and World Combat (ver AAD:B, alt) - New drivers: boo.cpp, m102.cpp, pspikes.cpp and stella8085.cpp - New devices: dio98624, hp9133, k056230_viper, ldp1450hle, mx10exa, ncr53c825_pci, r65c52, tms32020, toshiba_tc58256aft and xa - Bob Zed (What's new video): https://youtu.be/kwxijouhSA0 - CPU . Fujitsu Micro F2MC-16: Flesh out CPU emulation. Support INT #vct8, LSL A, R0 and FILSWI instructions. Support many more EA-type instruction modes. Prevent MOVS(W)I and FILS(W)I from clobbering RW0 if it lies within the destination range (f2mc16\f2mc16.cpp). . Hitachi H8: Added system clock getter (divided clock()) (h8\h8.h, h8\h8_sci.cpp and h8\h8_timer8.cpp). Added safety check in internal_update for possible negative ticks (h8\h8_sci.cpp). . Intel I386 . Some limit checks. Note: This a hack, only use if there are sync problems with another cpu (i386\i386.cpp). Disable logging. . Correct buggy fxsave and fxrstor opcodes and let Chihiro show 3D again (i386\pentops.hxx) . Correct errors in pentops.hxx caused by bad mmxprolog routine. Currently the mmxprolog routine can raise a #NM exception. But the caller will execute the MMX opcode anyway, unfortunately by fetching the bytes from the first instruction in the exception service routine. This adds a bool return value to mmxprolog so the caller can return too without making a mess (i386\pentops.hxx). . x87 stack top set to 0 when entering MMX state, generate #NM only from TS bit. MMX opcodes generate #NM only when TS is set, EM bit generates #UD (i386\pentops.hxx). . Correct various MMX and SSE opcodes in pentops.hxx. Expecially for the case when the source and destination registers are the same. Moved a couple Cyrix routines together with the other ones (i386\pentops.hxx). . Fixed cycles when leaving rep when out of cycles and count == 0 (i386\i386ops.hxx) . Motorola MC6809: Added sync acknowledge callback (m6809\base6x09.lst and m6809\m6809.cpp) . Motorola MC68000 FPU: Fixed fmovem reads for mode=2. Note: 'Updated 680x0 FPU to Softfloat' in MAME 0.267 changed the write part, but missed to convert the read part. This fixes booting HP-UX 9 on hp9k_3xx (m68000\m68kfpu.cpp). . Philips MX10EXA: New Philips XA CPU and disassembler . Texas Instruments TMS32020: Added primary TMS32020 support . Texas Instruments TMS32025: Allow stack push/pop to be inlined . Zilog Z80: Fixed compile issue (z80\z80ndasm.cpp). Small cleanup (z80\z80dasm.cpp). Reset m_ref when PC is changed through state_import (z80\z80.cpp). - SOUND . Acclaim RAX: Use device_mixer_interface for sound route. Cleanups. Use C++ style comments for single line comments. Suppress side effect for debugger reads. Make variables constant. Fixed spacing. Reduced literal tag usages. Added variables into save state (shared\rax.cpp). . Beep and DAC: Increased sample rate in favor of better resample quality. Small cleanup. Added note about buffer size (sound\beep.cpp and sound\dac.cpp). . Biquad Filter: Added protection against Biquad Filters producing aliased output or other noise if the stream sample rate is below the cutoff of the filter. Converted to use logmacro.h and added some additional optional log messages. Fixed some incorrect calculations for the MFB band-pass filter parameters (sound\flt_biquad.cpp). . Yamaha YMF292-F SCSP: Use util::sext for sign extension and use lowercase hexadecimal literals (sound\scspdsp.cpp) - DEVICE . ATA: Clear DMA modes when switching to PIO mode. Do not log reads when reading from the debugger (machine\atahle.cpp). . Floppy: Drive busy bits should not be cleared until a SIS is executed (machine\upd765.cpp). Note: The upd765 does not clear the drive busy bits until you issue a sense interrupt status command. Without this fix CP/M Plus on the QX-10 gives disk I/O errors because it expects the busy bit to stay set until it has a chance to issue the SIS command. . K056230 LANC: Refactor regs_r/_w to regs_map. Preliminary LANC support for viper.cpp. . PC hardware: Connect iochrdy properly. Also don't forward the same thing more than once - it could be std::move'd out the first time (machine\genpc.h). . Rockwell 65C52 DACIA: Added Rockwell 65C52 Dual Asynchronous Communication Interface Adapter. A slightly tweaked combination of two 6551 ACIAs on a single chip. Correct bug associated with IRQ handling. Simplified update_irq. Added call to update_irq at each place IER or ISR changes and debugger side effects check on reads (machine\r65c52.cpp). . RS-232 Port: Added Mouse Systems serial mouse to default RS-232 devices (rs232\rs232.cpp). . Sony LDP-1450: Added HLE of player and hookups to some games that use it. Tweaked timings. Added some more comms and text overlay logging. Added multibyte command support (machine\ldp1450hle.cpp). - aerofgt.cpp, crshrace.cpp, f1gp.cpp, fromance.cpp, gstriker.cpp, inufuku.cpp, pspikes.cpp, suprslam.cpp, taotaido.cpp and welltris.cpp . Implemented device_gfx_interface to decode graphics and use delegates for priority mapping (vsystem\vsystem_spr.cpp). . Implemented device_gfx_interface to decode graphics and fixed issues with save states (vsystem\vsystem_spr2.cpp). . Merged aerofgt.cpp driver into single file and moved every set but aerofgt itself into a separate driver (pspikes.cpp). Reduced code duplication. . Use generic graphics decoding layouts for crshrace.cpp, suprslam.cpp and welltris.cpp. . Tidied bootleg sprite drawing code in f1gp.cpp . Fixed sprite delay in gstriker.cpp . Added comment about possibly incorrect tilemap offset to inufuku.cpp . Use generic graphics decoding layouts for welltris.cpp - alpha68k_i.cpp: Small cleanup to spacing - bombjack.cpp: Avoid needing to remove and replace devices in machine configuration - cave.cpp: Use actual resonator value for the OKI6295 on donpachi, jumbogod, paccarn, paceight and pacslot. - cclimber.cpp: Improved driver. Small cleanup. - cesclass.cpp: Break LCD output in two screens. Implemented bitmap DMA trigger (fix screen tearing). Replaced palette with amber shades. - chihiro.cpp . Correct buggy fxsave and fxrstor opcodes and let Chihiro show 3D again (i386\pentops.hxx) . Correct errors in pentops.hxx caused by bad mmxprolog routine (i386\pentops.hxx). Fixes graphics goes blank in all Chihiro games (ID 08617). - cops.cpp: Fixed loose input that stopped Nova games from booting. Srcclean and tidy. - igs_fear.cpp . New Philips XA CPU and disassembler. This adds basic execution to XA core. It emulates enough of the XA to give fearless and superkds working sound. Only the exact forms of the opcodes used so far have been implemented. No optimizations have been done, use of const, inline use, templates etc. are planned for a future update; code is still primed for debugging and development. Overall structure, code style are not 100% final (see above) and will be adjusted as the CPU is better understood. Peripherals, interrupts etc. are not yet fully implemented, nor is anything outside of the page zero mode used here due to lack of test cases. . Hooked up Philips MX10EXA CPU to fearless and superkds. Fixed fearless decryption. Added IGS027A dump. . Added timer and interrupt, RTC, input and dipswitch and fipx in sprite drawing. Promoted Fearless Pinocchio and Super Kids to working. - igs_fear.cpp, igs_m027.cpp and pgm.cpp: Fixed endianness issue for 32-bit games (igs\pgmcrypt.cpp) - igs_m027.cpp: Hooked up Philips MX10EXA CPU to crzybugs and haunthig - macrossp.cpp: Cleaned up code. Marked quizmoon as having imperfect graphics and sound due to incorrect blending and sound in title scene. Use object finder arrays and function templates for tilemaps and related stuff. Use generic graphics decoding layouts. Reduced literal tag usage and improved ROM region names. - merit.cpp . Implemented proper use of bit 0 in m_extra_video_bank_bit. Promoted Match'em Up (6221-51, U5-1) and clones Match'em Up (6221-55, U5-1 German), The Couples (set 1), The Couples (set 2) and The Couples (set 3) to working. . Made the video control bits a bit clearer . Added preconfigured NVRAM to avoid error on boot. Fixed 'Points Per Coin' dipswitch. Promoted Montana Super Draw (4436-05, U5-0) to working. - model1/2.cpp: Measured clocks (shared\segam1audio.cpp) - model1/2/3.cpp: Fixed volume. Added variables into save states. Cleanups. Moved devices into private. Initialize variables at machine start. Removed hardcoded tags and literal tag usage. Added notes. Fixed spacing. Constantize values. Use correct typename values (sega\dsbz80.cpp). - namcos10.cpp: Preliminary Namco MEM/IO board support. Added Toshiba TC58256AFT flash device (machine\nandflash.cpp). - nmk16.cpp . Extract NMK004 internal ROM using a new technique. It was dumped from two different devices taken from Acrobat Mission and Thunder Dragon boards. The dump was exactly the same from those 2 devices, so I consider it a good and reliable dump. It was achieved using a custom tool to read internal ROMs from TLCS90 MCUs: https://github.com/sergiopolog/tlcs90-rom-reader. Previously existing dump made by 'trap15' only differs in 3 bytes starting at 0xFBD address. That difference could be caused by the method used to extract the ROM back then. Actually, I talk to him about it and he stated that area around 0xFBF address was marked as unsure when he carried out the process (nmk\nmk004.cpp). . Adjusted values for proper screen size, timings and interrupts according to real hardware. Fixed timings and flip-screen for NMK16 games. Removed MACHINE_NO_COCKTAIL flag from airattck, bjtwin, macross2, nouryoku, sabotenb, ssmissin and tdragon2 and clones. Added MACHINE_NO_COCKTAIL flag to tharrier and clones. Fixed background offset for some Afega games. Fixed offset in the additional bg layer of strahl and bioship. Fixed flipscreen on bioship and vandyke. . Fixed max sprite clock related to screen size. Upgraded interrupts trigger system based on PROM contents. Added info about screen resolutions and timings. Fixed NMK16 prom timing. . Merged powerins.cpp into nmk16.cpp driver to make use the new interrupt system. Fixed interrupts config for clones Power Instinct (USA, bootleg set 2) and Power Instinct (USA, bootleg set 3). - segaufo.cpp: Assume NMI enable is on IO2 CNT1. Fixed regression with debug popmessage. Small cleanups. - snesb.cpp: Fill in missing DIP switches for several games. Added continue counter init for Wild Guns (SNES bootleg). - spoker.cpp: DIP switches are a switch matrix - viper.cpp . Preliminary K056230 LANC support. Applies portions of Hydreigon's basic LAN controller implementation for Konami Viper (PR #12546). Fixes gameplay hangs/crashes in gticlub2, xtrial, code1d and wcombat. . Hookup World Combat inputs. Updated QA. . Removed all clones with alt CF dumps of the same version: p911ea, thrild2ab, thrild2ac, tsurugie and wcombatb. Marked clone Thrill Drive 2 (ver EAA) CF dump as bad (blue screens because of it). - zn.cpp: Cleanups. Suppress side effects for debugger reads. Make variables constant. - 64th. Street: Use default 'Lives' setting from manual - Buggy Challenge: Improved sky gradient blending. Hookup unused DSW1:8. - Cherry Master '91: Redumped GFX rom. Fixes spurious white dots on some reels. - Cosmo Gang: Small cleanups - Daytona USA: Dumped audiocpu roms for clone Daytona USA - Dodge City: Promoted clones Dodge City (2131-82, U5-0D), Dodge City (2131-82, U5-50) and Dodge City (2131-82, U5-0 GT) to working - FreeWay: Added very preliminary drawing and palette decoding - Gaelco Football: Added notes and rom placeholder - Megatouch 5: Added NVRAM to clone Megatouch 5 (9255-60-01 R0C, Standard version). Promoted game to working. Note: Game will NOT start without a valid NVRAM. - Midnight Landing: Use TMS32020 DSP instead of TMS32025 - Monza GP: Dumped a Monza GP original PCB which had the same roms as clone Monza GP (bootleg). Dropped the bootleg designation from the title. - Multi-Action 6710-21: Hacked a bit to make game show something. It starts with game malfunction message. It can be started by switching IN2:2 on, then pressing discard 3. - Odyssey: Added NCR53C825_PCI stub - Revelations: Added CHD. Create an HLE implementation of the Sony LDP-1450 laserdisc player. Added Rockwell 65C52 Dual Asynchronous Communication Interface Adapter. Promoted game to working. - Seibu Cup Soccer: DIP Switches updates for clone Goal! '92 - Street Smart: Added PLDs to clones streetsm1, streetsmj and streetsmw. - Super Poker (v306US): Promoted Super Poker (v306US) and clones Super Poker (v102UA), Super Poker (v200UA), Super Poker (v201UA), Super Poker (v203US) and Super Poker (v205US) to working. - Superstar (4435-81, U5-1): Promoted game to working - Terra Cresta: Fixed the filters and mixing resistors on clone Terra Cresta (YM2203)'s YM2203 SSG channels A+B-tied-together and C being inadvertently swapped. Fixes BGM bass is not playing (ID 08886). Added a note that this circuit needs to be converted to a netlist to be accurate due to the unusual hookup, and added a boost factor to the SSG channels to temporarily work around that fact. - Tetris: Redumped OKI ROMs for clone Tetris (bootleg set 7, with OKI M5205) - Zing Zing Zip: Made clone Zing Zing Zip (bootleg) go a bit further, marked its Oki ROM as bad. Main blocker is the different sprite format. - Fixed rom names in expro02.cpp, missile.cpp, namcos2.cpp, merit3xx.cpp, naomi.cpp and toaplan1.cpp - Description changes of Deluxe Trivia ? Whiz Edition 5 (6221-70, U5-0A), Deluxe Trivia ? Whiz Edition 5 (6221-75, U5-0, Vertical), Dodge City (9131-02, U9-2T), Grand Prix (Dutch) (Bellfruit) (Scorpion 1), Guttang Gottong (Sega license), Guzzler (Swimmer conversion), Haunted House (IGS, V101US), Match'em Up (6221-55, U5-1, German), Miss World 2002 (Daigom license), Monza GP (set 1), Monza GP (set 2), Phraze Craze (6221-40, U5-3, Expanded Questions), Phraze Craze (6221-40, U5-3A, Expanded Questions), Phraze Craze (6221-45, U5-2, Vertical), Pop'n Music Animelo 2 (JAC), Pop'n Music Animelo 2 (JAC, license expired), Special Forces - Kung Fu Commando, Super Glob (Pac-Man hardware, German bootleg), Super Kids (S019CN), Superstar (4435-81, U5-1), Tecmo Knight (US), Tic Tac Trivia (6221-22, U5-0, Vertical), Trivia ? Whiz Edition 2 (6221-05), Trivia ? Whiz Edition 2 (6221-05, Alt Sex trivia), Trivia ? Whiz Edition 3 (6221-04, U5-0E, Vertical), Trivia ? Whiz Edition 3 (6221-05, U5-0C), Trivia ? Whiz Edition 3 (6221-05, U5-0D), Trivia ? Whiz Edition 3 (6221-05, with Sex trivia III), Trivia ? Whiz Edition 4 (6221-10, U5-0A), Trivia ? Whiz Edition 4 (6221-13, U5-0B, Vertical, Alt Sex trivia), Trivia ? Whiz Edition 4 (6221-13, U5-0B, Vertical), UFO Catcher 7, Vimana (World, rev A), Vimana (World)', Wild Fang (Japan), Wild Fang / Tecmo Knight (World?) and WOW New Fantasia (Explicit) - Dipswitch fixes in buggychl.cpp, cesclass.cpp, freeway.cpp, goal92.cpp, megasys1.cpp, merit.cpp, merit3xx.cpp and merit3xx.cpp - Renamed (crzybugs) to (crzybugsj), (diamond) to (diamrun), (dodgectya) to (dodgectyba), (dodgectyb) to (dodgectybb), (dodgectyc) to (dodgectybc), (gutangtn) to (gutangtns), (haunthig) to (haunthiga), (jingbell) to (jbell157us), (jingbella) to (jbell155ue), (jingbellb) to (jbell153ue), (jingbellc) to (jbell141ue), (jingbelli) to (jbell133i), (ma7558) to (ma7558r0), (missilea) to (missilebl), (missw02) to (missw02d), (mj1) to (mj1b), (monzagpb) to (monzagpa), (powb) to (powbl) and (unkmerit) to (msupstar) - MAME . VIDEO RENDERING SYSTEM . Generate cosine table at compile time. Made cosine table constexpr, got rid of lambda and loop. Appease complilers that don't believe in constexpr trigonometry. Don't use class template deduction with large initialiser list that upsets Clang (emu\rendersw.hxx). . Added decoder for xxxxxBBBxGGGxRRR format (emu\emupal.cpp) . UI . Do an extra item reset the next time through the event loop after making a change. Updated DIP switch and configuration field values aren't seen in the port value until the next I/O port manager frame update, and hence enable state won't be seen until then (ui\confswitch.cpp) (ID 08878). . Dismiss error messages on pressing left or right (ui\selmenu.cpp) . Updated "CPU Tester" sample code so it will mostly build and work again. Only remaining issue is that m_icountptr is now private, so it can't set remaining cycles (emu\drivers\testcpu.cpp). . Merged drivers in single files (aerofgt.cpp, prehisle.cpp and snk68.cpp) - Compiling: Various cleanup - Debugger: Fixed crash on hard reset (debugger\qt\mainwindow.cpp and windowqt.cpp)