« wszystkie artykuły i działy

« dział "Atari 8-bit"

Atari 8-bit » Rozszerzenia pamięci.

W historii Atari 8-bit pojawiło się kilka standardów rozszerzeń pamięci. Każde z nich z racji limitu przestrzeni adresowej procesora 6502 do 64kB (16-bit) opierało się na podmianie obszaru pamięci podstawowej na jeden z banków dodatkowej pamięci. Różnice polegały na obszarze pamięci w której pamięć była bankowana, rozmiarze tych banków także lokalizacją rejestru sterującego przełączaniem banków.

1. Axlon - rozszerzenie pamięci zaprojektowane z myślą o komputerach Atari 400/800. Opierało się ono na podmianie obszaru adresowego $4000-$7fff przez 16-to kilobajtowe banki.
Rozszerzenie to było sterowane za pośrednictwem rejestru pod adresem $CFFF. Ponieważ obszar pamięci $c000-$cfff nie był zagospodarowany w komputerach Atari 400/800 i "leżał odłogiem" wybór padł właśnie na rejestr, który znajdował się w tym obszarze. Wartość 0 wpisana do tego rejestru oznaczała wybór podstawowego banku pamięci, pozostałe kombinacje były zarezerwowane na banki dodatkowe, co dawało w teorii możliwość zaadresowania 255 banków 16kB,czy 4080kB (4MB bez 16kB). W praktyce jednak montowano rozszerzenia pamięci o rozmiarach np. 256kB.

2. Mosaic - było to także rozszerzenie pamięci stworzone z myślą o komputerach Atari serii 400/800. Polegało ono na wykorzystaniu obszaru adresowego $c000-$cfff, który standardowo w komputerach serii Atari 400/800 był obszarem wolnym. W obszarze tym znajdował się bank pamięci o rozmiarze 4kB, który można było wybrać za pomocą rejestru o adresie: $ffc0. W teorii ograniczeniem jest tutaj rozmiar 1MB.

3. RAM CART - rozszerzenie dedykowane dla Atari 8-bit serii XL/XE. Jest to grupa rozszerzeń opierająca się obszarze pamięci opierająca się na podmianie obszarów adresowych o rozmiarze 8kB: $8000-$9fff i $a000-$bfff w ramach obszarów pamięci, które system Atari 8-bit przewiduje dla Cartridgea. Banki były wybierane przez rejestr, który jest mapowany w przestrzeni adresowej: $d500-$d5ff, standard przewidywał 4-bity na kombinacje banków, co dawało limit o wielkości 256kB.
Zaletą tego rozszerzenia byłą całkowita bezinwazyjność tego rozwiązania - rozszerzenie było montowane na karcie, którą podłączało się do komputera Atari 8-bit za pośrednictwem złącza cartridge. Dodaktowym atutem było podtrzymanie bateryjne karty pamięci, co umożliwiało przenoszenie danych na tej karcie pomiędzy komputerami.

4. PORT B - jest to grupa rozszerzeń opartych o rejestr sterujący $d301 (tzw. PORT B), przeznaczonych dla komputerów Atari 8-bit serii XL/XE. Rozszerzenia te opierają się na bankach 16kB RAM, przełączanych w obszarze adresowym $4000-$7fff, czyli w tym samym obszarze co rozszerzenie Axlon.

* 130XE - standardowo Atari 130XE posiadało 4 dodatkowe banki, które wybierało się bitami 2 i 3 rejestru PORT B. Bit 4 sterował dostępem 6502 do dodatkowej pamięci, natomiast bit 5 podstępem Antica do dodatkowej pamięci - wartość 1 danego bitu ustawiała dostęp danego procesora (6502 lub Antica) do pamięci podstawowej, wartość 0 do dodatkowej, dzięki czemu istniała możliwość niezależnego dostępu 6502 i Antica.

* 192kB - rozszerzenie analogiczne do 130XE, z tym, że do bitów 2 i 3 dochodził dodatkowo bit 6, dzięki czemu liczba kombinacji wzrosła do 8 banków dodatkowej pamięci (czyli +128kB dodatkowej pamięci)

* TOMS 256kB, 256kB/ 320kB RAMBO - rozszerzenia polegały na tym, że bit 4 decydował o dostępie zarówno Antica jak i 6502 do dodatkowej pamięci, natomiast bit 5 był dodatkowym bitem umożliwiającym wybór banku. Dawało to możliwość wyboru 16 banków (czyli +256kB RAM) za pomocą bitów 2,3,5,6, jednak w niektórych rozszerzeniach z racji specyfiki konstrukcyjnej wykorzystywano tylko 12 dodatkowych banków.

* 576kB RAMBO/320kB Compy Shop - rozszerzenia polegały na tym, że bit 7 portu B, który standardowo w Atari 8-bit odpowiadał za dostęp do pamięci ROM z Self Testem pełnił podwójną rolę. Przy bicie 4 = 1 pełnił swoją standardową rolę, natomiast w wypadku wartości 0 bit ten stanowił dodatkowy bit określający wybór banku. Zatem bity 2,3,6,7 pozwalały na zaadresowanie 16 banków. W wypadku rozszerzenia RAMBO 576kB wyboru banku dokonywał również bit 5 (wspólnie sterowany dostęp Antica i CPU przez bit 4), co dawało wybór 32 banków, natomiast w rozszerzeniu Compy Shop bit 5 decydował o niezależnym dostępie Antica.

* 1088kB RAMBO/576kB Compy Shop - rozszerzenia analogiczne do 576kB RAMBO/320kB Compy Shop, jednak dochodził tam dodatkowy bit sterujący: bit 1, który standardowo decyduje o włączeniu/wyłączeniu ROM-u z interpreterem Basica. W tym wypadku, gdy bit 4 miał wartość 1, bit 1 pełnił swoją rolę "po staremu", jednak w wypadku bitu 4 równego 0, bit 1 wraz z bitami 7,6,2,3,5 dawał możliwość wyboru 64 banków (+1 MB) w rozszerzeniu 1088kB RAMBO lub 32 banków (+512kB) z rozszerzeniem 576kB Compy Shop.

Komentarze

  • ~pitek 2009-01-07 20:46:02
    Ktoś chyba kiedyś kombinował nawet 2MB, ale chyba się gryzło z dużą częścią softu.