Mameinfo.dat

What's New:

- New games: GAHAHA Ippatsudou (World, GID2 Ver.A), GAHAHA Ippatsudou 2 (Japan, GIS1 Ver.A), Space Micon Kit, Top Driving (version 1.1) and Waku Waku Anpanman (Rev A)
- New Working games: Gamshara (Japan, 20020716A / 10021 Ver.A), Gekitoride-Jong Space (10011 Ver.A), Kono e Tako (10021 Ver.A), Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A), Mr. Driller 2 (Japan, DR21 Ver.A), Mr. Driller 2 (World, DR22 Ver.A), Mr. Driller G (Japan, DRG1 Ver.A), Panikuru Panekuru (Japan, PPA1 Ver.A), Star Trigon (Japan, STT1 Ver.A) and Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A)
- New Non-Working games: Family Bowl (Japan, FB1/VER.A V1.00), Golden Region, M3004, M4002, M5001 (rev. A), Medal no Tatsujin 2 Atsumare! Go! Go! Sugoroku Sentai Don Ranger Five (MTA1 STMPR0A), Seishun-Quiz Colorful High School (CHS1 Ver.A), Shamisen Brothers Vol 1, Shippe Champion, Sugorotic JAPAN (STJ1 Ver.C), Sweet Land 4 Bright (ver 2004.9.29), Taiko no Tatsujin 2 (Japan, TK21 Ver.C), Taiko no Tatsujin 3 (Japan, TK31 Ver.A), Taiko no Tatsujin 4 (Japan, TK41 Ver.A), Taiko no Tatsujin 5 (Japan, TK51 Ver.A), Tsukkomi Yousei Gips Nice Tsukkomi (NTK1 Ver.A), 'unknown AnyWorks / Sega medal game BIOS', Wanpaku Fishing, 'World Club Champion Football European Clubs 2004-2005 Ver.1.2 (Japan) (CDV-10021)', 'World Club Champion Football European Clubs 2005-2006 (Japan) (CDV-10025)' and Zenigata Ponta


