Skip to content

Signetics SCN2651 side effects #14389

@BulbulatorMacher

Description

@BulbulatorMacher

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions