0.272:
======
- a2bus: Cleanups: Eliminate A2BUS_7M_CLOCK constant except in apple2e.cpp driver. Use DERIVED_CLOCK for almost all clocks formerly generated from this value. Don't default the 7M clock for the bus slots. Add confirmed or at least sensible-looking clocks (some differing from Apple's) to all configurations. Convert some more macros to constexpr variables and eliminate one tag macro [AJR].
- apf.cpp: Use lowercase for descriptive text in descriptions in 'apfimag_cass.xml' [ArcadeShadow].
- arcadia.cpp: Use lowercase for descriptive text in descriptions in 'arcadia.xml' [ArcadeShadow].
- at.cpp: New CD-ROM dumps (#12891). Note a true color bug for Mavis Beacon. Add Star Trek games (#12828) to 'ibm5170_cdrom.xml' [Mike Swanson].
- att630: Add mouse and associated interrupts [AJR].
- bungo.cpp: Fix validation [Angelo Salese].
- cdda: Updates and additions: More flexible API; you can set the start and length separately without forcing unpause/play start/etc. Data tracks are force muted, headphone users are safe. Added forward and reverse fast scan capability [R. Belmont].
- cdp1852: Fixes and enhancements: Fix clock write handler. Add write handler for automatically clocking 8-bit data into input-mode latch. Add line read handler for SR output [AJR].
- chalgear: Some notes for later [AJR].
- cmi.cpp: Fix logerror. Fix unused variable error [AJR].
- cmi_01a: Guard against NaN errors [AJR].
- cmi2x: Modernization and cleanup: Use interrupt vector read callbacks to handle context switching and special IRQ and RESET vectoring. Use addressable latch device for CPU function register [AJR].
- cmpmx11: Changed description to 'Classic Max Pocket PCMX11 - 12 in 1 Colour Games Console (horizontal, France)' and also changed manufacturer to 'Jungle Soft (Premier Portfolio International license)'. Correct ROM mapping for cmpmx11 so all games can be selected [David Haywood].
- ct486.cpp: Bump VGA default to svga_et4kw32i [Angelo Salese].
- ct486: Changed manufacturer to ''.
- epson_qx_option_multifont: Added font ROM dumps [Khralkatorrix, Brian Johnson].
- es5510: Removed hack that never could possibly have worked, comparing a uint8_t to a 24-bit constant [R. Belmont].
- feas: Correct default clock divider. Add elite private line to internal artwork [hap].
- gba.cpp: Add Pin Eight's Lockjaw games (#12932). These titles were retrieved out of the Way Back Machine; some versions were not archived by it, it is unknown if they will surface again to 'gba.xml' [Mike Swanson].
- geniusjr.cpp: Added accents to vowels in names of Spanish variants (e.g. Pitagorín series) (#12998). Also added a comment about an alternate name the system was sold under [ClawGrip].
- gk2000: Changed description to 'Kasparov GK 2000 (H8/3212 version)'.
- gl5000: Show all of the logo, not just the top half. Make the display show something [AJR]
- h89.cpp: Fix GPP bit definitions based on the schematic (#12975). Don't use macro for MTR-88. Reduce duplicate BIOS declarations (#12929). Connect write-enable pullup on new h89bus (#12918). Changed GPP bit names to match schematics. Added SigmaROM v1.2 and v1.3 as BIOS options. Add SigmaROM BIOS (#12969). Add SigmaROM option to Z90 system. Add initial support for the H-89 (and H-88 and Z-90) slot bus: Uses the real I/O decoding PROMs. Z-37 and MMS 77316 floppy controllers converted to cards. H-88-3 serial and H-88-5 cassette interfaces converted to cards. Sigmasoft Sound card converted to a card [R. Belmont]. Used macros to reduce duplication in ROM definition. Connected the write-enable pull-up, and cleaned up code [Mark Garlanger].
- h89: Converted the H-17 floppy drive controller to a slot card device [Mark Garlanger].
- h89_z37: Changed description to 'Heathkit Z-37 Floppy Disk Controller'.
- h89h_88_5: Changed description to 'Heath H-88-5 Cassette Interface Board'.
- i386: Make the sse opcodes generate the #NM exception used to save\restore the fpu state [yz70s].
- if800.cpp: Bump refresh rate to a sane value [Angelo Salese].
- jaguar: Add [[maybe_unused]] to the speedup functions [hap].
- juku.cpp: Implemented sound and video, fixed floppy disk access, and added EKDOS to the software list. Promoted EKTA Juku E5104 to working (#9946). Implemented sound, and graphics modes, fixed floppy writing/side selection. Added DIP switches for network address (CONTRDAT). formats/juku_dsk.cpp: Corrected single-sided 5.25" disk format [Märt Pőder].
- juku: Changed description to 'Juku E5104' and changed manufacturer to 'EKTA'.
- lh5801: Don’t add the PC value twice when disassembling relative addressing modes [Golden Child].
- m68000: Stub out the Coprocesor Interface Registers found on '010-'030 so that Mac ROMs can detect if an FPU is present [R. Belmont].
- m6809: Revert speculative change. Remove fake SWI interrupt line, replacing interrupt callback with exception hook for debugging. Mask PCR-mode addresses in disassembly. Add interrupt vector read callback [AJR].
- macpwrbk030.cpp: Major updates: Major modernization pass to bring in line with other Mac drivers. Pseudo VIA hooked up for VIA 2. Displays properly emulated for all models. Added 165 and 165c support. Power management MCU hookup greatly improved. Fixed ADB, audio, and SCSI issues. All models set the correct Gestalt ID [R. Belmont].
- mdconsole.cpp: Corrected two bad bytes in ESPN National Hocky Night cartridge dump in 'megadriv.xml' [Don Jones]. Added a dump of Sonic the Hedgehog CD (USA) with R4C ring code (#12996). Also updated the descriptions to include the ring codes of the existing dumps of different pressings in 'segacd.xml' [David 'Foxhack' Silva].
- megadriv_rad.cpp: Dumped a newer version of My Arcade Pac-Man Pocket Player [Sean Riddle, David Haywood].
- mips.cpp: Added support for IDT R4650 multiply/accumulate instructions to the interpreter [Ryan Holtz].
- mu100b: Minor corrections [Olivier Galibert].
- mz6500.cpp: Bump refresh rate to a sane value [Angelo Salese].
- nes.cpp: Add Pin Eight's Lockjaw games (#12932). These titles were retrieved out of the Way Back Machine; some versions were not archived by it, it is unknown if they will surface again to 'nes.xml'. Corrected titles for the Tetramino (LJ64 prototype) games in 'nes.xml' [Mike Swanson].
- nrrd45: Update the Apple CD-ROM device based on the developer documentation [R. Belmont, thanks to Antoine Vignau].
- oric.cpp: Metadata updates. Fill in author, notice and serial info for various releases. Slightly modify titles of some French games [AJR]. Added 26 working items (#12960). Removed region info tag since there isn't any notice or restriction to a particular region in 'oric1_cass.xml' [ArcadeShadow].
- pc_h98.cpp: Demote (yumeijin); fix lavaleur boot order, sort out and promote gamepac* entries; misc QA updates to 'pc98.xml' and 'pc98_cd.xml' [Angelo Salese].
- pc286u: Changed description to 'PC-286U'.
- pc80s31k: Retire MH BIOS (same as MA) [Angelo Salese].
- pc9801.cpp: Implement VRAM segment mode f/f. Fix os2warp3 display once installed. Workaround KAC dot access for pc9801vm onward. Fix bogus CPU not set High for pc98_cd:os2warp3 with pc9821 class machines [Angelo Salese].
- pc9801: Save the egc pattern regs when set on write. Reset egc on rop reg write. Remove debugging leftover. Make sure a read by itself can load the shifter. If the grcg or egc is enabled then write to the planes in the currently selected vram bank. EGC improvement. bitswap egc mask just like the VRAM [cracyc]. Add identification notes. Hookup ARTIC I/O port 0x5f write. Fix precedence error [AJR]. Add RS232 port, hookup SIO IRQ handling. Convert pc9801vm11 as partial pc286u set for pc9801_epson [Angelo Salese].
- pc9801_26: Approximate better mixing [Angelo Salese].
- pc9801_86: Fix clang error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture]. Implement PCM mute control. Convert PCM space to address_map. Convert IRQ handling to input_merger. Attempt to resolve DAC FIFO under/overflows [Angelo Salese].
- pc9801_kbd: Converted the PC-9801 keyboard device to use a serial interface with control signals [Angelo Salese]. Make stub RDY/RTY lines, allows actual tx transmission nec/pc9801.cpp: zero m_dma_access_ctrl for pc9801rs, pending further investigation [Angelo Salese, smf]. Convert to serial interface (#12936): Preliminary attempt to serial interface. Provide better typematic values [skip ci].
- pc9821: Hookup PEGC MMIO as memory_view. Fix refresh rate regression [Angelo Salese]. Simulate some bus delays [cracyc].
- pcw.cpp: Shift printer data on the rising edge of the clock bit [Golden Child].
- pitagjr: Changed description to 'Pitagorín Junior'.
- pitagor: Changed description to 'Pitagorín'.
- positron: Make vector logerror a bit more useful. Use interrupt_vector_read callback [AJR].
- psr540: Add the mks3. Minor corrections [Olivier Galibert].
- pxa255: Add basic screen visible area configuration [Angelo Salese].
- qx10.cpp: Reverted misguided changes to video zoom handling [Brian Johnson].
- qx10: Add checksums for multifont rom dumps (#12910) [Brian Johnson].
- reversic: Add click with ALT key to flip piece [hap].
- rm480z.cpp: The system is just called LINK 480Z [Vas Crabb].
- rm480z: Changed description to 'LINK 480Z (set 1)'.
- rm480za: Changed description to 'LINK 480Z (set 2)'.
- sc3000: Make "Reset" a non-keyboard-type input to prevent MAME from making a separate one-button keyboard out of it [AJR].
- scv.cpp: Various Super Cassette Vision updates (#12933). Promote starspdr to partially supported. devices/sound/upd1771.cpp: Reset m_state when resetting state in pcm_write (fixes hanging sound in some games). bus/scv/rom;cpp: Move implementations to anonymous namespace. bus/scv/slot.cpp: Let cartridges install themselves in 'scv.xml'. Tweak scv_pal video timings to get closer to 50Hz refresh rate. Block graphic color 0 is transparent (fixes Ton Ton Ball background). Update comments. Fixed issues with sound and graphics, refactored code, and updated notes [Wilbert Pol].
- scv_rom128: Changed description to 'SCV 128K Cartridge'.
- scv_rom128_ram4: Changed description to 'SCV 128K + RAM 4K Cartridge'.
- scv_rom16: Changed description to 'SCV 16K Cartridge'.
- scv_rom32: Changed description to 'SCV 32K Cartridge'.
- scv_rom32_ram8: Changed description to 'SCV 32K + RAM 8K Cartridge'.
- scv_rom64: Changed description to 'SCV 64K Cartridge'.
- scv_rom8: Changed description to 'SCV 8K Cartridge'.
- sh_mtu: Add a forgotten update [Olivier Galibert].
- spectrum.cpp: Promoted eighteen items to working, and added usage instructions; 18 items confirmed working (#12965) to 'spectrum_cass.xml' [holub].
- thomson.cpp: Overhaul all ROM definitions to correspond to actual ICs rather than logical banks. The sizes and hence hashes of virtually all files have changed due to being combined or split up. NO_DUMP entries have also been added for some known undumped PROMs. Get rid of unnecessary downcasts. Move video emulation to a separate device [AJR].
- tms5220: Further logging refinements. Fix status read when RSQ is held low; clean up logging slightly [AJR].
- to8, to9, to9p: Thomson floppy disk updates: Now include the FDC in the base configuration. to9 uses a WD1770 (WD2793 appears to fail calibration), while to8 & to9p use the THM-FC-1 gate array (now a separate device). This eliminates the need to, and ability to, configure floppy disk extensions for the to8, to9 and to9p. Changed sector offsets for double-sided .fd images so that they load correctly (usually) [AJR].
- upd1771c: Improved the end-of-stream check for ADPCM streams containing multiple samples. Improve check for end of adpcm stream when the stream contains multiple samples (#12913). Fixes SCV Star Speeder [Wilbert Pol].
- upd7220: Modernize logging. Implement experimental partition fetch fn nec/pc9821.cpp: add 31 kHz monitor setting. horizontal multiplier is x16 if in gfx mode, x8 otherwise. Fix (microbx2) and pc9801:diremono. Experimentally allow area 3 graphic drawing in forced bitmap mode. Fix pc98:steamhea gameplay drawing. Command reset shouldn't touch RA parameters (#12905). Bump scissor cutout for graphic layer when interlace mode is on. Fix (microbx2) regression. backport pitch shift from pc9821 PEGC. Fix pc9821:os2warp3 installation & chkdsk screens. Allow optional parameter for screen tag [Angelo Salese]. Reset pattern to pram after figd. Pass cursor height to drawing functions [cracyc]. Reset command shouldn’t affect RA parameters (fixes PC-98 Mighty Head text display) [Angelo Salese]. Corrected pitch for RDAT and WDAT operations [Brian Johnson].
- upd765a, upd765b: Also set ST0_SE when seeking not ready drive (verified on real hardware) [cracyc].
- upd7810: Improve uPD7801 Mode C handling (#12914). Fixes banking in SCV Star Speeder. Improved µPD7801 Mode C handling (fixes SCV Star Speeder ROM banking) [Wilbert Pol].
- vg5k.cpp: Metadata updates: Add author and serial fields to numerous titles. Add missing diacritics to titles. Miscellaneous title/publisher corrections [AJR].
- vt1682.cpp: Improved emulation of the Classic Max Pocket units and marked six systems as working [David Haywood].
- vtech1.cpp: BugFix#08968 [Media Support] (vtech/vtech1.cpp) vz300 and clones: The system freezes when attempting to read floppy disks [AJR].
- Rename (pcmx11) to (cmpmx11) and (pc9801vm11) to (pc286u) machines.
- Rename (heath_z37_fdc) to (h89_z37), (heath_h_88_cass_device) to (h89h_88_5) devices.
- Andrei I. Holub added sinclair\byte.cpp driver.
- David Haywood added skeleton\tamagotchi_pix.cpp driver.
- QUFB added sega\sega_ferie.cpp driver.
- AJR added 'Creative Sound Blaster 16 CT-2720', Novatek NT7502 LCD Driver', SGS-Thomson THM-FC-1 Diskette Controller', Thomson TO7 video components', Thomson TO7/70 video components', Thomson TO8 video components' and Thomson TO9 video components' devices.
- Angelo Salese added 'Creative Labs CT1745 SB16 Mixer', SVGA Tseng ET4000/W32i Graphics Card' and Tseng Labs ET4000/W32i TC6167HF VGA i/f' devices.
- hap added 'Hitachi HD404240', Hitachi HD40A4240', Hitachi HD40L4240', Hitachi HD614120', Hitachi HD614125', Hitachi HD614128', Hitachi HD614140', Hitachi HD614145' and Hitachi HD614148' devices.
- Olivier Galibert added 'Korg Polysix sound block' device.
- Patrick Mackinlay added 'Tadpole Technology TP880V' device.
- QUFB added 'Toshiba T6A84' device.
- R. Belmont added 'Apple pseudo-VIA', H-89 left (memory) slot', H-89 right (I/O) slot', H-89/Z-90 bus', Heath H-88-3 3-port Serial Board', Heath HA-88-3 3-port Serial Board', Pullup resistor needed when P506 slot is empty' and SigmaSoft Sound Effects Board' devices.
- hap and Berger added 'Fidelity Deutschland Elite Private Line (EAG 6081 conversion)' system.
- hap and Sean Riddle added 'Saitek Kasparov GK 2000 (H8/323 version)' system.
- QUFB added 'Sega Ferie Kitten', Sega Ferie Puppy' and Sega Ferie World Travel' systems.
- R. Belmont added 'Apple Computer Macintosh PowerBook 165' and Apple Computer Macintosh PowerBook 165c' systems.
- Sean Riddle and David Haywood added 'dreamGEAR My Arcade Pac-Man Pocket Player (DGUNL-3227, older)' system.
- TeamEurope, David Haywood added ' Handheld Game Console 319-in-1', Bandai Tamagotchi Pix', BornKid BornKid 16 Bit Handheld Games 100-in-1 (model GB-10X)', Epoch / SSD Company LTD Let's Play Excite Striker (UK)', Radica / SSD Company LTD ConnecTV Opus (PAL)', Radica / SSD Company LTD Plug & Play Opus (NTSC)', San-X / Tomy Sumikko Gurashi - Sumikko Sagashi', SSD Company LTD XaviX Aerostep (XaviXPORT, Japan)', Takara / SSD Company LTD Beyblade Ultimate Shooter (Japan)', Takara / SSD Company LTD Machi o Tsukurou: Kouji no Kuruma 5 (Japan)', Takara / SSD Company LTD Zuba Zuba Blade (Japan)', Tomy / SSD Company LTD IDATEN Jump: Gekisou IDATEN Battle (Japan)', Tomy / SSD Company LTD TV Hockey (Japan)', YSN GameU Joint TV Bank 108-in-1 (model AH9069)' and YSN Play Portable Color GameU+ (108-in-1) (Japan)' systems.
- TeamEurope, David Haywood and AJR added 'Jungle Soft Classic Max Pocket Mx-10 - 12 in 1 (vertical)' system.
- The Retro Web added 'AST Advantage! 6050d/6066d' and AST Advantage! 610/611' systems.