Expansion Bus Decoding b0-7 Register: Difference between revisions

From SpecNext Wiki
Jump to: navigation, search
Ped7g (talk | contribs)
core 3.0 changes/refresh
(No difference)

Revision as of 09:39, 12 November 2019

Number TBRegisterNumber::$86
Readable TBRegisterReadable::Yes
Writable TBRegisterWritable::Yes
Short Description ShortDesc::When expansion bus is enabled: Internal ports decoding mask
Bit Description
7 Masking decoding: {{#ask:

PortNumber::$xx37 }} ($xx37{{#ask: PortNumber::$xx37 |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }}) (also MD2 controller)

6 Masking decoding: {{#ask:

PortNumber::$xx1F }} ($xx1F{{#ask: PortNumber::$xx1F |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }}) (also MD1 controller)

5 Masking decoding: {{#ask:

PortNumber::$xx6B }} ($xx6B{{#ask: PortNumber::$xx6B |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }})

4 Masking decoding: +3 floating bus
3 Masking decoding: {{#ask:

PortNumber::$1FFD }} ($1FFD{{#ask: PortNumber::$1FFD |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }})

2 Masking decoding: {{#ask:

PortNumber::$DFFD }} ($DFFD{{#ask: PortNumber::$DFFD |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }})

1 Masking decoding: {{#ask:

PortNumber::$7FFD }} ($7FFD{{#ask: PortNumber::$7FFD |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }})

0 Masking decoding: {{#ask:

PortNumber::$xxFF }} ($xxFF{{#ask: PortNumber::$xxFF |mainlabel=- |headers=hide |intro= /  |?NumberDec#- }})

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)