Ram-Cart

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 10:21, 23 maj 2022
Mono (Dyskusja | wkład)
(Programowanie - bity zarezerwowane)
← Previous diff
Aktualna wersja
Mono (Dyskusja | wkład)
(1 MB)
Linia 1: Linia 1:
{{grafr|Ramcart.jpg}} {{grafr|Ramcart.jpg}}
-Rozszerzenie pamięci [[RAM]] do Atari [[XL]]/[[XE]] występujące w formie [[cartridge]]'a, produkowane przez łódzki zakład [[Unnering Masters]] a dokładnie Piotra Janiszowskiego, który był twórcą i początkowym wykonawcą (wersje do 1MB). +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 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. W projekcie pomagał [[Zenon]] "DIAL" Rakoczy który tworzył schematy, brał udział w testowaniu.
Linia 11: Linia 11:
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. 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.
-== 64KB ==+== 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). 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).
Linia 18: Linia 18:
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. 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.
-== 128KB ==+== 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) 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)
Linia 24: Linia 24:
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). 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 2x128KB / 256KB ==+== Double Ram-Cart 2x128 KB / 256 KB ==
Dodatkowy przycisk P1 pozwala na wybór jednego z dwóch trybów pracy: Dodatkowy przycisk P1 pozwala na wybór jednego z dwóch trybów pracy:
Linia 35: Linia 35:
{{grafr|Ramcart32mb.jpg}} {{grafr|Ramcart32mb.jpg}}
-== 1MB ==+== 1 MB ==
Cartridge powstały na bazie wersji 128KB. Cartridge powstały na bazie wersji 128KB.
-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 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 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 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).
-== 2MB ==+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. Rozszerzenie cartridge-a 1MB o dodatkowy 1MB.
Linia 49: Linia 51:
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). 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).
-== 4MB ==+== 4 MB ==
Rozszerzenie cartridge-a 1MB o dodatkowe 3MB. Rozszerzenie cartridge-a 1MB o dodatkowe 3MB.
Linia 62: Linia 64:
==Programowanie== ==Programowanie==
-Rejestr sterujący układu znajduje się pod adresem $D500 (aczkolwiek ze względu na uproszczony dekoder adresów jest on powtórzony na całej stronie $D5).+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 0: włącza moduł w obszarze $A000 - $BFFF;+* bit 1: włącza dolne 8KB banku pamięci cartridge-a w obszarze $8000 - $9FFF; w obydwu trybach: 1 - włączony, 0 - wyłączony
-w trybie RO (odczytu): 0 włączony, 1 wyłączony a+* 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
-w trybie RW (zapisu): 1 włączony, 0 wyłączony+* 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 1: włącza moduł w obszarze $8000 - $9FFF; 1 włączony, 0 wyłączony+* 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 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 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).
-- bit 3: przełącza bank pamięci we wszystkich modułach+
- +
-- bit 4: przełącza bank pamięci we wszystkich modułach+
- +
-- bit 5: przełącza bank pamięci w module 128/256K i 1/2/4/8/16/32M+
- +
-- bit 6: przełącza bank pamięci w module 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku B+
- +
-- bit 7: przełącza bank pamięci w module 8/16/32M oraz zmodyfikowanym 1/2/4M, w fabrycznym zwraca stan przycisku C+
- +
-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 8M, 16M i 32M wprowadzono dodatkowy rejestr pod adresem $D501 służący do wyboru banku 1M:+
- +
-- bit 0: przełącza bank pamięci w module 8/16/32M+
- +
-- bit 1: przełącza bank pamięci w module 8/16/32M+
- +
-- bit 2: przełącza bank pamięci w module 8/16/32M+
-- bit 3: przełącza bank pamięci w module 16/32M+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
-- bit 4: przełącza bank pamięci w module 32M+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
-- bit 5-7: zarezerwowane dla większych pojemności+a w wersji 1M Zenona:
 + MODSEL BANKCTL
 + $D501 $D500
 +
 + -----210 --543--- bit
 + ::: :::
 + -----+++ --+++--- 1 MB
== Oprogramowanie == == Oprogramowanie ==
Linia 130: Linia 146:
* [[SiDiCar]] * [[SiDiCar]]
* [http://raster.atariportal.cz/hw/ramcart/ramcart.htm S/XEGS RAMCART 128KB] * [http://raster.atariportal.cz/hw/ramcart/ramcart.htm S/XEGS RAMCART 128KB]
 +* [[AVG-Cart]]
[[Kategoria:Peryferia 8-bit]] [[Kategoria:Peryferia 8-bit]]
[[Kategoria:Schematy i specyfikacje]] [[Kategoria:Schematy i specyfikacje]]

Aktualna wersja

Grafika:Ramcart.jpg

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 (!).

Grafika:Ramcart32mb.jpg

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

Schematy

Odnośniki zewnętrzne

Zobacz też

Personal tools