1. Jak spowodować, by program w Atari Basic-u sam się uruchamiał
z dyskietki?
METODA 1
Pytanie na temat samouruchamiających się programów w Basic-u z
dyskietki pada często, bo umiejętność wykonania tego jest bardzo
przydatna w praktyce. Odpowiada więc
Arek „ArSoft”
Lubaszka:
Mając program w Atari Basic-u, bez problemu możemy stworzyć
dyskietkę, która po uruchomieniu w Atari (czy emulatorze) wczyta i
automatycznie go wystartuje.
- Potrzebujemy do tego przygotowaną wcześniej
dyskietkę z DOS II+/D. Spostrzegawcze i dociekliwe osoby
zobaczą, że na dyskietce oprócz DOS-a jest jeszcze plik START.BAT.
Jest to plik wsadowy z poleceniami włączenia Basic-a oraz
uruchomienia Basic-owego pliku o nazwie PROGRAM.BAS. DOS jest już
przygotowany do uruchomienia wspomnianego pliku wsadowego poprzez
wykonanie polecenia JOB @START.BAT. Piszę o tym wszystkim, ale tak
naprawdę są to informację techniczne, które wcale nie muszą być
znane. Ważne jest, że mamy gotową dyskietkę.
- Teraz wystarczy nagrać na nią program w Basic-u. Możemy to
zrobić w dowolny sposób. Z poziomu Atari są dwie możliwości: za
pomocą dowolnego programu kopiującego albo bezpośrednio z Basic-a
poprzez komendę SAVE "D:PROGRAM.BAS". Z poziomu peceta dowolnym
programem służącym do „grzebania” po dyskach w formacie ATR, na
przykład „AtrUtli95”
albo „MakeATR”.
Program ten musi mieć możliwość dołączenia pliku do katalogu
dyskietki – służąca temu opcja będzie się nazywać „INSERT BIN” lub
„INSERT”. Nasz program w Basic-u może się składać z wielu plików.
Dogrywamy je wszystkie. Ważne jest, aby dograć pliki do już
istniejących, których nie wolno nam skasować!
- Teraz najważniejsze. Plik w Basic-u musi mieć nazwę
„PROGRAM.BAS”. W związku z czym, jeśli nazwa pliku jest inna,
zmieniamy na wyżej wymienioną. W przypadku programu składającego
się z kilku plików – nazwę zmieniamy w pliku, który chcemy, aby się
uruchomił jako pierwszy. Koniec. Mamy dyskietkę, która samodzielnie
uruchomi nasz program. Mało tego – w razie potrzeby samodzielnie
włączy Basic, co w przypadku emulatora i włączonej opcji „DISABLE
BASIC” jest bardzo... sympatyczne ;)
Oczywiście sposobów na samouruchamianie się programów Basic-owych
jest całe mnóstwo. Mój jest tylko jednym z wielu, ale prostym i
skutecznym. Mam nadzieję, że teraz nawet laicy będą potrafili
stworzyć sobie plik ATR z programem w Basic-u.
METODA 2
Tyle Arek, a moja metoda jest troszkę inna i nie wymaga zmiany
nazwy pliku, więc ją też podaję. Do operacji używam
dyskietki z prościutkim programem w Basicu o nazwie "Automake".
- Najpierw przygotowujemy dyskietkę z programem w Atari Basic,
który ma się automatycznie uruchamiać. Na dysku musi być DOS
(tutaj
przykład takiej czystej dyskietki z DOS-em 2.5) oraz program,
którego nazwę musimy zapamiętać. W naszym przykładzie niech to
będzie GIERKA.BAS. Jeżeli plik ten BAS mamy osobno, należy go
dograć na dyskietkę tak, jak opisał to powyżej Arek.
- Teraz uruchamiamy dysk z "Automake". Ponieważ jest to program w
Basicu, dysk z tym programem trzeba uruchamiać na Atari bez
wciskania klawiszy START czy OPTION, a na emulatorze z włączonym
Basic-iem (nie powinno być zaznaczone "Disable Basic" w opcji
"Options" w menu "Atari").
- Program po uruchomieniu zapyta się o nazwę pliku, który ma być
potem samouruchamiający się. Wpisujemy zapamiętaną nazwę i
potwierdzamy klawiszem RETURN.
- Teraz program prosi o włożenie do stacji dysków dyskietki z
pożądanym programem. Na emulatorze robimy to wciskając klawisze ALT
i 1 i podając plik ATR z przygotowaną przez nas dyskietką. Chwila
oczekiwania i gotowe. Jeżeli program nie zgłosił błędu (co może sie
zdarzyć, jeśli na przykład podaliśmy błędną nazwę, nie udało się
rozpoznać DOS-a, dysk jest zabezpieczony przed zapisem, itd.) to
możemy zrestartować komputer bez wciskania START i OPTION (lub
emulator z włączonym Basic-iem), a program GIERKA.BAS sam się nam
uruchomi.
METODA 3
Arek "ArSoft" Lubaszka dodaje też trzeci sposób: stary DOS
2.5 też ma opcję kreowania dyskietki z samouruchamiającym się
programem w Atari Basic-u. Jest to opcja trochę ukryta i z tego
powodu nie każdy o niej może wie.
- Na oryginalnych
dyskach DOS 2.5 jest program SETUP.COM, który należy uruchomić
(wybieramy w DOS opcję LOAD BIN FILE, potem wpisujemy nazwę
programu SETUP.COM i wciskamy klawisz Return).
- W menu programu wybieramy najpierw opcję numer 3 czyli "Set up
AUTORUN for Boot". Pojawi się menu "Make an AUTORUN.SYS program
file" z którego wybieramy pozycję numer 2 - "A BASIC progam will
automatically load and RUN".
- Wkładamy dysk z programem, który chcemy zrobić
samouruchamialny, podajemu jego nazwę i kreator tworzy plik
AUTORUN.SYS, który później automatycznie będzie nam uruchamiał nasz
program.
Do wad należy zaliczyć konieczność włączania Basic-a przy każdym
starcie. W przypadku prawdziwego Atari to mniejszy problem - nie
wciskamy klawisza Option, ale w przypadku emulatora, gdzie raczej
mamy "na stałe" wyłaczony Basic, to może być mały kłopot. W obu
przypadkach niestety należy o tym Basic-u pamiętać! Na dyskietkach
z DOS II/+ jest inaczej.
2. Jak spowodować, by program dla Atari z rozszerzeniem XEX
(EXE, COM) sam się uruchamiał z dyskietki?
METODA 1
Niezmordowany
Arek „ArSoft” Lubaszka odpowiada, że wystarczy
odpowiednia
dyskietka z DOS II+/D, przygotowana do całej poniższej
operacji.
- Na taką dyskietkę dogrywamy dowolnym sposobem (jakimś programem
kopiującym z poziomu Atari lub programem „AtrUtil95”
lub „MakeATR” z
poziomu peceta) plik z grą w formacie DOS-owym (ważne!) czyli nasze
XEX lub EXE lub COM.
- W razie potrzeby zmieniamy nazwę na akceptowalną przez Atari
czyli 8 znaków nazwy plus 3 znaki rozszerzenia (na przykład
GIERKA12.XEX). Na koniec bootujemy dyskietkę - uruchomi nam się
wspomniany DOS II+/D, w którym wpisujemy polecenie "JOB
GIERKA12.XEX", gdzie GIERKA12.XEX oznacza przykładową nazwę naszego
pliku.
To wszystko - jesteśmy posiadaczami samouruchamiającego się
programu. Restartujemy komputer, żeby przekonać się, że to
prawda.
METODA 2
Oczywiście powyższy sposób będzie działać w przypadku programów,
które normalnie uruchamiają się z tym DOS-em. Pozostałe pliki XEX
można przetworzyć do wersji ATR czyli akceptowalnej nie tylko przez
emulator, ale na przykład przez interfejs SIO2IDE.
- Trzeba to wykonać za pomocą programu „AtrUtil95”,
w którym po uruchomieniu wybieramy opcję "Create".
- W okienku, które się pokaże, zaznaczamy "Auto Boot" i jeszcze
raz wybieramy "Create". Pokaże się okienko do wyboru pliku XEX
(COM, EXE), wybieramy więc program, który zostanie przekonwertowany
do formatu ATR.
- Gotowy plik możemy teraz zapisać przez opcję "Save" lub "Save
As".
Według mnie jest to najlepsze rozwiązanie - praktycznie wszystkie
gry, które nie wymagają obecności DOS-a w pamięci oraz nic nie
doczytują w trakcie pracy - łatwiej i wygodniej jest przerobić na
plik ATR właśnie w ten sposób - za pomocą „AtrUtil95”.
METODA 3
Arek "ArSoft" Lubaszka dołożył też metodę numer 3. W
przypadku dyskietki z DOS 2.5 i programów XEX, EXE i COM, które
będą działały z tym DOS-em, to wystarczy zmienić nazwę naszego
pliku na AUTORUN.SYS i już! W MyDOS (zapewne nie we wszystkich
odmianach, ale na pewno w tej najpopularniejszej czyli 4.53)
zmieniamy rozszerzenie naszego programu z XEX, EXE lub COM na AR0
(zero, nie litera O). Pamiętajmy, że nie wszystkie programy, a gry
w szczególności, tolerują obecność DOS-a w pamięci. Metoda numer 2
czyli utworzenie dyskietki opcją "Auto Boot" w programie
"AtrUtil95" jest chyba najskuteczniejsza.
3. Jak spowodować, by program w Atari Basic, ładowany komendą
CLOAD, sam się uruchamiał z kasety?
Program-loader, którego użyjemy, wydrukowany został w „Bajtku”
numer 4/1988, a jego autorem jest
Tomasz Waligóra. Program
ten o nazwie „AutoBOOT Basic Loader” nagrałem na
dyskietce.

