MAMEINFO.DAT
* Updated to MAME 0.286GIT - http://git.redump.net/mame/log/
* Added Source/Listinfo changes
* Newest Bugs (19th Feb)
* Added/Reorganized 'Recommended Games'
* Fixed Mameinfo.dat infos
Download at: https://mashinfo.github.io/mameinfo/
MAME Testers at: https://mametesters.org/view_all_set.ph ... ESC&type=2
Ashura-X nightly builds: https://ashura-x.github.io/ashurax.github.io/
Recent MAME builds: https://github.com/mamedev/mame/actions
('Sign in' + Click on 'CI (Windows)' and then on a MAME post with a green check mark to download the mame-windows-gcc-XXXXXXXXXXXXXXX file)
0.286GIT
- New games: Monkichicchi no Fuwafuwa Puzzle (Japan, prototype?)
- New Working games: Chaoji Da Manguan II (China, V765C), Cherry Bonus III (ver.2.20), Cherry Bonus III (ver.3.0), Daytona USA (with Saturn advertisements), Daytona USA Special Edition (Revision A), Daytona USA, Daytona USA (Revision A), Dead or Alive (Export, Model 2A, Revision A), Dead or Alive (Model 2A), Dead or Alive (Model 2A, Revision A), Dead or Alive (Model 2B, Revision B), Dead or Alive (Model 2B, Revision C), Gunblade NY (Revision A), Jungle King (V302US), Long Hu Zhengba 2 (China, VS210M), Long Hu Zhengba 2 (China, VS220M), Manguan Caishen (China, V103CS), Manguan Caishen (China, V106CS), Manguan Caishen (China, V110C), Pilot Kids (Model 2A), Pilot Kids (Model 2B, Revision A), Shuang Long Qiang Zhu 2 VS (China, VS203J, set 2), Striker, Virtua Cop (Revision A), Virtua Cop (Revision B), Virtua Cop 2, Virtua Striker (Revision A), Virtua Striker, Zero Gunner (Export, Model 2A), Zero Gunner (Export, Model 2B), Zero Gunner (Japan, Model 2A) and Zero Gunner (Japan, Model 2B)
- New Non-Working games: Dart Star (Rev 3.25), Doki Doki! Flower (DFL1, Ver. A), Luckey Bingo, Panda 2, Pitching Try (v1.3CJ), Polar Star (Ver 3,2B, Fantasy Island), Sea Wolf - Next Mission, Silver Rush (ver. 23.08.25), Siren Kids, Spanish Darts and Super Shuffle
- New clones: Back Fire (Tecmo), Beastie Feastie (Pac-Man conversion, set 2), Big Twin (no girls conversion, set 2), Chaoji Dou Dizhu Jiaqiang Ban (S206CN), Dragon Punch (Japan, ver. 1.30, bootleg), G.I. Joe (Asia, AAB), Hot Mind (Hard Times hardware, set 2), MX5000 (version U), Major Poker (set 1, v2.2), Mahjong Kaguyahime (Japan 880425), Mario Bros. (Japan, older), New Lucky 8 Lines (set 21, encrypted bootleg), Pit Boss Superstar (9221-10-01A, California version), Polar Star (Ver 3,2B, MooRry Fantasy), 'Tarzan Chuang Tian Guan 2 Jiaqiang Ban (V306CN, alternate GFX)', Touryuumon (V1.1, Apr 14 2005), Vs. Hogan's Alley (Italian bootleg) and WGP 2: Real Race Feeling (World)
- Removed games: Silverball (8.01)
- New drivers: dharma_z180.cpp, mdartstr.cpp, namcos6.cpp, pitchtry.cpp, seawolfnm.cpp and sshuffle.cpp
- New devices: acpi_piix4, adsp21060, clgd5401, dspp_bulldog, f65535_isa16, f65535_vga, f82c836a, gd5401, igs_incalt, isa16_medalist_rom_disk, it8661f, it8671f, nmk_irq, rt1000b, toaplan_bcu, toaplan_dsp, toaplan_fcu, toaplan_video_controller, um8498f, va_lpf4, voodoo_3000_x86, z8691 and z86c91
- CPU
. Analog Devices ADSP21062 'Sharc'
. Include emu.h. Implemented 16-bit IOP write handling. Added missing DMA members to save states. Implemented bit-accurate RECIPS and RSQRTS in recompiler (fast approximation can be enabled by setting a macro) (sharc\sharc.cpp).
. Fixed/optimised RECIPS flag calculation for interpreter. Fixed FIX for negative numbers when MODE1 TRUNC bit it set for interpreter and recompiler (should round towards negative infinity). Don't regenerate static helpers on cache flush (sharc\sharc.cpp).
. Better align FIX between interpreter and recompiler, pack/unpack recompiler ASTAT for saved states. Cleaned up memory access a bit, use memory_access::specific and added ADSP21060 (larger internal SRAM) (sharc\sharc.cpp).
. Always enable SHARC recompiler in the Konami drivers konami\gticlub.cpp, konami\hornet.cpp and konami\zr107.cpp before start.
. Improved memory access code: Exploit data memory layout to bypass the memory system for both 32-bit and 16-bit SRAM accesses. Exploit the way the SHARC toolchain lays out executable code and data in SRAM to greatly reduce unnecessary cache flushes. Implemented Rn = NOT Rx (used by Sega Model 2B games). Align 32-bit program memory accesses with the most significant bit of the bus (corresponds to interpreter change in MAME 0.278 GitHub #13770). Get past DSP program crash in Midnight Run (sharc\sharcdrc.cpp)
. Better handling of cache reset at end of block (sharc\sharc.cpp). Fixed more instructions: Fixed multiply/average and multiply/absolute for interpreter - the ALU operations produce a floating point result. Implemented move from multiplier register, multiply/average, average and FDEP with immediate field specification for recompiler. Use a more accurate approach for the absolute value calculation in multiply/average and average rather than hoping the C library does the right thing for the interpreter and recompiler (sharc\sharc.cpp, sharc\sharcdrc.cpp, sharc\compute.hxx).
. Allow multiple loops to end on the same instruction. This is required by Last Bronx, which has code that de-duplicates the common part of multiple successive loops. It reduces the performance of do-nothing spin loops a bit but not too much - the DRC still has substantially better performance than the interpreter. Unfortunately, this exposes a pre-existing issue with how ASTAT conditions are handled in the SHARC front-end which causes the Midnight Run and Racing Jam DSP programs to crash. Fixing it will require major changes. Use -nodrc for now, I'll probably have to disable to recompiler before the next release until this can be fixed (sharc\sharc.cpp).
. Tidied code a bit: Helper functions for getting commonly extracted opcode fields. More symbolic constants and fewer magic numbers. More constexpr helper functions, fewer macros and safer macros. More const local variables (cpu\sharc).
. Improved reset conditions, prevent program from writing read-only STKY bits. Fixes 'Midnight Run' crash when F3 pressed (ID 07295). Improved status stack handling a little. Also actually implemented ASTAT/MODE1 save/restore for recompiler (cpu\sharc).
. Overhauled PC stack implementation: Always access top-of-stack through the pseudo-register value. Better behaviour when PC stack is empty. Implemented effects of writing to PCSTKP. Mask PC stack values to 24 bits. Try to get PC stack into a consistent state after loading a saved state. Also fixed loops with initial counter value of zero (should iterate 2^32 times) (cpu\sharc).
. Implemented a bit more channel 6 DMA. Fixes changing settings in Pilot Kids service mode menus.
. Overhauled loop stack handling. Always access top-of-stack through pseudo-registers. Better behaviour when stack is empty or full. Implemented more read/write top-of-stack and explicit push/pop operations. Try to get loop stack into a consistent state after loading a saved state (cpu\sharc).
. Better ASTAT handling: Flag pin bits are unaffected by push/pop status. Only flags set to input follow inputs on flag pins. Implemented ASTAT write for recompiler. Show ASTAT value in debugger when recompiler is enabled. Also don't allocated DRC cache when recompiler is disabled. Better sync on input changes across scheduling domains (cpu\sharc).
. Pause DMA when stalled with recompiler to match interpreter. Disabled stalling DMA with recompiler for now. Current implementation gets confused, breaking Thrill Drive on Hornet (cpu\sharc).
. Dynamic Re-Compiling
. Fixes and refinements: Fixed crash when the CPU generates code during device_start and the debugger is enabled (devices\cpu/drc*).
. drccache: Initialised all data members (cpu\drccache.cpp)
. drcbec: Added support for invariant code and code blocks. Removed a bunch of crud that shouldn't be there. Restore floating point rounding mode if an exception is thrown, use C99 nearbyint/nearbyintf (cpu\drcbec.cpp)
. drcbeut: Added support for invariant code and simplified DRC label list class (only used by C back-end) (cpu\drcbeut.cpp)
. drcbex86, drcbex64 and drcbearm64
. Added support for invariant code blocks and made helper code invariant (cpu\drcbex86.cpp, cpu\drcbex64.cpp and cpu\drcbearm64.cpp).
. Call (rather than jumping to) the entry point handle. The UML HANDLE instruction points to a minimal function prologue, which expects the conditions immediately following a call. However, the back-ends were jumping to it directly after setting up the top-level stack frame. On x86-64 and i686, this resulted in the stack being misaligned until a HASHJMP or EXIT instruction was executed. Anything that could result in a C function being called (CALLC, DEBUG, BREAK, READ, READM, WRITE, WRITEM, FREAD, FWRITE) could crash due to stack misalignment, and RET would crash due to the return address not being in the expected location. On AArch64, the stack would not be misaligned, and calls to C functions would work correctly, but RET would result in exiting from generated code without restoring callee-preserved registers. The C back-end just hits an assertion failure if the entry point code executes a RET (cpu\drcbex86.cpp, cpu\drcbex64.cpp and cpu\drcbearm64.cpp).
. Restore floating point environment when calling out to C code (cpu\drcbec.cpp, cpu\drcbex86.cpp, cpu\drcbex64.cpp and cpu\drcbearm64.cpp).
. drcbearm64: Identify more valid bit mask immediates (saves an instruction and a temporary register, e.g. when clearing a small contiguous field in an integer) (cpu\drcbearm64.cpp).
. drcuml: Added support for invariant code blocks. Include device tags in UML/native generated code log file names (kind of important when a system has two of the same kind of CPU) (cpu\drcuml.cpp).
. hyperstone E1-xx and PowerPC DRC: Made static helper code invariant (e132xs\e132xsdrc.cpp, powerpc\ppcdrc.cpp)
. Ensoniq ES5510: Fixed opcodes in ES5510. ABS uses operand B. CMP runs even when skippable and only updates flags (no dst write). SIGREG bit 22 drives mul shift. CCR/CMR readback encoding. ABS should update zero flag. ASL2/ASL8 overflow/carry/flag logic (es5510\es5510.cpp).
. MIPS-III: Added missing header that was being #included indirectly (mips\mips3com.cpp)
. Motorola MC68LC040: Fixed the 68LC040 so it actually has 68040 opcodes (m68000\m68kcpu.h)
. Texas Instruments TMS34010: Fixed 32-bit pixel writes (tms34010\tms34010.cpp)
. Zilog Z80: Renamed BUSRQ to BUSREQ and MEMRQ to MREQ (z80\z80.cpp). Refactored INT/IRQ (z80\z80n.cpp) and implemented configurable DMA halt (delay) for (MESS) specnext.cpp.
. Zilog Z86xx: Added Z8691 and Z86C91 ROMless types (z8\z8.cpp)
- SOUND
. GI SP0250 LPC: Fixed typo in sp0250 coefficient table (sound\sp0250.cpp)
. OKI MSM5205 ADPCM: S1/S2 pins were the wrong way around. Small cleanup. Make playmode_w param an u8 instead of int (sound\msm5205.cpp)
. Sound Interface: Alternate method for checking if machine is not yet running (emu\sound.cpp)
- DEVICE
. Floppy: Added save state support (machine\upd765.cpp). Subscribe to remap FN. Issue a remap for later variants and fixed regression (isa\fdc.cpp).
. GP9001 VDP: Cleaned up and simplified code: Removed unnecessary custom_priority_bitmap and priority remap table and use screen priority bitmap. Improved logging and reduced literal tag usage. Also suppress side effects for debugger reads for Toaplan drivers using the device.
. Intel 82371EB PIIX4E: Preliminary integration of RTC. Added config map registers and use option setter for internal RTC use (machine\i82371eb_isa.cpp). Added I/O BAR registers (machine\i82371eb_usb.cpp). Use own ACPI implementation (machine\i82371eb_acpi.cpp).
. Lowpass Filter: Improved LPF4 implementation. Using the new filter implementation in sound\va_vcf.cpp for CEM-3394 analog synth. Fixed 'drive' and improved documentation. 'drive' is now applied and unaplied outside the filter's feedback loop. Caching bass gain compensation. Annotated code with the relevant chapters from "The Art of VA Filter Design" (sound\va_vcf.cpp).
. RAM: Shorter savestate name for things that do save_pointer(NAME(reinterpret_cast...) (machine\ram.cpp)
. Sega 315-5195 Memory Mapper: Update_mapping after loadstate (sega\315_5195.h)
. VGA
. Get rid of macros, optimize char selection base in text mode and optimize pixel fetches in SVGA modes (video\pc_vga.cpp).
. Fixed start address and bank select. Moved EEPROM hookup to ISA cards (video\pc_vga_ati.cpp). Attempt to improve SVGA modes (video\ati_mach32.cpp).
. Bulk replace typo for sis6326 VGA def. Fixed SVGA 8bpp mode and start address latch and 24bpp mode for 6326 (video\pc_vga_sis.cpp).
. Fixed interrupt pin (pci\virge_pci.cpp)
. Voodoo 3: Hookup Voodoo 3 3000 PCI roms (video\voodoo_pci.cpp)
- 1943.cpp: Improved interrupt timing
- 3do.cpp
. Hookup basic semantics for CD-ROM DMA transfers (misc\3do.cpp)
. Hookup status bit for xbus (greatly reduce boot times). Added enum for irqs and use template for request_fiq (misc\3do_clio.cpp).
. Added unpacked & coded 4bpp and 8bpp support and basic PAL support. Added enum for DMA channels. Implemented get_pixel_6bpp_coded_lrform0 (misc\3do_madam.cpp)
. Added enough commands so it reaches cmd_read when disk is in. Better logging around ToC. Added command byte acks to some commands (machine\cr560b.cpp).
. Preliminary split between regular (Clio) DSPP and M2 Bulldog (dspp\dspp.cpp)
- alpha68k.cpp: Renamed Alpha68K II/III/V hardware (shared\snk68_spr.cpp to alpha68k_spr.cpp) and cleaned up systems using it. Implemented device_gfx_interface and device_video_interface. Reduced hard-coded tags and use clock frequency input. Moved color code masking to callback. Use fixed size integers in save states and suppress side effects for debugger reads. Reduced duplicated code and literal tag use. Use abbreviated integer type names.
- armedf.cpp: Make spriteram size same for all games
- balsente.cpp
. Fixed sound cutting off at low levels. Reduced duplication in volume calculation. Made it possible to set modulation to 0% (sound\cem3394.cpp).
. Using the new filter implementation in sound\va_vcf.cpp. Removed artificial pulse width limiting (sound\cem3394.cpp).
- cave.cpp and mcatadv.cpp: Correct tile RAM format comment. Low byte in First word of tile RAM is used for hi bits of tile code: 8x8 only? (video\tmap038.cpp).
- cdi.cpp: Adjusted spin-up time to avoid soft-locks, fixes audio softlock in (MESS) Fun Tower and Misc Minor Edits. Simplify XA functions, use SECTOR_SIZE instead of magic numbers and log missing emphais. Removed newly-added unused member but left the comment. Fixed signed/unsigned mismatch (philips\cdicdic.cpp). Updated debugging log statements (philips\mcd212.cpp).
- cps1.cpp: Changed comments to C++ style (capcom\cps1_v.cpp). Correct gfxdecode palette range. Small cleanup (capcom\cps1.cpp).
- cps2.cpp: CPS2 bgpen is 0xbff just like CPS1 (capcom\cps1_v.cpp). Small cleanup.
- cps3.cpp: Small cleanup
- ddealer.cpp and nmk16.cpp
. Lifted set_scroll_rows out of drawing loop (nmk\nmk16_v.cpp)
. Refactored ddealer.cpp and nmk16.cpp video interrupt generation into separate device (nmk\nmk_irq.cpp).
- docastle.cpp: Normalize blue color channel
- exedexes.cpp and gunsmoke.cpp: Added manual sprite DMA trigger
- fireshrk.cpp, rallybik.cpp and twincobr.cpp
. Split fireshrk and rallybik from Toaplan1 driver. Improved notes (fireshrk.cpp).
. Moved color base initialization into device_start. Fixed initializers and formatting. Added notes (toaplan\toaplan_scu.cpp) (rallybik.cpp and twincobr.cpp).
- goldstar.cpp
. Fixed nullptr crash in Bingo (set 1) and clone (set 2) (mark *all* tilemaps dirty) (ID 09378).
. Fixed memory map. Added technical notes to clone Cherry Bonus III (ver.2.20). Promoted clones Cherry Bonus III (ver.2.20) and Cherry Bonus III (ver.3.0) to working.
- gomoku.cpp and wiping.cpp: Removed unused variables
- hornet.cpp
. Enabled SHARC recompiler for NBA Play By Play, Teraburst and Thrill Drive G family games.
. Improved SHARC recompiler: Fixed Gradius IV crash to prompt when testing MASK ROMS in Service Mode (F2) (ID 06322). Fixed Gradius IV background graphics corruption in stage 3 (ID 06535)
- igs017.cpp
. Improved protection emulation for M68K-based games. Implemented alternate inc protection type. Completed IGS029 simulation for most games. Reworked address remap functions to make them save state-friendly.
. Promoted Chaoji Da Manguan II (China, V765C), Jungle King (V302US), Long Hu Zhengba 2 (China, VS210M), Long Hu Zhengba 2 (China, VS220M), Manguan Caishen (China, V103CS), Manguan Caishen (China, V106CS), Manguan Caishen (China, V110C) and Shuang Long Qiang Zhu 2 VS (China, VS203J, set 2) to working.
. Redumped text ROM for clone Manguan Caishen (China, V110C)
- lindbergh.cpp: Port over UHCI I/O map from i82371eb USB (machine\pci-usb.cpp)
- lwings.cpp: Improved interrupt timing. Added screen raw params, manual sprite DMA trigger and paletteram is write-only. Moved video hardware section to the top of the driver. Make spriteram size same for all games. Added sprite dma delay. Small cleanup.
- matmania.cpp: Added xtal and improved some clocks, fixes Mania Challenge sound pitch is too high and tempo is too fast (ID 09387).
- mitchell.cpp: Added note about sprite DMA trigger
- model2.cpp
. Promoted games to working: Daytona USA, Daytona USA (Revision A), Daytona USA (with Saturn advertisements), Daytona USA Special Edition (Revision A), Dead or Alive (Export, Model 2A, Revision A), Dead or Alive (Model 2A), Dead or Alive (Model 2A, Revision A), Dead or Alive (Model 2B, Revision B), Dead or Alive (Model 2B, Revision C), Gunblade NY (Revision A), Pilot Kids (Model 2A), Pilot Kids (Model 2B, Revision A), Virtua Cop (Revision A), Virtua Cop (Revision B), Virtua Cop 2, Virtua Striker, Virtua Striker (Revision A), Zero Gunner (Export, Model 2A), Zero Gunner (Export, Model 2B), Zero Gunner (Japan, Model 2A) and Zero Gunner (Japan, Model 2B)
. Got rid of now-obsolete SHARC 16-bit IOP workaround. Use render_polygon() rather than splitting polygons into triangles. Fixes/Reduces texture warping in hotd, overrev and waverunr (sega\model2_v.cpp). Also moved polylist dump code to sega\model2_m.cpp.
. Enabled SHARC recompiler for Model 2B (can be disabled again before release if too many things are broken) (sega\model2.cpp)
. Tentatively promoted some games to working and cleaned up code. Added blanket imperfect graphics flag to all games and imperfect sound to all games with SCSP. Added a side effects check, more ATTR_COLD and register game-specific things for save states (sega\model2.cpp).
. Improved analog controls for Rail Chase 2 and Gunblade NY. Use full precision reciprocal for perspective correction (sega\model2rd.ipp).
. Added analog minmax and increase sensitivity to Daytona USA
- namcos23.cpp
. Removed presently-unused m_odd_frame member. Added texture flip/swap bits. Removed stub handlers that were causing graphical issues in some games.
. Fixes Fake enough comms to make 'Race On!' boot. Added texture flip/swap bits. Namco banners in Race On! and other places. Update DIPs for Race On! to deactivate wheel test.
. Fixed handle controls in Final Furlong 2 and clone
- nyanpai.cpp
. Cleaned up code a bit. Filled in DIP switch settings for 'Mahjong Housoukyoku Honbanchuu' from manual. Correct transliteration of Nyanpai.
. Cleanups: Use struct for each layer and made palette RAM into memory share. Reduced duplication and unnecessary code. Sync file/driver name with updated metadata. Use device_mixer_interface for sound routing (nichibutsu\nichisnd.cpp).
- segahang.cpp, segaorun.cpp and segas16a.cpp: Moved driver_device overrides to protected
- segas24.cpp: Put layer sort in a lambda. Changed a fixed size vector to array. Moved video hw section to top of file.
- segaybd.cpp: Cleaned up.
- sidearms.cpp
. Correct Z80 clock (Guru README and now Jim Westfall). Removed old changelog and moved Guru README to driver notes. Improved interrupt timing.
. OBJON and BGON enables were the wrong way around, watchdog is actually sprite DMA, vblank bit was on the wrong port and paletteram is writeonly (capcom\sidearms_v.cpp).
- stv.cpp
. Formatting cleanup (sega\saturn_v.cpp). Fixed directory parsing on cross sector boundaries. Use busy state around drive status changes. Renamed stvcd to saturn_cd_hle. Removed unnecessary device_memory_interface trampoline. MAX_BLOCKS cleanup. Use emu_timer in place of timer generic. Command 0x51 is confirmed it doesn't generate a DRDY, pause drive when in buffull state (sega\saturn_cd_hle.cpp). Lock out DMA if trying to access VDP1 RAM and other stuff at same time. Fixed (MESS) gunblaze booting (sega\saturn_scu.cpp). Replaced macros in header with inline member functions. Reduced duplicate declarations (sega/stv.h and sega\saturn.h).
. Convert macro flags to enum. Reduced function namings. Handle host RA updates properly. RA is actually its own thing. Fixed LEF behaviour and PC readbacks from host side. All ALU ops but AD2 doesn't update the upper 16-bit part. Tidy some expressions (scudsp\scudsp.cpp).
- sunwise.cpp: Expanded NVRAM area to cover the entire static RAM. Update notes.
- taito_f2.cpp: Fixed manufacturer title in cameltry and clone cameltrya (ID 09132)
- taitosj.cpp: Hook up Z80 busreq/busack
- tmnt2.cpp: Don't reuse 'i' variable in tmnt2_prot_w. Changed xlock/ylock check and improved palette dimming, fixes tmnt2 foreground graphics in Sewer Surfin' don't appear (ID 09385). Updated notes. Small cleanup.
- toaplan1.cpp
. Moved common parts of memory maps to helper functions. Reduced duplication, improved logging and correct DSP ROM size.
. Encapsuated BCU, FCU, and Video controller hardware as devices. Reduced duplication in machine configuration. Fixed 'Out Zone (Zero Wing TP-015 PCB conversion)' raw params - it uploads same video timing parameter values as parent set to CRTC. Made sprite size LUT RAM as memory_share_creator. Use separate palette devices for each layer. Improved notes, reduced duplication and unnecessary functions.
- tubep.cpp
. Tube Panic: Refresh rate is ~59hz according to PCB video, so assume same screen raw params as Roller Jammer.
. Roller Jammer: Z80 m1+iorq is the int ack cycle. Removed erroneous scanline sound interrupt.
- twincobr.cpp: Suppress side effects for debugger reads, improved logging and correct DSP ROM size. Only install fsharkbt DSP handlers for clone Flying Shark (bootleg with 8741).
- vicdual.cpp
. Small cleanup to spacing. Mux input ports. Fixed dipswitch read in Invinco (ID 09382).
. Correct 'Lives' dipswitch and sound flag in clone Super Crash (bootleg of Head On). Use inputs from supcrash for clone Colision (bootleg of Head On), fixes steering controls and dips don't work (ID 09389).
- Big Karna: Use measured screen hz
- Biomechanical Toy: Added PLD for 'Biomechanical Toy' variants
- Bionic Commando: Added presumed sprite DMA trigger
- Cloak & Dagger: Video/Resnet comes from emu, not devices.
- Come On Baby: Manually rebuild HDD dump. Fixed PCI card mapping. Hookup serial ports. Hookup Voodoo 3 3000 PCI roms (video\voodoo_pci.cpp). Initial implementation of an ITE 8671F Giga I/O. Added keyboard and mouse IRQ lines (machine\it8671f.cpp/h).
- Countertop Champion 2: Hookup MicroTouch. Confirm title in comments.
- Densha de GO!: Added Japanese text and bulb color. Added shared group and the 1/2/3 lamps. Make brake pressure xx.x instead of xxxx (layout\dendego.lay)
- Ez2dancer 2nd Move: Fixed PIIX4 config space mapping
- F-1 Grand Prix: Redumped clone F-1 Grand Prix (Playmark bootleg)
- Filetto: Extend voice note
- Five a Side Soccer: Increased default trackball sensitivity. It was way too low to use with analog controls before.
- HeliFire: Lower MCU clock, fixes sound pitch is too high and tempo is too fast (ID 09386).
- Invasion: The Abductors: Fixed gun position not detected on right side of screen, gun triggers were on wrong port (machine gun works now).
- Knuckle Bash 2 (bootleg): Moved kbash2-specific MSM6295 bankswitching into kbash2_state and improved kbash2 system description.
- Mahjong Vegas: Correct 'Time Service Frequency' dipswitch typo
- Mario Bros.
. Changed Mario Bros. (US, Revision E) to parent and color prom back to the one when it was added. Consolidate driver into single file. Updated notes. TODO: Coin 2 doesn't work in mario and marioj (though it works in service mode).
. Coin1/2 were the wrong way around. Added NVRAM. Removed some unneeded variables and clock macros. Removed OLD_SOUND discrete sound emulation and MCU macros (nintendo\mario_a.cpp). Added shared base memorymap. Removed some mario_ function prefixes. Use retry_access trick to sync 2-way cpu comms. Changed clone Masao audio clocks. Correct some romlabels.
- Mega Double Poker: Marked Mega Double Poker and clone not working. Note: They've failed to boot for a while now. Also reduced duplication and literal tags a bit and got rid of a bankdev.
- Monkey Magic: Added note about xtal. Reorded dsw settings from low to high.
- Moon Raker: Added the starfield rom
- NBA Hangtime: Dumped security PICs
- P's Attack: Hookup EEPROM and CF slot rather than HDD
- Pango Fun: Create new UM8498F chipset. Guess shadow RAM location. m_kbrst is high at startup (machine\um8498f.cpp). Get rid of pcat_base_state. Added ISA slots and replace baked in Trident ROM + bare VGA with actual AVGA1 (pc\pangofun.cpp). Added 'Cirrus Logic GD5401 AVGA1' card support (isa\svga_cirrus.cpp).
- PC-Engine (battlera.cpp, ggconnie.cpp, paranoia.cpp, tourvis.cpp and uapce.cpp)
. Make some variables constant. Reduced preprocessor macros. Use abbreviated type names and BIT helpers (Common PC-Engine hardware. See reference at: http://daifukkat.su/pcfx/).
. Added input clock for video hardware (battlera.cpp and ggconnie.cpp)
. Use XTAL for main clock. Reduced duplication. Fixed save state issues and initializers. Added notes for sound routing (ggconnie.cpp, paranoia.cpp, pcecommn.cpp/h. tourvis.cpp and uapce.cpp).
. Improved logging (nec\pce_cd.cpp)
. Hudson HuC6202 VPC: Reduced duplication and use more member arrays (video\huc6202.cpp)
. Hudson HuC6260 VCE: Fixed initializer and save state issues. Made screen update function directly usable with screen device (video\huc6260.cpp).
. Hudson HuC6261 VCE: Fixed initializer, debugging and save state issues. Prepare to hook up HuC6271/2 output. Made screen update function directly usable with screen device (video\huc6261.cpp).
. Hudson HuC6270 VDC: Fixed initializer. Implemented 16-bit host interfaces use with PC-FX. Improved logging and reduced duplication (video\huc6270.cpp).
. Hudson HuC6271 'Rainbow': Fixed initializer (video\huc6271.cpp).
. Hudson HuC6272 'King': Fixed initializer and microprogram writes (16 halfwords). Reduced literal tags and improved logging. Gixed reading KRAM autoincrement value (video\huc6272.cpp).
- PC hardware: Added quick ref for POST codes (pc\README.md)
- PinMAME: Dumped security PICs for Corvette and Phantom Haus
- Play 4 Texas Hold'em: Additional notes. Changed name to be same as manual. Updated year to 2011 based on last patch.
- Pull The Trigger: Added base sis630 chipset
- Qianxi Jielong: Fixed palette. Added Oki ROM banking.
- R2D Tank: Added note about older version: R2D Tank is a cost-reduced 'sequel' to "Red Tank", Sigma probably contracted Orca to simplify the hardware. The first version (Red Tank) is on 2 PCBs with "FUJIDENSHI" on the EPROM labels. Sigma's "The Goku" is on the same earlier hardware as Red Tank.
- Reality Tennis: Replaced macros with constexpr
- Silent Scope 2: Removed badly dumped ROM that would fail POST and correct LAN EEPROM location for clones sscope2ac, sscope2acvd1, sscope2ec, sscope2ecvd1, sscope2jc, sscope2jcvd1, sscope2uc and sscope2ucvd1. Updated PCB info.
- Silverball: Fixed HDD loading. Retire slvrball806 set, use MACHINE_IS_BIOS_ROOT for the base BIOS package. The dump is non-workable, it just crashes strong.
- Striker: Fixed address map. Promoted game to working. Note: This PCB features flying wires going between the Z80, the GM76C28A-10 RAM and a GD74HCT138 3 to 8 line decoder/demultiplexer. It reads 2 times the address 0x60f0/60f1 during RAM test at boot (show "RAM NO GOOD" if wrong value), at coin up and at bet.
- Tiger Road: MSM5205 in clone 'Tora e no Michi (Japan)' is hooked up same as Trojan (capcom\lwings.c) (also tried with capcom\sf.c, but got bad sound).
- Tournament Table: Added PLAYER4 analog direction control defaults (emu\inpttype.ipp) (MT09383).
- Vector games
. Added LUA bindings for vector-screen interfaces. Added a callback mechanism to expose vector drawing to the LUA interface, allowing external hardware devices to interface with MAME's vector rendering code (video\vector.cpp and mame\luaengine.cpp).
. Refactored LUA hooks for vector devices (video\vector.cpp and mame\luaengine.cpp).
- WGP: Real Race Feeling: Increased 68000 clock
- Description changes of Beastie Feastie (Pac-Man conversion, set 1), Big Twin (no girls conversion, set 1), BnB Arcade (V1.0005 World), Daytona USA (with Saturn advertisements), Flak Attack (Japan, version P), Flak Attack (Japan, version P, PWB 450593 sub-board), Happy Tour (V1.12), Hot Mind (Hard Times hardware, set 1), Invasion: The Abductors (version 3.0), Invasion: The Abductors (version 4.0), Invasion: The Abductors (version 5.0), Jiao! Jiao! Jiao! (China), Knuckle Bash 2 (bootleg of Knuckle Bash), Mario Bros. (Japan, revision C), Mario Bros. (US, revision F), Major Poker (set 2, v2.0), Major Poker (set 3, Micro Manufacturing intro), Major Poker (set 4, Micro Manufacturing intro), Major Poker (set 5, Micro Manufacturing intro), MX5000 (version R), Nyanpai (Japan), Qianxi Jielong / Hongxin Jielong, Slap Fight (Japan, A76 set, GX-006-A PCB) and Slap Fight (Japan, A77 set, 8606M PCB).
- Fixed rom names in ghosteo.cpp, hominn_980924.cpp, mario.cpp, namcos1.cpp and superqix.cpp
- Renamed (backfirt) to (backfirtb), (gijoea) to (gijoeaa), (majorpkr) to (majorpkr20), (mario) to (mariog), (marioe) to (mario), (mx5000) to (mx5000r), (niyanpai) to (nyanpai), (wgp2) to (wgp2j) and (touryuu) to (touryuua)
- Dipswitch fixes in 4enraya.cpp, igs017.cpp, midwunit.cpp, namcos23.cpp, mario.cpp, (pullttrig) to (pulltrig), tecmo.cpp, niyanpai.cpp and vicdual.cpp
- MAME
. VIDEO RENDERING SYSTEM
. Don't use reserved _Names (util\palette.h)
. Added LUA bindings for vector-screen interfaces. Added a callback mechanism to expose vector drawing to the LUA interface, allowing external hardware devices to interface with MAME's vector rendering code. Refactored LUA hooks for vector devices (video\vector.cpp and mame\luaengine.cpp)
. Fixed polygons with shared vertices not rendering correctly and correctly map parameter values to each extent (video\poly.h).
. MEMORY SYSTEM: On switch, do nothing if selected slot is same as before (emu\emumem_mview.cpp).
. ROMLOAD: Replaced various macros with constexprs and inline functions. Mark ROM_OPTIONAL as deprecated (emu\romentry.h and emu\romload.h). Constexpr at namespace scope implies static for variables and inline for functions (emu\romentry.h).
. INPUT
. Don't gate creating input device behind -mouse option, it breaks -mouse_device, -trackball_device, etc (input\input_win32.cpp).
. Removed barely used IPT_TILT1/2/3/4, combine IPT_GAMBLE_DOOR with IPT_INTERLOCK and rename to generic IPT_DOOR (emu\inpttype.ipp). Added some content for Input Macro and Off-screen Reload plugins (docs\source\plugins\inputmacro.rst and offscreenreload.rst).
. Added PLAYER4 analog direction control defaults (emu\inpttype.ipp)
. UI/OSD
. Added nine extended Latin and IPA characters and added CC0-1.0 license comment (uismall.bdf).
. Made hide_romless text clearer (ui\submenu.cpp).
. Limit frame updates on initial gameinfo/warning screens and avoid host CPU/GPU resource spiking (ui\ui.cpp).
. Added throttled frame update to another startup event loop and sleep for 1ms. Only sleep if no frame update (ui\ui.cpp). Added message if menu is empty (ui\confswitch.cpp).
. Only clip the cursor if we haven't already. On Windows, cursor clipping is global and needlessly invoking 'ClipCursor(nullptr)' will interfere with other applications that might also be trying to clip the cursor. With this change, MAME will only invoke 'ClipCursor(nullptr)' if MAME previously clipped the cursor (windows\window.cpp).
. PLUGINS: hiscore.dat update (plugins\hiscore\hiscore.dat). Refactored LUA hooks for vector devices (plugins\vector\init.lua + plugins\vector\plugin.json).
. Consolidate drivers into single file (fantland.cpp, kickgoal.cpp, lethalj.cpp, mario.cpp, rltennis.cpp, segahang.cpp, segaorun.cpp, segas16a.cpp, segas24.cpp, segaxbd.cpp, segaybd.cpp, taito_l.cpp, tecmo.cpp and wgp.cpp)
- SDLMAME
. Initial support for SDL3. SDL3 is the default for macOS targets. Linux/Windows can build with OSD=sdl3 while we wait for better distro support for SDL3. Both X11 and Wayland sessions are fully supported on Linux. SDL3 -sound=sdl supports both input and output. All other video, sound and input functionality should otherwise be the same for now. SDL 3.4+ multiple keyboard/mouse support is planned.
. Fixed font lookup (font\font_sdl3.cpp, lib\osdobj_common.cpp). Fixed key up not being sent on some systems. Fixed assert on new instance of joystick connected (input\input_sdl3.cpp). Enable TEXT_INPUT events, fixes text input fields in the UI (sdl3\window.cpp).
- Compiling
. Small comments cleanup to copy-pasted sprite drawing routines. Lots of ATTR_COLD and some code cleanup.
. Fixed last remaining tautological compare warnings for Clang/ARM64 (nscsi\tape.cpp and util\ioprocs.cpp). Promoted tautological comparison warning to an error (scripts\genie.lua)
- Debugger
. Check that you have a memory interface before trying to use it (debugger\win, debugger\osx and debugger\qt) (ID 09377)
. Allow device_state_interface to participate in global symtable state (debug\debugcpu.cpp and debug\express.cpp)
. Bulk replace uint8/16/32_t to u8/16/32 (machine\cs4031.cpp, f82c836.cpp, um8498f.cpp and wd7600.cpp)
. Fixed hang when a watchpoint is hit on a 64-bit wide address space with word addressing (debug\points.cpp)
--