Temat: Rzecz jeszcze o magazynkach ROM w ST

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.

Ostatnio edytowany przez artik-wroc (2020-11-30 11:40:41)

Było miło :) Do widzenia.

2

Odp: Rzecz jeszcze o magazynkach ROM w ST

@ artik-wroc dzięki za tłumaczenie. Możesz dać numer tego c't magazin? Mam DVD c't z archiwami więc może gdzieś to również mam. Ciekawy sposób użytkowania cartridge. Jak najbardziej da się używać z RAMcartem :)

Pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

3

Odp: Rzecz jeszcze o magazynkach ROM w ST

wrzesień 1986 czyli całkiem świeży :)

Było miło :) Do widzenia.

4

Odp: Rzecz jeszcze o magazynkach ROM w ST

Hejka,

Znalazłem na DVD. Szkoda, że nie mogę znaleźć nigdzie archiwum z programami publikowanymi w c't magazin. W oryginalnym artykule są oczywiście wydruki programów w assemblerze. Wystarczy przepisać ;-)

Dobiłem się do FTP Heise ale niestety - nie ma listingów z roku 1986 :( Najwcześniejsze z Lipca 1988, ech.

ftp://ftp.heise.de/pub/ct/

Pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

5

Odp: Rzecz jeszcze o magazynkach ROM w ST

a na pigwie nie ma w jakiś kolekcjach? http://ftp.pigwa.net/stuff/collections/

Sikor umarł...

6

Odp: Rzecz jeszcze o magazynkach ROM w ST

@Sikor A jak tam można cokolwiek znaleźć? Jest jakaś możliwość wyszukiwania po nazwach?

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

7

Odp: Rzecz jeszcze o magazynkach ROM w ST

do końca nie wiem, kiedyś przez klienta ftp wyszukiwałem, ale już tam chyba konta nie mam. Może anonymus zadziała? Pisz do voy-a, on tam administruje

Sikor umarł...

8

Odp: Rzecz jeszcze o magazynkach ROM w ST

tOri: Dopiero płyta c't z lat 90/91 jest w postaci HTML z załączonymi plikami (znacznie praktyczniejsze).

Zastanawiałem się co ciekawego/przydatnego można wrzucić na te 128kB :) Pomyślałem o jakimś sterowniku do dysku, dla ST bez flopa, ale jak załadować sterownik do kartridża :)

Ostatnio edytowany przez artik-wroc (2020-12-02 09:55:17)

Było miło :) Do widzenia.

9

Odp: Rzecz jeszcze o magazynkach ROM w ST

To chyba właśnie zrobił właśnie Putnik ze sterownikami dla ASCI, czy się mylę?

10

Odp: Rzecz jeszcze o magazynkach ROM w ST

uiptool by się zmieścił :)

What can be asserted without proof can be dismissed without proof.

11

Odp: Rzecz jeszcze o magazynkach ROM w ST

To jest myśl, a tak przy okazji jest już wsparcie dla Panther ? :)

Było miło :) Do widzenia.

12

Odp: Rzecz jeszcze o magazynkach ROM w ST

Znaczy oficjalne? Nie ma. Jest plan, żeby dodać obsługę wielu driverów, ale jak puki co pozostaje mglistym planem :(

What can be asserted without proof can be dismissed without proof.

13

Odp: Rzecz jeszcze o magazynkach ROM w ST

@lopez Tak zrobił PP. Driver startuje z kartridża. Wystarczy dać odpowiedni nagłówek i powinno śmigać.

@Sikor musiałbym  chyba jakimś skryptem z klienta szukać... Nie wiem za bardzo jak to zrobić a nie chce mi się teraz szukać :]

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

14

Odp: Rzecz jeszcze o magazynkach ROM w ST

no, teraz nie pomogę - z czasem mam do końca semestru przerypane. Potem powinno się coś wygospodarować...

Sikor umarł...

15

Odp: Rzecz jeszcze o magazynkach ROM w ST

OK. Dzięki

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site