Mapa pamięci
From Atariki
(Różnice między wersjami)
Wersja z dnia 12:20, 15 mar 2010 Daniel Koźmiński (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 12:42, 15 mar 2010 KMK (Dyskusja | wkład) (→Schemat pamięci Atari 400/800 i XL/XE) Next diff → |
||
Linia 41: | Linia 41: | ||
<tr><td>$CC00-$CFFF</td> <td>Międzynarodowy zestaw znaków (tylko XL/XE), zob. [[ATASCII]]</td></tr> | <tr><td>$CC00-$CFFF</td> <td>Międzynarodowy zestaw znaków (tylko XL/XE), zob. [[ATASCII]]</td></tr> | ||
- | <tr><td>$D000-$D0FF</td><td rowspan = 7>Brak w 400/800. Niedostępne 2 KB RAM w XL/XE</td><td rowspan = 7>Brak w 400/800. Niedostępne 2 KB OS ROM (SELF TEST) w XL/XE</td> | + | <tr><td>$D000-$D0FF</td><td rowspan = 7> |
+ | * Brak w 400/800 | ||
+ | * Niedostępne 2 KB RAM w XL/XE</td> | ||
+ | <td rowspan = 7> | ||
+ | * Brak w 400/800 | ||
+ | * Niedostępne 2 KB OS ROM (SELF TEST) w XL/XE</td> | ||
<td>[[Rejestry GTIA]]</td></tr> | <td>[[Rejestry GTIA]]</td></tr> | ||
<tr><td>$D100-$D1FF</td> <td>[[Rejestry PBI]] (tylko w serii XL/XE)</td></tr> | <tr><td>$D100-$D1FF</td> <td>[[Rejestry PBI]] (tylko w serii XL/XE)</td></tr> | ||
Linia 47: | Linia 52: | ||
<tr><td>$D300-$D3FF</td> <td>[[Rejestry PIA]]</td></tr> | <tr><td>$D300-$D3FF</td> <td>[[Rejestry PIA]]</td></tr> | ||
<tr><td>$D400-$D4FF</td> <td>[[Rejestry ANTIC-a]]</td></tr> | <tr><td>$D400-$D4FF</td> <td>[[Rejestry ANTIC-a]]</td></tr> | ||
- | <tr><td>$D500-$D5FF</td> <td>[[Rejestry zewnętrznych modułów ROM]] | + | <tr><td>$D500-$D5FF</td> <td>Rejestry [[cartridge]]'y |
* [[rejestry modułu Action]] | * [[rejestry modułu Action]] | ||
* [[rejestry modułu R-Time 8]] | * [[rejestry modułu R-Time 8]] |
Wersja z dnia 12:42, 15 mar 2010
"Mapa pamięci" to wyszczególnione i opisane obszary pamięci komputera, czyli do czego służy, co robi konkretna komórka, rejestr lub obszar pamięci. Najwięcej na ten temat napisał Wojciech Zientara w książkach wydawanych przez SOETO w latach 1988-1991. Wszystkie książki i ważniejsze publikacje prasowe zostały zgromadzone na stronie Archiwum TA:
Schemat pamięci Atari 400/800 i XL/XE
Adres | RAM | ROM | Porty I/O |
$0000-$00FF | Strona zerowa | Brak | Brak |
$0100-$01FF | Stos 6502 | ||
$0200-$02FF | Strona druga, wektory przerwań i inne zmienne OS | ||
$0300-$03FF | Strona trzecia, bloki DCB i IOCB, HATABS, wewnętrzne zmienne SIO, bufor drukarki | ||
$0400-$047F | Bufor magnetofonu (128 bajtów); QMEG: zmienne | ||
$0480-$057F | Obszar nie używany przez OS, zarezerwowany | ||
$0580-$05FF | Bufor wyjściowy pakietu matematycznego | ||
$0600-$06FF | Strona szósta, zarezerwowana dla programów użytkownika | ||
$0700-$1FFF | DOS ($1FFF to jest maximum) | ||
$2000-$3FFF | Wolna pamięć. Minimum pamięci RAM to 10k w Atari 800XL/65XE/130XE (system 1.02/1.03) oraz 16k w 1450XLD (system 2.03). Jeśli pamięci jest mniej, system nie startuje. | ||
$4000-$7FFF | Wolna pamięć, w komputerach z rozszerzeniem RAM obszar przełączalnych banków pamięci | Dodatkowo pod $5000-$57FF może zostać włączony SELF TEST (tylko w serii XL/XE). Fizycznie jest on częścią OS ROM "przysłoniętą" rejestrami I/O w obszarze $D000-$D7FF. | |
$8000-$9FFF | Wolna pamięć | Obszar cartridge A
| |
$A000-$BFFF | Obszar cartridge B | ||
$C000-$CBFF | Wolna pamięć "pod ROM-em" (tylko w serii XL/XE).
W komputerach serii 400/800 jest to obszar pusty, nie ma tu ani RAM-u ani ROM-u. |
Sygnatura ROM (tylko XL/XE) | Brak |
$CC00-$CFFF | Międzynarodowy zestaw znaków (tylko XL/XE), zob. ATASCII | ||
$D000-$D0FF |
|
|
Rejestry GTIA |
$D100-$D1FF | Rejestry PBI (tylko w serii XL/XE) | ||
$D200-$D2FF | Rejestry POKEY-a | ||
$D300-$D3FF | Rejestry PIA | ||
$D400-$D4FF | Rejestry ANTIC-a | ||
$D500-$D5FF | Rejestry cartridge'y | ||
$D600-$D7FF | Rejestry PBI (tylko w serii XL/XE)
| ||
$D800-$DFFF | Wolna pamięć "pod ROM-em" (tylko w serii XL/XE). W czasie wymiany danych z nowym urządzeniem zastępowana przez ROM PBI. |
| Brak |
$E000-$E3FF | Wolna pamięć "pod ROM-em" (tylko w serii XL/XE) | Standardowy zestaw znaków | |
$E400-$FFFF | Drugi blok OS ROM: |