Expansion Bus Decoding b24-31 Register

From SpecNext Wiki
Revision as of 10:28, 12 November 2019 by Ped7g (talk | contribs) (core 3.0 changes/refresh)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Number TBRegisterNumber::$89
Readable TBRegisterReadable::Yes
Writable TBRegisterWritable::Yes
Short Description ShortDesc::When expansion bus is enabled: Internal ports decoding mask
Bit Description
7-1 (bit 31-25) Reserved, preserve the current value (or at least use 1)
0 (bit 24) Masking decoding: {{#ask:

PortNumber::$BF3B }} ($BF3B{{#ask: PortNumber::$BF3B |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }}) and {{#ask: PortNumber::$FF3B }} ($FF3B{{#ask: PortNumber::$FF3B |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }}) (ULA+)

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)