0.271
- New games: Chaoji Dou Dizhu Jiaqiang Ban (S300CN), Chaoji Dou Dizhu Liang Fu Pai (V109CN), Chaoji Tuolaji Jiaqiang Ban (V206CN), Long Hu Zhengba (China, VS105M, set 1), Long Hu Zhengba 4 Dui Hua Ban (V203CN), Long Hu Zhengba III Shengji Ban (V300C5), Mingxing San Que Yi (China, V201CN) and Miracle Seven - Heaven's Gate (Japan, v1.0.2)
- New Working games: Bare Knuckle II (bootleg of Mega Drive version), Crazy Bugs (V103JP), Fever 13 (Japan, v1.3), Kart Duel (World, KTD2/VER.A), Kart Duel (Japan, KTD1/VER.A) and Poker & 21
- New Non-Working games: Bullion 2, Carnival (Astro Corp., US.004.D), Cashline, Diamond Heart (v1.0), Double Hearts, Dynasty (Ver. 1.02), Fisherman Battle (Japan, ver 1.03), Jungle King (V302US), La Maquina del Tiempo, Multistar 14, Multistar 5, Mystery J & B (V1.3G), Mystic Jaguar, Santa Claus (IN.001.07.A), Sunset Riders / Super Street Fighter II - The New Challengers (scrambled bootleg of Mega Drive versions), Super 70's (V100US), Super Cherry Master (V5.2), Super El Dorado (Ver. 1.04H), Triple Jack (V1.6G), Triple Play (M0000230, Spanish) and Wanpaku Pirates (Japan, ver 1.00)
- New clones: 1945k III (Promat license, OPCX1 PCB), Chaoji Da Manguan II (China, V754C, set 2), Chaoji Dou Dizhu (V217CN), Chaoji Dou Dizhu (V219CN), Crazy Balls (Bontempi, set 2), Discs of Tron (Environmental, prototype, 8/9/83), Jungle King (V103A), Labyrinth Runner (World Ver. F), Last Duel (Modular System), Long Hu Zhengba (China, VS105M, set 2), Long Hu Zhengba III (V106C5M), Metal Black (World, single PCB), Mirax (set 3), Power Spikes (Modular System), Race On! (Japan, RO1 Ver. B), Raiden II (Great Britain), Return of the Invaders (Video Dens bootleg, without MCU), Star Rider (PROTO 3), Super Cherry Master (V1.2), Teenage Mutant Ninja Turtles - Turtles in Time (4 Players ver OAA) and Twin Cobra (Modular System)
- New AGEMAME games: Aladdin's Cave (Maygay M2, SW8-323 SW8-299), Aladdin's Cave (Maygay M2, SW8-322 SW8-298), Aladdin's Cave (Maygay M2, SW8-298 SW8-144), Big Break (Maygay M2, SW6-656 SW6-635), Big Break (Maygay M2, SW6-657 SW6-636), Bullion Blox (BWB) (BVM_____.1__) (MPU4 Video), Each Way Gambler (Maygay M2, SA6_128 SA6_114), Each Way Gambler (Maygay M2, SA6_129 SA6_115), Each Way Gambler (Maygay M2, SA6_130 SA6_115), Each Way Gambler (Maygay M2, SA6_281 NONE), Each Way Gambler (Maygay M2, SA6_282 NONE), Each Way Gambler (Maygay M2, SA6_283 NONE), Each Way Gambler (Maygay M2, SA6_284 NONE), Guinness Book Of Records (Maygay M2, SW8-146 SW7-360), Guinness Book Of Records (Maygay M2, SW8-147 SW7-361), Jack & Vera (Maygay M2, set 2), Jack & Vera (Maygay M2, set 3), Jack & Vera (Maygay M2, set 4), Krypton Factor (Maygay M2, set 2), London Underground (Maygay M2, SW8-233 SW8-155), Pinball Wizard (Maygay M2, SW8-099 SW8149), Pinball Wizard (Maygay M2, SW8-099 SW8149), Risk (Maygay M2, SW9-025 SW9-023), Risk (Maygay M2, SW9-024 SW9-026) and Super Clue (Maygay M2, SW8-153 SW8-131).
- New drivers: bullion2.cpp, cashline.cpp, cirsa2080606.cpp, cle68k.cpp, dyna_d0703.cpp, igs_m027_023vid.cpp, lastduel_ms.cpp, pspikes_ms.cpp and twincobr_ms.cpp
- New devices: atari_trakball, atmel_29c020, f2mc16_adc, f2mc16_clock_generator, f2mc16_intc, f2mc16_port, f2mc16_ppg, f2mc16_reload_timer, f2mc16_uart, hd38870, hd44840, hd44848, hd44860, hd44868, igs023, jvs_port, mb90f574, md8412b, namco_amc, namco_asca1, namco_asca3, namco_asca3a, namco_asca5, namco_c77, namco_csz1, namco_cyberlead, namco_cyberlead_led, namco_cyberleada, namco_emio102, namco_empri101, namco_fca10, namco_fca11, namco_fcb, namco_tssio, namco_xmiu1 and vpx3220a
- CPU
. DEC T11: VM1 does not use RMW bus transaction for MOV and MOVB insns (fixes writing to floppy) (cpu\t11\t11ops.hxx)
. Hitachi H8: Disable logging by default & don't log debugger reads. Only start sending data via DMA if transmitter is enabled. Clear TEND when sending data via DMA. TDRE, RDRF, ORER, PER and FER flags can be cleared to 0 only if they have first been read while set to 1. Only set TEND when there is no more data to send. Receiver is started only on high to low rxd in asynchronous mode, when receiving and sending in synchronous mode when data is sent, or continuously when receiving without sending in synchronous mode. Set rx status to idle when stopping clock in rx_async_step(). Removed double invert when calculating parity in rx_async_step(). Removed redundant check for synchronous mode in rx_async_step() (h8\h8_sci.cpp).
. Hitachi HD44801: Set page start to 0x3f (hmcs40\hmcs40d.cpp)
. IBM PowerPC: Fixed QNan check. a) All constants were one digit too short. b) The payload was always expected to be 0 (which is just a special case qnan (Real Indefinite) though) (powerpc\ppccom.cpp).
. Intel 4004: Don't log messages about NOP aliases for the 4004 (the Linux/4004 firmware uses these for instrumentation points) (mcs40\mcs40.cpp)
. Motorola MC68000: Renamed m_instruction_restart to m_can_instruction_restart to clearly distinguish from m_restart_instruction
. Motorola MC68000 FPU: Added FPU instructions 'FETOX', 'FETOXM1', 'FTWOTOX' and 'FTENTOX' (m68000\m68kfpu.cpp, softfloat3\bochs_ext\f2xm1.c, softfloat3\bochs_ext\softfloat3_ext.h)
. Motorola MC68030: Added gdbstub support
. Motorola MC68030/40: Don't emulate byte smearing for the 68040 and fixed disabling the FPU for the 68030
. NEC V25: Added stubs for serial interface registers (nec\v25.cpp). Logging fixes (nec\v25sfr.cpp).
- DEVICE
. Flash ROM: Added ATMEL_29C020 and support for SDP & added missing state save registrations (machine\intelfsh.cpp).
. Floppy
. Removed #include "screen.h" (imagedev\floppy.h)
. Don't enable_transfer after tc. Indicate ready status in polling irq sense. Reset st0 when starting a seek and fail if drive isn't ready (machine\upd765.cpp).
. Added read 86f image support (formats\86f_dsk.cpp). Different workaround for (unused) BIG_ENDIAN enum (formats\86f_dsk.h).
. Fujitsu Micro F2MC-16: Created devices for the onboard analogue to digital converter, clock generator, interrupt controller/Extended intelligent I/O service, I/O port, Programmable Pulse Generator, reload timer and UART. CPU core exposes the RMW line for onboard devices. Log messages will contain the address of the start of the instruction, rather than the next byte the CPU is about to fetch. Added INT9/INT addr16 & INT addr24 software interrupt instructions. Fixed INCW @RWx & DECW @RWx instruction length. Added missing fetch of immediate value in MOV @RWx + RW7, #imm8.
. Intel 82371 southbridge: Reduced PIT range. i82371sb_isa_device can now redirect their IRQs (machine\i82371sb.cpp).
. MC68681 DUART/SC28C94 QUART: Unambiguous xr68c681 control blocks. 'SC28C94 QUART' has 64 registers (machine\mc68681.cpp).
. National Semiconductor NSC810 RAM-I/O-Timer: Save internal state (machine\nsc810.cpp)
. Real Time Clock interface: Devirtualize set_current_time and cleaning up misuse (emu\dirtc.h)
. SiS 85C496/497 chipset: sis85c496_host_device can now redirect their IRQs (machine\sis85c496.cpp)
. Timekeeper: Suppress side effects for debugger reads
. Z180 ASCI: Fixed calculation of framing and parity errors (z180\z180asci.cpp)
- SOUND
. K054539 ADPCM: Correct reverb RAM size and addressing. Top address bit for the 32K RAM is bit 16, rather than the intuitive bit 14.
- asteroid.cpp: Set the watchdog frequency. Note: This seems to have been omitted for some reason.
- bestleag.cpp: Cleanups
- changyu.cpp: Implemented changyu2 MCU communication well enough to get attract mode working with music. Added inputs for both games.
- cidelsa.cpp: Verified clocks for Cidelsa's Destroyer and Altair (efo\cidelsa.h)
- dec0.cpp: Use input merger device for 6502 irq
- esd16.cpp: Cleaned up code. Use appropriately sized integers for tilemap color values. Reduced literal tag usage, improved variable names and use C++ line comments.
- fuukifg2/3.cpp: Init palette ram to black (nomore white flash at boot) [hap].
- gkigt.cpp
. Cleanup video functions, hookup debug terminal as default. 'SC28C94 QUART' has 64 registers (machine\mc68681.cpp). Removed most QUART2 overlay hacks.
. Added debug notes and preliminary background layer. Partial decoding of CG ROM regions. Hookup OPLL, irq3 ties with the other QUART. Fixed release years for ms3 and ms72c.
. Suppress SENET readback for now, fixed base video ROM banks and documented workaround for i960 init crash.
- igs_m027.cpp
. Added memory clear switch to clear memory contents when power is removed (hard reset with the switch on to clear NVRAM)
. Fixed title for Long Hu Da Manguan Duizhan Jiaqiang Ban (V400C3M)
. Use mnemonic short names for clones. Added version numbers from service mode or bookkeeping to descriptions, and added comments where displayed version number doesn't match what was already in the description.
. Confirmed I/O and DIP switches match other games. Added some notes about DIP switch settings.
. Trojaned internal ROMs for cjddzlf, lhzb3106c5m and lhzb3sjb.
. Reduced repetition in inputs a little, made conventions a bit more consistent across files and correct a few comments.
. Confirmed some more internal ROM dumps. Added notes about game controls. Hide inactive inputs for more games.
- igs_m027xa.cpp
. Dumped internal CPU ROM for clone Crazy Bugs (V103JP). Promoted game to working. Fixed inputs for clone Crazy Bugs (V103JP). Got rid of hopper from Crazy Bugs (V103JP) since there appears to be no way to use it and exposed hopper switch as a user input so it can still be tested. Got rid of third bank of DIP switches from Crazy Bugs (V103JP) as comments indicate it isn't physically present (although it is displayed in the input test).
. Use mnemonic short names for clones
- igs017.cpp
. Dumped GFX ROM for clone Tarzan Chuang Tian Guan (China, V110)
. Fixed DIP switches and cleaned/improved inputs for Chaoji Da Manguan II, Manguan Caishen, Manguan Daheng, Shuang Long Qiang Zhu 2, Tian Jiang Shen Bing and Tarzan Chuang Tian Guan. Correct Long Hu Zhengba 2 DIP switch settings and cleaned up inputs.
. Reduced repetition in inputs a little, made conventions a bit more consistent across files and correct a few comments.
. Use slots input types for Tarzan Chuang Tian Guan in "joystick" mode to make playing slightly less confusing. Removed mahjong keyboard row that isn't read from Tarzan Chuang Tian Guan.
. Added notes about game controls
- lwings.cpp: Hooked up sound CPU reset control for Trojan and Avengers. Original Trojan schematic shows that the main CPU controls the sound CPU reset line.
- megadriv_acbl.cpp
. Hook up PIC MCU to Bare Knuckle II (bootleg of Mega Drive version). Promoted game to working. TODO: Unknown inputs to Port B of the emulated PIC. MCU clock frequency. There is only a 50 MHz XTAL on the PCB, are the other clocks correct?
. Sorted DIP switch options. Order coinage options from least to most generous, put off to the left of on.
- midvunit.cpp: Fixed range error in "Galil" wheel controller emulation (midway\midvunit.h)
- mosaic.cpp: Minor cleanups. Suppress side effects for debugger reads. Use more appropriate types for some integer variables. Use generic graphics decoding layouts, made CPU ROM region size match size of ROM.
- multfish.cpp: Minor cleanups: Use more appropriate types for integer variables and made some variables constant. Allocate video RAM on start and reduced run-time tag lookups. Improved some function and variable names and reduced use of static functions and preprocessor macros. Cleaned up spacing and converted single-line comments to C++ line comments.
- multfish_boot.cpp: Converted single-line comments to C++ line comments
- namcos12.cpp and namcos23.cpp: Added a new modular JVS framework. New devices added: Namco Cyber Lead I/O LED(I/O) PCB 8699014200, Namco Cyber Lead I/O LED(I/O) PCB 8699014200 (compatibility patch), Namco Cyber Lead I/O LED(LED) PCB 8699014500, Namco AMC PCB (Extra I/O,JPN,Ver1.10), Namco ASCA-1 (Multipurpose I/O,JPN,Ver2.00), Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.04), Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.02), Namco ASCA-5 (Multipurpose,JPN,Ver2.09), Namco CSZ1 MIU-I/O (GUN-EXTENTION,JPN,Ver2.05), Namco EM I/O1-02 (Techno-Drive I/O,JPN&EXP,Ver2.00), Namco TSS-I/O (GUN-EXTENTION,JPN,Ver2.02) and Namco XMIU1 TSS-I/O (GUN-EXTENTION,JPN,Ver2.11,Ver2.12). Note: The Cyber Lead compatibility patch is required because later versions aren't. Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.00), Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.01) and Namco FCB (TouchPanel&Multipurpose,JPN,Ver1.02). Note: These use ASCA3 patched to return the correct ID string as the full ROM is yet to be extracted. Namco EM Pri1-01. Note: The printer for Techno Drive is HLE'd only enough to make the game happy.
- namcos12.cpp
. Promoted Kart Duel (World, KTD2/VER.A) and clone (Japan, KTD1/VER.A) to working (ID 08867)
. Added Namco C77 CPU (custom H8)
. Converted Namco System 12 to allow JVS or JAMMA in each game. See src\devices\bus\jvs\cyberlead.cpp for list of games that support Namco Cyber Lead cabinet animations. Moved CDXA documentation and memory map into it's source file, converted the shared memory to 16bit on the PlayStation side and acknowledge the interrupt correctly. Converted to logmacro.h. Setup analogue inputs to match the games defaults, except Kart Duel because the defaults seem impossible to achieve. Made set names and formatting consistent.
. Added Techno Drive LED artwork. Lower analog controls keydelta for Techno Drive.
- namcos23.cpp
. Significant improvements. More games boot and are playable, albeit with glitchy graphics at times. Fixes Race On causes MAME to freeze after self-test (ID 08924).
. Increased timeout in namco_csz1 ROM to stop it timing out, the H8 is either running too fast or the SUB CPU is running too slow (jvs\namcoio.cpp).
. Configured Crisis Zone gun to match game defaults & default to namco_csz1 JVS I/O board. Stop motor error in Crisis Zone test mode
. Removed texture_enabled flag, it caused missing graphics so this bit must have a different meaning. Reset poly counts each frame to prevent trailing graphics and MAME crashing when holding INS.
- pgm.cpp: Removed unneeded trampoline (igs\pgm.cpp). Fixed some regressions (igs\pgmprot_igs027a_type1/3.cpp).
- sigmab98.cpp: Fixed regression with hopper motor. Fixes all games using the Sammy Medal BIOS set except tdoboon: Games return "Hopper Overrun" error upon exiting service menu after backup RAM initialization (ID 08941).
- taito_f3.cpp: Added TODO note to use common TC0640FIO device
- tecmo.cpp: Reduced literal tags and cleaned up code. Use I/O port array finder for DIP switches, made some variables const. Use C++ line comments for single-line comments and added notes.
- toaplan2.cpp: Lower sound volume because of distortion
- warpwarp.cpp: Update sound stream before volume decay (namco\warpwarp_a.cpp and namco\geebee.cpp)
- wpc_s.cpp: Correct rom region for some sets. Fixes corv_la1, corv_lx2, jm_05r, nf_08x and nf_10f with Fatal Error on emulation start (ID 08945).
- AGEMAME: Split the maygayew.cpp 'altrevs' in proper clone sets
- Alien Command: Driver cleanups. Port over cischeat_draw_sprites.
- Champion Poker 2: Verified dump with another PCB
- D-Day (Jaleco set 1): Hookup i8257 in place of custom code
- Fever 13: Promoted game to working
- Mahjong Senpu
. Cleaned up code: Use palette_device handlers for palette. Correct video RAM width and changed to allocate on start. Constrain screen update to clipping rectangle. Fixed input matrix reading. Reduced literal tags, changed logging to use logerror and made come variables const. Reduced duplication and improved ROM region names. Added notes about languages for in-game text and voice samples. Use C++ line comments for single-line comments.
. Fixed I/O and DIP switch settings. This makes it possible to complete a game with either mahjong keyboard or joystick controls.
- Mirax: Minor cleanups. Use more appropriate types for some variables. Simplified graphics ROM decoding. Reduced literal tags, made some variables const, improved ROM region and variable names.
- Moon Light (Inder): Dumped ROMs from "bonus expansion board" used by Moon Light. This board is used for driving lamps. It is described in the manual and schematics.
- New York! New York!: Added DAC enable bit
- Operation Wolf 3: Dumped unprotected PALs
- Poker & 21: Promoted game to working
- PT Reach Mahjong: M14 driver cleanup
- R2D Tank: Removed unneeded trampoline
- Saboten Bombers: Fixed clone Cactus (bootleg of Saboten Bombers) causes MAME crash (ID 08944)
- Skins Game: Removed unused leftover
- Snooker 10: Identified manufacturer for clone Ten Balls (Ver 1.05), using original program ROM.
- Space Invaders: Changed clones Jatre Specter (set 1/2) to licensed. As described in MT 08149, Jatre Specter was licensed by Taito.
- Task Force Harrier: Hook up MCU for clone Task Force Harrier (Lettering bootleg). Test mode can now be accessed.
- Yizhi Xiangqi: Fixed GFX decoding, tilemap and screen size.
- Fixed rom names in igs017.cpp, model2.cpp and snookr10.cpp
- Description changes of 999, Acchi Muite Hoi Battle (Japan, ver 1.04), Aka Mahjong (Double Bet, ver 1 16), Aladdin's Cave (Maygay M2, SW7-536 SW7-465), Aladdin (bootleg of Mega Drive version), Alien Command (v2.1), Bare Knuckle (scrambled bootleg of Mega Drive version), Bare Knuckle II (scrambled bootleg of Mega Drive version), Bare Knuckle III (bootleg of Mega Drive version), Bare Knuckle III (scrambled bootleg of Mega Drive version), Bare Knuckle III / Sunset Riders (scrambled bootleg of Mega Drive versions), Big Break (Maygay M2, SW6-618 SW6-601), Boo Boo Donpatchi (Japan, ver 1.01), Bullion Blox (BWB) (BV_1P___.2__) (MPU4 Video), Bullion Blox (BWB) (BV_50___.2__) (MPU4 Video), Bullion Blox (BWB) (Datapak) (BV_1P___.2__) (MPU4 Video), Bullion Blox (BWB) (Datapak) (BV_50___.2__) (MPU4 Video), Chaoji Da Manguan II (China, V754C, set 1), Chaoji Dou Dizhu (V215CN), Chess Challenge II (ver. 1445A), Crazy Balls (Bontempi, set 1), Docchi Fighter (Japan, ver 1.02), Each Way Gambler (Maygay M2, SA6_127 SA6_113), Fruit Paradise (V214US), Guinness Book Of Records (Maygay M2, SW7-235 SW7-240), Jack & Vera (Maygay M2, set 1), Krypton Factor (Maygay M2, set 1), London Underground (Maygay M2, SW8-232 SW8-154), Long Hu Da Manguan (V102C3M), Long Hu Da Manguan Duizhan Jiaqiang Ban (V400C3M), Long Hu Zhengba 4 (V104CN), Long Hu Zhengba III (V400CN), Long Teng Hu Yao Duizhan Jiaqiang Ban (S104CN), Mahjong Senpu (Japan), Maque Wangchao / Chaoji Da Manguan 2 - Jiaqiang Ban (China, V100C), Mayo no 21, Mogu Mogu Hammer (Japan, ver 1.01), Mortal Kombat 3 (scrambled bootleg of Mega Drive version), Pinball Wizard (Maygay M2, SW8-098 SW8148), Que Long Gaoshou (S501CN), Return of the Invaders (bootleg, without MCU, set 1), Return of the Invaders (bootleg, without MCU, set 2), Return of the Invaders (bootleg, without MCU, set 3), Return of the Invaders (bootleg, with MCU), Risk (Maygay M2, SW7-614 SW7-461), Shippe Champion (Japan, ver 1.02), Stadium Cross (World, linkable), Star Rider (REV 1), Sunset Riders (scrambled bootleg of Mega Drive version), Super Clue (Maygay M2, SW8-152 SW8-130), Super Street Fighter II - The New Challengers (scrambled bootleg of Mega Drive version), Wan Wan Dash (Japan, ver 1.01), Zenigata Ponta (Japan, ver 1.02) and Zhongguo Chu Da D (V102C).
- Dipswitch fixes in funtech.cpp, gkigt.cpp, igs017.cpp, igs_m027.cpp, igs_m027xa.cpp and megadriv_acbl.cpp
- Renamed (cjddz) to (cjddz215cn), (crzybugsj) to (crzybugs103jp), (crzybugsb) to (crzybugs200us), (crzybugsa) to (crzybugs202us), (fgtlayerj) to (fgtlayerja), (fruitpara) to (fruitpar206us), (haunthiga) to (haunthig101us), (kartduelj) to (kartduelja), (lthy) to (lthyp), (mgzza) to (mgzz100cn), (mrdrillrj) to (mrdrillrja2), (oceanpara) to (oceanpar101us), (olympic5a) to (olympic5107us), (soulclbr) to (soulclbrac), (soulclbra) to (soulclbr), (soulclbrja) to (soulclbrja2), (tektagtc1) to (tektagtc1a), (tektagtja) to (tektagtja3), (tenkomorja) to (tenkomorja1), (tripfevb) to (tripfev105us), (tripfeva) to (tripfev107us) and (unkwht) to (yizhix).
- MAME
. VIDEO RENDERING SYSTEM: Always translate coordinates if container is found (emu\render.cpp). Fixes Touch drag gestures that leave the window do not behave correctly. The menu jumps to an unexpected position when the touch point is outside the window.
. MEMORY SYSTEM: Allow ioport finders in portr/w/rw. Converted a number of drivers to use ioport finders in the memory map. This is not entirely gratuitous. The idea is to ensure all the ports are in the class, so that eventually ioport finders become ioport creators. The ultimate aim is to C++-ify port descriptions which would be made way nicer by getting rid of the need for PORT_START (emu\addrmap.h).
. DEVICE: Improved stop bit handling. Fixes bytes are read too slow in serial emulation. Never check more than one stop bit on reception. Don't add an extra stop bit on transmission. Got rid of the per-instance parity lookup table (emu\diserial.cpp).
. INPUT
. Fixed deadlock issue with joystick (removed reset() call during process_event) (input\input_sdl.cpp)
. Added piano keyboard definitions and automatic names (emu\ioport.cpp)
. Improved validation of DIP switch locations. Treat an empty switch name as an error. Treat a non-positive switch number as an error. Also allocate fewer temporary strings (emu\ioport.cpp).
. Made syntax for configuring callbacks more consistent. You now use FUNC or NAME to configure port field callbacks, like you would when configuring other kinds of callbacks. This has a number of benefits: No need to remember different syntax for port field callbacks and more approachable for new contributors. May use function templates with multiple arugments using NAME((&...)) syntax without resorting to another layer of macros. May use non-member functions on the odd chance it's useful. More natural syntax for referring to member functions (emu\ioport.h).
. UI
. Allow pressing UI Clear to restore default pointer timeout settings (ui\ui.cpp and ui\videoopt.cpp)
. Don't ignore character input when no pointer is active (ui\selmenu.cpp). Handle menus resetting items from custom pointer handlers better (ui\menu.cpp).
. CHD/CHDMAN
. Made some APIs return errors rather than throwing exceptions (util\chd.cpp and util\chdcodec.cpp)
. More API changes: Have metadata_find return std::error_condition instead of throwing an exception. Replaced the is_XXX predicates with check_is_XXX methods that return a std::error_condition, enabling improved error reporting for cdrom_image_device. Retain read error information in chd_file_compressor. Make a bunch of methods noexcept (util\chd.cpp).
. Throw errors when examining metadata to determine compression defaults (tools\chdman.cpp)
. Made a few more member functions return error conditions. Also mark error paths as unexpected to optimise against them (util\chd.cpp).
. Added a safer way to let codecs do special stuff with hunks (util\chd.cpp and util\chdcodec.cpp)
. Improved notes about DirectX SDK and added a link in compiling instructions. Also fixed typo "SDL" in place of "SDK" (docs\source\initialsetup\compilingmame.rst).
. Consolidated drivers into single files (fuukifg2.cpp, supbtime.cpp)
- Compiling
. Added ATTR_COLD to common lifecycle methods for many files in src\mame and src\devices
. Use qmake to query Qt libexec directory to find moc (osd\modules.lua)
. Upgrade checkout and upload-artifacts actions (github\workflows\*)
- Debugger
. Clean up #includes a bit (emu\debug and osd\modules\debugger\qt)
"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."