Kurs Programowania : CZĘŚCI: 1 2 3 4 5 6

Witam wszystkich odwiedzających C64 Power, a w szczególności tych, którzy zamierzają coś wiedzieć o programowaniu na naszym starym komodorku. Będziemy zajmować się przede wszystkim językami: Basic v.2.0 (czyli tym oryginalnym), Simon's Basic'iem (rozszerzeniem, które ułatwia programowanie) oraz królem wszystkich języków, czyli niejakim "assemblerem". Aby jednak poznać tajniki tego ostatniego należy przynajmniej w stopniu zaawansowanym poznać Basic. Jak napisałem wyżej poznamy również rozszerzenie Basica, które w dużej mierze eliminuje konieczność znajomości pamięci komputera firmy C=.

Niemal każdy użytkownik, po przejściu przez okres fascynacji grami komputerowymi zapragnie napisać swój własny program komputerowy. Właściciel komputera Commodore C64 może do tego celu wykorzystać wbudowany w pamięć ROM Basic v.2.0. Jednak, żeby napisać jakikolwiek program z grafiką i muzyką trzeba odwoływać się do zamotanych komend POKE i PEEK, nie mówiąc już o znajomości architektury pamięci komputera. W końcu dochodzimy do wniosku, że napisanie takowego programu przekracza nasze możliwości. Czy jest na jakaś rada ? Na razie odrzucamy możliwość programowania w assemblerze (jeszcze go nie znamy), Pascal'a musielibyśmy uczyć się, na co nie mamy ochoty ani czasu. A więc co ? Jedynym wyjściem jest skorzystanie z programów rozszerzających Basic naszego komputera. W tym artykule postaram się przedstawić najpopularniejsze odmiany języka Basic:

Drago BASIC, Fast Plot, Graph BASIC
Programy te rozwijają możliwości komputera tylko w jednym kierunku jakim jest grafika, a więc żeby wycisnąć jakiekolwiek dźwięki należy odwoływać się do komend PPOKE i PEEK. Kolejną wadą tych programów jest brak kompilatorów. Zazwyczaj pozbawione są dodatkowych komunikatów błędów i często może dojść do utraty kodu źródłowego. Zaletą tych programów jest prostota i nawet średnio zaawansowani użytkownicy mogą rozbudować interpreter tych języków.

Super BASIC
Jest to jeden z najstarszych programów rozszerzających Basic komputera. Po jego uruchomieniu ukazuje się informacja o ilości wolnego miejsca w pamięci komputera - 30719. Po wydaniu rozkazu HELP na ekranie zostanie wyświetlone 57 nowych rozkazów. Dostępne są instrukcje wspomagające pisanie i uruchamianie programów, rozkazy numeryczne. Najsłabiej rozwinięte są komendy graficzne. Nie zapomniano o nowych poleceniach dotyczących zmiennych oraz o użytkownikach drukarek.

EX BASIC Level II
Program równie stary co Super Basic, lecz dużo bardziej popularny zwłaszcza na zachodzie. Ilość rozkazów niemal pokrywa się z Super Basic'iem. Słyszałem o kompilatorze do tego języka, jednak nie miałem się jak z nim zapoznać, ponieważ nigdy nie miałem go w swoich rękach.

Simon's BASIC
Jeden z najpopularniejszych interpreterów rozszerzających Basic komodorka. To właśnie na tym rozszerzeniu spędzimy najwięcej czasu, gdyż w łatwy sposób można w nim napisać program zarówno posiadający grafikę, jak i korzystający z możliwości SID-a, czyli układu dźwiękowego komputera. Simon's Basic doczekał się aż trzech wersji: 1, 2 i 4. Po uruchomieniu programu do dyspozycji pozostaje nam 22527 bajtów, co podczas pisania dużych programów może być nieco kłopotliwe. Program monitora pozwala na bezpośrednie pisanie programów w kodzie maszynowym i późniejsze wykorzystanie ich z poziomu Basic'a, co umożliwia uzyskanie naprawdę czadowych efektów. Simon's Basic posiada rozbudowane polecenia dotyczące grafiki zarówno w trybach HIRES i MultiColor, nie zapomniano o rozkazach muzycznych, które nawet pozwalają na odgrywanie melodii podczas wykonywania poszczególnych linii programu. System wyposażono również w narzędzia pozwalające na odnajdywanie błędów w programie oraz je modyfikować oraz poprawiać. Osobiście nie przypadła mi do gustu instrukcja RENUM, gdyż zmienia ona tylko numery linii, "zapominając" o przenumerowaniu parametrów przy dyrektywach GOSUB i GOTO. Simon's Basic pozwala na pewną strukturyzację programu pochodzącą z języka PASCAL. Rozszerzono instrukcje dotyczące operacjach na zmiennych, w łatwy sposób można zarządzać sprite'ami oraz można zaprojektować swój zestaw znaków, m.in. polskie czcionki. Do tego rozszerzenie Basic'a jest dostępny również kompilator umożliwiający szybsze wykonywanie się programów.

Warsaw BASIC
Jak sama nazwa wskazuje jest produkt polskiego pochodzenia. Autorami programu są Krzysztof Gajewski i Bogusław Radziszewski. Standardowo rozszerzenie to uruchamia się z zainstalowanymi polskimi czcionkami i dysponuje dodatkowymi dwudziesto jeden rozkazami Basic'a. Warsaw Basic 2.0 Plus jest bardzo prymitywny, wydaje się mi, że jest jeszcze gorszy od Super Basic i ExBasicLevel 2. Kolejną wadą jest brak kompilatora. Za zaletę można uznać wbudowane polskie znaki oraz zbiór EXEC, który pozwala na wgranie i automatyczne uruchomienie tuż po wczytaniu się interpretera. Najlepsza jest jednak książka "Jak rozbudować interpreter?", w której autorzy opisuję dokładnie jak napisać własny interpreter. W książce ponadto znajduje się listing programu Warsaw Basic oraz dokładna mapa pamięci Rom komputera z dokładnymi komentarzami. Kolejną wersją programu jest Warsaw Basic 3.2, który jest bardziej rozbudowany od swojego poprzednika. Po uruchomienie interpretera do dyspozycji użytkownika jest 32005 bajtów, czyli więcej niż w Simon's Basic. Po wydaniu rozkazu HELP zostają wyświetlone wszystkie dodatkowe rozkazy. Miłym dodatkiem są programy demonstrujące możliwości Warsaw-a. Tutaj również można sobie pozwolić na pewną strukturyzację programu. WB dobrze radzi sobie nawet z grafiką trójwymiarów, nie ma kłopotów z dźwiękami. Wersja 3.2 ma wszystkie zalety wersji 2.0 (czyli polskie znaki oraz zbiór EXEC). Za wadę, w porównaniu z Simon's Basic'iem jest brak wbudowanego monitora pamięci. Ogólnie mówiąc Warsaw Basic jest lepszy od Simon's Basic'a, ale dyskwalifikuje go brak kompilatora. Poza tym nigdy nie spotkałem się z programem napisanym w tym języku.

SUPER EXPANDER
SuperExtender jest rozszerzeniem dostępnym na tzw. Cartridge-u, choć może istnieć jego wersja zarówno na kasecie jak i na dyskietce. Rozszerzenie to nastawione jest głównie na programowanie sprite'ów, grafiki wysokiej rozdzielczości (Hires i Multicolor). Ciekawostką jest tryb mieszany, który pozwala jednocześnie wyświetlać obraz wysokiej rozdzielczości oraz tekst. Również programowanie ruchomych obiektów jest banalnie proste za pomocą specjalnego edytora. Obsługa możliwości muzycznych pozostaje na poziomie SB. W kraju dostępna jest przeróbka programu pod nazwą SuperExtenderPlus, której autorami są twórcy WB. SEP wyposażony jest w możliwość nagrywania obrazów graficznych na nośnik zewnętrzny oraz ich ładowanie. Nie zapomniano oczywiście o wydruku ekranu graficznego na drukarce oraz o tym, że nagrane obrazki mogą być obrabiane w WB i na odwrót.

No, to na razie tyle jeśli chodzi o rozszerzenia Basic'a. W następnym odcinku zajmiemy się programowaniem w Basic 2.0, gdyż musimy opanować chociaż jego podstawy, czyli słowa kluczowe. Będziemy też pisać nasze pierwsze programy. No to nara.

Mike
Część 2

 © 1999-2020 Wszystkie prawa zastrzeżone
 Webmaster: Mariusz "Flooder" Młynek