trub.atari8.info
     


  Strona główna

SDX upgrade

CP/M
:: SRAMCharger
:: Indus CP/M


Programy

Kontakty

In English

   

 


 

SRAMCharger

[English version]

Klonowanie RamChargera

Producent stacji Indus GT, krótko przed zakończeniem działalności oferował kartę rozszerzającą Indus RamCharger oraz system CP/M, pracujący z procesorem Z80, w jaki stacja dysków była wyposażona. Zdjęcia istniejących egzemplarzy karty RamCharger pozwalają stwierdzić, że posiadała ona m.in. 64kB pamięci RAM (dynamicznej) oraz układ typu PAL sterujący rozszerzeniem. Skopiowanie karty byłoby więc zadaniem trudnym. Na szczęście zachowały się (częściowo uszkodzone) obrazy dyskietek systemu CP/M przystosowanego do Indus GT oraz schematy elektroniczne stacji. Na podstawie ich analizy okazało się, że sposób zarządzania pamięcią przez oprogramowanie oraz rozwiązania sprzętowe istniejące w zwykłej, nierozszerzonej stacji umożliwiają dołączenie dodatkowej, wymaganej przez CP/M pamięci w stosunkowo prosty sposób.

Stacja Indus GT z zamontowaną kartą RamCharger

Stacji Indus GT w Polsce jest niewiele. Okazuje się jednak, że popularna "czarna" stacja LDW Super 2000 jest, nie tylko wizualnie klonem Indusa. Różnice sprowadzają się do innego układu zasilającego oraz obsługi napędu Roctec (zamiast oryginalnego Tandon). Choć płytka elektroniki jest przeprojektowana, pozostawiono na niej elementy niezbędne dla naszego rozszerzenia. Prawdopodobnie w firmie LDW (czy Karen) nie zdecydowano się ich wyrzucić (choć pewnie nie wiadomo było po co one są ;). Dzięki temu budowa karty pamięci jest dość prosta, tym bardziej, że użyjemy pamięci statycznej, zamiast dynamicznej (stąd SRAMCharger ;)). Trochę więcej pracy jest w stacji CA-2001, powstałej na podstawie LDW, ale tutaj również nie ma poważniejszych utrudnień. Przeróbki płyty głównej stacji nie zmieniają jej funkcjonalności (jeżeli zdecydujemy się zbudować rozszerzenie w formie odłączanej karty). W stacji powinien być pozostawiony oryginalny ROM (a nie np. TOMS Turbo). Dzięki rozszerzonej pamięci w stacjach z dodatkową pamięcią możliwe jest także buforowanie ścieżek.

SRAMCharger od tregare zamontowany w LDW Super 2000

Działanie rozszerzonej pamięci

Dodatkowe 64kB pamięci statycznej powinno być zarządzane następująco:

  • 32kB (górne) mapowane w obszar $8000-$FFFF

  • 32kB (dolne) bankowane sygnałem /BANK w obszar $0000-$7FFF, w miejsce zwykłych układów stacji.

Odłączanie układów stacji dla aktywnej dolnej połówki pamięci jest już zasadniczo przygotowane na płycie stacji, trzeba jeszcze tylko odłączyć ROM sygnałem /ROMDIS.

Nazwy sygnałów /BANK, /ROMDIS pochodzą ze schematu stacji Indus. Wszystkie sygnały potrzebne do rozszerzenia są dostępne na złączu J3, stąd możliwość zbudowania rozszerzenia jako zewnętrznego modułu wpinanego w to złącze. Na oryginalnym schemacie Indusa jest drobny błąd przy opisie złącza J3, tzn. A2 jest na pinie 4.

SRAMCharger z dwoma układami 62256

Rozszerzenie pamięci można zrealizować na kilka sposobów. Ta wersja wykorzystuje następujące elementy:

  • 2 kości pamięci SRAM typu 62256
  • 74LS139 (lub podobny).

Układ należy zmontować według poniższego schematu:


Schemat rozszerzenia z dwoma układami 62256

SRAMCharger z układem 628128

Rozszerzenie można również zrealizować w oparciu o jeden układ pamięci 128kB. W tym przypadku wymagane są:

  • 1 kość pamięci SRAM typu 628128 (lub podobna 128x8)
  • 74LS155 (74155).

Poniżej przedstawiono schemat rozszerzenia. Układ 74LS155 należy przy tym podłączyć do +5V (pin 16) i GND (pin 8).


Schemat rozszerzenia z układem 628128

Montaż w stacji dysków

Stacja Indus GT

