atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
KWAS #19 w Łodzi z 2020-01-22 17:57 (13)
Zmiany, zmiany na AOL! z 2020-01-19 19:22 (43)
Perełki z szuflady: "Noddy" z 2020-01-18 23:38 (20)
Po KWAS-ie #18 z 2020-01-17 00:01 (21)
Zaprzyjaźniona strona o C64 z 2020-01-15 21:59 (25)
KazKompo 2019 wystartowało! z 2020-01-12 21:16 (93)
"Another Pong" uwolniony! z 2020-01-09 17:10 (16)
KWAS nr 18 w Warszawie z 2020-01-05 00:19 (24)
Życzenia i konkursowe przypomnienie z 2019-12-31 01:46 (56)
Historia pewnego talizmanu z 2019-12-28 19:51 (47)
"Weronika" po latach z 2019-12-27 16:42 (12)
Z wizytą w muzeum w Katowicach z 2019-12-26 12:04 (9)
Wesołych Świąt! z 2019-12-24 16:06 (17)
Najnowsze gry w Mad-Pascalu z 2019-12-22 23:01 (36)
"Oni migają..." z Darkiem Żołną z 2019-12-20 00:24 (34)
PostKWAS z 2019-12-16 18:19 (16)
Cartridge Weekend 3+ z 2019-12-15 23:22 (20)
O grze "Monty on the Run" z 2019-12-15 01:30 (39)
Wywiad z Klaudiuszem Dybowskim z 2019-12-11 22:38 (17)
Wznowienie produkcji RAM-CART z 2019-12-11 04:15 (57)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier

Opisy gier
Submarine Commander opisał Kaz (7)
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (34)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (0)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (7)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (18)
Basil The Great Mouse Detective opisał Charlie Cherry (122)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
Rescue On Fractalus opisał Kaz (18)
«« nowszestarsze »»

Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
O rozszerzonej pamięci
Poprosiłem Adama "Asal" Salamona, który zaprojektował poprawione rozszerzenie pamięci Atari do 576kB i 1MB, aby podzielić się swoją wiedzą i w sposób prosty i przejrzysty dla nas, laików, wyłożył jakie są różnice, wady i zalety przeróżnych rozszerzeń montowanych do Atari. Poniżej jego pouczający opisik:

Rozszerzenia pamięci w Atari

"Jak wiadomo, w Atari dodatkową pamięć włącza się w postaci banku w obszarze $4000-$7fff. Ponieważ bank ten zajmuje 16kB, do rozszerzenia Atari o dodatkowe 64kB (tak jak w 130XE) potrzeba 4 banków, dla 256kB - 16 banków, dla 512kB - 32 banki, a dla 1MB aż 64 banki.

Numer banku trzeba oczywiście zapisać na określonej liczbie bitów, wynikającej z ogólnej liczby banków. I tak, dla dodatkowych 64kB potrzebujemy tylko dwóch bitów, dla 256kB - czterech, dla 512kB - pięciu a dla 1MB - sześciu. W Atari przyjęło się, że bity te pochodzą z rejestru PortB.

Projektant rozszerzenia pamięci musi więc w jakiś sposób przydzielić bity wybierające banki w rejestrze PortB licząc na to, że programy użytkowe będą umiały to potem wykryć. Przyjęto następujące przypisanie:

  • dla dodatkowych 64kB w standardzie 130XE - bity 2 i 3 PortB
  • dla dodatkowych 256kB w standardzie RAMBO - bity 2, 3, 5 i 6
  • dla dodatkowych 256kB w standardzie COMPY - bity 2, 3, 6 i 7
  • dla dodatkowych 512kB - bity 1, 2, 3, 6 i 7
  • dla dodatkowego 1MB - bity 1, 2, 3, 5, 6 i 7

Banki włączane są wtedy, gdy bit 4 PortB jest ustawiony na 0. W przeciwnym wypadku w obszarze $4000-$7fff włączana jest pamięć podstawowa.

