Ram-Cart
From Atariki
Wersja z dnia 10:43, 7 maj 2023 Mono (Dyskusja | wkład) (→Programowanie) ← Previous diff |
Aktualna wersja Mono (Dyskusja | wkład) (→1 MB) |
||
Linia 39: | Linia 39: | ||
Cartridge powstały na bazie wersji 128KB. | Cartridge powstały na bazie wersji 128KB. | ||
- | W początkowej wersji od pana Zenona rejestr sterujący BANKCTL ma znaczenie identyczne, jak w wersji 128KB (bity 6 i 7 są nieużywane). Dodany został rejestr MODSEL za pomocą którego dokonuje się wyboru modułu 128K. | + | W początkowej wersji od pana Zenona rejestr sterujący BANKCTL ma znaczenie identyczne, jak w wersji 128KB (bity 6 i 7 są nieużywane), oraz dodany został rejestr MODSEL za pomocą którego dokonuje się wyboru modułu 128K. |
- | W późniejszej wersji Galtrona z obudowy zniknęły przyciski P1 i P2, za to pojawiły się przyciski A, B i C pozwalające na wybór 1 z 8 modułów 128K. | + | W późniejszej wersji Galtrona z obudowy zniknęły przyciski P1 i P2, za to pojawiły się przyciski A, B i C pozwalające na wybór 1 z 8 modułów 128K i wszystko obsługuje się rejestrem BANKCTL (zniknął MODSEL). |
W firmowej wersji cartridge-a bity 2, 6 i 7 służą do odczytu stanu przycisków A, B i C. Po rozkręceniu obudowy można zalutować zworki dzięki czemu przyciski A, B i C tracą swoją funkcję, a bity te służą do wybierania banków w pełnym obszarze 1MB. | W firmowej wersji cartridge-a bity 2, 6 i 7 służą do odczytu stanu przycisków A, B i C. Po rozkręceniu obudowy można zalutować zworki dzięki czemu przyciski A, B i C tracą swoją funkcję, a bity te służą do wybierania banków w pełnym obszarze 1MB. | ||
Linia 73: | Linia 73: | ||
* bit 6: przełącza bank pamięci w cartridge-u 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku B, w wersji 1M pana Zenona niewykorzystany | * bit 6: przełącza bank pamięci w cartridge-u 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku B, w wersji 1M pana Zenona niewykorzystany | ||
* bit 7: przełącza bank pamięci w cartridge-u 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku C, w wersji 1M pana Zenona niewykorzystany | * bit 7: przełącza bank pamięci w cartridge-u 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku C, w wersji 1M pana Zenona niewykorzystany | ||
- | W cartridge-ach 64K i 128K rejestr był przeznaczony tylko do zapisu. W pierwszych wersjach Double Ram-Cart 2x128/256K i Ram-Cart 1M od Zenona początkowo również tak było, choć w późniejszych egzemplarzach został udostępniony również do odczytu, a dodatkowo Zenon zmodyfikował konstrukcję i wykorzystał pełny dekoder adresów (rejestr sterujący dostępny jest wtedy tylko pod adresem $D500). | + | W cartridge-ach 64K i 128K rejestr był przeznaczony tylko do zapisu. W pierwszych wersjach Double Ram-Cart 2x128/256K i Ram-Cart 1M od Zenona początkowo również tak było, choć w późniejszych egzemplarzach został udostępniony również do odczytu (co pozwala zorientować się w aktualnym położeniu przełączników RW oraz A, B i C), a dodatkowo Zenon zmodyfikował konstrukcję i wykorzystał pełny dekoder adresów (rejestr sterujący dostępny jest wtedy tylko pod adresem $D500). |
W cartridge-ach 8M, 16M i 32M (oraz wersji 1M pana Zenona) pod adresem $D501 wprowadzono dodatkowy rejestr MODSEL służący do wyboru modułu 1M: | W cartridge-ach 8M, 16M i 32M (oraz wersji 1M pana Zenona) pod adresem $D501 wprowadzono dodatkowy rejestr MODSEL służący do wyboru modułu 1M: | ||
Linia 110: | Linia 110: | ||
$D501 $D500 | $D501 $D500 | ||
- | -----210 -----543 bit | + | -----210 --543--- bit |
- | ::: ::: | + | ::: ::: |
- | -----+++ -----+++ 1 MB | + | -----+++ --+++--- 1 MB |
== Oprogramowanie == | == Oprogramowanie == |
Aktualna wersja
Rozszerzenie pamięci RAM do Atari XL/XE występujące w formie cartridge'a, produkowane przez łódzki zakład Unerring Masters a dokładnie Piotra Janiszowskiego, który był twórcą i początkowym wykonawcą (wersje do 1MB). W późniejszym czasie dołączył Przemysław "GALTRON" Galanciak, który zajmował się projektowaniem płytek, wykonaniem ich wraz z montażem elementów. W projekcie pomagał Zenon "DIAL" Rakoczy który tworzył schematy, brał udział w testowaniu.
Pamięć jest podtrzymywana bateryjnie.
Pierwowzorem układu był SiDiCar.
Obecnie układ można też spotkać w wersji z przyciskiem RESET oraz w formie Double Ram-Cart, który różni się od zwykłej wersji tym, że ma podwojoną liczbę układów pamięci - co daje już przyzwoitą pojemność - 256KB, a nawet (przy drobnych modyfikacjach) do 1MB.
Spis treści |
64 KB
RAM-CART 64k produkowany był w dwu wersjach różniących się zastosowaną pamięcią SRAM. Różnica polega na odmiennym sterowaniu wejściem zapisu E (/E), stąd w wersji 2 (oznaczonej na schemacie) pojawiły sie dodatkowe bramki logiczne 7403 typu otwarty kolektor (OC).
Płytka przygotowana była dla wersji 64k i 128k. W zależności od modelu dokonywano na niej modyfikacji. Model 64k - tylko dwie pamięci SRAM, tylko dwa oporniki 10k, brak zwory łączącej pin 12 układu 74174 i pinami 11,12 układu 7402 oraz pinami 9, 12 układu 7403. Te cztery piny połączone są zworą do +5V.
128 KB
Model 128k - nalutowane dwie dodatkowe pamięci SRAM, wlutowane dwa dodatkowe oporniki 10k, wlutowana zwora łączące pin 12 układu 74174 z pinami 11,12 układu 7402 oraz pinami 9, 12 układu 7403. Wejścia /CS dodatkowych pamięci połączone są odpowiednio z pinami 3, 6 układu 7403 (patrz schemat RAM-CART 128k wersja 2)
RAM-CART 128k produkowany był w dwu wersjach różniących się zastosowaną pamięcią SRAM. Różnica polega na odmiennym sterowaniu wejściem zapisu E (/E), stąd w wersji 2 (oznaczonej na schemacie) pojawiły sie dodatkowe bramki logiczne 7403 typu otwarty kolektor (OC).
Double Ram-Cart 2x128 KB / 256 KB
Dodatkowy przycisk P1 pozwala na wybór jednego z dwóch trybów pracy:
- 2x128K - wtedy cartridge zachowuje się jak dwa oddzielne moduły 128K
- 256K - cartridge zawiera 256K pamięci a bit 2 w rejestrze konfiguracyjnym służy do wyboru numeru banku
Dodatkowy przycisk P2 pozwala przełączać się między modułami 128KB w obydwu trybach pracy (!).
1 MB
Cartridge powstały na bazie wersji 128KB.
W początkowej wersji od pana Zenona rejestr sterujący BANKCTL ma znaczenie identyczne, jak w wersji 128KB (bity 6 i 7 są nieużywane), oraz dodany został rejestr MODSEL za pomocą którego dokonuje się wyboru modułu 128K.
W późniejszej wersji Galtrona z obudowy zniknęły przyciski P1 i P2, za to pojawiły się przyciski A, B i C pozwalające na wybór 1 z 8 modułów 128K i wszystko obsługuje się rejestrem BANKCTL (zniknął MODSEL).
W firmowej wersji cartridge-a bity 2, 6 i 7 służą do odczytu stanu przycisków A, B i C. Po rozkręceniu obudowy można zalutować zworki dzięki czemu przyciski A, B i C tracą swoją funkcję, a bity te służą do wybierania banków w pełnym obszarze 1MB.
2 MB
Rozszerzenie cartridge-a 1MB o dodatkowy 1MB.
Dodatkowy przycisk 1/2M na obudowie w kooperacji z A, B i C pozwala wybrać 1 z 16 modułów 128K (1 z 2 modułów 1M po przelutowaniu zworek ABC).
4 MB
Rozszerzenie cartridge-a 1MB o dodatkowe 3MB.
Dodatkowe przyciski D i 2/4M na obudowie w kooperacji z A, B i C pozwalają na wybór 1 z 32 modułów 128K (1 z 4 modułów 1M po przelutowaniu zworek ABC).
8, 16 i 32 MB
Rozszerzenie cartridge-a w wersji 1MB do 8, 16 i 32MB pamięci.
Zrezygnowano z przycisków A, B, C, D, 2/4M na rzecz wprowadzenia dodatkowego rejestru wybierającego bank pamięci (faktycznie wybierany jest bank 1MB) co pozwala na całkowicie programową konfigurację banków.
Programowanie
Bank pamięci cartridge-a liczy sobie 16KB i jest konfigurowany za pomocą rejestru sterującego BANKCTL znajdującego się pod adresem $D500 (aczkolwiek ze względu na uproszczony dekoder adresów jest on powtórzony na całej stronie $D5):
- bit 0: włącza górne 8KB banku pamięci cartridge-a w obszarze $A000 - $BFFF; w trybie RO (odczytu): 0 - włączony, 1 - wyłączony, a w trybie RW (zapisu) przeciwnie: 1 - włączony, 0 - wyłączony
- bit 1: włącza dolne 8KB banku pamięci cartridge-a w obszarze $8000 - $9FFF; w obydwu trybach: 1 - włączony, 0 - wyłączony
- bit 2: ustawiony blokuje rejestr do momentu wyłączenia komputera (w module 64/128K/2x128K), przełącza bank pamięci w module 256K oraz 8/16/32M, a także w zmodyfikowanych 1/2/4M, w fabrycznych wersjach zwraca stan przycisku A
- bit 3: przełącza bank pamięci we wszystkich rodzajach cartridge-y
- bit 4: przełącza bank pamięci we wszystkich rodzajach cartridge-y
- bit 5: przełącza bank pamięci w cartridge-u 128/256K i 1/2/4/8/16/32M
- bit 6: przełącza bank pamięci w cartridge-u 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku B, w wersji 1M pana Zenona niewykorzystany
- bit 7: przełącza bank pamięci w cartridge-u 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku C, w wersji 1M pana Zenona niewykorzystany
W cartridge-ach 64K i 128K rejestr był przeznaczony tylko do zapisu. W pierwszych wersjach Double Ram-Cart 2x128/256K i Ram-Cart 1M od Zenona początkowo również tak było, choć w późniejszych egzemplarzach został udostępniony również do odczytu (co pozwala zorientować się w aktualnym położeniu przełączników RW oraz A, B i C), a dodatkowo Zenon zmodyfikował konstrukcję i wykorzystał pełny dekoder adresów (rejestr sterujący dostępny jest wtedy tylko pod adresem $D500).
W cartridge-ach 8M, 16M i 32M (oraz wersji 1M pana Zenona) pod adresem $D501 wprowadzono dodatkowy rejestr MODSEL służący do wyboru modułu 1M:
- bit 0: przełącza moduł pamięci w cartridge-ach 8/16/32M i 1M od Zenona
- bit 1: przełącza moduł pamięci w cartridge-ach 8/16/32M i 1M od Zenona
- bit 2: przełącza moduł pamięci w cartridge-ach 8/16/32M i 1M od Zenona
- bit 3: przełącza moduł pamięci w cartridge-ach 16/32M
- bit 4: przełącza moduł pamięci w cartridge-ach 32M
- bit 5-7: zarezerwowane dla większych pojemności
Można w uproszczeniu przyjąć, że za numer banku pamięci odpowiadają następujące bity rejestrów:
MODSEL BANKCTL $D501 $D500 ---43210 762543-- bit ::::: :::::: model ---::::: ::::++-- 64 KB ---::::: :::+++-- 128 KB ---::::: ::++++-- 256 KB ---::::: ++++++-- 1 MB ---::::* ++++++-- 2 MB ---:::** ++++++-- 4 MB ---::+++ ++++++-- 8 MB ---:++++ ++++++-- 16 MB ---+++++ ++++++-- 32 MB :: ::: przycisk :: ::+----- A w 1M/2M/4M :: :+------ B w 1M/2M/4M :: +------- C w 1M/2M/4M :+--------- 1/2 w 2M :+--------- D w 4M +---------- 2/4 w 4M
a w wersji 1M Zenona:
MODSEL BANKCTL $D501 $D500 -----210 --543--- bit ::: ::: -----+++ --+++--- 1 MB
Oprogramowanie
Wszystkie potrzebne pliki do obsługi RAM CART-ów, które zostały opisane w instrukcjach są dostępne poniżej.
Plik z oprogramowaniem w formacie ATR
Bibliografia
- Konrad Kokoszkiewicz, "RAM-CARTRIDGE dla Atari XL/XE", Bajtek 11/1992 (w Atarionline.pl), s. 12-13
- Instrukcja obsługi (aktualne wersje)
- Instrukcja obsługi (poprzednie wersje)
Schematy
- Schemat wersji 64k
- Schemat wersji 64k - wersja druga
- Schemat wersji 128k - wersja oryginalna
- Schemat wersji 128k - wersja zmodyfikowana, autorstwa Zenona/Dial
- Schemat wersji 128k - wersja druga
- Schemat wersji 2x128k/256k - Double Ram-Cart
Odnośniki zewnętrzne
- RAM-CART Handler - TA 10/93 - instaluje dodatkowy dysk używający Ram-Carta
- Dial Group - oprogramowanie
- Double Ram-Cart - opis oprogramowania
- Artykuły w SERIOUS#8,#9,#10 i #11 dotyczące różnych modyfikacji Ram-Carta