What's New:
- a8sio: Hook up ready line (even though the host merely ties it to Vcc) [AJR].
- agnus_copper: Add vblank line mechanism for penalties. Delay suspend_offset a bit. Revert 51919d5e4bc8a980e859429b7e39bd0a254a2ac6 [Naoki Saito].
- amiga.cpp: (amiga_workbench.xml) Rework software list. The list now contains Workbench for all systems, wile AMIX still uses its own list. Synchronize data where possible with the "Workbench Project" website. Untangle CPU slot bus from Zorro-II slot: Rewrite DMAC DMA controller. Now actually transfers data; add preliminary support for the A590 hard disk controller; add preliminary support for the Action Replay freezer devices; add support for the MegaMix 500 RAM expansion; add preliminary support for the A2091 hard disk controller [Naoki Saito]. (cdtv.xml) Perform QA pass over new CR-511-B core [Angelo Salese].
- apple2gs.cpp: Generate ADB IRQs for incoming mouse data, not just keyboard and general ADB traffic: Greatly improves mouse tracking smoothness (Github #13670); fixes Chessmaster 2100 hanging when you try to drag a piece; fixes Xenocide not accepting menu selections. Restrict DOCRAM pointer to 16 bits like hardware, Great Western Shootout relies on it wrapping [R. Belmont, Peter Ferrie]. Add 4soniq 4-channel support and flip channel mapping to match 4soniq and other emulators. It helps to commit the latest local version [R. Belmont]. Fix memory behaviour beyond 8MB. Fixes Biff's Tale [Peter Ferrie].
- apple2gs: (apple2gs_flop_misc.xml) Removed a duplicate dump. Added sixteen working items and replaced one crack (#13146) [Naoki Saito]. Writes to INTEN clear corresponding int flags. Set SCC initial state as ROM expects it. Fixes QuestMaster [Peter Ferrie].
- at.cpp: (ibm5170.xml) Sort out pbfant. (ibm5170_cdrom.xml) Demoted Sonic CD Pentium Processor Edition items to unsupported [Naoki Saito].
- atari1050: Fix polarity of host communications; correct drive select switch settings [AJR].
- atari810: Fix polarity of host communications; correct drive select switch settings [AJR].
- atom.cpp: Added Acorn expansion bus slots PL6, PL7, and PL8: Corrected MC6847 clock; text Space and Video Graphics RAM can be configured separately; replaced Eprom Box with the RAMROM board, to support AtoMMC [Nigel Barnes].
- ban_db2j: Changed description to 'Let's! TV Play Dragon Ball Z Battle Experience Kamehameha 2 ~Ossu Ome Goku Tenkaichi Budokai~ (Japan)'.
- ban_gkrj: Changed description to 'Let's! TV Play Gekiwaza Shuutoku Gekiranger - Super Gekiranger e no Michi (Japan)'.
- ban_naru: Changed description to 'Let's! TV Play Naruto (Japan)'.
- bq4847: Keep the battery valid flag on 1 [Michael Zapf].
- cdi.cpp: Fixes XA audio header offset (#13993): Simplify cdicdic.cpp This simplifies the reference functions while making small changes to the used functions; simplify cdicdic Reduced by 37 lines; fixes XA audio header offset Fixes Github #13991. Fix Cursor Inversion Color and Add External Video Placeholder (#13989): Fix Cursor Inversion Color This corrects a slight error in the cursor inversion color. A full brightness color should keep the brightness value, and only invert the RGB. See MCD212 section 7.5; introduce External Video Input This replaces the static background color with a function that will switch behavior if the EV flag is set. Currently there is no DVC chip, so this will produce black output. This fixes #13980. Add Undefined Matte Behavior and fix RGB Transparency (#13978): Add Undefined Matte Behavior Fixes #13976 Greenbook says not to change the MF flag within a line. However, if you do, the behavior is undefined. Console verification shows that the real console will use these values. The non-spec behavior is explained in a comment. Additionally, this tidies up the Matte function; fix RGB Transparency This fixes RGB transparency checks. Previously it was checking the high bit. This would pass when checking the false condition (mode 10) but not on the true condition (mode 2). Fix Double Width Cursor (#13969): This fixes #13968; originally this flag made the cursor 2x as wide (4 pixels). However the Validation Disc (EU) test GC_Ptn has a clarifying comment that in double-resolution mode, the cursor should be half the width of the normal cursor; this fixes this oversight. Fix Pixel Hold Clut4 (#13970): Console verification identified a descrepency in CLUT4 pixel hold behavior; this corrects a factor of 2 error in the width for CLUT4; this fixes #13513. - cdi.cpp: Fix Pixel Hold Clut4 (#13971): Console verification identified a descrepency in CLUT4 pixel hold behavior; this corrects a factor of 2 error in the width for CLUT4; this fixes #13513 [Vincent-Halver].
- cortex.cpp: Replaced keyboard to use AY-5-2376 encoder, and implemented the Caps-Lock and Graph keys [Nigel Barnes].
- ct8000.cpp: Emulated Casiotone 8000 keyboard and related systems. (#13237) [Naoki Saito].
- cz1: Fix audio routing (#13983) [Devin Acker]. Fix crash [hap].
- dgun2572: Descramble and move to correct driver (still doesn't boot, though) [AJR].
- dmx.cpp: Surfacing mouse-controlled tunning trimmers on the layout (#13266). Also made slider script and the sliders in the layout more reusable [Naoki Saito].
- ebaskb2: Changed description to 'Basketball 2 (Entex)'.
- elbaskb: Default to 1 player [Naoki Saito].
- es5503: Fix error in emulation of oscillator over-contribution glitch (Github #13669) and use m_ prefixes consistently [Kelvin Sherlock, R. Belmont]. Oscillators halted by the CPU have the same behavior as those halted internally if the low bit of the mode is set, as per the datasheet. Fixes Skate or Die for the Apple IIgs's music freezing [R. Belmont, Peter Ferrie].
- excal: Update notes [Naoki Saito].
- fex68km4: Update ROM labels [Naoki Saito].
- filter_biquad: Added Sallen-Key high-pass filters [Naoki Saito]. Added calculator functions for RC-based band-pass filters. linndrum.cpp, roland_tr707.cpp: Got rid of custom implementations and used the above (#13888) [m1macrophage].
- fz1.cpp: Preliminary sound emulation, fz20m: fix SCSI hookup (#13967) [Devin Acker].
- fz20m: Fix SCSI hookup [Devin Acker].
- g5_500: Changed description to 'G5 500 in 1 Handheld'. Descramble ROM; this seems like a good dump after all [AJR].
- gbox2019: Changed description to 'Game Box 400 in 1 (2019 PCB)' and changed manufacturer to 'Sup'..
- gbox2020: Changed description to 'Game Box 400 in 1 (2020 PCB)' and changed manufacturer to 'Sup'.
- glukrs: Replaced custom RTC with verified KR512VI1/MC146818 (#13932). Updated clock to schematics defined (#13942) [Andrei I. Holub].
- h89bus: Setup io addresses instead of run-time decoding of PROM (#13533): Remove unneeded method, minor cleanup; get addresses directly from I/O PROMs; use address_space_installer for io mapping; revert "Use address_space_installer for io mapping" (this reverts commit 92997ac93282514674012b085052030aaa21aff8) [Mark Garlanger]. Prevent gcc11 uninitialized variable compile warning [hap].
- hh_tms1k.cpp: Update notes, remove "Electronic" prefix from ebaskb2 [hap].
- hhgc319: Descramble address and data lines; transfer to nes_vt32.cpp driver. Even more descrambling [AJR].
- hs36blk: Fix graphics [AJR].
- hs36red: Fix graphics [AJR].
- ibmpcjx: Preliminary software list for the IBM PC JX [Justin Kerk].
- in207100: Use full company name. Add preliminary keyboard emulation. Redumps and updates: Add more complete program ROM dump, dumps of bipolar PROMs and 8048 keyboard MCU [Bitsavers]. Make better guesses at clocks, dividers and screen parameters [AJR].
- in207376: Changed manufacturer to 'Informer Computer Terminals'.
- in213: Changed manufacturer to 'Informer Computer Terminals'.
- in213ae: Changed manufacturer to 'Informer Computer Terminals'.
- interpro.cpp: Add missing PLDs and PROMs to ip2700 and correct some info [ArcadeHacker] (#13948) [ClawGrip].
- juicebox.cpp: Allow loading of raw ROM dumps from Software List, add 6 new dumps to the SL (#13955): Allow Juicebox to load raw ROMs from the software list; verified some carts, added 2 new dumps; add 2 more [David Haywood].
- k051649: Changed description to 'Konami 051649 SCC1'.
- kim1.cpp: (kim1_cass.xml) Add some tapes (#13966) [Ken White].
- kr2376_12: Added ROM bit 7 to the KR2376_ST encoder, used in external Caps-Lock circuits [Nigel Barnes].
- kr2376_st: Added ROM bit 7 to the KR2376_ST encoder, used in external Caps-Lock circuits [Nigel Barnes].
- m68000: Fix disassembly of CAS [Doug Brown, R. Belmont].
- maclc3.cpp: LC520 and LC550 have DFAC2 also [R. Belmont].
- macpdm.cpp: Fix HMC reads and writes, map RAM properly, and hook up NuBus [R. Belmont].
- macpwrbk030.cpp: Do the same fix for VBL deassertion on the microcontroller, fixes Alarm Clock update rate. Added DFAC device to these machines for future use (Github #13841). Improved operation for all supported PowerBook Duos: Pressing any key now wakes up from sleep, not just the modifier keys; pressing the power key (F12 by default) after Shut Down will turn the machine back on: apple/msc.cpp: MSC's VIA1 is customized: CB1 IRQs are a separate input not tied to CB1. This greatly improves the smoothness of 68K/68HC05 communications: cpu/m6805/m68hc05pge.cpp: Implemented hardware keyboard matrix scanner, used during sleep and power off states by the PowerBook Duos [R. Belmont] [R. Belmont]. Fix typo on MacBook battery ADC (#13960) [jflatt].
- mc6847: Changed description to 'Motorola MC6847 VDG'.
- mc6847t1: Changed description to 'Motorola MC6847T1 VDG'.
- mc6847y: Changed description to 'Motorola MC6847Y VDG'.
- mc68681: Remove "Device" from device string [Naoki Saito].
- mc68ez328: Fuller implementation of timer: The existing implementation left the timer counter (TCN) at zero until the compare value (TCMP) was reached. However, some software relies on reading the TCN values to measure elapsed time; the timer counter (TCN) now increments on every timer tick. Allow selection and use of Port A: On EZ and VZ, PASEL is reserved, and it was hard-coded to 0 (disabled). However, the user manual notes: "In an 8-bit-only system, you can configure these pins as a parallel I/O port by writing a 1 to the WDTH8 bit of the SCR."; according to the MC68328 datasheet, something similar should be needed to activate its Port B, but that change is not included here. Its PBSEL is exposed, so there is likely no difference in emulation [Naoki Saito].
- mcd212: Add missing header value (#13972). Implemented cursor blinking (GitHub #13522, #13624) [Vincent-Halver]. Implemented RBG decoding and RGB transparency bit. (#13246) [Naoki Saito].
- mdconsole.cpp: (megacd.xml) Use conventional phonetic 'zu' reading rather than 'du' in 'Kanzume' [Naoki Saito]. Moved a few sets from mdconsole.cpp to megadriv_rad.cpp as they're clearly the same SoC as we have partial support for in there, and will help build a better picture of the features that SoC has [David Haywood]. Perform various 32x changes: Fix regressed stereo sound routing; remove _32X_SWAP_MASTER_SLAVE_HACK (fifa96 doesn't mind anymore); rewrite commsram read/write to use scheduler synchronize; fix soulstar missing layer by mirroring DRAM area; make set_maximum_quantum more deterministic; (32x.xml) Perform a QA pass [Angelo Salese].
- megadriv: Fix #13941 [Angelo Salese].
- megapad: Update note [AJR].
- mg1: Handle display disable [Naoki Saito].
- midi2cv8: Adding "not working" driver for MIDI2CV8. Includes layout. Adding driver for MIDI2CV8 (#13298). Marked as working [Naoki Saito].
- midiverb: Routed entire audio path. DSP just a passthrough (#13244): Routed the entire audio path; DSP is mostly a passthrough. Just does quantization (ADC) right now; using 'samples' mechanism for audio input; other style and code organization fixes [Naoki Saito].
- mm4rebel: Changed description to 'Mephisto MM IV (Rebel program, WMCCC 1989 Portorose TM)'; concatenate ROMs [hap].
- mv_sonora: Support 2, 4, and 16bpp modes [R. Belmont].
- mz2000.cpp: Implement mz80b HW differences. Kick off Cassette and Floppy SW list for MZ-80B [Angelo Salese].
- mz2500.cpp: (mz2500_flop.xml) Dust Box QA draft. Register mouse after joystick ports. Modernize a bit, hook PIT, hook SACK signal, add FDC TC hook [Angelo Salese].
- mz5500.cpp: Add PICs and system port A. Rename driver to mz5500.cpp [Angelo Salese].
- mz800: Correct sound IC type [AJR].
- nes_vt02_vt03.cpp: Attempt to ameliorate unused function warning [AJR].
- nes_vt32.cpp: Add typo240 (#13936). Rename "Q5 500 in 1 Handheld" to "G5"; former was probably a misreading [David Haywood]. Split the $42xx sets out to a separate SoC and driver. Add MMC1 compatibility mode [AJR].
- nes_vt32_soc: Add some register stubs needed by typo240 [AJR]. Fallthrough typo [hap].
- nes_vt369_vtunknown.cpp: Add GB-50 (#13929) [myrtle]. Further cleanup [AJR].
- nes_vt42xx.cpp: AJR added nintendo/nes_vt32.cpp driver splitted from (nes_vt32.cpp).
- pc8801.cpp: (pc8801_cass.xml) Demote all tapes to not working [Angelo Salese]. (pc8801_flop.xml) Actually mark clones as clones, transliterate title for S.F.3.D. Added 1 working item (#13269). Fix region size for hibernia. Fix broken image and mark bad. Updated comments for Babylon (#13262) [Naoki Saito].
- pentevo.cpp: Added additional BIOS options (#13943). Removed hacks around RTC registers [Andrei I. Holub].
- pokey: Disable logging again. Synchronize on SOD output transitions during serial transmission [AJR].
- psx.cpp: (psx.xml) Added 19 working items + 1 not working + 6 redumped items (#13974) [ArcadeShadow].
- pv1000: Update stream before writing to soundchip [hap].
- rfcp168: Descramble some address lines [AJR].
- risc2500: Add mem_mask check [hap].
- sega_32x_ntsc: dreq size decrements on each transfer, turning it off when 0 reached. Allows vrdx to go in gameplay (with severe 3d issues when -drc is used) [Angelo Salese].
- sega_32x_pal: Dreq size decrements on each transfer, turning it off when 0 reached. Allows vrdx to go in gameplay (with severe 3d issues when -drc is used) [Angelo Salese].
- sk1.cpp: Add NO_DUMP entries for internal ROMs [AJR].
- specnext.cpp: Added extra memory read wait state at 28MHz (#13869) [Andrei I. Holub].
- specnext_dma: Added prescaler register (#13958) [Andrei I. Holub].
- spectrum.cpp: (spectrum_cass.xml) Added 34 working items (#13245). Also improved metadata with information from Spectrum Computing [Naoki Saito].
- spg2xx_jakks_gkr.cpp: Pull up SCL and SDA lines when outputs are not enabled. Fixes EEPROM test in jak_sdoo [AJR].
- sprinter.cpp: Enabled cdda sound for primary slave ATA device and select as cdrom by default (#13907). Optimized wait state handling for performance. Confirmed MACHINE_SUPPORTS_SAVE (#13913). Reevaluated BIOS options (#13946): Edited metadata; added Firmware v3.05, 01.09.2022; added Firmware v3.06, 25.06.2025 [Andrei I. Holub].
- upd931: Emulated �PD931 synthesis chip [Naoki Saito].
- vibes240: Support dynamically disabling opcode encryption through control writes [AJR].
- votrtnt.cpp: Converted Votrax TNT to a device, and added to bus/rs232 devices [Nigel Barnes].
- vt1682.cpp: Fix input regression in InterAct/Zone 7-in-1 Sports/MiWi2 [AJR].
- x68k.cpp: (x68k_flop.xml) Added 1 working items (#13275). Fix #8870 [Naoki Saito].
- xavix.cpp: Removed the 'dumped' list from xavix.cpp for now, given that most titles are dumped and the list isn't entirely accurate [David Haywood].
- xavix: Clean up some machine-translated Japanese titles [Naoki Saito].
- z80dma: - 0.279: Changed description to 'Zilog Z80 DMA Controller'.
- z80n: Updated timings for z80n instructions (#13985) [Andrei I. Holub].
- zorba.cpp: Improved save state support and cleaned up code (#13305) [Naoki Saito].
- zorro2: Add emulation (seemingly working) of Oktagon 2008 SCSI controller [AJR, unknown].
- zx.cpp: (zx81_cass.xml) Added 19 working items (#13977) [ArcadeShadow].
- Renamed (atombb) to (atombbc), (atomeb) to (atomrr), (ltv_naru) to (ban_naru), (q5_500in1) to (g5_500), (unk2019hh) to (gbox2019), (unk2020hh) to (gbox2020), (mc6847_ntsc) to (mc6847), (mc6847t1_ntsc) to (mc6847t1), (mc6847y_ntsc) to (mc6847y), (md_eeprom_nflqb) to (md_eeprom_nflqb96), (mm5p) to (mm4rebel) and (tr707_audio_device) to (tr707_audio).
- AJR added 'Informer 207/100 Keyboard', 'unknown VT series System on a Chip with $42xx registers (NTSC)', 'unknown VT series System on a Chip with $42xx registers (PAL)' and 'VT369 series System on a Chip (with D6/D7 + D1/D2 opcode swapping)' devices.
- Andrei I. Holub added 'I2C DS1307 RTC/SRAM', 'MB02+ 11(#0b) UA858D', 'MB02+ 11(#0b) ZILOG', 'Mikroelektronik UA858D DMA Controller' and 'Spectrum DMA Slot' devices.
- Devin Acker added 'Casio FZ PCM' device.
- holub added 'DATEGEAR 107(#6b) UA858D' and 'DATEGEAR 107(#6b) ZILOG' devices.
- Mark Garlanger added 'Heath H89 IO Decoder 444-43 PROM', 'Heath H89 IO Decoder 444-61 PROM', 'Heath H89 IO Decoder CDR86 PROM', 'Heath H89 IO Decoder MMS 444-61c PROM' and 'Heath H89 IO Decoder Socket' devices.
- Naoki Saito added 'ColdFire DMA Module', 'ColdFire MBUS Module', 'ColdFire SIM Module', 'ColdFire Timer Module', 'CS4334 DAC' and 'MCF5206e UART' devices.
- Nigel Barnes added 'Votrax Type' and 'Votrax Type' devices.
- R. Belmont added 'Apple Digitally Filtered Audio Chip II', 'Apple Ethernet LC Card', 'Apple Ethernet LC Twisted-Pair Card', 'Apple Ethernet NB Twisted-Pair Card' and 'Cypress Semiconductor ICD2053B Programmable Clock Generator' devices.
- AJR and David Haywood and TeamEurope added 'Typo Vintage Gamer 240-in-1' system.
- Anna Wu added 'Sharp MZ-5500' system.
- anonymous added 'Busicomputers Prophet 2' system.
- Berger added 'Hegener + Glaser Mephisto III (set 5)' and 'Saitek / Heuristic Software Kasparov Renaissance (set 3)' systems.
- David Haywood and Sean Riddle and TeamEurope added 'Radica Family Tetris' and 'Takara / Hasbro / SSD Company LTD Beyblade Arcade Challenge 5-in-1 (US)' systems.
- David Haywood and TeamEurope added 'Bandai / SSD Company LTD Let', 'Bandai / SSD Company LTD Let', 'Bandai / SSD Company LTD Yes! PreCure 5: Issho to Henshin! Metamorphose! (Japan)', 'Bandai Hyakujuu Sentai Gaoranger Soul Bird: Animal Kyuushutsu Daisakusen (Japan)', 'Epoch / SSD Company LTD Doraemon Taiko AIUEO Zukan (Japan)', 'Epoch / SSD Company LTD Hello Kitty TV de Asobou! Manabou! Card de Omamagoto AIUEO Zukan (Japan)', 'Epoch / SSD Company LTD Kyuukyoku! Muscle Stadium! Sasuke Kanzen Seiha (Japan)', 'Epoch / SSD Company LTD TV de Asobou! Manabou! Pooh-san to Issho: ABC AIUEO Zukan (Japan)', 'Hasbro / Tiger Electronics Mission: Paintball', 'Hasbro / Tiger Electronics Mission: Paintball Trainer', 'Konami Hashire! Tobe! Nagero! Hyper Sports Challenge (Japan)', 'Nissin / SSD Company LTD Dontore da bei 2 - Ouchi de, Minna de Fitness! (Japan)', 'Retro-Bit Go Retro Portable 260+ Games' and 'Tomy TV de Asobou! Mickey & Minnie Mouse Kids (Japan)' systems.
- Myrtle Shah added 'GB-50 Retro Station Pocket System' system.
- Nigel Barnes added 'Pearce Signs ES5700 (LED Electronic Message System)' system.
- Sean Riddle added 'dreamGEAR My Arcade Atari (DGUNL-7013, Micro Player Pro)', 'dreamGEAR My Arcade Galaga (DGUNL-4195, Micro Player Pro)', 'dreamGEAR My Arcade Galaga (DGUNL-4199, Pocket Player Pro)', 'dreamGEAR My Arcade Mega Man (DGUNL-7011, Pico Player)', 'dreamGEAR My Arcade Pac-Man (DGUNL-4194, Micro Player Pro)', 'dreamGEAR My Arcade Space Invaders (DGUNL-7006, Pocket Player Pro)' and 'dreamGEAR My Arcade Tetris (DGUNL-7025, Micro Player Pro)' systems.
- sharpmz.org and Anna Wu added 'Sharp MZ-6550' system.
- TeamEurope added 'Conny / VideoJet Plug Play TV Games 1 (4-in-1) (VideoJet, France)', 'Conny / VideoJet Plug Play TV Games 3 (4-in-1) (VideoJet, France)', 'Conny / VideoJet Plug Play TV Games 4 (4-in-1) (VideoJet, France)', 'Lexibook Lexibook Junior Barbie Drawing Board / Barbie Drawing Studio', 'Millennium 2000 GmbH Millennium Arcade Genius SE' and 'VideoJet / Conny PDC M2' systems.
- Tsu added 'Psion Series 3mx (Dutch)' system.
- AJR added nintendo/nes_vt42xx.cpp driver.