|
Mam do sprzedania SD-BOX za 350 zł. Jesteś zainteresowany, to skontaktuj się. |
Black Box v9
Cartridge Black Box V9 jest to najnowsze osiągniecie firmy ROM-BIT. W przeciwieństwie do poprzednich, ten model jest przeznaczony zarówno dla użytkowników C-64 z magnetofonem jak i ze stacją dysków. Oprócz dotychczasowych rozkazów systemu Black Box, oferuje on wiele dodatkowych możliwości:
- nowy, znacznie lepszy program do ustawiania głowicy magnetofonu
- udoskonalony system zapisu na taśmę - TURBO
- bardzo szybki odczyt programów z dyskietki
- katalog i rozkazy dyskowe
- dwa zastawy klawiszy funkcyjnych
- trzy ekrany tekstowe
- polskie litery na ekranie
- możliwość przyłączania drukarki od IBM i drukowania polskich liter
- minigrafika z możliwością sterowania joystickiem
- animacja
- nowy program realizujący instrument muzyczny
- znacznie rozbudowany program pomocy
Niniejsza instrukcja przeznaczona jest zarówno dla początkujących użytkowników Commodore 64, jak i dla zawansowanych. Cały Dodatek, oraz inne fragmenty mniejszej instrukcji, oznaczone pochyłym drukiem, przeznaczone są dla biegłych w programowaniu. Pozostała, znaczna cześć instrukcji - dla wszystkich.
Cartridge należy włożyć do gniazda EXPANSION PORT przy wyłączonym zasilaniu komputera, właściwą stroną (etykietka do góry). Niezastosowanie się do tych zaleceń może spowodować uszkodzenie cartridge lub komputera. Po krótkiej chwili od momentu włączenia zasilania formuje się plansza z napisem ROM-BIT przedstawia Black Box V.9. Przez chwilę powinna być słyszana również muzyka (dwa trójdżwięki). Jeżeli w początkowej fazie formowania się planszy (w fazie przesuwania się napisu ROM-BIT) przyciśniemy SPACE, to zgłosi się od razu system C-64 Basic wzbogacony o Black Box V.9. Podobny efekt uzyskamy, gdy przy włączeniu zasilania trzymać będziemy klawisz COMMODORE.
Jeżeli wraz z włączeniem zasilania przetrzymamy SPACE, to zgłosi się system COMMODORE BASIC V2 i komputer będzie działał jak gdyby w ogóle nie było cartridge.
System C-64 Basic wzbogacony o Black Box V.9 zgłasza się w modzie małe i duże litery. Jeżeli to użytkownikowi nie odpowiada, wówczas można to natychmiast zmienić przez jednoczesne przyciśnięcie klawiszy SHIFT i COMMODORE.
Cartridge ma zamontowany z tyłu przycisk RESET. Możliwych jest pięć sposobów wykonania resetu:
- Użycie przycisku RESET wraz z klawiszem COMMODORE (klawisz należy przetrzymać po zwolnieniu przycisku RESET przez około jedną sekundę) powoduje wywołanie procedury szybkiego resetu. a następnie zgłasza się system BLACK BOX V.9. Ten sposób resetowania nie niszczy programów napisanych w BASIC'u i umieszczonych w pamięci komputera. Programy te można łatwo odzyskać wydając rozkaz ←U (unnew), jest więc on szczególnie zalecany. Wykonując powtórny RESET nie potrzebujemy już, na ogół trzymać klawisza COMMODORE.
- RESET z przytrzymanym klawiszem ← powoduje formowanie się planszy takiej jak po włączeniu zasilania bez trzymania klawiszy.
- Użycie przycisku RESET z przytrzymanym klawiszem SPACE powoduje inicjalizację systemu COMMODORE BASIC V2. Od tej chwili komputer zachowuje się jak gdyby nie było caririuge.
- Jeżeli w momencie użycia przycisku RESET przytrzymamy klawisz CTRL, to nastąpi wejście do gry lub innego programu uruchomiającego się poprzez RESET, np. QUANGO, SYNTHlMAT-u iip. (oczywiście jeżeli tego rodzaju program był poprzednio wczytany).
- Użycie tylko przycisku RESET bez przytrzymywania klawiszy będzie przynosić efekty zależne od przeszłości.
Jeżeli poprzednio nie wykonywano RESET-u z klawiszem COMMODORE, to pojawi się plansza taka jak po włączeniu zasilania.
Jeżeli poprzednio komputer włączono (lub wykonano RESET) z przytrzymaniem klawisza COMMODORE, wówczas powinien zgłosić się od razu system BLACK BOX V.9. Wyjątkowo może tworzyć się plansza po użyciu niektórych gier i maszynowych programów użytkowych.
Odczyt programów z łaśmy najlepiej przeprowadzić za pomocą klawiszy funkcyjnych. Po włączeniu komputera i po wykonaniu RESETu włączany jest zestaw pierwszy klawiszy funkcyjnych przeznaczony do pracy z magnetofonem. W razie potrzeby, zestaw ten można włączyć klawiszem funkcyjnym F2 lub rozkazem ←ZP. Do wczytywania programów należy użyć klawisza funkcyjnego F5. Jest to zalecany sposób postępowania. Przy użyciu tego klawisza następuje automatyczne przełączenie się systemu na ekran zerowy.
Programy z taimy można wczytywać również za pomocą rozkazu ←L. Jako zasadę należy przyjąć, że rozkaz ten powinien być wydany wówczas gdy włączony jest ekran 0. Od lej zasady można odstąpić, jeżeli wczytywany program jest napisany całkowicie w BASIC'u.
Na początku każdego zapisywanego na taśmie programu znajduje się nagłówek, w którym jest umieszczona nazwa programu, jego adres stanowy i końcowy (finalny) oraz typ zapisu.
Adresy startowy i finalny wskazują na obszar pamięci, z którego dany zbiór (program) został zapisany na taśmę. Adresy startowy oznacza zawsze pierwsza komórkę należąca do tego obszaru pamięci, a adres finalny (końcowy) pierwszą komórkę występującą już poza zapisywanym obszarem (tzn. ostatni bajt zapisywanego zbioru ma numer równy adres finalny minus jeden).
Większość programów napisanych w BASIC'u, a także programy maszynowe (gry) startujące z BASIC'u (tj. uruchamiające sie rozkazem RUN) mają zwykle adres startowy równy 2049. Pozostałe programy maszynowe, niektóre programy napisane w BASIC'u (przy zmienionych wskaźnikach w komórkach 43 i 44) i inne zbiory mogą mieć adresy startowe różniące sie od tej wartości.
Typ zapisu może mieć dwie wartości: 1 albo 3. Jeżeli typ zapisu równa się 3, to zapisany zbiór będzie sie zawsze wczytywać po właściwy adres startowy, bez względu na sposób wczytywania. Ten typ zapisu powinny mieć w zasadzie wszystkie programy maszynowe, których adres startowy nie jest równy 2049.
Jeżeli typ zapisu wynosi 1, to lokalizacja wczytywanego programu będzie zależeć od sposobu wczytywania. W ten typ zapisu powinny być wyposażone wszystkie programy napisane w BASIC'u. Typ zapisu 1 mogą mieć również programy maszynowe startujące z BASIC'u (np. wszelkie gry. które po wykonaniu instrukcji LIST pokazują tylko jeden wiersz najczęściej z rozkazem SYS, gry takie uruchomiają sie rozkazem RUN).
Typ zapisu 3 uzyskuje sie zapisując program z tzw. adresem wtórnym, np. ←S "NAZWA", 1, 1.
Typ zapisu 1 można otrzymać zapisując dany zbiór bez adresu wtórnego, np. ←S "NAZWA".
W celu wczytania do pamięci komputera programu dyskietki najeży:
- wywołać katalog (directory) klawiszem funkcyjnym F7 (w razie potrzeby przełączyć się na drugi zestaw klawiszy funkcyjnych).
- naprowadzić kursor na wiersz, w który m wypisany jest żądany program.
- przycisnąć klawisz funkcyjny F5.
Zaleca się stosowanie wyżej opisanego sposobu wczytywania.
Program można wczytywać również w sposób standardowy, tj. poprzez LOAD"NAZWA",8,1, ale jako zasadę należy przyjąć, że rozkaz ten powinien być wydany na ekranie 0. Od tej zasady można odstąpić jedynie wówczas, gdy wczytywany program jest napisany całkowicie w BASIC'u. Wydanie rozkazu !KA (katalog) automatycznie włącza ekran zerowy.
Cartridge dysponuje bardzo szybkim systemem odczytu programów zapisanych na dysku. Przyspieszenie transmisji danych jest ponad 15-krotne: natomiast realne przyspieszenie odczytu zależy od długości zapisu, miejsca zapisu na dyskietce oraz stopnia fragmentacji zapisanych zbiorów i waha się w granicach od 11-12 razy.
Opisany system jest najbardziej użyteczny przy wczytywaniu długich programów jednoczęściowych i wówczas osiągane się największe korzyści. A oto porównanie średnich czasów wczytywania programu o długości 185 bloków (46 KB) przez różne cartridge:
ACTION REPLAY (system fast load) |
9,6 sek. |
BLACK BOX V.9 |
10.4 sek. |
FINAL III |
14.5 sek. |
FINAL II |
25 sek. |
odczyt normalny |
121 sek. |
Jak widać z niniejszej tabeli, szybkość wczytywania programów przez cartridge BLACK BOX V.9 jest porównywalna z szybkością oferowaną przez ACTION REPLAY.
W przypadku dyskowych programów wieloczęściowych spruwa nie jest już taka prosta. Zwykle można bez problemu szybko wczytać pierwszy program, tzw. loader (o ile jest on bez autostartu). Po uruchomieniu loadera klawiszem funkcyjnym F4 może się jednak okazać, że dalsze części zostaną wczytywane są juz z normalną prędkością. Jest to problem wszystkich wymienionych cartridge.
Dzieje się tak dlatego, ze idea tworzenia szybkiego dysku na cartridge'ach polega na zmianie wektora [a href="#" class="load-show"]LOAD, a autorzy tworzący oprogramowanie na C-64 często ignorują wektory systemu, tworząc własne programy wczytywania lub odwołując się bezpośrednio do podprogramów KERNALA z ominięciem wektorów.
W nielicznych przypadkach może się okazać, że uruchomiony program nie toleruje cartridge i działa nieprawidłowo lub zawiesza się. Wówczas należy uruchomić loader klawiszem funkcyjnym F3 lub w ogóle wyłączyć cartridge rozkazem ←Q przed rozpoczęciem operacji dyskowych.
UWAGA!
Wszystkie operacje dyskowe (rozkazy LOAD, SAVE, VERIFY) !RD "ROZKAZ" (również i te nie przyspieszone) należy wykonywać przy wyłączonej minigrafice (rozkaz !GU). Wydanie rozkazu !KA (katalog), jak również !ET, 0, automatycznie wyłącza minigrafikę. |
Programy maszynowe szybkiego wczytywania z dysku działają poprawnie pod warunkiem, że nie omija się wektora LOAD.
Należy wykorzystywać programy:
SETLFS - $FFBA
SETNAM - $FFBD
LOAD - $FFD5
Jeżeli wczytany program został napisany całkowicie w BASIC'u i wykorzystuje możliwości i rozkazy systemu Black Box (przełączanie ekranów, minigrafikę, klawiaturę muzyczną, ustawianie pozycji kursora, drukarkę od IBM itp.), to program ten uruchamiamy za pomocą rozkazu RUN.
Jeżeli wczytany program realizuje wydruki na drukarce z wejściem równoległym CENTRONICS, ale nie jest całkowicie napisany w BASIC'u (np. użytkowe programy graficzne lub edytory tekstu), wówczas najpierw ustawiamy rodzaj pracy !RP,0,1,1 a potem uruchamiamy program za pomocą sekwencji rozkazów ←E:RUN lub przy użyciu klawisza funkcyjnego F4.
Wszystkie pozostałe programy uruchamiamy za pomocą sekwencji ←Q:RUN, lub za pomocą klawisza funkcyjnego F3. Jest to zalecany sposób uruchamialna gier! Sposób ten daje gwarancję uruchomienia 100% programów bez zawieszeniu się!
Jeżeli wczytany program został napisany całkowicie w BASIC'u i wykorzystuje możliwości i rozkazy systemu Black Box (przełączanie ekranów, minigrafikę, klawiaturę muzyczną, ustawianie pozycji kursora, drukarkę od IBM itp.), to program ten uruchamiamy za pomocą rozkazu [a href="#" class="run-show"]RUN.
Jeżeli po wczytaniu programu nie napisanego całkowicie w BASIC'u (jednoczęściowego lub loadera) chcemy zachować możliwość pracy z szybkim dyskiem lub (i) wykorzystywać drukarkę od IBM z wejściem równoległym, wówczas ustawiamy najpierw odpowiedni rodzaj pracy komputera, np. !RP.l.0.1 a potem uruchamiamy program przy użyciu sekwencji ←E:RUN lub klawiszem funkcyjnym F4.
Wszystkie pozostałe programy startujemy za pomocą sekwencji rozkazów ←Q:RUN lub przy użyciu klawiszu funkcyjnego F3. Sposób ten gwarantuje uruchomienie 100% programów bez zawieszenia się!
System C-64 Basic wzbogacony o Black Box V.9 oferuje polskie litery na ekranach: pierwszym i drugim. Po resecie włączony jest automatycznie ekran pierwszy i polskie znaki. Polskie litery można wyłączyć i zastąpić je znakami standardowymi za pomocą rozkazu ←SZ. Ponowne włączenie - poprzez rozkaz ←PL.
Wprowadzenie polskich liter jest bardzo użyteczne przy pisaniu programów w BASIC'u. np. gier z polskim opisem, programów edukacyjnych itp. Pisanee litery na ekranie mogą być również wydrukowane na drukarce od IBM (z. wejściem typu CENTRONICS) z programów napisanych w BASIC'u. Do dyspozycji mamy kody MAZ0V1A lub LATIN2. Kody polskich znaków ekranowych, jak i sposoby przekodowania podane są w Dodatku.
A oto sposób drukowania liter na ekranie w modzie małe i duże litery:
ą |
COMMODORE + A |
ę |
COMMODORE + E |
ś |
COMMODORE + S |
ć |
COMMODORE + C |
ź |
COMMODORE + Z |
ń |
COMMODORE + N |
ó |
COMMODORE + O |
ż |
@ |
ł |
£ |
Ą |
CTRL + A |
COMMODORE + Q |
Ę |
CTRL + E |
COMMODORE + R |
Ś |
CTRL + S |
COMMODORE + D |
Ć |
CTRL + C |
COMMODORE + V |
Ź |
CTRL + Z |
COMMODORE + X |
Ń |
CTRL + N |
COMMODORE + M |
Ó |
CTRL + O |
COMMODORE + P |
Ż |
SHIFT + @ |
Ł |
SHIFT + £ |
Podano dwa sposoby drukowania dużych liter, ponieważ sposób z klawiszem CTRL działa tylko przy włączonych klawiszach funkcyjnych.
W modzie tylko duże litery polskie litery drukujemy tak, jak gdyby to były małe litery.
Ekran zerowy jest w pełni zgodny z systemem COMMODORE BASIC V2 i nie ma tu polskich liter. W przypadku pracy z programami napisanymi w BASIC'u możemy bez ograniczeń wykorzystywać wszystkie ekrany. Jeżeli jednak wykorzystujemy programy maszynowe, używające pamięci poza obszarem przeznaczonym dla BASIC'u, może się okazać konieczne włączenie ekranu zerowego przed wczytaniem i uruchomieniem tych programów. Jeżeli używamy klawiszy funkcyjnych do wczytywania programów, to nie musimy się o to martwić.
Cartridge C-64 Basic wzbogacony o Black Box V.9 oferuje możliwość współpracy z drukarkami posiadającymi wejście równolegle CENTRONICS (dotyczy to zwłaszcza drukarek od IBM). Sposób podłączenia jest pokazany w tekście POMOCY (wykonaj rozkaz ←P i wybierz stronę 8). Odpowiedni kabel połączeniowy można wykonać samodzielnie pod warunkiem zakupienia odpowiednich złącz. Z wtykiem CENTRONICS nie powinno być większego problemu, natomiast trudniejsze może sie okazać zdobycie gniazda do USERPORT. Są to np. gniazda typu TRW-251-12-50-1 lub WK-S12A2G. Należy tutaj jednak zaznaczyć, że nieprawidłowe połączenie może doprowadzić do uszkodzenia komputera lub drukarki, więc osoby me znające się na elektronice powinny czynność wykonania łącza powierzyć fachowcowi.
Aby komputer wysyłał dane do drukarki poprzez USERPORT, należy ustawić tryb (rodzaj) pracy następująco: !RP.x.1.z gdzie x, z mogą mieć wartości 0 tub 1.
Gwarantuje się prawidłowe działanie wszystkich rozkazów BASIC'u dotyczących drukarki i ich odpowiedników maszynowych.
Cartridge umożliwia drukowanie polskich liter pod warunkiem, że drukarka ma wpisane definicje polskich liter do pamięci ROM. Zdecydowano się na dwa najbardziej rozpowszechnione kody MAZ0V1A i LATLN2 (obecnie większość zachodnich producentów drukarek wyposaża je w polskie znaki według kodu LAT1N2).
Sposób sterowania drukarka równoległy jest analogiczny jak w przypadku drukarek z wejściem szeregowym np. typu MPS 803. Różnice występują tylko w adresie wtórnym.
Przykłady:
OPEN 1, 4, N: PRINT #4, A$: CLOSE 1
OPEN 1, 4, N: CMD 4: LIST: CLOSE 1
Adres wtórny N umożliwia różne sposoby drukowania:
N=0 |
tylko duże litery z line feed (ze zmianą wiersza) |
N=1 |
tylko duże litery bez line feed |
N=2 |
małe i duże litery, kod MAZOVlA z LF |
N=3 |
małe i duże litery, kod MAZOVlA bez LF |
N=4 |
małe i duże litery, kod LATLN2 z LF |
N=5 |
małe i duże litery, kod LATLN2 bez LF |
N=6 |
kanał liniowy (bez przekodowań) |
N=7 |
jak n=4 |
N>7 |
kanał liniowy (bez przekodowań) |
Wybieramy zawsze adres wtórny z LINE fEED jeśli tylko drukarka ma ustawiony rodzaj pracy AUTO LINE FEED OFF. Jeżeli jednak drukarka pracuje z AUTO LINE FEED ON, to musimy wybrać adres wtórny bez LF.
W przypadku współpracy z drukarką w tzw. modzie graficznym pracujemy zawsze w kanale liniowym.
Podczas pisania maszynowych programów drukowania, nie należy omijać wektorów systemu! Używać następujących programów KERNAL'a:
SETLFS |
$FFBA |
OPEN |
$FFC0 |
CHKOUT |
$FFC9 |
CHROUT |
$FFD2 |
CLOSE |
$FFC3 |
Jeżeli dysponujemy obcym programem napisanym w BASIC'u, zwykle możemy wykonywać wydruki tekstowe bez żadnych kłopotów. Może się jednak zdarzyć, że używa on adresów wtórnych właściwych dla drukarek MPS i nie potrafimy znaleźć odpowiedniego miejsca w tym programie aby to zmienić, możemy wówczas przed uruchomieniem tego programu zamrozić wybrany przez nas rodzaj pracy drukarki poprzez rozkaz !ZA,N. Drukarka odtąd będzie stale pracować tak, jakby drukowanie było wywołane z adresem wtórnym N, aż do odwołania (odmrożenia) rozkazem !OD. Powodzenie w wykonaniu wydruków graficznych będzie zależało od tego, czy program umożliwia pracę z drukarką zgodną ze standardem EPSON lub IBM.
W przypadku wykorzystania profesjonalnych programów użytkowych wykorzystujących drukarkę (edytory grafiki i tekstu) sprawa się nieco komplikuje ponieważ:
- nie wszystkie programy mają możliwość ustawiania parametrów drukarki
- nie wszyscy programiści szanują wektory systemu Commodore
- nie wszystkie programy tolerują system Black Box
Dlatego musimy się pogodzić z tym, że nie zawsze będziemy mogli wykorzystać pełne możliwości cartridge C-64 Basic wzbogacony o Black Box V.9 w obcych programach graficznych.
Dzieje się tak dlatego, że idea tworzenia możliwości użycia drukarek CENTRONICS przy wykorzystaniu standardowych formatów rozkazów polega na zmianie niektórych wektorów systemu Commodore, a autorzy tworzący oprogramowanie do C-64 często ignorują wektory systemu, tworząc własne programy wydruku, lub odwołując się bezpośrednio do podprogramów KERNAL'a z ominięciem wektorów.
Przestrzegając jednak pewnych zasad uruchamiania programów graficznych możemy wykorzystać możliwość użycia drukarek od IBM przynajmniej w części tych programów. Większość z nich pyta się o parametry drukarki, lub umożliwia samodzielne ich ustawienie za pomocą specjalnych programów nazywanych zwykłe SETUP albo INSTALL. Drukarkę należy ustawić na AUTO LINE FEED OFF, a parametry drukarki należy wybrać następująco:
- typ drukarki zgodny ze standardem EPSON lub IBM
- numerr urządzenia ustawić na 4
- adres wtórny ustawić na liczbę 6 lub liczbę większą od 7
- zażądać realizacji line feed przez program
Przed uruchomieniem programu trzeba ustawić następujący rodzaj (tryb) pracy: !RP,0,1,0 i następnie uruchomić program sekwencją rozkazów ←E:RUN lub klawiszem funkcyjnym F4.
A oto przykłady przetestowanych programów, które działają poprawnie z cartridge-m Black Box V9:
PRINTFOX (wersja polska 1986)
Jest to bardzo dobry edytor tekstowo-graiiezny umożliwiający łączenie ze sobą obrazu i tekstu, pracę wielokolumnową, oblewanie obrazków tekstem, program dostarcza również wiele innych możliwości. Wersja polska oferuje zestawy polskich fontów.
Przed uruchomieniem programu należy najpierw wczytać i uruchomić program SETUP (zwykle tylko jeden raz). Następnie należy:
- wybrać drukarkę (najlepiej rozpocząć próby od EPSON RX/FX)
- wybrać numer urządzenia (Geraeteadresse) 4
- wybrać adres wtórny (Sekundaeradresse) 6
- wybrać opcję Line Feed po CR (j)
Wczytywanie i uruchamianie programu:
- wczytać program PRINTP0X (może być szybki dysk)
- wybrać rodzaj pracy !KP,0,1,1
- uruchomić program klawiszem funkcyjnym F4
HI-EDDI PLUS
Jest to edytor graficzny umożliwiający m. in. pracę z wieloma ekranami, animację.
W celu zainstalowania drukarki należy wczytać i uruchomić program DRUCKER. Dalej postępować analogicznie jak przy PRINTFOX z tym, że można wybrać również rodzaj pracy !RP,1,1,1 (szybki dysk).
TEXTOMAT PLUS (1985)
Jest to edytor tekstu pracujący w modzie tekstowym. Program umożliwia samodzielną realizację polskich liter na ekranie oraz takie przekodowanie posyłanych do drukarki kodów liter, aby uzyskać standard MAZOVIA, LATIN2 itp. Jeżeli drukarka nie ma zainstalowanych polskich liter, można je samemu zdefiniować i posłać przed drukiem jako tzw. download character (opcja grafikmodus = 1). Szczegółowy opis sposobu otrzymywania polskich liter na ekranie i przekodowywania znaków przeznaczonych dla drukarki przekracza ramy niniejszego opracowania.
Program Texttomat Plus może pracować z szybkim dyskiem. W celu przygotowania programu do pracy z drukarką równoległą należy:
- wczytać program ładujący LADER wykorzystując szybki dysk
- uruchomić go za pomocą klawisza funkcyjnego F4
- wybrać odpowiedni ekran i drukarkę (najlepiej rozpocząć od FX80)
Następnie należy ustawić parametry drukarki następująco:
- Wybrać dienst/ein-ausgabe parameter/aendern/druckeransteuenung/druckerparameter
- Wybrać
- druckertyp 4 (lub ewentualnie 3)
- sekundaeradresse 6
- geraeteadresse 4
- grafikmodus 0 (lub 1 jeżcie przesyłamy własne definicje liter)
- Zapisać wybrane parametry
|
Ponadto pomyślnie przetestowano następujące edytory graficzne:
Wigmore Artist 64 V.1.0 (1986) - pracuje również z taśmą
Doodle (1983) - pracuje również z szybkim dyskiem
←@ - COPY - kopiowanie na taśmę
Kopiowanie na taśmę ostatnio wczytanego zbioru z taśmy lub dysku. Znak @ na polskim ekranie jest widoczny jako ż. Z taśmy można kopiować prawie wszystkie programy zapisane w TURBO (również maszynowej z wyjątkiem programów z autostartem. Z dysku można w ten sposób przenosić na taśmę wszystkie programy jednoczęściowe uruchomiające się rozkazem RUN o długości do 152 bloków. Wczytany zbiór zostanie zapisany na taśmie pod tą samą nazwą. Możliwe jest kopiowanie wielokrotne. Kopiowanie powinno następować bezpośrednio po wczytaniu. Przed rozpoczęciem kopiowania i przed każdą zmiany sposobu wczytywania należy wyresetować komputer. Rozkaz COPY jest przyporządkowany klawiszowi funkcyjnemu F7 w zestawie pierwszym.
←G - HEAD FIT - ustawianie głowicy magnetofonu
Dyrektywa uruchamia program do ustawiania głowicy. Możliwe jest ustawianie głowicy przy zapisie normalnym, zapisie w TURBO i specjalnym zapisie wzorcowym. W pierwszych dwóch przypadkach można wykorzystać taśmy z zapisanymi programami, a w trzecim przypadku trzeba samemu sporządzić zapis wzorcowy korzystając z dobrze wyregulowanego magnetofonu. Ustawienie głowicy na podstawie zapisu normalnego jest mało dokładne, zapis w TURBO daje dobre wyniki, a zapis wzorcowy daje najlepsze efekty.
Sposób postępowania jest następujący:
- Kręcić powoli śrubką regulacyjną aż do chwili, gdy wysokość będzie minimalna, a tony będą najniższe. W praktyce wysokość próbek nie powinna przekraczać 1.
- Ustalić dwa skrajne położenia tej śrubki, przy których wysokość próbek zaczyna wyraźnie wzrastać, a tony stają wyższe (kręcąc śrubką powoli).
- Ustawić śrubkę w środku między tymi dwoma skrajnymi położeniami.
Przy ustawianiu głowicy na podstawie zapisu w TURBO przy prawidłowym ustawieniu głowicy wszystkie próbki nie powinny przekraczać 1. Mogą się zdarzyć pojedyncze próbki o większej wartości. Wchodzenie na żółte i czerwone pole (wysokość próbki powyżej 1) lub błędne rozpoznanie systemu zapisu świadczy o złej jakości taśmy lub o kiepskim systemie TURBO użytym do zapisu. Najlepsze TURBO to ABC TURBO, TURBO ROM. TURBO na cartridge'ach BLACK BOX, natomiast najgorsze - na cartridge'ach typu FINAL II.
Interesująca jest możliwość ustawiania głowicy wyłącznie na słuch, co pozwala koncentrować wzrok na śrubokręcie.
←L - LOAD - odczytywanie programów z taśmy
Rozkaz działa z klawiatury i z programu. W czasie wyświetlania danych z nagłówka można przerwać procedurę przyciskając klawisz RUN/STOP. W pozostałych sytuacjach należy użyć RUN/STOP + RESTORE.
←L - jest to najbardziej typowy sposób ładowania programów i innych zbiorów do komputera. Pierwszy napotkany na taśmie zbiór będzie wczytany do pamięci komputera. Jeśli typ zapisu jest równy 1, to zbiór ten będzie zawsze wczytany do obszaru pamięci przeznaczonego dla BASlC'u (zwykle począwszy od adresu 2049), bez względu na adres startowy i końcowy. Jeżeli zapis jest typu 3, to program zostanie wczytany do obszaru pamięci wyznaczonego przez adres startowy i adres finalny.
←L"NAZWA" - program o zadanej nazwie zostanie wczytany do pamięci komputera w sposób jak opisano poprzednio. Zamiast pełnej nazwy można podać skrót, opuszczając znaki od końca (nigdy od początku!), np.: ←L"NAZ", ←L"NA".
←L"NAZWA",1,1 - dyrektywa ta powoduje wyszukanie i wczytanie programu zapisanego na taśmie zawsze do obszaru pamięci określonego przez adres startowy i końcowy, bez względu na typ zapisu. Możliwe jest skracanie nazwy, lub jej niepodawanie, np. ←L"",1,1. Rozkaz ten przyporządkowany jest klawiszowi funkcyjnemu F5.
←M - MERGE
Ta dyrektywa powinna być stosowana tylko do programów napisanych w BASIC'u i zapisanych na taśmie przy użyciu typu zapisu numer 1. Instrukcja działa podobnie jak ←L, z tą różnicą, że jeśli w pamięci komputera znajdował sie jakiś program napisany w BASIC'u, to nie zostanie on usunięty, ale do tego programu zostanie dołączony następny doczytywany program. Wskazane jest, aby program doczytywany miał numery wyższe niż poprzedni, w przeciwnym razie należy dokonać przenumerowania (patrz instrukcja ←R).
Sposób zastosowania:
←M lub ←M"NAZWA"
←V - VERIFY
Weryfikacja pierwszego napotkanego programu. Jest to najbardziej typowy sposób sprawdzania poprawności zapisu na taśmie.
Można go stosować do wszystkich programów (zbiorów), których adres startowy wynosi 2049, bez względu na typ zapisu, oraz do wszystkich programów (zbiorów), których typ zapisu wynosi 3, bez względu na adres startowy.
Sposoby zastosowania:
←V"NAZWA" - rozkaz powoduje wyszukanie na taśmie zbioru o nazwie NAZWA i weryfikuje go. Sposób i zakres działania rozkazu - jak dla rozkazu ←L.
←V"NAZWA",1,1 - zbiór o nazwie NAZWA będzie wyszukany i zweryfikowany. Dyrektywa ta jest najbardziej uniwersalna, ponieważ weryfikuje wszystkie możliwe zbiory, bez względu na typ zapisu, adres startowy i finalny.
←£ - VERIFY
Weryfikacja ostatnio zapisanego programu. Jest to najszybszy, najpewniejszy, najlepszy sposób weryfikacji. Przy włączonych polskich literach na ekranie zamiast znaku £ jest pokazywany znak ł. Ten rozkaz jest przyporządkowany klawiszowi funkcyjnemu F8 w zestawie pierwszym.
←S - SAVE - zapisywanie programów
Rozkaz działa z klawiatury i z programu.
Spozoby użycia:
←S"NAZWA" - zbiór o nazwie NAZWA zostanie zapisany na taśmie. Jest to najbardziej typowy sposób zapisu programów. Uzyskuje się zapis typu 1. W ten sposób należy zapisywać i kopiować programy napisane w BASIC'u jak również gry i inne programy maszynowe startujące w BASIC'u. tj. uruchamiające sie rozkazem RUN. Rozkaz ten jest przyporządkowany klawiszowi funkcyjnemu F6.
←S"NAZWA",1,1 - zbiór o podanej nazwie zostanie zapisany na taśmie, typ zapisu będzie wynosić 3.
←W - WRITE
Zapisywanie programów maszynowych, ciągu bajtów, obrazów grafiki HI-RES i innych zbiorów. Rozkaz jest użyteczny szczególnie dla programujących w języku maszynowym. Za pomocą tej dyrektywy można zarejestrować dowolny fragment lub całą pamięć komputera.
←W, adres startowy, adres końcowy "NAZWA" - zapisanie zbioru określonego przez adres startowy (numer pierwszej komórki zbioru) i adres końcowy (numer pierwszej komórki poza zbiorem). Numer ostatniego zapisywanego bajtu jest więc o jeden mniejszy. Typ zapisu jest równy 1.
←W, adres startowy, adres końcowy "NAZWA",1,1 - podobnie jak poprzednio z tym, że typ zapisu równa się 3.
UWAGA!
Adres końcowy powinien być liczbą całkowitą o wartości do 65535, większą niż adres startowy. Od tej reguły należy odstąpić tylko w jednym przypadku: jeżeli chcemy zapisać obszar zawierający ostatnią komórkę pamięci o numerze 65535, to wówczas wyjątkowo jako adres końcowy przyjmujemy zero. |
Przykłady:
←W,49152,53248"PROGRAM MASZ",1,1 - zapisanie programu maszynowego.
←W.40960,49152"TEKST",1,1 - zapisanie RAM-u w obszarze adresowym interpretera BASIC'u.
←W,57344,0"OBRAZEK",1,1 - zapisanie grafiki HI-RES w obszarze adresowym KERNAL'a.
←W,1024,0"MEMORY",1,1 - zapisanie całego użytecznego obszaru pamięci komputera.
|
←D - DELETE - usuwanie wierszy
Usuwanie wierszy z programów napisanych w BASIC'u.
Sposób wykorzystania:
←D, dolna granica usuwanego obszaru, górna granica obszaru. Np.:
←D, 200, 780 - wiersze o numerach mieszczących się w przedziale od 200 do 780 będą usunięte,
←D, 0, 400 - wszystkie wiersze o numerach nie większych niż 400 będą usunięte.
←F - FIND WORD - szukanie słowa
Poszukiwanie zadanego słowa.
Sposób wykorzystania:
←F,"SŁOWO
Będą wyszukane i podane wszystkie numery wierszy zawierające SŁOWO (jeśli istnieją). W ten sposób można poszukiwać wyrazów zawartych w łańcuchach, po REM'ach, a także zmiennych.
←KR - KILLER OF REM - usuwanie REM
Dyrektywa ta usuwa wszystkie teksty występujące po REM w programach napisanych w BASIC'u, przez co zmniejsza się długość programu. Jeżeli dany wiersz zawiera tylko REM, to jest usuwany w całości. Do takiego wiersza nie należy kierować skoków typu GOTO lub GOSUB. Podawana jest liczba bajtów programu przed i po operacji.
←KS - KILLER OF SPACE - usuwanie spacji
Rozkaz usuwa wszystkie zbędne spacje przez co zmniejsza sie długość programu. Nie są usuwane spacje w łańcuchach.
←X - EXPEND - przywracanie spacji
Przywracanie spacji (odwrotnie do ←KS).
←U - UNNEW
Ratowanie (przywracanie) programów napisanych w BASIC'u po wykonaniu instrukcji NEW lub po resecie z klawiszem COMMODORE.
←R - RENUMBER - zmiana numeracji wierszy
Zmiana numeracji wierszy programu napisanego w BASIC'u. Procedura renumeracji uwzględnia i zmienia adresy wszystkich skoków typu GOTO i GOSUB. Program pyta się o numer pierwszego wiersza i o skok (przyrost) numeracji.
←A - AUTONUMBER - automatyczna numeracja wierszy
Spoosób wykorzystaniu:
←A, numer pierwszego wiersza, skok lub
←A
Automatyczna numeracja wierszy. Wartość skoku nie może przekraczać 255. Wyłączenie modu AUTONUMBER następuje poprzez wydrukowanie pustego wiersza (to jest do kolejnego zaproponowanego wiersza nic nie wpisujemy i przyciskamy RETURN), program jednak pamięta numer wiersza, przy którym wyszliśmy z modu AUTONUMBER. Wykonanie ←A bez podawania liczb spowoduje kontynuację autonumeracji począwszy od numeru tego wiersza.
Przykłady:
←A,100.10
←A
←I - INFO - informacja o adresach
Informacja o ważnych dla BASIC'u adresach. Podawane są:
początek tekstu programu
koniec tekstu programu
koniec obszaru dla języka BASIC
liczba wolnych bajtów
←BD - dolna granica BASIC'u
Rozkaz umożliwia zmianę dolnej granicy BASIC'u. Może być wydany tylko w trybie z klawiatury.
Sposób wykorzystania:
←BD, liczba
Liczba jest typu całkowitego i określa adres dolnej granicy dla BASIC'u.
Zmiana dolnej granicy BASIC'u pozwala na uzyskanie chronionej pamięci dla własnych podprogramów maszynowych, przechowywania definicji spite'ów itp. Należy jednak pamiętać, że po zmianie tej granicy programy napisane w BASIC'u należy zawsze wczytywać bez adresu wtórnego, a więc ←L lub LOAD"NAZWA",8. Programy te należy zapisywać no taśmę również bez adresu wtórnego, np. ←S"NAZWA" (typ zapisu 1).
Ilość chronionych bajtów wynosi: liczba-2048.
←BG - górna granica BASIC'u
Sposób wykorzystania:
←BG, liczba
Zmiana górnej granicy BASIC'u. Dyrektywa może być wydana z klawiatury jak i z programu.
Liczba jest typu całkowitego i musi być większa od adresu końca programu oraz nie większa od adresu końcu obszaru dla języka BASIC.
W przypadku wydania tego rozkazu z programu mogą ulec wykasowaniu wartości stałych i zmiennych BASIC'u, dlatego też rozkaz ten należy umieścić w programie jak najwcześniej, przed ustaleniem tych wartości.
Na przykład:
10 A = 15: B(3) = 22: FOR K = 0 TO 15
20 ←BG,32000 <font color="red">ŻLE!</font>
10 ←BG,32000: CLR
20 A = 15: B(3) = 22: FOR K = 0 TO 15 <font color="green">DOBRZE!</font>
Rozkaz pozwala na stworzenie obszaru pamięci chronionej, którą użytkownik może przeznaczyć na własne podprogramy maszynowe lub umieszczać tam różne dane. Ilość chronionych bajtów wynosi: 40960 - liczba.
←ZP - zestaw pierwszy klawiszy funkcyjnych
Włączenie pierwszego zestawu klawiszy funkcyjnych. Zmianę zestawu klawiszy funkcyjnych można uzyskać również za pomocą klawisza funkcyjnego F2.
←ZD - drugi zestaw klawiszy funkcyjnych
Wleczenie drugiego zestawu klawiszy funkcyjnych. Przełączenie zestawów jest możliwe również za pomocą klawisza funkcyjnego F2.
←P - pomoc
Włączenie wyświetlania tekstu zawierającego listę rozkazów systemu Black Boa i inne informacje pomocnicze.
←Q - OUIT - wyłączenie cartridge
Cartridge zostanie całkowicie wyłączony i od tego momentu komputer zachowuje sie tak jak by nie było tego cartridge. Ten rozkaz zaleca sie wydać przed uruchomieniem wszystkich programów, które nie tolerują systemu Black Box. Powrót do systemu Black Box możliwy jest poprzez RESET. Dyrektywa ta w połączeniu z rozkazem RUN jest przypisana klawiszowi funkcyjnemu F3.
←E - EXIT - wyłączenie systemu Black Box
System Black Boa zostaje wyłączony, ale pozostaje aktualny rodzaj pracy jaki obowiązywał przed wyłączeniem systemu. Oznacza to możliwość korzystania z szybkiego dysku lub (i) drukarki ze złączem CENTRONICS.
Dyrektywa ta powinna być wydana przed uruchomieniem programów, które nie tolerują systemu Black Box jeżeli chcemy jednocześnie wykorzystać szybki dysk lub drukarkę od IBM. Rozkaz ten w połączeniu z rozkazem RUN jest przypisany klawiszowi funkcyjnemu F4.
←CO - COLOR
Zmiana kolorów ekranu.
Sposób wykorzystania:
←CO, numer koloru tła, numer koloru ramki
Numery kolorów jak w instrukcji do COMMODORE. Np. ←CO, 12, 15.
←CP - CURSOR POSITION - ustawienie pozycji kursora
Sposób wykorzystania:
←CP, numer kolumny, numer wiersza
numer kolumny = 0-39, numer wiersza = 0-24. Ta dyrektywa ustawia kursor na ekranie w żądanej pozycji i jest bardzo użyteczna z programu. Po tym rozkazie może następować np. rozkaz PRINT lub INPUT. Np.
←CP, 20, 12: PRINT A$.
←YK, ←NK - YES KEY, NO KEY - włączenie i wyłączenie klawiszy funkcyjnych
Cartridge oferuje dwa zestawy klawiszy funkcyjnych. Pierwszy zestaw przeznaczony jest do pracy z taśmą i włączany jest rozkazem ←ZP, natomiast drugi zestaw włącza sie za pomocą ←ZD i jest on przeznaczony do pracy ze stacją dysków.
Znaczenie poszczególnych klawiszy jest następujące:
Zestaw pierwszy
F1 - LIST - listowanie programów
F2 - ←ZP, ←ZD - zmiana zestawu
F3 - ←Q:RUN - start programów 1
F4 - ←E:RUN - start programów 2
F5 - ←L"",1,1 - odczyt z taśmy
F6 - ←S" - zapis na taśmę w turbo
F7 - ←@ - kopiowanie na taśmę
F8 - ←£ - weryfikacja zapisu na taśmę
Zestaw drugi
F1 - LIST - listowanie programów
F2 - ←ZP, ←ZD - zmiana zestawu
F3 - ←Q:RUN - start programów 1
F4 - ←E:RUN - start programów 2
F5 - LOAD"*",8,1 - odczyt z dysku[
F6 - SAVE" - zapis na dysk (dopisać ",8)
F7 - !KA - katalog dyskowy
F8 - !RD" - rozkaz dyskowy
|
Po włączeniu zasilania i po resecie ustawia sie pierwszy zestaw funkcji.
←YR, ←NR - YES REPEAT, NO REPEAT - włączenie i wyłączenie powtarzania drukowania klawiszy
Jednokrotne przyciśniecie i przytrzymanie danego klawisza powoduje (←YR) lub nie (←NR) jego wielokrotne drukowanie.
←YT, ←NT - YES TONES OF MUSIC, NO TONES OF MUSIC - włączenie i wyłączenie klawiatury muzycznej
Klawiatura C-64 zamienia się w 3-oktawowa klawiaturę umożliwiającą grę jedno-, dwu-, lub trójgłosową. Przyciśnięcie lewego klawisza SHIFT lub SHIFT LOCK zwiększa wysokość dźwięków o dwie oktawy. W sumie możliwe jest wydobywanie dźwięków pojedynczych w zakresie 5-oktaw oraz większości dwu- i trójdżwięków. Procedura działa na zasadzie przerwań, a więc możliwa jest równoczesna gra i wykonywanie programów napisanych w BASJC-u.
Black Box V9 zawiera poprawiony (w porównaniu ze starszymi wersjami B.B. program realizacji dźwięku, którego jakość jest dużo lepsza.
Rozkaz ←O włącza program realizacji prostego instrumentu opartego na tej klawiaturze muzycznej.
←O - prosty instrument muzyczny
Rozkaz włącza program realizujący prosty polifoniczny instrument muzyczny oparty na klawiaturze muzycznej systemu Black Box. Program umożliwia zmianę kształtu fali dźwiękowej, zmianę kształtu obwiedni, zmianę filtracji oraz regulację głośności. Dla ułatwienia posługiwania się instrumentem wyświetlana jest klawiatura fortepianowa.
Nie przewidziano oddzielnej opcji powrotu do systemu, dlatego zaleca się zakończyć pracę z instrumentem poprzez RESET.
Program napisany jest prawie całkowicie w BASIC'u z wyjątkiem podprogramu pojawiania się szarych prostokątów na naciskanych klawiszach (program w BASJC'u działałby zbyt wolno). Można go wylistować poprzez uruchomienie rozkazem ←O, a następnie przerwanie kombinacja klawiszy RUN/STOP + RESTORE i wykonanie dyrektywy LIST.
|
!ET - zmiana ekranu tekstowego
Sposób wykorzystania:
!ET, x gdzie x = 0, 1, 2
Rozkaz ustawia jeden z trzech ekranów tekstowych. Ekrany o numerach 1, 2 mogą używać polskich liter. Ekran zerowy jest to standardowy ekran C-64 i nie zawiera polskich liter. Jeżeli ustawiony jest rodzaj pracy !RP, x, y, 1 to nie jest możliwe włączenie ekranów numer 1 i 2. Ten rodzaj pracy należy ustawiać zawsze w przypadku, gdy chcemy wykorzystać RAM od $AOOO do $D000 np. dla własnych programów maszynowych.
!ED - wybór ekranu do edycji
Sposób użycia:
!ED, x gdzie x = 0, 1, 2
Normalnie system dokonuje edycji tego ekranu, który jest aktualnie wyświetlany. Niniejszy rozkaz pozwala wybrać do edycji dowolny ekran, również gdy jest niewidzialny. Pozwala to na wyświetlenie jakiegoś ekranu i równoczesną edycję innego ekranu, po czym można przełączyć ekrany rozkazem !ET. W ten sposób możemy uniknąć obserwowania edycji i zobaczyć od razu efekt końcowy.
Rozkaz może być wydany tylko z programu.
UWAGA:
Ponieważ komputer jest wyposażony w trzy ekrany i tylko jedną pamięć kolorów, wskazane jest. aby kolory na ekranie widzialnym i niewidzialnym były takie same. w przeciwnym bowiem razie możemy uzyskać niespodziewane efekty. Pomocny może się tutaj okazać rozkaz !KZ. |
!PL - włączenie polskich liter
Polskie litery są dostępne tylko na 1 i 2 ekranie. Jeżeli komputer pracuje w trybie tylko ekran zerowy, to włączenie polskich liter nie jest możliwe.
!SZ - standardowe znaki ekranu
Dyrektywa wyłącza polskie litery i wprowadza standardowe znaki ekranowe.
!KE - kopiowanie ekranu
Sposób wykorzystania:
!KE, x, y gdzie x, y = 0, 1, 2
Ekran tekstowy x zostanie skopiowany i przeniesiony do ekranu y.
!KZ - kolor znaków ekranu
Sposób wykorzystania:
!KZ, x, y gdzie x = 0, 1, 2 y = 0 - 15
Wszystkie znaki na ekranie x będą w kolorze y.
!AN - sekwencyjne wyświetlanie ekranów
Sposób wykorzystania:
!AN, x, y gdzie x = 0, 1 y = 1 - 255
Sekwencyjne wyświetlanie ekranów odbywa się w kolejności ekran 0, ekran 1, ekran 2 jeżeli x = 0, lub w kolejności ekran 1, ekran 2 gdy x = 1.
Y określa czas ekspozycji ekranu. Jeśli y = 1 - 6 zmiana następuje bardzo szybko, przy y = 30 czas ekspozycji wynosi około 1 sekundy, a przy y = 255 około 8 sekund.
Rozkaz umożliwia szybkie, niemal natychmiastowe zmiany obrazów ekranów (wykonanie rozkazu PRINT wymaga zwykle nieco czasu). Przy małych wartościach y uzyskuje się coś w rodzaju animacji.
Wskazane jest aby znaki na wszystkich ekranach miały ten sam kolor, w przeciwnym razie można uzyskać różne dziwne efekty.
Rozkaz można zapętlić np. następująco:
100 !AN,0,12
110 GET AS: 1F AS="" THEN 100
|
!ZA - zamrożenie pracy drukarki
Sposób wykorzystania:
!ZA, x x gdzie x = 0 - 7
Praca drukarki nie będzie odtąd zależeć od adresu wtórnego. Drukarka będzie, stale działać tak jak gdyby była wywołana z adresem wtórnym x, a wiec OPEN 1, 4, x aż do odwołania poprzez !OD.
Rozkaz może być użyteczny wówczas gdy dysponujemy programem, który używa niewłaściwego adresu wtórnego i chcemy wymusić użycie właściwego. Należy go wydać przed uruchomieniem tego programu.
Dyrektywa będzie działać we wszystkich programach napisanych w BASIC'u. Niektóre profesjonalne edytory graficzne i tekstowe mogą jednak być odporne na ten rozkaz.
!OD - odmrożenie pracy drukarki
Rozkaz działa odwrotnie do poprzedniego.
!RP - ustawienie rodzaju pracy
Sposób wykorzystania:
!RP, x, y, z gdzie:
x=0 |
normalna praca stacji dysków |
x=1 |
szybki dysk |
y=0 |
druk poprzez SERIAL |
y=1 |
druk przez USERPORT |
z=0 |
wszystkie ekrany |
z=1 |
tylko ekran zero |
!ST - status
Rozkaz pokazuje aktualny rodzaj pracy komputera.
!KA - katalog
Drukowany jest katalog dyskowy (directory) na ekranie. Przyciśnięcie klawisza COMMODORE w trakcie listowania powoduje zatrzymanie listingu na tak długo jak długo będzie trzymany ten klawisz. Przyciśnięcie CTRL. spowalnia listowanie, a RUN/STOP przerywa je.
Ten rozkaz jest przypisany do klawisza funkcyjnego F7 w zestawie drugim.
!RD - rozkaz dyskowy
Sposób wykorzystania:
!RD"ROZKAZ DYSOWY
Dyrektywa umożliwia posyłanie do stacji dysków rozkazów i jest równoważna następującemu ciągowi rozkazów:
OPEN 15,8.15: PRINT #15,"ROZKAZ DYSKOWY": CLOSE15
Na przykład:
!RD"R:NOWA NAZWA=STARA NAZWA - zmiana nazwy
!RD"S:NAZWA - usunięcie zbioru
!RD"N:NAZWA, ID - formatowanie dyskietki
!RD"I - inicjalizacja stacji dysków
!RD"V - validate, porządkowanie dysku
Dyrektywa ta jest przyporządkowana klawiszowi funkcyjnemu F8 w zestawie 2.
|
Cartridge oferuje specjalna minigraftkę utworzona z połączonych ośmiu spnte'ów, co daje pole o wymiarach 96 a 42 punkty. Grafika ta może być pokazywana w normalnym jak i zwiększonym wymiarze. Możliwe jest rysowanie obrazów jak i pisanie tekstu na ekranie. Minigrafika może być wyświetlana przy użyciu normalnego ekranu tekstowego jako tła (ekran 1 i ekran 2).
!GW - włączenie minigrafiki
Sposób wykorzystania:
!GW, x, y, we
Rozkaz włącza aktualnie ustawiony dyrektywą !GE ekran minigrafiki. Jeżeli dyrektywa taka poprzednio nie była wydana, to włączany jest ekran 0.
x,y - współrzędne lewego górnego rogu minigrafiki.
Wartości x i y zawierają się w granicach:
xmin = ymin = 0
xmax = 320-(we + 1) * 96
ymax = 200-(we + 1) * 42
we - rozmiar ekranu minigrafiki:
we=0 - ekran normalny
we=l - ekran zwiększony
Ograniczenia na wartości xmax i ymax wynikają i żądania, aby włączany ekran minigrafiki by widziany w całości. Te ograniczenia nie obowiązują w przypadku przesuwania minigrafiki rozkazami !GJ i !PG i tutaj możliwe jest wychodzenie nunigraiiki poza ekran, a w związku z tym możliwy jest pełny zakres wartości x i y.
Po wykonaniu rozkazu !GW tworzone są automatycznie zmienne GX% i GY%.
!GU - usuwanie minigrafiki
Rozkaz ten wyłącza minigrafikę. Minigraiika powinna być obowiązkowo wyłączona przed wykonaniem jakichkolwiek operacji dyskowych.
!GM - mazanie minigrafiki
Aktualnie ustawiony rozkazem !GE ekran minigrafiki zostanie wykasowany bez względu na to, czy był włączony, czy też nie.
!GI - inwersja obrazu
Odwrócenie obrazu minigrafiki (fotograficzny negatyw) na aktualnie ustawionym ekranie.
!GR - rysowanie, mazanie, odwracanie punktu
Sposób wykorzystania:
!GR, x, y, r gdzie x=0-95, y=0-41, r=0,l,2
Dyrektywa pozwala na umieszczenie punktu na aktualnie ustawionym (rozkazem !GE,x) ekranie mninigrafiki, jego inwersję lub usunięcie. Jeżeli rozkaz !GE nie był od początku używany, to ekranem tym jest ekran 0. Rozkaz !GR działa także i wtedy, gdy minigralika była wyłączona poprzez !GU (rysowanie na ekranie niewidzialnym).
Parametry x, y są to współrzędne punktu licząc od lewego górnego rogu ekranu: r=0 oznacza mazanie, r=1 - rysowanie, a r=2 inwersję.
[ paw]Przykład prostego programu rysowania:
100 !ET,1:!GM:!GW,50,50,1
110 FOR K=0 TO 3: FOR L=0 TO 4
120 READ A$: IF A$<>"*" THEN 140
130 !GR,l,k,1
140 NEXT:NEXT
150 DATA -,-,*,-,-,
160 DATA -,*,-,*,-,
170 DATA -,-,*,-,-,
180 DATA -,-,*,-,-,
!GK - kolor minigrafiki
Sposób wykorzystania:
!GK, x gdzie x=0-15
Zmiana koloru wszystkich punktów minigraiiki. Kolory jak w instrukcji do Commodore 64.
!GT - pisanie tekstu
Sposób wykorzystania:
!GT, X, y, r, od, "TEXT" lub
!GT, x, y, r, od, A$
Pisanie tekstu na ekranie minigrafiki. Parametry x, y są to współrzędne lewego górnego rogu tekstu na ekranie: r=0 - mazanie. r=l - pisanie, r=2 - odwracanie, od - odstęp między literami (normalnie od=8).
!GP - priorytet wyświetlania
Sposób wykorzystania:
!GP,w gdzie w= 0,l
Jeżeli w=0 to obraz ekranowy przesłania minigrafikę, jeżeli w=1 to odwrotnie.
!GE - ustawienie ekranu
Sposób wykorzystania:
!GE,x gdzie x=0, 7
Rozkaz ustawia jeden z ośmiu ekranów minierafiki. Ustawienie nie jest równoznaczne z wyświetleniem. Efekt działania rozkazu będzie od razu widoczny tylko wtedy, jeżeli grafika była włączona (wyświetlana). Jeśli tak nie jest, to efekt będzie widoczny dopiero przy najbliższym włączeniu. Po wydaniu tej dyrektywy wszelka edycja (rozkazy !GR, !GT) będzie sie odbywać na ekranie x. W ten sposób można więc pisać i rysować na ekranie niewidzialnym.
!GJ - przesuwanie minigrafiki joystickiem
Sposób wykorzystania:
!GJ,x gdzie x=1-255
Obraz (ekran) minigrafiki będzie przesuwany przez joystick włączony do PORTU 2, lub przez klawisze sterowania kursorem. Parametr x określa szybkość przesuwania (użyteczne wartości x są zawarte w granicach od 1 do 20). Przyciśnięcie FIRE joysticka lub klawisza SPACE spowoduje przerwanie przesuwania i równocześnie zostaną utworzone zmienne BASIC'u GX% i GY%. Zmiennym tym zostaną przypisane takie wartości współrzędnych lewego górnego rogu ekranu mini grafiki, jakie miał ten ekran w momencie przyciśnięcia FIRE lub klawisza SPACE.
Jeżeli OX%=0-319 i GY%=0-199 to znaczy, że lewy górny róg minigrafiki jest widoczny. Jeżeli jednak którakolwiek z tych wartości jest większa od podanych lub ujemna to znaczy, że lewy górny róg minigrafiki jest ukryty poza ekranem.
Rozkaz ma znaczenie przy pisaniu programów zawierających menu wyboru, oraz w samodzielnie pisanych grach i innych programach użytkowych.
Przykład:
1100 !GJ,5
110 1FGX%<30 AND GY%<20 THEN 130
!PG - programowe przesuwanie minigraiiki
Sposób użycia:
!PG, k, w gdzie k=0-7, w=0-255
Dyrektywa pozwala na przesunięcie ekranu minigrafiki w zadanym kierunku z klawiatury i z programu. K oznacza kierunek przesunięcia:
k=0 |
w lewo i do góry |
k=1 |
do góry |
k=2 |
w prawo i do góry |
k=3 |
w prawo |
k=4 |
w prawo i na dół |
k=5 |
na dół |
k=6 |
w lewo i na dół |
k=7 |
w lewo |
Parametr w oznacza wielkość przesunięcia w punktach. Przy przesuwaniu minigraiiki tym rozkazem grafika może wychodzić poza ekran. Po wykonaniu tego rozkazu tworzone są zmienne GX% i GY% (patrz opis rozkazu !GJ).
Przykład:
!GP,4,120
!GD - kopiowanie minigraiiki
Sposób wykorzystania:
!GD, m, n gdzie n, m = 0 -7
Grafika z ekranu n będzie skopiowana do ekranu m. Rozkaz jest użyteczny przy tworzeniu animacji, jeżeli chcemy aby tylko niektóre elementy obrazu poruszały się. Tych stałych elementów nie trzeba tworzyć na nowo, można je skopiować.
!GA - animacja
Sposób wykorzystania:
!GA, t gdzit t= 1-255
Animacja, sekwencyjne wyświetlanie ekranów minigrafiki w kolejności 0.1,2,3,4,5.6,7. Parametr t oznacza czas wyświetlania. Jeżeli t=1-5 animacja jest bardzo szybka. Przy t=30 czas trwania animacji wynosi około 1 sekundy, przy t >100 nie jest to już w zasadzie animacja, ale wyświetlanie następujących po sobie obrazów.
Przykład:
100 1GA,20
110 GET A$: 1F A$= "" THEN 100
!WG - wyznaczanie współrzędnych minigrafiki
Rozkaz wyznacza współrzędne GX% i GY% lewego górnego rogu minigrafiki (patrz opis rozkazu !GJ).
!DG - drukowanie minigrafiki
Aktualnie ustawiony ekran minigrafiki będzie wydrukowany. Sposób działania rozkazu zależy od ustawionego trybu pracy. Jeżeli ustawiony był tryb drukarka sterowana przez USERPORT, to grafika będzie posłana w standardzie EPSON (8-igłowym), a jeżeli ustawiony był tryb drukarka sterowana przez SERIAL, to grafika będzie drukowana w standardzie 7 igłowym COMMODORE zgodnym z drukarką MPS 801/803.
Mimgrafikę możną wykorzystać do tworzenia małych rysuneczków, znaczków firmowych lub osobistych itp.
|
Niniejszy przykład ilustruje zastosowanie rozkazów !GE, !GR, !GD. !OA, !GW, !GU minigrafiki. Krzyżyk rysowany jest stopniowo na kolejnych ekranach, a rezultaty są przekopiowywane do następnych ekranów. Właściwa animacja odbywa się w pętli programowej utworzonej w wierszu 170. Przyciśniecie jakiegokolwiek klawisza powoduje wyjście z pętli.
100 !ET,1:PRINT CHR$(147): !GM: !GU
110 FOR K = 0 TO 7: !GE, K
120 !GR, 15. 15-K. 1: !GR, 15, 15+K, 1
130 !GR, 15-K, 15, 1: !GR, 15+K, 15, 1
140 1F K=7 THEN 160
150 !GD, K, K+l
160 NEXT: !GW, 122, 70, 1
170 !GA, 30: OET A$: IF A$="" THEN 170
180 !GU
Poniższy program ilustruje bardzo ważną i użyteczną możliwość użycia rozkazu !GJ (przesuwanie minigrafiki joystickiem lub klawiszami sterowania kursorem) w połączeniu z odczytem zmiennych GX% i GV%. W ten sposób można budować nawet najbardziej złożone menu, przesuwające się okna itp. Wszystko to może być zrobione w standardowej grafice ekranowej (tekstowej).
W wierszach 100 - 140 realizowany jest program rysowania strzałki, której ostrze znajduje sie w lewym górnym rogu minigrafiki. W wierszu 160 wydany jest rozkaz umożliwiający przesuwanie strzałki. Program pozostaje w tym wierszu tuk długo, aż zostanie przyciśnięty FIRE lub klawisza SPACE. W wierszach 170 - 200 następuje ustalenie położenia strzałki i odpowiadające temu położeniu skierowanie programu.
100 !ET, 1: PRINT CHR$ (147): !GM: !GW, 150, 50, 0
110 FOR K=0 TO 7: FOR L=0 TO 7
120 READ A$: 1F A$<>"*" TOEN 140
130 !GR, L, K, 1
140 NEXT: NEXT
150 GOSUB 270
160 !GJ, 5
170 1F GY% < 10 AND GX% < 80 THEN 220
180 1F GY% < 10 AND GX% > 80 AND OX% < 160 THEN 230
190 IF GY% < 10 AND GX% > 160 AND GX% < 240 THEN 240
200 1F GY% < 10 AND GX% > 240 THEN 250
210 GOTO 160
220 GOSUB 260: PRINT "1"; : GOTO 160
230 GOSUB 260: PRINT "2"; : GOTO 160
240 GOSUB 260: PRINT "3"; : GOTO l60
250 GOSUB 260: ←CP, 20, 12: PRINT "WYJŚCIE": PRINT: !GU: END
260 ←CP, 12, 12: PRINT "WYBRANO POLE "; : RETURN
270 PRINT CHR$ (147); CHR$(18);
280 PRINT CHR$ (156); " POLE 1 "; : REM 2 SPACJE PRZED, 2 PO
290 PRINT CHR$ (158); " POLE 2
300 PRINT CHR$ (30); " POLE 3 ";
310 PRINT CHR$ (31); " WYJŚCIE "; : REM 1 SPACJA PRZED, 2 PO
320 ←CP, 13, 12:PRINT CHR$ (155); CHR$ (146); "WYBIERZ POLE!";
330 RETURN
340 DATA *,*,*,*,*,*,-,-
350 DATA *,*,*,*,*,-,-,-
360 DATA *,*,*,*,-,-,-,-
370 DATA *,*,*,*,*,-,-,-
380 DATA *,*.-,*,*,*,-,-
390 DATA *,-,-,-,*,*,*,-
400 DATA -,-,-,-,-,*,*,*
410 DATA -,-,-,-,-,-,*,-
Program formowania się planszy "ROM-BIT przedstawia..."
- Wykonać reset z przytrzymanym klawiszem ←.
- Wybrać 1 - system Black Box.
- Wydać rozkaz ←U, a następnie LIST.
Wylistowany program ilustruje zastosowanie rozkazów !GT (pisanie tekstu) i !PG (przesuwanie minigrafiki).
Program realizacji instrumentu muzycznego
- Wydaj rozkaz ←O.
- Po pojawieniu sie instrumentu wykonaj RUN/STOP + RESTORE.
- Wylistuj program.
Program pokazuje możliwości wykorzystania klawiatury muzycznej systemu Black Box. Cala grafika jest wykonana na ekranie tekstowym, przy użyciu rozkazu ←CP, widać zatem jak bardzo jest użyteczny ten rozkaz. Program jest napisany prawie całkowicie w BASIC'u. z wyjątkiem podprogramu pojawiania sic szarych prostokątów po naciśnięciu klawisza. Usuwając wiersz 900, rozkaz SYS 28672 z wiersza 8800, oraz wiersze o numerach od 32000, możemy zrezygnować z szarych prostokątów upraszczając program.
Usuwając rozkaz !ET,1 z wiersza 100 oraz !ET,0 z wiersza 905 możemy spowodować, że ten program będzie działał z wszystkimi wersjami cartridge Black Box.
|
Przedstawiona mapa pamięci przeznaczona jest dla zaawansowanych w programowaniu użytkowników C-64, którzy chcieliby wiedzieć, jaki obszar RAM poza obszarem BASIC'u mają do dyspozycji i gdzie mogą umieszczać własne programy maszynowe. Zawsze możemy obniżyć górną lub podwyższyć dolną granicę BASIC'u i uzyskać w ten sposób dodatkowy obszar chronionej pamięci. Jak widać z przedstawionej tabeli, oprócz tego stale do dyspozycji jest obszar $ACOO-$BFFF, jednakże aby z niego skorzystać, trzeba wyłączyć BASIC INTERPRETER zerując bit 0 w komórce $01. Jeżeli pracujemy w trybie tylko ekran 0, możemy wykorzystać obszary $A000-$BFFF oraz $C247-$CFFF. Jeśli ponadto nie będziemy wykorzystywać klawiatury muzycznej (rozkaz ←YT), to do naszej dyspozycji jest cały obszar $C000-$CFFF.
0111-0135 |
Obszar stosu wykorzystywany przez system Black Box |
02A7-02FF |
Miejsce przechowywania tymczasowych wartości |
0334-03FF |
W tym miejscu umieszczane są podprogramy systemu Black Box |
0400-07FF |
Ekran tekstowy numer 0 |
9A4C-9EAF |
Obszar wykorzystywany przez rozkaz ←R |
A000 ABFF |
Tu przechowuje się zawartość pamięci kolorów dla ekranu 0-2 |
C000-C246 |
Bajty zajęte przez klawiaturę muzyczną |
C247-C5CF |
Obszar używany przez rozkazy ←D, ←X, ←KS, ←KR, ←F |
C5D0-C7FF |
Tu system umieszcza tymczasowe dane oraz podprogramy |
C800-CBFF |
Ekran tekstowy numer 1 |
CC00-CFFF |
Ekran tekstowy numer 2 |
D000-D3FF |
Obszar RAM-u wykorzystywany przez szybki dysk |
DF00-DFFF |
RAM, miejsce umieszczania flag i wskaźników |
F000-F1FF |
Ekran numer 7 minigrafiki |
F200-F3FF |
Ekran numer 6 minigrafiki |
F400-F5FF |
Ekran numer 5 minigrafiki |
F600-F7FF |
Ekran numer 4 minigrafiki |
F800-F9FF |
Ekran numer 3 minigrafiki |
FA00-FBBF |
Ekran numer 2 minigrafiki |
FC00-FDFF |
Ekran numer 1 minigrafiki |
FE00-FFFF |
Ekran numer 0 minigrafiki |
W niniejszej tabeli podano adresy komórek RAM-u komputera, które są odpowiednikami rejestrów SID. Program klawiatury muzycznej stale (60 razy na sekundę) bada te komórki i ich zawartość przepisuje do odpowiednich rejestrów SID. Jeżeli po wydaniu rozkazu ←YT będziemy wstawiać do tych komórek odpowiednie wartości (chociażby przez POKE), to możemy uzyskać zmianę kształtu fali, zmianę obwiedni, filtracji i głośności. Sposób wpisywania jest podobny jak do oryginalnych rejestrów SID. Adresy te wykorzystuje program realizujący instrument muzyczny ←O.
C209 |
rejestr kontrolny dla generatora nr 1 (control l) |
C20A |
rejestr kontrolny dla generatora nr 2 (control 2) |
C20B |
rejestr kontrolny dla generatora nr 3 (control 3) |
C20C |
rejestr attack/decay - wspólny dla wszystkich generatorów |
C20D |
rejestr sustain/release - wspólny dla wszystkich generatorów |
C20E |
rejestr współ, wypełnienia prostokąta LSB - wspólny dla wszystkich generatorów |
C20F |
rejestr współ, wypełnienia prostokąta MSB - wspólny dla wszystkich generatorów |
C210 |
częstotliwość graniczna filtru LSB |
C211 |
częstotliwość graniczna filtru MSB |
C212 |
rezonans/wybór generatorów do filtracji |
C213 |
mod filtru/siła głosu |
W tabeli podano kody ASCII (nie ekranowe) polskich liter (rubryka Commodore). Wartości te zostają automatycznie przekodowane w przypadku otwarcia kanału z adresem wtórnym 2-5, na standard MAZOVIA (2,3), lub LATIN2 (4,5). Kanał może być otwarty w BASIC'u (OPEN 1,4,N) lub w języku maszynowym (podprogramy SETLFS - $FFBA, OPEN - $FFC0). W przypadku otwarcia kanału z adresem wtórnym 0 lub 1 drukowane są tylko duże litery, a przekodowywane są tylko niektóre znaki graficzne (te które są podobne do siebie w standardzie COMMODORE i IBM).
LITERA |
COMMODORE |
MAZOVIA |
LATIN2 |
ą |
176 (+64) |
134 |
165 |
ę |
177 (+64) |
145 |
169 |
ś |
174 (+64) |
158 |
152 |
ć |
188 (+64) |
141 |
134 |
ź |
173 (+64) |
166 |
171 |
ż |
64 |
167 |
190 |
ń |
170 (+64) |
164 |
228 |
ó |
185 (+64) |
162 |
162 |
ł |
92 |
146 |
136 |
Ą |
171 (+64) |
143 |
164 |
Ę |
178 (+64) |
144 |
168 |
Ś |
172 (+64) |
152 |
151 |
Ć |
190 (+64) |
149 |
143 |
Ź |
189 (+64) |
160 |
141 |
Ż |
186 (+64) |
161 |
189 |
Ń |
167 (+64) |
165 |
227 |
Ó |
175 (+64) |
163 |
224 |
Ł |
169 (+64) |
150 |
157 |
|
Reset
| |
|
Zakończenie pracy dowolnego programu w celu załadowania od nowa systemu operacyjnego.
Stosuje się go w przypadku zawieszenia komputera jak i wówczas gdy program lub gra uniemozliwia powrót do BASICa. | |
| | |
zamknij
|
LOAD
| |
|
Polecenie to służy do wczytania programu z taśmy lub dyskietki do pamięci komputera tak, aby móc z niego korzystać.
Wpisanie samego polecenia LOAD powoduje wczytanie z magnetofonu pierwszego napotkanego programu. Dodanie za tym
napisem nazwy programu ujętej w cudzysłów powoduje poszukiwanie programu o danej nazwie. Po nazwie można dodać
jeszcze przecinek i liczbę. Liczba ta określa numer urządzenia, z którego należy wczytywać program.
Jeżeli nie podano numeru urządzenia komputer przyjmuje domyślną wartość 1, oznaczającą magnetofon. Innym
urządzeniem zazwyczaj wykorzystywanym jest stacja dysków, której odpowiada numer 8.
LOAD Odczytuje pierwszy program z taśmy.
LOAD "HALO" Szuka na taśmie programu nazwanego HALO i jeśli go znajdzie, wczytuje go do pamięci.
LOAD A$ Szuka programu o nazwie określonej zmienną A$.
LOAD "HALO",8 Szuka programu nazwanego HALO na dyskietce.
LOAD "*",8 Wczytuje pierwszy program na dyskietce.
Jeżeli program (zazwyczaj w kodzie maszynowym) ma być wczytany w określone miejsce w pamięci należy dodać tzw.
parametr wtórny równy 1.
LOAD "K/M PROG",1,1 Wczytuje program z magnetofonu bez przemieszczania go w pamięci.
| |
| | |
zamknij
|
SAVE
| |
|
Polecenie to zapisuje program znajdujący się w pamięci komputera na taśmę lub dyskietkę. Wpisanie tylko SAVE i naciśnięcie klawisza RETURN spowoduje zapisanie programu na taśmę. Komputer nie ma możliwości sprawdzenia co znajduje się na te taśmie; więc należy uważać aby nie skasować poprzednich programów.
Jeżeli za słowem SAVE podano nazwę programu ujętą w cudzysłów lub zmienną łańcuchową, komputer nada tę nazwę
zapisywanemu programowi, co ułatwi potem odnalezienie tego programu.
Za nazwą programu można podać numer urządzenia, na które program ma być zapisany oraz kolejny przecinek i paramet
wtórny. Wartość 1 parametru wtórnego oznacza, że zapisywany właśnie program będzie wczytywany w to samo miejsce w
pamięci, które zajmuje obecnie. Podanie liczby 2 powoduje zapisanie znacznika końca taśmy (End-Of-Tape marker). Gdy
podczas szukania innego programu komputer spotka ten znacznik poszukiwanie zostaje przerwane i pojawia się komunika
FILE NOT FOUND (programu nie znaleziono). Można też podać wartość 3 oznaczającą jednocześnie koniec taśmy i znacznik
wczytywania programu w to samo miejsce.
SAVE Zapisuje program bez nazwy na taśmę.
SAVE "HALO" Zapisuje na taśmę pod nazwę HALO.
SAVE A$ Zapisuje na taśmę pod nazwą określoną w A$.
SAVE "HALO",8 Zapisuje na dyskietkę.
SAVE "HALO",1 ,1 Zapisuje na taśmę pod nazwą HALO i z zaznaczeniem, że program będzie wczytywany w to samo miejsce pamięci.
SAVE "HALO",1,2 Zapisuje na taśmę pod nazwą HALO i ze znacznikiem końca taśmy.
SAVE "HALO",1,3 j/w z zaznaczeniem wczytywania w to samo miejsce w pamięci.
| |
| | |
zamknij
|
VERIFY
| |
|
Polecenie to służy do sprawdzenia poprawności ostatniego zapisu programu. Porównuje ono zawartość wskazanego zapisu
z zawartością pamięci komputera.
VERIFY Porównuje z najbliższym programem na taśmie.
VERIFY "HALO" Szuka na taśmie programu HALO i porównuje go z pamięcią.
VERIFY "HALO",8 Szuka na dyskietce programu HALO i porównuje go z pamięcią.
Jeżeli pokaże się komunikat VERIFY ERROR, oznacza to błąd przy zapisie. Należy program zapisać ponownie. Błąd ten
powstanie też jeżeli po zapisie została zmieniona jakakolwiek linia programu lub komórka pamięci.
| |
| | |
zamknij
|
DATA
| |
|
Po tej komendzie wypisane są dane, które będą odczytywane komendą READ. Dane te mogą być liczbami albo łańcuchami oddzielonymi od siebie przecinkami. Łańcuchy znaków nie muszą być ujęte w cudzysłów o ile nie zawierają
znaków spacji, przecinków lub dwukropków. Jeżeli nic nie jest wpisane między kolejnymi przecinkami komenda READ wczyta zero jako liczbę lub pusty łańcuch.
DATA 12, 17, "RAZ, DWA", 3.14, JANUSZ
| |
| | |
zamknij
|
POKE
| |
|
Po komendzie POKE zawsze następują dwa parametry. Pierwszy określa miejsce w pamięci (adres), natomiast drugi
wartość (0-255). Komenda POKE powoduje wpisanie w dane miejsce pamięci określonej wartości.
10 POKE 53281,0
20 S=4096*13
30 POKE S+29,8
| |
| | |
zamknij
|
READ
| |
|
Komenda READ przyporządkowuje kolejnym zmiennym dane pobrane z linii z komendą DATA. Należy zwrócić uwagę, aby
READ nie odczytał zmiennej znakowej, gdy oczekuje na liczbę, gdyż spowoduje to wystąpienie błędu.
| |
| | |
zamknij
|
RETURN
| |
|
Komenda ta działa w połączeniu z komendą GOSUB. Gdy program dojdzie do tej komendy, następna wykonana będzie
kolejna instrukcja po ostatnio realizowanej komendzie GOSUB. Jeżeli nie było przedtem komendy GOSUB pojawi się błąd
RETURN WITHOUT GOSUB ERROR.
| |
| | |
zamknij
|
TURBO
| |
|
Znacznie szybszy system odczytu lub zapisu pozwalający na zmieszczenie większej ilości danych na kasecie.
| |
| | |
zamknij
|
ROM-BIT przedstawia Black Box V9
| |
|
| |
| | |
zamknij
|
RUN
| |
|
Polecenie to powoduje wykonywanie programu znajdującego się w pamięci. Jeżeli po tym poleceniu nie wpisano żadnego
numeru linii program rozpocznie się od linii o najniższym numerze. Podanie numeru powoduje rozpoczęcie programu od
wskazanej linii.
RUN Rozpoczyna wykonywanie programu od pierwszej linii.
RUN 50 Rozpoczyna wykonywanie programu od linii 50
RUN X Pokaże się napis UNDEF'D STATEMENT ERROR. Należy zawsze podać liczbę określającą numer linii, a
nie zmienną.
| |
| | |
zamknij
|
SYS
| |
|
Po komendzie SYS należy podać liczbę lub wyrażenie z zakresu od 0 do 65535. Jest to wywołanie programu napisanego w
kodzie maszynowym. Od funkcji USR różni się tym, że nie pozwala na przekazywanie parametrów.
| |
| | |
zamknij
|
REM
| |
|
Komenda REM służy do umieszczania w tekście programu komentarzy odnośnie danej linii, czy też całego programu.
Można po tej komendzie wpisać dowolny ciąg znaków. Wszystkie znaki znajdujące się za komendą REM są ignorowane przez komputer.
Uwaga: Ignorowany jest także dwukropek, tak więc za tą komendą nie można już dodać w tej linii żadnej innej komendy.
| |
| | |
zamknij
|
GOTO lub GO TO
| |
|
Napotkanie przez program komendy GOTO powoduje przejście do linii programu oznaczonej liczbę po tej komendzie.
| |
| | |
zamknij
|
GOSUB
| |
|
Komenda ta działa podobnie jak komenda GOTO, z tym, że komputer pamięta numer linii, w którym ona wystąpiła. Jeżeli
napotkana potem będzie komenda RETURN, program powróci do następnej instrukcji po GOSUB. Komenda ta jest przydatna
gdy chce się z różnych miejsc w programie wywoływać ten sam ciąg instrukcji.
10 GOSUB 100: PRINT "PIERWSZY RAZ"
20 GOSUB 100: PRINT "DRUGI RAZ"
30 END
100 PRINT "ALA MA ASA":RETURN
| |
| | |
zamknij
|
OPEN
| |
|
Komenda OPEN pozwala C 64 na dostęp do urzadzeń jakimi są: stacja dysków, drukarka czy nawet ekran. Po słowie OPEN należy podać liczbę (0-255), określającą numer otwieranego zbioru, oraz numer urządzenia.
Numery urządzeń:
- Klawiatura
- Magnetofon
- Ekran
- Drukarka
- Dysk
Po numerze urzadzenia czasem należy podać tzw. parametr wtórny. W przypadku stacji dysków numer ten określa, który
kanał ma być wykorzystany do przesyłania danych. W przypadku drukarki określa dodatkowe parametry druku np. pismo
powiększone.
OPEN 1,0 Otwiera dostęp do ekranu
OPEN 2,8,2,"D" Otwiera do czytania zbiór D na dysku
OPEN 3,4 Otwiera dostęp do drukarki
OPEN 15,8,15 Otwiera kanał poleceń dla dysku.
Więcej informacji na temat obsługi zbiorów znajduje się w instrukcji obsługi Commodore 64 w Dodatku S.
| |
| | |
zamknij
|
PRINT
| |
|
Komenda PRINT jest jedną z pierwszych komend, które poznaje się podczas nauki języka BASIC. Za komendą PRINT
mogą znajdować się:
- łańcuch znaków ujęty w cudzysłów,
- nazwa zmiennej,
- funkcja lub wyrażenie matematyczne,
- znak formatujący wydruk.
Znaki formatujące wydruk to przecinek (,) lub średnik (;). Przecinek powoduje wyświetlenie napisu w najbliższej z czterech stref o szerokości 10 znaków, natomiast średnik powoduje wyświetlenie napisu bezpośrednio za poprzednim. Każdy z tych znaków może znajdować się na końcu linii. Ma on wtedy wpływ na następną komendę PRINT w programie.
10 PRINT "HALO"
20 PRINT "HALO" A$
30 PRINT A+B
40 PRINT J;
50 PRINT A,B,C,SIN(D)
Patrz także: funkcje POS, SPC, TAB.
| |
| | |
zamknij
|
PRINT#
| |
|
Istnieje kilka różnic między PRINT a PRINT#. Po komendzie PRINT# występuje numer określający zbiór, do którego mają
być zapisywane dane. Zbiór, do którego chce się coś zapisać musi być przedtem otwarty komendą OPEN. Przecinek i średnik mają taki sam efekt jak przy komendzie PRINT. Niektóre urządzenia mogą nie interpretować odpowiednio funkcji TAB i SPC.
10 PRINT#1, "WARTOSCI DANYCH:";A%,B1,C$
| |
| | |
zamknij
|
NEW
| |
|
Polecenie to usuwa z pamięci program i wszystkie zmienne, które były używane. Program przepadnie jeżeli nie był zapisany poleceniem SAVE. NALEŻY BYĆ OSTROŻNYM GDY UŻYWA SIĘ TEGO POLECENIA.
NEW może być użyte także jako komenda w linii programu. Gdy program dochodzi do linii zawierającej tę komendę, zostaje usunięty z pamięci.
| |
| | |
zamknij
|
CLR
| |
|
Komenda ta usuwa z pamięci komputera wszystkie zmienne, a pozostawia tylko program. Komenda ta jest wykonywana
automatycznie po wydaniu polecenia RUN.
| |
| | |
zamknij
|
LIST
| |
|
Polecenie LIST pozwala na obejrzenie linii programu BASIC znajdujących się w pamięci komputera. Można przeglądać cały program lub jego wybrany fragment.
LIST Pokazuje cały program.
LIST 10 - Pokazuje linie od 10 do końca.
LIST 10 Pokazuje tylko linię 10.
LIST - 10 Pokazuje linie od początku do linii 10.
LIST 10 - 20 Pokazuje linie od 10 do 20.
| |
| | |
zamknij
|
IF ... THEN
| |
|
Komenda ta pozwala wykonać jakieś działanie jeżeli spełniony jest warunek określony po słowie IF. Może to być dowolna komenda języka BASIC. Warunek może być porównaniem dwóch wyrażeń (porównanie operatorami = < > <= >= <>), lub pojedynczym wyrażeniem matematycznym. W drugim przypadku warunek jest spełniony gdy wyrażenie jest różne od zera. Można łączyć kilka warunków operatorami AND i OR lub stosować negację NOT.
IF X>10 THEN END
IF Y THEN PRINT "Y JEST ROZNE OD ZERA"
IF NOT Z AND (X>7) THEN 30
Podanie samej liczby po THEN w ostatnim przypadku jest równoznaczne z komendš GOTO 30.
| |
| | |
zamknij
|
FINAL III - PULL-DOWN MENU - DESKTOP
| |
|
| |
| | |
zamknij
|
FINAL III - PULL-DOWN MENU - BASIC
| |
|
| |
| | |
zamknij
|
|