Ram-Cart: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Mono (dyskusja | edycje)
m →8, 16 i 32 MB: cart bazowy
Mono (dyskusja | edycje)
 
(Nie pokazano 21 wersji utworzonych przez 3 użytkowników)
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: nieużywane
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 z 16 maj 2023, 10:43

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.

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

Schematy

Odnośniki zewnętrzne

Zobacz też