Kompatybilność, wady, zalety

Z powyższego przypisania bitów wynika kilka problemów. Po pierwsze, nie wszystkie programy umieją wykryć całą dostępną pamięć, niektóre ograniczają się tylko do sprawdzania niektórych bitów PortB, skutkiem czego widziana przez nie pamięć jest mniejsza niż fizycznie zamontowana.

Po drugie, bity 7 i 1 w rozszerzniach o 512KB i 1MB sterują zarówno dostępem do SELF-TESTu (lub QMEG-a) i BASIC-a oraz wyborem banku pamięci. Problem ten rozwiązuje się w ten sposób, że stan bitów 7 i 1 jest "zapamiętywany" gdy aktywna jest pamięć podstawowa (bit 4 ma wartość 1) i ten zapamiętany stan steruje potem dostępem do SELF-TESTu i BASIC-a gdy będzie aktywna pamięć rozszerzona. Skutkiem tego, gdy włączona jest pamięć rozszerzona, stanu SELF-TESTu i BASIC-a nie można zmienić, ale nie jest to dużym problemem, gdyż programy na ogół tego nie robią.

Po trzecie i najważniejsze, w Atari 130XE przyjęto, że bit 5 będzie umożliwiał dostęp Anticowi do rozszerzonej pamięci. W skrócie chodzi o to, że gdy bit 5 PortB przyjmuje wartość 0 i Antic odczytuje pamięć obrazu z zakresu $4000-$7fff, zezwala mu się na dostęp do pamięci rozszerzonej. Gdy natomiast bit 5 ma wartość 1, przydziela się pamięć podstawową. Bit 4 PortB pełni w Atari 130XE podobną funkcję w odniesieniu do CPU.

rozszerzenie Asala: 576kB


Jak widać zatem, w rozszerzeniach RAMBO oraz 1MB bezpowrotnie tracimy możliwość niezależnego przydzielania pamięci Anticowi i CPU, gdyż bit 5 jest użyty do adresowania banku pamięci. W rozszerzeniach tych pamięć Anticowi i CPU przydziela się tylko na podstawie bitu 4. Niestety, fakt ten oznacza niższą kompatybilność, ponieważ są programy (np. "Atari Planetarium" oraz emulator Apple II), które wymagają niezależnego sterowania przydziałem pamięci rozszerzonej dla Antica i CPU. Skutkiem tego, w trybach RAMBO i 1MB na ekranie po uruchomieniu tych programów zobaczymy "krzaki". Aby temu zapobiec, w rozszerzeniu SIMM_EXPANSION (oraz w moim :) przewidziano przełącznik, zmniejszający o połowę pamięć rozszerzoną, ale za to przywracający kompatybilność.

2009-03-20 14:30 by Kaz
komentarzy: 1
mono @2015-01-13 12:29:54
1. W modelu XEGS bit 6 steruje jeszcze podłączeniem ROM-u cartridge'a z grą. Za Atariki: "W XEGS gdy BASIC jest wyłączony (bit 1=1), ustawienie tutaj 0 włącza ROM wbudowanej gry Missile Command.".
2. Po instalacji MapRAM bit 7 steruje włączaniem RAM leżącym pod układami I/O (a zwyczajnie niedostępnym) w obszarze $5000..$57FF. Za Atariki: "PORTB=%0x11xxx0 - włącz RAM $C000-$CFFF i $D800-$FFFF a RAM z adresów $D000-$D7FF mapuj do $5000-$57FF".
nickname
e-mail / website (opcjonalnie)
Aktualne tematy
Gravity Worms (286)
ostatni: 27-01-2020 17:58, pin
Symulator 6502 (15)
ostatni: 27-01-2020 16:21, Koval
Zmiany / usprawnienia na AOL (202)
ostatni: 27-01-2020 15:07, pirx
Do administratora (30)
ostatni: 27-01-2020 15:04, pirx
[S] Trochę gratów (19)
ostatni: 27-01-2020 15:04, tbxx
Atari 130XE server www ;) (142)
ostatni: 27-01-2020 14:32, TMJ
KazKompo 2019 (42)
ostatni: 27-01-2020 01:12, Adam
Jak zbudować i zaprogramować CART... (41)
ostatni: 26-01-2020 18:28, lopezpb
ATARI XE vs C64 (1237)
ostatni: 26-01-2020 13:04, Vidol
LiteDOS (131)
ostatni: 25-01-2020 23:43, pin
Ciekawostki (4460)
ostatni: 25-01-2020 18:18, archieil
Nowa gra od gorgha (453)
ostatni: 25-01-2020 14:27, gorgh
RAD Player (3)
ostatni: 25-01-2020 11:08, mono
Książka o polskim gamedevie i Ata... (76)
ostatni: 25-01-2020 03:36, Kaz
Książka "Gatunki cyfrowe" (5)
ostatni: 25-01-2020 02:40, Kaz

