1

Temat: Autorun w BASIC-u

https://images2.imgbox.com/0c/40/p3mLzR5B_o.png

Jak nietrudno się domyślić, zajmiemy się automatycznym uruchamianiem programów w BASIC-u i Turbo BASIC-u XL 1.5. A dokładniej loaderami mojego autorstwa umożliwiającymi „eleganckie” uruchamianie gier.

Potrzebna nam będzie rzeczywista lub wirtualna (ATR) dyskietka z zapisanym praktycznie dowolnym DOS-em. Dla ułatwienia takie gotowe dyskietki wraz z niezbędnym oprogramowaniem znajdują się w załączniku. Jest na nich MyDOS 4.50T, ale tylko plik DOS.SYS. Do uruchamiania gier DUP.SYS nie jest potrzebny, zajmuje tylko niepotrzebnie miejsce na dysku. Gdyby z jakichś powodów był potrzebny pełny lub inny DOS, to nic nie stoi na przeszkodzie, aby samemu taki dysk sporządzić. W przypadku Atari BASIC-a użyłem również programu w języku maszynowym o nazwie AUTORUN.SYS zamieszczonego w czasopiśmie „IKS”, zeszyt Programy 2, numer 2/1987.

Pierwszy program, który przedstawię, to AUTORUN.BAS & TB + EXIT. Jak widać po nazwie, jest on uniwersalny – obsługuje zarówno Turbo BASIC XL, jak i Atari BASIC. Znajduje się na dysku AutoBAS single i AutoTBXL single. Służy do wczytywania pojedynczych gier.

Zaraz, zaraz, a nie prościej od razu zapisać grę jako AUTORUN.BAS? Niby prościej, ale gdy mamy, powiedzmy 20 dysków z grami, a każda gra nazywa się AUTORUN.BAS...  W dodatku, gdy gra ma możliwość wyjścia do AUTORUN.BAS, to próba jej opuszczenia zakończy się ponownym załadowaniem i uruchomieniem. „AUTORUN.BAS & TB + EXIT” ma mechanizm powodujący w takim przypadku przejście do edytora BASIC-a.
Aby uzyskać pożądany efekt, wystarczy umieścić na odpowiednim dysku grę o dowolnej nazwie. Należy tylko pamiętać, aby rozszerzenie nazwy gry było odpowiednio BAS lub TB.
I jeszcze uwaga dotycząca Atari BASIC-a. Komputer uruchamiamy bez wciśniętego OPTION, a w emulatorze włączamy BASIC.

Drugi loader to INICJALIZER PROGRAMÓW – BASIC i INICJALIZER PROGRAMÓW TBXL. Jak widać są to oddzielne programy, choć bardzo do siebie podobne. Znajdują się one odpowiednio na dyskietkach AutoBAS multi i AutoTBXL multi. Oba służą do uruchamiania wielu gier – maksymalnie 26 na jednym dysku.
Wystarczy teraz zapisać na wybranym dysku nasze programy. Te, które ma widzieć inicjalizer muszą mieć rozszerzenie BAS (Atari BASIC) lub TB (TBXL). Teraz uruchamiamy komputer. Jeśli to pierwsze uruchomienie, nastąpi od razu przejście do edytora, jeśli nie, naciskamy SET (SHIFT + TAB). Możemy teraz wpisać nazwy gier zawierające do 16 znaków. Jeśli chcemy odczytać zawartość innego dysku (tak samo przygotowanego) to nie trzeba uruchamiać wszystkiego od nowa. Wystarczy wymienić dysk i nacisnąć ESC. A tak wygląda przykładowe menu:

https://images2.imgbox.com/d0/4c/Z5fUlTCz_o.png

Jest jeszcze jeden program, napisany przeze mnie w 1989 roku. Inicjalizer TB & CTB obsługuje zarówno programy pod interpreterem TB, jak i skompilowane. Obecna wersja nieco poprawiona pochodzi 1990 roku. Jako że był to chyba pierwszy napisany przeze mnie program w TB ma on pewne wady. Być może kiedyś, jak będą chęci i potrzeba, postaram się go poprawić, chyba że ktoś mnie wyręczy. Ważne, że mimo tych paru wad działa poprawnie.

Na dysku „Inicjalizer TB&CTB” znajdują się cztery loadery AINIC – dwa dla gier pod interpreterem i dwa dla gier skompilowanych. Ten z cyfrą „1” działa typowo – aby wybrać grę, naciskamy odpowiedni klawisz literowy. W tym z „2” wyboru dokonujemy klawiszami ze strzałkami (↑ ↓) i RETURN.

