Anonymous

ZX Spectrum SE: Difference between revisions

From Sinclair Wiki
m
→‎Memory: prettify memory map with hideous css
(Infobox with leading particulars)
m (→‎Memory: prettify memory map with hideous css)
Line 51: Line 51:


The EX and DOCK banks are paged by the horizontal MMU.
The EX and DOCK banks are paged by the horizontal MMU.
HOME 
 
0xffff +---------+---------++---------++--------+--------+--------+--------+---------+--------+---------+
<!-- table of memory pages with style based on the wikitable class -->
        | Ex 7  | Dock 7  || Bank 0 || Bank 1 | Bank 2 | Bank 3 | Bank 4 | Bank 5  | Bank 6 | Bank 7  |
{| style="text-align: center; border-collapse:collapse; margin: 1em 1em 1em 0;"
        |         |         ||         ||       |(also at|       |       |Screen 0'|       |Screen 1'|
|-
0xe000 +---------+---------+|        ||        | 0x8000 |       |        +-- -- -- +        +-- -- -- +
! style="width: 5em; border:;" | &nbsp;
        | Ex 6  | Dock 6 ||         ||        | on Spec|        |        |        |        |        |
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | EX
        |         |        ||        ||        |  128)  |        |        |Screen 0 |       |Screen 1 |
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | DOCK
0xc000 +---------+---------++---------++--------+--------+--------+--------+---------+--------+---------+
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | HOME
        | Ex 5  | Dock 5 || Bank 8  |            Any one of these pages may be switched in.
|- style="height: 5em; background: #f9f9f9;"
        |        |        ||        |
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0xFFFF <br />-<br />0xE000
0xa000 +---------+---------+|         |
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 7
        | Ex 4  | Dock 4 ||         |
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 7
        |         |         ||         |
| style="width: 5em; border-color: #aaa; border-width: 1px 4px; border-style: solid double; padding: 0.2em;" rowspan="2" | BANK 0
0x8000 +---------+---------++---------+
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" rowspan="2" | BANK 1
        |  Ex 3  | Dock 3  || Bank 5 |
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" rowspan="2" | BANK 2
        |        |        ||Screen 0'|
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" rowspan="2" | BANK 3
0x6000 +---------+---------++-- -- -- +
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" rowspan="2" | BANK 4
        | Ex 2  | Dock 2 ||         |
| style="width: 5em; border: 1px #aaa; border-style: solid solid dashed; padding: 0.2em;" | BANK 5 <br /> Screen 0'
        |        |        ||Screen 0 |
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" rowspan="2" | BANK 6
0x4000 +---------+---------++---------++--------+
| style="width: 5em; border: 1px #aaa; border-style: solid solid dashed; padding: 0.2em;" | BANK 7 <br /> Screen 1'
        | Ex 1   | Dock 1 || ROM 0   || ROM 1 | Either ROM may be switched in.
|- style="height: 5em; background: #f9f9f9;"
        |        |        ||        ||        |  
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0xDFFF <br />-<br />0xC000
0x2000 +---------+---------+|         ||        |
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 6
        | Ex 0   | Dock 0 ||        ||        |
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 6
        |        |        || Editor  || Basic  |
| style="width: 5em; border: 1px #aaa; border-style: dashed solid solid; padding: 0.2em;" | Screen 0
0x0000 +---------+---------++---------++--------+
| style="width: 5em; border: 1px #aaa; border-style: dashed solid solid; padding: 0.2em;" | Screen 1
      The EX and DOCK banks
|- style="height: 5em; background: #f9f9f9;"
      are mutually exclusive.
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0xBFFF <br />-<br />0xA000
      Pages from these banks
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 5
      may be switched in over
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 5
      the HOME bank.
| style="width: 5em; border-color: #aaa; border-width: 1px 1px 1px 4px; border-style: solid solid solid double; padding: 0.2em;" rowspan="2" | BANK 8
|- style="height: 5em; background: #f9f9f9;"
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0x9FFF <br />-<br />0x8000
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 4
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 4
|- style="height: 5em; background: #f9f9f9;"
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0x7FFF <br />-<br />0x6000
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 3
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 3
| style="width: 5em; border-color: #aaa; border-width: 1px 1px 1px 4px; border-style: solid solid dashed double; padding: 0.2em;" | BANK 5 <br /> Screen 0'
|- style="height: 5em; background: #f9f9f9;"
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0x5FFF <br />-<br />0x4000
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 2
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 2
| style="width: 5em; border-color: #aaa; border-width: 1px 1px 1px 4px; border-style: dashed solid solid double; padding: 0.2em;" | Screen 0
|- style="height: 5em; background: #f9f9f9;"
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0x3FFF <br />-<br />0x2000
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 1
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 1
| style="width: 5em; border-color: #aaa; border-width: 1px 4px; border-style: solid double; padding: 0.2em;" rowspan="2" | ROM 0 <br /> Editor
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" rowspan="2" | ROM 1 <br /> Editor
|- style="height: 5em; background: #f9f9f9;"
! style="width: 5em; background: #f2f2f2; border: 1px #aaa solid; padding: 0.2em;" | 0x1FFF <br />-<br />0x0000
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | EX 0
| style="width: 5em; border: 1px #aaa solid; padding: 0.2em;" | DOCK 0
|-
|}
<!-- end of memory map -->
 
The EX and DOCK banks are mutually exclusive.
Pages from these banks may be switched in over the HOME bank.
 
Owing to the use of two completely different paging systems there are certain hardware limitations on which banks can be paged in. The first side effect is that the odd (slow) banks of the 128 paging system have higher priority than the DOCK and EX banks.
Owing to the use of two completely different paging systems there are certain hardware limitations on which banks can be paged in. The first side effect is that the odd (slow) banks of the 128 paging system have higher priority than the DOCK and EX banks.