Kategorie Forum Atarum

Użytkowników: 2087
Ostatnio zarejestrowany: zak6
Postów ostatniej doby: 102

Społeczność/Community


Rozmawiali
F#READY i Dracon (21)
Daniel „Arctus” Kowalski i Dracon (25)
KATOD i TDC (13)
Mariusz Wojcieszek i "Adam" (16)
Romuald Bacza i Ramos (16)
Śledzenie Amentesa i Larek (9)
Leszek Łuciów i Charlie Cherry (17)
TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
Rob Jaeger i Emu (53)
Jacek "Tabu" Grad i Dracon (0)
Alexander "Koma" Schön i Kaz (0)
Maciej Ślifirczyk i Charlie Cherry (0)
Jarek "Odyniec1" Wyszyński i Kaz (0)
Marek Bojarski i Kaz (0)
Olgierd Niemyjski i Ramos (0)
Wolfgang Burger i Grey (0)
Mariusz "Ramos" Rozwadowski i Xeen (0)
Wywiad z Wojciechem Zientarą i Xeen (0)
Mateusz Stryjecki i Kaz (5)
Marcin Długosz i Kaz (16)
«« nowszestarsze »»

Najbliższe imprezy
Jeżeli znasz termin i miejsce jakiegoś zlotu albo spotkania milośników Atari to poinformuj nas. Tutaj możemy wstawić baner i link.

Stragan
Atari USBJoy Adapter oferuje Jakub Husak (0)
Programy: Kolony 2106 oferuje Kaz (6)
Sprzęt: rozszerzenia oferuje Lotharek (19)
Gadżety: naklejki, pocztówki oferuje Sikor (11)
Sprzęt: cartridge RAM-CART oferuje Zenon (7)
Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (51)
Sprzęt: interfejs SIO2IDE oferuje Piguła (0)
Sprzęt: interfejs SIO2SD oferuje Piguła (22)

Użytki/Utils
Sprzęt/Hardware

Wynalazki
Atari i Bluetooth napisał Kaz (33)
SIO2PC-USB napisał Larek (45)
Nowe SIO2SD napisał Larek (0)
SIO2SD w CA12 napisał Urborg (11)
Ratowanie ATMEL-ów napisał Yoohaas (12)
Projektowanie cartów napisał Zenon (12)
Joystick do Atari napisał Larek (54)
Tygrys Turbo napisał Kaz (9)
Testowałem "Simple Stereo" napisał Zaxon (3)
Rozszerzenie 1MB napisał Asal (20)
Joystick trzyprzyciskowy napisał Sikor (18)
Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
Jak wykonać płytkę drukowaną? napisał Zaxon (26)
Rozszerzenie 576kB napisał Asal (36)
Soczyste kolory napisał scalak (29)
XEGS Box napisał Zaxon (13)
Atari w różnych rolach napisał Różyk (8)
SIO2IDE w pudełku napisał Kaz (5)
Atari steruje tokarką napisał Kaz (15)
DarkMouse napisał Kaz (7)
«« nowszestarsze »»