Wraz z dodatkową pamięcią montowany jest moduł Turbo-ROM oraz interfejs Centronics. Wszystkie te zmiany zachowują pełną kompatybilność z komputerem Atari 130XE.
Cała dodatkowa pamięć podzielona została na bloki po 16 KB, które mogą być wymieniane pojedynczo z pamięcią podstawową komputera w obszarze $4000-$8000.
Przełączaniem błoków pamięci steruje rejestr PORTB (adres 54017 = $D301). Przez odpowiednie ustalenie bitów w tym rejestrze można przełączać bloki pamięci. Przyporządkowanie bloków odpowiedniej kombinacji bitów w rejestrze PORTB ilustruje poniższa tabela.
Bit 5 w PORTB jest dla bloków 0—3 interpretowany tak jak w komputerach Atari 130XE, tzn. ustawia procesor ANTIC w tryb Extended. ANTIC ma jednak przestrzeń adresową ograniczoną do 128 KB. Z powyższego wynika, że po przeróbce komputery Atari 800XL i 65XE stają się komputerami 130XE z dodatkową pamięcią 192 KB. Najczęściej stosowanym sposobem wykorzystania dodatkowej pamięci jest Ramdysk symulujący pracę stacji dysków. Aby można było korzystać z Ramdysku, należy wpisać do pamięci podstawowej komputera odpowiedni program jego obsługi. Musi być on wpisany w taki obszar pamięci, aby nie kolidował z programami użytkowymi oraz musi. przejmować odwołania programów skierowane do symulowanej stacji dysków. Wiadomo, że w ośmiobitowych komputerach Atari jest montowane pełne 64 KB RAM, jednakże 16 KB tej pamięci jest przysłonięte pamięcią ROM mieszczącą system operacyjny. Polega to na tym, że odwołana do adresów $C000-$FFFF są przez MMU (Memory Management Unit) kierowane do pamięci ROM. Można jednak poprzez wyzerowanie bitu BO w PORTB przesterować MMU tak, by odwołania te kierowane były do normalnie niedostępnej pamięci RAM. Na tym fakcie bazują znane rozwiązania obsługi Ramdysku. Mianowicie przepisuje się system operacyjny z ROM-u do RAM-u będącego „pod”, nim, dokonuje się zmian w obsłudze SIO pozwalających na przechwycenie odwołań do stacji dysków, a w wybrany obszar (np. zestaw znaków międzynarodowych $CCOO-$CFFF) wpisuje się program obsługi Ramdysku. Rozwiązanie to ma jednak podstawowe wady:
1) Wymaga korzystania z komputera z systemem operacyjnym znajdującym się w pamięci RAM, co bardzo łatwo prowadzić może do zawieszenia systemu.
2) Naciśnięcie klawisza RESET przełącza system na ROM i blokuje dostęp do Ramdysku.
3) Wiele programów nie pracuje przy tym rozwiązaniu, ponieważ korzystają one z zajętej przez OS pamięci RAM np. Turbo-Basic XL, Kyan Pascal, SynFile +, Basic XE itp.
Wady te zostały wyeliminowane poprzez zastosowanie modułu Turbo-ROM. Zawiera on 16 KB pamięci SRAM (Static RAM), do której w dowolnej chwili możemy wpisać dowolny system operacyjny np. przepisać z pamięci ROM do SRAM system operacyjny zamontowany w komputerze i dokonać w nim wymaganych zmian, np. dołączyć obsługę Ramdysku, interfejsu Centronics, zmienić zestaw znaków itp. Po przełączeniu zamontowanego w komputerze przełącznika w miejsce systemu operacyjnego zawartego w ROM „podstawiany” jest system z pamięci SRAM. Jednocześnie przełącznik blokuje zapis do tej pamięci, czyli zachowuje się ona tak jak ROM. Mamy więc do dyspozycji komputer z nowym systemem operacyjnym. Rozwiązanie to stwarza nam praktycznie nieograniczone możliwości modyfikacji systemu operacyjnego od drobnych poprawek po tworzenie i korzystanie z całkowicie nowych np. własnych systemów operacyjnych.
Oprogramowanie oferowane obecnie w ramach rozbudowy umożliwia:
1) Instalację Ramdysku 128 KB współpracującego z DOS 2.5, DOS 3.0, DOS 2.6, DOS 2.3, TOP-DOS, DOS 4.0 (DOS 2.0-96 KB).
2) Instalację Ramdysku 180 KB (Double Density) współpracującego z TOP-DOS.
3) Instalację programu obsługi interfejsu Centronics dla drukarek kompatybilnych ze standardem EPSON poprzez złącze joysticka.
4) Instalację dowolnego zestawu znaków.
5) Instalację Ramdysku 128 KB z kasety magnetofonowej.
Ramdyski są odporne na RESET oraz na zimny start systemu. Współpracują z Turbo-Basic XL, Kyan Pascal, Deep Blue C, Action!, Basic XL, SynFile +, Syn- Calc, Atari Writer, Star Texter itd. (nie działa z Basic XE na cartngeu). Możliwa jest instalacja Ramdysku jako stacji D1: co stwarza możliwość ładowania z Ramdysku bootstrapu, przy czym, jeżeli do komputera dołączona jest fizyczna stacja dysków o numerze D1: to system automatycznie traktuje ją jako stację D2: (umożliwia to inicjalizację systemu z Ramdysku, co jest znacznie szybsze niż ze stacji dysków). Przy pracy z Ram- dyskiem 128 KB, można instalować także Ramdysk 130XE, co umożliwia pełne wykorzystanie pamięci i pracę z dwoma Ramdyskami np. D2: i D8: Tak rozbudowany komputer stanowi znakomite narzędzie pracy. Jednocześnie należy podkreślić, że Turbo-ROM umożliwia użytkownikowi dopasowanie systemu operacyjnego do jego indywidualnych potrzeb.
Wraz z przerobionym komputerem dostarczana jest dyskietka z oprogramowaniem umożliwiającym wykorzystanie możliwości komputera, które są wręcz ogromne. Postaram się w skrócie opisać te programy.
1. TEST256.OBJ — test pamięci. Program umożliwia sprawdzenie poprawności działania rozszerzenia pamięci. Uruchomiany jest zleceniem LOAD z DOS. Ekran monitora podzielony jest na trzy części — „okno” procesora ANTIC, „okno” procesora 6502 oraz „okno” komunikacyjne. W oknach procesorów wyświetlany jest fragment pamięci spod adresów $4000-$8000. W procesie inicjacji programu poszczególne banki pamięci wypełniane są kolejnymi znakami. Znaki przyporządkowane poszczególnym bankom widoczne są w oknie komunikacyjnym, jednocześnie w oknie tym wyświetlany jest stan bitów PORTB. Użytkownik może zmieniać stan bitów 2-6. Zmiana staju bitów z 1 na 0 osiągana jest poprzez naciśnięcie odpowiedniego klawisza 2-6 klawiatury, zmiana stanu bitów z 0 na 1 osiągana jest poprzez naciśnięcie klawiszy CONTROL i 2-6. Zmiana stanu bitów w PORTB powoduje zmianę banków pamięci, co jest widoczne w oknach procesorów. Numeracja banków jest zgodna z tabelą przedstawioną wyżej. Znaki wypełniające banki widoczne w oknie procesora 6502 powinny być zgodne z wyświetlonymi w oknie komunikacyjnym. Przy wyzerowanym bicie B5 w oknie procesora ANTIC powinny pojawiać się znaki wypełniające banki 0-3.
2. AUTOED.OBJ — program instalujący Ramdysk 128 KB (Enhanced Density), AUTODD.OBJ — program instalujący Ramdysk 180 KB (Double Density). Programy te umożliwiają instalację systemu w pamięci Turbo-ROM wraz z obsługą odpowiednich Ramdysków oraz opcjonalnie obsługi interfejsu Centronics. Programy można uruchomić zleceniem LOAD z DOS lub mogą być ładowane jako AUTORUN.SYS. (xxx. AUT w TOPDOS). Po załadowaniu programu pojawia się plansza tytułowa, następnie wyświetlane jest pytanie:
ED (DD) — Ramdisk as drive 1 or 2? i komputer czeka na określenie numeru stacji dysków symulowanej przez Ramdysk. Jeżeli wybieramy „1” wówczas fizyczna stacja dysków dołączona do komputera jest traktowana jako stacja numer 2, a Ramdysk jako stacja numer 1. Po określeniu numeru stacji Wyświetlane jest pytanie:
Centronics driver (Yes or No)? ........ , ..
Wybrana „Y” powoduje instalację programu obsługi interfejsu Centronics i umożliwia dołączenie drukarek wyposażonych w ten interfejs, uniemożliwia jednocześnie korzystanie z drukarek Atari. Z poziomu użytkownika obsługa drukarki jest analogiczna jak standardowych drukarek Atari. Drukarkę podłączamy poprzez interfejs do drugiego portu joysticka. Po ostatnim pytaniu następuje powrót do DOS-u (lub Basica). Użytkownik może wówczas włączyć Turbo-ROM przełączając przełącznik umieszczony z boku komputera. Włączenie Turbo-ROM jest uwidocznione poprzez zmianę kroju znaków wyświetlanych na ekranie. Przełączeń systemów można dokonywać w dowolnym momencie. UWAGI:
a) Ramdyski nie są formatowane przy instalacji. Przed kopiowaniem zbiorów do Ramdysku należy go sformatować.
b) W systemie zmieniona jest obsługa niektórych klawiszy funkcyjnych:
- naciśnięcie jednocześnie klawiszy SELECT i RESET wymusza zimny start systemu.
- naciśnięcie jednocześnie klawiszy HELP i RESET umożliwia zmianę numeru stacji dysków symulowanej przez Ramdysk. Po zmianie numeru zawsze następuje zimny start systemu.
c) Ramdysk 128 KB nie odpowiada w pełni dyskietce sformatowanej w trybie Enhanced. Jak wiadomo dyskietka ta ma 130 KB pojemności. W związku z tym programy kopiujące takie jak SECTORCOPY 2 nie będą kopiować sektorów 1025-1040. Zaleca się używać do kopiowania programu DUPLIKATOR2 lub DUPLIKATOR1, które poprawnie kopiują dyskietki 130 KB.
3. DUPLIKATOR1 i DUPLIKATOR2 — sektorowe programy kopiujące. Programy umożliwiają kopiowanie dyskietek z wykorzystaniem dodatkowej pamięci (redukuje to liczbę zmian dyskietek). Programy uruchamiamy zleceniem LOAD z DOS. Programy automatycznie wykrywają dyskietkę wynikową w tej samej gęstości. W obu programach użytkownik może za pomocą klawisza OPTION wymusić bądź zrezygnować z zapisu wolnych sektorów, a za pomocą klawisza SELECT wymusić lub zrezygnować z formatowania dyskietki wynikowej. Program DUPLIKATOR2 może być używany tylko w komputerach wyposażonych Turbo-ROM. Po wczytaniu dyskietki źródłowej do bufora użytkownik ma możliwość wykonania zimnego startu systemu, przy czym bufor programu symuluje stację dysków numer 1 (jest to równoznaczne z ładowaniem bootstrapu z tego właśnie bufora). Funkcja ta jest uaktywniana przez naciśnięcie klawisza RETURN. Po wykonaniu tej funkcji i np. obejrzeniu odczytanej z bufora gry, użytkownik może ponownie uruchomić program DUPLIKATOR2 naciskając klawisz RESET i skopiować zawartość bufora na dyskietkę.
4. FCOPYDD — program kopiujący zbiory. Program umożliwia kopiowanie zbiorów dyskowych z wykorzystaniem Ramdysku. Po uruchomieniu komputera i zainstalowaniu Ramdysku uruchamiamy program FCOPYDD. Kopiujemy zbiory dyskowe z dyskietki do Ramdysku, a następnie z Ramdysku na dyskietkę wynikową.
5. FONTLD.OBJ — program instalujący zestaw znaków. Ponadto na dyskietce znajdują się przykładowe zestawy znaków: POLISH.FNT, DM.FNT, ANTIK.FNT, ANTIK2.FNT, ATARI.FNT, ECKIG.FNT, HOHL.FNT i ELEKTRO.FNT.
6. Programy tworzące kasetę systemową dla instalacji Ramdysku z magnetofonu:
CSLOAD.OBJ — program ten nagrywa na kasetę program ładujący system. Musi być użyty jako pierwszy przy nagrywaniu kasety. COPYD.OBJ. — program umożliwiający nagranie na kasetę pozostałych części systemu. Po jego uruchomieniu na ekranie wyświetlana jest lista zbiorów dyskietki z prefiksem literowym. Aby skopiować na kasetę wybrane zbiory należy napisać ich prefiksy w NEGATYWIE i nacisnąć klawisz RETURN. W celu utworzenia kasety systemowej należy kolejno skopiować na kasetę zbiory: AUTOCS.BOT, RDEDHCS.BOT, CASDOS.BOT i CASDIR.BOT. Oprogramowanie to umożliwia instalację w Turbo-ROM systemu operacyjnego wraz z obsługą Ramdysku 128 KB jako stacji D1: oraz obsługę interfejsu Centronics. Jednocześnie do Ramdysku wpisywany jest DOS 2.5, RAMDISK 130XE, program kopiujący zbiory w relacji dyskietka-kaseta i kaseta-dyskietka — FCOPYCD.OBJ oraz sektorowy program kopiujący w relacji Ramdysk- kaseta — RDCAS. Po wczytaniu systemu wykonywany jest zimny start systemu i z Ramdysku następuje załadowanie DOS 2.5. Użytkownik ma możliwość normalnej pracy tak jak z wykorzystaniem fizycznej stacji dysków.
7. RDCAS.OBJ — sektorowy program kopiujący. Program umożliwia skopiowanie wybranych sektorów z Ramdysku na kasetę magnetofonową oraz wczytanie z kasety utworzonego przez siebie zbioru i zapisanie go w odpowiedni obszar Ramdysku.
Tak w skrócie przedstawia się zawartość dyskietki dołączonej do komputera Atari 192XT. Jak widać dla wytrawnych programistów otwiera się szerokie pole do sprawdzenia swoich umiejętności w asemblerze, a dla tych, którzy nie posiadają stacji dysków, możliwe jest stworzenie takiej stacji w pamięci komputera w postaci Ramdysku. Należy zaznaczyć, że przy nie korzystaniu z programów umieszczonych na dołączonej dyskietce nie powinno się włączać Turbo-ROM, gdyż powoduje to blokadę komputera i na ekranie pojawiają się dziwne efekty. Praca na tym komputerze jest bardzo atrakcyjna i przyjemna, zwłaszcza jeżeli można korzystać ze stacji dysków 1050 HAPPY (jest to przerobiona stacja Atari 1050 — wykonuje to również P.Z. „Karen"). Bardzo ważną sprawą jest możliwość dokonania zimnego startu systemu bez niszczenia Ramdysku, a jeżeli Ramdysk symuluje stację D1: to po około 3 sekundach inicjacji systemu mamy komputer gotowy do pracy. W artykule często używane jet pojęcie zimny start. Co to takiego i jak uzyskać taki start systemu?
Otóż zimny start systemu jest to kilka procedur systemu operacyjnego, które wykonywane są zaraz po włączeniu komputera (ustawiane są różne zmienne systemowe, tworzone są rejestry-cienie, „czyszczona” jest pamięć itd.). Oczywiście mówiąc o zimnym starcie w komputerze Atari 192XT nie mam na myśli wyłączenia i włączenia komputera, gdyż wtedy tracimy zawartość dodatkowej pamięci (jest ona wykonana z pamięci SRAM, które wymagają zasilania do przechowania zawartości). Zimnego startu można dokonać w dwojaki sposób: naciskając jednocześnie klawisze SELECT RESET (jeżeli chcemy pracować z Basicem) lub SELECT + OPTION + RESET (bez Basica) albo z dowolnego DOS-u wykorzystując opcję „Run at adress”. W menu DOS 2.5 opcja ta jest oznaczona jako „M”. Po wybraniu tej opcji i naciśnięciu RETURN komputer pyta się o adres, należy w tym miejscu podać szesnastkowo adres E477 — jest to adres początkowy procedur zimnego startu. Po naciśnięciu RETURN komputer zachowuje się tak jak po włączeniu zasilania.
Zestawmy najważniejsze zalety komputera Atari 192XT:
- pełna kompatybilność z Atari 130XE,
- możliwość założenia 2 Ramdysków (64 KB oraz 128 KB),
- łatwość przełączania banków pamięci, na dyskietce znajduje się program demonstrujący przełączanie banków pamięci z poziomu Basica,
- możliwość bootowania z Ramdysku,
- unikalna możliwość dokonywania zmian w systemie operacyjnym odpornych na RESET i zimny start systemu,
- łatwość zmiany zestawu znaków systemowych,
- możliwość wprowadzania procedur obsługi różnych urządzeń dodatkowych przez zmianę OS,
- możliwość użycia DOS-2.5 i dwóch Ramdysków z magnetofonem,
- możliwość zainstalowania interfejsu Centronics działającego znakowo i graficznie (interfejs jest bardzo tani — są to 2 popularne układy scalone TTL oraz dwa wtyki).
Podczas kilkutygodniowej pracy komputer nie sprawiał żadnych kłopotów, wszystkie posiadane przeze mnie programy działały bez zarzutu. Śmiało można polecić każdemu czytelnikowi „Bajtka” dokonanie takiej przeróbki w swoim Atari.
W artykule wykorzystano fragmenty „Dokumentacji technicznej projektu rozszerzenia pamięci w ośmiobitowych komputerach Atari” udostępnionej wraz z komputerem przez firmę P.Z. „Karen”.
Przemysław Strzelecki




