Expansion Bus Decoding b16-23 Register

From SpecNext Wiki
Revision as of 19:03, 13 April 2020 by Ped7g (talk | contribs) (core 3.1.3 changes/refresh)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Next Register Number $88
Readable Yes
Writable Yes
Short Description When expansion bus is enabled: Internal ports decoding mask
Bit Description
7 (bit 23) Masking decoding: NextPort:$xxDF (DAC mono Specdrum)
6 (bit 22) Masking decoding: NextPort:$xxB3 (DAC mono GS Covox)
5 (bit 21) Masking decoding: NextPort:$xxFB (DAC mono Pentagon/ATM (sd mode 2 off))
4 (bit 20) Masking decoding: NextPort:$xx0F and NextPort:$xx4F (DAC stereo Covox)
3 (bit 19) Masking decoding: NextPort:$xx3F and NextPort:$xx5F (DAC stereo profi Covox)
2 (bit 18) Masking decoding: NextPort:$xxF1, NextPort:$xxF3, NextPort:$xxF9 and NextPort:$xxFB (DAC soundrive mode 2)
1 (bit 17) Masking decoding: NextPort:$xx0F, NextPort:$xx1F, NextPort:$xx4F and NextPort:$xx5F (DAC soundrive mode 1)
0 (bit 16) Masking decoding: NextPort:$FFFD and NextPort:$BFFD

since core3.1.1: all bits are set to 1 when: soft reset and bit 31 is clear OR hard reset and bit 31 is set (otherwise content is kept intact). All bits are set to 1 upon hard reset.

When the expansion bus is on, the expansion port decoding mask (Next Registers $86-$89) is logically ANDed with the internal enables (Next Registers $82-$85). A zero bit indicates the internal device is disabled.

If the expansion bus is on, this allows I/O cycles for disabled internal ports to propagate to the expansion bus, otherwise corresponding I/O cycles to the expansion bus are filtered.

(note: Next registers with number higher than $7F are inaccessible from Copper code)