Mapa pamięci
From Atariki
(Różnice między wersjami)
Wersja z dnia 08:50, 30 sty 2006 Piotrv (Dyskusja | wkład) (+linki wew) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) (→Schemat pamięci Atari 400/800 i XL/XE - link) |
||
Linia 1: | Linia 1: | ||
- | "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 [http://tajemnice.atari8.info/ Archiwum TA]: | + | "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 [http://tajemnice.atari8.info/ Archiwum TA]: |
- | *[http://tajemnice.atari8.info/ksiazki/ Mapa pamięci ATARI XL/XE: Podstawowe procedury systemu operacyjnego] | + | * [[Podstawowe procedury systemu operacyjnego|Mapa pamięci ATARI XL/XE: Podstawowe procedury systemu operacyjnego]] |
+ | * [[Procedury wejścia-wyjścia|Mapa pamięci ATARI XL/XE: Procedury wejścia-wyjścia]] | ||
+ | * [[Dyskowe Systemy Operacyjne|Mapa pamięci ATARI XL/XE: Dyskowe Systemy Operacyjne]] | ||
+ | * [[Procedury interpretera Basica|Mapa pamięci ATARI XL/XE: Procedury interpretera Basica]] | ||
- | *[http://tajemnice.atari8.info/ksiazki/ Mapa pamięci ATARI XL/XE: Procedury interpretera Basica] | + | ==Schemat pamięci Atari [[400/800]] i [[XL]]/[[XE]]== |
- | *[http://tajemnice.atari8.info/ksiazki/ Mapa pamięci ATARI XL/XE: Procedury wejścia-wyjścia] | + | <table border=1 cellpadding=5> |
- | + | <tr><td width="10%"><b>Adres</b></td><td width="30%"><b>RAM</b></td><td width="30%"><b>ROM</b></td><td width="30%"><b>Porty I/O</b></td></tr> | |
- | *[http://tajemnice.atari8.info/ksiazki/ Mapa pamięci ATARI XL/XE: Dyskowe Systemy Operacyjne] | + | <tr><td colspan = 4></td></tr> |
- | + | <tr><td>$0000-$00FF</td><td>[[Strona zerowa]]</td><td rowspan = 10>Brak</td><td rowspan = 13>Brak</td></tr> | |
- | Na temat mapy pamięci dla [[SpartaDOS X]] najwięcej wie [[Lizard]], on też posiada książkę napisaną przez MMMG (była publikowana w odcinkach w [[Syzygy]]). | + | |
- | + | ||
- | ==Schemat pamięci Atari 400/800 i XL/XE== | + | |
- | + | ||
- | <table border = 1 cellpadding = 5> | + | |
- | <tr><td><b>Adres</b></td><td><b>RAM</b></td><td><b>ROM</b></td></tr> | + | |
- | <tr><td colspan = 3></td></tr> | + | |
- | <tr><td>$0000-$00FF</td><td>Strona zerowa</td><td rowspan = 10>Brak</td></tr> | + | |
<tr><td>$0100-$01FF</td><td>Stos [[6502]]</td></tr> | <tr><td>$0100-$01FF</td><td>Stos [[6502]]</td></tr> | ||
- | <tr><td>$0200-$02FF</td><td>Wektory przerwań i inne zmienne [[OS]]</td> </tr> | + | <tr><td>$0200-$02FF</td><td>Strona druga, wektory przerwań i inne zmienne [[OS]]</td> </tr> |
- | <tr><td>$0300-$03FF</td><td>Bloki [[DCB]] i [[CIO|IOCB]], inne zmienne OS</td> </tr> | + | <tr><td>$0300-$03FF</td><td>Strona trzecia, bloki [[DCB]] i [[IOCB]], [[CIO#HATABS|HATABS]], wewnętrzne zmienne [[SIO]], bufor drukarki</td> </tr> |
- | <tr><td>$0400-$047F</td><td>Bufor magnetofonu ([[DracOS]]: bufor drukarki)</td> </tr> | + | <tr><td>$0400-$047F</td><td>Bufor magnetofonu (128 bajtów); [[QMEG_OS|QMEG]]: zmienne</td> </tr> |
<tr><td>$0480-$057F</td><td>Obszar nie używany przez OS, zarezerwowany</td> </tr> | <tr><td>$0480-$057F</td><td>Obszar nie używany przez OS, zarezerwowany</td> </tr> | ||
<tr><td>$0580-$05FF</td><td>Bufor wyjściowy pakietu matematycznego</td> </tr> | <tr><td>$0580-$05FF</td><td>Bufor wyjściowy pakietu matematycznego</td> </tr> | ||
<tr><td>$0600-$06FF</td><td>[[6 strona|Strona szósta]], zarezerwowana dla programów użytkownika</td> </tr> | <tr><td>$0600-$06FF</td><td>[[6 strona|Strona szósta]], zarezerwowana dla programów użytkownika</td> </tr> | ||
- | <tr><td>$0700-$1FFF</td><td>DOS ($1FFF to jest maximum)</td> </tr> | + | <tr><td>$0700-$1FFF</td><td>[[DOS]] ($1FFF to jest maximum)</td> </tr> |
- | <tr><td>$2000-$3FFF</td><td>Wolna pamięć. Mimimum wolnej pamięci 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.</td> </tr> | + | <tr><td>$2000-$3FFF</td><td>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.</td> </tr> |
- | <tr><td>$4000-$7FFF</td><td>Wolna pamięć, w komputerach z rozszerzeniem RAM obszar przełączalnych banków pamięci</td><td>Dodatkowo pod $5000-$57FF może zostać włączony SELF TEST (tylko w serii XL/XE).</td></tr> | + | <tr><td>$4000-$7FFF</td><td>Wolna pamięć, w komputerach z rozszerzeniem RAM obszar przełączalnych banków pamięci</td><td>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.</td></tr> |
- | <tr><td>$8000-$9FFF</td><td rowspan = 2>Wolna pamięć</td><td>Obszar cartridge A | + | <tr><td>$8000-$9FFF</td><td rowspan = 2>Wolna pamięć</td><td>Obszar [[cartridge]] B |
- | * Cartridge zewnętrzny</td></tr> | + | * [[Cartridge (mapa pamięci)|Cartridge]] zewnętrzny</td></tr> |
- | <tr><td>$A000-$BFFF</td> <td>Obszar cartridge B | + | <tr><td>$A000-$BFFF</td> <td>Obszar cartridge A |
* Cartridge zewnętrzny | * Cartridge zewnętrzny | ||
- | * Wewnętrzny cartridge Atari [[BASIC]] (tylko XL/XE) | + | * Wewnętrzny cartridge Atari [[BASIC]] (tylko XL/XE, oprócz [[1200XL]]) |
</td></tr> | </td></tr> | ||
- | <tr><td colspan = 3></td></tr> | + | <tr><td colspan = 4></td></tr> |
- | <tr><td>$C000-$CBFF</td><td rowspan=2>Wolna pamięć "pod ROM-em" (tylko w serii XL/XE). | + | <tr><td width="10%">$C000-$CBFF</td><td rowspan=2>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. | + | W komputerach serii [[400/800]] jest to obszar pusty, nie ma tu ani RAM-u ani ROM-u. |
</td> | </td> | ||
- | <td>[[Sygnatura ROM]] (tylko XL/XE)</td></tr> | + | <td>[[Sygnatura XL OS]] (tylko XL/XE)</td><td rowspan = 2>Pod adresem $CFFF (w rzeczywistości, z powodu niepełnego dekodowania na 400/800, $CFC0-$CFFF) znajduje się rejestr kontrolny rozszerzenia pamięci [[Axlon]].</td></tr> |
- | <tr><td>$CC00-$CFFF</td> <td>Charset 2 (tylko XL/XE)</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>Brak, [[rejestry GTIA]]</td><td rowspan = 7>SELF TEST (tylko w serii XL/XE)</td></tr> | + | <tr><td>$D000-$D0FF</td><td rowspan = 8> |
- | <tr><td>$D100-$D1FF</td><td>Brak, [[rejestry interfejsu równoległego (PBI)]] (tylko w serii XL/XE)</td></tr> | + | * Brak w 400/800 |
- | <tr><td>$D200-$D2FF</td><td>Brak, [[rejestry POKEY-a]]</td></tr> | + | * Niedostępne 2 KB RAM w XL/XE</td> |
- | <tr><td>$D300-$D3FF</td><td>Brak, [[rejestry PIA 6520]]</td></tr> | + | <td rowspan = 8> |
- | <tr><td>$D400-$D4FF</td><td>Brak, [[rejestry ANTIC-a]]</td></tr> | + | * Brak w 400/800 |
- | <tr><td>$D500-$D5FF</td><td>Brak, [[rejestry zewnętrznych modułów ROM]] | + | * Niedostępne 2 KB OS ROM ([[SELF TEST]]) w XL/XE</td> |
+ | <td> | ||
+ | *[[Rejestry GTIA]] | ||
+ | *[[Rejestry Sophia]]</td></tr> | ||
+ | <tr><td>$D100-$D1FF</td> <td>[[Rejestry PBI]] (tylko w serii XL/XE)</td></tr> | ||
+ | <tr><td>$D200-$D2FF</td> <td> | ||
+ | * [[Rejestry POKEY-a]] | ||
+ | * Rejestry [[Evie]] | ||
+ | </td></tr> | ||
+ | <tr><td>$D300-$D3FF</td> <td> | ||
+ | *[[Rejestry PIA]] | ||
+ | * Rejestry [[Ultimate1MB]] | ||
+ | </td></tr> | ||
+ | <tr><td>$D400-$D4FF</td> <td>[[Rejestry ANTIC-a]]</td></tr> | ||
+ | <tr><td>$D500-$D5FF</td> <td>Rejestry [[cartridge]]'y | ||
* [[rejestry modułu Action]] | * [[rejestry modułu Action]] | ||
- | * [[rejestry modułu R-Time8]] | + | * [[ARC (zegar)|rejestry zegara ARC]] |
+ | * [[rejestry modułu R-Time 8]] | ||
* [[rejestry modułu SpartaDOS X]] | * [[rejestry modułu SpartaDOS X]] | ||
+ | * Rejestry układu SID w [[Slight SID]] | ||
+ | * Rejestry układu SID w [[SIDari]] | ||
+ | * Rejestry układu AY/YM w [[SONari]] | ||
+ | * Rejestry układu OPL3 w [[YAMari]] | ||
+ | * Rejestry układu SID w [[Evie]] (opcjonalnie) | ||
+ | * Rejestry modułu [[Ram-Cart]] | ||
+ | * Rejestry modułu [[SiDiCar]] | ||
+ | * Rejestry [[Ultimate1MB]] | ||
+ | * [[Rejestr sterujący Sic!]] | ||
</td></tr> | </td></tr> | ||
- | <tr><td>$D600-$D7FF</td><td>Brak, [[rejestry interfejsu równoległego (PBI)]] (tylko w serii XL/XE) | + | <tr><td>$D600-$D6FF</td><td>Obszar przeznaczony dla PBI (tylko w serii XL/XE) |
+ | * 256 bajtów wewnętrznej pamięci RAM [[Multi I/O]] | ||
+ | * [[rejestry VBXE]] (tu lub na następnej stronie) | ||
* rejestr [[ROM Changer|ROM Changera]]</td></tr> | * rejestr [[ROM Changer|ROM Changera]]</td></tr> | ||
- | <tr><td>$D800-$DFFF</td><td rowspan = 3>Wolna pamięć "pod ROM-em" (tylko w serii XL/XE)</td><td> | + | <tr><td>$D700-$D7FF</td><td>Obszar przeznaczony dla PBI (tylko w serii XL/XE) |
+ | * [[rejestry VBXE]] (tu lub na poprzedniej stronie) | ||
+ | </td></tr> | ||
+ | <tr><td>$D800-$DFFF</td><td> | ||
+ | Wolna pamięć "pod ROM-em" (tylko w serii XL/XE). W czasie wymiany danych z [[nowe urządzenia|nowym urządzeniem]] zastępowana przez [[ROM PBI]].</td><td> | ||
* [[pakiet matematyczny]] | * [[pakiet matematyczny]] | ||
- | * obszar [[ROM interfejsu równoległego (PBI)]] (tylko w serii XL/XE)</td></tr> | + | * obszar [[ROM PBI]] (tylko w serii XL/XE), uaktywniany w czasie wymiany danych z [[nowe urządzenia|nowym urządzeniem]]. |
- | <tr><td>$E000-$E3FF</td> <td>Charset 1</td></tr> | + | </td><td rowspan = 3>Brak</td></tr> |
+ | <tr><td>$E000-$E3FF</td><td rowspan = 2>Wolna pamięć "pod ROM-em" (tylko w serii XL/XE)</td><td>Standardowy zestaw znaków</td></tr> | ||
<tr><td>$E400-$FFFF</td> <td>Drugi blok OS ROM:<br> | <tr><td>$E400-$FFFF</td> <td>Drugi blok OS ROM:<br> | ||
* [[tablica skoków]] | * [[tablica skoków]] | ||
* [[tablice wektorów ROM]] | * [[tablice wektorów ROM]] | ||
- | * wektory [[przerwania|przerwań]] CPU | + | * wektory [[przerwania|przerwań]] [[CPU]] |
</td></tr> | </td></tr> | ||
</table> | </table> | ||
+ | |||
+ | ==Dodatkowa pamięć [[65C816]] w karcie [[Rapidus Accelerator]]== | ||
+ | |||
+ | <table border="1" cellpadding="5"> | ||
+ | <tr><td width="10%"><b>Adres</b></td><td width="30%"><b>RAM</b></td><td width="30%"><b>ROM</b></td><td width="30%"><b>Porty I/O</b></td></tr> | ||
+ | <tr><td colspan = 4></td></tr> | ||
+ | <tr><td>$000000-$00FFFF</td><td>4x16 KB fast RAM-u możliwe do użycia zamiast pamięci ulokowanej na płycie głównej.</td><td rowspan="6">Brak</td><td rowspan="7">Brak</td></tr> | ||
+ | <tr><td>$010000-$07FFFF</td><td>Obszar 448 KB fast RAM-u. W pierwszych 256 bajtach ($010000-$0100FF) możliwe jest zmirrorowanie strony zerowej.</td> </tr> | ||
+ | <tr><td>$080000-$0FFFFF</td><td>Obszar opcjonalnie zajęty przez 512 KB fast RAM-u (niektóre karty mają w tym miejscu 512 KB SD-RAM-u).</td> </tr> | ||
+ | <tr><td>$100000-$7FFFFF</td><td>Liniowy SD-RAM (7 MB)</td> </tr> | ||
+ | <tr><td>$800000-$BFFFFF</td><td>Obszar bankowanego SD-RAM-u: 4 MB podstawowe + 4x4 MB w bankach</td> </tr> | ||
+ | <tr><td>$C00000-$EFFFFF</td><td>Liniowy SD-RAM (3 MB)</td> </tr> | ||
+ | <tr><td>$F00000-$F7FFFF</td><td>Brak</td> <td>Fast ROM: Rapidus BIOS + Rapidus OS</td> </tr> | ||
+ | <tr><td>$F80000-$FEFFFF</td><td colspan = "3"><center>Obszar zarezerwowany</center></td> </tr> | ||
+ | <tr><td>$FF0000-$FFFFFF</td><td>Brak</td><td>Brak</td> <td>Obszar I/O </td> </tr> | ||
+ | </table> | ||
+ | |||
+ | ==Dodatkowa pamięć 65C816 w karcie [[Antonia 4 MB]]== | ||
+ | |||
+ | <table border="1" cellpadding="5"> | ||
+ | <tr><td width="10%"><b>Adres</b></td><td width="30%"><b>RAM</b></td><td width="30%"><b>ROM</b></td><td width="30%"><b>Porty I/O</b></td></tr> | ||
+ | <tr><td colspan = 4></td></tr> | ||
+ | <tr><td>$010000-$2FFFFF</td><td>3008 KB RAM-u dostępne lub nie w zależności od konfiguracji karty</td><td rowspan="3">Brak</td><td rowspan="3">Brak</td></tr> | ||
+ | <tr><td>$030000-$3FFFFF</td><td>1 MB RAM-u dostępne lub nie w zależności od konfiguracji karty</td> </tr> | ||
+ | <tr><td>$400000-$FFFFFF</td><td><center>Brak</center></td> </tr> | ||
+ | </table> | ||
+ | |||
+ | ==Zobacz też== | ||
+ | * [[Mapa pamięci F7]] | ||
+ | * [[Mapa pamięci Atari Lynx]] | ||
+ | * [http://www.atariarchives.org/mapping/ Mapping the Atari] | ||
+ | * [http://www.atariarchives.org/mmm/ Master Memory Map] | ||
[[Kategoria:Menu Główne]] | [[Kategoria:Menu Główne]] | ||
[[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] | ||
+ | [[Kategoria:Niezbędnik kodera]] |
Aktualna wersja
"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:
- Mapa pamięci ATARI XL/XE: Podstawowe procedury systemu operacyjnego
- Mapa pamięci ATARI XL/XE: Procedury wejścia-wyjścia
- Mapa pamięci ATARI XL/XE: Dyskowe Systemy Operacyjne
- Mapa pamięci ATARI XL/XE: Procedury interpretera Basica
Spis treści |
[Edytuj]
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 B
| |
$A000-$BFFF | Obszar cartridge A | ||
$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 XL OS (tylko XL/XE) | Pod adresem $CFFF (w rzeczywistości, z powodu niepełnego dekodowania na 400/800, $CFC0-$CFFF) znajduje się rejestr kontrolny rozszerzenia pamięci Axlon. |
$CC00-$CFFF | Międzynarodowy zestaw znaków (tylko XL/XE), zob. ATASCII | ||
$D000-$D0FF |
|
|
|
$D100-$D1FF | Rejestry PBI (tylko w serii XL/XE) | ||
$D200-$D2FF |
| ||
$D300-$D3FF |
| ||
$D400-$D4FF | Rejestry ANTIC-a | ||
$D500-$D5FF | Rejestry cartridge'y
| ||
$D600-$D6FF | Obszar przeznaczony dla PBI (tylko w serii XL/XE)
| ||
$D700-$D7FF | Obszar przeznaczony dla 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: |
[Edytuj]
Dodatkowa pamięć 65C816 w karcie Rapidus Accelerator
Adres | RAM | ROM | Porty I/O |
$000000-$00FFFF | 4x16 KB fast RAM-u możliwe do użycia zamiast pamięci ulokowanej na płycie głównej. | Brak | Brak |
$010000-$07FFFF | Obszar 448 KB fast RAM-u. W pierwszych 256 bajtach ($010000-$0100FF) możliwe jest zmirrorowanie strony zerowej. | ||
$080000-$0FFFFF | Obszar opcjonalnie zajęty przez 512 KB fast RAM-u (niektóre karty mają w tym miejscu 512 KB SD-RAM-u). | ||
$100000-$7FFFFF | Liniowy SD-RAM (7 MB) | ||
$800000-$BFFFFF | Obszar bankowanego SD-RAM-u: 4 MB podstawowe + 4x4 MB w bankach | ||
$C00000-$EFFFFF | Liniowy SD-RAM (3 MB) | ||
$F00000-$F7FFFF | Brak | Fast ROM: Rapidus BIOS + Rapidus OS | |
$F80000-$FEFFFF | Obszar zarezerwowany | ||
$FF0000-$FFFFFF | Brak | Brak | Obszar I/O |
[Edytuj]
Dodatkowa pamięć 65C816 w karcie Antonia 4 MB
Adres | RAM | ROM | Porty I/O |
$010000-$2FFFFF | 3008 KB RAM-u dostępne lub nie w zależności od konfiguracji karty | Brak | Brak |
$030000-$3FFFFF | 1 MB RAM-u dostępne lub nie w zależności od konfiguracji karty | ||
$400000-$FFFFFF | Brak |
[Edytuj]