Quantcast
Channel: MAMEWorld News
Viewing all 2242 articles
Browse latest View live

Haze: looking-back-at-a-list


MAMEdev presents: Video Klein

$
0
0

MAMEdev presents: Video Klein

Thanks to the kind generosity of Wolfgang Nottebaum, managing director of Video Klein Automatenbau GmbH, we can provide ROMs for several German video poker games. The ROMs are freely available for personal use. Most of the games come from Video Klein’s popular Witch Card series. Notably, Witch Strike is one of the many games designed to comply with the letter of laws banning video poker games by eschewing playing card graphics and gambling terminology.

The ROMs are available for download from our ROMs page. All the games have internal artwork that shows the control panel button lamps. The buttons are clickable if you run MAME in windowed mode with mouse capture disabled. For games that require initial setup, instructions are provided on the download pages.

[Posted by: Vas Crabb]

MAMEinfo 0.227GIT (13th Dec)

$
0
0

MAMEINFO.DAT

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

* Added Source/Listinfo changes

* Newest Bugs (13th Dec)

* Updated Artwork.ini

* 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.227GIT

- New games: Black Touch II (Korea)
- New Working games: Klax (version 5, bootleg set 1), Klax (version 5, bootleg set 2) 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), Space Pokan, Trio de Bingo, Win Bingo 2006 and unknown 960606-5 based machine
- 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), 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), Ms. Pac-Man (bootleg, set 4), Moune Creste (Jeutel French Moon Cresta bootleg), Olympic Darts K7 (v3.00), 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) and Wardner (World, 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: kongs470.cpp and winbingo.cpp
- New devices: aplcd150, jaleco_ms32_sysctrl and x1_012
- New artworks: https://mrdo.mameworld.info/ + https://mrdo.mameworld.info/mame_artwork_ingame.php
- CPU
. 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)
. 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)
. 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
. YMF262 OPL3: Fixed off-by-one error in OPL3_SLOT_CONNECT
- DEVICE
. 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)
. Discrete Netlist: Give devices the C++17 namespace treatment
. Intel 8275 CRTC: Fixed a case where the DRQ output could remain unexpectedly set due to DMA cycles happening too quickly.
. MC146818 RTC: Added square wave output
. MC68681 DUART: Output counter ready on OP3. Suppress unnecessary interrupt callbacks. Fixed counter clock rate calculation.
. 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
- 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 and kikikai.cpp: Eliminated set_input_line_vector
- 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.
- 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)
- 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
- goldnpkr.cpp
. Minor clean-up
. Made 'Witch Up & Down' artwork clickable
. Improved the short names for clones Witch Card and Witch Game
- 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
- m72.cpp: Fixed sprite drawing routine
- magic10.cpp: Fixed incorrect tilemap size
- 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
- 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)
- 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.
- shanghai.cpp: Fixed CPU clock (CXQ70116 can't support 16MHz) and ADPCM clock in Kyuukyoku no Othello. Added notes.
- 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.
- 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).
- 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).
- 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.
- 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)
- 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).
- 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)
- 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.
- 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 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.
- 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 fungames.cpp, goldstar.cpp, namcofl.cpp, nmk16.cpp, pgm.cpp, segag80v.cpp, seta2.cpp, snowbros.cpp and tecmo.cpp
- Dipswitch fixes in meadows.cpp and pacman.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), 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), Lethal Weapon 3 (2.04 England, display A2.02), Olympic Darts K7 (v3.11), Ryu Jin (Japan, ET910000A PCB), Sauro (set 2), Scud Race Deluxe, Scud Race Twin, 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), Teenage Mutant Ninja Turtles (1.04, Germany) 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), (cookbib2a) to (cookbib2b), (croquis) to (croquisg), (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)
. 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)
. 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.
. 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.
. UI
. Added MAME version to About menu header
. Removed long-disused UI button color tables (emu\ui/cmddata.h)
. 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)
- 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)
- 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)
- 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



"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."