- New clones: Agent Super Bond (Super Cobra conversion, not encrypted), F-1 Grand Prix (set 3), Hammerin' Harry (World, Playmark bootleg), Manx TT Superbike - DX, Mr. Driller 2 (US, DR23 Ver.A), Soreike! Anpanman Popcorn Koujou (Rev A), Space Battle (Space Invaders bootleg), Strikers 1945 III (World) / Strikers 1999 (Japan) (bootleg, set 2) and 'World Club Champion Football European Clubs 2004-2005 Ver.1.1 (Japan) (CDV-10020)'
- New AGEMAME games: 100 Lions (30223811, ASP), 5 Dragons (10176611, ASP), 5 Dragons (10178611, New Zealand), 5 Koi - Power Pay (1J016211, ASP), 50 Lions (0152077, US), Arabian Nights (10122611, ASP), Big Ben (10169611, ASP), Brazil (10218511, ASP), Buccaneer (Aristocrat, 10181911, ASP), Buffalo (20232611, ASP), Desert Gold (20202311, ASP), Diamond Eyes (10129211, ASP), Dolphin Treasure (10177911, ASP), Dolphin Treasure (20265311, New Zealand), Dream Catcher (10172921, ASP), Fire Dancer (10191311, ASP), Fortune King (10230911, ASP), Geisha (10112411, ASP), Geisha (10122011, ASP), Go For Green (10122111, ASP), Golden Pyramids (10196511, ASP), Heart of Gold (10184211, ASP), Helen of Troy (10116411, ASP), Helen of Troy (10122711, ASP), Helen of Troy (10129121, ASP), Hollywood Dreams (10122811, ASP), House of Hearts (10208411, ASP), Indian Dreaming (10192211, ASP), King of the Nile (10127511, ASP), Let's Go Fish'n (10223911, ASP), Money Tree (10122211, ASP), Paris Lights (10139011, ASP), Peacock Magic (10134311, ASP), Pelican Pete (10196211, ASP), Pirates (10122311, ASP), Pompeii (10122411, ASP), Queen of Sheba (30146921, ASP), Queen of the Nile (10192311, ASP), Queen of the Nile (10204311, ASP), Queen of the Nile Special Edition (10127411, ASP), Ruby Magic (10148811, ASP), Scatter Magic II (10122511, ASP), Silk Road (10176811, ASP), Snap Shot (20115211, ASP), Spring Festival (20267211, New Zealand), The Golden Gong (20196011, ASP), Tigress (20243811, ASP), Tiki Torch (10124011, New Zealand), Torch of the Gods (20210211, ASP), Turtle Treasure (10239811, ASP), Where's The Gold (10177111, ASP), Wild Cats (20258111, ASP), Wild Cougar - Power Pay (30214211, ASP), Wild Goose (10155911, ASP), Wild Panda (20225011, ASP), Wings over Olympus (10176511, ASP) and Zorro (20167511, ASP)
- New PEPlus games: Sovereign (1PF434A3) Fantasy
- New PinMAME games: Mary Shelley's Frankenstein (Italy), The Shadow (LF-4) French, Teenage Mutant Ninja Turtles (A 0.7 VUK prototype), The Who's Tommy Pinball Wizard (Belgium 1.02, display A1.02) and The Who's Tommy Pinball Wizard (German 3.01, display G3.00)
- Removed games: Manx TT Superbike - DX/Twin (Revision C, set 2) and Mr. Driller G (Japan, DRG1 Ver.A)
- New drivers: anyworks.cpp, goldenregion.cpp, shambros.cpp, sweetland4.cpp and topdrive.cpp
- New devices: ds1971, ds2430a, hd63266f, hrdvd_atactrl, intel_28f640j5, mb89351, namcos10_exio, namcos10_exio_g, namcos10_mgexio, ns10_type2_decrypter, nxm5401, samsung_k9f1g08u0b, samsung_k9f2808u0b, samsung_k9f5608u0b, samsung_k9f5608u0d, samsung_k9f5608u0dj, samsung_k9lag08u0m and tms1270
- CPU
. ADChips SE3208: Removed hack to ignore misaligned memory accesses (se3208\se3208.cpp)
. ES5510: Fixed some ALU flag problems
. Hitachi H8: Enabled DEND interrupts (h8\h8_dma.cpp)
. Hitachi H8/3002: Clean up TEND configuration (h8\h83002.cpp)
. Hitachi H8S/232x: Enabled DREQ inputs and added TEND outputs (h8\h8s2320.cpp).
. IBM PowerPC 4xx/6xx: Minor disassembly improvements: Support over & out debugging flags for a few more instructions. Provide special operand format for POWER svc instruction (powerpc\ppc_dasm.cpp).
. Intel 8257 DMA Controller: Minor logging improvement
. Intel i960KB: Shift opcode fixes. Ensure logically correct results for shift counts >= 32. Preserve sign for shli.
. Intel P8x9x: Fixed a case where events could be delayed by mistake (mcs96\i8x9x.cpp)
. MIPS-III: Sign-extend result of COP0 LL instruction. Ported COP0 Random implementation from new R4000 interpreter (mips\mips3.cpp).
. MIPS IDT R4650 (big): Fixed memory access handling. Correctly support the R4650's lack of TLB.
. MOS Technology 6502: Template 6502 microcontroller helper on underlying CPU type (m6502\m6502mcu.h/ipp)
. Motorola MC6809
. Added undocumented instructions and dissasembler (m6809\m6809.cpp, m6809\6x09dasm.cpp). Fixes incorrectly handling opcode 0x104F (ID 06797). Reference: https://github.com/hoglet67/6809Decoder/wiki/Undocumented-6809-Behaviours.
. Read reset vector during execute_run rather than device_reset to facilitate bank switching of vectoro area
. Motorola MC68000: Some variables were missing from savestate/zerofill
. NEC V810: Make opcode timings a bit more faithful to reality. Suppress I/O space properly when it has no configured map. Separate irqs into individual lines as a PoC. Allows (MESS) NEC PC-FX to detect a CD as Audio (needs TOC/Mode Select (10) fixes for actual PC-FX detection, uses t10mmc.cpp under the hood). Fixed device_reset behaviour. Fixed MPYHW opcode, makes (MESS) Red Alert (Nihon Telenet 1989) not to crash on attract/gameplay.
. Sony CXD8xxxx (PSX CPU): Implemented reached 0xFFFF and reached target bits in counter mode register. Suppress side effects (psx\rcnt.cpp).
- SOUND
. CD Audio: Avoid a stack overflow if device can't read CD data, allows (MESS) PC-FX menu to be useable (with CD in ...) (machine\t10mmc.cpp). Added preliminary implementation of "read CD" (0xBE) command.
. K053260 KDSC: Added sample reverse flag. Allow to change rev flag on the fly (sound\k053260.cpp)
. PlayStation SPU: Calculate tables based on clock speed (sound\spu.cpp)
. PortAudio: Sync to upstream. Tested and works on Windows, macOS and Linux. Fixes compatibility with macOS Ventura and bugfixes WASAPI and WDM-KS on Windows (3rdparty\portaudio\*).
. TI SN76477 CSG: Make it less verbose
- DEVICE
. Dallas DS2430A 1-Wire EEPROM: Hook up DS2430A device to crazyfgt, lastfght and all subsino2.cpp, added handcrafted EEPROM data to satisfy serial protection checks and removed ROM patches that forced them to pass.
. Flash ROM: Added Intel 28F640J5 device (machine\intelfsh.cpp)
. Floppy
. Don't clear DRQ on LDB/INTR and fixed spurious READ TRACk/ADDR FM mark syncs (machine\wd_fdc.cpp), fixes (MESS) SuperUtility 3 and Marble Maze on TRS-80 Color Computer (ID 08511). Cleaned up (machine\upd765.cpp).
. Always interrupt upon command completion and clear busy flag if the latter was set (even if DRQ was not serviced). Drop DRQ when "Force Interrupt" command is issued in idle state (machine\wd_fdc.cpp) [AJR]. Cleaned up (machine\upd765.cpp).
. Hudson HuC6270 VDC: Fixed RCR sync, it happens one line earlier (video\huc6270.cpp). Fixes (MESS) NEC PC Engine games (hash\pce.xml): draculax stage 4 "all blue" Richter, faussete stage 2 excessive slowdown and erratic water line, xwiber stage 2 boss never spawning (ID 07384), ppersia misplaced line (ID 07727), ddragon2 options menu display and tblade hang after third person view (ID 08585).
. MagicEyes VRender0 SoC: Removed idle skip hack (it causes stability issues) (machine\vrender0.cpp)
. NAND Flash Memory: Separated NAND Flash from SmartMedia (machine\nandflash.cpp)
. SCSI CD-ROM: Implemented basic CDDA support (nscsi\cd.cpp)
. Toshiba TMP68301: Reimplement TMP68301 in the new68k framework. Added timers and fix interrupts (thanks 'Guardians / Denjin Makai II' for the test cases). Removed leftover debug break and reduce log spam. Fixed confusion between internal copy of SR and interrupt in-service register (m68000\tmp68301.cpp).
. Z80 SCC Channel: Make receive error logging conditional (machine\z80scc.cpp)
- aristmk6.cpp: Dumped 3 more System EPROM sets. Renamed "Malaysian" games to ASP as the games don't have any specific region, only the BIOS does.
- crystal.cpp: Aadded default NVRAM contents for Wully Bully with valid coinage setting
- cv1k.cpp: Improved CV1000 blitter timings based on hardware testing and removed unsafe mode. Fixed an off-by-one bug when setting dst_x_end and dst_y_end which caused destination writes to be one pixel too big. Correct calculations to utilize both source and destination VRAM row counts. Updated VRAM access overhead. Track of when blitter is idle, since long sequences of clipped draws can cause the blitter to not do any work while remaining busy. Removed the edge case for "pixel widths need to be evenly divisable by 8" until more examples can be studied. Pad draws to even 4-byte boundaries, since VRAM accesses are always 4 pixels at the time. Also added documentation for 6 unhandled Blitter command offsets (see blitter_w). Thanks rtw for looking at these (video\epic12.cpp). Updated CV1k driver some notes.
- cvs.cpp: Initialize some more TMS5110 variables at reset (sound\tms5110.cpp). Fixes nonexistent or erratic speech on CVS games.
- dynax.cpp and ddenlovr.cpp: Started splitting up the state class according to hardware features
- galaga.cpp and polepos.cpp: Quantise timer to clock frequency (namco\namco06.cpp). Fixes inserting coin in clone Super Xevious (Japan) automatically start 2 player game with issues (ID 07892) and explosion sound of enemy bases in Bosconian breaks after DIP switch change (ID 08327).
- namcos10.cpp
. Refactored driver and implemented MEM(M) and MEM(N) boards. Reevaluate assumption about how later blocks are handled. Added Intel 28F640J5 device (machine\intelfsh.cpp).
. Implemented the basics of the MEM(P3) memory/I/O board. Added controls for more games. Marked all games as MACHINE_IMPERFECT_SOUND in anticipation of complaints. Added System 10 I/O expander board (EXIO) emulation (namco\namcos10_exio.cpp). Moved per-game decryption setup to client configuration (namco\ns10crypt.cpp).
. Added decryption setups for GAHAHA Ippatsudou 2, GAHAHA Ippatsudou, Golgo 13: Juusei no Requiem, Keroro Gunso Chikyu Shinryaku Shirei Dearimasu!, Medal no Tatsujin, Medal no Tatsujin 2, Pacman BALL, Panikuru Panekuru, Puzz Ball, Sekai Kaseki Hakken, Sugorotic JAPAN, Taiko no Tatsujin 2/4/6 and Tsukkomi Yousei Gips Nice Tsukkomi.
. Added decrypter for Mr. Driller G. Promoted game to working.
. Tidied some system descriptions. Don't use std::function unnecessarily. Calculate GF2 reduction table at compile time. Use native population count helper in place of table. Allow client to provide initialisation vectors (namco\ns10crypt.cpp).
. Added CD-ROM drive support and I/O for Taiko games. Added some notes about the MEM(P3) board.
. Promoted games to working: GAHAHA Ippatsudou (World, GID2 Ver.A), GAHAHA Ippatsudou 2 (Japan, GIS1 Ver.A), Gamshara (Japan, 20020716A / 10021 Ver.A), Gekitoride-Jong Space (10011 Ver.A), Kono e Tako (10021 Ver.A), Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A), Mr. Driller 2 (Japan, DR21 Ver.A), Mr. Driller 2 (World, DR22 Ver.A), Mr. Driller G (Japan, DRG1 Ver.A), Panikuru Panekuru (Japan, PPA1 Ver.A), Star Trigon (Japan, STT1 Ver.A), Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A),
. Restore factory defaults for chocovdr, g13jnr, gahaha, gahaha2, mrdrilr2, mrdrilr2j, nflclsfb, nicetsuk, taiko2, taiko4 and taiko6.
. Redumped Ball Pom Line, Gekitoride-Jong Space (10011 Ver.A), Golgo 13: Juusei no Requiem (Japan, GLT1 VER.A), Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A), Point Blank 3 (World, GNN2 Ver.A), Puzz Ball (Japan, PZB1 Ver.A) and Taiko no Tatsujin 6 (Japan, TK61 Ver.A).
. Marked games as BAD DUMP: Gamshara (World, 20020912A / 10021 Ver.A), Gegege no Kitaro Yokai Yokocho Matsuri de Battle Ja (GYM1 Ver.A), Pacman BALL (PMB2 Ver.A.) and Sekai Kaseki Hakken (Japan, SKH1 Ver.A).
. Label gamshara region/license DIP switch settings. Updated taiko2 and taiko4 CD images to CHDv5.
- neogeo.cpp: Hooked up more control lines. Hooked up the memory card write enable/disable and register select lines and correct the address range where memory card access is enabled. Card addressing still isn't quite right - the card bank register isn't hooked up. Neo Geo CD consoles also haven't been updated. Also, more of the same mechanical cleanup of copy/pasted comments, const and variable scope. Hooked up memory card bank register. Register select only affects reads - writes always go to memory (neogeo\ng_memcard.cpp).
- polepos.cpp: Correct rom names, added PCB locations and PLDs to clones Pole Position (Atari version 1), Pole Position (Atari version 2) and Pole Position II (Atari).
- psikyo.cpp: Use accurate measurements for 'Tengai' video timings. Measured using a Saleae Logic Pro 16 logic analyzer, sampling at 500Mhz. Correct vertical blanking interrupt for s1945/tengai and removed MACHINE_IMPERFECT_TIMING flag.
- segafruit.cpp: Attempted decryption (decryption needs to be verified (may be good), then everything else)
- segas32.cpp: Switch driver to NSCSI MB89352 implementation. Added CDDA audio routing. Added XTAL value and silence printfs.
- seta2.cpp: Fixed samshoot and derivatives. Note, the parallel port is connected to a set of active-low DIP-switches or straps, which are currently unimplemented.
- srmp2.cpp: Cleaned up inputs a little and suppress side effects of reads for debugger
- subsino2.cpp
. Added RTE-to-RTS ROM patches that were missing to Queen Bee Bingo, Treasure Mary and clones Queen Bee (Israel, Ver. 100) and Queen Bee (SA-101-HARD).
. Changed Treasure Mary configuration to one that allows booting into title screen rather than getting stuck on initial tests
- supercrd.cpp
. Preliminary decryption. Addressed feedback and some tweaks to the XOR tables. Identified one more XOR for Super Card (encrypted). Tweaked XOR tables a bit for Fruit Star (encrypted).
. Super Card improvements: Added a set of service inputs that allow the game to enter the attract. Added Coins and remote inputs. Fixed the bottom of the screen. Now messages are properly displayed. Added Coinage, Remote and Personal A settings DIP Switches. Added internal remote credits switch.
- taito_f3.cpp: Ignore first line zoom value. Corrects subtle playfield 2 and 3 offset issues in several games (taito\taito_f3_v.cpp). Fixes ending slide has wrong vertical offset in Land Maker (ID 08593).
- Crazy Fight: Use standard types for inputs, also number these and note pinout. Hook up DS2430A device, added handcrafted EEPROM data to satisfy serial protection checks and removed ROM patches that forced them to pass. Hook up coin counter.
- Ninja Baseball Bat Man: Dumped PLDs for parent and clones
- Psychic 5: Added DIP locations
- Racing Jam: Chapter II: Made game as a parent
- Run and Gun: Removed unused function. Eliminated some tag lookups.
- Sky Smasher: Dumped U083 PROM (N82S135N) at 4J
- Speed Attack!: Correct CRTC type
- T-MEK: Added m_cage->reset_w for clone T-MEK (v2.0, prototype), otherwise game will cause a Cage CPU crash (ID 07146).
- Ultraman: Fixed all sprites don't display main color but only the underlying shadow pen (ID 08602)
- Fixed rom names in liberatr.cpp, m92.cpp, polepos.cpp and quantum.cpp
- Description changes of AGEMAME (lots of), Agent Super Bond (Super Cobra conversion, encrypted), Dragon Ball Z: V.R. V.S. (Japan, Rev A), Gamshara (Japan, 20020716A / 10021 Ver.A), Gamshara (World, 20020912A / 10021 Ver.A), Gegege no Kitaro Yokai Yokocho Matsuri de Battle Ja (GYM1 Ver.A), Golgo 13: Juusei no Requiem (Japan, GLT1 VER.A), Hammerin' Harry (Playmark bootleg), Keroro Gunsou: Pekopon Shinryaku Shirei...De Arimasu!, Kono e Tako (10021 Ver.A), Legend of Hero Tonma (Playmark unprotected bootleg), Liberator (prototype), Liberator (version 2), M4001 (rev. A), Manx TT Superbike - DX/Twin (Revision C), Medal no Tatsujin Doki! Ooatari-Darake no Sugoroku Matsuri (MTL1 SPR0B), Mr. Driller G (Japan, DRG1 Ver.A), NBA Jam Tournament Edition (Nani Edition, rev 5.2 8/11/95, prototype), NBA Jam Tournament Edition (rev 1.00 1/17/94), NBA Jam Tournament Edition (rev 2.0 1/28/94), NBA Jam Tournament Edition (rev 2.1 2/06/94), NBA Jam Tournament Edition (rev 3.0 2/26/94), NBA Jam Tournament Edition (rev 3.0 3/04/94), NBA Jam Tournament Edition (rev 4.0 3/03/94), NBA Jam Tournament Edition (rev 4.0 3/23/94), Panikuru Panekuru (Japan, PPA1 Ver.A), Strikers 1945 III (World) / Strikers 1999 (Japan) (bootleg, set 1) and Zabavni Karti (Bulgarian, cyrillic, encrypted)
- Dipswitch fixes in namcos10.cpp, psychic5.cpp and supercrd.cpp
- Renamed (50lionsm) to (50lionsa), (5koipp) to (5koi), (antcleom) to (antcleoa), (crysprim) to (cryspria), (csdm) to (csda), (dimeye) to (dimeyeu), (f1gpb) to (f1gpbl), (g13jnc) to (g13jnr), (gldgong) to (gldgongu), (holdrma) to (holdrma6), (liberatr2) to (liberatrp), (mrdrilr2) to (mrdrilr2j), (mrdrlr2a) to (mrdrilr2), (mrdrilrga) to (mrdrilrg), (silkrda6) to (silkrda6u), (snapsot_image) to (snapshot_image), (thaiprncm) to (thaiprnca), (unks10md) to (medalnt), (unks10md2) to (ballpom), (wheregldm) to (whereglda), (wingoly) to (wingolyu) and (wwaysm) to (wwaysa).
- MAME
. VIDEO RENDERING SYSTEM
. Fixed some corner cases (video\rgbvmx.cpp) (GitHub #11051)
. Allow loading PNG/JPEG/MS DIB bitmaps from LUA and cleanup. Use VirtualAlloc rather than VirtualProtect on Windows to change page protection, as the latter can cause severe performance issues with some antivirus software. Added noexcept to lots of hash- and bitmap-related things and added a little more error checking.
. MEMORY SYSTEM
. Encourage use of read/write delegate creator helpers (Demo on (MESS) Game Boy cartridges). This makes it simpler to install read-write handlers, as you don't need to think about the "smo" suffixes (emu\emumem*).
. Allow emu::rw_delegate to work with device finders (emu\emumem.h)
. DEVICE
. Allow range-based for loops on memory share finders (emu\devfind.h)
. API change for device_image_interface: Removed the seterror method for recording error messages and conditions. Condition codes have been made return values for call_load, call_create and various related callbacks. Error messages (which many devices weren't generating) are now displayed through osd_printf_error. Eliminated the image_init_result and image_verify_result pass/fail enumeration types. Update many functions that were returning these enumerations or simply bools to return std::error_condition instead. In some cases, this type is now passed down from internal parsing/loading functions which were already returning it. In various other cases, the former default UNSPECIFIED has been used as a catchall for I/O errors; anticipated future refactorings should make these error returns more specific. Expand the image_error categories to include INVALIDLENGTH, NOSOFTWARE and BADSOFTWARE. The first is largely self-explanatory. The second is generated by the core to indicate failure to find software items in lists. The third is provided for devices to indicate semantic errors in software list entries. Changed the return type of floppy_image_device::identify to a pair so the potential error condition can be passed along to the UI without storing it in a member variable. Moved device_image_interface::message down into snapshot_image_device and change its implementation to use string_format instead of printf. Correct a typo in the shortname of the generic snapshot device.
. Restored ability of for image devices to report specific error messages. Moved responsibility for displaying the error message in the UI to the caller rather than device_image_interface and made device_image_interface always log the error along with the full path and error condition content. Gave several image devices more detailed error messages. Added some FIXME comments for apparent bugs.
. LUA engine
. Addressed some LUA engine fallout from running things in coroutines: Don't crash accessing dead Lua thread state from callbacks. Allow returning values via yielding functions. Don't run address space tap and layout view callbacks in coroutines to save overhead. Better logging of errors from callbacks (mame\luaengine.*).
. Improved some LUA APIs: Moved several machine lifecycle callbacks to the notifier/subscriber model. The old callback registration model is still available for them for now, but prints a deprecation warning. Added pre-save/post-load notifications. Use a single allocated timer rather than one anonymous timer per waiter. Waiters no longer prevent saved states from being loaded. Clean up outstanding waiters on stop or state load rather than just leaking them. Started documenting parts of the emulator interface object that should be relatively stable. Code changes to notifications and waiters corresponding to the docs/plugins changes in previous commit. Dispose of notifiers before closing Sol.
. Fixed i686 Linux GCC build (mame\luaengine.ipp)
. UI: Create single-threaded COM apartment on main thread (osd\windows\winmain.cpp)
. Recognize reset phase in describe_context (emu\machine.cpp)
. Choose correct emu_fatalerror constructor when format string is an rvalue (emu\emucore.h)
. Changed -listbios to work more like -listslots, showing all BIOS options in a system (mame\clifront.cpp).
. Added deduction guides for common delegate creation patterns (only used in sega\segas16a.cpp so far) (emu\devdelegate.h and util\delegate.h)
. Thread device processing. Gives about a 10% speed improvement overall and avoids the need to mess with the locale of the ultimate output stream (mame\infoxml.cpp).
. Consolidated drivers in single files (88games.cpp, asterix.cpp, bishi.cpp, chqflag.cpp, crimfght.cpp, dbz.cpp, djmain.cpp, gijoe.cpp, gradius3.cpp, lethal.cpp, moo.cpp, qdrmfgp.cpp, rungun.cpp, simpsons.cpp, spy.cpp, ultraman.cpp and xexex.cpp)
. Fixed an object leak on unload. Also changed some other media image devices to use smart pointers (imagedev\avivideo.cpp)
. Improved AVI framerate accuracy (emu\recording.cpp) (Numerator values above 0x3fff'ffff have support issues currently, specifically, YouTube will refuse to process an MP4 with it, and it's a pretty common container).
. Support keypad Enter on Windows (3rdparty\linenoise\linenoise-win32.c)
- MAC OS X:: Fixed compile with Clang 14.0.3 on macOS (3rdparty\portmidi\pm_mac)
- Compiling
. Edited a pile of copy/pasted comments and made some minor code cleanups (reducing variable scope, etc.)
. Reduced I/O port lookups in a number of drivers. Reduced scope of some variables and edited some copy/pasted comments.
. More noexcept on things that have no business throwing exceptions (lib\osdlib.h, lib\osdlib_macosx.cpp, lib\osdlib_unix.cpp, lib\osdlib_win32.cpp and osd\osdcore.h)
. Clean up floppy-related code in various drivers with finder arrays
- Debugger
. Apply workaround for debugger history command consuming ridiculous amounts of memory when jumping around large address spaces (debug\debugcmd.cpp). Note flaw in design (debug\debugbuf.cpp).
. Improvements to debugger 'map' command. Added names of physical and logical spaces now that one space can map to another. Correct usage of address space masks (debug\debugcmd.cpp).
. Show image mount/create error messages on the console (debugger\win\consolewininfo.cpp)