-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
MAME version
master
System information
not relevant
INI configuration details
Emulated system/software
Signetics SCN2641/SCN2651/SCN2661
Incorrect behaviour
Signetics SCN2641/SCN2651/SCN2661 Mode Register consists of two registers MR1 and MR2. Consecutive read/write accesses first MR1 and then the MR2. Chip datasheet mentions internal pointer/sequencer but doesn't provide details nor explains what happens when reads are mixed with writes. Current implementation (src/devices/machine/scn_pci.cpp) doesn't emulate side effects
Expected behaviour
Both read and write affect (advance) the same pointer/sequencer of MR1/MR2 (variable m_mode_pointer)
Writing to MR1 transfers the old value of MR1 to MR2 (variable m_mode)
Steps to reproduce
Issue has been reproduced on real hardware (not emulated in MAME) using Apple II and Franklin Dual Interface Card (which uses SCN2661) using PEEKs and POKEs. Steps to reproduce and results have been described in the following topic:
https://forum.vcfed.org/index.php?threads/looking-for-franklin-ace-dual-interface-card-rom-dump.1253358/#post-1457459
Additional details
This side effect is used by the Mountain Computer CPS Multifunction Card for Apple II (not emulated in MAME) to initialize its SCN2651