- Po jej uruchomieniu wystartuje program generujący loader. Po
usłyszeniu dwóch atarowskich "trąbek" możemy włączyć nagrywanie w
magnetofonie (w realnym świecie) lub stworzyć nowy plik CAS (w
wirtualnym świecie emulatora).
- Plik CAS tworzymy w emulatorze wchodząc w menu „Atari”, tam
wybierając „Tape recorder...” i „New image...”, a na końcu
„Create”. Po powrocie do programu „AutoBOOT Basic Loader” naciskamy
spację lub inny, prawie dowolny, klawisz. Na kasecie zostanie
nagrany loader. Taki gotowy loader jest też
tutaj. Proszę eksperymenty robić na kopii tego pliku, bo
oryginał może się nam jeszcze przydać!
- Ładujemy teraz, poprzez CLOAD, program w Basic-u, który chcemy
uczynić samouruchamialnym. Pakujemy do magnetofonu kasetę ze
stworzonym przed chwilą leaderem lub z gotowym leaderem, który
przygotowałem (przypominam: w emulatorze menu „Atari” --> „Tape
recorder...” --> „Browse...” --> „OK”). Bardzo ważne:
ustawiamy kasetę na końcu taśmy! Robimy to dlatego, iż nasz program
w Basic-u musimy nagrać po loaderze.
- Jeśli już mamy przygotowaną taśmę, piszemy CSAVE, naciskamy
RETURN, spację i... w moim emulatorze Reset (F5). Nie wiem
dlaczego, ale emulator - przynajmniej u mnie - się sypie.
Nagrywanie się kończy, wyświetla się napis READY, a pisk z głośnika
dalej słychać. Niedoróbka Atari800Win Plus, czy jak?
Po tym zabiegu mamy plik CAS z nagranym loaderem i programem w
Basic-u. Teraz już możemy sprawdzić efekty naszej pracy. Jeśli mamy
powiązany plik CAS z emulatorem, to wystarczy kliknąć dwa razy na
pliku CAS. W przeciwnym razie uruchamiamy emulator, naciskamy ALT+B
i wskazujemy nasz plik CAS. Z opcji "Attach Tape" nie radzę
korzystać. I jeszcze jedno: koniecznie w emulatorze należy włączyć
Basic, bo inaczej nic z tego nie wyjdzie. Przykładowa gra zapisana
tym sposobem to
"Space Rescue". W pliku CAS „zaszyte” są dwa programy. Pierwszy
to oczywiście nasz loader, a drugi to właściwy plik z grą w Basic-u
zapisany funkcją CSAVE.
4. Jak spowodować, by można było z dyskietki wybrać i
automatycznie uruchomić programy w Atari Basic-u?
Kolejny raz na pytanie zareagował
Arek „ArSoft” Lubaszka:
jeśli tylko chcemy utworzyć sobie dyskietkę z wieloma programami w
Basic-u, to wystarczy programy te dołączyć do już istniejących
plików na
dyskietce z loaderem mojego autorstwa "Basic File Loader II".
Oczywiście jak zwykle zróbmy to na kopii naszej dyskietki, bo
oryginał może nam się jeszcze przydać. Dyskietka jest tak
przygotowana, że po jej uruchomieniu pojawi się nam menu z naszymi
programami w Basic-u. Aby tak się stało pliki z programami w
Basic-u muszą mieć:
- rozszerzenie BAS (z poziomu DOS II+/D można zmienić nazwę pliku
wpisując komendę REN stara_nazwa.rozszerzenie nowa_nazwa.BAS, gdzie
oczywiście nazwy muszą być w akceptowanym przez Atari formacie
(nazwa maksymalnie 8 znaków i maksymalnie 3 znaki rozszerzenia po
kropce, na przykład: BIORYTMY.BAS),
- plik ten musi być zabezpieczony przed skasowaniem (w DOS II+/D
wykonujemy to komendą LOC nazwa_pliku.BAS - uwagi na temat nazwy
jak wyżej).
Jeśli programy nie będą spełniały tych dwóch warunków, to pomimo
tego, że będą na dyskietce, to loader ich nie wyświetli. Bierze się
to z tego, iż loader nie wyświetla całego katalogu, lecz tylko
pliki, które mogą się uruchomić i chcemy, aby się pojawiły w menu.
Przy wieloblokowych programach w Basic-u wystarczy, że pierwszy
plik będzie miał rozszerzenie BAS i będzie zabezpieczony. Pozostałe
pliki należące do tego programu, mające inne rozszerzenie lub z
rozszerzeniem BAS, ale nie przeznaczone do samodzielnego
uruchomienia, nie będę zaśmiecały naszego menu.
Przykładowy ekran menu z wieloma programami
do wyboru
Z wyświetlonych programów wybieramy ten, który nas interesuje i
naciskamy literkę (lub cyfrę w przypadku większej ilości programów)
poprzedzającą nazwę pliku do uruchomienia. Jednorazowo na ekranie
możemy mieć maksymalnie 32 nazwy plików. Jeśli na dyskietce mamy
więcej programów, to pojawi się nam dodatkowa opcja: "RETURN -
dalej". W takim przypadku po naciśnięciu klawisza Return (Enter na
emulatorze) loader zacznie wyświetlać pozostałe nazwy. I tak w
nieskończoność... No prawie. Każdy DOS ma jakąś pojemność wpisów w
katalogu :) Klawiszem Esc możemy wymusić odczyt katalogu dyskietki
od początku.
Program ten to mocno zmodyfikowana wersja mojego starego loadera
programów Basic-owych. Mam nadzieję, że na potrzeby atarionline.pl
będzie jak znalazł. Stary loader (jak się dzisiaj okazało - z
poważnymi błędami, które uniemożliwiały wyświetlanie większej
ilości plików) używałem krótko, ponieważ przerzuciłem się na
pisanie w Turbo-Basicu XL. Jak zwykle w przypadku "moich" loaderów
nie ma potrzeby pamiętać o włączeniu Basic-a w emulatorze. Plik
wsadowy na dyskietce zrobi to za nas. Oczywiście żadna w tym moja
zasługa, lecz specyfika DOS II+/D.