MapRAM - dodatkowa pamięć w Atari by Xeen 2012-07-11 22:26:57
Znany doskonale społeczności atarowej Krzysztof "XXL" Dudek
opisał sposób na uzyskanie dodatkowej pamięci do potencjalnego
wykorzystania w małym Atari. MapRAM, bo o tym mowa, to
rozszerzenie MMU, które udostępnia
dodatkowe 2KB RAM bez instalacji rozszerzenia pamięci. Zapraszam do
lektury:
W Atari „pod” ROM-em znajduje się pamięć RAM, można ją włączyć
wpisując odpowiednią wartość do rejestru PORTB. Operacja ta
umożliwia dostęp do 62KB RAM. Ale przecież Atari ma 64KB RAM, gdzie
podziały się 2KB? W miejscu gdzie są umieszczone rejestry sprzętowe
$D000-$D7FF znajduje się 2KB ROM w którym zapisany jest SELF TEST –
zapis do rejestru PORTB pozwala „widzieć” ROM z SELF TEST od adresu
$5000, natomiast 2KB RAM leżące „pod” SELF TEST nie jest
wykorzystywany.
Nie jest możliwe włączenie tej pamięci ponieważ MMU Atari ignoruje
kombinację bitów w rejestrze PORTB umożliwiającą taką konfigurację.
Simius przeprogramował MMU Atari i teraz 2KB RAM, które normalnie
znajduje się pod rejestrami sprzętowymi można włączyć w obszar SELF
TESTu czyli od $5000-$57FF.
$D000-$D7FF - Atari HW
$D000-$D7FF - SELF TEST ROM
$D000-$D7FF - niedostępny RAM
PORTB
bit 7: podstawowy RAM $5000-$57FF (1); SELF TEST $5000-$57FF
(0)
bit 5: $4000-$7FFF ANTIC podstawowy RAM (1); rozszerzenie RAM
(0)
bit 4: $4000-$7FFF CPU podstawowy RAM (1); rozszerzenie RAM (0)
bit 0: ROM $C000-$CFFF & $D800-$FFFF (1); RAM $C000-$CFFF &
$D800-$FFFF (0)
Standardowo można ustawić:
0xxxxxx1 - ROM z adresów $D000-$D7FF (z SELF TEST) mapuj do
$5000-$57FF
1xxxxxx0 - wyłącz ROM - czyli w adresach $C000-$CFFF i $D800-$FFFF
mamy RAM
i dodatkowo MapRAM:
0x11xxx0 - włącz RAM w adresach $C000-$CFFF i $D800-$FFFF a RAM
spod rejestrów sprzętowych $D000-$D7FF mapuj do $5000-$57FF. Bity odpowiedzialne za dostęp CPU i ANTICa do pamięci muszą być
ustawione co oznacza wykorzystywanie podstawowej pamięci RAM przy
włączonym MapRAM i 100% zgodności z rozszerzeniami pamięci. MapRAM
nie zmienia sposobu działania żadnych rozszerzeń pamięci i może być
użyte łącznie z nimi, czyli można mieć dowolne rozszerzenie pamięci
oraz MapRAM bez kolizji.
Za Atariki: "w serii XL/XE wszelkie przeróbki pamięci wymagają
wymiany bądź przeprogramowania MMU"; więc jeśli instalujesz w Atari
rozszerzenie pamięci może warto pomyśleć też o MapRAM? Jaka jest
zaleta MapRAM: bez konieczności instalacji dodatkowej pamięci mamy
w Atari ekstra 2KB nigdy wcześniej nie używanego RAM, która nie
koliduje z rozszerzeniami pamięci, nie jest kasowana po RESET i co
najważniejsze - żaden program ani gra nie włączy i nie nadpisze
danych w tym obszarze. Dla tych, którzy nie mają Atari, nie są
zainteresowani instalacją MapRAM lub rozszerzenia pamięci z MapRAM
rozwiązaniem jest emulator Altirra, w którym można już włączyć to
rozszerzenie.
Kto ma pomysł na wykorzystanie tej pamięci? Wkrótce przedstawimy
jedną z możliwości! :smile:
larek 2012-07-11 23:05:49
"i co najważniejsze - żaden program ani gra nie włączy i nie nadpisze danych w tym obszarze."
Do czasu! Być może dotychczasowe programy i gry nic tam nie zapiszą, ale przecież chodzi o to, żeby udostępnić ten obszar dla programistów, więc, jak każdy zacznie wykorzystywać te 2KB, to powyższe założenie straci sens. xeen 2012-07-11 23:11:39
kontekst jest taki, że chodziło właśnie o dotychczasowe programy - przynajmniej ja tak to rozumiem :) xxl 2012-07-11 23:52:56
autorem rozszerzenia jest Simius. http://atariki.krap.pl/index.php/MapRAM jhusak 2012-07-12 00:24:00
Dla mnie bomba, można tam umieszczać jakieś monitory i freezery softwareowe, ew prosty system dyskowy. nosty 2012-07-12 08:10:43
Jesli zmiana jest tak prosta, to faktycznie nowopowstale rozszerzenia, ktore wymagaja kawalka pamieci dla siebie powinny dokladac to "w pakiecie". I tworcy tych urzadzen (a nie ma ich duzo) mogliby sie podzielic tym "tortem" zeby nie wchodzic sobie w parade. Ae z reakcji jakie widzialem na AA to pomysl XXL'a raczej nie przypadl publice do gustu. Malo kto sie ucieszyl z dodatkowych wolnych 2kB. A za granicą ludzie są wogole duzo mniej sklonni do jakichkolwiek ingerencji, cieszą sie Atari takim jakie bylo 30 lat temu. Takze te 2kB bedzie to raczej ciekawostką niz standardem. xxl 2012-07-12 09:25:14
standard? standard jest ustalony od okolo 30 lat i sie nie zmieni. cuda, ktore sie przez te lata pokazaly to rozszerzenia; do standardu nigdy nie wejda Pecus 2012-07-12 09:29:43
Ech xxlu więc to "cudo" które zaproponowałeś też ze standardem nie ma nic wspólnego. xxl 2012-07-12 09:41:47
to jest rozszerzenie. absolutny "mast" tego lata. dostepny w kolorze zblizonym do koloru oryginalnego MMU. adv 2012-07-12 10:18:41
Dwa kb za free. Wystarczy przeprogramować MMU. adv 2012-07-12 10:19:19
Nie bądźmy gorsi od c64! xD mono 2012-07-12 10:44:26
Czy wystarczy tylko przeprogramowanie mmu, czy trzeba jeszcze coś lutować? Nawet jeden kabelek? electron 2012-07-12 11:33:18
W imię tych dwóch kilobajtów dla użytkownika rozwalamy inne urządzenia, które je wykorzystują do własnych celów - smutek i żal. Taka beztroska, dziecinna zabawa "oj, znalazłem dwa kilobajty, ajajaj super". Pa. xxl 2012-07-12 12:37:11
@mono: zestaw to podstawka i MMU, podstawka ma polaczone niektore nozki, od podstawki wychodzi tez jeden kabelek ok. 5 cm polaczony z jakims dzyndzlem na plycie glownej ;-) techniczne pytanie lub o schemat kierowac najlepiej do Simiusa.
@electron: nowe urzadzenia wykorzystuja inny obszar $D800-$DFFF http://atariki.krap.pl/index.php/Nowe_urz%C4%85dzenia jell 2012-07-12 14:32:54
xxl: z nowych urzadzen ktore wykorzystuja to miejsce masz karinke, side, ultimate i chyba ide+ czy idea - czyli generalnie tam, gdzie trzeba miec bufor na sektor, bo to po prostu kawalek ramu dostepny dla urzadzen, a defaultowo nie dostepny dla proca.
no ale skoro nie masz zadnego z tych urzadzen to i ci zwisa z nimi konfliktowosc...
ps. uczenie przez Ciebie electrona co wykoszystuja a czego nie nowe urzadzenia - jest po prostu zabawne... xxl 2012-07-12 14:49:04
mylisz sie jell, ale to czesty blad. nowe urzadzenia podmieniaja swoja pamiec w obszar $d800-$dfff. nie koliduja z MapRAM. 0xF 2012-07-12 15:15:03
Przynajmniej w przypadku Karin Maxi muszę przyznać rację xxlowi, że korzysta z własnego ROMu $D800-$DFFF, a nie standardowego RAMu $D000-$D7FF, jak twierdzi jell. candle 2012-07-12 15:26:42
0xF: napewno? aktualna wersja również? zauważ, że nie posiada własnego ramu, a bufor by się jej bardzo przydał map ram koliduje z ultimate, freezerami, incognito i side pracujacym w trybie pbi - ono również nie posiada wlasnego ramu na bufor/zmienne i kożysta z ramu pod IO xxl 2012-07-12 15:39:36
tak, aktualna wersja rowniez. nowe urzadzenia nie moga ingerowac w ta pamiec. chyba ze cos im pomoze - moze ultimate ;-) 1. freezer koliduje ze wszystkim rowniez z ultimate i incognito. 2. incognito nie jest urzadzeniem do atari serii xl/xe 3. side nie jest nowym urzadzeniem tylko cardridge a jako taki nie ma mozliwosci ingerencji w MMU - nie moze kolidowac :-) 4. problem moze byc z ultimate. z ktorym modulem ultimate? z modulem rozszerzenia pamieci nie, z modulem zegara nie z modulem sparty tez nie... jell 2012-07-12 16:02:18
0xF: pisalem o nowej wersji karinki ktora powstaje - tj. to o czym pisal candle...
xxl: raz jeszcze moze poloze nacisk na to co Ci umknelo w tym co candle pisal - urzadzenia pbi (side dopiero dzieki ultimate to potrafi) potrzebujace bufor na sektor, a nie majace wlasnego ramu.
domyslam sie ze skoro "ustaliles nowy standard" te urzadzenia powinny byc przeprojektowane, bo gryza sie z "ustalonym standardem". jhusak 2012-07-12 16:12:30
A ja nie rozumiem. Przecież w Atari wszystko ze wszystkim koliduje. Zawsze można wywalić dos nadpisując go, można pisać z własnego programu po SIDE i innych urządzeniach. Kolizje rozwiązuje się "na gębę". To dlaczego by tu nie ustalić "na gębę"? xxl 2012-07-12 16:36:59
@jell: trudno dyskutowac z kim, kto (jak w poprzednim poscie) w jednym zdaniu umiesci 8 bzdur. a w tym teraz: 1. karin jest nowym urzadzeniem (w nowej wersji tez) i nie moze kolidowac z MapRAM. 2. side nie jest nowym urzadzeniem tylko cartem i tez nie moze kolidoewac z mapram. wspominasz o ultimate wiec byc moze to ultimate koliduje ale nie modul rozszerzenia pamieci ultimate, nie zegar ultimate i nie sparta ultimate. 0xF 2012-07-12 16:43:59
Jak napisał jhusak. Wystarczy opracować tabelkę, które rozszerzenie koliduje z którym. jhusak 2012-07-12 16:46:51
A czy jest prosta możliwość wyłączenia tej funkcjonalności bez przełączania przełącznikiem 18 nóżek (gdy są 2 mmu na barana) xxl 2012-07-12 17:19:23
swietny pomysl z ta tabelka kolizji. moja propozycja ponizej. prosze skorygowac jesli jest gdzies blad - zwlaszcza z freezerem. po korekcie poprosimy o dodanie do artka.
? - nie wiem . - brak kolizji - - nie dotyczy x - kolizja Pecus 2012-07-12 17:36:14
Główna kolizja będzie z każdym Freezerem. Wszystkie znane mi Freezery (raptem dwa rodzaje) stosują trick działający tak, że zapisy do rejestrów We/Wy powodują równolegle zapis do RAM pod tymi rejestrami. Dzięki temu po zatrzymaniu programu freezer przemapowuje sobie ten RAM w inne miejsce i można odczytać to co było ostatnio zapisywane do rejestrów tylko do zapisu, czyli tych, które w odczycie zwracają stan innego wewnętrznego rejestru danego układu. xxl 2012-07-12 17:44:28
zgadza sie. kolizja Freezera z Ultimate1M i z MapRAM zaznaczona. B3ar_ 2012-07-12 19:09:45
Jell to głupek. Jego cała wiedza pochodzi z tak znanych periodyków, jak "Reader's Digest", "Fakty i Mity", "pudelek.pl" i podobne "czołowe" pozycje oraz z forów, na których wyłącznie troluje i powtarza zasłyszane teorie, jako swoje własne. Najlepiej jest olać gostka i robić swoje. A MapRAM chętnie sobie zainstaluję w atarce, jak tylko znajdę jakaś działającą... W końcu jest to komputer do gier, nie? ;))) Amun-Ra 2012-07-12 19:26:33
Kawał porządnej, nikomu nie potrzebnej roboty. pasjonat 2012-07-12 19:30:29
@B3ar: święta prawda, gościu nie wie o czym mówi a udaje mądrego. jell 2012-07-12 19:59:39
xxl: side dzieki ultimate dziala jako new device xeen 2012-07-12 21:18:44
@Amun-Ra - to się jeszcze okaże, przeczytaj ostatnie zdanie:) pin 2012-07-12 21:26:15
... wykorzystać te 2kB na obsługę nowych, lub modzonych starych rozszerzeń! - niezwykle bezkolizyjne rozwiązanie pod warunkiem ustalenia normalnego standardu. Jest ku temu okazja. Bluki 2012-07-12 21:29:21
Jedyne zastosowanie, jakie ja widzę, to miejsce na krótkie programy narzędziowe dal koderów. I chyba tylko takie. nosty 2012-07-12 21:39:42
Przypomnialo mi sie slynne zdanie Kisielewskiego ze "socjalizm bohatersko rozwiązuje problemy nieznane w żadnym innym ustroju" :) Wy podoobnie :P
Jakie Ultimate, jaka paralela?! Co to wogóle jest...?! Przecież każdy wie, ze Atari to taki komputer, ktory wlacza sie trzymając rozciapiżone palce prawej ręki, potem robi BUUUU... i juz :) Pokażcie mi jeden taki wątek jak ten na forach C64 albo ZX.
No, ale pewnie wszycy dwaj posiadacze freezera do Atari śledzą Waszą dyskusje z wypiekami na twarzy... Idzie Wy pisac gry albo w ostatecznosci dema! Glucholazy coraz blizej. jury 2012-07-12 22:51:47
@nosty. Zostaw ich w spokoju! ;) To dla nich ważne!!! :]]] xxl 2012-07-12 23:08:39
@Bluki: neeee, programy pisze sie na pc, krosskompiluje, szybciej, latwiej, wygodniej... Kaz 2012-07-12 23:27:02
Wrrr... B2ar - prosze mi tu nie rzucac obelgami, bo sie pozegnasz z komentowaniem. jhusak 2012-07-13 07:16:48
A mnie ciekawość zżera, jaka to jedna z możliwości zastosowania dodatkowego RAM. larek 2012-07-13 08:40:14
Hi-score xxl 2012-07-13 09:30:42
zgadza sie, opisywany pomysl z 2008 dojrzal i doczekal sie realizacji :-)
? - brak danych . - dziala - - nie dotyczy x - kolizja
ktos od QMEGA moglby sie wypowiedziec na temat kompatybilnosci tego rozszerzenia ze Sparta i Ultimate1M? larek 2012-07-13 10:22:22
SDX działa z QMEG, choć przy uruchamianiu systemu potrzebny jest program (nie pamiętam nazwy), który pobudzi SDX do życia. xxl 2012-07-13 10:35:01
ok. ale to kwestia programowa. chodzi mi glownie o kompatybilnosc na poziomie sprzetu np. jesli ktores rozszerzenie do wspolpracy z innym potrzebuje wylaczyc jakas swoj modul. the fender 2012-07-13 11:24:21
Ufff, jakoś przebrnąłem przez te komentarze (wiem, nikt mi nie kazał ale lubię) i moja refleksja jest taka:
@nosty +5
... niemniej cieszy każdy nowy ruch w sektorze Atari :) xxl 2012-07-14 18:39:52
Emulatory atari w ktorych mozna przetestowac dzialanie MapRAM: