FAQ o samoruchamianiu programów by Kaz 2007-07-22 00:53:39

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.
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".
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.
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.
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.
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 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ć:
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.
DartMan-Father 2007-07-22 02:18:47

Dzieki Kaz!
Metoda nr 1 wydaje mi sie łatwiejsza w użyciu.
Juz mam pare(nascie) nowych plików ATR a noc młoda :)
Jak wroce z urlopu pokombinuje nad jakims loaderem w BASICu, dzięki któremu mógłbym wybrac sobie z np 20 programików, no chyba że jest jakieś rozwiązanie... ;)
Pozdrawiam i jeszcze raz dzięki.
LongLiveAtari

Kaz 2007-07-22 02:47:11

Nie ma sprawy. Jak znajdziesz sposob to opisz go, przyslij programik, opublikujemy w FAQ.

Urborg 2007-07-22 06:44:01

Fajnie że jest taki FAQ. Ja niby tyle lat miałem Atari, a nie wiedziałem jak zrobić samouruchamiającą się dyskietkę z programem w basicu. Choć może to dlatego że nie miałem nigdy stacji dysków.

Jurgi 2007-07-22 08:12:56

Czy nie istnieje jakiś inicjalizer, pozwalający wybrać i załadować z dyskietki programy w basicu, zamiasta (/oraz) maszynowych?

Jeśli ktoś używa Q-mega 4.04, to jego loader ("L" w menu) oprócz binarek potrafi ładować BASy, o ile pamiętam.

larek 2007-07-22 09:52:36

DartMan-Father, Jurgi - oczywiście, że jest taki program, który umożliwia wybór programu w Basicu do załadowania!
Kaz, sprawdź pocztę :)

Kaz 2007-07-22 13:11:00

Sprawdzalem kilka razy - nic nie dostalem :(

larek 2007-07-22 16:16:53

Już poszło. Sorki - miałem mały problem. Wysłałem gotową do użycia dyskietkę, na którą możemy nagrać wiele programów w Basic-u. Po jej uruchomieniu pojawia się menu, z którego możemy wybrać interesujący nas program. Loader służy do wyboru i uruchomienia tylko programów w Basic-u! Może się komuś przyda.

Kaz 2007-07-22 16:36:44

Arku - nastepnym razem od razu podsylaj info do mnie, dodamy do FAQ. Tak czy siak dodane, jako "METODA 3".

DartMan-Father 2007-07-22 17:06:46

Oki Kaz, a gdzie ten loaderek o którym pisał larek?

Kaz 2007-07-22 17:09:54

DartMan - a moge najpierw zjesc obiad? :)

DartMan-Father 2007-07-22 18:35:59

to czas na sniadanko:)
no dobra a jak mam plik atr, kilka programów w Basicu i korzystam ze stacji (na emulcu of course)?
Pozdrawiam.
LongLiveAtari

Kaz 2007-07-22 19:15:26

DartMan - juz masz.

DartMan-Father 2007-07-22 19:33:19

dzieki dzieki wielkie!!!
To teraz nastepny w kolejnosci Turbo Basic? ;)))

Kaz 2007-07-22 19:35:14

Zgadza sie :)

Muffy 2007-09-26 13:09:22

Niestety jest problem.
Mam kilkanascie programów w basicu w wersji CAS, które mymagają Os-A lub Os-B. Jednakże AutoBOOT Basic Loader powoduje zwis (przynajmniej na emulcu). Czy jest na to jakiś sposób, tzn. żeby programy autorunowały? Ktoś wie?

larek 2007-09-30 11:32:00

Loader ten widocznie był pisany dla maszyn XL/XE i pod OS B nie ruszy.
Zgraj grę na dyskietkę z DOS 2.5 i postępuj wg opisanej tu METODY nr 3. Później pamiętaj, aby przed uruchomieniem gry włączyć OS B oraz Basic.
Działa na 100% :)

jhusak 2011-10-29 16:34:26

A ja teraz nie potrafię (kiedyś mi się udało) uruchomić programu w basicu przez prosty skok jmp. chodzi o taki loader, który wczyta program w basicu i uruchomi go przez skok pod jakiś adres, a nie przez wpisanie run i enter.

Bluki 2012-03-23 00:34:28

Zapraszam też do wątku "AUTORUN.BAS": http://atarionline.pl/forum/comments.php?DiscussionID=1838&page=1#Item_1

Bluki 2012-08-05 22:01:28

Jak najprościej utworzyć plik ATR z grą w BASIC-u: http://atarionline.pl/forum/comments.php?DiscussionID=2065&page=1#Item_1