Jako że temat nie umiera (tOri i jego RAMCART), a informacji jest ile jest, zamieszczam poniżej tłumaczenie artykułu z niemieckiego c't magazin.
Jakość tłumaczenia a'la GT. Programy opisane w tekście dołączę później, kiedy ? Nie wiem :)
Dysk półprzewodnikowy również dla Atari ST
Szybka pamięć tylko do odczytu na porcie ROM
Gregor von Stangen, Peter Glasmacher.
Od czasu wprowadzenia banku `EPROM dla Atari ST 'w 1/86 wielu użytkowników pytało, czy mała karta może być również używana jako szybka wymiana dyskietki. W końcu nie każdy powinien tworzyć oprogramowanie dla modułów ROM. Jeśli jednak bank EPROM jest używany jako „dyskietka półprzewodnikowa”, można na nim umieścić dowolny program bez żadnych specjalnych dostosowań. To wystarczający powód, aby szukać prostego, praktycznego rozwiązania. Jest tutaj.
W przeciwieństwie do modułu ROM „dyskietka półprzewodnikowa” lub też dyskietka * EPROM ”jest obsługiwana przez komputer jak zwykły napęd po zainstalowaniu odpowiedniego programu sterownika. Podczas gdy program dla moduł ROM musi być wykonywalny w przewidzianym obszarze pamięci i zaprogramowany zgodnie ze specjalnymi regułami (patrz c't 1/86), każdy plik może być załadowany z dyskietki EPROM jak z normalnej dyskietki. Wadę polegającą na tym, że program nadal musi być załadowany do pamięci głównej w celu wykonania, równoważą namacalne zalety: - Każdy plik (o maksymalnym rozmiarze 128 KB) może być umieszczony w banku EPROM. - Pliki są całkowicie bezpiecznie chronione przed awarią zasilania, awariami komputera i przypadkowym usunięciem. - Dostęp jest natychmiastowy, podobnie jak dysk RAM (przykład: 1 st_WORD ładuje się w około dwie sekundy). Niestety, samo oprogramowanie sterownika nie wystarczy do zapisania plików w pamięci EPROM; do tego potrzebny jest programator EPROM. Plik "PROMMER 520'z c't 7/86, ale oczywiście każde inne urządzenie programujące, które obsługuje programowanie 16-bitowe i może być obsługiwane na Atari ST. Ponieważ zawartość tego „twardego dysku dla małego człowieka” można wymazać tylko za pomocą lampy UV, jest on używany tylko do programów, których użytkownik nie powinien już zmieniać. Na przykład doskonale nadaje się dla kompilatorów i interpreterów, o ile nie przekracza 128 KB, np. Dla interpretera LOGO lub GfA-BASIC. Ale możesz również umieścić na nim pełnowymiarowe programy aplikacyjne, takie jak 1st_WORD, jeśli nie są one połączone z dyskietką główną specjalnymi sztuczkami ochrony przed kopiowaniem.
Organizacja danych w pamięci EPROM odpowiada organizacji na dyskietce. Czytałeś to dobrze, dokładnie z katalogiem, FAT i sektorami logicznymi. Ale nie martw się: nie musisz ich tworzyć samodzielnie podczas tworzenia EPROM. Specjalny program sterujący (taki jak PIP-EF w naszej dyskietce półprzewodnikowej dla komputerów ECB) nie jest nawet wymagany. Z Atari ST wszystko jest dużo prostsze. Ma to związek z faktem, że ST, nawet w swojej „małej” wersji, oferuje wystarczająco dużo pamięci roboczej, aby pomieścić całą zawartość dyskietki EPROM. Umożliwia to przede wszystkim utworzenie w pamięci dysku RAM, na którym można spokojnie zestawić pożądaną zawartość dysku EPROM.
Pierwszy z wydrukowanych programów, zwany ROMINIT, nie robi nic poza tym, że tworzy prosty dysk RAM o pojemności 128 KB, który jest zainstalowany na stałe jako napęd "D:" (i musi zostać zarejestrowany). W tym przypadku wszystkie zawiłości implementacji, które powinny mieć wirtualne dyskietki, zostały pominięte (patrz „Inny dysk RAM” w tym wydaniu c't). Ten specjalny dysk RAM przejmuje tylko organizację danych, które Użytkownik zapisze tam. Ponadto możesz w ten sposób sprawdzić, czy żądane pliki mieszczą się w dostępnej pamięci i działają poprawnie. Na przykład w przypadku 1st_WORD odpowiedni plik zasobów (1ST_WORD.RSC) musi zostać skopiowany na dysk EPROM. Jednak nie ma już wystarczającej ilości miejsca na sterownik drukarki (1ST_PRINT). Teksty można edytować „tylko” za pomocą 1st_WORD na dysku EPROM i zapisywać je na dysku. Aby wydrukować program tekstowy, należy załadować go ponownie z normalnej dyskietki.
Kiedy zbierzesz wszystkie potrzebne pliki na dysku RAM, do gry wchodzi drugi program: ROM COPY tworzy dwa pliki o rozmiarze 64 KB z zawartości dysku RAM i zapisuje je na bieżącym dysku. Oczywiście nie może to być dyskietka RAM `D:'; program sprawdza wybór napędu i kończy pracę, jeśli tak jest. Oba pliki są zapisywane pod nazwami „ROMDISK1.DAT” i „ROMDISK2.DAT”; pierwszy plik zawiera dane dla obszaru adresowego FA0000...FAFFFF, ten ostatni dla obszaru FB0000...FBFFFF.
Program
Teraz aktywuj programator EPROM i wypal dwa pliki binarne w czterech pamięciach EPROM typu 27256. (Mniejszych pamięci EPROM nie można używać, ponieważ przestrzeń adresowa banku EPROM nie byłaby używana razem). Do obsługi modułu Nawiasem mówiąc, wystarczą standardowe pamięci EPROM z czasem dostępu 250 ns. Upewnij się, że programator działa w trybie 16-bitowym. Proces programowania dla `` PROMMER 520 '' wygląda następująco:
- Wywołaj funkcję (l)oad
- Określ rozmiar EPROM 27256
- Określ numer EPROMu 0 i (u)pper data
- Podaj napęd i nazwę pliku, np. „A:ROMDISK1.DAT”
- Funkcja wywołania (p)rog
- Określ typ pamięci EPROM i Vpp
- Włóż EPROM, naciśnij <Return>
Pamięć EPROM dla pozycji 4U jest nagrywana z podanymi parametrami; dla 4L proszę również wpisać numer EPROM 0, (l)ower data. Proces jest powtarzany odpowiednio dla pliku „ROMDISK2.DAT”, dla pamięci EPROM 3U wpisać numer EPROMu 0, (u)pper data, dla pamięci 3L EPROM numer 0 i (l)ower data.
To wszystko.
Aktywuj...
jeszcze nie: wypalona dyskietka tylko do odczytu znajduje się teraz w porcie modułu i czeka na aktywację. Problem w tym, jak mam nauczyć ST, że EPROM są obecne? Od samego początku TOS zna tylko moduły ROM, które nie były przeznaczone przez programistów jako pamięć masowa, ale jako pamięć programu. Teraz kolej na trzeci program. 'ROMDISK' wygląda bardzo podobnie do zwykłego sterownika dysku RAM i nie jest to przypadek. Po zakotwiczeniu w pamięci Atari obsługuje dyskietkę EPROM jak zwykły napęd - z dwiema głównymi różnicami: Czytanie jest znacznie szybsze i nie można w ogóle pisać. To ostatnie zapewnia spore uproszczenie. Jeśli użytkownik spróbuje uzyskać dostęp do zapisu, program powinien faktycznie zwrócić kod błędu -13 do TOS zgodnie z dokumentacją Atari. O dziwo jednak system operacyjny w ogóle nie reaguje. Jednak wartość -1 powoduje komunikat o błędzie, w którym między innymi zakłada się, że dyskietki nie ma w napędzie. Trochę dziwne, ale jednak...
Ponieważ możesz polegać na TOS zawsze umieszczającym bufory potrzebne do załadowania programu na równe adresy, do ładowania można użyć najszybszej metody przesyłania danych: Każde polecenie staje się długim słowem przesyłane, 16 bajtów „za jednym razem” z każdym przebiegiem pętli. Najlepszy sposób na umieszczenie sterownika w folderze AUTO. Na przykład dysk jest zarejestrowany jako Dysk "E:" (następnie "Zapisz pulpit"). Dyskietka EPROM jest wtedy instalowana automatycznie przy każdym zimnym uruchomieniu komputera, pod warunkiem, że odpowiednio zaprogramowany bank EPROM znajduje się w porcie modułu.
Wskazówki dotyczące auto
Jeszcze kilka słów o programach rezydentnych: Różne sterowniki, bufory wydruku i podobne narzędzia są zwykle ładowane raz. Dla uproszczenia jest to zwykle wykonywane podczas procesu rozruchu poprzez umieszczenie programów, które mają znajdować się w folderze auto na dyskietce rozruchowej. Ale ponieważ TOS ładuje programy jeden po drugim i zachowuje je w pamięci, powinieneś kilka razy pomyśleć o ich kolejności.
Oprócz możliwości przechowywania programów jako rezydentnych, TOS umożliwia również usuwanie programów z pamięci. Jednak dzięki tej funkcji system operacyjny nie zna żadnych ograniczeń i zwalnia całą pamięć od początku odpowiedniej procedury do początku normalnego obszaru przejściowego. Wyobraź sobie, co się stanie, jeśli chcesz usunąć program ze środka łańcucha: wszystkie kolejne programy i ich obszary danych znikną. W związku z tym powinieneś utworzyć swój folder automatyczny w następującej kolejności:
- wszystkie programy automatycznego uruchamiania nierezydentów (ustawianie zegara, odtwarzanie porannej piosenki itp.)
- wszystkie sterowniki urządzeń i sterowane przerwaniami procedury takie jak bufory wydruku, sterowniki dysku RAM, dysk EPROM
- Interpreter poleceń
Program taki jak interpreter poleceń musi być umieszczony na końcu łańcucha. W pewnym momencie na pewno aktywujesz pulpit GEM. Następnie interpreter poleceń powinien zostać poprawnie usunięty z pamięci. Jeśli znajduje się w środku łańcucha, w najlepszym przypadku pozostaje w magazynie jako śmieci. W większości przypadków próba usunięcia programu prowadzi do różnych bomb na ekranie.
Kolejność programów w folderze AUTO jest, nawiasem mówiąc, „historyczna”: to, co zostało zapisane jako pierwsze, jest również ładowane jako pierwsze. Nie ma to nic wspólnego z wyświetlaniem posortowanych katalogów na pulpicie. Dlatego jest tylko jeden praktyczny sposób zmiany kolejności: całkowicie opróżnij folder i uzupełnij go w żądanej kolejności. Ostatnia uwaga: jeśli spróbujesz zainstalować dysk EPROM dwa razy z rzędu, doprowadzi to do awarii systemu (z powodu, który nie został jeszcze wyjaśniony). Dlatego program ROMDISK sprawdza, czy dysk EPROM został już zainstalowany i kończy działanie w tym przypadku.