MAMEWorld >> News
View all threads Index   Flat Mode Flat  

MASH
MASH
Reged: 09/26/03
Posts: 1773
Loc: Germany
Send PM
MAMEinfo 0.227 :)
12/31/20 02:36 PM


MAMEINFO.DAT

* Updated to MAME 0.227 - http://git.redump.net/mame/log/

* Added Source/Listinfo changes

* Newest Bugs (31st Dec)

* Updated Artwork.ini

* Added Visual PinMAME v3.3 infos

* Added/Fixed 'Recommended Games'

* Fixed Mameinfo.dat infos





Download at: http://mameinfo.mameworld.info/

MAME Testers at: https://mametesters.org/view_all_set.php?sort=last_updated&dir=DESC&type=2

Ashura-X's Nightly MAME builds: http://ashura.mameworld.info/nightlybuilds/builds.html



0.227

- New games: Black Touch II (Korea) and Tsurikko Penta
- New Working games: Klax (version 5, bootleg set 1), Klax (version 5, bootleg set 2), Master's Fury and Multipede
- New Non-Working games: Biplane [TTL], Dancing Fever Gold (J 000821 V2.001), dogstation Deluxe, Moto GP (MGP1004-NA-B), Pro Evolution Soccer The Arcade (ver EAA), Slime Kun, Space Pokan, Trio de Bingo, Twin Basket, 'unknown 960606-5 based machine', 'unknown Cirsa slot machine on 820501 A PCB', 'unknown Cointek game', 'unknown Konami medal game (game code GS662)', 'unknown Recreativos Franco slot machine (model RF51W14-CG)' and Win Bingo 2006
- New clones: 1944: The Loop Master (Euro 000620), Astro Ambush (Scramble bootleg on Galaxian hardware), Cadash (US, version 1?), Come-Cocos (Ms. Pac-Man) ('Made in Greece' Triunvi bootleg, set 2), Cookie & Bibi 2 (set 2), Croquis (Korea), Cuore 1 (Italian, set 2), Cuore 1 (Italian, set 3), Cuore 1 (Italian, set 4), Cuore 1 (Italian, set 5), Death Crimson OX (USA), Diana Olakoa (v8.38), Dragon Ball Z 2 - Super Battle (bootleg), Endless Riches (Ver 1.21), F-1 Grand Prix (set 1), Final Lap R (Japan Rev. B), Flying Shark (World, bootleg), Forgotten Worlds (Japan), G-Darius (Ver 2.02O), Hishou Zame (Japan, bootleg), Magic's 10 2 (ver. BETA3), Moune Creste (Jeutel French Moon Cresta bootleg), Ms. Pac-Man (bootleg, set 4), Narc (rev 4.00), Narc (rev 1.80), Olympic Darts K7 (v3.00), P.O.W. - Prisoners of War (US version 1, mask ROM sprites), Pool 10 (Italian, set 10), Prop Cycle (Rev. PR1 Ver.A, Japan), Riot (Woong Bi license), Ryu Jin (Japan, ET910000B PCB), Sauro (set 1), Scramble (unknown bootleg), Street Fighter II': Champion Edition (Playmark bootleg, set 3), Super Cup Finals (Ver 2.1O 1993/11/19, single PCB), Twinkle (set 2), Wardner (World, bootleg) and Wardner no Mori (Japan, bootleg).
- New PinMAME games: Ator (set 1, 2 bumpers), Jurassic Park (3.05), Last Action Hero (unknown CPU, display L1.05), Le Grand 8, Pool Player (1.0) and Storm
- Removed games: Mexico Lindo and Shooting Master (8751 315-5159)
- New drivers: cirsa820xxx.cpp, cointek.cpp, kongs470.cpp, rf51w14cg.cpp, twinbskt.cpp and winbingo.cpp
- New devices: 3xtwin, aplcd150, com52c50, jaleco_ms32_sysctrl, pcf8582 and x1_012
- New artworks: https://mrdo.mameworld.info/ + https://mrdo.mameworld.info/mame_artwork_ingame.php
- New Clrmamepro: https://mamedev.emulab.it/clrmamepro/#downloads
- CPU
. ARM7: Fixed interaction between instruction prefetching with the MMU enabled. Added rudimentary TLB support. Allows (MESS) HP Jornada 720 to boot further.
. Dynamic Re-Compiling: Don't leak using namespace from the header (cpu\drcbex86.cpp and cpu\drcbex64.cpp)
. Hitachi H8
. Preliminary support for short address mode (h8\h8_dma.cpp).
. Fixed interpretation of IPR bits for the H8S CPUs. (MESS) PSR-340 PortaSound boots now (cpu\h8\h8_intc.cpp).
. Fixed race condition in SCI where a new byte was written right before the last tick and froze the transmitter (h8\h8_sci.cpp).
. Fixed the watchdog read, fixes (MESS) Yamaha MU80 test mode (h8\h8_watchdog.cpp).
. Intel 8085A: Fixed sta/lda instruction name (i8085\8085dasm.cpp). Make sure SOD outputs 0 upon the first reset.
. Motorola MC68000: Accept addressing mode 6 for FSAVE/FRESTORE (m68000\m68kfpu.cpp)
. STmicro ST6228: Various changes. Fixed RETI and LD rr,A opcodes. Optimized internal register handling. Converted to use logmacro. Added initial timer support.
. Texas Instruments TMS57002 'DASP': Clear some forgotten registers
. Toshiba TMPZ84C015: Added WDT emulation
- SOUND
. AY-3-8910A PSG: Removed old printf msg
. Biquad Filter: Allow recalculating the filter values at runtime if a component value can be altered or changed through some means
. CD Audio: Fixed calculating relative value in T10MMC_CMD_READ_SUB_CHANNEL (machine\t10mmc.cpp)
. Gaelco GAE1: Fixed gaelco_gae1_device channels init, fixes random crashes and possibly audio issues in Surf Planet (sound\gaelco.cpp)
. Namco C140: Reduced duplication in fetching sample
. Samsung KS0164 audio processor: Pitch is floating point
. Sega Universal Sound Board: Fixed Sega USB sound device, was using more memory than allocated (fixes Zaxxon and segag80r/segag80v.cpp)
. Seibu ADPCM interface: Use interface to MSM5205 device for seibu_adpcm. Fixed hardware notes (audio\seibu.h).
. Yamaha YMF278B OPL4: Fixed the OPL4 low byte order in 12bits so that it matches the datasheet and the multipcm (GEW8)
. Yamaha YMW-258-F: Ported 12-bit sample support from Yamaha SWP30, still needs work. Fixed endianness of word reads. Some 12-bit samples sound almost reasonable now. Fixed the 12bits mode decoding. Found the real 12-bit format flag. Corrected clock divider and clocks for users of YMW-258-F to match schematics.
. Yamaha YMZ280B PCMD8: Fixed major mixer overdriving. Rebalance sound after YMZ280B change (drivers\firebeat.cpp, gunpey.cpp, konamim2.cpp, realbrk.cpp, tecmosys.cpp, vgmplay.cpp and zn.cpp) [David Haywood].
. YMF262 OPL3: Fixed off-by-one error in OPL3_SLOT_CONNECT
- DEVICE
. 6821 PIA: Improved PA and CA2 output handling
. Atari Slapstic
. Removed legacy init/reset, use the start device ones. Make the interface even nicer. Removed legacy stuff and reduced logging (machine\slapstic.cpp).
. Between a guess, the opcode going through the memory and and the cycle-perfect 6502 the kludge is not needed anymore. Removed access68k and space as a secondary consequence (machine\slapstic.cpp).
. Modernised the Slapstic hookup in atarig1.cpp, atarisy1.cpp, cyberbal.cpp, gauntlet.cpp, rampart.cpp and xybots.cpp.
. Converted Empire Strikes Back to the Slapstic bank interface
. The Slapstic in Marble Madness seems to trigger on more than the banking zone (machine\slapstic.cpp and drivers\atarisy1.cpp)
. Fixed Slapstic problems in Rampart level 4, big thanks to rodneylives for all his help (ID 07119). Note: The Slapstic seems to trigger on the whole rom, but that slows things down too much. Limit to the range Rampart actually needs.
. Discrete Netlist: Give devices the C++17 namespace treatment
. I2C Memory: Added PCF8582 device
. Imagetek I4100 052 VDP: Added some missing initializations, hopefully fixing random metro.cpp crashes at startup (video\imagetek_i4100.cpp).
. Intel 8275 CRTC: Fixed a case where the DRQ output could remain unexpectedly set due to DMA cycles happening too quickly.
. K055673 Sprite Generator: Put the real K055673 memory size. Fixes the Soccer Superstars crashes, if not the memory test itself.
. MC146818 RTC: Added square wave output
. MC68681 DUART: Output counter ready on OP3. Suppress unnecessary interrupt callbacks. Fixed counter clock rate calculation.
. PC Keyboard: Merged "PC KBDC" device with slot connector. Removed 'PC KBDC' and 'PC keyboard port' device.
. PCF8583 RTC with 240x8 RAM: Reimplemented I2C protocol and added clock and alarm modes (machine\pcf8583.cpp)
. Rockwell 10937 VFD controller: Initialized one variable in the constructor to avoid race condition (machine\roc10937.cpp)
. Seta SETA001 Sprites: Moved gfxdecode down into device. Added putative master clocks (video\seta001.cpp).
. SNES PPU: Use device_palette_interface for palette, fixed CGRAM size and direct color behavior (video\snes_ppu.cpp).
. TMS9928A VDP: Fixed failure to output initial interrupt state
- CHDMAN: Support Redump extended bin/cue format for Dreamcast discs. Initial check-in of Redump bin/cue support for Dreamcast GDI. Correctly identifies multi-cue format and sets GDROM flags. Creates a working Crazy Taxi chd from a Redump bin/cue. Disabled debugging code and started tidying up. Simple tool to compare chdman bin/cue and bin/gdi conversions, should be identical. Final tidy up, the testing is going well. Testing failed for Aero Dancing i (Japan), didnt zero last track. Added some comments about .gdi compatibility. Addressing review feedback on pull request #7422. Match TOSEC layout for Pattern I discs (3 tracks). Initial support for Pattern III discs. Pattern III discs now work and match TOSEC layout. Reading datasize from wrong track, same result though. Identify the GDI pattern, makes the code clearer. Support for Pattern II and consecutive AUDIO tracks. Use C99 type not POSIX type to build on Windows. Support Redump tracks split across two .bin files (util\chdcd.cpp and tools\chdman.cpp).
- aristmk4.cpp: Fixed driver. May be slightly incorrect, but was is sure is that the current video update routine needs 0x804 bytes, not 0x800.
- atarisy2.cpp: Fixed atarisy2 way too magic use of shares
- balsente.cpp: Removed outdated MC6850 ACIA hack (sound communications now work better without it). Fixes Sente Diagnostic Cartridge fails Sound Board Test (ID 07815).
- bnstars.cpp, ms32.cpp, tetrisp2.cpp
. Wrote a Jaleco MS32 System Control Unit device.
. bnstars.cpp: Fixed machine configuration and proper split for sprite and gfxdecode devices. Make it boot again. Note: bnstars1 never ever set up the CRTC at boot, causing no irq. We currently compensate by basically giving one frame of time, ofc on the real thing the first vblank is really when screen sync occurs.
. ms32.cpp: Fixed sprite transfer direction bit, removes an ugly per-game table. Fixed drawing honoring the wrong variable and causing a segmentation fault. Correct palette size. Move optional features (YUV, zooming) at init time (video\ms32_sprite.cpp).
. tetrisp2.cpp: Fixed extra screens in stepstag/vjdash to run at 60 Hz instead of 30. Fixed rightmost screen in stepstag/vjdash bitmap configuration (thanks to Osso for catching it).
- bublbobl.cpp, kikikai.cpp, pacman.cpp and rallyx.cpp: Eliminated set_input_line_vector and HOLD_LINE
- chihiro.cpp, naomi.cpp and triforce.cpp: Make DIMM board work again after memory system changes. Removed usage of auto_alloc_array (machine\naomigd.cpp).
- cosmic.cpp: Fixed bug in sound output handler and cleaned up sample playback code. Removed some redundant calls, and turned the questionable [[fallthrough]] into a break.
- cps1.cpp: Removed usage of octal literals, probably a typo (video\cps1.cpp).
- cps3.cpp: Removed GAME_FLAGS alias now that it's not multiple flags anymore
- cv1k.cpp: A bit more accurate frame rate
- de_3.cpp
. Fixed some parent-clone relationships, sorted the sets and change set names to follow a common pattern. Fixed memory share width and Endianness issues.
. New clones marked as NOT_WORKING, added CPU and display version on games descriptions and fixed some games metadata. Added display version when available and fixed some metadata. Added CPU version information to descriptions and used the region version string from the display ROM on the description also.
- dec8.cpp: Added DIP locations
- deco32.cpp: Replaced sprite alpha blending with alternate frame flicker (video\deco_zoomspr.cpp)
- drgnmst.cpp
. Improved scrolling, buffer sprites and added notes on offsets.
. Redumped of 'Master's Fury' from partially populated PCB marked "Dragon Master 96". Use the proper YM2151 type and mapping. Promoted game to working, remaining issues are minor. Tweak some priorities, although still not 100% how they derive from the register (doesn't seem identical to cps1). Added PCB layout.
- dynax.cpp: Clarified some unknown dipswitches in tenkai, majrjhdx and ougonhai.
- exidy.cpp: Make driver compilable with SOURCES= and fixed Side Trak
- firebeat.cpp: Changed clock speed from 64 MHz to 66 MHz
- fungames.cpp: Added infos on undumped games (Sky War [TTL] and Tankers [TTL])
- galaxold.cpp and scramble.cpp
. Modernized S2650 interrupts
. Transplant clones Bagman (bootleg on Moon Cresta hardware, set 1) and Bagman (bootleg on Moon Cresta hardware, set 2) to modern Galaxian driver
- goldnpkr.cpp
. Clean-up driver. Cleaned up inputs, using standard keyout and payout types and key assignments.
. Made 'Witch Up & Down' artwork clickable
. Improved the short names for clones Witch Card and Witch Game
. Re-arranged the Golden Poker button lamps so that the 6-button layouts for Jolli Witch and Wild Witch make sense. In 6-button mode, the hold buttons double as bonus game and bet buttons, but the lamp outputs don't change. The simplest way to deal with this without requiring the user to switch views or using layout scripting is to place the dedicated buttons directly below the hold buttons that correspond to them.
- goldstar.cpp: Fixed the decrypted_opcodes share size
- hng64.cpp: Dumped EEPROMs for the IO boards. Major documentation update.
- liberate.cpp: Fixed bank hack turned into share hack
- lsasquad.cpp: Fixed videoram access (video\lsasquad.cpp)
- m72.cpp: Fixed sprite drawing routine
- magic10.cpp: Fixed incorrect tilemap size
- metro.cpp: Added some missing initializations to video\imagetek_i4100.cpp, hopefully fixing random driver crashes at startup.
- mcr3.cpp: Don't overdrive the mixer
- midqslvr.cpp: Avoid outright crashes
- model3.cpp: Fixed Model 3, unallocated bank.
- namcos22.cpp: Window clip camera VL/VR was wrong way around, fixes misaligned zoom effect in Prop Cycle score entry screen (ID 07790). Removed 1 usage of auto_alloc (2 remaining). Removed an unneeded machine_start.
- naomi.cpp: Added Altera FPGA firmware from original DIMM (machine\naomigd.cpp). Added Atomiswave ANET.Net board docs.
- nova2001.cpp: Fixed incorrect palette size
- nyny.cpp and spiders.cpp
. Replaced bogus "temporary" screen parameters with correct CRTC configuration, making reported refresh rates more reasonable.
. Fixed emumem-related regression in New York! New York!. Make video flip controls more accurate.
- peplus.cpp: Fixed PEPlus, no need to ram to store the rom.
- pgm.cpp: Minor documentation update according to PCB scans
- play_2.cpp: Fixed logic bug related to periodic interrupts. Minor adjustment to sound communications in Cerberus (Pinball) and Zira.
- psikyo.cpp: Fixed width of video RAM shares
- royalmah.cpp: Fixed incorrectly sized videoram
- segas16b.cpp
. Verified 315-5298 dump and added it to all ROM boards which use it (171-5797, 171-5521, 171-5704)
. Demoted clone Bay Route (set 1, US) (unprotected) to MACHINE_NO_SOUND
- seta.cpp
. Separated emulation of tile layers as new device (video\seta.cpp and video\x1_012.cpp). Slight further cleanup.
. Separated driver state class a little. Acknowledge 65C02 IRQs. Eliminated strcmp for per-game hacks (video\seta.cpp).
. Fixed insidious variable type mistake that caused tilemap regressions (video\x1_012.h)
- seta2.cpp
. Fixed Funcube, may have side effects on clone 'Hong Tian Lei (A-Blast) (bootleg)' which really doesn't work on the first place so I do not really care.
. Changed previously unknown DIP switch of Guardians. Figured out that this one dipswitch, when toggled on, makes the game give an extra life at 500,000 points, instead of 300,000 points when toggled off.
- shanghai.cpp: Fixed CPU clock (CXQ70116 can't support 16MHz) and ADPCM clock in Kyuukyoku no Othello. Added notes.
- simple_st0016.cpp: Improved documentation and add PCB locations to Neratte Chu
- sfcbox.cpp: Dumped KROM 2.0 BIOS
- shangkid.cpp: Updated driver to use derived classes
- tecmo.cpp: Documented Silk Worm PCBs and updated Rygar's documentation. Adjusted Silk Worm main CPU clock according to measurements.
- toaplan1.cpp
. Use prio_transpen rather than custom sprite drawing function
. Fixed Rally Bike has a different spriteram size
. Added note about missing MCU dump for Demon's World and marked currently used code as bad since it's not from an original board.
- tsamurai.cpp: Added missing item to save state (was incorrectly being saved only for VS Gong Fight)
- twincobr.cpp
. Decapped TMS32010C based MCUs for Flying Shark (World), clone Hishou Zame (Japan) and Twin Cobra clone Kyukyoku Tiger (Japan). The Flying Shark (World) one is also compatible with clones Sky Shark (US, set 1), Sky Shark (US, set 2), Wardner (World) and clones Pyros (US) and Wardner no Mori (Japan).
. Removed state-changing postload method that makes no sense now
- twincobr.cpp and wardner.cpp: Created bootleg sets to preserve actual bootleg DSP code dumps (Flying Shark (World, bootleg), Hishou Zame (Japan, bootleg) and Wardner (World, bootleg))
- undrfire.cpp: Hooked up TC0360PRI priority controller, fixes priorities and missing graphics in attract mode of Chase Bombers (ID 01807).
- unico.cpp: Fixed usual region width issues
- vcombat.cpp: Fixed messy sharing of shares. Separated the memory maps for single and dual i860.
- vendetta.cpp: Switched from bankdev to memory_view
- vicdual.cpp
. Fixed extraneous parentheses on comparison warning
. Simulated protection for clones Carnival (Head On hardware, set 1) and Carnival (Head On hardware, set 2), fixes gamed crashes after clearing first round (ID 07778).
. Corrected 'Lives' dipswitch for clone Crash (bootleg of Head On)
- williams.cpp: Set the videoram as a single 48k block (which it is), derive everything from it.
- 3-D Bowling: Fixed function of DIPs labelled as Unused (ID 07783)
- Armor Attack: Improved artwork. Better alignemnent and transmission colours in particular. Adjust alignment of overlay. I adjusted the alignment based on where the shots hit the buildings. It doesn't seem possible to not have the tanks partly overlap the buildings but still have the hitboxes inset into the buildings by the right amount on all sides.
- Birdiy: Fixed Birdiy inputs. The inputs for Birdiy were copied from Pac-Man and were incorrect. P1 attack button was incorrectly mapped to the service mode DIP. P2 attack wasn't mapped at all. "Stop Screen" DIP does nothing, so mark it as unused. "Rack test" is some kind of test mode, not Pac-Man style level skip, label it as such.
- Bloxeed: Clarified 'Credits' DIPs in clones Bloxeed (World, C System) and (US, C System, Rev A) and fixed the credits to start DIP switches.
- Bongo: Transplant to modern Galaxian driver
- Cabal: Added hardware documentation. Added PROMs to Cabal (World, Joystick), Cabal (Korea?, Joystick), Cabal (UK, Trackball) and Cabal (UK, Joystick). Corrected M5205 measurement.
- Captain Silver: Moved game to its own state class
- Centipede: Added watchdog reset address to Centipede bootlegs, and nop some other address ranges to match original sets.
- Championship Bowling: Minor adjustment to foreground offset in flip screen (ID 04905)
- Circus / Acrobat TV: Changed clone (bootleg) to 'Circus / Acrobat TV (older)' as it has been verified to be identical to the older version of Circus with the revision 9004 ROM and fixed the rom names on to match the labels on the actual PCB. Fixed the ROM label on the parent set 'Circus / Acrobat TV' to reflect that it uses ROM revision 9004A.
- Crazy Kong Part II: Transfer Crazy Kong bootlegs to modern Galaxian driver
- Dock Man: Transplant clones Port Man (bootleg on Moon Cresta hardware) and El Estivador (Spanish bootleg of Port Man on Galaxian hardware) to modern Galaxian driver.
- Empire City: Fixed clone Empire City: 1931 (France) locked at start (ID 07817)
- F-1 Super Battle: Move game to own state. Added layout.
- Fighting Basketball: Fixed missing AY-3-8910A sound (ID 07803)
- Gachaga Champ: Fixed Player2 inputs up and right are swapped (ID 07813)
- Gals Panic II (Asia): Cleanup the MCU commands and added the slave ones
- Hard Drivin': Fixed Hard Drivin', a bad combination of wrong width memory and wrong-sized allocation. The palette was working by sheer luck (and memory block size rounding).
- Hit Poker: Fixed mistake in allocation size
- Invader's Revenge: Adjusted sound timings to more closely match a real machine (info from Tafoid)
- Klax: Promoted clones Klax (version 5, bootleg set 1) and Klax (version 5, bootleg set 2) to working
- Magic the Gathering: Verified exact CPU model
- Magical Touch: Fake the BIOS shadow a little less badly
- Major Title 2: Use parallel EEPROM device
- Malzak: Implemented TLC (Transmitted Large Character) output line (video\saa5050.cpp)
- Metal Clash: Removed tag lookup for RAM bank and fix save state loading
- Mighty Monkey: Transplant Mighty Monkey and clones Mighty Monkey (bootleg on Super Cobra hardware), Mighty Monkey (bootleg on Scramble hardware) and Mighty Monkey (Kaina Games, bootleg on Scramble hardware) to modern Galaxian driver.
- Ms. Pac-Man: Fixed machine_config regression in clones Ms. Pac-Man II (Orca bootleg set 1) and Ms. Pac-Man II (Orca bootleg set 2)
- Multipede: Support switching games in Multipede - Game now playable. Moved Multipede stuff into a new class, optimized memory map switching a little.
- NBA Showtime NBA on NBC: Fixed release year (ID 07757)
- NFL Blitz '99: Fixed NFL Blitz '99 input port mapping by setting default values for unused I/O bits. Fixes attract mode constantly skips (ID 07799).
- Operation Tiger: Decapped TMS320BC53PQ80 DSP
- Quiz Punch II: Fixed service mode doesn't work (ID 07812)
- Ozon I: Transplant to modern Galaxian driver. Added 8255 PPI.
- Photo Play Spirit Xtreme: Added notes about the USB dongle and a partial dump of its non-volatile memory
- Quartet: Fixed incomplete protection hookup in Quartet, fixes the moving floors that appear after the 15th stage are not displayed (ID 07792).
- Saint Dragon: Fixed high scores higher than 1.000.000 points are not displayed correctly at the high scores table (plugins\hiscore\hiscore.dat) (ID 07796).
- Shooting Master: Redumped and verified Shooting Master's EPR-7100 maincpu rom
- Space Duel: Fixed POKEY audio (ID 07808)
- Starship 1: Fixed tilemap size (gets rid of uninitialized chars on screen)
- Super Derby (satellite board): Preliminary work on decryption
- Super Donkey Kong / Super Bomberman 2 (Super Famicom Box): Dumped GROM
- Teenage Mutant Ninja Turtles - Turtles in Time: Make ROM access work more like it did before
- Tough Turf: Fixed Tough Turf (set 2, Japan) voice samples not playing back properly. Note: Neither Starting nor Bonus Energy dips really works for both tturf and tturfu, former does on tturfbl, is it based on a later rev we don't have?
- Tunnel Hunt: Fixed Tunnel Hunt, bringing the driver to this side of 2020. Restored save state support.
- Vector games (Atari AVG/DVG)
. Modernised code (video\avgdvg.cpp and emu\save.cpp). This fixes many vector games do not return stably from save state (ID 07435). Fixed bwidow.cpp games, tidied up code some more.
. Fixed a bug (pre-dating the recent conversion to bitswap) in the sparkle LFSR preset load value (video\avgdvg.cpp), and added a comment explaining what the source is for bits 4, 5 and 6 of the preset load value.
- Vulgus: Fixed Vulgus stutter in MAMEUI (ID 07784). Note: When the cannon is fired, it causes the AY8910 to issue a storm of "EShape" messages into the verbose log. MAME uses a different method which is why the issue isn't noticed there.
- Wing War: Fixed throttle (Pedal 1) doesn't work in clone Wing War R360 (US) (ID 07820)
- Winning Run Suzuka Grand Prix: Decapped TMS320C25. TODO: Verify, hook up and check if same for all games.
- Input port: Cleaned up RawInput code slightly (input\input_rawinput.cpp)
- Fixed rom names in circus.cpp, cps2.cpp, fungames.cpp, goldstar.cpp, midwunit.cpp, ms32.cpp, namcofl.cpp, nmk16.cpp, pgm.cpp, segag80v.cpp, segas16b.cpp, seta2.cpp, simple_st0016.cpp, snowbros.cpp and tecmo.cpp
- Dipswitch fixes in dynax.cpp, galaxian.cpp, goldnpkr.cpp, meadows.cpp, midyunit.cpp, pacman.cpp, segac2.cpp, seta2.cpp, snowbros.cpp and vicdual.cpp
- Description changes of Ator (set 2, 3 bumpers), Chatan Yara Kuushanku - The Karate Tournament (Japan) (ID 07786), Chibi Maruko-chan: Maruko Deluxe Quiz (ID 07785), Circus / Acrobat TV (older), Come-Cocos (Ms. Pac-Man) ('Made in Greece' Triunvi bootleg, set 1), Cookie & Bibi 2 (set 3), Cuore 1 (Italian, set 1), Daytona USA (ID 05701), Daytona USA (Revision A), Daytona USA Special Edition (Revision A), (many) de_3.cpp games, Death Crimson OX (Japan), Death Crimson OX (Japan, Rev A), Diana Olakoa (v8.27), Dungeons & Dragons: Shadow over Mystara (Asia 960619), Dungeons & Dragons: Shadow over Mystara (Japan 960223), F-1 Grand Prix (set 2), Final Fight Revenge / Final Revenge (JUET 990930 V1.100) (ID 07782), Final Fight Revenge / Final Revenge (JUET 990714 V1.000), High Impact Football (prototype, revision0 proto 8.6 12/09/90), Lethal Weapon 3 (2.04 England, display A2.02), NBA Maximum Hangtime (rev L1.03 06/09/97), NBA Maximum Hangtime (rev L1.0 11/08/96), Olympic Darts K7 (v3.11), Ryu Jin (Japan, ET910000A PCB), Sauro (set 2), Scud Race Deluxe, Scud Race Twin, Sharpshooter (Game Plan), Star Trek 25th Anniversary (1.10, display A0.27), Star Wars (1.01, display A1.02), Star Wars (1.01 Germany, display G1.02), Star Wars (1.03, display A1.04), Star Wars (1.06, display A0.46), Star Wars (1.06, display A1.05), Star Wars (1.06, display S1.05), Super Cup Finals (Ver 2.1O 1993/11/19, F3 Cartridge), Super Cup Finals (Ver 2.2O 1994/01/13, single PCB), Super High Impact (prototype, proto 4.0 09/10/91), Super High Impact (prototype, proto 5.0 09/15/91), Super High Impact (prototype, proto 6.0 09/23/91), Super Nova (Game Plan), Teenage Mutant Ninja Turtles (1.04, Germany), Terminator 2 - Judgment Day (German, rev LG1 11/04/91), Total Carnage (prototype, proto v1.0 01/25/92), Twinkle (set 1) and WWF Royal Rumble (1.03 French, display F1.01)
- Renamed (1944) to (1944u), (ator) to (ator3bmp), (btmn_f13) to (btmn_103f), (btmn_g13) to (btmn_103g), (circusb) to (circuso), (cookbib2a) to (cookbib2b), (croquis) to (croquisg), (deathcox) to (deathcoxj), (diolakoa) to (diola827), (endrichs) to (endrichsa), (f1gp) to (f1gpa), (finalapro) to (finalapr1), (gdarius) to (gdariusj), (gdariusb) to (gdariusu), (hook_401p) to (hook_401_p), (jupk_g51) to (jupk_501g), (lah_f104) to (lah_104f), (lah_l104) to (lah_104s), (lah_l108) to (lah_108s), (lw3_204) to (lw3_204e), (rab_103) to (rab_103s), (ryujin) to (ryujina), (scfinalso) to (scfinalsoc), (shtngmste) to (shtngmst)m (stwr_106s) to (stwr_106_s105), (stwr_a046) to (stwr_106_a046), (stwr_a14) to (stwr_103_a104), (stwr_e12) to (stwr_102e), (stwr_g11) to (stwr_101g), (tftc_104) to (tftc_104s), (tomy_h30) to (tomy_300h), (trek_11a) to (trek_110_a027), (witchcda) to (witchcrda), (witchcdb) to (witchcrdb), (witchcdc) to (witchcrdc), (witchcdd) to (witchcrdd), (witchcde) to (witchcrde), (witchcdf) to (witchcrdf), (witchcdg) to (witchcrdg), (witchcdh) to (witchcrdh), (witchcdi) to (witchcrdi), (witchcdj) to (witchcrdj) and (witchcdk) to (witchgmea)
- MAME
. VIDEO RENDERING SYSTEM
. Fixed drawscanline_core leftover loop, should not live inside unrolled loop (emu\drawgfxt.ipp)
. Added links to some internal layouts that demonstrate various features (docs\source\techspecs\layout_files.rst)
. Use delegates to avoid hot conditional branches. Set initial value for bounds callback, it can be called before tags are resolved (emu\rendlay.cpp).
. Exposed a few information view item properties (emu\render.cpp)
. Moved some rendering code to constexpr (emu\drawgfx.cpp, rendersw.hxx and rendutil.h)
. Added "Non-Integer Scaling" and "Keep Aspect" settings to UI video options menu and removed SDL hotkeys for same. Removed keepaspect and fullstretch members of osd_video_config.
. BGFX: Modified crt-geom-deluxe to track the power-law fall-off for longer (up to 1024 frames). Ensured that the intensity falls to zero afterward. Note that this is currently only compiled for GLSL.
. MEMORY SYSTEM
. Simplify memory management (emu\emumem.cpp). API impact: install_ram/rom/writeonly now requires a non-null pointer. If you want automatically managed ram, add it to a memory map, not in machine_start. install_*_bank now requires a memory_bank *, not a string. One can create memory banks outside of memory maps with memory_bank_creator. One can create memory shares outside of memory maps with memory_share_creator. Memory maps impact: RAM ranges with overlapping addresses are not shared anymore. Use .share(). RAM ranges touching each other are not merged anymore. Stay in your range. Extra note: There is no need to create a bank just to dynamically map some memory/rom. Just use install_rom/ram/writeonly.
. Clean-up and consistency fixes after memory system changes
. Use if constexpr to make code clearer (emu\emumem.cpp). Fixed memory leak on address_space_specific destruction (emu\emumem.cpp).
. Don't reject re-loading an unused bank (emu\emumem.cpp)
. Implemented views, which are essentially bankdevs integrated into the memory map system. Fixed recursion on views dup and lookup (emu\emumem_aspace.cpp)
. Save view register state (emu\emumem_mview.cpp)
. Removed the lambdas, seems to make the compiler usage resources less catastrophic and pre-inline h_make_1, reduces the memory a little more (emu\emumem.h and emumem_mview.cpp).
. DEVICE
. General maintenance on emu\devfind: Harmonised memory region/share finder/creator APIs. Moved .found() to optional object finders. Added truth test operator to optional object finders. Fixed things that were testing .found() on required object finders. Improved Doxygen API documentation.
. Made read_safe avaiable for optional I/O ports only (emu\devfind.h). Added the next couple of sections explaining object finders (docs\source\techspecs\object_finders.rst).
. Added missing memory_share_array_creator (emu\devfind.h)
. More cleanup/consistency changes (emu\devfind.cpp): Removed .mask(), as it's not reliable in the general case. Added asserts to things that assume power-of-two sizes. Got rid of virtual qualifier on pointer-to-member operator. Made helpers a bit more assertive about logging warnings.
. Cleaned up emu\dirom and made it stricter: Made it an error to specify address map and explicit ROM region. Made it an error if explicitly specified ROM region is not found. Made the ROM region tag apply relative to the current device.
. Removed some software list data that was redundantly copied into device_image_interface (m_supported was never even set, so it didn't even work), and made crc() work better (previously it wasn't recalculuated after unloading and loading another image) (emu\diimage.cpp).
. LUA engine
. Use sol::lua_nil instead of sol::nil (sol::nil is an alias of it that may not always be available). Fixed constructable usertypes. Changed definition for rest of usertypes.
. Apparently sol::make_user is a recipe for dangling references, get rid of it. SOL3 needs non-const device reference to wrap.
. Splitted lua_engine user type registrations across a few files to make it a bit more manageable
. Moved Clang warning suppression to the right file, disabled MSVC C4503 suppression for now, will see which files need it for SOL3.
. Fairly significant overhaul of LUA engine and some cleanup. The things that were previously called device iterators are not iterators in the C++ sense of the word. This is confusing for newcomers. These have been renamed to be device enumerators. Several LUA methods and properties that previously returned tables now return lightweight wrappers for the underlying objects. This means creating them is a lot faster, but you can't modify them, and the performance characteristics of different operations varies. The render manager's target list uses 1-based indexing to be more like idiomatic LUA. It's now possible to create a device enumerator on any device, and then get subdevices (or sibling devices) using a relative tag. Much more render/layout functionality has been exposed to LUA. Layout scripts now have access to the layout file and can directly set the state of an item with no bindings, or register callbacks to obtain state. Some things that were previously methods are now read-only properties. Layout files are no longer required to supply a "name". This was problematic because the same layout file could be loaded for multiple instances of the same device, and each instance of the layout file should use the correct inputs (and in the future outputs) for the device instance it's associated with. This should also fix video output with MSVC builds by avoiding delegates that return things that don't fit in a register.
. Work around MSVC ambiguous overload error (mame\luaengine_render.cpp)
. Used unchecked optional getter after explicit check (mame\luaengine.ipp and luaengine_render.cpp)
. Cleanup and enhancements: Changed memory manager banks, regions and shares to lightweight wrappers. Exposed tag, width and Endianness of regions and shares. Exposed memory tag and entry of banks (scripts can change entry). Modernised syntax and switched to abbreviated integer types.
. LUA engine improvements: Added methods for enabling and disabling breakpoints and watchpoints, and made debugger views update when breakpoints/watchpoints are manipulated from LUA. Made breakpoints and watchpoints objects rather than tables. It's not possible to enable/disable a breakpoint or watchpoint from the object itself, you have to go through its owners' debug interface. Exposed more device_t members for dealing with child/sibling tags and devices. Also provided a way to get regions/shares/banks from a device using relative tags rather than going through the memory manager with absolute tags (mame\luaengine_debug.cpp).
. Exposed cassette image devices, device_slot_interface, emu_options, slot options, device_t interface on screen_device and some cleanup.
. Exposed enough of the layout system to LUA to allow position and colour to be animated. Fixed Clang warning about unused lambda capture.
. LUA engine cleanup and input edition: Modernised and cleaned up LUA bindings for input classes. Exposed the input_sequence_poller class to LUA and updated the autofire and cheat plugins to use it, rather than continuing to pretend it's part of the input manager. Exposed more of the natural keyboard manager, including the ability to enable/disable individual keyboard and keypad devices like you can from the keyboard mode menu. Exposed a few more things on ioport_port and input_device.
. Exposing image format information to LUA. Feedback from Carl. Addressing what I expect would become Vas feedback. Vas feedback, minus making image formats a container wrapper. Changed image formats to have a proper container wrapper. Now indexed by an integer index.
. Clean up render classes and expose screen image adjustments. Started moving LUA class reference to docs. Expecting people to find the class reference material in the source isn't going to help make it approachable. The docs allow longer explanations, better formatting, and cross reference links. Added another layout scripting example to the docs.
. LUA cleanup and documentation migration checkpoint. Cleaned up some more of the LUA inteface. Mostly replacing methods with properties, some consistency fixes, a few renames, some more exposed functionality, and a couple of properties that have no business being set from scripts made read-only. Moved a lot more LUA documentation out of source comments into the documentation, and expanded on it in the process. Got more UI code out of the input manager. Changed input sequence poller to a polymorphic class where you specify your intention upfront. Changed the cheat plugin to use UI Clear to clear hotkey assignments and leave them unchanged if the user starts assignment but doesn't press any switches. Ported AJR's fix for over-eager double-click recognition from SDL to Windows OSD (mame\luaengine.cpp).
. More LUA interface cleanup, additional properties and methods, and documentation migration/expansion. Emulated switch inputs can have "not" codes applied to host input axis directions. It works the same way as host switch inputs - push twice for a "not" prefix. Input polling helpers no longer need to store state in the input device items. There's less leakage, and less chance of things interfering with each other. Allow snapshot view options to be configured through the internal UI via the video options menu. Made video options menus place initial focus on the currently selected view item. Removed some crud from the menu base class. Fixed the description of the "snapview" option. The value to get raw screen pixels was changed to "native" a long time ago but the description was never updated.
. Exposed the "native snapview" option on the video manager. Trying to use presence of a single view is a poor proxy that breaks with multi-screen systems. Allow rotation to be changed for native snapshot views, and disable the zoom to screen area control when it has no effect on the selected view. Treat an empty string identically to "auto" for view selectction. Previously this was being used for prefix matching so it would force the first view (this caused the bad snapshot view selection. It had been relying on "internal" not being a common view name prefix so it fell through to automatic selection, but when changed to an empty string it forced the first view). Documented "auto" as well as "native" for the -snapview option and changed the default to auto rather than an empty string for consistency with the -viewN options. Added [w]string_view handlers to the stuff that's instantiated in strformat.cpp since we'll be increasingly using them. Cleaned up and updated some documentation.
. More LUA interface cleanup - it's simpler with cleaner underlyng APIs. Made the sound manager mute controls readable, and got rid of system enable since it just controls system mute anyway. This was causing confusion: phantom2 was trying to use both independentlyt casuing the mute bit to be ignored. The LUA interface changes are mostly changing methods to properties, some renames to make things clearer, and some additional properties for better control over snapshots.
. Exposed a couple more things to LUA so the plugins can show the actual key mapped to UI clear
. UI
. Added MAME version to About menu header
. Removed long-disused UI button color tables (emu\ui\cmddata.h)
. Fixed crash with unmounted images (ui\filemngr.cpp)
. PLUGINS
. Fixed menu item not updating visually when disabling a cheat with UI Left (plugins\cheat\init.lua)
. Fixed not finding the first screen after screen enumerator was exposed as an object rather than using a table (plugins\cheatfind\init.lua).
. Replaced environment variable substitution function with core version (plugins\*)
. Use emu.subst_env (plugins\portname\init.lua)
. MULTI-LANGUAGE: Fixed Portuguese_Brazil translation errors
. Deprecate machine resource pool (emu\machine.h). This has outlived its usefulness. Use smart pointers (std::unique_ptr, std::shared_ptr, etc. from ) to manage object lifecycles.
. Miscellaneous clean-up. Replaced several uses of auto_alloc (isa\isa.cpp, machine\vrender0.cpp, drivers\menghong.cpp, photoply.cpp and video\liberatr.cpp).
. Fixed another annoying edge case (mame\audit.cpp)
. Cleaned up MACHINE_START_OVERRIDE / MACHINE_RESET_OVERRIDE / VIDEO_START (segac2.cpp, tsamurai.cpp, tubep.cpp and wecleman.cpp)
. Got rid of some MACHINE_*_MEMBER and VIDEO_*_MEMBER in various drivers
. hiscore.dat update (plugins\hiscore\hiscore.dat)
. Properly handle numpad enter (3rdparty\linenoise\linenoise.c)
. Removed "unicode.h" from emu.h (except for UTF8_xxx macros, which have been transplanted to emucore.h since a lot of drivers use them) and osdepend.h. Added std::string_view overrides for uchar_from_utf8 and normalize_unicode.
- SDLMAME: Fixed a couple of X11 resource leaks (osd\modules\input\input_x11.cpp, midi\portmidi.cpp and sdl\sdlmain.cpp)
- MAC OS X
. Disable BGFX threading, which causes crashes and wrong drawing on Catalina and Big Sur (scripts\src\3rdparty.lua) (ID 07746). Tidied up compiler warning options for 3rdparty (scripts\src\3rdparty.lua).
. Fixed compilation errors in 'posixfile.cpp', for older MacOS/Xcode releases.
. Added macosx_arm64_clang target support (makefile, scripts\genie.lua and toolchain.lua)
. Temp macOS compile fix for bundled SDL2 pending the 2.0.14 release (3rdparty\SDL2\src\atomic\SDL_spinlock.c). Added AudioToolbox framework when building SDL2 on macOS, fixes TOOLS=1 link errors (scripts\src\osd\sdl.lua). Use -Wno-strict-prototypes when building SDL2 on macOS (scripts\src\3rdparty.lua).
. Temporary hack so most DRC games work on the M1/Apple Silicon (lib\osdlib_macosx.cpp)
- VGM player: Added 47 new entries from most recent package release + some shortname consistency fixes (hash\vgmplay.xml)
- Compiling
. Switch to building MAME as C++17. Updated sol2 to 3.2.2. Updated pugixml to 1.10. Increased minimum Clang version to 6. Cleaned up some stuff that can use new features.
. Updated compilingmame.rst doc required MSYS64 packages for using lld (mingw-w64-x86_64-libc++). Added some notes about setting up and using MSYS2 (docs\source\initialsetup\compilingmame.rst).
. Apple calls LLVM/Clang 10 Xcode 12, update warning flags (scripts\genie.lua).
. Initialized some variables to avoid asserts/crashes/regressions in DRVNOCLEAR builds (20pacgal.cpp, aerofgt.cpp, argus.cpp, aristmk5.cpp, atarig42.cpp, atarisy1.cpp, beathead.cpp, bfcobra.cpp, calchase.cpp, cvs.cpp, drw80pkr.cpp, eolith.cpp, exerion.cpp, galaxian.cpp, galaxold.cpp, gameplan.cpp, ghosteo.cpp, gts80b.cpp, halleys.cpp, hng64.cpp, hyhoo.cpp, igs011.cpp, igs017.cpp, jalmah.cpp, jeutel.cpp, jpmsys5.cpp, ksys573.cpp, lethalj.cpp, m72.cpp, malzak.cpp, mediagx.cpp, megatech.cpp, metlfrzr.cpp, mlanding.cpp, model1.cpp, model2.cpp, mpu4.cpp, namcos10.cpp, nbmj8688.cpp, nbmj8891.cpp, nmk16.cpp, opwolf.cpp, peyper.cpp, pgm.cpp, pinball2k.cpp, s3.cpp, s4.cpp, seattle.cpp, segas18.cpp, segac2.cpp, segajw.cpp, snk.cpp, srmp2.cpp, suna16.cpp, system1.cpp, system16.cpp, taitotz.cpp, taitowlf.cpp, tecmosys.cpp, tmnt.cpp, trvquest.cpp, tumbleb.cpp, vectrex.cpp, vega.cpp, viper.cpp, wecleman.cpp, williams.cpp, xtom3d.cpp, machine\archimds.cpp, machine\snes.cpp and includes\mpu4.h)
. Removed update step for ci-windows.yml to prevent errors about outdated mirrors. Bump microsoft/setup-msbuild to 1.0.2 (.github\workflows\ci-windows.yml).
. Fixed some MSVC failure to resolve overloaded operator errors. MSVC isn't trying the object finders' cast-to-pointer operators when looking for a suitable operator+. Since GitHub actions can only find 100 occurrences of a string and don't actually give you the full raw log when you ask for it, it's going to take several passes to catch all of these.
. Started writing page on object finders with worked examples (docs\source\techspecs\object_finders.rst)
. Clang doesn't like how we're using std::void_t (emu\devcb.h and emu\emumem.h) - switch back to our own void_t-alike until it can be investigated.
. Enable GCC implicit fallthrough warning
. Removed some deprecated instantiations of static constexpr members (MSVC complains about them now)
. Work around GNU libstdc++ wanting to stack large temporaries when vector elements can be trivially constructed.
. C++17 string handling updates (without charconv so as not to break GCC 7). render.cpp, rendlay.cpp, ui\ui.cpp, ui\menu.cpp: Changed argument types for text processing functions from const char * to std::string_view. ui\menu.cpp: Added overloads of item_append omitting the frequently empty subtext argument. cheat.cpp: Removed some c_str() calls that became unnecessary a while ago.
. More uses for std::string_view (debug\debugcon.cpp, textbuf.cpp and emu\rendfont.cpp)
. Fixed build by updating charconv.cpp to use string_view internally (imgtool\charconv.cpp)
. Made strformat.h and devcb.h play nicer with C++17 and pre-standard C++20. Format precision now correctly limits the length of string views. Confirmed that strformat.{h,cpp} works with pre-standard C++20 support in GCC 9 (util\strformat.h).
. Eliminated many unnecessary c_str calls (emu\addrmap.cpp, device.cpp, distate.cpp, emumem.cpp, emuopts.cpp, ioport.cpp, mconfig.cpp, sound.cpp, xtal.cpp, frontend\mame\clifront.cpp...)
. Updated util\png.cpp add_text to take std::string_view for arguments and use std::string_view internally in another function
. Removed another entirely useless string_format call (bgfx\chainmanager.cpp)
. Fixed linking the virutal subtarget (scripts\target\mame\virtual.lua)
- Debugger
. Added M6809 support for gdb remote debugger (debugger\debuggdbstub.cpp)
. Added "n2a03" (6502 CPU clone) to gdbstub for NES, and swapped 6502 PC/SP to SP/PC (debugger\debuggdbstub.cpp).
. Allow input piped from stdin by specifying a bare hyphen as the filename (tools\unidasm.cpp)
. Added strdump debugger command for dumping memory as ASCII strings
. Prevent certain register values from being formatted with invalid characters added in debugger state views (e.g. upd7810) (debug\dvstate.cpp)
. Documented loadr and saver debugger commands (debug\debughlp.cpp)




"Theory is when you know everthing but nothing works. Practice is when everything works but no one knows why.
In our lab, theory and practice are combined: nothing works and no one knows why."









Entire thread
Subject Posted by Posted on
* MAMEinfo 0.227 :) MASH 12/31/20 02:36 PM
. * Re: MAMEinfo 0.227 :) agard  12/31/20 05:10 PM

Extra information Permissions
Moderator:  John IV, Robbbert, Tafoid 
1 registered and 15 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 733