Mapa pamięci

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 10:53, 24 kwi 2005
KMK (Dyskusja | wkład)
(Schemat pamięci Atari 400/800 i XL/XE)
← 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]]).+<tr><td>$0100-$01FF</td><td>Stos [[6502]]</td></tr>
- +<tr><td>$0200-$02FF</td><td>Strona druga, wektory przerwań i inne zmienne [[OS]]</td> </tr>
-==Schemat pamięci Atari 400/800 i XL/XE==+<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 (128 bajtów); [[QMEG_OS|QMEG]]: zmienne</td> </tr>
-<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>$0200-$02FF</td><td>Wektory przerwań i inne zmienne OS</td> </tr>+
-<tr><td>$0300-$03FF</td><td>Bloki DCB i IOCB, inne zmienne OS</td> </tr>+
-<tr><td>$0400-$047F</td><td>Bufor magnetofonu ([[DracOS]]: bufor drukarki)</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>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 układu 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 układu Pokey]]</td></tr>+* Niedostępne 2 KB RAM w XL/XE</td>
-<tr><td>$D300-$D3FF</td><td>Brak, [[rejestry układu PIA 6520]]</td></tr>+<td rowspan = 8>
-<tr><td>$D400-$D4FF</td><td>Brak, [[rejestry układu ANTIC]]</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>
-* [[rejestry sterujące modułem Action]]+<td>
-* [[rejestry modułu R-Time8]]+*[[Rejestry GTIA]]
-* [[rejestry sterujące modułem SpartaDOS X]]+*[[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> </td></tr>
-<tr><td>$D600-$D7FF</td><td>Brak, [[rejestry interfejsu równoległego (PBI)]] (tylko w serii XL/XE)+<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]]
 +* [[ARC (zegar)|rejestry zegara ARC]]
 +* [[rejestry modułu R-Time 8]]
 +* [[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>
 +<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]]
</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: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:

Spis treści

Schemat pamięci Atari 400/800 i XL/XE

AdresRAMROMPorty I/O
$0000-$00FFStrona zerowaBrakBrak
$0100-$01FFStos 6502
$0200-$02FFStrona druga, wektory przerwań i inne zmienne OS
$0300-$03FFStrona trzecia, bloki DCB i IOCB, HATABS, wewnętrzne zmienne SIO, bufor drukarki
$0400-$047FBufor magnetofonu (128 bajtów); QMEG: zmienne
$0480-$057FObszar nie używany przez OS, zarezerwowany
$0580-$05FFBufor wyjściowy pakietu matematycznego
$0600-$06FFStrona szósta, zarezerwowana dla programów użytkownika
$0700-$1FFFDOS ($1FFF to jest maximum)
$2000-$3FFFWolna 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-$7FFFWolna pamięć, w komputerach z rozszerzeniem RAM obszar przełączalnych banków pamięciDodatkowo 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-$9FFFWolna pamięćObszar cartridge B
$A000-$BFFF Obszar cartridge A
  • Cartridge zewnętrzny
  • Wewnętrzny cartridge Atari BASIC (tylko XL/XE, oprócz 1200XL)
$C000-$CBFFWolna 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
  • Brak w 400/800
  • Niedostępne 2 KB RAM w XL/XE
  • Brak w 400/800
  • Niedostępne 2 KB OS ROM (SELF TEST) w XL/XE
$D100-$D1FF Rejestry PBI (tylko w serii XL/XE)
$D200-$D2FF
$D300-$D3FF
$D400-$D4FF Rejestry ANTIC-a
$D500-$D5FF Rejestry cartridge'y
$D600-$D6FFObszar przeznaczony dla PBI (tylko w serii XL/XE)
$D700-$D7FFObszar 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-$E3FFWolna pamięć "pod ROM-em" (tylko w serii XL/XE)Standardowy zestaw znaków
$E400-$FFFF Drugi blok OS ROM:

Dodatkowa pamięć 65C816 w karcie Rapidus Accelerator

AdresRAMROMPorty I/O
$000000-$00FFFF4x16 KB fast RAM-u możliwe do użycia zamiast pamięci ulokowanej na płycie głównej.BrakBrak
$010000-$07FFFFObszar 448 KB fast RAM-u. W pierwszych 256 bajtach ($010000-$0100FF) możliwe jest zmirrorowanie strony zerowej.
$080000-$0FFFFFObszar opcjonalnie zajęty przez 512 KB fast RAM-u (niektóre karty mają w tym miejscu 512 KB SD-RAM-u).
$100000-$7FFFFFLiniowy SD-RAM (7 MB)
$800000-$BFFFFFObszar bankowanego SD-RAM-u: 4 MB podstawowe + 4x4 MB w bankach
$C00000-$EFFFFFLiniowy SD-RAM (3 MB)
$F00000-$F7FFFFBrak Fast ROM: Rapidus BIOS + Rapidus OS
$F80000-$FEFFFF
Obszar zarezerwowany
$FF0000-$FFFFFFBrakBrak Obszar I/O

Dodatkowa pamięć 65C816 w karcie Antonia 4 MB

AdresRAMROMPorty I/O
$010000-$2FFFFF3008 KB RAM-u dostępne lub nie w zależności od konfiguracji kartyBrakBrak
$030000-$3FFFFF1 MB RAM-u dostępne lub nie w zależności od konfiguracji karty
$400000-$FFFFFF
Brak

Zobacz też

Personal tools