W załączniku są już dwie „dyskietki” ATR przygotowane do umieszczenia na nich gier w TBXL interpretowanym (AINIC TB) i skompilowanym (AINIC CTB) z zapisanym loaderem „AINIC1”. Wystarczy umieścić na wybranej nasze gry zwracając uwagę na rozszerzenie nazwy (TB albo CTB). Następnie uruchamiamy dysk „Inicjalizer TB&CTB”. Załaduje nam się DOS. Wybieramy opcję „L” i w zależności od potrzeby wczytujemy TBASICXL (TB*) albo RUNTIME (RUN*). Dalej postępujemy zgodnie z potrzebami i tym, co wyświetla się na ekranie.

https://images2.imgbox.com/3e/5a/Cqlwjt2B_o.png

A tak wygląda przykładowe menu loadera:

https://images2.imgbox.com/d9/b3/q9WBNo6H_o.png

Inicjalizer TB&CTB ma jeszcze jedną właściwość. Gdy na dysku znajduje się tylko jedna gra, uruchamia ją automatycznie bez potrzeby wciskania czegokolwiek. Dlatego może być używany z powodzeniem do uruchamiania pojedynczych gier.

Jeśli zamierzamy stworzyć własny dysk, to powinny na nim znaleźć się oprócz DOS-a następujące programy:
interpreter: TBASICXL zapisany jako AUTORUN.SYS i AINIC1.TB lub AINIC2.TB zapisany jako AUTORUN.BAS oraz gry z rozszerzeniem TB.
kompilator: RUNTIME zapisany jako AUTORUN.SYS i AINIC1.CTB lub AINIC2.CTB zapisany jako AUTORUN.CTB oraz gry z rozszerzeniem CTB.

Mnie te programy się przydały, dlatego je napisałem. Mam nadzieję, że jeszcze komuś też się przydadzą :) .

Przykład wykonania takiej dyskietki (ATR) z pojedynczą grą w BASIC-u.

1. Pobieramy załącznik „AutoBAS single” (nazwę można dowolnie zmienić).

2. Do umieszczenia gry w pliku ATR (czyli obrazu dyskietki Atari) można użyć np. programu „makeATR”. Na fizycznej dyskietce można użyć DOS-a lub zapisać grę poleceniem SAVE"D:nazwa.BAS" z poziomu BASIC-a.

3. Jeżeli jest inne, zmieniamy rozszerzenie gry na „BAS”.
Uwaga. Niektóre nazwy gier dostępnych w Internecie są zbyt długie. MakeATR umożliwia dokonanie zmiany takiej nazwy.

4. I to wszystko. Teraz można „odpalić” naszą dyskietkę.

Ostatnio edytowany przez Bluki (2019-02-26 20:52:50)

Post's attachments

Dyski autorun.7z 38.04 kb, liczba pobrań: 7 (od 2016-04-24) 

Tylko zalogowani mogą pobierać załączniki.

2

Odp: Autorun w BASIC-u

.. jak by ktoś chciał, to mam poprawione biblioteki (Runtime2 - poprawki Simiusa) do skompilowanych programów spod TBXL + linker. Ogólnie można tworzyć tym niezależne od niczego "exeki", więc można tym sposobem uruchomić program z byle loadera, czy dosa.

Kontakt: pin@usdk.pl

3

Odp: Autorun w BASIC-u

Pin, to dawaj te materiały tutaj lub mi na mejla. Kiedyś szukałem tej poprawionej wersji.

4

Odp: Autorun w BASIC-u

Heh. Było na mojej stronie przeca. Tu masz mirror: ftp://ftp.pigwa.net/stuff/mirror/turbob … index.html - od czasu pewnej "zadymy" na forum prowadzenie czegokolwiek dotyczącego Atari mnie przestało bawić. Oczywiście na samą atarkę czasem coś dłubię - ale produkcji scenowych itp nie zamierzam póki co wystawiać na żadnym polskim party.
Zainteresowani wiedzą do czego piję. Mirror wysłałem Voy-owi i jest w całości na pigwie - ale prowadzenie tej strony mnie przestało interesować.

Sikor umarł...

5

Odp: Autorun w BASIC-u

Sikor - zachowujesz się jak 60 - latek ;) Ja wiem, że Wapniak do czegoś obliguje ale bez przesady :D

Kontakt: pin@usdk.pl