[Posted by: MASH]

BletchMAME 2.3 has been released

$
0
0

www.bletchmame.org

Nothing spectacular, mostly bug fixes

  • Added a warning to the Images Dialog if no hash paths were set up
  • Fixed a bug that could cause image widgets to not be properly cleaned up if they got removed by a slot change
  • Fixed a bug that prevented the "Unload Image" menu item from working
  • Fixed a bug in the console window that could cause text to be appended in the wrong location
  • Fixed a cosmetic bug in the "About BletchMAME" dialog
  • No longer passing -nodtd when invoking -listxml on MAME
  • Changed worker_ui plugin to tolerate changes in machine().images expected with MAME 0.227

    [Posted by: Bletch]
  • Clrmamepro 4.039 released

    $
    0
    0

    https://mamedev.emulab.it/clrmamepro/

    4.039

    fixed: www profiler, don't truncate protocol from page url, so you can use http or https (however you need to update your settings once)
    fixed: www profiler shows downloaded and updated dats still as update
    fixed: don't prompt user that the download was ok when www profiler loaded a decompressed dat
    fixed: downloaded and not moved decompressed dats get removed when closing cmpro
    fixed: some sets don't get marked as unneeded or weird renames are proposed in mame/software list combined mode only
    fixed: parent/clone relationship of software list roms got lost under some circumstance
    fixed: 32k pathlength support doesn't work for profiles/datfiles
    fixed: fixing a wrong sysdefpath issue only worked when you got "ask before fixing" enabled
    fixed: xml parser fails on xml files with
    fixed: falsely trim "." characters at the end of filenames
    fixed: falesly check 'marked disabled sets as unneeded' sets for wrong names
    fixed: falsely hide missing bios roms in bios sets when separate bios sets is disabled
    fixed: falsely skip rebuilding bios roms in bios sets when separate bios sets is disabled
    fixed: falsely load not updated profiler cache after delete profile operations
    fixed: 32k path support failed for paths which are exactly MAX_PATH long
    fixed: scanner font selection isn't applied/saved when you use the default font (blank name)
    fixed: misleading wrong merged messages when using regions/languages
    misc: www profiler, allow redownload of local datfiles
    misc: use UTC based time/date for date/time fixing
    misc: allow odd second values (MS DOS times are over)
    misc: allow yyyymmddTHHMMSS as date/timestamp in dat
    misc: www profiler can handle urls which provide filenames by content-disposition header information
    misc: updated rar ddl
    added: %L=1/0 option for set-info select sets to enable/disble sets which reference software lists
    added: show number of selected profiles/datfiles in profiler window title

    [Posted by: Mucci]

    Be cool... that dude is a NARC

    $
    0
    0

    So The Dumping Union recently had the opportunity to acquire 2 separate Williams' Narc boards from the same seller. Both turned out to be formerly undumped versions. The two new versions are v4.00 and an early v1.80! The new v1.80 set has all new ROMs for both the program and graphics ROMs and plays a little different then the later sets.

    Phil Bennett did a nice quick comparison / write up about the noticed differences here: https://twitter.com/PhilBennett3D/status/1341253902935584768

    Definitely worth a the read.

    Special thanks goes out to the DU members who pointed these boards out as well as CoolMod and Phil Bennett who had a major helping hand in acquiring these new sets!

    [Posted by: BrianT]

    New Vs. Nintendo System homebrew

    $
    0
    0

    A brand new game for the Vs. Nintendo System. The first of it’s kind in 30 years!

    From Below is a brand new game released for the NES in November 2020, and ported to the Vs. Arcade system shortly after. It has gone through extensive updates to make this a true Vs. System game, and not just a quick port.

    Featuring:

    Coin-Op
    Leaderboards
    Redesigned Menus and Title Screen
    All Settings Configurable via Dipswitches
    Attract Mode
    Free Play
    Maintenance Button and Coin Counter Supported
    Support all PPUs (RP2C04-0001/2/3/4, 2C03, 2C05 and even 2C02 [NES]).
    Works on both Vs. Unisystem and Dualsystem (both sides)
    Original Instruction Card (with printing instructions)
    Download the game and learn more at http://vs.frombelowgame.com
    Is this a candidate for MAME?

    [Posted by: uVSthem]

    Lua in MAME: Time for an Overhaul

    $
    0
    0

    Lua in MAME: Time for an Overhaul

    If you’ve been following along during our extended November/December development cycle for MAME 0.227, you might have noticed that we’ve migrated MAME to C++17. As part of this, we’ve upgraded the C++/Lua interface library to sol3. This has necessitated a shake-up of the Lua interface code. We’ve taken this opportunity to re-think some of MAME’s Lua interfaces.

    Some of the changes are not backwards-compatible and will require scripts to be migrated. However, we believe these changes make our Lua interface more robust and efficient as well as making the Lua syntax more idiomatic. We’ve exposed more functionality, too. Most of the breaking changes fall into a few categories:

    • Better aligning the Lua interface with MAME’s architecture.
    • Using container wrappers rather than building Lua tables.
    • Replacing simple getter methods with read-only properties.
    • Moving the Lua API reference to our documentation web site.


    In particular, using container wrappers makes a lot of properties far more efficient because the collection no longer needs to be iterated and copied into a Lua table for every access. We’ll go through most of the breaking changes and touch on some of the new functionality here. There will still be occasional changes to the Lua APIs going forward, but we’re not anticipating another major upheaval like this soon.

    Read the rest of this entry »

    [Posted by: Vas Crabb]

    History.dat, the XML

    $
    0
    0

    /!\ New format not yet supported by MAME or any frontend, please don't download it if you are an user /!\

    History.dat, the XML version
    ----------------------------

    As MAME, here is a "time for an overhaul" of history.dat.

    The DAT format used by the History.dat (and other support files) is old and no more adapted for storing a big game information database.

    We decided to migrate to a more modern format, the XML format. A format made for faster reading by the programs and for big data storage. We have already tested it in a home-made frontend and the gain of performance (at reading) is highly notable.

    If a mamedev can add support for this new format, here is the file: https://www.arcade-history.com/temp/history-xml5.zip EDIT: file updated to the latest valid structure.

    If a mamedev says this format has problems, the idea will be abandoned (or at least put aside) and we'll continue with the DAT format.
    We are open for improvements or corrections to our XML design, in case there are any.
    But our MAME frontend implementation proofs the XML design works very well and can be easily read (and/or transfered to a database like SQLite which is currently used in MAME for converting history.dat).

    Anyway, for now, the History.dat will continue to be exported as a DAT file. The two formats will be available on our Download page for the next release and as soon as the XML version is supported by MAME, the DAT version will be stopped.

    [Posted by: Alexis B.]

    Visual PinMAME v3.3 (2020-12-24)

    $
    0
    0

    Visual PinMAME v3.3 has been released.

    What's New:

    Version 3.3 (December 24th, 2020) - "20 years already?"
    ------------------------------------------------------------------------------

    • Compiling for iOS is now possible.
    • Also a new platform independent lib/dll is now available with a new, simple interface to request (some of) the internal data.
    • Fix -listxml for strings that contain embedded tags
    • pinPROC : updated library; VS2019 build
    • YAML-cpp: updated to 0.6.3; VS2019 build
    • Updated LISY support to 5.26-41 (Linux for Gottlieb System1 & System80, Bally, Atari, Williams and "HOme" Pinballs)
    • Added VGM file output support for AY8910, OKI6295, OKI6376, QSound, SAA1099, YM2151, YM2203, YMF262(OPL3), YM3526, YM3812, Y8950, and SN7648/9X (unsure about the mappings for these latter ones though!) sound chips
    • Either use -vgmwrite on the commmand line (PinMAME)
      or select it in the game options (this requires a restart though, as VGM output requires to track everything)
    • PinMAME(32): Added an Automatic Sound Dump functionality:
      Started via F6 (instead of the Recording function via F5) and
      skips automatically to the next sound / creates a new file (in the wave subdir) if there is no sound at all anymore (silence) or the length reaches 4mins.
      The dump stops automatically after soundcommand 0xFF (=max 256 overall generated sounds).
      There is also an altsound CSV created with the dumps. This one can be
      altered with lucky1s Altsound Editor.

      ** CORE/CPU **
    • Improved Atari Generation 1 sound emulation, rewritten similar to the style of the Gen 2 one
    • Tweaks to Atari Generation 2 emulation, too
    • Added Regama driver
    • Wicos Af-Tor fully working now
    • Sped up Video Dens games, found more dip switches, switch test, saving NVRAM
    • E.F.O. sound board mostly working - a strange issue with IRQ concurrency remains which sometimes causes a sound hangup
    • Sound support for early LTD system III
    • More sound found for LTD system 4 (extra lamp data is handled by sound chip port write!)
    • Inverted sound bits for early Playmatic games, tone frequencies left as noted in the schematics though, seem a little off
    • More solenoids found for LTDs Force & Haunted Hotel
    • More lamps found for LTDs Space Poker
    • Increased IRQ for LTD system III, helps with ball detection in outhole
    • Corrected CPU clock for Peyper / Sonic games, helps speeding up Gamatron game start
    • Doubled ZC frequency for Joctronic games, saving NVRAM
    • Enabled coin settings on early Playmatic games
    • Support 4-solenoid stepper motor mech used by High Roller Casino, Starship Troopers, and Playboy
    • Fixed 8085A DSUB instruction for the H register
    • Fixed some bugs in the TMS9995 emulation concerning port data writes / decrementer / CRU, NSM working now
    • Make color/brightness mappings of Data East 128x16 DMDs match the real hardware
    • Fix an old regression of Alvin G. solenoids not firing consistently (most notably breaking Mystery Castle)
    • Improve DMD timings for the Sega 192x64 DMD, matching the real one more closely (also a slight improvement for the DE/Sega/Stern 128x32 ones)
    • Improve IRQ timings of Sys3/4/6/7/11, DE and the Sega 192x64 DMD-machines
    • Change switch writing of DE and Sega 192x64 DMD-machines
    • Improve DMD timings for the Williams/Bally machines, leading to less flicker/wrong brightness on the early ones (e.g. T2 attract mode)
    • Improve sound filtering of Flash Gordon, Xenon and all Williams/Bally DCS machines, matching the real one more closely
    • Improve timings for GTS80 machines, especially for Rack em up until Tag-Team (1983-85 era)
    • Stabilized solenoids 16, 31, and 32 on GamePlan machines
    • Loosen up "fast flips" check for Starship Troopers
    • Fix init error (for example corrupted first song) for YM2151 (older Williams/Bally and others)
    • Slightly improve YM2151 noise (older Williams/Bally and others)
    • Slightly improve overall YM2203, YM3526, YM3812, Y8950 emulation (older Alvin G. and others)
    • Improve SAA1099 emulation (E.F.O.)
    • Switch Votrax/SC01 emulation over to real simulation core (some GTS80(A)s and Taitos)
    • Correct handling of Gottlieb System 1 displays (thanks to bontango)
    • Got Goofy Hoops working as some schematics showed up, illustrating how useful such documents are!
    • Make Williams Flash L-1 and T-1 use the Sys6 board (as these are newer than the yellow flipper based L-2)

      *** SIMULATOR ***
    • Demolition Man: Added lamp layout, simulated all major shots (except maybe a weak car crash shot), the elevator and cryoclaw mechanism, along with the right ramp diverter that feeds it, and enabled the Buy-In button (also demonstrates how to show P1-P4 scores at all times)

      *** ROM SUPPORT ***
    • Atari: Middle Earth (alternate)
    • Atari: Middle Earth (Prototype or German) - bad dump, not working
    • Bally: Scotts Test ROM (version 8 )
    • Christian Tabart: Grand 8, Le (using Gottlieb "Panthera" ROM, and its own sound board)
    • Christian Tabart: Sahara Love (using Gottlieb "Sinbad" ROM, and its own sound board)
    • Data East: Leon Test Chip (version 4)
    • Data East: Michael Jordan 1.30
    • Illinois Pinball: Pool Player 1.0 (based on Capcom hardware/similar to Breakshot)
    • Jac van Ham: Formula 1
    • Jac van Ham: Ice Mania
    • NSM: Cosmic Flash
    • NSM: Games, The
    • Regama: Trebol
    • Sonic: Storm
    • Sport Matic: Flashman
    • Taito do Brasil: Football (sound ROMs only)
    • Williams/Jess Askey: Spellbinder

      Correct Dumps:
    • Atari: Airborne Avenger (using 20252 sound PROM)
    • Atari: Atarians, The (using 07028 sound PROM)
    • Atari: Middle Earth (using 20252 sound PROM)
    • Atari: Time 2000 (using 07028 sound PROM)
    • Bally: Doctor Who P-5, P-6 (using SP-4 U18 sound ROM); also L-2, D-2 (using SL-2 U18 sound ROM)
    • Bally: Flash Gordon (Free Play) (using English sound ROMs)
    • Bally: Twilight Zone P-3, P-4 (using later U14 and U15 sound ROMs, only PA-1 uses SP-1 sound)
    • LTD: Time Machine (4 players) - confirmed that currently supported ROMs are correct
    • Micropin: Pentacup (rev. 2, 8085A hardware)
    • Sega: Baywatch 4.00 (Dutch) (using A4.00 display ROMs)
    • Williams: Pokerino (correct sound PROM)

      Clones:
    • Addams Family, The L-5C (competition MOD) (updated with LED Ghost Fix)
    • Ator (2 bumpers)
    • Baywatch 2.01 (French)
    • Bigfoot R0.1e (FreeWPC based rewrite of White Water)
    • Big Game (MOD rev. 7 & 8 )
    • Brave Team (Free Play)
    • Canasta 86 (Free Play)
    • Cheetah (Blue cabinet Bonus shot 1/ball)
    • Cirqus Voltaire (D.52 Prototype w/ support for old Ringmaster voice) - sound ROMs missing however
    • Clown (Inder, Free Play)
    • Corsario (Free Play)
    • Creature from the Black Lagoon L-4C (competition MOD) (updated with LED Ghost Fix)
    • Demolition Man LX-4C (competition MOD) (updated and also now includes LED Ghost Fix)
    • Demolition Man H-6C (competition MOD) (updated)
    • Dragonfist (MOD 3 rev. 1105 & 1109)
    • Flight 2000 (modified rules rev. 3335 & modified rules + sound rev. 3347)
    • Flintstones, The LX-3
    • Funhouse (Prototype System 11 Sound ROMs)
    • Iron Man 1.85,1.86(+Vault Editions)
    • Junk Yard 1.2C (competition MOD) (updated)
    • Jurassic Park 3.05 (misses the matching display ROM though)
    • Lap By Lap (Free Play)
    • Laser Ball L-2 (PROM Sound)
    • Last Action Hero 1.04 (French), 1.07
    • Lethal Weapon 2.04 (English), also 3.00, 3.01 (unofficial MODs)
    • Lord of the Rings, The 3.00
    • Meteor (Bonus Count and Sound Fix)
    • Meteor (Bonus Count Fix, MOD, Free Play rev. 64 & 65)
    • Meteor (Bonus Count Fix, MOD, 7-Digit, Free Play rev. 74 & 75)
    • Moon Light (Free Play)
    • Mundial 90 (Free Play)
    • Nine Ball (Ball handling MOD beta18)
    • Nitro Groundshaker (7-digit conversion with siren patch)
    • Oba-Oba (old hardware)
    • Pin-Bot J-1 (PEMBOT (no relation))
    • Pool Sharks LA-7C (competition MOD) (updated)
    • Raid, The (alternate set)
    • Space Train (old hardware)
    • Spider-Man 1.02 (English, French)
    • Star Trek 25th Anniversary 3.00 (unofficial MOD)
    • Star Wars 1.01
    • Strange Science rev. C (which makes this the newest we have )
    • Striker Xtreme 1.00 (Italian)
    • Theatre of Magic 1.3XC (competition MOD) (updated)
    • Trident (MOD rev. 23c)
    • Twilight Zone L-5, LA-9 (aka PAPA Tournament Version 9.0)
    • WHO Dunnit 1.2 (Elevator text fix), 1.2 (German Sound / Elevator text fix)
    • World Cup Soccer 0.62b (FreeWPC based rewrite)

      Removed Clones:
    • Atari: Atarians, The (MOD working bootleg) - the original ROMs work fine after latest emulation patches

      *** VPM ***
    • If you create a VPMAlias.txt file in the VPinMAME folder, it will alias an input rom name to the specified (real) rom. Format example:
      "mytallica,mtl_180hc"
      "myacdc,acd_170hc"
      This can be used to allow to use different PUP or DOF profiles per game (for reskins and such).
    • Fix the additional .raw/non-averaged file output dumping of GTS3 DMDs
    • Add Data East alphanumeric support to the builtin alternate sound file support (Sound Mode 1) (only briefly tested though, please report non-working machines)


    Download: https://sourceforge.net/projects/pinmame/files/pinmame/3.3/VPinMAME33_Minimal.zip/download

    Download (alternate): https://www.vpforums.org/index.php?app=downloads&showfile=11571

    Source: https://sourceforge.net/p/pinmame/code/HEAD/tree/

    [Posted by: Stiletto]

    ROMVault 3.2.1 (2020-12-24)

    $
    0
    0

    http://www.romvault.com/


    Quote:


    December 24th, 2020
    Merry Christmas everyone, and to celebrate here is an update with some nice bugs fixed.

    • RomVault will no longer overwrite unknown (unscanned) files while fixing
    • .7z caching does not make multiple cache files any more, and cache fixing .7z files in ToSort now works.
    • Full report crash bug fixed
    • Dats containing zero files now show as green.


    And a fun version number to... V3.2.1 ... wishing you all a Happy New Year.



    [Posted by: Stiletto]

    RomCenter v4.1.1

    $
    0
    0


    Quote:


    RomCenter 4.1.1

    This is a bug fix release. It also includes a command line version of romcenter.

    Here are the main changes:
  • Fix error when backup path is not defined.
  • Fix region order not saved
  • Fix temp folder not found
  • Fix tosec filter
  • Add command line version (rc.exe). Support db creation, update, adding rom paths and fixing.
  • Improve data Grid grouping
  • Improve tosec parser log
  • Improve tosec year/region parser
  • Upgrade data grid component



  • https://www.romcenter.com/forum/viewtopic.php?f=6&t=3540

    [Posted by: Stiletto]

    MAME 0.227

    $
    0
    0

    MAME 0.227

    It’s time to say goodbye to 2020, and we’re doing that with the release of MAME 0.227, the fruit of our extended November/December development cycle. A lot has happened in these two months, in terms of internal improvements to MAME as well as user-visible changes. If you’ve been following along with development, you’ll have noticed that we’ve migrated MAME to C++17, overhauled the Lua interface, further streamlined and enhanced the emulated memory system, and cleaned up a lot of ageing code.

    MAME 0.227 adds preliminary support for macOS on AArch64, also known as “Apple Silicon”. Please note that we lack a native A64 recompiler back-end, and there are some issues with our C recompiler back-end. If you’re running an A64 build of MAME, you can disable recompilers for most systems that use them with the -nodrc option on the command line. You may get better performance for emulated systems with MIPS III or PowerPC processors by running an x86-64 build of MAME under Rosetta 2 with recompilers enabled. (Yo, ’sup dawg. I heard you like recompilers…)

    Lots of long-standing issues have been fixed in this release. Missing platforms in stage 15 of Sega’s Quartet now appear properly. This relies on a protection microcontroller feature that we were previously unaware of. Protection features that are only used late in the game have been a recurring source of frustration not just for emulator developers, but also for arcade bootleggers, and even publishers re-issuing old games in new formats. It seems Sega missed this feature in their Astro City Mini release. Another long-standing protection issue was fixed this month that made Atari’s Rampart impossible to complete on Veteran difficulty. This one was actually a regression that managed to stay unresolved for years, possibly because the game’s high difficulty makes it difficult to reach. While we’re on the topic, protection simulation has been added for the versions of Sega’s Carnival that run on Head On hardware.

    While protection emulation may encompass the most noticeable fixes, lots of other things that have been improved as well. Graphical issues have been fixed in Chase Bombers, Championship Bowling, and Prop Cycle. NFL Blitz ’99 no longer skips animations in attract mode. DIP switch descriptions have been corrected in 3-D Bowling, Bloxeed and Mahjong Tenkaigen. Game switching now works on Multipede, and Klax bootlegs are playable, with working sound.

    It wouldn’t be a MAME release without new supported systems. This month we’ve got TV games from dreamGEAR, JungelTac, LexiBook and Senario. As always, the quality varies enormously. New versions of 1944: The Loop Master, Cookie & Bibi 2, F-1 Grand Prix, Forgotten Worlds, and Narc have been found and dumped. One of the newly supported Narc versions is particularly interesting, as it appears to be an early test version, lacking a substantial amount of content found in other versions of the game. Another incomplete copy of Unico’s Master’s Fury was found, which could be combined with the previous incomplete set to make the game playable.

    Finally, there are a few improvements to the internal user interface. There are more controls for screenshots, aspect ratio and scaling accessible from the Video Options menu. You can now use NOT codes when assigning analog joystick axes to digital inputs. The menus for the Cheat and Autofire plugins have been made more consistent.

    Of course, there’s far more that we don’t have space for here, but you can read all about it in the whatsnew.txt file, and get the source and 64-bit Windows binary packages from the download page. It’s been a very tough year for a lot of us, but it’s still been a great year for MAME development. Thanks to everyone who contributed this year, even if it was just a kind word or helping out a user on a community forum. Have a great new year, and keep the spirit of digital preservation alive!

    Read the rest of this entry »

    [Posted by: Vas Crabb]

    HBMAME 0.227

    $
    0
    0


    https://arcade.mameworld.info/hbmame
    https://hbmame.1emulation.com

    What's new in HBMAME
    ====================

    2020-12-30 0.227

    New Games
    ---------------------------------
    - [bonusstage] Bonus Stage
    - [frombelow] Vs. From Below (beta 0.8.0 2020-12-21)
    - [headonch] Head On Channel
    - [kof98ult] Kof'98 (Ultimate Match)
    - [lhbb] Last Hope (Blue Bullets)
    - [mslug6h09] Metal Slug 6 (Enemies Resetting Version 2019-09-30)
    - [nblktiger] Neo Black Tiger (incomplete)
    - [nsmb] New! Super Mario Bros.
    - [pzlcrz] Puzzle Crazy
    - [samsh5pf] Samurai Shodown V Perfect
    - [sf2cemix97] Street Fighter II': Champion Edition (Mix 0.97)
    - [sf2cemix98] Street Fighter II': Champion Edition (Mix 0.98)
    - [sf2cemix98a] Street Fighter II': Champion Edition (Mix 0.98a)
    - [sf2cemix98b] Street Fighter II': Champion Edition (Mix 0.98b)
    - [sf2cemix98c] Street Fighter II': Champion Edition (Mix 0.98c)
    - [teotd] The Eye of Typhoon (Tsunami Edition, demo)
    - [theglobpb] The Glob (English translation of German sprglbpg)

    [Posted by: Robbbert]

    [Annc] MAMEUI64 .227 w/ icons & snaps released.

    $
    0
    0

    http://www.mameui.info/

    Thanks to Robbbert for the .exe.

    Changes (all)

    * Fixed bug where invalid slots could get into the ini file.

    Changes (MESSUI and MAMEUI)

    * Added splash screen

    * Can specify multiple icon directories

    * Main audit results window is larger

    * After doing F5, can sort on Roms or Samples column

    * In the Game Properties, enabled all controls, even when they are not relevant

    * Removed Debug tab and controls

    * Removed verbose.log

    * If game started with debugger enabled, it is turned off

    * Fixed a bug with setting up software paths

    * On Display tab, added Integer scaling options

    * On Screen tab, fixed size/refresh options on the default screen

    * On Sound tab, added Port Audio Latency

    * Added new OpenGL/BGFX tab, and various associated settings

    * Added new OpenGL Shaders tab and up to 4 shaders of each kind. Shaders are to be saved in the HLSL folder.

    * Added new Snap/Input/Output tab and associated settings

    * Added new LUA tab, with various settings and plugin controls

    * On Miscellaneous tab, replaced old artwork controls with new ones. Added 6 various extra settings.

    * On Controller Mapping tab, added 6 provider dropdowns

    * In the Tree, you can right-click on Horizontal, Vertical, Computer, Console, Raster or Vector, select Properties and modify the settings.

    * Removed Reset buttons. Once you hit Apply or OK settings are saved.

    * Fixed bios selection that could corrupt ini files

    * On messui, fixed splitter that caused software area to become narrower over time.

    * Interface options - restored Snapshot Pattern option, added Skip Game Warnings setting.

    [Posted by: John IV]

    MAMEinfo 0.227 :)

    $
    0
    0

    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."



    [Posted by: MASH]

    NegaMAME 0.227-1

    $
    0
    0

    Along with MAME and all its fork, NegaMAME 0.227-1 is also ready for download. Go grab it at http://babelsoft.net/products/negamame.htm

    This MAME derivative has been designed to be used with the front-end Negatron in order to have complete access to all the machine configuration options within Negatron, especially useful for emulated computers and consoles.

    This is quite irrelevant for emulated arcade games though. If you only play arcade games, you can simply use Negatron with regular MAME.

    Note: 0.227-1 must be understood as the 1st version of NegaMAME synchronised with MAME v0.227. If other issues arise with this version, I would release a v0.227-2

    [Posted by: xinyingho]

    BletchMAME 2.4 has been released

    $
    0
    0

    BletchMAME 2.4

    TLDR - Support for changing configurable slots (requires MAME 0.227)


    • Updated various parts of the worker_ui plugin in response to breaking LUA changes in MAME 0.227
    • Changed the Images Dialog to a Configurable Devices dialog, combining image and slot selection
    • Resurrected the "Quick Load/Save State" feature, which has been broken since 2.0
    • Fixed profile renaming, which also has been broken since 2.0
    • Fixed a bug in the profiles view that could cause a crash if one right clicks empty space


    [Posted by: Bletch]

    Visual PinMAME v3.3b (2021-01-01)

    $
    0
    0

    Visual PinMAME v3.3b has been released.

    What's New:

    Version 3.3b (January 1st, 2021)
    ------------------------------------------------------------------------------


      ** CORE/CPU **
    • Fix regression in solenoid emulation for Juegos Populares


    Download: https://sourceforge.net/projects/pinmame/files/pinmame/3.3/VPinMAME33b_Minimal.zip/download

    Download (alternate): https://www.vpforums.org/index.php?app=downloads&showfile=11571

    Source: https://sourceforge.net/p/pinmame/code/HEAD/tree/

    [Posted by: Stiletto]

    Clrmamepro 4.040 released (2021-01-01)

    Viewing all 2242 articles
    Browse latest View live