logo_PS

Marchio di accettazione Arcade 32/64 Artworks Cabinets CHD-Info CPanel Covers DATs (MAME) DATs (Resource) Devices F.A.Q. Flyers History ITA HBMAME Icons MAME Archive MAMEUI MAME-Plus MAME SDL Manuals Marquees MESS Archive MESSUI MESS-Info Old Sets Other Resources PCB renameSET Resources SL Samples Snapshots Support Files Tools VideoSnaps VideoSnaps SL W.I.P. pdf Thanks Contact MESSINFO.dat Last updated on 09/06/2026 

As for the MAME, is also now available for MESS the dat file that allows you to follow version after version, all changes and additions made to the all various systems emulated.
If you find any inaccuracies or typographical errors please let me know by sending an e-mail to this address:
messinfo.dat@gmail.com.
The file is also and above all to give credit to all people who conceived and carried out this wonderful project.

Important
: Since version 0.166 the file should be placed in the "/Dats" folder.

Flag Counter

download messinfo.dat

New in MESSInfo:
0.289: ====== - a2aplcrd: Changed description to 'PCPI Appli-Card'. Updates and refinements: Add maximum quantum to allow CP/M to boot reasonably quickly. Use a memory view to bank out the Z80 boot ROM [AJR]. Add dump of the Franklin ACE 80 CPU Card [Internet Archive]. - a2gameio: Change SW0/SW1/SW2/SW3 inputs to normally read as 1 instead of 0 if unconnected. This agrees with observed behavior on actual Apple II family hardware [AJR]. - a2sic: Change default BIOS to older revision and note why [AJR]. - a2video_comp: Configuration doesn't belong in saved states [Vas Crabb]. - ace2200: Don't use A2E swlist on W65C02 machines [arekkusu42]. - ace500: Does not have internal gameio, followup #14388 [arekkusu42]. - adsp2100: Disassemble IDLE instruction (not emulated yet) [AJR]. - apple2: Improve accelerator delay emulation (#15387): Implement the (sticky) Zip Chip delay cancel via C05E; fix default slot speeds to match Zip hardware and Laser documentation; fix DEVSEL writes to trigger delays; fix IOSEL and C800 access to only delay on Laser, per documentation; fix PTRIG to only delay on C070; wrap address map direct accessors in delay lambdas; implement the (one-shot) Zip GS delay cancel via any write; fix default slot speeds to match Zip hardware; fix DEVSEL writes to trigger delays; fix IOSEL and C800 access to not delay; fix PTRIG to delay on C020 and C070; implement IRQ and counter delays; implement C036 motor-on bits override of C05C slot speeds; also fix the 5x/Ax un/lock keys. Improve Zip Chip emulation (#15464) [arekkusu42]. - apple2e: machine_config consistency (#15495): Make -listslots ordering consistent across apple2 family; don't redundantly configure W65C02 and dasm_trampoline. Tidy up apple2ep initializers obsoleted by 14c441d. Implement C05E state switches. Improve Zip Chip emulation: Implement Ctrl-Reset interaction; improve annunciator side-effects; fix unlocking to be pedantically correct; implement C05B LC bit [arekkusu42]. - apple2gs: Followup #15626: add comments where hardware behavior differs from documentation (#15628). Fix slow_cycle() usage (#15487): Only slot ROM should be slow, not internal ROM; fix double-slow write_slot_rom(); inhibited memory access should be slow. Fix reserved I/O bits (#15626): Force reserved bits to zero in several I/O registers, matching hardware; force reserved bits to one in C03C sound GLU, matching hardware [arekkusu42]. - atw_soni: Renamed (sonicwtc) to (atw_soni). - awacs: Flip reporting of which buffer just emptied. Fixes sound on pmac6100 [R. Belmont]. - ax80: subcpu uses the same internal ROM as maincpu; hook up subcpu and keys (#15701) [Devin Acker]. Changed description to 'AX80 Programmable Polyphonic Synthesizer'. - bftetris_lcdc: 256KiB is too heavy for a device class [Vas Crabb]. - bigbord2: Boot CP/M, wire SASI hard disk, fix warm-boot DRQ race (#15412): Brings the Big Board II driver from "MACHINE_NOT_WORKING" up to a functional state. Five inter-related changes, all small and local to bigbord2.cpp: 1) 74LS151 DMA-RDY mux: track the selected input dynamically. syslatch2 bits 0-2 select which of eight RDY sources feeds the Z80 DMA's /RDY pin; the existing driver only re-evaluated the mux inside syslatch2_w, so per-byte FDC DRQ / SIO WRDY edges that happen *after* a syslatch2 write never propagated to the DMA. Result: DMA boot read of the CP/M loader sets WD179x bit 2 (Lost Data) and the BIOS prints "BIOS error on A: drq". Fix: store m_dma_sel + an m_cc[8] cache of all eight mux inputs, then have fdc_drq_w / sio_wrdya_w / sio_wrdyb_w (and sasi_req_w below) call m_dma->rdy_w() whenever their index matches m_dma_sel. 2) Soft-reset re-init. The state above (m_dma_sel, m_cc[], DMA RDY level, m_fdc_rq, the NMI line) was left stale across a soft reset, so the boot DMA on the second cold-attempt session was non-deterministic. machine_reset() now restores it to the power-on values the cold-boot ctors produce. 3) FDC INTRQ + DRQ -> Z80 /NMI gate (HALT-conditional). Per the schematic, the WD179x's INTRQ (pin 39) and DRQ are OR'd, inverted and AND'd with /HALT to drive /NMI -- so the CBIOS' HALT+INI PIO path moves one byte (or finishes a command) per NMI while the CPU is halted, but the gate stays quiet during a DMA transfer (CPU bus-released, not halted). Implemented via the Z80 halt_cb() callback (zero polling latency) + a single m_fdc_rq byte tracking INTRQ in bit 0, DRQ in bit 1, and NMI-asserted in bit 7. This is needed for CBIOS variants that use the HALT+INI path (e.g. cbios.s1) on warm boot's CCP reload; the V1.1 monitor in bigbrdii.u85 is interrupt-driven and never halts, so the gate stays quiet for it. 4) Race-window mask in fdc_status_r. MAME's wd_fdc::command_end() clears BUSY without dropping DRQ when LOST_DATA is *not* set -- there's a literal "TBD: lost data should probably negate DRQ" comment in the code. That exposes a transient BUSY=0 + DRQ=1 state real WD179x DMA hardware doesn't (arbitration grabs the trailing byte before BUSY drops). Without this mask the V1.1 CBIOS' DISKOP polling exits its "wait for BUSY=0" loop, masks the returned status with AND $9F, sees bit 1 (DRQ) set, and reports "BIOS error on A: drq track N sector M" on every warm boot. Re-assert BUSY in the status read while the race is open so the BIOS keeps polling; the DMA drains the data register within microseconds and the next read returns a clean STS=00. The byte stays in the FDC's data register -- the mask only delays when the BIOS sees the command complete, it doesn't fabricate or hide data. 5) Xebec S1410 SASI hard disk subsystem. Adds a small in-driver bigbord2_sasi_host_device that bridges between the BB-II's two SASI ports (D8 data / D9 status) and the nscsi bus + s1410 target. D9 status bits map BSY=0x02, MSG=0x08, C/D=0x20, I/O=0x01 and (for the DMA-variant ST412 BIOS) REQ=0x80. SEL and RST come in through outlatch1 (U96, an LS259 addressable latch) Q3 and Q2. SASI REQ is surfaced via req_cb() so it can feed mux input 7 to the DMA RDY; the cbios.s2 INIR variant uses the DMA's read-status command to wait for REQ, the DMA-variant reads D9 bit 7 directly. An optional set_seek_timing() call from machine_start() opts the s1410 into a realistic ST-506 cylinder-aware seek model (3 ms track-to-track, 85 ms average, 205 ms full-stroke at 3600 RPM, 1:1 interleave -- per the April 1982 ST412 OEM manual) -- depends on the s1410 changes submitted as a separate PR. PAL ROM declarations for U23 (PAL16L8) and U34 (PAL10L8) are added as NO_DUMP -- the parts have their security fuse blown, but the mem/io decode is already hard-coded from the CUPL equations in the existing roms/bigbord2/BB2_U23_Replacement.txt and U34 counterpart, so the ROMs are cosmetic for the audit [David Rand]. - bk139in1: An attempt at partial decryption [AJR]. - burgundy: Fixed a bunch of uninitialized variables and an inaccuracy in the DMA handling [R. Belmont]. - bvm20f1e: Generate a fake internal ROM [AJR]. - c64_epyx_fast_load: Suppress side effects on reads [Angelo Salese]. - cem3340: Implemented bandlimited oscillator sync (#15427). Minor comment fixes. Emulated oscillator scale trimmers (#15655): Made resistors for the CEM3340 "tempco generator" configurable; used the above on the prophet5 LFO, and to implement the scale trimmers of the VCOs [m1macrophage]. - channelf_sound: Fix sound output channel (#15695). Corrected stream.put arguments for sound output, to allocated stream [BensonRSI]. - cmap: Fixed passing xmap/cmap revision as clock when instantiating devices (GitHub #15731, this is another regression from the poorly considered bulk changes in d066f16134121f02a2fd9716582a17f8ee66f6d5 that I missed when trying to fix the damage). Also got rid of some unnecessary devcbs [Vas Crabb]. - cs4031: Easier mapping for ISA accesses, allows UMB to be available in DOS. Reset keyboard controller command d1 write status after the data write. Fixes MT5547. Without this unrelated keyboard controller data writes could end up being blocked [Dirk Best]. - ct486: BugFIX#05547 [Crash/Freeze] (pc/ct486.cpp) ct486: The system may fail to boot from MS-DOS 6.22 installation media [Dirk Best]. - dgnalpha: BugFIX#09477 [Media Support] (trs/dgnalpha.cpp) dgnalpha: The system will not boot to BASIC or from a floppy disk [AJR]. - dimm_spd: Don't respond on the I2C bus if size is set to empty [R. Belmont]. - dmac_0266: Changed description to 'Sony 0266 WSC-ICKDMAC DMA Controller'. - drumsta: Preliminary ADSP hookup. Add missing overrides [AJR]. - eks515: Identify one CPU architecture. Some decryption [AJR]. - es5510: Round DOL towards -infinity after all (#15537): This partially reverts the functional change in https://github.com/mamedev/mame/pull/15527; but keeps the code and makes it a compile-time choice, for now, while this continuies to be investigated; it also keeps the changes that made DIL and DOL actually 16 bits wide; all based on investigation by @guilioz in [this comment](https://github.com/mamedev/mame/pull/15527#issuecomment-4711323638) by @guilioz, which appears to show that the hardware ESP does _not_ round towards zero after all. Fix `WRITE_REG{16}` macros (#15579): As identified by sjs@sojusrecords.com, the `WRITE_REG` and `WRITE_REG16` macros were not writing their 'x' parameter to a register as intended, but were instead writing the contents of the `value` variable from calling code. Quite frequently this happened to be the correct thing to write, which hid the bug. Remove redundant #ifdef section; LOG_EXEC's use of LOGMASKED already handles the compile-time conditional logging [Christian Brunschen]. Inline implies static linkage - no need for both. Also use constexpr (which implies inline) [Vas Crabb]. - esq2x16_sq1: Changed description to 'Ensoniq 2x16 LCD (SQ-1 variant)'. - esq2x40_esq1: Renamed (esq2x40) to (esq2x40_esq1). - esqpanel240_esq1: Renamed (esqpanel240) to (esqpanel240_esq1). - f2mc16: External interrupts do not seem to have a iack/vector fetch cycle, according to the docs. And essentially none of the drivers use interrupts in the first place [Olivier Galibert]. - f8: Make the interrupt cycle explicit [Olivier Galibert]. - fmtowns: Init pcm mask reg to 0 [cracyc]. - generic_latch_16: Disable lost value logging by default, don't call it a warning [Vas Crabb]. - generic_latch_8: Disable lost value logging by default, don't call it a warning [Vas Crabb]. - gigatron: Made RAM size configurable, cleaned up code (#15491): Use ram_device for RAM, allowing configurable RAM size (default size is 64K, matching previous behaviour); use an indexed screen bitmap and palette device; reduced preprocessor macros, made some variables const, added notes [cam900]. - gpl16250va: Renamed (gcm394) to (gpl16250va). - gpl951xx: More aggressive template use (#15352): Use templates for timebase and timers, add more timers. Basic 'manual' ADC mode support. Provide address when required in autocmd mode for spifc, to prevent wrong addresses being written. Add stub logging more registers. gpl_renderer: Port improved linemap code from spg_renderer so that other BPPs can be handled. generalplus_gpl951xx_rtc: Allow setting / reading of timer registers. generalplus_gpl951xx.cpp: Various cleanups driver-side, including template use [David Haywood]. Added GPL951xx internal ROM and allow systems to boot from it [cyanic, David Haywood] (#15630) [David Haywood]. - h8: Formalize the contracts between H8 family peripherals and the CPU and interrupt controller so H8/500 can share [R. Belmont]. - h8: Update active DMA channel on start/stop (#15678): Notify the H8 CPU when DMA channel active state changes so newly-started transfers are considered for execution; for H8H full address mode, restore completion behavior that clears DTCRA. This lets Brother LW-840ic and LW-700i firmware observe DMA completion instead of polling indefinitely [Leopold]. - h8_timer8_channel: If an IRQ is pending when you enable it, fire the IRQ. tg100 demo playback needs this [R. Belmont]. - hd44780: Fix char size selection in 2-line mode (#15458) [Devin Acker]. - hd63450: Advance BAR after each array-chain entry fetch. Fixes x37 SASI disk mounting [Curt Coder]. - hi08: Forward DSP HTX writes to the host (#15369): htx_w only logged the outgoing word; it did not store it in m_htx or update m_isr. Host-side reads of HRX (offsets 5/6/7) therefore always returned zero and the host never saw ISR_RXDF asserted, so any 80C535 firmware polling HSR for a reply from the DSP after the bootstrap upload would spin forever; store the word the DSP placed on HTX into m_htx, raise ISR_RXDF (which in turn asserts host-side HRDF and clears DSP-side HTDE through hsr_r's view), and let the host's read of the trigger byte at offset 7 clear ISR_RXDF so the DSP can transmit the next word; with this in place virusb boots all the way to its interactive UI: the LCD shows the patch / parameter pages and the panel buttons drive the menu [Felipe Corrêa da Silva Sanches]. - i386: Fix copy paste error in fxsave [bachimusprime]. - i7000: Drive the screen from the MC6845 CRTC (#15419). Replace the placeholder tilemap renderer with an MC6845_UPDATE_ROW callback driven by the CRTC at ports 0x08/0x09, so the geometry and column count come from the CRTC registers the boot ROM programs. Also made some adjustments to the color palette so that it better matches photos of the real device [Felipe Corrêa da Silva Sanches]. - icm3216: Implemented the Z80 I/O processor and SCSI subsystem (#15531). Implemented the host<->IOP mailbox at 0xa000a0, the MiniBus main-memory bridge, the NCR5385 wiring with the DREQ-driven 74LS646 byte/word DMA path, the completion interrupt back to the NS32202, and the MM58274C real-time clock [David Rand]. - isa_ide: Convert to remap fn [Angelo Salese]. - kn5000_cpanel: Generally cleaned up code [Vas Crabb]. - las128e2: Changed description to 'Laser 128EX/2'. - las128ex: Fix C070 delay [arekkusu42]. - laser128: Improvements (#15384): Fix laserprn_busy_r() to handle Cnxx banking, fixes #15373; add EX 6.0 BIOS; fix machine date and name metadata; add notes on unemulated EX/2 features [arekkusu42]. - laser128o: Correct ROM labels [AJR]. - layer2: Latched pixels read between screen updates (#15437) [Andrei I. Holub]. - lb186: BugFIX#09479 [Media Support] (ampro/lb186.cpp) lb186: The system will not boot from floppy disks. Hook up disk control register and ID jumpers; patch ROM to work around timing issue preventing floppy boot [AJR]. - lha201: Make default INT and ROM address to be usable out-of-box [Angelo Salese]. - lw840: BugFIX#09456 [Graphics] (brother/lw840.cpp) lw840: The system does not appear to boot [Leopold]. - m68000: Update bftst to reluctant reads when fetching data from memory (#15365) [Brice Onken]. m68000.h: Use std::countr_zero [AJR]. Even more fixes for A/UX: The 68020+ bf* instructions all had a bug where they could trash the next byte in memory; fixed disassembly of PMOVE; consolidated handling of unimplemented coprocessor instructions [R. Belmont]. - mb87013: Changed description to 'Fujitsu MB87013 QDC'. Move out of roland dir; akai/x7000.cpp: Add mb87013, other small corrections (#15408): Move out of roland dir, add to s700 and x7000 [Devin Acker]. - mc68681: Assert TxRDY at the THR->shift transfer (#15613): GitHub PR #15564 cured a transmitter deadlock but asserted TxRDY (together with TxEMT) only in tra_complete's idle branch, i.e. at end-of-transmission. Per the SCN2681/MC68681 datasheet TxRDY is asserted at the THR->shift-register transfer, one full character time earlier, so firmware that pipelines on TxRDY (the Ensoniq VFX inter-board link and MIDI, e.g. sd132) saw the ready window a character time late and dropped bytes, tripping SYSTEM ERROR 144; assert TxRDY in the reload branch where the queued THR byte transfers into the shift register; the idle branch sets TxEMT only. This keeps #15564's deadlock cure (TxRDY still re-asserts whenever a byte is queued) while restoring the correct one-character buffering window; tested on sd132 (VFX) and pc532 System V (4x SCN2681 console). Fix transmitter deadlock in tra_complete (#15564): The transmit-complete handler chose the next transmitter state from the TxRDY status bit rather than from whether another byte was queued in the THR. On a race between a CPU THR write and the final bit-time of the byte being shifted out, two cases could permanently wedge the transmitter: Completion with TxRDY set and a byte buffered took the "else" path, set TxEMT, and dropped the buffered byte; completion with TxRDY clear and nothing buffered did nothing, leaving the transmitter idle with both TxRDY and TxEMT clear; in either case TxRDY never re-asserts and the transmit clock stays stopped, so a byte never drains and a polled transmitter spins forever waiting on TxRDY; decide from the queue instead: load a buffered byte if one is present, otherwise mark the transmitter idle by setting both TxRDY (THR empty) and TxEMT (shift register empty). This is a no-op on the normal path, where tra_callback has already set TxRDY by the time completion is reached [David Rand]. - minitel2: Implement sound output for DTMF tones and beeps (#14692): In the minitel2, sound is generated by a speaker connected to the TS7514 modem chip. A subset of its features are implemented in this commit: Mode selection, using MCBC and DTMF lines. Shift register for input control data, using the RTS (clock) and PRD (data) lines. Modem register RDTMF, to select what pair of frequencies to generate while in DTMF mode. Modem register RWLO, selecting what to play on the speaker. In particular, monitoring of the transmitted DTMF tones and beep generation have been implemented. Monitoring of TX/RX data tones and volume control has NOT been implemented. Modem register RPTF, selecting a filter on the transmitted frequencies. Only the filter on DTMF tones (to select only one of the two frequencies in the current pair) has been implemented. This subset of features is enough to play all the sounds generated by the "demov1" ROM and the original ROM (beep on invalid keypress, DTMF dialing tones). This commit also simplifies the pre-existing logic to generate a carrier-detect signal when the line control relay is closed [Fabio D'Urso]. - mk83: Changed manufacturer to 'ADE Elettronica'. - mos6566: Fixed non-expanded multicolor sprite collision detection. Fixes Space Taxi on c64 [Curt Coder]. - mpc106: Fixed a bunch of issues with RAM mapping which combined to make imac trash MAME's heap [R. Belmont]. - mpc60scsi: Remove clock from NCR5380 (IC doesn't have a clock input) [AJR]. - mvme327a: Un-default clock for FDC [AJR]. - ncr5380: Implement target mode (#15657): The target role (the file's standing TODO): in target mode the Target Command Register drives the phase lines and, outside DMA, REQ (SP-1051 6.4); Start DMA Send sends to the initiator and Start DMA Target Receive is implemented (6.8.1, 6.8.2); a new REQ/ACK-handshake state group moves the data. The Select Enable Register now latches and raises the selection/reselection interrupt on a bus ID match (6.6, 8.1), with a guard so a chip selecting outward never matches its own ID. All target paths are gated on MODE_TARGET, which no existing machine sets; initiator behavior is unchanged. First consumer: the ET532 SCSI coprocessor card (NS32532 board operating as a target on the pc532 532SC bus), including target-initiated reselection. Fix pseudo-DMA initiator stalls and self-reset IRQ (#15552): Three fixes for ncr5380-family controllers driven as CPU pseudo-DMA initiators, found during pc532 (DP8490) bring-up: state_step(): a DMA wait state polling for a REQ/phase change returned no delay, so state_timer() re-armed at zero, freezing emulated time so the target could never change the bus. Poll at the SCSI REQ/ACK period (100 ns) from those wait states instead. scsi_ctrl_changed(): a bus phase change ends the DMA transfer and must deassert DRQ. Leaving it asserted with phase-match clear hangs drivers that poll (DRQ && !PHASEMATCH) for end of transfer. icmd_w(): a bus reset the host commands itself via ICR /RST must not raise a self-interrupt. device_reset() already deasserts IRQ, and the nscsi bus does not reflect a device's own /RST back to it, so only an externally-initiated reset interrupts (via scsi_ctrl_changed()). Make ICR-issued SCSI reset interrupt chip-specific (#15571): A host-issued SCSI reset (writing the ICR ASSERT /RST bit) raises an interrupt on the base NCR5380/53C80: "SCSI reset RST is similar to a chip reset, but generates an interrupt", and the chip monitors /RST including the one it drives. The DP8490 EASI is the exception -- its ICR-issued reset performs the chip-reset actions, which "[do] not create an interrupt" (DP8490 datasheet 6.4 -> 6.2), unlike an externally applied reset (6.3), which does; gate the self-reset interrupt on the device type so the base 53C80 interrupts while the DP8490 does not [David Rand]. - ncr5385: Complete selection as soon as the target responds (#15513): scsi_ctrl_changed() only advanced the state machine on a target BSY when SEL was no longer asserted, which is the post-selection case. During selection the initiator still asserts SEL, so the target's BSY response fell through to a branch that only logged, and SEL_WAIT_BSY was not advanced until the full 250 ms selection timeout elapsed -- every selection took 250 ms; advance SEL_WAIT_BSY when the target asserts BSY while SEL is still asserted, so selection completes when the target responds. The timeout path is unaffected: a target that never responds still falls through to the SCSI_SEL_TIMEOUT deadline; found while bringing up the National Semiconductor ICM-3216, whose Z80 I/O processor polls the SCSI status register with a short timeout that the 250 ms per selection tripped. nec/pc8801.cpp: Move keyboard handling under own devices [Angelo Salese]: pc8001 uses a subset of pc8801, now input defs are common between the two; pc8001mk2sr uses same keyboard mapping as pc8801; preliminary handling of pc8801fh keys [David Rand]. - ns32082: Fix translated address composition, do not translate interrupt cycles (#15499): The final physical address used the level-1 PTE's MS bit where it must use the level-2 PTE's, corrupting bit 24 of every translation whose PTEs differ in MS; interrupt-acknowledge and end-of-interrupt bus cycles (ST 4-7) address the interrupt controller at a fixed physical address and are not translated; translating them faults inside interrupt entry the moment supervisor translation is enabled, since no operating system maps the ICU's hardwired address [David Rand]. - ns32202: Track level-triggered pending state, honor in-service priority on acknowledge (#15500): Level-triggered pending bits now continuously reflect the input lines: a bit clears when its line is no longer active, including when ELTG or TPL writes change a bit's effective sense. Software uses this to dismiss and re-arm latched interrupts by toggling a line between level and edge sensing; in fixed-priority (NTAR) mode, interrupt acknowledge no longer acknowledges a pending interrupt that an in-service interrupt of higher or equal priority blocks (an equal-priority in-service cascade remains acknowledgeable); a blocked acknowledge returns the spurious vector, as the hardware would never have asserted INT for it. The interrupt output is fully re-evaluated after every acknowledge instead of using an approximation that left it asserted while only blocked interrupts were pending [David Rand]. - nscsi_bus: Move the opt-in seek-timing model into nscsi_harddisk_device (#15448): The cylinder-aware seek-timing model added to the Xebec S1410 and proposed for the DTC-510 was identical between the two controllers. Hoist it into their common base, nscsi_harddisk_device, so it is written once and is available to any hard-disk controller built on it without subclassing; set_seek_timing(), the model state, the fitted-exponent math (seek_time()) and a generic scsi_data_command_delay() now live in the base, which applies the model to the SCSI READ/WRITE/SEEK opcodes in both their 6-byte and 10-byte forms. The base default remains attotime::zero unless a driver calls set_seek_timing(), so every existing nscsi_harddisk user is unchanged; the legacy flat 85 ms per-command delay deliberately stays in s1410 and dtc510 -- it is a per-controller quirk, not a property of all hard disks -- so those two controllers are byte-for-byte unchanged with no model set, and delegate to the base only on the model branch [David Rand]. - nscsi_sa1403d: Renamed (sa1403d) to (nscsi_sa1403d). - palette: Added a helper for 6-bit BGR palettes [cam900]. - pc532: Wire the AIC6250 pseudo-DMA; boot System V; mark working (#15607): Wire the AIC6250 SCSI controller's BREQ/BACK pseudo-DMA, mirroring the existing DP8490 path: a CPU-RDY-gated doubleword transfer through the 0x3800'0000 window, each byte acknowledged with back_w(1). Add the AIC6250 DMA window, hook breq_cb (resolving the prior drq TODO), and a 10 us quantum for the CPU<->DUART/ICU interleave. Add a dual-boot BIOS (AIC6250/System V + DP8490/NetBSD loader); with the disk path working the board boots System V Release 2.0 to login off the AIC6250 SCSI disk; mark the driver working; add the Culbertson Apr-1990 monitor and a SCSI tape (#15553): Add Bruce Culbertson's 27-Apr-1990 ROM monitor (direct-exception mode) as a third BIOS option; add an NSCSI tape on the DP8490 bus (slot 2), alongside the harddisk [David Rand]. - pc6601sr: Implement pc6001/pc6001mk2 fallback compatibilty mode [Angelo Salese]. - pc8001mk2sr: Add separate work RAM memory_view control from 0xe2 port; hookup GVRAM palette; basic port of GVRAM display from pc8801 [Angelo Salese]. - pc80s31k: Convert to set_irq_acknowledge_callback [Angelo Salese]. - pc8801_31: Changed description to 'NEC PC-8801-31 CD-ROM I/F'. Bulk replace SASI -> SCSI wording [Angelo Salese]. - pc88va_sgp: VD support. Implement CLS [Angelo Salese]. - pc98_sdip: Fix DSW1 and 2 legacy handling [Angelo Salese]. - pc9821: Identify unused gaiji part as SRAM in pc9821ap2: Gets rid of set the software dip at every boot after the first. Reduces number of manual setups for .hdi boots out of being mostly in 256 bps format:BREAKING CHANGE: This also makes pc9821ap2 default to 5 MHz GDC, for most uses it's advised to change that to 2.5 MHz in setup menu [Angelo Salese]. - pc9821ap2: BugFIX#09345 [Misc.] (nec/pc9821.cpp) pc9821ap2 [Flame Zapper Kotsujin]: Fails to start with an allocation error [Angelo Salese]. - pic8259: Don't clear interrupt requests when ICW1 is rewritten in level active mode and lines are active. Fixes wangpc boot [AJR]. - plan80: Changed description to 'Plan 80A'. - prisma: Add Go button enable bit [hap]. - psionwamx: Added configuration EEPROM [Nigel Barnes]. - qx10: Add extra wait state to m1 cycles (#15380) [Brian Johnson]. - s1410: Add an optional cylinder-aware seek-timing model (#15411): Mirrors the dtc510 approach: introduces an opt-in set_seek_timing(track_us, average_us, full_us, rpm, interleave) API that replaces the device's legacy flat 85 ms per-command delay with a power-law model fitted to the published track-to-track, average, and full-stroke seek times. No call from a driver -> behavior is unchanged for the existing s1410 users (victor9k, mikromik, x37_sasi, db4105, idpartner_sasi). The model state lives on the device: m_seek_model: Enable flag (false until set_seek_timing() is called). m_last_cylinder: Head position so subsequent same-cylinder I/O is billed at rotational latency only, not a fresh average seek. m_interleave / m_rpm / m_seek_track_us / m_seek_range_us / m_seek_exp: the fitted curve parameters. scsi_data_command_delay() then: Same-cylinder I/O (dist == 0): rev_us * interleave / spt; Cylinder change: rev_us/2 (avg rotational latency) + track_us + range_us * (dist / ncyl)^exp. The exponent is solved from the three calibration points so an average-length seek (~1/3 stroke) costs exactly average_us. For the ST-506/ST-412 (track 3 ms, average 85 ms, full-stroke 205 ms per the April 1982 ST412 OEM manual) that gives exp ~= 0.82, which captures the controller's "burst mode" multi-cylinder behavior -- faster than naive 3 ms/cyl stepping for long seeks while still cheap on short ones. The header documents the API with ST-506 and ST-412 invocations side by side. Both drives use identical set_seek_timing() parameters because the controller's burst mode adapts to the CHD's reported cylinder count via image->get_info().cylinders -- the 5 MB ST-506 (153 cyl) and the 10 MB ST-412 (306 cyl) are distinguished only by the physical media size, not by the timing call [David Rand]. - saturn_cd_hle: Extend mirror ranges of registers [Angelo Salese]. - sb16: Concile with the new CT1741 DSP core. Convert CT1741 from ISA variant as standalone device [Angelo Salese]. - sb16_ct2720: Hookup joy port [Angelo Salese]. - scsi_pc8801_30: Changed description to 'SCSI NEC PC-8801-30 CD-ROM'. - scsipdma: Fixes to cooperate with A/UX's disk driver [Plamen]. - scsp: Added serial interface, hooked up MIDI input/output (#15583) [Matthew Daniels]. - segapm: Add enough 32X glue logic to make it boot [Angelo Salese]. - segaptdx: Changed description to 'Mocchiri Pet Mocchimaruzu DX (190313A P)'. - sh2_7604: DIVU OVF/OVFIE are full r/w flags; fix MT09485 [Angelo Salese]. - sh7709s: Add support for cache invalidation and entry writeback (#15144): Map the cache address array to handle cache line flushing as well as writes to CCR that cause a cache invalidatation; fixes the sdram region check as only area 3 is mapped to SDRAM on cv1k; add basic uncached access handling as the instructions that execute to invalidate/flush cache lines have to be from an uncached region. cpu/sh/sh7709s.cpp: Uncached access enablement and code cleanup: Enable uncached accesses and fixup missing case for uncached penalty; add notes about cv1k slowdown; address some review comments, moved register timing functions to member functions and moved some #define's to private static constexpr instead; added some TODO's that need to be fixed and some timings that need verification [Jesus Ramos]. - sixtrak: Improved accuracy (#15700): Corrected the range of the pitch wheel; added VCF capacitor jitter. Corrected the range of VCO capacitor jitter; increased the overall audio volume; added some key bindings to make it possible to play chords with the computer keyboard; updated the NVRAM, since change first two changes require a tuning and pitch wheel centering; added a warning in the layout if outdated NVRAM content is detected. Removed no-longer-used LOG_CV [m1macrophage]. - specnext_copper: NOP uses ula coordinates for base offset (#15388). Added disassembler (#15403) [Andrei I. Holub]. - specnext_dma: Forced Search mode to Transfer instead (#15528). Added undocumented logging [Andrei I. Holub]. - spectred: Emulate unique keyboard based on 8035 MCU. Restructure ROM loading so various Applesoft BASIC statements are interpreted correctly [AJR]. - sprinter: Fixed VRAM write mirroring (#15389) [Andrei I. Holub]. - sprites: Fixed memory corruption (#15509) [Andrei I. Holub]. - st7735: Fixed line drawing loop start, allocate frame buffer on start [Vas Crabb]. - swp30: Saturate AWM2 interpolation output to prevent wrap clicks (#15505): The 4-tap cubic interpolation result in streaming_block::step() was stored straight into an s16. Cubic interpolation overshoots the input range near peaks, so when source samples approach full scale the value exceeds the s16 range and the store wraps (+32767 -> -32768) -- a one-sample sign inversion that is audible as a click on loud notes (e.g. bright sustained strings), while quiet notes are unaffected; accumulate in s32 and saturate to the s16 range. Hardware saturates, so this also matches the real device [Charles Vestal]. - tim011: Add HFE floppy format [AJR]. - tk3000: Don't use A2E swlist on W65C02 machines [arekkusu42]. - tms34010: Attempted to fix setcd for the case with two bits set. It was definitely wrong before - the mask to clear the first bit was calculated incorrectly [Vas Crabb]. - triplex: Added working keyboard with MCU [Nigel Barnes]. - tutor: Fix array oob access [hap]. - upd3301: Reset status on set interrupt mask ME low. Fix pc8801:laptick garbage text layer display [Angelo Salese]. - upd71071: Changed description to 'NEC uPD71071 DMAC'. Refactor based on v5x_dmau_device (#15512) [Devin Acker]. - upd765a: Fix default DRQ behavior during write/scan (#15543). Standard uPD765-style FDCs should default to generating one DRQ per byte for write/scan commands rather than behaving like they have the 82072-style FIFO [Devin Acker]. Don't set side bit in st0 before a seek. Fix formatting. Make sure ST0 side bit it set to the last side actually accessed [cracyc]. - upd765b: Fix default DRQ behavior during write/scan (#15543). Standard uPD765-style FDCs should default to generating one DRQ per byte for write/scan commands rather than behaving like they have the 82072-style FIFO [Devin Acker]. Don't set side bit in st0 before a seek. Fix formatting. Make sure ST0 side bit it set to the last side actually accessed [cracyc]. - upd7810: Rework HLT instruction behavior (#15702) [Devin Acker]. - va_lpf4: Removed no-longer-needed "streamess" mode (#15647) [m1macrophage]. - vgmplay: Fix OKI clock regression [hap]. - wangpc: BugFIX#09478 [Media Support] (wang/wangpc.cpp) wangpc: The system will not boot from floppy disks [AJR]. - wd1010: Disable verbose logging by default (#15431) [David Rand]. - x168: Changed description to 'Xerox 16/8 (8" floppy)'. - x37: Fix SASI disk ID and interrupt polarity. Fix floppy/SASI DMA corruption [Curt Coder]. - x820ii: Changed description to 'Xerox 820-II (8" floppy)'. - yuleyuan: Map more ROM to pass a checksum test [AJR]. - z80: cpu/z80/z80.cpp: Prioritized non maskable interrupt over maskable in case of race (#15434). Fixed minor hw discrepancy (#15478) [Andrei I. Holub]. - z80dma: Fixed few missing save states (#15558) [Andrei I. Holub]. - z80n: Fixed NMI handling (RAMS' frogger works now) (#15477) [Andrei I. Holub]. - z80sio: Fix Rx interrupt logic (#15394) [F. Ulivi]. - a7800.cpp: (a7800.xml) Be consistent with other software lists for "Mazy 2" [Vas Crabb]. - agat.cpp: Experimental write support for 840KB floppies (#15362) [shattered]. - apple2.cpp: (apple2_rom.xml) Correct release year for Programmer's Aid #1 [AJR]. - apple2e.cpp: General cleanup: Don't use magic numbers from ROM locations to determine system type; set up system type flags during machine configuration; use ROM_RELOAD to eliminate duplicate file names and hashes within sets. Use downcast for better diagnostics in debug builds [Vas Crabb]. Add optional shift key mod for models that support it (permanently enabled for apple2ep, as before). Initialize variable [AJR]. - apple2gs.cpp: Implement CPSFollow. Improve Zip Chip emulation: Implement Ctrl-Reset interaction; improve annunciator side-effects; fix unlocking to be pedantically correct; implement C05B LC bit [arekkusu42]. - aussiebyte.cpp: Consolidate driver in single file [AJR]. - avigo.cpp: Consolidate driver in single file [AJR]. - b2m.cpp: Consolidate each driver in single file [AJR]. - boss_se70.cpp: Add RAM [AJR]. - c64.cpp: BugFIX08584 [Media Support] (commodore/c64.cpp) c64 all versions: Formatting floppy disks is very slow [Curt Coder]. (c64_cass.xml) Move game collections as separate category, perform some QA on them. Bulk replace BraveStarr SW item titles; promote skylinea; note claimed to press CBM but game prompts to press RUN STOP instead [Angelo Salese]. Improved keyboard mapping. Emulated the Action Replay cartridge (v4.1 and up). Fix performance drop while formatting a diskette. Fixes MT 08584 [Curt Coder]. (c64_cass.xml) Clarify a bunch of notes. (c64_flop_orig.xml) bbsb and spoker requires floppy to be write protected to work [Angelo Salese]. - compis.cpp: (compis.xml) Demoted various items due to undumped keys or being listed as not working [Vas Crabb]. (compis.xml) Add 36 new dumps (#15717) [Rebecca Wallander]. - comx35.cpp: Consolidate driver in single file [AJR]. - elzet80.cpp: Make the screen work (#15549): Boot rom, PIO and DART; gfxdecode chargen ROM; display works; serial ports; INT; update video xtal; add printer and floppy pio [stonedDiscord]. - esq5505.cpp: Cleanup Ensoniq VFX family layout loading. (#15469): Since the recent output_finder changes, output names are now resolved relative to the device that creates them. When the layouts aer loaded by the esqpanel device, but the outputs created by the esqvfd device contained within it, then for the layout to find the outputs it must use a qualified name - "vfd:vfd~n~"; if we have to use qualified names for some things, we might as well use them throughout the keyboard-specific layouts (vfx, vfxsd, sd1, sd132); this allows us to move the loading of the layouts from the esqpanel device (from which ioports can be resolved without a qualified name) to the `esq5505` class's method that configure each keyboard - since the qualified names allow us to find not only outputs for use by the esqvfd device, but also io ports that are on the esqpanel device; this in turn allows us to get rid of passing a "panel type" in to the esqpanel device so that it would load the correct layout; all in all a lot simpler; code updated, and layouts regenerated accordingly [Christian Brunschen]. - evolution_handheld.cpp: Copy ROM to RAM at reset time for SNC7001A and SNC7648S; demystify the boot mirroring; do some DMA; map more ROM to prevent tomyspt and hoppech from running off the rails; nominally distinguish CPU types; note ROM signatures in comments [AJR]. - fc100.cpp: Cleanups: Convert chargen area to a memory view; move cart hookup in memory map; fix game driver type (is a COMPuter not a CONSole) [Angelo Salese]. - generalplus_gpl16250_mobigo.cpp: Some Mobigo changes (moved Mobigo 2 to it's own driver, added a missing boot ROM, added a French MobiGo 1 set) (#15684): Added missing SPI ROM to mobigo2 set, this appears to be the boot ROM which explains why the NAND had no GPnandnand header; identified that (at least some) Mobigo 1 units have an SPI ROM too, but it isn't used for booting, but instead either user content, or built in games;mMoved mobigo2 to it's own file due to the differences in hardware setup compared to the original mobigo; moved a few things out of generalplus_gpl16250_spi.cpp that do not actually appear to be gpl16250 after further research on them [David Haywood]. - generalplus_gpl951xx.cpp: Removed (punij1pk) 'Takara Tomy Punirunes (PUNIRUNZU_MAIN_DICE_V1, pink, Japan)' systemFactory reset some sets, remove one that is a duplicate after factory resetting [David Haywood]. - gridcomp.cpp: Replaced driver of bubble memory subsystem with i7110 (#15395) [F. Ulivi]. - iq151.cpp: Added CSW format and better support for real tapes [Miodrag Milanović]. - kaypro.cpp: Emulate the WD1002-HD0 hard disk controller on the Kaypro 10 (#15430) [David Rand]. - kn5000.cpp: Generally cleaned up code [Vas Crabb]. - leappad.cpp: (leapfrog_leappad_cart.xml) More consistent transliteration of Japanese dates [Vas Crabb]. - m5.cpp: Added a side effects check. (m5_cass.xml) Restored WAV dumps of Solar System Forces tapes. The proper raw recordings from Ola Andersson were replaced with cooked dumps with no explanation. If they work now, they can be promoted again, but I haven't tested them. If raw tapes don't work, that needs to actually be fixed [Vas Crabb]. - macii.cpp: Fixes to make A/UX work on IIx, IIcx, IIci, IIsi, and SE/30: Hook up the SCSI IRQ; map the pseudo-DMA to its entire range; move the default HDD to SCSI ID 0, which matches reality and what A/UX hardcodes [Plamen, R. Belmont]. - macpdm.cpp: Side effects check, formatting [Vas Crabb]. Allow AMIC to be properly detected and use zeroed PRAM when no save exists (Github #14191). This allows pmac6100 to be identified when returning hardware-accurate values, and fixes issues stemming from our Cuda default PRAM being acceptable for 68k but poisoning PowerMacs. Will recheck late-period 68k machines to see if they're better this way as well. Further RAM mapping improvements. Fixes random instability, including 8.1 hanging at Finder and 8.5 not booting. Improve RAM mapping, sizes up to 136MiB now work [R. Belmont]. - macpwrbk030.cpp: Correct asc device type in memory maps [hap]. - macquadra605.cpp: Changed default RAM size for maclc575 to a power of 2, also changed lc475 and lc575 to LC040 which is more correct (MAMETesters #9455) [R. Belmont]. - mikro80.cpp: Consolidate each driver in single file [AJR]. - minitel_2_rpic.cpp: Eliminate M_PI. Eliminate remaining uses of M_PI [AJR]. - mpc2000.cpp: Suppress side effects for debugger reads; don't pretend switch matrix is a multiplexer [Vas Crabb]. - mpc3000.cpp: mpc3000.cpp, skeleton/softbox.cpp: Suppress side effects for debugger reads; don't pretend switch matrix is a multiplexer [Vas Crabb]. - mpc60.cpp: Suppress side effects for debugger reads; don't pretend switch matrix is a multiplexer [Vas Crabb]. - neogeo.cpp: Merged neogeo project with snk project [Vas Crabb]. - nes_vt369_vtunknown.cpp: Add 36-in-1 Classic Games phone case (#15438): Add ROM definitions for the verified external, internal and serial dumps for the 36-in-1 Classic Games phone case. Support the split GPIO/protection exchanges used by this VT3xx-derived hardware, and add the LCDC/tilemap and DMA behaviour needed for the language selector, game menu and selected games to boot. video/ppu2c0x_vt.cpp: Restrict VT369 64-byte name rows. Use VT369 background base for name row mode. Fix VT369 name row mode regression. nintendo/nes_vt_soc.cpp: Gate VT03 timer logging [Roman Kuraev]. - news_68k.cpp: Updated NWU-671CA tape names and comments (#15465). Implement NWS-1250 driver (#15364). Fix typo in nws12x0 DIP switch defaults (#15409). Add NWU-671CA (NWF-671C) install tapes for NEWS-OS 4.1C [Bitsavers] (#15410) [Brice Onken]. - oric.cpp: (oric1_cass.xml) Added 13 working items + 10 not working + 1 redumped (#15300) [ArcadeShadow]. - pc6001.cpp: 31 new dumps (#15645). Add screen set_raw, hookup 5.25 floppies for mkIISR machines. Fix kanji handling in pc6001mk2sr/pc6601sr. Fix pc6001 crashes with some SWs. Fix pc6001mk2sr/pc6601sr boot regression. Hookup bus request, remove one level of indirection in rom loadings. Hookup pc6001mk2sr_flop SW list. Hookup tape play, stop and baud select commands. Implement 16K RAM option for pc6001. Implement pc6001mk2sr/pc6601sr text mode CLUT. Kick off pc6001mk2_flop and pc6001mk2sr_cass SW lists hash/pc6001_cass.xml: remove "power", part of the AX-6 set as Powered Knight hash/pc6001_cass.xml: remove "block", part of the AX-1 set as Break Out L hash/pc6001mk2_cass.xml: mark castleex as bad dump. Move CGSW view handling in base pc6001 under PPI port C handling. Fix tutankhm and turpin text display. Narrow bus request to 256x192 when in VDG mode. Use a snapshot image for cas and p6 handling. 52 new dumps (#15704). Rename and identify (amita) as (amidamu). Remove headon, part of AX-6 set. Move sharrier and txevious2 to pc6001mk2_cass.xml. (pc6001mk2_cass.xml) Demote castleex. (pc6001mk2_flop.xml) Mark all SWs as not supported. (pc6001mk2sr_flop.xml) Mark all SWs as not supported. Fix validation. Modernize banks for pc6001mk2 (#15689). Use a ram_device in place of differing work RAM uses; hookup cart for pc6001mk2. Move keyboard in own device (#15681): Implement tape break behaviour; implement kana keys [Angelo Salese]. - pc8001.cpp: Fix clang error: 'ram_w' is a protected member of 'pc8001_state' [AJR]. Backport video from mk2SR to mk2. Convert loose membanks into memory_view. Fix snapshot regression. Hookup ALU memory_view for mk2sr. Hookup expansion slot. Hookup GVRAM for mk2/mk2sr. Implement 320x200 2 plane mode for pc8001mk2sr. Implement PR2 video priority swap and flush ALU register on port 33 writes for pc8001mk2sr. Make pc8001mk2sr N80SR BASIC bootable. Move PICU handling from pc8801.p c8001mk2 implement 2bpp video mode and PR1. (pc8001mk2sr_flop.xml) Move pack1,pack2 and pack3 from pc8801_flop.xml, split pc8001mk as clones of them. Move mappya from pc8801_flop.xml. (pc8801_flop.xml) Bulk replace part name disk into flop1. Identify some sets actually belonging to pc8001/mk2/mk2sr. Mount mouse as default in batlskin. Update QA Koei redbook edition [Angelo Salese]. - pc8401a.cpp: Convert to set_irq_acknowledge_callback [Angelo Salese] - pc8801.cpp: Dump pc8801ma actual BIOS; hookup setup mode overlay at startup [cybermind]. Dump pc8801mc actual BIOS [Ford Seidel, Coolfox]. Kick off a pc8801_flop_orig SW list. Move ALU hookup in a device, share with pc8001mk2sr. Remove V2 options for pc8801/pc8801mk2. Translate area 8000-83ff as memory_view; also lift MACHINE_IMPERFECT_GRAPHICS flag for all systems but vanilla PC-8801. Convert mem_r/_w in lambda memory map: First step in modernizing memory map(s), necessary for waitstates; accessing ALU doesn't automatically change to work RAM bank in GVRAM. Add SDIP device, makes setup mode to be functional: Currently for pc8801ma only; marked the other FH+ machines with setup.bin NO_DUMP placeholder [Angelo Salese]. Template draw_bitmap on plot function type to avoid std::function construction [Vas Crabb]. - pc88va.cpp: Hookup HALT to HREQ signal. Hack CPU clock to double speed. Hookup MEMSW variant. Implement DAC1BIT. shanghai clicks when selecting tiles. Tentatively hookup RAM at 512KB~640KB mark; fix hatisora crash after stage 1. (pc88va.xml) Fix illcity floppy boot order. Update QA, promote some sets [Angelo Salese]. (pc88va_flop_orig.xml) Use 8 bytes for CRC32 (#15470) [Thomas Klausner]. - pc9801.cpp: (pc98.xml) Fix validation. Overhaul dip switch settings. Fix bug with dedicated C-Bus PC-9801-03 overlay reads [Angelo Salese]. - pc9821.cpp: Remove SB16 left-over lambda [Angelo Salese]. - pc98ha.cpp: Hookup HALT to HREQ signal. Hack CPU clock to double speed. Hookup MEMSW variant. Implement DAC1BIT. shanghai clicks when selecting tiles. Tentatively hookup RAM at 512KB~640KB mark; fix hatisora crash after stage 1 [Angelo Salese]. - pippin.cpp: Now plays the startup sound and gets into the boot search code [R. Belmont]. - plan80.cpp: Driver overhaul: Correct keyboard, filling in missing key names; use 8255 device for keyboard strobe output and modernize keyboard scanning; add XTAL-based timing parameters for CPU and screen [AJR]. - prophet5.cpp: Implemented bandlimited oscillator sync (#15427). Minor comment fixes [m1macrophage]. - psion5mx.cpp: Amplifier does not disable buzzer output [Nigel Barnes]. - ql.cpp: Sinclair QL Microdrive working (#15646): Read, Write and Format are working with Minerva and JS ROMs at least; works with QLAY microdrive images; no influence on IF1 Sinclair Interface, which is only stubbed; started as a continuation of previous work but then changed the internal representation to allow format/write; also did some cleaning/upgrade to the driver (but did not touch the serial communication and clock parts of the zx8302) [Sylvain Glaize]. - saturn.cpp: (sat_cart.xml) Demote ar to supported=no, test1f to supported=partial [Angelo Salese]. - sega_beena.cpp: (sega_beena_cart.xml) Add 4 software list items (#15240) [QUFB]. - segapico.cpp: Write to upd MD together with reset [hap]. - senterprise.cpp: Move LCD hardware to its own device [hap]. - sm7238.cpp: Tidied code (#15451). Grouped related things, marked infrequently called member functions cold [shattered]. - softbox.cpp: Suppress side effects for debugger reads [Vas Crabb]. - specnext.cpp: Added support of *.nex snapshot format (#15634). Fixed AY selection (#15503). Fixed io ports 0x153b, 0x163b reads (#15677). Fixed regressing in specnext (#15640). Partially reverting 2c61e52f4dc2cd54e19b569608c965abcfb9c803. Fixed regs 0xb0, 0xb1 read and 0x0a write (#15471). Handled BRAM RO case (#15524). Implemented DMA delay (allows to stop DMA in Continious mode for ISR) (#15378). Rearranged IO mapping to proritize proper port selection in case of decoring 'conflict' (#15502). Fixed few missing save states (#15558). Attempt to fix edge rendering cases (#15376). Fix border [Andrei I. Holub]. Got rid of some read trampolines in address map [Vas Crabb]. - spectrum.cpp: (spectrum_cass.xml) Bulk replace BraveStarr SW item titles [Angelo Salese]; added 3 working items (#15728) [ArcadeShadow]. - spg2xx_smarttv.cpp: (smarttv_cart.xml) Disney/Pixar Cars 2 (Italy). Redumped smarttv_cart enlunait [TeamEurope]. - tek440x.cpp: Added the X2210 NVRAM for Ethernet (#15517). Rename region for bootrom to "bootrom" (#15534) [Adam Billyard]. - tvdear.cpp: (tvdear.xml) Add 4 software list items (#15240) [QUFB]. - vector06.cpp: Consolidate each driver in single file [AJR]. - workabout.cpp: Corrected the ESC key mapping for Workabout mx [Nigel Barnes]. - xerox820.cpp: Moved ROM load macros out of macros [Vas Crabb]. 820-II disk personalities, SASI rigid disks, and the 16/8 8086 coprocessor (#15485). Replace bad u35 dump in the 820-II v5.0 v018 BIOS (#15467). Fixed the 820-II standard-keyboard default (#15710): The standard-keyboard 820-II machines (x820ii, x820ii5, x820iis) defaulted to the v5.0 "RX" monitor, whose firmware decodes keyboard input through the u36 position->char table for the low-profile keyboard and does not work with the standard ASCII keyboard. They now default to v4.01, the latest firmware that drives the standard keyboard directly; x820iilp needs its own ROM_START so it can keep v5.0 for its low-profile keyboard (it cannot share x820ii once that defaults to v4.01); the 16/8 family already defaults to v5.0. Restored card-interface device_finder instantiations (#15641): The copro and disk-daughterboard card device types are exposed through their abstract interfaces via DEFINE_DEVICE_TYPE_PRIVATE, which does not instantiate the device_finder templates. Without an explicit instantiation, a required_device/optional_device of device_xerox820_copro_card_interface or device_xerox820_dbslot_card_interface fails with an undefined symbol at link time, so instantiate them in each interface's source file; also define the identical x820ii5/x820iis/x820iilp ROM sets in terms of x820ii's rather than repeating the shared content macro. Mark bigboard5 as working (#15725): The Big Board 5.25" variant boots CP/M from the Xerox 820 software list (the machine already inherits flop_list from xerox820()). Verified with the "cpm" entry (130s22100ds_cpmrev3.imd, 40/18/128 FM): the ROM monitor B command loads CP/M, DIR reads the directory, and a Ctrl-C warm boot reloads the CCP and returns to the prompt; no 5.25" media was previously present in the tree to exercise it, which is likely why the flag was never revisited [David Rand]. - zorba.cpp: Set raw screen parameters. This gives the correct resolution. The actual horizontal total should be 910, as it switches to 9 clocks per character during horizontal blanking, but I don't think our 8275 CRTC device can deal with that [Vas Crabb]. - Removed (gpac800), (gpac800spi), (opus108pm) and (sonix16) devices and (punij1pk) system. - Renamed (esqpanel240) to (esqpanel240_esq1) and (gcm394) to (gpl16250va) devices; (sonicwtc) to (atw_soni) system. - David Haywood added bk139in1.cpp, generalplus_gpl16250_mobigo2.cpp, mylife.cpp and s1000.cpp drivers. - hap added chess3008.cpp and ssapphire.cpp drivers. - Devin Acker added ctrc1.cpp, galpro.cpp, s900.cpp and x7000.cpp drivers. - AJR added dpsd7.cpp driver. - David Rand added et532.cpp driver. - Dirk Best added genie3.cpp driver. - Angelo Salese added i430lx.cpp driver. - ArcLight22 added s8k.cpp driver. - Dave Rand added s97801.cpp, sb80.cpp and t250.cpp drivers. - Nigel Barnes added we816.cpp driver. - AJR added 'Atari VCS 2600 ROM Carts w/F0 bankswitch', 'Elan eMG2000A TV Game Processor', 'Epson S1C33E07', 'Epson S1C33L17', 'Epson S1C33L27', 'Franklin ACE 80 CPU Card', 'Sonix SNC7001A', 'Sonix SNC7648S', 'Sonix SNL320', 'Sonix SNT110', 'Spectrum ED keyboard' and 'unknown Apple II clone keyboard with AUTO' devices. - AJR and David Rand added 'Big Board II SASI host adapter' device. - Angelo Salese added '"3.5"" single-sided single density floppy drive', 'Creative Labs CT1741 SB16 DSP Sound Unit', 'Intel 82378ZB System I/O (SIO)', 'Intel 82434NX PCI, Cache and Memory Controller (PCMC)', 'MSX Game Arts Dual Joyport Adapter', 'NEC PC-6001 Keyboard', 'NEC PC-8*01 mkIISR ALU', 'NEC PC-8001 Keyboard', 'NEC PC-88 SDIP device (93C06 serial EEPROM)', 'NEC PC-8801 Keyboard', 'NEC PC-8801FH Keyboard', 'NEC PC-8801MC Memory Switch device', 'NEC PC-88VA Keyboard', 'NEC PC-88VA Memory Switch device' and 'NEC PC-9801-03 CMT cassette interface card' devices. - ArcLight22 added 'S8000 ECC Controller', 'S8000 Parity Memory', 'Sega PCM (Discrete logic)', 'Storage Module Device Controller', 'System 8000 CPU-A 1.0', 'System 8000 CPU-A', 'System 8000 HPCPU', 'ZBI bus', 'ZBI bus slot' and 'Zilog Z8010 MMU' devices. - BlueRain-debug added 'NEC PC-9801-96 Window Accelerator Board' device. - Brice Onken added 'SCSI tape NEWS' and 'Sony NEWS Laptop LCD Subsystem' devices. - cracyc added 'NEC uPD72066 FDC', 'NEC uPD7265 FDC', 'SMC FDC9266 FDC', 'Western Digital WD1002-05 Winchester/Floppy Disk Controller', 'Western Digital WD1002-HD0 Winchester Disk Controller', 'Western Digital WD37C65 FDC' and 'Western Digital WD37C65B FDC' devices. - Curt Coder added 'C64 Action Replay' device. - David Haywood added 'GeneralPlus GPL16218B / GPAC500B System-on-a-Chip', 'GeneralPlus GPL16220A System-on-a-Chip', 'GeneralPlus GPL16230A System-on-a-Chip', 'GeneralPlus GPL16238B System-on-a-Chip', 'GeneralPlus GPL16240VA System-on-a-Chip', 'GeneralPlus GPL16248VB System-on-a-Chip', 'GeneralPlus GPL16258VB System-on-a-Chip', 'GeneralPlus GPR27P512A', 'Hynix HY27UF084G2M', 'Sandisk 128Mbyte NAND (512+16 block size)' and 'Sandisk 256Mbyte NAND (512+16 block size)' devices. - David Rand added 'Auto-baud ADM-3A Terminal', 'Definicon DSI-32 coprocessor', 'ET532 board', 'ET532 SCSI coprocessor card', 'Opus Systems PM-100 coprocessor (NS32016)', 'Opus Systems PM-110 coprocessor (NS32032)', 'PD32 coprocessor (Rand/Scolaro)', 'Siemens 97801 Keyboard (International V1)', 'Siemens 97801 Terminal (RS-232)', 'Siemens 97801 Terminal', 'Toshiba T-200/T-250 CCM (Comms Control Module)', 'Toshiba T-200/T-250 SASI host adapter', 'Xerox 16/8 8086 coprocessor board', 'Xerox 16/8 EM-II, floppy only (8086 + WD1002-05)', 'Xerox 16/8 EM-II, rigid+floppy (8086 + WD1002-05)', '"Xerox 16/8 RX024 5.25"" floppy box', 'Xerox 820-II coprocessor slot', 'Xerox 820-II disk daughterboard slot', '"Xerox 820-II FD1797 floppy controller (5.25"")', '"Xerox 820-II FD1797 floppy controller (8"")', 'Xerox 820-II Keyboard', '"Xerox 820-II SASI host adapter (8"" + ST-506)', 'Xerox 820-II SASI host adapter' and 'Xerox Low Profile Keyboard' devices. - Devin Acker added '12-bit signed ADC', 'Akai L6009' and 'AM2504 ADC' devices. - Dirk Best added 'Promise EIDEMAX' device. - hap added 'Newcrest CXG Chess 3008 LCD' device. - holub added 'Spectrum Next Video Test Pattern' device. - m1macrophage added 'Generic computation' and 'Virtual Analog Oscillator' devices. - Patrick Mackinlay added 'National Semiconductor NS32CG16' device. - R. Belmont added 'AMD 29LV160DT Flash', 'Apple Athens Prime', 'Apple Taos video', 'H8/500 16-bit free-running timer channel', 'H8/500 interrupt controller', 'H8/520 interrupt controller', 'H8/532 interrupt controller' and 'H8/534 interrupt controller' devices. - ArcLight22 added 'Zilog System 8000 Model 20/30', 'Zilog System 8000 Series Two' and 'Zilog System 8000' systems. - David Rand added 'Colonial Data Services SB-80', '"Digital Research Computers Big Board (5.25"" drives)', 'George Scolaro ET532 (NS32532 + Ethernet)', 'Toshiba T-200', 'Toshiba T-250', '"Xerox Xerox 16/8 (5.25"" floppy)', 'Xerox Xerox 16/8 (Expansion Module II)', 'Xerox Xerox 16/8 (SASI hard disk)', '"Xerox Xerox 820-II (5.25"" floppy)', 'Xerox Xerox 820-II (low profile keyboard)' and 'Xerox Xerox 820-II (SASI hard disk)' systems. - David Rand and Plamen Mihaylov added 'Siemens 97801 (terminal)' system. - DBWBP added 'Sony DPS-D7 Digital Delay Unit' system. - DBWBP and Devin Acker added 'Akai S612 MIDI Digital Sampler', 'Akai S700 MIDI Digital Sampler', 'Akai S900 MIDI Digital Sampler', 'Akai S950 MIDI Digital Sampler (with SCSI)' and 'Akai S950 MIDI Digital Sampler' systems. - DBWBP and Fetaldreamcore and Devin Acker added 'Akai X7000 Sampling Keyboard' system. - Devin Acker added 'R&D Co., Ltd. GALPRO' system. - Devin Acker and =CO=Windler added 'Casio Casiotone RC-1' system. - Dirk Best and oldcomputers-ddns.org added 'EACA Genie III (Germany)' system. - Enrico added 'ADE Elettronica MK-84' system. - hap and Berger added 'Newcrest Technology / CXG Systems / LogiSoft Chess 3008' system. - hap and Berger and Chessguru added 'Perfect Technology / Intelligent Heuristic Programming Star Sapphire' system. - hap and Jason T. Jacques and Decle and Michael A. Wessel added 'Busch Microtronic 2090' system. - Nigel Barnes added 'Psion Psion 618C' system. - Nigel Barnes and Dan Werner added 'Dan Werner WE816' system. - repa4ok added 'Psion Series 3c (German)' system. - Robin Whittle and Devin Acker added 'Akai S1000 MIDI Stereo Digital Sampler', 'Akai S1000PB MIDI Stereo Digital Sampler' and 'Akai S1100 MIDI Stereo Digital Sampler' systems. - TeamEurope added 'Accutime Kids Smart Watch: Barbie (Accutime, BAB4064PH)', 'Accutime Kids Smart Watch: Batman (Accutime, BAT4732PH)', 'Accutime Kids Smart Watch: Disney Princess (Accutime, PN425?)', 'Accutime Kids Smart Watch: Encanto (Accutime, ENC4000)', 'Accutime Kids Smart Watch: Frozen (Accutime, FZN4151PH)', 'Accutime Kids Smart Watch: Frozen (Accutime, FZN4587)', 'Accutime Kids Smart Watch: Gabby', 'Accutime Kids Smart Watch: Harry Potter (Accutime, HP4107PH)', 'Accutime Kids Smart Watch: Jurassic World (Accutime, JRW4041)', 'Accutime Kids Smart Watch: L.O.L. Surprise (Accutime, LOL4264PH)', 'Accutime Kids Smart Watch: L.O.L. Surprise (Accutime, LOL4588TK)', 'Accutime Kids Smart Watch: Lilo & Stitch (Accutime, LS4027PH)', 'Accutime Kids Smart Watch: Marvel Avengers (Accutime, AVG4597)', 'Accutime Kids Smart Watch: Marvel Avengers (Accutime, AVG4597PH)', 'Accutime Kids Smart Watch: Marvel Avengers Black Panther (Accutime, AVG4608PH)', 'Accutime Kids Smart Watch: Minecraft (Accutime, MIN4045)', 'Accutime Kids Smart Watch: Paw Patrol (Accutime, PAW4275PH)', 'Accutime Kids Smart Watch: Peppa Pig (Accutime, PPG4086PH)', 'Accutime Kids Smart Watch: Pokemon (Accutime, POK4231PH)', 'Accutime Kids Smart Watch: Rainbow High (Accutime, RNB4017PH)', 'Accutime Kids Smart Watch: Ryan', 'Accutime Kids Smart Watch: Spider-Man (Accutime, SPD4588)', 'Accutime Kids Smart Watch: Star Wars: Stormtropper (Accutime, STM4353PH)', 'Accutime Kids Smart Watch: Star Wars: The Mandalorian (Accutime, MNL4023PH)', 'Accutime Kids Smart Watch: Toy Story (Accutime, LTY4000PH)', 'JAKKS Pacific Inc / Digital Eclipse Spider-Man (JAKKS Pacific TV Game) (SPG110 hardware, new style stick, set 2)', 'JAKKS Pacific Inc / Handheld Games Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready, set 2)', 'Lexibook / JungleTac Plasma Console (IG810, 60-in-1)', 'Lexibook Compact Cyber Arcade - Paw Patrol (JL2365PA-A, 75-in-1)', 'Lexibook Gameclick (JL2400)', 'Lexibook Sudoku (Lexibook, LG600FR, TV part)', 'SA.BI.NE trend Poker & More 18-in-1 (Germany)', 'VTech MobiGo (France)' and 'VTech Tivi Boo (France)' systems. - TeamEurope and ClawGrip added 'Giochi Preziosi My Life (Spain)' system. - TeamEurope and David Haywood added 'game on! TV 50 in 1 Arcade Game', 'BornKid BornKid 16 Bit Handheld Games 220-in-1', 'Giochi Preziosi / Playmates My Life - Another life in your hands (UK)', 'Giochi Preziosi My Life - Un' and 'Lexibook Color Console IG10 (DualMax 20 in 1 TV part)' systems. - The Retro Web added 'Gigabyte GA-586IP (Intel I430NX Neptune chipset)' and 'Soyo SY-029C2 (Intel I430NX Neptune chipset)' systems.

changelog

readme.txt

LINKS

The Home of MAME Project

Arcade Data-Base

MAME-Info.dat

EMU France

EMU France

QMC2