Układ w formie dołączanej do złącza J3 karty jest gotowy do użycia w stacji Indus GT. Pozostałe stacje wymagają jeszcze drobnych przeróbek na płycie, które opisano niżej.

Stacja LDW Super 2000

Jak wspomniano, schemat tej stacji jest w znacznym stopniu zgodny z Indusem. Odpowiednia logika dla bankowania jest już gotowa. Ponieważ jednak w LDW sygnał /ROMDIS jest standardowo odłączony, należy go przywrócić, wstawiając brakujące rezystory R57 10k i R48 4k7 (jest dla nich miejsce na płycie) i odpowiednio założyć/przeciąć zwory J2, J3).

Fragment schematu LDW - przywrócenie sygnału /ROMDIS (w niektórych płytach R57 i R48 dochodzą do pinów 13 i 12 układu U12, a nie 1 i 2)

Płyta LDW z zaznaczonymi zmianami

Stacja LDW posiada wyprowadzenia dla złącza J3, dlatego jeżeli rozszerzenie przygotowujemy w formie dodatkowej karty, należy wlutować w to miejsce odpowiednie złącze kątowe. Ja zastosowałem dwurzędową, kątową listwę goldpinów, zaś na płytce rozszerzenia odpowiednie gniazdo żeńskie. Dzięki temu rozszerzenie mieści się pod obudową z prawej strony stacji (jak oryginalny RamCharger).

Prototyp SRAMChargera w stacji LDW

Stacja CA-2001

W tym przypadku jest trochę więcej pracy. Sytuację komplikuje dodatkowo fakt, że istnieją różne wersje płyty stacji.
W CA-2001 należy przede wszystkim dokonać podobnych przeróbek jak w przypadku LDW. Tu także jest zworka umożliwiająca przywrócenie sygnału /ROMDIS, należy także wlutować brakujące rezystory 10k i 4k7.

Fragment schematu CA-2001 - przywrócenie sygnału /ROMDIS

Płyta CA z zaznaczonymi zmianami dla sygnału /ROMDIS

Płyta CA-2000-D: W Indus/LDW pin 4 układu 74LS138 (U9) jest podłączony do A15, ale w CA jest podłączony poprzez zworkę z masą, co blokuje bankowanie pamięci. Zworka ta znajduje się w pobliżu złącza P7 (odpowiednika J3), lutowana od strony elementów i połączona z pinem 36 tego złącza. Zworkę trzeba przeciąć, zaś pin 36 połączyć z pinem 13 (gdzie mamy sygnał A15) od strony druku.

Fragment schematu CA-2001 - przywrócenie bankowania pamięci

Płyta CA-2000-D z zaznaczonymi zmianami dla bankowania

Płyta CA-2000-B: W tym przypadku fabrycznie połączono zworą punkty 1 i 4 złącza P7, a ścieżka odchodząca od punktu 4 jest przecięta. Powoduje to, że do pinu 8 układu U6 74244 doprowadzony jest sygnał A0, lecz na złączu P7 nie występuje sygnał A2 i rozszerzenie nie będzie funkcjonować. Należy wylutować zworę ze złącza P7 i ponownie połączyć przeciętą ścieżkę z punktem 4 złącza, co spowoduje przywrócenie sygnału A2. Do pinu 8 układu U6 74244 doprowadzony będzie jednak sygnał A2, a powinien być A0. Należy zatem odciąć połączenie sygnału A2 od pinu 8 układu U6 i doprowadzić tam sygnał A0, łącząc go z pinem 30 procesora.

Uwaga: Stacja CA-2001 nie jest kompatybilna z programem INIT umieszczonym na dyskietce Indus CP/M i służącym do tworzenia dyskietek systemowych. W zastępstwie należy użyć INITCA, specjalnie dostosowanej wersji tego programu.

Testowanie rozszerzenia

Do przetestowania wykonanego rozszerzenia można użyć mojego programu Indus CP/M Tool. Opcja RAMCharger check wyświetla numer wersji oprogramowania systemowego (firmware) stacji oraz testuje rozszerzenie pamięci: sprawdzana jest jego obecność, poprawność przełączania banków. Na wyświetlaczu stacji pojawia się numer sprawdzanej strony pamięci. Jeżeli wynik testu jest pozytywny, program wyświetla komunikat "RAMCharger: OK". Można wtedy przystąpić do uruchamiania systemu Indus CP/M. W przypadku problemów program podaje kod błędu. Dokładny opis CP/M Tool z objaśnieniem kodów znajduje się w Atariki.

Podziękowania dla jada, jera (Jerzego Soboli), Zenona/Dial oraz sup8pdct za pomoc przy realizacji projektu.

 

 
  free counters
    

---