0.281:
======
- adam: BugFix#09266 [Media Support] (coleco/adam.cpp) adam: Writing to floppy disks fails [AJR].
- adam_fdc: Fix writing data to disk [AJR].
- apple2.cpp: (apple2_flop_orig.xml) Added 22 working, redumped 1 (promoted to working), and removed 3 (#14143). Also updated meta data focusing on Spinnaker Software, Penguin Software, Polarware, and Windham Classics. (apple2_flop_clcracked.xml): Added 39 working, 1 non-working, 3 removed, 5 promoted to working (#14091). Also cleaned up metadata focusing on The Learning Company [A-Noid33].
- apple2e.cpp: Add mirrors and fix polarity of IOUDIS and DHIRES readbacks. Fixes double lo-res from BASIC on the IIc [R. Belmont].
- apple2gs.cpp: (apple2gs_flop_misc.xml) Add alternate titles for OS disks [AJR].
- apple2gs: Fix $C019 VBL (#14177). $C019 is inverted compared to the //e. This fixes tearing/flickering/missing graphics in various demos (by ACS, FTA, Brutal Deluxe, etc). Fix OOB access with large ramsize (#14167): Changes in bfb18d1 exposed problems with 2fb9b7c, resulting in OOB r/w (and the ensuing UB in both the emulated and host machines) on apple2gsr1 when configured with -ramsize >= 2M; this commit simplifies the logic to adjust m_ram_size (now used by expandedram_r/w) only on ROM1 when configured with -ramsize <= 1280K. The resulting total RAM sizes match the previous behavior (although some expansion RAM sizes are still a bit odd) and no longer crash; also clarify the comments regarding the outcome of #6465 and #11264 [arekkusu42]. Fix memory_view fatalerror [hap].
- autorace: (autorace.lay) Remove leftover clickthrough param [hap].
- b2m: BugFix#09262 [Media Support] (ussr/b2m.cpp) b2m: Software fails to boot from floppy disk [AJR].
- basf7120: BugFix#09263 [Media Support] (skeleton/basf7100.cpp) basf7120: Software fails to boot from floppy disk. Reduce maximum quantum to allow bos93 to boot [AJR].
- bbcb.cpp: Allow all sound writes when enabled, not only when strobed [Nigel Barnes].
- bbcbp.cpp: Removed hard disk image from acw443 [Nigel Barnes].
- bbcm.cpp: ROMSEL is readable on Master series [Nigel Barnes].
- beena: BugFix#09259 [Media Support] (sega/sega_beena.cpp) beena: The software list is instantiated twice [Robbbert].
- bitgraph.cpp: Hardware note [AJR].
- coco3p: BugFix#09246 [Crash/Freeze] (trs/coco3.cpp) coco3p: The emulator crashes randomly after starting the system [hap].
- coleco.cpp: (coleco_homebrew.xml): Added 1 working item (#14064) [ArcadeShadow]. Coleco software list updates [Dirk Best, TechZombie/archive.org].
- coleco: svellas doesn't use megacart. Use romset id for note [Dirk Best].
- d50: Declaring the inputs (#14179) [Felipe Corręa da Silva Sanches].
- d550: Declaring the inputs for D-550 (#14179) [Felipe Corręa da Silva Sanches].
- ef9345: Scanline generation should not assert/deassert the BUSY flag (#14081) [Fabio D'Urso].
- electron_plus1: Light pens are not supported [AJR].
- gba: BugFix#06277 [Crash/Freeze] (nintendo/gba.cpp) gba [dkkswingu]: The emulator crashes on the “Treacherous Twister” level [Angelo Salese]. WAITCNT bit 15 is read only [Angelo Salese].
- ge5: Add SAVE_UNSUPPORTED flag [hap].
- generalplus_gpl16250_nand.cpp: Move some game specific service mode access hacks into the driver instead (#14096) [ David Haywood].
- generalplus_gpl162xx_lcdtype.cpp: Fixed compile with Clang 21.1.1 [Ivan Vangelista].
- genesis: BugFix#09222 [Sound] (sega/mdconsole.cpp) genesis [pacman2]: Sound does not play during the introduction [Angelo Salese].
- gime_pal: Add PAL top/bottom padding to scanline buffer [hap].
- h8.cpp: Add more cards, change to using address_space_installer (#14090) [Mark Garlanger].
- harddisk_image: Fix racedrivpan audio ROM duplicate SHA1 (#14175) [Jamie McCadden].
- hd44780: No need for a DONE section opposite of TODO [hap].
- hd44780u: No need for a DONE section opposite of TODO [hap].
- hh_cop400.cpp: Update for consistency with eb6eb509bc7eee440776730b1dddb844c81faafc [AJR].
- hh_pic16.cpp: (matchme.lay) Fix speed switch [hap].
- hh_tms1k.cpp: (strobe.lay): Fix regression with clickthrough [hap].
- hh_ucom4.cpp: Update notes [hap].
- i8251: Don't do binary math on bool, remove unneeded calc_parity function, i8256, stella8085: small cleanup, fill in license header [hap].
- ins8250: Avoid setting data frame when bit encoding doesn't change (#14106) [Mark Garlanger].
- linndrum.cpp: (linn_linndrum.lay) Adapting to changes in #14113 (#14119) [m1macrophage].
- luna: BugFix#09254 [Gameplay] (omron/luna_68k.cpp) luna: The monitor environment fails to start [AJR].
- luna_68k.cpp: Slightly improve IOC mappings; fix regression (MT 09254) [AJR].
- m3: BugFix#09255 [Media Support] (lsi/m3.cpp) m3: The emulator crashes if software item media is not found [hap].
- macpdm.cpp: Map SCC without select (fixes startup) [AJR].
- mb8795: Add loopback and FCS: Delayed receive; receive transmitted data. Minor cleanup: logmacro.h logging; m_ prefix for variables; shorthand integer type names; correct memory map. Use packet logging helper [Patrick Mackinlay].
- mdconsole.cpp: (megacd.xml) Added six items (five working) (#14041) [David 'Foxhack' Silva]. (megadriv.xml) Added 41 working items + 1 not working (#14163) [ArcadeShadow]. 68k access to z80 delays by 1 cycle, fix MT09222 [Angelo Salese].
- midi2cv8.cpp: Trimmer emulation and cosmetic improvements (#14164) [m1macrophage].
- mpc3000.cpp: Correct V53 clock [AJR].
- mtu130: BugFix#09005 [Crash/Freeze] (misc/mtu130.cpp) mtu130: The emulator crashes if software item media is not found [hap].
- neogeo.cpp: (neogeo.xml) Added 3 working items (#14140) [ArcadeShadow].
- neogeocd.cpp: Added Neo-Geo CD prototype version 0.02 [Danny Tedder].
- news_38xx.cpp: Got the NWS-3860 workstation working. (#14151). The system is now usable, albeit lacking video emulation [Brice Onken].
- news_68k.cpp: Add small note about mouse MCU type (#14123) [ClawGrip].
- pasopia7.cpp: Cleanup, side effect checks, fewer literal tags [Vas Crabb].
- pc8801.cpp: (pc8801_flop.xml) Minor notes. (generic_flop_525.xml), (pc8801_flop.xml) Use the new write protect flag for gruppe and rtishtar. Fix #2349 [Angelo Salese].
- pi4d20: BugFix#09253 [Crash/Freeze] (sgi/ip6.cpp) pi4d20: The SGI GE5/HQ1 needs to be marked as lacking saved state support [hap].
- pi4d25: BugFix#09253 [Crash/Freeze] (sgi/ip6.cpp) pi4d25: The SGI GE5/HQ1 needs to be marked as lacking saved state support [hap].
- psion3a.cpp: Added 1MB RAM option for Pocket Book II, and made it default [Nigel Barnes].
- psx.cpp: (psx.xml) Added 18 working items + 2 redumped items (#14043) [ArcadeShadow].
- roland_tr707.cpp: (roland_tr707.lay) Adapting to changes in #14113 (#14119). Minor accuracy improvements, fixes and tidying up (#14133): Accuracy improvements (likely imperceptible); EG attack times and max voltage; EG attack slowdown, when multiple voices are triggered at once; DC-blocking capacitors before the left and right summing op-amps. Conflict handling in key matrix scanning; sample playback timing; layout shows cartridge when it is connected. Bug fix: first voice trigger after a reset was being ignored. Tidying up: improved comments and component designations; updated copyright holders [m1macrophage].
- rosetta: Implement debugger address translation [Patrick Mackinlay].
- rtpc_iocc: IBM advanced monochrome graphics display adapter (aka apa8) [Patrick Mackinlay].
- sagafox: BugFix#09264 [Media Support] (skeleton/sbrain.cpp) sagafox: The system firmware fails to start [AJR].
- sagafoxf80: BugFix#09264 [Media Support] (skeleton/sbrain.cpp) sagafoxf80: The system firmware fails to start [AJR].
- sbrain: BugFix#09264 [Media Support] (skeleton/sbrain.cpp) sbrain: The system firmware fails to start [AJR].
- se3010: Configured CMOS RAM to autoboot ROMFS [Nigel Barnes].
- sed1356: Correct VRAM range [hap].
- sega_beena.cpp: Remove one of double swlist [hap].
- sg1000.cpp: (sc3000_cart.xml) New software item added, metadata cleanup (#14084). Also fixed the country names to be like other software lists, and added information on Basic Level III's export variants [David 'Foxhack' Silva].
- sms.cpp: (gamegear.xml, sg1000.xml) New software list items (#14086) [David 'Foxhack' Silva].
- sn76496: Add btanb note. m_sega_style_psg was wrong way around, and fix recent regression with initial period. Whitespace cleanup, ready state variable was missing from savestates. Initial volume is 0xf on sega psg. No need to savestate volume table. Only write ready pin devcb if ready pin changed, no need for in_noise_mode function, add pinout diagram to h file [hap].
- specnext.cpp: Fixed copper offset direction (#14188). Added video output configuration (VGA/HDMI); refresh rate 50/60Hz; timings for all reference machines (#13992). Fixed uninitialized default for ula port #ff (#14183) [Andrei I. Holub].
- spectrum.cpp: (spectrum_cass.xml) Added 18 working items (YRGB'25) (#14054) [Andrei I. Holub].
- sprinter.cpp: Fixed DCP mapping --TolikTrek (#14165). Added access to internal z84 IO through the BUS (#14189) [Andrei I. Holub]. Avoid dynamically allocated static object [Vas Crabb].
- st2302u_bbl_spi.cpp: Added first pass of a new internal ROM to some st2302u_bbl_spi.cpp sets, move to handheld folder + new working system (#14003): Add a dump of a different internal ROM (although it still needs verifying) a number of sets now boot albeit with broken gfx (maybe due to error in internal ROM data); Retro150 units are lower clock speed? Refactor a little [ David Haywood].
- teradrive.cpp: Hack TMSS unlock status from x86 side. Preliminary open bus for busreq reads, disconnect TAS. Register variables to save states [Angelo Salese].
- tmp94c241: SFR symbol names (#14181) [Felipe Corręa da Silva Sanches].
- tsconf.cpp: Added FPGA 100K variant; implemented Copper for it (#14008) [Andrei I. Holub].
- tube: Moved classes into anonymous namespace [Nigel Barnes].
- upd7002: Replaced custom delegates with devcb [Nigel Barnes].
- upd765a: Corrected recalibrate steps for Intel N82077 FDC (#14150). As documented in the datasheet it should be 80 for this FDC [Brice Onken].
- upd765b: Corrected recalibrate steps for Intel N82077 FDC (#14150). As documented in the datasheet it should be 80 for this FDC [Brice Onken].
- vectrex: BugFix#09249 [Crash/Freeze] (miltonbradley/vectrex.cpp) vectrex: The emulated system hangs randomly [hap].
- ym7101: Delay VINT regular triggers. Fix mazinsagj hang regression. Add basic drawing. Enough to make Puzzle Construction playable. Add better sprite mask semantics. Improve h/vcounter, improve hint trigger behaviour. Separate tile layer preparation in own loop, fix fractional H scrolling. Fix clang error on hcount. Add scroll modes, preliminary vcount, sprite pixel limit per scanline. Add vram mask boundaries. Fix window layer. Implement H32 mode. Add HV counter latch, fix sound int position. Implement HW sprite collisions. Implement S/H mode, fix hblank read calculation in H32 mode. Improve DMA transfer times. Mask lowest bit in window name table in H40 mode. Priority, window layer, HINT hookup, avoid sprite link deadlocks. Changed description to 'Yamaha YM7101 VDP' [Angelo Salese].
- z80dma: lear BUSRQ line upon device reset to prevent CPU from freezing after a soft reset (#14192) [Andrei I. Holub].
- zx.cpp: (zx81_cass.xml) Added 19 working items (#14155). (zx81_cass.xml) Added 29 working items (#14061) [ArcadeShadow].
- zx80: BugFix#08950 [Crash/Freeze] (sinclair/zx.cpp) zx80: Some invalid cassette image files cause the emulator to crash [Andrei I. Holub].
- zx81: BugFix#08951 [Crash/Freeze] (sinclair/zx.cpp) zx81: Some invalid cassette image files cause the emulator to crash [Andrei I. Holub].
- Olivier Galibert added future32.cpp driver.
- stonedDiscord added patgen.cpp driver.
- m1macrophage added prophet5.cpp and sixtrak.cpp drivers.
- Andrei I. Holub added 'ISA8 to ZXBUS Adapter', 'Spectrum ULA Contention :: +2A/+3', 'Spectrum ULA Contention :: 128K/+2', 'Spectrum ULA Contention :: 48K', 'Spectrum ULA Contention :: Uncontended', 'TS-Configuration Copper' and 'Virtual TR-DOS' devices.
- Dirk Best added 'ColecoVision Super Game Cartridge (1 MBit)', 'ColecoVision Super Game Cartridge (2 MBit)', 'ColecoVision Super Game Cartridge (4 MBit)' and 'SST 39SF020 Flash' devices.
- Felipe Corręa da Silva Sanches added 'HD-AE5000, Hard Disk & Audio Extension', 'Roland PG-1000 Programmer' and 'Technics KN5000 extension port' devices.
- Mark Garlanger added 'Heath HA-8-8 Extended Configuration Option Board', 'Heath WH-8-16 16k Static RAM' and 'Heath Z80 CPU board' devices.
- Nigel Barnes added 'Datapen Light Pen (BBC Micro)', 'JAFA Systems Master Compact Cartridge Adaptor', 'Magazzino Parametrico', 'Micro Mike', 'Stack Light Pen (BBC Micro)', 'Stack Light Rifle (BBC Micro)' and 'The Robin Educational Light Pen' devices.
- Olivier Galibert added 'NEC uPD72120' and 'Sord Future32 keyboard' devices.
- Patrick Mackinlay added 'IBM 5080 Peripheral Adapter', 'IBM Advanced Monochrome Graphics Display Adapter', 'IBM Personal Computer AT 512Kb Memory Expansion', 'IBM RT PC Keyboard, Locator, Speaker Adapter', 'IBM RT PC Mouse' and 'Ungermann-Bass Personal NIC' devices.
- stonedDiscord added 'Intel 8256AH Multifunction microprocessor support controller' device.
- Andrei I. Holub added 'TS-Labs EvoMAX3: TS-Configuration 2' system.
- ArcadeHacker added 'IBM ThinkPad 600X', 'IBM ThinkPad 760XD' and 'IBM ThinkPad 770Z' systems.
- DBWBP added 'Sequential Circuits Prophet 5 (Model 1000) Rev 3.0' and 'Sequential Circuits Six-Trak (Model 610)' systems.
- Olivier Galibert and Plamen Mihaylov added 'Sord Future 32a' system.
- Sterophonick added 'Westminster Throwback Pocket Video Game Console 150+ 8-Bit Games' system.
- stonedDiscord and Matthew Millman added 'Philips PM 5644 color pattern generator (NTSC 4:3 Colour Circle)', 'Philips PM 5644 color pattern generator (PAL 16:9 Colour Circle Rev 1)', 'Philips PM 5644 color pattern generator (PAL 16:9 Colour Circle Rev 2)', 'Philips PM 5644 color pattern generator (PAL-G 4:3 Colour Circle)', 'Philips PM 5644 color pattern generator (PAL-G 4:3 Indian Head)', 'Philips PM 5644 color pattern generator (PAL-M 4:3 Colour Circle)' and 'Philips PM 5644 color pattern generator (SECAM 4:3 Colour Circle)' systems.