- New games: Dance Dance Revolution Kids (GQAN4 JAA) and Muscle Ranking Kinniku Banzuke Spray Hitter
- New Working games: Buttobi Striker, Dam Dam Boy, Fuusen Pentai, Kattobase Power Pro Kun, Korokoro Pensuke, Lucky Girl (Wing), Mario Roulette, Pittanko Zaurus, Rushing Beat Shura (SNES bootleg), Shuriken Boy, Toki (Modular System), Tsukande Toru Chicchi and Yu-Gi-Oh Monster Capsule
- New Non-Working games: Challenge Girl (Falcon bootleg), Diana Elite, Dinoking Battle, Dinoking Kids, Dragon Dance (V1.02J), Eldorado (4.2), Knock Down 2001 (Japan, KD11 Ver. B), Laser Quiz Greece, Mirage World (satellite), Odeon Twister (v1.4), Scorpion (Jun 15, 1999), Texas Reels (Ver. 2.00), 'unknown Namco System 10 medal game (MTL1 SPR0B)' and War III Cherry Best
- New clones: Denjin Makai (set 1), Driving Force (Galaxian conversion, Seatongrove UK, E-0237), Enduro Racer (YM2151, FD1089B 317-0013A), Fantasy Story (set 2), Fighting Fantasy (Modular System), GunNail (location test), Klax (version 5, bootleg set 3), The Last Apostle Puppetshow, Match'em Up (German), Minky Monkey (Japan), New Cherry '96 (v3.1, B PCB), New Cherry '96 (v3.1C, G PCB), New Cherry '96 Special Edition (v3.55, C1 PCB), New Fruit Bonus '96 (v3.1, A PCB), New Fruit Machine (Ming-Yang Electronic, vFB02-01A), Pop'n Music 1 (ver JA-A, HDD 1.00), Pop'n Music 1 (ver KA-A, HDD 1.01), Quizard 3 (v3.4, German, i8751 DE 132 A1), Quizard 4 Rainbow (v4.2, Czech, i8751 TS142 CZ1), Scorpion (Oct 01, 1997), Seibu Cup Soccer :Selection: (bootleg, set 4), Super Bagman (version 5), VS Computer Mahjong and Wild Cat 3 (CMV4 hardware)
- New PinMAME games: Flashman and The Lord Of The Rings (3.00)
- New drivers: dinoking.cpp, ffantasy_ms.cpp, konamigs.cpp, merits.cpp, skopro.cpp and teamjocs.cpp
- New devices: arm710t, gdrom, mooncrst_sound, rtc4553, sega315_6154, spansion_s29gl064s and ymf276
- New Clrmamepro: https://mamedev.emulab.it/clrmamepro/#downloads
- New artworks
. 1942, abcop, astorm, breakout, crash, destroyr, pongd, rachero, scyclone, sharrier, skyraid, skysoldr, smash, spacedem, spacefb, swa, tourtabl and vball
. Updated 1941, 19xx, 720, aliencr, apb, asteroid, badlands, bankp, blazlaz, blstroid, crbaloon, csprint, cyberbal, decocass, defender, gaunt2, gauntlet, joust, joust2, keith, klax, ladybug, madalien, marble, paclandp, paperboy, rampage, roadblst, robotron, spyhunt, ssprint, stargate, superbug, tempest, timber, tomahawk, toobin, vindictr and xybots
. Fixed astdelux and swtrilgy default.lay
. ARM7: Switched to using logmacro and disabled logging by default. Added debug print ability for Happy Fish (V2 PCB, 302-in-1).
. DEC T11: Use octal for debug register state and disassembly. Fixed disassembly of SOB instruction. Fixed empty disassembler output for some invalid opcodes.
. Hitachi SH-3/4: Handle INTEVT register. Disable timers at reset.
. Intel I386: Fixed over/underflow result and zero div (i386\i386.h, x87ops.hxx). movzx r16 rm16 is an alias for mov (i386\i386ops.h)
. Intel i960KB: Fixed dissassembly format output (cpu\i960\i960dis.cpp)
. Microchip PIC16C62x: Correct rom memory size. Enabled ability to set configuration word.
. MIPS-I: Alignment checking/exceptions
. NEC V60
. Fixed XOR instructions to not change the carry flag. Added friendlier flags display in the debugger.
. Fixed AND and OR instructions to also not change the carry flag. NEG instructions should set or clear carry based on non-zero or zero results, not based on borrow.
. Sign-extend displacements for various addressing modes and DB/TB instructions. This seems to have regressed with the great disassembler refactoring.
. Hudson Soft HuC6280 PSG: Fixed noise, volume calculation and interface behavior related to manual. Modernized save states. Use shared index between wavefrom writing and sound playback. Fixed spacings/namings. Use correct/shorter type values. Added notes. Reduced unnecessary lines. Reference: https://archive.org/stream/PCEDev/HuC6280%20-%20CMOS%20Programmable%20Sound%20Generator%20Manual.
. MagicEyes VRender0 Sound Engine: Use struct for each channels and address map for sound interface and wave memory. Fixed wave address calculation and volume. Fixed channel starting behavior (fixes start position). Partially implemented envelopes and interrupts. Moved dynamic sample rate change behavior into device_clock_changed. Use operation clock related sample rate. Use shorter/correct type values. Reduced duplicates. Added notes. Reference: https://web.archive.org/web/200406281332...heet_v1.31.pdf.
. Signetics S2650: Changed to big-endian
. YM2612 OPN2: Fixed output bits (sound\2612intf.cpp). Added output bit variation (sound\fm2612.cpp).
. 3dfx Voodoo Graphics: Eliminated auto_alloc
. 8-bit ISA slot
. Provisional ready line interface
. Halt CPU by ISA READY line in (MESS) poisk1 and mc1502 FDC devices
. Cassette: Hopefully fixed cassette bugs (imagedev\cassette.cpp)
. Discrete Netlist
. Force invalidation of save states. Added netlist version information. This is used to enforce the invalidation of save states when the major/minor netlist version changes. This catches edge cases for which neither the size or names of saved items changes during releases.
. Workaround for a bug in MSVC (https://github.com/mamedev/mame/issues/6106). __VA_ARGS__ are expanded to a single token in MSVC, all other compilers expand to a list of tokens (netlist\plib\putil.h).
. Code maintenance. Introduced an additional absolute time type netlist_time_ext to identify whether absolute or relative time is used in the netlist code. Extend ptime code to allow operations between ptime derived types with different internal types. In addition rewrote main queue serve loops. Adds a very small performance increase.
. Dead code removal
. Make sure diodes step enough (netlist\analog\nld_generic_models.h). The diode model uses log-stepping as proposed in "Circuit Simulation" (Farid N. Najm) page 183. If the previous voltage was sufficiently negative the new voltage after a log step could not have increased enough to alter matrix and rhs vector. This bug surfaced in stuntcyc video signal mixing which uses a diode for the composite signal.
. Moved some functions to pmath
. Increased the time resolution from 1 nano second to 100 pico seconds. Make sure that icount and netlist internal time are better synched by tracking the remainder of the division. Fixed the netlist sound device. There is a one sample overflow every 13 seconds at 48000 Hz due to integer truncation which is now ignored. Added more doxygen documentation.
. Fixed overclocking and building with 128bit integers
. Checked and fixed conditional compile paths. Simplified memory allocation. Generalized signal handling.
. Fixed 741 opamp representation
. Implemented KONAMI filters using netlist into galaxian.cpp. This change improves accuracy and scalability. Added some notes about M51516L amplifier.
. Removed pthrow trampline as proposed by Vas. Identified throwing code by adding noexcept(false). Moved "connected term" information to setup code.
. Added CD4006 and CD4070 devices. Added TL084 opamp model. Clock now supports proxies, i.e. can be connected to analog devices. Fixed netlists using CLOCK. Added some comments. Fixed prg\nlwav.cpp.
. Added analog filters to System16A games with YM2151 and UPD7759
. Fixed-Frequency Monochrome Monitor: Added machine configuration switches for netlist drivers using the fixed frequency monitor (video\fixfreq.cpp). These are intended for debugging and setting up new netlist drivers. As a side effect one can emulate e.g. loss of synchronization. This commit also fixes a crash on Windows/BGFX by limiting screen refresh rates.
. IDE Hard Disk: Assign interface 'ide_hdd' (bus\ata\idehd.cpp)
. K052109 Tilemap Generator: Improved colors for K052109 games Shuriken Boy, Fuusen Pentai and Mario Roulette. Added hackfix for Mario Roulette scrolling, documented observed row/col scroll K052109 tilemaps issues.
. K056832 Tilemap Generator: Added tilemap priority
. Kaneko KC002/VU002 Sprites: Fixed drawing behavior. Fixed priority in enabled 'keep sprite' function. Splitted 'Copy temporary bitmap into screen bitmap' function and Getting sprite function.
. Microtouch Touchscreen: Added BIOS ROM load for MicroTouch device (not hooked up)
. PSX GPU: Set NTSC mode refresh rate to 59.82 for 240 and 59.94 for 480 screenheight. Fixes sync issues regarding beatmania IIDX games (video\psx.cpp). Refresh rate more decimals.
. S3 86C3xx: Get started on BitBLT support, gets Windows 3.1 usable with S3 Virge drivers (bus\isa\s3virge.cpp, video\virge_pci.cpp). Fixed height of mono pattern BitBLTs in 8 and 15/16 bpp (bus\isa\s3virge.cpp).
. S3 Graphics VGA: Make hardware cursor display correctly in 15bpp and 24bpp video modes for svga_s3 and s3virge (video\pc_vga.cpp)
. Samsung S3C24xx SoC: Converted to use logmacro. Removed redundant accessors.
. Sega DIMM Board: Added communication between SH-4 and security PIC and serial memories and with mainboard to DIMM Board plus some ram. Added memory controller entry to memory map of DIMM Board. Give the ability to activate the cpus in the DIMM Board to test it. Added binary files with serial memories contents (dimmspd.bin and 93c46.bin).
. Seiko Epson S-3520CF RTC: Various fixes and improvements. Added Epson RTC-4553 model.
. Signetics SCN2674 AVDC: Fixed premature address rollover with 16-bit extended addresses
- atarisy1.cpp: Hardware to generate interrupt 3 only exists on LSI Cart 3, 4 & cockpit boards, it is missing on TTL, LSI and LSI Cart 2.
- cdi.cpp: Decapped and dumped a German i8751 MCU for the Quizard 2 sets and a Czech i8751 MCU
- gaelco2.cpp: Fixed timing issued with DS5002FP
- galaxian.cpp: Implemented KONAMI filters using netlist. This change improves accuracy and scalability. Added some notes about M51516L amplifier.
. Fixed sprite delay. Added notes.
. Correct Explosive Breaker OKI bankswitching (tied into m_ym2149 port B)
- konendev.cpp: Hooked up correct RTC and DPRAM
. Misc updates. Added hopper, NVRAM and CCU. Added swap endian trampolines. Decode tiles. Driver can play some uPD7759 samples. (All games now playable)
. Improved colors for K052109 games Shuriken Boy, Fuusen Pentai and Mario Roulette. Fuusen Pentai is much improved.
. Added hackfix for Mario Roulette scrolling, documented observed row/col scroll K052109 tilemaps issues.
. Dumped color PROMs for Buttobi Striker
- konmedal68k.cpp: Fixed dipswitches. Added NVRAM and Coin Hopper to Kattobase Power Pro Kun, Korokoro Pensuke, Pittanko Zaurus and Yu-Gi-Oh Monster Capsule (Games now playable).
- micro3d.cpp: Preliminary Motorola MC68901 MFP cleanup. Sweeping rewrite of USART emulation (no longer based on device_serial_interface), adding support for 16x clock prescaler and data transition synchronization, break generation and detection, internal loopback and synchronous mode (machine\mc68901.cpp).
- missbamby.cpp: Added notes about undumped games on same hardware
. With the V60 fixes, IC4 of clone Wing War (US) appears to be a valid bad dump.
. Corrected a few more Virtua Fighter TGP rom bits. Demoted Virtua Fighter to MACHINE_NOT_WORKING. Note: Gameplay mechanics - specifically, collision detection - are significantly broken due to imperfect TGP RAM port emulation or hookup. This is observable in both attract mode and in-game. It seems to break when both characters attack at the same time.
. Create "screen" before "ioboard:screen"
. Added MACHINE_IMPERFECT_GRAPHICS and MACHINE_IMPERFECT_CONTROLS to Star Wars Arcade. Note: After recent changes, ship models periodically disappear for a frame or two during attract mode and while in-game. There are indeterminate issues with the analog controls in-game.
- namcona1.cpp: Updated chip types, keycus and ROM locations
. Added support for external irq line, used by DIMM Board, to dc_state class (machine\dc.cpp).
. Added external irq and reset out lines to ROM Boards base device. The external irq is connected only in NAOMI and NAOMIGD systems. External irq will be used by the DIMM Board.
. Added a new device for the 315-6154 system manager chip used in the DIMM Board. It is still incomplete but can be used.
. Added an IDE controller for the GDROM to the DIMM Board (machine\naomigd.cpp). Modifications to make it useable with the NAOMI DIMM Board (machine\gdrom.cpp).
. Let the DIMM Board see the encrypted des data from the GDROM. Now it only has to reset/reboot the NAOMI below itself.
. Send reset request to NAOMI and disable PIC watchdog (machine\naomigd.cpp). Pesky watchdog would reset the PIC and comunication with the SH-4 would stop working
. Enable reset from DIMM Board and make games boot. To test set the constant work_mode in naomigd.h to 1.
- pgm.cpp: Correct ROM region width and sprite pixel extract algorithm. Reduced unnecessary values.
- route16.cpp: Small cleanup
- segas16b.cpp: Added analog filters to systems with YM2151 and UPD7759. Reviewers can use USE_NL define to produce unfiltered sound.
- segasp.cpp: Added network firmware ver 1.21
- system1.cpp: Fixed color handling, palette RAM handling and bitmap clear behavior. Use indirect entries for palette lookup. Reduced runtime tag lookup and unnecessary lines. Use correct/shorter type values.
- taitogn.cpp and zn.cpp
. Reduced duplicates related to zn.cpp (Taito GNET uses ZN2 motherboard, same as capcom ZN2 based board). Moved subclass into zn.h. Moved state class declaration into taitogn.cpp.
. Minor fixes
- twinkle.cpp: Set NTSC mode refresh rate to 59.82 for 240 and 59.94 for 480 screenheight. Fixes sync issues regarding beatmania IIDX games (video\psx.cpp).
. Major cleanups. Added default NVRAM for all games.
. Worked around crash after stages 1-5 in Twins and clone Twins (Electronic Devices license, set 2) (ID 07516)
. Eliminated MACHINE_*_OVERRIDE and VIDEO_START_OVERRIDE and magic switches on tilemap config for Williams2. Added numerous subclasses to reduce optional device usage and reduced custom driver init callbacks.
. De-virtualize functions to fix clone Blaster (conversion kit) using the wrong override (includes\williams.h)
- 30 Test (remake): Updated notes. Added more buttons, inputport array for the buttons and Port D. Small update to artwork.
- Breakout [TTL]: Added machine configuration switches for netlist drivers using the fixed frequency monitor (video\fixfreq.cpp). This commit also fixes Breakout crashes on Windows with BGFX video driver (ID 07531).
- Brick Zone: Fixed 'Bonus_Life' and 'Difficulty' default dipswitch settings
- Cliff Hanger: Fixed 'Short Scenes' dipswitch (ID 04300)
- Double Dragon II: Added Layer priority prom
- Empire City: Fixed filling the screen red when text or BG layers are hidden (video\stfight_dev.cpp) (ID 06897)
- F-1 Super Battle: Added some dipswitches
- Funny Strip: Added DIP locations
- Gold Medalist: Improved dash event timings, relaxing gameplay qualification requirements.
- Golden Crown: Marked clone Golden Crown Hopper (Dutch, Game Card) as not working. It's never really worked since it was added.
- Gratia - Second Earth: Use hand crafted graphics ROM for clone (ver 1.0, 91022-10 version). Verified the "tx tiles" 94019_2.030 matches 94019_30ver1.0.30 when decrypted. That only leaves the "bg tiles" as not being verified 100% identical between sets. Leaving marked as BAD_DUMP until a proper ROM redump is supplied.
- Gun.Smoke: Remarks based on PCB exploration and FPGA conversion
- Happy Fish (V2 PCB, 302-in-1)
. Switched ROM size members from u32 to u64 (emu\romload.cpp). Fixes incorrect loading percentages in Happy Fish.
. Added preliminary I2C hookup for FS8806 device and more documentation. Added debug print ability for Happy Fish to the ARM7 CPU.
. Hooked up preliminary inputs
- Indoor Soccer: Flagged clones Indoor Soccer (set 2) and American Soccer as NOT WORKING
- Kung-Fu Roushi: Guess cpu type. Code styling. Small tweaks to layout. Use device arrays and templates.
- Legend of Hero Tonma: Fixed PCB ASCII layout for clone Legend of Hero Tonma (Gaelco bootleg, Modular System)
- Lucky Girl (Wing): Fixed decryption, rom loading and input (Game now playable).
- Lucky Lady (Wing, encrypted): Fixed decryption. Game runs now, but needs correct inputs and colors.
- Ninja-Kid II: Redumped and corrected the JT-104 set from an original UPL PCB
- Omega Race: Clean up and document some things
- Pop'n Stage EX (ver JB-A): Re-added roms 970jba01 - 970jba10
- Power Spikes: Preliminary sound for clones 1991 Spikes (Italian bootleg, set 1) and (Italian bootleg, set 2). Needs verifying of the completeness of the sound latch hook up and hook up of the OKI M5205.
- Relief Pitcher: Documented the difference in versions of Relief Pitcher as per Atari Bulletin
- Rushing Beat Shura (SNES bootleg): Fixed protection, inputs and dipswitches (Game now playable).
- Stunt Cycle [TTL]: Hook up fixedfreq monitor
- Super Volleyball: Very preliminary sound for clone Super Volleyball (bootleg). Needs correct sound latch hook up and hook up of the OKI M5205.
- Tetris (set 1): Added UM3482 raw dump and remaining UM3482 ROM areas to clone Tetris (bootleg set 4, with UM3482)
- Toki: Added some meat to clone Toki (Modular System), confirm being similar to clone Toki (Datsu bootleg). Added PCB ASCII layout for Toki (Modular System).
- Virtua Bowling: Added DIP locations. Correct input for clone Virtua Bowling (Hong Kong, V101HJS).
- Vs. Janshi Brandnew Stars: Fixed broken sprites and missing graphics (ID 07533)
- Wild Cat 3: Improvements to decryption. Still something important missing, but at least the game seems to work with some prodding.
- Williams Multigame: Fixed compile issue
- Fixed rom names in cdi.cpp, cgang.cpp, djmain.cpp, itech8.cpp, konmedal.cpp, ms32.cpp, namcona1.cpp, neogeo.cpp, ninjakd2.cpp and relief.cpp
- Dipswitch fixes in 30test.cpp, cliffhgr.cpp, goldstar.cpp, hapyfish.cpp, igs011.cpp, jangou.cpp, konmedal.cpp, konmedal68k.cpp, ms32.cpp, splash.cpp and suna8.cpp
- Description changes of 30 Test (remake), Atlant Olimpic (Italian bootleg), Cheongchun Ilbeonji (Korea), Denjin Makai (set 2), Driving Force (Galaxian conversion, Seatongrove UK, E-0010), Enduro Racer (bootleg of Rev A, YM2151, FD1089B 317-0013A set), Enduro Racer (bootleg of YM2203, FD1089B 317-0013A set), Enduro Racer (Rev A, YM2151, FD1089B 317-0013A), Enduro Racer (Rev A, YM2151, mask ROM sprites, FD1089B 317-0013A), Enduro Racer (YM2203, FD1089B 317-0013A), Fantasy Story (set 1), 'JT 104 / NinjaKun Ashura no Shou', Lucky Girl (Wing), New Fruit Machine (Ming-Yang Electronic, vFB02-07A), P-47 Aces (ver 1.0), Pop'n Music 1 (ver AA-A, HDD 1.00), Pop'n Stage EX (ver JB-A), Quizard (v1.0, German, i8751 DE 11 D3), Quizard (v1.2, German, i8751 DE 11 D3), Quizard (v1.7, German, i8751 DE 11 D3), Quizard (v1.8, German, i8751 DE 11 D3), Quizard 2 (v2.2, German, i8751 DN 122 D3), Quizard 2 (v2.3, German, i8751 DN 122 D3), Quizard 3 (v3.2, German, i8751 DE 132 D3), Quizard 3 (v3.4, German, i8751 DE 132 D3), Quizard 4 Rainbow (v4.0, German, i8751 DE 142 D3), Quizard 4 Rainbow (v4.1, German, i8751 DE 142 D3), Quizard 4 Rainbow (v4.2, German, i8751 DE 142 D3), Relief Pitcher (Rev D, 07 Jun 1992 / 28 May 1992), Relief Pitcher (Rev C, 26 Apr 1992 / 08 Apr 1992), Relief Pitcher (Rev B, 10 Apr 1992 / 08 Apr 1992) and Super Bagman (version 3?)
- Renamed (denjinmk) to (denjinmka), (lsrquiz2) to (lsrquiz2i), (popnstage) to (popnstex) and (sbagman) to (sbagman2)
. VIDEO RENDERING SYSTEM
. Changed Direct3D renderer to call GetAncestor() in device_create() to get the root window. This is to make -attach_window work with non-root windows (render\drawd3d.cpp).
. Fixed incorrect swapping of red and blue components of screen tint (render\bgfx\chainentry.cpp)
. Clamp to edge, same as the other renderers (render\drawogl.cpp).
. Higher maximum prescale to 8. Note: Scale emulated video by this factor before applying filters/shaders.
. Cleanups (emu\rendersw.hxx)
. Substitute some cases of deprecated tag lookups with device finders
. Updated usage of device finders and remove hardcoded cpu tags in chipset devices (lpci\i82371sb.cpp, i82439tx.cpp, northbridge.cpp and pci.cpp)
. LUA engine: Allow reading a block of raw bytes for addr_space. Redo space:read_block() to be more rebust and flexible.
. Strip the leading colon from device names as necessary in order to avoid doubling of the root colon (plugins\cheat\cheat_xml.lua).
. Made read_config in hiscore lua plugin more robust (plugins\hiscore\init.lua)
. Switched ROM size members from u32 to u64 (emu\romload.cpp). Fixes incorrect loading percentages in Happy Fish (V2 PCB, 302-in-1).
. Fixed attribute order in software_lists output. Fixes QMC2 software list display.
. The software list device is identified by its tag, the name is tells you which list it will load XML attributes are order-insensitive - compliant validators (e.g. libxml2's xmllint) accepted the XML how it was before. It would be better if parsers didn't enforce rules that don't exist.
. Fixed -aviwrite/-mngwrite crash with screenless systems. Can record video with noscreens. Need to use default frame rate for screen-less MNG recording as well.
. Don't strip linefeed characters (Ctrl-J) from natural keyboard input except when pasting strings (emu\natkeyboard.cpp)
. Eliminated simple_list_wrapper and replaced its only use. The replacement of append with emplace_front alters the sequence, but that should cause no difference in behavior here (util\coretmpl.h, emu\ioport.cpp).
. Software List: Avoid "Redundant default attribute value assignment" in hash files
- SDLMAME: Process control characters so that the natural keyboard can see them (SDL normally strips these out) (input\input_sdl.cpp)
- VGM player: Updated 7 entries to match the vgmrips release
. Lower number of warnings disabled with Visual Studio from 71 to 27 (scripts\genie.lua and scripts\src\3rdparty.lua). And most of the remaining ones could be removed with simple code modifications.
. Fixed some Clang warnings: bugprone-throw-keyword-missing, modernize-use-nullptr, readability-delete-null-pointer, performance-faster-string-find, performance-for-range-copy and readability-redundant-string-cstr
. Use C++ library includes
. Removed the remaining bits of the FASTDEBUG/MAME_DEBUG_FAST introduced in MAME 0.150 (makefile, scripts\genie.lua, emu\emucore.h)
. Handle word endianness for address-shifted architectures correctly and safely (tools\unidasm.cpp)