Ready/Run

Takie sobie archiwum listingów ze starych magazynów komputerowych

Listingi w bazie
Dodaj listing
  • Pętla Interpretera

    Artykuł z serii "POZNAJEMY WARSAW BASIC" cz. II

    W poprzednim odcinku wyjaśniliśmy rolę pętli interpretera w wykonywaniu programu.

     Czytelnicy Ba|tka, którzy pragną uczestniczyć wraz z nami w zabawie w rozbudowę interpretera i poznawać tajemnice Warsaw BASIC-a powinni teraz „wpalcować” program 2. Po bezbłędnym uruchomieniu tego programu można spróbować użycia nowych instrukcji (od £@, £a do £z). Po wykonaniu jakiejkolwiek z tych instrukcji, nasz interpreter będzie sygnalizować błąd SYNTAX ERROR. Co się stało? Czyżby ten rozbudowany interpreter nie rozumiał nowych słów? Interpreter nowe słowa rozumie, tylko każde z nich odsyła do tej samej procedury znajdującej się pod adresem $af08, pod którym interpreter ma zapisaną procedurę wyświetlającą napis SYNTAX ERROR i przerywającą wykonanie programu.

    Dalsza rozbudowa naszego interpretera będzie zatem polegała na zmianie adresów w komórkach pamięci od $c43f do $c474 na takie, pod którymi będą się kryły procedury wykonujące zaplanowaną przez nas działalność i uzupełnianiu programu 2 o treść tych procedur.
     

    Autor listingu: Gajewski,B. Radziszewski

    Listing nadesłał: Faust

    Język programu: CBM Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Nie Tylko Dla Graczy

    Przedstawiony program składa się z sześciu niezależnych części ze względów praktycznych połączonych razem. Może on być pomocny użytkownikom ATARI 800 XL (65 XE), którzy zajmują się programowaniem w kodzie maszynowym, dostosowywaniem innych programów do swoich potrzeb, „rozgryzaniem” gier itp.

    Po załadowaniu programu z taśmy (CLOAD; czas 1 minuta 50 sekund) i uruchomieniu (RUN) zgłasza się opcja ładowania innego programu z taśmy (krótka przerwa między blokadami). Długość programu można wstępnie ocenić wg. wzoru:

    B = (T-20)/20

    gdzie:
    T— całkowity czas nagrania wczytywanego programu w sekundach, 
    B — szukana długość programu w KB.

    Jest to o tyle istotne, że zbyt długi program wczyta się do pamięci ekranu a dalsza część nie zostanie w ogóle zapisana, gdyż za obrazem jest ROM.

    Po zakończeniu wgrywania programu wyświetla się liczba wczytanych bajtów. Program prezentuje swoje możliwości po wciśnięciu klawisza ESC: naciśnięcie spacji jest rozumiane jako rezygnacja z „instrukcji obsługi”. Do opisu podprogramów można wrócić naciskając HELP podczas realizacji jednego z nich.

    Następne opcje to: 

    po G. 100 „rozszyfrowywanie” zajmowania pamięci w komputerze przez program dyskowy wczytywany z kasety,

    po G. 400 wyświetlenie zawartości pamięci, po G. 500 zapis do pamięci,

    po G. 700 zapis na taśmę wybranego obszaru pamięci, po G. 800 przemieszczanie wybranego obszaru pamięci.

    Programu można użyć jako kopiera.

    Nie ma tu żadnych ukrytych tricków i można wprowadzać dowolne zmiany. Program zajmie trochę mniej pamięci, jeżeli przepisze się go łącząc niektóre linie w jedną, używając skrótów oraz pisząc na ekranie bez marginesów (POKE 82,0): można też opuścić wszystkie komentarze.

    Wszystkim zainteresowanym życzę cierpliwości przy przepisywaniu i sukcesów w dalszych pracach.

     

     

    Listing pochodzi z repozytorium listingów Basic autorstwa AMAROK

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:NIETYLKO.BAS"
    • RUN
     

    Autor listingu: Marek Renner

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Obsługa klawisza RESET

    RESET jest przyciskiem zerującym procesor, co nie oznacza jednak, że nie można jego obsługi programować z poziomu kodu maszynowego.

     
    Procedura taka, w odróżnieniu od procedury wywoływanej rozkazem USR, nie może zawierać rozkazu PLA, a podobnie jak procedura USR, powinna się kończyć rozkazem RTS. Po napisaniu programu maszynowego i umieszczeniu go w pamięci trzeba zmienić zawartość komórek 12 (młodszy bajt) i 13 (starszy bajt adresu procedury) oraz wpisać do komórki 9 wartość zezwalającą na wykonanie procedury (POKE 9,1). Radziłbym jednak procedurę taką wypróbować instrukcją USR, gdyż błąd w niej spowoduje zawieszenie się komputera i utratę danych.
    Przykładem wykorzystania tych informacji jest poniższy program, który powoduje, że naciśnięcie klawisza RESET nie przerywa działania programu, a jest jednoznaczne z rozkazem RUN.
    Litery przed numerem linii to sumy kontrolne Edytora BASICa, nie należą one do programu i nie należy je wpisywać.
    Program ten należy zapisać na taśmie rozkazem LIST "C", co umożliwi dołączenie tej procedury do innych programów rozkazem ENTER "C":

     

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:RESET.BAS"
    • RUN
     

    Autor listingu: Jakub Cebula

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Grafika w DLI

    Atari posiada bardzo duże możliwości graficzne. Niestety z poziomu BASIC-a ilość kolorów dostępna jednocześnie na ekranie wynosi w najlepszym przypadku 16.

    Przedstawiony w artykule program wykorzystujący przerwania niemaskowalne DLI generowane przez ANTIC umożliwia zmianę zawartości rejestrów koloru w poszczególnych liniach. Daje to maksymalną ilość 256 kolorów na ekranie.

    Przerwania DLI są wywoływane przy czytaniu programu ANTIC-a. Bliższe informacje dotyczące programowania tego układu zawarte są w „Komputerze” 8/86. Przerwania są wywoływane przy dowolnym rozkazie ANTIC-a, który ma ustawiony najstarszy, siódmy bit. Adres programu obsługującego przerwania wskazywany jest przez wektor DLIVKT (512, 513).

    Wróćmy do programu. Niżej przestawione są cztery wydruki. Po przepisaniu pierwszego i uruchomieniu otrzymujemy program, który przedstawia wydruk drugi. Są to dwa programy w języku wewnętrznym. Pierwszy modyfikuje i lokuje program przerwań w odpowiednim miejscu oraz ustawia wektor. Jest on wywoływany przez: 

    A = USR (ADR (OB$) + 52, ADR (OB$), ADPR, ILO, ADDA)

    gdzie:

    ADPR — adres, od którego ma być umieszczony program obsługi przerwań 

    DLI — program o długości 52 bajtów; 

    LO — ilość uaktywnionych przerwań; 

    ADDA — obszar początku danych dla programu. 

    (...)

    Drugi program w języku wewnętrznym jest wywoływany przez:

    POKE ADDA,0:A = USR(ADR(OB$) + 156, ADR(OB$) + 171)

    i uaktywnia przerwania DLI w momencie przerwania synchronizacji pionowej.

    Wydruk trzeci to procedura zmieniająca program ANTIC-a i uruchamiająca przerwania. Działa w dowolnej grafice. Przed uruchomieniem jej w pamięci musi się znajdować program, który przedstawia drugi wydruk. Jedynki w ciągu C1$ reprezentują linie na ekranie, w których mają wystąpić przerwania, zera — linie, w których nie będzie przerwań. Przed uruchomieniem procedury trzeba umieścić w pamięci, poczynając od ADDA + 1 kolory poszczególnych linii. W przeciwnym razie większość ekranu po uruchomieniu procedury zmieni kolor na czarny. 

    UWAGI:

    1. Program obsługi przerwań DLI jest wywoływany zawsze po zakończeniu rysowania przez ANTIC linii na ekranie i np. przy włączonym przerwaniu w pierwszej linii zmiana koloru nastąpi w drugiej.
    2. Zmiana koloru w jednej linii powoduje zmianę koloru także w następnych, w których nie ma uaktywnionych przerwań
    3. Przed wywołaniem drugiego programu w języku wewnętrznym program ANTIC-a powinien być już zmieniony.
    4. Chcąc wyłączyć przerwania trzeba albo zmienić tryb graficzny, albo wpisać instrukcję POKE 54286,127, albo nacisnąć RESET.

    Czwarty wydruk jest krótkim programikiem demonstrującym możliwości, jakie daje zastosowanie opisywanych przerwań DLI.

     

     

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:DLI1.BAS" lub LOAD "D:DLI2.BAS" (do 4)
    • RUN
     

    Autor listingu: Wojciech Wylon

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Przesuwanie kursora

    Program, który chciałbym zaproponować powstał w wyniku wykorzystania wiadomości zawartych w cyklu pt. „Nie bój się przerwań”.

    Służy on do przesuwania kursora przy pomocy joysticka, a także umożliwia usuwanie z ekranu tekstu, który znajduje się po prawej stronie kursora. Naciśnięcie przycisku FIRE spełnia funkcję CTRL-DELETE. Procedura w języku maszynowym wykonywana jest co trzy przerwania VBLK. Sprawdza ona położenie joysticka i stosownie do niego umieszcza w komórce 764 wartość kodu wewnętrznego oznaczającego wciśnięcie CTRL i odpowiedniego klawisza przesuwania kursora. Gdy nie poruszamy joystickiem wszystkie funkcje klawiatury działają normalnie.

    Procedura ta może mieć zastosowanie np. podczas pisania, sprawdzania i poprawiania listingów programów w języku Basic, ponieważ pozwala na szybkie umieszczenie kursora w dowolnym miejscu ekranu i wpisanie tam odpowiednich znaków. Po dokonaniu korekty naciśnięcie RETURN umieszcza w pamięci poprawioną linię.

    Wciśnięcie RESET przerywa działanie procedury. Ponowne jej uruchomienie następuje przez podanie instrukcji X = USR(1619).

     

    Listing pochodzi z repozytorium listingów Basic autorstwa AMAROK

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:KURSOR.BAS"
    • RUN

     

    Autor listingu: Andrzej Holanowski

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • XIO Demo

    Dołączona do komputera instrukcja Atari Basic wspomina o instrukcji XIO zaledwie tyle, że jest używana przy operacjach dyskowych i w grafice. Z tak lakonicznej informacji trudno cokolwiek zrozumieć, przybliżę więc Czytelnikom znaczenie tej ciekawej i pożytecznej instrukcji.

    Dwie operacje XIO mogą być wykonywane wyłącznie na ekranie: rysowanie linii (XIO 17 = DRAWTO) i wypełnianie obszaru (XIO 18). Pierwszej z nich odpowiada instrukcja Basica DRAWTO i nie będzie ona nas interesować. Druga, nie mająca odpowiednika w Basicu, udostępnia dodatkową interesującą funkcję graficzną. Ponieważ jest to najczęściej stosowana instrukcja XIO, to jej format podam osobno:

    XIO 18,#6,0,0,”S:”

    Użycie jej nie jest proste, więc zademonstrowane zostanie na przykładzie. Najpierw należy narysować linię ograniczającą z prawej strony wypełniany obszar i umieścić kursor instrukcją PLOT lub DRAWTO w miejscu, z którego rozpoczniemy wypełnianie (linie 90 i 100). Następnie do rejestru FiLDAT (765) wpisujemy numer koloru, który ma zostać użyty do wypełniania i umieszczamy kursor instrukcją POSITION w miejscu zakończenia wypełniania (linia 110). Dopiero teraz można wywołać instrukcję XIO 18 (linia 120). W liniach 20—80 ustalany jest kolor i losowo wybierane jest miejsce rysowania. Cała procedura jest powtarzana po naciśnięciu klawisza START.

    Należy pamiętać, że XIO 18 wypełnia każdą linię obrazu, aż do napotkania punktu o kolorze różnym od koloru tła.

    Nie można więc wypełniać obszarów wypełnionych już wcześniej.

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:XIO.BAS"
    • RUN
     

    Autor listingu: Wojciech Zientara

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Szukamy Liczb Czyli Sukcesywna Aproksymacja

     W instrukcji do Spectrum znalazłem następujący program:

     
    10 LET a=INT (RND*100)
    20 LET a$ = ~~
    30 INPUT (a$); ~Zgadnij liczbe~;b
    40 IF a=b THEN PRINT „ Gratuluje! ”:STOP
    50 IF a>b THEN LET a$=” Za malo ”
    60 IF a<b THEN LET a$=” Za duzo! ”
    70 GO TO 30
     
    Istnieje niejedna metoda aproksymacji. Rozważmy program:
    Jest to doskonała zabawa na prawie cały dzień. Zgadujemy tu liczbę pomyślaną przez komputer. Najefektywniejszą taktyką odgadywania jest dzielenie rozpatrywanego przedziału na pół. Na przykład jeżeli zgadujemy liczbę z przedziału (0,100), podajemy 50. Jeśli jest ona za mała, bierzemy przedział (50,100), podajemy 75 i tak dalej. W zasadzie ósmy strzał powinien być trafiony.
    Metoda kolejnych przybliżeń to właśnie aproksymacja. Powinna on być sukcesywna — dawać rezultat jak najszybciej.
    Spróbujmy odwrócić sytuację — my pomyślimy liczbę, a komputer będzie ją odgadywał.
     
    10 LET x=0:LET y=102
    20 LET c=INT((x+y)/2)
    30 INPUT „Czy „;(c);” ? „;a$
    40 if a$=”>” THEN LET x=c:GO TO 20
    50 IF a$=”<” THEN LET y=c:GO TO 20
    60 IF a$=”=” THEN STOP
    70 GO TO 20
     
    W odpowiedzi na pytanie „Czy xx” należy podać jeden ze znaków — „>”, „<” lub „ = „. Rozpatrujemy przedział (0,100).
    Istnieje niejedna metoda aproksymacji. Rozważmy program:
     
    10 DIM a(8)
    15 LET a(1)=1
    20 FOR f=2 TO 8:LET a(f)=2^(f-2):NEXT F
    30 LET c=a(8)
    40 FOR f=7 to 1 STEP -1
    50 INPUT ~Czy ~;(c);~ ? ~;a$
    60 IF a$<>”<” AND a$<>”>” AND a$<>”=” THEN GOTO 50
    70 IF a$=”>” THEN LET c=c+a(f)
    80 IF a$=”<” THEN LET c=c-a(f)
    90 IF a$=”=” THEN GOTO 110
    100 NEXT f
    110 PRINT „Liczba=”;c
     
    W tablicy a zapisaliśmy sześć kolejnych potęg dwójki. Najwyższa liczba to 64, więc kompuer odgadnie tu liczbę z przedziału (0,127). Jako pierwsza podawana jest liczba 64. Jeżeli pomyślana jest większa, do 64 dodawana jest 32, jeśli mniejsza, to 32 jest odejmowane i tak dalej. Tu maksymalna ilość pytań jest także 8 ze względu na włączenie zera do rozpatrywanego przedziału.
    Możemy rozszerzyć tablicę na przykład do 16 pozycji; trzeba wtedy odpowiednio pozmieniać początki i końce pętli, lecz uzyskamy zakres do 131069, a maksymalną ilością pytań będzie najwyższa potęga dwójki, czyli 16.
    W zasadzie nie można powiedzieć, która z metod jest najlepsza. W pamięci lepiej używać metody dzielenia przedziałów na pół, maszyna szybciej aproksymuje dwójkowo.
     

    Autor listingu: Marcin Przasnyski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Bzzz... inaczej

    Po przeczytaniu opisu gry „Bzzz” w numerze 3/87 „Bajtka” postanowiłem napisać ją w BASIC-u. Program okazał się prosty i o wiele krótszy od wersji w kodzie maszynowym. Mimo to jest on dosyć szybki. W linii 2 po pierwszym słowie „GRACZ” należy wstawić zieloną, a po drugim niebieską kratkę. Zapalenie się czarnego kwadracika informuje o przegranej któregoś z graczy. W liniach 9500 i 9600 musi być czarna spacja graficzna.

    Autor listingu: Hubert Sobczak

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Migający Kursor

    Przedstawiony program może być pomocny przy pracy z komputerem, powoduje bowiem migotanie kursora, który staje się przez to bardziej widoczny i łatwiejsze jest redagowanie pisanego tekstu. Oprócz tego po każdym RESET ustawiane są zgodnie z życzeniem użytkownika tak ważne przy długiej pracy z komputerem parametry jak: kolor tła i ramki, jasność tekstu, lewy i prawy margines, a także szybkość wprowadzania znaków z klawiatury. Teraz naciśnięcie (nawet przypadkowe) klawisza RESET nie powoduje irytującej zmiany ustawionych parametrów.
    Po uruchomieniu programu mamy migający kursor, tło ciemnozielone, ramkę jasnoniebieską, lewy margines 2, prawy = 37, czas do pierwszego powtórzenia klawisza = 15, szybkość powtarzania = 2. Jeżeli ustawione wartości komuś nie odpowiadają, można je zmienić dwoma sposobami: w samym programie w liniach DATA (trzeba również obliczyć nową sumę kontrolną i wstawić ją do linii 16 zamiast 8208), albo w trybie bezpośrednim za pomocą instrukcji POKE.

    A oto lista możliwych zmian:

     

    • POKE 1542,41 — kursor migający  linia 20, liczba 41
    • POKE 1542,9   — kursor normalny
    • POKE 1543,x   — częstotliwość migania linia 20, liczba 8
    • POKE 1572,x   — lewy margineslinia 24, liczby 2 i 37
    • POKE 1576,x   — prawy margines
    • POKE 1580,x   — jasność tekstu
    • POKE 1585,x   — kolor tlalinia 26, liczby 12,192 i 148
    • POKE 1590,x   — kolor ramki
    • POKE 1595,x   — czas do powtórzenialinia 28, liczby 15
    • POKE 1600,x   — szybkość powtarzaniai 2 (po 169)
       

    Autor listingu: Marek Krupa

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Migający Kursor

    Program napisany w języku maszynowym wykorzystuje przerwanie VBLK. Na uwagę zasługuje fakt, że program działa dalej po naciśnięciu RESET. Jeśli chcemy wyłączyć pulsowanie kursora, to wystarczy POKE 9,0 i RESET. Powrót do migania uzyskamy przez POKE 9,1 i RESET. Program umieszczony jest na szóstej stronie pamięci.
     

    Listing pochodzi z repozytorium listingów Basic autorstwa AMAROK

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:KURSOR1.BAS"
    • RUN

     

    Autor listingu: Adam Hartwig

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Migający Kursor

    Jedną z wad edytora BASIC-a w komputerze Atari 800XL jest brak migającego kursora, co utrudnia jego lokalizację. Aby to poprawić ułożyłem krótki program.
    Po jego uruchomieniu kursor zaczyna migać. Prędkość migania można zmienić poprzez zmianę zawartości komórki 1549 (zalecana 20). Kursor przestaje migać po naciśnięciu RESET; aby przywrócić stan poprzedni należy wykonać sekwencję rozkazów z linii 90—120. Kursor nie przestaje migać po zmianie trybu graficznego. Procedura jest relokowalna; adres początku umieszczany jest w komórkach 552 i 553.
    Uwaga: przy dużej prędkości wyprowadzania danych na ekran (np. listowanie) kursor może zostawiać ślad.

    Listing pochodzi z repozytorium listingów Basic autorstwa AMAROK

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:KURSOR3.BAS"
    • RUN

     

    Autor listingu: Bartosz Polednia

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Od Środka cz. II

    Znacie już cały podział pamięci ZX Spectrum (mamy nadzieje, że zapamiętaliście coś z poprzedniego artykułu). A wiec do dzieła. Dziś poznany sposób zapisu programów na taśmie i zaczniemy sie włamywać do programów napisanych w BASIC-u (pamiętaj, że praktycznie każdy program ma chociażby procedurę ładująca napisana w BASIC-u. a jeśli jej nie posiada, to w zasadzie wcale nie jest zabezpieczony).

    Na razie weźmy się jednak do sposobu zapisu programów na taśmie — przypomnij sobie co widać i słychać podczas wczytywania jakiegokolwiek programu.
    Przez ok. 1 — 2 sekundy, na obrzeżu ekranu widoczne są szerokie, czerwono-niebieskie pasy oraz słychać ciągły dźwięk. Jest to tzw. pilot, który umożliwia komputerowi zsynchronizowanie się z sygnałem z taśmy, który ma odbierać. Potem przez krótką chwilę pojawiają się cienkie, migające, żółto-granatowe paski, oznaczające, że komputer wczytuje do pamięci informacje. Jest ich 17 bajtów — tzw. nagłówek. Pojawia się napis "Bytes:" "Program:", "Character array:" lub "Number array:", a potem po chwili przerwy zaczyna się drugi pilot (nieco krótszy), a po nim wczytuje się właściwy program. Zajmiemy się teraz nagłówkami, gdyż zawarte są w nich najważniejsze informacje o wczytywanych programach.
    Nagłówek — jak już wspomnieliśmy — składa się z 17 bajtów. Będziemy je numerować od 0 do 16 (patrz rys.1). Zerowy bajt oznacza typ bloku. Jest on równy 0 — jeśli jest to program w BASIC-u, 3 — jeśli blok kodu maszynowego (nagrany przez SAVE "CODE..." albo SAVE "..." SCREEN$, które oznacza dokładnie to samo, co SAVE "...",CODE 16384,6912. Jeśli natomiast nagłówek ten poprzedza zbiór będący tablicą zmiennych BASIC-a (nagrany przez SAVE DATA...), to jest on równy 1 — dla tablic liczbowych lub 2 — dla tablic znakowych.
    Następne 10 bajtów, to nazwa wczytywanego bloku, czyli tekst pojawiający się po załadowaniu nagłówka, za napisem "Program:", "Bytes:" czy innym.
    Bajty 11. i 12. zawierają dwubajtową liczbę (pierwszy bajt mniej znaczący) oznaczającą długość bloku danych, którego ten nagłówek dotyczy.
    W zależności od typu wczytywanego bloku, bajty od trzynastego do szesnastego są w różny sposób interpretowane.
    Zacznijmy od nagłówków programów napisanych w BASIC-u. Bajty 13. i 14. oznaczają numer linii, od której ma się uruchomić program, jeśli był nagrany przez SAVE "..." LINE nr. Jeśli program był nagrany bez opcji LINE czyli po wczytaniu nie uruchomi się samoczynnie, to wartość tej liczby jest większa od 32767. Jednym ze sposobów unieszkodliwiania zabezpieczeń samostartujących programów w BASIC-u jest zmiana tych dwóch bajtów w nagłówku na wartość większą od 32767.
    Bajty 15. i 16. zawierają liczbę oznaczającą długość samego programu w BASIC-u (bo SAVE "" lub SAVE "" LINE nagrywają program wraz ze wszystkimi zmiennymi, tzn. zawartość pamięci od bajtu wskazywanego przez zmienną systemową PROG, do bajtu określonego zmienną E_LINE). Gdy od całkowitej długości bloku (bajty 11. i 12.) odejmiemy tę liczbę, dowiemy się ile bajtów w tym bloku zajmują zmienne BASIC-a. To wszystko, jeśli chodzi o nagłówki programów w BASIC-u.
    W nagłówkach kodu maszynowego ("Bytes:") bajty 15. i 16. nie są wykorzystywane, natomiast 13. i 14. tworzą dwubajtową liczbę określającą pod jaki adres należy wczytać następujący po nagłówku blok.
    W nagłówkach tablic wykorzystywany jest spośród tych czterech, tylko bajt 14., który przedstawia nazwę wczytywanej tablicy. Jest on zapisany tak, jak nazwy wszystkich zmiennych BASIC-a (w obszarze od VARS do E_LINE), tzn. trzy najstarsze bity oznaczają typ zmiennej (tutaj będzie to tablica liczbowa lub znakowa) a pięć mniej znaczących bitów — nazwę tej zmiennej*).
    Na listingu 1. przedstawiony jest program tworzący procedurę umożliwiającą odczytywanie nagłówków programów zapisanych na taśmie. Po jego dokładnym wpisaniu (uważaj na właściwą ilość spacji w liniach z instrukcjami DATA!) uruchom go przez RUN i poczekaj chwilę. Na ekranie pojawi się informacja o adresach początku i końca procedury oraz o jej długości, która powinna wynosić 284 bajty. Jeśli tak nie jest, sprawdź, czy na pewno wpisałeś wszystkie linie programu. Jeśli wszystkie dane były poprawne, to na twojej taśmie znajdzie się procedura "czytacz", dzięki której będziesz mógł odczytać każdy nagłówek. Po nagraniu jej na taśmę możesz już skasować program z listingu 1.
    Procedura "czytacz" jest relokowalna, tzn. będzie działała poprawnie niezależnie od tego, pod jakim adresem w pamięci się znajdzie. Możesz ją więc wczytać przez:
    LOAD "czytacz" CODE adres
    a następnie uruchamiać przez
    RANDOMIZE USR adres
    i to nawet wielokrotnie. Po uruchomieniu, procedura wczytuje pod adres 23296 (do bufora drukarki) pierwszy napotkany nagłówek. Jeżeli ze względu na podłączone urządzenia zewnętrzne nie odpowiada ci ten adres, to możesz go zmienić zastępując w linii 200 programu z listingu 1. liczbę 005B heksadecymalnym adresem, pod który chciałbyś wczytywać nagłówki (dwie pierwsze cyfry są młodszym bajtem tego adresu). Aby po takiej zmianie uniknąć sprawdzania sumy kontrolnej w tej linii, na końcu tekstu ujętego w cudzysłowy zamiast spacji i czterech cyfr sumy kontrolnej umieść literę "s" poprzedzoną czterema spacjami.
    Po wczytaniu nagłówka procedura odczytuje informacje w nim zawarte i wraca do BASIC-a, lecz wczytanego nagłówka nie niszczy, więc jeśli chcesz, możesz go dodatkowo obejrzeć wykorzystując funkcję PEEK.
    Samo odczytywanie nagłówków to jednak trochę mało, by móc włamywać się do bloków zapisanych na taśmie. Trzeba jeszcze wiedzieć, co z tymi blokami zrobić, aby umieścić je w pamięci, nie pozwalając im się przy tym uruchomić.
    W przypadku bloków typu "Bytes" wystarczy zwykle załadować je pod wymuszony adres, powyżej RAM-TOP-u (tzn. powyżej komórki pamięci wskazywanej przez zmienną systemową RAMTOP), np. przez:
    CLEAR 29999: LOAD ""CODE 30000
    Metoda ta skutkuje, jeśli tylko wczytywany blok nie jest zbyt długi (może mieć maksymalnie ok. 40K). Dłuższe bloki mogą się po prostu nie zmieścić w pamięci — konieczne jest wówczas podzielenie ich na kilka krótszych części. Niedługo dowiemy się jak to robić.
    Podobnie, w przypadku tablic, załadowanie ich nie nastręcza raczej kłopotów — wystarczy użyć normalnej w takich wypadkach instrukcji LOAD "" DATA...
    Gorzej natomiast wygląda wczytywanie programów w BASIC-u. Są one zwykle nagrywane przez SAVE "..."LINE, a na samym początku linii, od której mają się uruchomić umieszczone są instrukcje zabezpieczające je przed zatrzymaniem. Najprostszym rozwiązaniem jest ładowanie programu nie przez LOAD"", lecz MERGE "", jednak metoda ta nie zawsze daje rezultaty. Z tej beznadziejnej wówczas sytuacji istnieją dwa zasadnicze wyjścia: podmienić nagłówek programu lub użyć przedstawionego niżej programu "load/merge".
    Pierwsze z nich polega na zastąpieniu nagranego na taśmie nagłówka przez taki sam, ale nie powodujący uruchomienia programu.  Można w tym celu użyć programu "COPY COPY" — wczytać nagłówek programu, wcisnąć BREAK, a następnie instrukcją LET zmienić jego parametr START na liczbę większą od 32767 (tzn. wykonać np. LET 1 ="32768 — jeśli przerabiany nagłówek był wczytany jako pierwszy zbiór). Tak zmodyfikowany nagłówek nagrywamy gdzieś na taśmę. Usuwamy z pamięci program COPY COPY i wpisujemy LOAD "". Wczytujemy stworzony przed chwilą nagłówek, lecz zaraz po jego zakończeniu zatrzymujemy taśmę. Teraz do magnetofonu wkładamy kasetę z programem, do którego się włamujemy, ale ustawioną zaraz za nagłówkiem tego programu — tak, aby wczytać tylko treść programu, bez oryginalnego nagłówka.
    Druga metoda jest o wiele wygodniejsza:
    Wprowadzamy do pamięci (z klawiatury lub z taśmy) program "load/ merge" zamieszczony na listingu 2. Po uruchomieniu zaczyna on czekać na pierwszy program w BASIC-u, który znajduje się na taśmie. Wczytuje go zupełnie tak samo, jak instrukcja LOAD "", lecz po załadowaniu nie pozwala na jego uruchomienie — drukuje jedynie komunikat "0 OK", z informacją od której linii wczytany program miał się uruchomić.
    Na listingu 3. przedstawiona jest procedura, którą tworzy ten program poprzez POKE-i. Zasadniczą jej instrukcją jest CALL 1821. Począwszy od adresu 1541, w ROM-ie znajduje się procedura interpretująca instrukcje SAVE, LOAD, VERIFY i MERGE. CALL 1821 wskakuje do środka tej procedury. Początkową jej część (odczytującą parametry tych instrukcji) pomijamy, zastępując to w liniach 40 — 90 naszej procedury: Najpierw przez RST 48 rezerwujemy 34 bajty w obszarze WORKSP**), adres wolnego miejsca przenosimy z rejestru DE do IX, w linii 80 zaznaczamy w zmiennej systemowej T__ADDR, że chodzi nam o LOAD, a nie np. VERIFY, a w pierwszym bajcie nagłówka do porównywania umieszczamy wartość 255, oznaczającą, że ma być wczytany pierwszy napotkany blok (tzn. program w BASIC-u). Reszty dokonuje procedura z ROM-u, działając identycznie jak LOAD "". Różnica w działaniu LOAD a "load/merge" polega na tym, że po całkowitym wczytaniu programu, zamiast wrócić przez RET do interpretera BASIC-a, przepisujemy zawartość zmiennej NEWPCC ("numer linii do której ma być skok") do PPC ("numer ostatnio wykonywanej linii") oraz nie dopuszczamy do uruchomienia programu — wykonujemy RST 8 z komunikatem "0 OK". Dzięki temu przepisaniu, w wydrukowanym komunikacie znajdzie się informacja o numerze linii, od której wczytany program miał się uruchomić.
    Niecierpliwie czekając na kolejny odcinek z tego cyklu popróbuj odczytywać nagłówki bloków i wczytywać zabezpieczone programy w BASIC-u. Za miesiąc nimi właśnie dokładniej się zajmiemy.

     

    Autor listingu: Tomasz Surmacz, Robert Dudzik

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Atak! (Inwazja)

    Tym razem coś dla miłośników łamania joysticka. Wystarczy wpisać program według zamieszczoneoo listingu i można strzelać do woli.

    Na okołoziemskiej orbicie pojawili się "Obcy". Wkrótce okazało się, że ich zamiary wcale nie są przyjazne, a na dodatek dysponują potężnym uzbrojeniem. Bardzo szybko rozprawili się z flotami kosmicznymi wielkich mocarstw. Pozostałeś tylko Ty. Kierując bojowym kosmolotem "Gwiezdny Piorun" musisz pokonać Obcych. Jesteś ostatnią nadzieją Ziemi, jeśli zawiedziesz, wszyscy ludzie zostaną niewolnikami, a Ty zginiesz w mękach.
    Po wpisaniu "RUN" program wykonuje kilka procedur i sam startuje. Gdy nie powiedzie Ci się lub gdy uzyskasz premię, gra będzie kontynuowana po naciśnięciu klawisza "START" lub przycisku joysticka.
    Opisu gry nie będzie. To dobre dla jajogłowych naukowców i znudzonych komputerem dzieci. Prawdziwy gracz nie zajmuje się takimi głupstwami. Ale jedna uwaga jest konieczna. Przed pierwszym uruchomieniem programu lepiej zapisać go na kasecie lub dyskietce. Są na świecie rzeczy, o których się filozofom nie śniło — a po co "wklepywać" wszystko jeszcze raz.

    Listing pochodzi z repozytorium listingów Basic autorstwa AMAROK

    Jak zaladować (najprostsza metoda)

    ALTIRRA: 

    • Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
    • Cold Reset (Powinien wejść do Basica)
    • LOAD "D:ATAK.BAS"
    • RUN

     

    Autor listingu: Wojciech Zientara

    Listing nadesłał: Amarok

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Numerator

    Poniższy program, choć dość krótki, może bvć bardzo przydatny wszystkim posiadaczom stacii dysków — umożliwia on wpisanie do katalogu dyskietki (directory) numeru składającego sie z 5 znaków.

    Podczas wyświetlania katalogu za pomocą np. LOAD”$”,8 czy DIRECTORY, w miejscu identyfikatora (ID) oraz znaków określających numer systemu operacyjnego (2A) ukaże się przypisany przez nas numer. Stanowczo odradzam wprowadzanie takich zmian na dyskietki oryginalne (firmowe, z nagranym już programem), gdyż może to spowodować późniejsze trudności z jego wczytywaniem, jeśli program kontroluje te pola np. w procedurze obsługi (zamierzonego) błędu.
    Wprowadzenie zmian do programu polecałbym jedynie użytkownikom zaawansowanym, gdyż wykorzystuje on rozkazy bezpośrednie systemu DOS; źle wpisana przeróbka może w ekstremalnych wypadkach zniszczyć lub na trwałe zablokować dane zapisane na dyskietce. Program można uruchomić na każdym komputerze Commodore z przyłączoną stacją dysków 1540, 1541, 1570, 1571 czy 1572.
     

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Commodore Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Wprowadzanie funkcji dla C-64

    Jedną z większych wad wersji BASIC V2.0 Commodore 64 jest niemożność wprowadzania za pomocą instrukcji INPUT własnych funkcji czy wyrażeń algebraicznych.

    Jedną z większych wad wersji BASIC V2.0 Commodore 64 jest niemożność wprowadzania za pomocą instrukcji INPUT własnych funkcji czy wyrażeń algebraicznych. Jak wadę tę zlikwidować? Bardzo prosto. Wpisz poniżej przedstawiony program...
    Powyższej wady pozbawiony jest np. komputer ZX Spectrum w którym ciąg instrukcji: INPUT AS: X = VAL A$ umożliwia obliczenie danego wyrażenia. Dla C-64 równoważnym ciągiem będzie: INPUT A$: £VAL,X,A$
    Procedura ta, napisana w języku wewnętrznym zlokallizowana jest w obszarze 4 dodatkowych KB pamięci od adresu 49152 ($C000). Po uruchomieniu i wykonaniu program wczytujący kasuje się samoczynnie. Procedura ta jest włączona w istniejącą pętlę interpretera, tak więc posługiwanie się nią nie przeszkadza równoległemu korzystaniu z innych rozszerzeń takich jak np. TURBO, pod warunkiem, że obszary przez nie zajmowane nie kolidują ze sobą, oraz, że procedura tu omawiana będzie wczytana i uruchomiona jako ostatnia. Wynika to z faktu, że większość rozszerzeń wykorzystuje (i zmienia) wektor zawarty w komórkach 776 i 777, bez uwzględnienia wartości dotychczasowych. Wady tej pozbawiony jest omawiany tu program. Po wprowadzeniu wzoru danego wyrażenia (np. 2 + 2*5) za pomocą instrukcji INPUT, jego wartość jest obliczana poprzez £VAL,X,A$ a wynik jest przypisywany zmiennej oznaczonej w przykładzie jako X.
     

    Autor listingu: Krystian Łojewski

    Listing nadesłał: Faust

    Język programu: Commodore Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • WriTest

    Nareszcie i KLAN COMMODORE doczekał się własnego programu kontrolującego wpisywanie publikowanych w BAJTKU programów i przeznaczonego dla Commodore 20, 64, 16, 116, PLUS/4 i 128. Od tego numeru BAJTKA wszystkie programy ukazujące się w naszym Klanie będą przedstawiane wraz z kodem kontrolnym co powinno ułatwić życie naszym czytelnikom.

    Po wpisaniu programu należy go koniecznie zapisać najpierw na taśmie czy dyskietce i dopiero potem uruchomić. Program automatycznie rozpoznaje z jakim komputerem ma do czynienia. Następnie zaczynamy wpisywać dany program z klanu. Po wpisaniu danej linii i wciśnięciu RETURN lub ENTER, w lewym górnym rogu ekranu ukażą się w negatywie (rewersie) dwa znaki stanowiące kod kontrolny. Kod ten należy porównać z kodem podanym przy wydruku programu (listingu). Jeżeli kody te różnią się należy dokładnie sprawdzić daną linię programu — oznacza to, ze została ona wpisana z błędem.

    na podstawie COMPUTE!s GAZETTE..

    Autor listingu: Jan Jasiński

    Listing nadesłał: Faust

    Język programu: Commodore Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Edytor Basica

    Przy przepisywaniu programów w BASIC-u. szczególnie zawierających dużo liczb w instrukcjach DATA, nie sposób ustrzec się błędów. Aby uniknąć żmudnego wyszukiwania popełnionych omyłek wszystkie programy w BASIC-u będą zamieszczane wraz z kodami kontrolnymi. Poniższy program „Edytor BASIC-a” umożliwia obliczanie i kontrole kodów wpisywanych linii...

    Najpierw należy dokładnie przepisać zamieszczony tu wydruk i zapisać go na kasecie lub dysku. Przystępując do wpisywania dowolnego programu z naszego pisma trzeba wczytać i uruchomić „Edytor BASIC-a”. Następnie należy wpisywać linie programu. Po wpisaniu linii i naciśnięciu RETURN pojawia się ona w dolnej części ekranu wraz z obliczonym kodem kontrolnym Jeżeli wyświetlony kod jest taki sam jak wydrukowany przed numerem linii, można wpisywać następną linię. Jeśli kody są różne, to ponowne naciśnięcie RETURN powoduje wyświetlenie wpisanej linii w górnej części ekranu i umożliwia dokonanie poprawek. Wpisanie samego numeru linii powoduje wymazanie z pamięci komputera linii programu o tym numerze. Naciśnięcie RETURN wywołuje zawsze ostatnio wpisaną linię. Aby wywołać inną, wcześniej wpisaną linię należy napisać numer tej linii z gwiazdką przed nim (np. *140) i nacisnąć RETURN.
    Po wpisaniu całego programu trzeba przerwać pracę „Edytora” naciśnięciem klawisza BREAK lub RESET. Następnie w celu usunięcia „Edytora” zapisujemy program na taśmie instrukcją LIST „C:”,0,31999 lub na dysku instrukcją LIST „D:nazwa,”0,31999. Teraz trzeba wpisać rozkaz NEW i odczytać program instrukcją ENTER „C:” lub ENTER „D:nazwa”. Po tej operacji w pamięci komputera znajduje się wpisany program bez „Edytora BASIC-a’ i można go już ostatecznie zapisać na nośnik.

    Autor listingu: ???

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • UL - Mikrokomputerowy model rodziny pszczelej

    Utarł się pogląd, że mikrokomputery mogą być wykorzystywane głównie do zabawy i nauki, a jeśli powierza im się poważne funkcje, to zwykle dotyczą one codziennych prac domowych lub biurowych. Wyraźnie upośledza to inne zastosowania. Warto zatem podejmować próby przełamania tych stereotypów. Prezentowany program pozwala wykorzystać domowy komputer w... pszczelarstwie.

    Model powstał w wyniku prowadzonych od 1975 roku badań podstawowych w Zakładzie Biocybernetyki AGH i Zakładzie Pszczelarstwa Akademii Rolniczej w Krakowie. Prace te były częściowo finansowane przez Polską Akademię Nauk, Oczywiście celem badań nie było napisanie programu w BASICU-u, tylko określenie matematycznych prawidłowości w funkcjonowaniu rodziny pszczelej, a także przebadanie przydatności wiedzy na temat cybernetycznych aspektów funkcjonowania wielkiego systemu, jakim jest rodzina pszczela.
    Tekst programu napisany jest w języku Simons Basic przeznaczonym dla mikrokomputerów firmy Commodore serii C64 lub C128. Nic jednak nie stoi na przeszkodzie, by po drobnych modyfikacjach opracować wersje podanego programu dla innego, posiadanego przez Czytelnika mikrokomputera. Przeróbki programu dotyczyć w takim przypadku będą głównie instrukcji przeznaczonej do graficznej prezentacji wyników modelowania.
    Po uruchomieniu programu komputer zadaje użytkownikowi serię pytań a on musi na nie odpowiedzieć z klawiatury. Pytania te dotyczą rasy pszczół, długowieczności robotnic, horyzontu modelowania, aktualnej struktury rodziny oraz stanu zapasów. Ostatnie pytanie: SKĄD CZYTAĆ DANE O POGODZIE I POŻYTKACH? wymaga wprowadzenia z klawiatury NAZWY wcześniej zapisanego na dysku (lub taśmie) zbioru właśnie warunków atmosferycznych i pożytkach dla jakich użytkownik chce modelować. Zbiór należy nazwać i zapisać na dysku (lub taśmie) przy pomocy programu pomocniczego „ZAPIS-DANYCH”
    Po uruchomieniu (komenda RUN) użytkownik wprowadza kolejne dane.
    Mając zgromadzone dane można podejmować próby modelowania. Czas trwania modelowania (zwykle dość długi, około kilkunastu minut) zależny jest od założonej liczby kroków, jaką poda się w odpowiedzi na pytanie komputera. Krok to 24 godziny życia realnej rodziny, W trakcie modelowania wyświetlany jest numer aktualnie wykonywanego kroku. Po zakończeniu obliczeń można oglądać wyniki modelowania w postaci wykresów obrazujących, jak zmieniała się podczas modelowania liczba pszczół, ilość zgromadzonego miodu, powierzchnia dostępnych plastrów itp. Kolejne wykresy wywołuje się naciskając dowolny klawisz.
    Ci, którzy próbowali komputerowej symulacji rodziny pszczelej przekonali się, Ze jest to wprawdzie rozrywka zupełnie innego typu, niż większość znanych gier, jednak z całą pewnością może to być fascynująca przygoda intelektualna — tym bardziej atrakcyjna, jeśli ma się możliwość konfrontowania komputerowych wyników z obserwacją pszczół.
     

    Autor listingu: Andrzej Migacz,Ryszard Tadeusiewicz

    Listing nadesłał: Faust

    Język programu: Commodore Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Mieszanie trybów

    Poniższy program dodaje nowe rozkazy do BASIC-a pozwalając na prace ekranu Amstrada w kilku trybach równocześnie.

    Miłą cechą Amstradow jest możliwość podziału ekranu na cztery części (zwane dalej sekcjami) i nadawania im własnych trybów pracy. Kto widział grę SORCERY na Am- stradzie, wie jakie efekty można uzyskać za pomocą tej metody. W grze tej górna część ekranu pracuje w trybie 0 pozwalającym na uzyskanie 16-u kolorów, podczas gdy dolna część ekranu pracuje w trybie 1 i służy do wyświetlania tekstów.
    Mieszanie trybów osiągane jest za pomocą odpowiednich zmian wartości rejestru układu VGA (Video Gate Ar- ray) określającego tryb pracy ekranu.
    Podział ekranu na sekcje jest stały. Wiersze 1-5 tworzą sekcję o numerze 0, wiersze 6-12 sekcję 1, wiersze 13-18 sekcję 2, a wiersze 19-25 sekcję 3.
    Prezentowany program dodaje trzy nowe rozkazy do BASIC-A. Po jego uruchomieniu program można wymazać z pamięci. Rozszerzenia będą aktywne oczywiście tylko do momentu wyłączenia komputera. UWAGA! Dla bezpieczeństwa nie należy zapomnieć o zapisaniu wprowadzonego programu na taśmę lub dysk przed pierwszą próbą jego uruchomienia. Wprowadzone rozkazy są rozkazami RSX rozpoczynającymi się znakiem: (SHIFT @)
    :SETMO .sekcja, tryb [.sekcja,tryb] — informuje system operacyjny Amstrada w jakim trybie ma wyświetlać daną sekcję. Jednym rozkazem można nadać tryby jednej lub wielu sekcjom.
    :SMODE .tryb — służy do pisania po ekranie, informuje system w jakim trybie będziemy teraz wyprowadzać dane na ekran. Działanie tego rozkazu jest analogiczne jak rozkazu MODE z tym, że nie czyści ekranu. Używanie rozkazu MODE mija się z celem albowiem tryb ustawiony tym rozkazem zostanie zmieniany przy najbliższym przerwaniu.
    :NORMAL ,tryb — powrót do normalnego, całoekrano- wego trybu pracy. Wskazane jest użycie tego rozkazu przed pierwszym użyciem rozkazu :SETMO.
    Program utrzymując ekran w kilku trybach używa przerwań, które są blokowane podczas operacji na dysku lub taśmie. Nie uzyskamy dobrych rezultatów próbując współpracować z pamięciami zewnętrznymi mając podzielony ekran.
    Nie należy również dopuszczać do wysuwu ekranu (scroll), który zaburza synchronizację zmiany trybu pracy podczas przechodzenia pomiędzy sekcjami.
    Załączony program demonstracyjny ułatwia zrozumienie sposobu użycia nowych rozkazów BASIC-a.
    Na podstawie Popular Computing Weekly
     

    Autor listingu: Jarosław Borełowski

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Pociag

    Stoi na stacji lokomotywa... a za nią wagony towarowe, które trzeba załadować czekającymi w magazynach skrzyniami. Maszynista, Kubuś Literka siedzi w parowozie i czeka, aż wszystkie wagony zostaną zapełnione..

    Pociąg składa się zawsze z dwóch wagonów ale mogą one być bardzo różne — długie i krótkie, wysokie i niskie. Za każdym razem trzeba więc dokładnie policzyć ile pakunków pomieszczą. Skrzynie zgromadzone są w pięciu magazynach. W pierwszym jest tylko jedna, w drugim i trzecim po dwie, w czwartym pięć a w szóstym aż dziesięć skrzyń. Jest jednak pewna trudność. Załadowując pociąg musimy opróżniać całe magazyny. Na przykład z magazynu piątego trzeba wziąć 10 skrzynek i ani jednej mnie|. Oczywiście możemy też — jeśli tak nam będzie pasowało — nie brać nic z tego magazynu.
    Jeżeli obliczymy, że w jednym wagoniku zmieszczą się cztery skrzynki a w drugim trzy, to będziemy się starali tak wybrać ma- gazyny, aby w sumie było w nich siedem skrzyń. W tym przypadku będą to magazyny drugi lub trzeci (2 skrzynki) oraz czwarty (5 skrzyń).
    Gdy prawidłowo wybierzemy magazyny, to znaczy liczba skrzyń znajdujących się w nich będzie dokładnie równa liczbie miejsc na wagonach, wówczas pociąg z ładunkiem odjedzie, a na peronie pojawi się następny skład. Jeśli jednak skrzynek będzie zbyt dużo, pociąg nie ruszy się z miejsca a my — za karę — dostaniemy inne wagony do załadunku.
    Zastanówmy się teraz, czy może się zdarzyć, że nie będziemy mogli załadować pociągu? Największy wagon może pomieścić 9 skrzyń a więc w dwóch takich wagonach należy umieścić 18 pakunków. To największa ich liczba jaka może w naszej zabawie wystąpić. We wszystkich magazynach mamy w sumie 20 skrzynek, a więc możemy być spokojni, ze towaru nie zabraknie. Czy jednak każdą liczbę (nie większą niż 18) będziemy mogli przedstawić jako sumę iczb pakunków w poszczególnych magazynach? Przerwijcie na chwilę czytanie i spróbujcie to sprawdzić. .
    No i co?

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Weryfikator V.2 dla CPC 6128

    Wszystkie redakcje pism poświęconych problematyce mikrokomputerowej zasypywane sa listami czytelników piszących mniej więcej tak: ..... przepisałem program drukowany w ostatnim numerze Waszego pisma i, niestety, mimo wielokrotnych prób i sprawdzania wydruku program nadal nie da sie uruchomić. Chyba jest bład w wydruku...”.

    Redakcje, współpracujące z odpowiedzialnymi autorami wiedzą, że nie jest możliwe, by błąd tkwił w wydruku sprawdzonego i uruchamianego wielokrotnie programu, lecz przekonanie zdesperowanego czytelnika o tym, że to on wprowadził błędy przy przepisywaniu, jest prawie niemożliwe. Oczywiście można wymagać od autorów wprowadzania np. sumy kontrolnej i programów (podprogramów) obsługi błędów, jednak zabieg takie prowadzą głównie do kontoli danych w liniach DATA i to dopiero poczas uruchamiania programów. Proponowany dzisiaj WERYFIKATOR jest programem stosowanym przez francuskie pismo Amstrad Magazine i zachodnioniemieckie CPC Schneider International, umożliwiającym kontrolę wprowadzanych linii programu „na bieżąco”, niezależnie od tego czy są to linie DATA, czy linie zawierające słowa kluczowe lub komentarze. Każdy znak w linii „sumowany” jest z następnym i w momencie wprowadzania linii do pamięci (klawisz RETURN lub ENTER) generowana jest suma konrolna ujęta w nawiasy kwadratowe. Przy przyjętym przez te pisma drukowaniem programów łącznie z sumami kontrolnym podawanymi dla każdej linii możliwa jest natychmiastowa kontrola poprawności wprowadzania kolejnych linii przez porównanie sumy kontrolnej wydruku i sumy kontrolnej linii wpisywanej przez użytkownika.”
    Warto więc po raz ostatni skupić się i przepisać DOKŁADNIE podany program, ponieważ przy następnych wydrukach będę już podawał sumy kontrolne. Prawidłowo wpisany program po uruchomieniu oferuje cztery rozkazy: | ON/uaktywniony od razu w linii 180, j OFF — wyłączający weryfikator, | CHECK.2 — odpowiadający komendzie LIST ale z wyświetlaniem sumy kontrolnej i ] CHECK.8 pozwalający na uzyskanie wydruku linii programu na drukarce z podawaniem sumy kontrolnej. Pc uruchomieniu weryfikatora można przystąpić do przepisywania ineresu- jących nas programów pod warunkiem, że ich wydruk został wykonany również przy użyciu WERYFIKATORA. Posiadacze CPC 464 i 664 powinni zmienić niektóre linie DATA zgodnie z dołączonym wykazem. Niecierpliwi mogą sprawdzić działanie programu wpisując dowolne linie lub rozkazy w trybie bezpośrednim. Po każdym wciśnięciu klawisza RETURN lub ENTER powinna się pojawić liczba w nawiasach kwadratowych. Cierpliwych zapraszam za miesiąc.


    Na podstawie Amstrad/Schneider 1/81
     

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Drago Basic

    Chociaż Commodore 64 ma ogromne możliwości graficzne, to korzystanie z nich jest bardzo skomplikowane, zwłaszcza dla początkujących. Ze względu na duża liczbę instrukcji POKE czy pętli FOR... NEXT programy sa mało przejrzyste i trudne do zrozumienia.

     
    Oprócz tego, niejako dodatkowo, wymagana jest od użytkownika spora wiedza dotycząca organizacji pamięci w tym komputerze, sposobów rezerwowania jej odpowiedniego obszaru dla potrzeb ekranu graficznego czy działania na bitach. Ponieważ punkt o współrzędnych 0,0 znajduje się w lewym górnym rogu ekranu tworzenie np. wykresów funkcji wymaga ponadto dodatkowych obliczeń. Z tych też powodów chciałbym przedstawić Czytelnikom "BAJTKA" rozszerzenie graficzne standardowego interpretera BASIC — DRAGO BASIC.
    Istnieje już sporo rozszerzeń tego typu — GRAPHICS BASIC, SIMONS BASIC, SUPERGRAPHIC itp. Niestety możliwość korzystania z tych programów limituje w dużym stopniu brak ich polskojęzycznych opisów dość rzadko dostępnych nawet na giełdach komputerowych. Innym mankamentem jest zmniejszenie ilości dostępnej dla użytkownika pamięci — np. SIMONS BASIC zabiera jej od 8 do 16 KB, Co nie pozostaje oczywiście bez wpływu na jakość naszych programów.
    DRAGO BASIC nie jest rozszerzeniem w takim znaczeniu, w jakim zwykle się to rozumie. Zamiast bowiem dopisywania nowych instrukcji czy rozkazów wykorzystano tu cztery istniejące i rzadko używane instrukcje — VERIFY, WAIT, LET oraz CONT. Nowe instrukcje graficzne składają się z takiej samej ilości liter i nazywają się TRYBEK, GUMA, BAR i RYPU. Instrukcje te są "umieszczone" w tych samych miejscach pamięci ROM co stare, z tym, że zmieniono odpowiednio adresy procedur instrukcje te realizujących. Procedury te zostały umieszczone w dodatkowych 4 KB pamięci od adresu 49152 ($C000) dzięki czemu mamy do dyspozycji całe 38 KB pamięci RAM. Zaletą DRAGO BASIC jest przeniesienie punktu o współrzędnych 0,0 w lewy DOLNY róg ekranu czyli tak jak na osi współrzędnych. Program ten pozwala nam na tworzenie grafiki w standardowym trybie graficznym Commodore — rozdzielczość 320*200 punktów, dwa kolory.
    Podczas wpisywania DRAGO BASIC należy zwrócić baczną uwagę, aby nie pomylić się zwłaszcza podczas wpisywania linii z DATA — liczby zawarte w tych liniach to właśnie nasze nowe procedury. Ponieważ po wpisaniu kodu maszynowego program samoczynnie się kasuje, ważne jest również, aby przed jego uruchomieniem zapisać go najpierw na taśmie czy dyskietce. Jeżeli program zostanie wpisany poprawnie, po uruchomieniu pojawi się na ekranie plansza tytułowa oraz usłyszymy melodię — program jest gotowy do użytku.
    Nowe instrukcje mają następującą postać:
    TRYBEK (parametr)
    Instrukcja ta służy do zmiany ekranu graficznego na tekstowy i odwrotnie. TRYBEK 1 pozwala nam na przejście do trybu pracy graficznego, TRYBEK 0 z kolei umożliwia powrót do trybu tekstowego. Gdy parametr nie będzie równy ani 1 ani 0, komputer wyświetli komunikat ILLEGAL QUANTITY ERROR.
    GUMA
    Jest to odpowiednik PRINT CHRS(147) w trybie tekstowym —
    GUMA pozwala nam skasować (bezpowrotnie) całą zawartość ekranu graficznego. 
    BAR kolor kreski, kolor tła 
    Za pomocą BAR możliwe jest przypisanie wybranych kolorów dla kreski (punktu) oraz tła ekranu graficznego. Numery kolorów są zgodne z numerami podanymi w instrukcji obsługi komputera (np. 0 = czarny, 1 = biały itd.). 
    RYPU X,Y
    RYPU umożliwia nam wykreślenie punktu na ekranie graficznym. Parametr X może przybierać wartości w zakresie 0-319, parametr Y w zakresie 0-199. Należy pamiętać, że punkt o współrzędnych 0,0 znajduje się w DOLNYM lewym rogu ekranu. Powrót do normalnego trybu pracy komputera możemy uzyskać za pomocą kombinacji klawiszy STOP i RESTORE wciśniętych jednocześnie. Powrót do programu jest możliwy za pomocą POKE 1,54. Symbol "(CLR)" w programie oznacza czyszczenie ekranu.
    A oto przykładowy program pozwalający nam na wykreślenie paraboli:
     
    10 TRYBEK 1: GUMA : BAR 1,0
    20 FOR X = 0 TO 240: Y = .01*(X-120) ^2+20 30 RYPU X,Y: NEXT 
    40 FOR X = 0 TO 240: RYPU X,20: NEXT
    50 FOR Y = 0TO 199: RYPU 120.Y: NEXT
    60 GET A$: IF A$="" THEN 60 70 TRYBEK 0: END

    Autor listingu: Jan Jasiński

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • CPC Dump

     Wizja nadchodzącego, jak zwykle pechowego trzynastego odcinka cyklu sprawiła, że w autorze obudziło się sumienie i postanowił nie męczyć już dłużej czytelników widokiem monotonnych tabelek, wypełniających cenna przestrzeń Klanu Amstrad-Schneider. Jednakże sumienie nie zadowoliło się samym postanowieniem i zażądało pokuty, w ramach której zobligowało autora do odpowiedzi na dwa pytania: „po co to wszystko było drukowane?” i „co z tego ma Czytelnik?”. Kończąc cykl, skruszony autor odpowiada...

     
    Dokładna znajomość systemu operacyjnego mikrokomputera pozwala nie tylko na oszacowanie jego możliwości, ale bardziej zaawansowanym użytkownikom umożliwia przystosowanie sprzętu do konkretnych i indywidualnych wymogów m.in. poprzez modyfikację lub rozbudowę procedur systemowych. Jednakże działalność taka jest możliwa tylko wtedy, gdy dysponuje się listą procedur i opisem ich działania... a także potrafi się programować w języku maszynowym.
    Zamiarem autora nie było prowadzenie kursu programowania lecz dostarczenie niezbędnej dokumentacji. Wprawdzie niektóre procedury mogą być wywoływane bezpośrednio z poziomu BASIC-a i znacznie upraszczają pisanie programów (np. CALL & BBBA jest odpowiednikiem ciągu rozkazów: PAPER 0:PEN 1:ORIGIN 0,0: WINDOW #0,0, 639,0,399 lub CALL &BB18 zastąpi ciąg A$=””:WHILE A$=” „:A$=INKEY$:WEND) lecz większość procedur może być uaktywniana dopiero po ustaleniu pewnych stanów wejściowych w wymaganych dla danej procedury rejestrach. Taka sytuacja wymusza wprawdzie na programiście znajomość sposobu działania procedur systemu, ale jednocześnie pozwala na wprowadzanie pożądanych zmian.
    Zacznijmy od najprostszych przykładów:
    Procedura Screen Mode Set (ustalenie trybu pracy ekranu monitora) &BC0E w momencie uruchomienia odczytuje informację z rejestru A (akumulatora), mówiącą o wybranym trybie pracy. Pisząc program w języku maszynowym trzeba przed wywołaniem procedury wpisać do akumulatora 0,1 lub 2. Dla trybu MODE 2 wygląda to następująco: kod hex
     
    kod hexa mnemonik
    3E02 LD A,2 Wprowadź 2 do rej. A
    CD0EBC CALL BC0E wywołaj procedurę Screen Mode Set
    C9 RET powrót do programu
     
    Procedura drukowania znaku na ekranie &BB5A wymaga podania w rejestrze A kodu znaku, ale jednak wcześniej trzeba również określić tryb pracy ekranu i pozycję na której ma być ten znak drukowany, czyli podać parametry wejściowe wymagane w procedurach odpowiednio & BC0E i & BB75 (patrz odcinek 7 i 4 cyklu). Wygląda to tak:
     
    3E02 LD A,2 wprowadź 2 do akumulatora
    CD0EBC CALL BC0EH wywołaj procedurę SMS
    260A LD H,10 wprowadź numer kolumny (10)
    2E10 LD L,16 wprowadź numer wiersza (16)
    CD75BB CALL BB75H wywołaj procedurę &BB75 (pozycja)
    3E42 LD A,66 wprowadź kod litery B do rej. A
    CD5ABB CALL BB5AH wyświetl znak B na ekranie
    C9 RET wróć do programu głównego
     
    Modyfikacje procedur wymagają oczywiście bardziej skomplikowanych zabiegów, jednak ze względu na charakter cyklu i szczupłość miejsca podam jedynie mechanizm przeprowadzania modyfikacji. Załóżmy, że nie wystarcza nam 7-bitowy sprzęg w CPC, ponieważ chcemy wykorzystywać pełne możliwości przyłączanej do niego drukarki. Jednocześnie wiemy, iż drukarka ma możliwość ustawienia 8-go bitu po odebraniu określonego znaku lub sekwencji znaków (w przypadku DMP 2000 jest to ESC „>” i skasowania 8-go bitu po odebraniu innej sekwencji (ESC „=”). Mamy również świadomość, że procedura wywoływana przez & BD2B ograniczona jest właśnie 7-bitowym sprzęgiem. Rozwiązanie problemu polega na napisaniu programu, który najpierw sprawdzi, czy wysyłany do drukarki znak ma ustawiony ósmy bit. Jeśli znak ma ósmy bit = 0 to powinien być od razu przesłany do drukarki. W przeciwnym przypadku najpierw powinien być przesłany ESC „>”, następnie znak i ESC „ = „. Tak napisany program trzeba ulokować w pamięci RAM poza obszarem dostępnym dla BASICa (MEMORY HIMEM-długość programu) dołączając wcześniej do niego skopiowane z adresów & BD2B, &BD2C i &BD2D instrukcje skoku do precedury wydruku znaku w pamięci ROM. Teraz wystarczy wpisać pod adres &BD2B kod C3 (skok pod dwubajtowy adres), pod &BD2C młodszy bajt a pod &BD2D starszy bajt adresu początku naszego programu i po uruchomieniu drukować aż do chr$(225). Czytelników oczekujących gotowego rozwiązania informuję, że programy takie były już publikowane w naszej prasie (o ile dobrze pamiętam pionierem był pan Wojciech Wojtanowski z programem opublikowanym w Przeglądzie Technicznym).
    Namawiając do dalszej samodzielnej pracy podaję dwa krótkie programy umożliwiające odczyt na ekranie monitora zawartości pamięci ROM (dolnej) w postaci kodów ASCI i heksadecymalnym. Niewielkie zmiany programu pozwolą również na odczyt zawartości pamięci ROM górnej.W tym celu należy: 
     
    w linii   10 — wpisać ...ROM górny... &C000 do &FFFF 
    w linii   40 — wpisać ... górnej...
    w linii 110 — zamiast cd,06,bd wpisać cd,00,bd i zamiast 00,00,11 wpisać 00,c0,11
    w linii 140 — zamiast (i-6000) wpisać i+6000).
     
    Zachęcam do modyfikacji programów w celu uzyskania możliwości odczytu ograniczonej przestrzeni adresowej (np. zajmowanej tylko przez jedną procedurę) i organizacji wydruku na drukarce. Finis coronat opus!

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Catalog

    Z pewnością często mieliście ochotę zrobić porządek na swoich kasetach z programami i równie często rezygnowaliście z tego mając w perspektywie pracowite spisywanie z ekranu danych uzyskanych przez komendę CAT. Jak dobrze byłoby zwalić te robotę na komputer. Mógłby on wtedy sam przejrzeć kasetę, sprawdzić, czy jakieś zbiory nie powtarzają się, wydrukować spis na drukarce. Niestety, CAT wysyła wyniki tylko na ekran i odzyskanie ich stamtąd wymaga wiele wysiłku. Komendy tej nie można również przerwać programowo a jedynie klawiszem ESC.

     
    Równie często ambitniejsi użytkownicy Amstradów i Schneiderów usiłują uzyskać dane o długości programu, miejscu jego ładowania, czy adresie autostartu. Dane te są niezbędne na przykład do przenoszenia programów maszynowych z kasety na dyskietkę. I tutaj komenda CAT nie zdaje się na nic.
    Zamieszczony obok listing programu w BASIC-u umożliwia dodanie do systemu nowej komendy RSX o nazwie CATALOG, która rozwiązuje nasze problemy.
    Po uruchomieniu programu, jeżeli nie pojawi się na ekranie żaden komunikat o błędzie w linii DATA (spowodowanym błędnym przepisaniem) w obszar pamięci od adresu &A400 zostanie załadowany i zainicjowany program maszynowy komendy CATALOG. Program w BASIC-u można teraz skasować (przez NEW).
    Wywołanie komendy ma następującą postać:
    I CATALOG, @a$, @a1%, @a2%, @a3%, @4%, @a5%, @a6%, @a7% gdzie zmienne a$, a1%, a2%... a7% muszą mieć uprzednio nadane wartości (w przeciwnym przypadku pojawi się komunikat „Improper argument”). Ich nazwy nie muszą być oczywiście takie jak wyżej. Ważne są jednak typy: pierwsza musi być łańcuchowa — pozostałe całkowite. Symbol „@” oznacza, że do komendy przekazywany jest adres zmiennej, a nie jej wartość. Wartości nadane zmiennym całkowitym przed wywołaniem są obojętne. Natomiast a$ powinien być przypisany łańcuch zawierający dowolne znaki, lecz o długości co najmniej 16. Komenda CATALOG uruchamia silnik magnetofonu i wczytuje nagłówek najbliższego bloku (trzeba więc pamiętać o wciśnięciu klawisza PLAY przed wywołaniem). Dane o bloku kopiowane są do parametrów w następujący sposób: 
     
    a$    — zawiera nazwę zbioru, do którego należy blok: jeżeli wartość a$ przed wywołaniem była łańcuchem krótszym niż długość nazwy, to nadmiarowe znaki zostaną obcięte; jeżeli łańcuch był dłuższy niż nazwa, to pozostałe miejsca zostaną zapełnione spacjami a1% — zawiera numer bloku 
    a2% — zawiera typ zbioru: 0 — BASIC, 1 — BASIC chroniony (SAVE „nazwa”, P), 2 — program w języku maszynowym, 22 — zbiór ASCII
    a3% — adres ładowania bloku; adres ładowania pierwszego bloku w zbiorze jest zarazem adresem ładowania całego zbioru (dla ASCII = 0, dla Basica = 368)
    a4% — długość bloku; dla wszystkich bloków z wyjątkiem ostatniego prawie zawsze 2048 = 2 KB 
    a5% — długość całego zbioru, do którego należy blok 
    a6% — adres autostartu; od tego adresu rozpocznie się wykonywanie programu maszynowego załadowanego komendą RUN „nazwa” 
    a7% — znaczniki bloku: a7% zawiera wartość całkowitą dwubąjtową: starszy bajt różny od zera oznacza pierwszy blok zbioru, młodszy bajt różny od zera — ostatni blok; wartość tę najlepiej obserwować jako HEX$ (a7%,4) dwie pierwsze cyfry to starszy bajt, dwie pozostałe — młodszy (cyfry hex) 
     

    Autor listingu: Sergiusz Wolicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • 9888

    Liczba ta jest nazwą, a jednocześnie oznaczeniem początku pewnego użytecznego programu narzędziowego dla ZX Spectrum.

     
    Jedną z wad ZX Spectrum jest niezbyt wygodna edycja tekstu programu. Napisany przeze mnie program stanowi próbę ułatwienia tej operacji.
    Program należy wpisać, przetestować i nagrać na kasetę. W razie potrzeby dołączamy "9888" do pisanego programu przy pomocy instrukcji MERGE. Trzeba jednak pamiętać, że program główny nie może zawierać linii o numerach wyższych od 9888.
    Po wykonaniu 
    GO TO 9888 
    ukazuje się krótkie menu funkcji programu — jest on gotowy do użytku. Oto jego możliwości:
    1 — POLICZ P,0
    Komputer oblicza liczbę linii zawartych pomiędzy numerami P i O włącznie.
    2 — PRZENUMERUJ P, O, N, K
    Przenumerowanie fragmentu programu zawartego między liniami P i O. Pierwsza linia fragmentu otrzymuje nowy numer N, zaś numeracja odbywa się z krokiem K. Nie są zmieniane parametry odwołań GO TO i GO SUB.
    3 — PRZESUŃ P, O, N 
    Fragment programu pomiędzy liniami P i O otrzymuje numery zwiększone o N (N może być ujemne).
    4 — ZNAJDŹ X, P, O 
    Wyszukanie wszystkich fragmentów tekstu X w liniach programu pomiędzy P i O.
    5 — ZAMIEŃ X = Y, P, O
    Zamiana wszystkich występujących pomiędzy liniami P i O fragmentów tekstu X na tekst Y. Zarówno X, jak i Y mogą mieć do 10 znaków długości — pozostałe znaki są ignorowane.
    6 — STOP 
    Powrót do BASIC-a.
     

    Autor listingu: Grzegorz Waligórski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Pożyczone Litery

    Wiele gier zadziwia nas swoim wymyślnym liternictwem. Czcionka pogrubiona, pochyła, „komputerowa”, gotyk lub cyrylica, umieszczone na ekranie sprawiają, że strona graficzna programu zyskuje bardzo wiele w oczach użytkownika.

     
    Jak zapewne wiadomo większości posiadaczy ZX SPECTRUM, cały zestaw znaków (96 liter) tego komputera można zastąpić nowym zestawem, zaprojektowanym przez użytkownika. Litery jakie widzimy na ekranie zaraz po włączeniu komputera, są pobierane z generatora znaków, który znajduje się pod adresem 15616 i zajmuje 768 bajtów (96 * 8 bajtów). Adres pierwszej komórki generatora obliczany jest przez komputer na podstawie zawartości zmiennej systemowej CHARS (komórki o adresach 23606 i 23607), wg wzoru:
    ADRES = (PEEK 23607)*256 + (PEEK 23606) + 256
    Zmieniając więc zawartość zmiennej, zmieniamy zarazem adres, spod którego pobierane są kształty znaków. Oczywiście nie wystarczy zmienić samego adresu, należy jeszcze pod nim umieścić dane o kształcie nowego zestawu liter. O tym, ze projektowanie liter to długa i żmudna praca, nie trzeba chyba nikogo przekonywać i właśnie dlatego proponuję ułatwienie tego zadania przez wyciągnięcie interesującego kroju pisma z gotowych programów, aby móc go wykorzystać do własnych celów. Sposób jest prosty. Najpierw jednak należy wpisać i zapamiętać na taśmie zamieszczony obok program CZCIONKA

    Autor listingu: Michał Szuniewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Uczymy mówić CPC 464/664/6128

    Program jest przykładem nietypowego zastosowania mikrokomputera, który w tym przypadku pełni role magnetofonu cyfrowego.

    Komputer może zapisać dźwięk z magnetofonu podłączonego do wejścia magnetofonowego (TAPE PORT) pracując jako 1-bitowy przetwornik analogowo cyfrowy, a następnie odtworzyć go korzystając z wbudowanego generatora dźwięku. Program wprowadza następujące rozkazy RSX:
    I RECORD, adres, długość — powoduje odczytanie dźwięku z magnetofonu i zapisanie jego cyfrowej reprezentacji do bufora pamięci o podanej długości (długość), począwszy od adresu określonego wartością adres.
    I PLAY, adres, długość — powoduje odtworzenie dźwięku, którego reprezentacja cyfrowa mieści się w buforze pamięci o parametrach adres, długość.
    I SPEED, szybkość — powoduje ustawienie zadanej szybkości zapisu i odczytu dźwięku.
    Eksperymenty z programem dowodzą, jak bardzo „pamięciochłonny” jest cyfrowy zapis dźwięku. Przy średniej prędkości w buforze 30KB mieści się zaledwie około 15 sekund nagrania. Najciekawsze efekty uzyskuje się zapisując nagrane wcześniej na taśmę krótkie wyrazy np. mama, tata itp.
    Właściwy program napisany w kodzie maszynowym jest ładowany przy pomocy podprogramu rozpoczynającego się od linii 300. Podprogram ten sprawdza poprawność danych umieszczonych w liniach DATA.
    Linie 1000-2040 zawierają program demonstrujący użycie rozkazów RSX — I PLAY, I RECORD, I SPEED.


    Od redakcji
    Program w wersji nadesłanej do redakcji posiadał możliwość odczytywania dźwięku z magnetofonu i odtwarzania „nagrania”, a także umożliwiał regulację prędkości odczytywania i odtwarzania. Postanowiliśmy uzupełnić możliwość programu o jeszcze jedną opcję — możliwość utrwalania cyfrowego zapisu dźwięku na dysku bądź taśmie magnetofonowej. Pozwala to na stworzenie biblioteki dźwięków, z które] w każdej chwili (w przypadku korzystania ze stacji dysków w ciągu kilku sekund) można wybrać poszukiwany efekt.
    (rp)

    Autor listingu: W. Szczęśniak

    Listing nadesłał: Zbyniu [Speccy.pl]

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Śledzenie Pracy Programu

    Pomysł na napisanie tego programu zaczerpnąłem z pakietu procedur maszynowych pod nazwa SUPERCODE.

    Krótki program w języku wewnętrznym mikroprocesora Z80 informuje, która instrukcja i w której linii jest aktualnie wykonywana. Informacja ta znajduje się na ekranie w drugiej linii od dołu. W trybie bezpośrednim znajduje się tam numer ostatniej wykonanej instrukcji, lub po CLS, napis postaci „q534:1 „. Wynika to z pewnej niedokładności programu. Zaburzenia mogą wystąpić także podczas wpisywania linii zajmujących więcej, niż jeden wiersz. Program wykorzystuje system przerwań maskowalnych mikroprocesora. Początek procedury obsługują cej przerwania jest pod adresem 56797 (221 +256+221 =56979) i wartość 221 wpisana jest w pamięć zapełniając całą stronicę o numerze 222. Numer stronicy wpisany jest do wektora przerwań za pośrednictwem akumulatora, po czym ustawiany jest wektoryzowany tryb obsługi przerwań. Czynności te wykonuje procedura zawarta od adresu 56640. W pamięć znajduje się także procedura przełączająca tryb przerwań na normalny — jest ona umieszczona od adresu 56812.
    Z uwagi na dość dużą szybkość wykonywania programu w BASIC—u i idące za tym trudności z odczytaniem bieżącej linii, instrukcją POKE 56777,n można zmniejszyć szybkość wykonywania programu. Zmienna n może przyjmować wartości 1+255, lecz nie zalecam podawania jej jako większej od 100. Początkowo jest ona równa jeden.
    Na koniec jeszcze ciekawostka. Skąd komputer wie, która instrukcja jest właśnie wykonywana? Odczytuje to ze zmiennych systemowych PPC (23621) i SUBPPC (23623). PPC to numer wykonywanej linii programu, a SUBPPC — numer instrukcji w wierszu o numerze zawartym w PPC.
     

    Autor listingu: Marcin Przasnyski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • H&S TURBO-STOP dla C16/116/PLUS/4

    Wolna współpraca Commodore z magnetofonem spowodowała opracowanie kilkudziesięciu aż programów przyspieszających operację wczytywania i zapisu programów na taśmie.

    Dla C-16 oraz „pokrewnych” (C-116 i PLUS/4) najbardziej popularnymi programami są HEA- DER & SAVER TURBO, NOVALOAD w którym zapisywany jest bez mała każdy program firmowy oraz TURBOSAVE działający dobrze wraz z 64 KB RAM (nie wymaga każdorazowego wczytywania programu przyspieszającego przed wczytywaniem programu głównego).
    Każdy z tych programów ma swoje wady i zalety. W powyżej wymienionych najbardziej zawodnym wydaje się być HEADER SAVER TURBO (podczas wczytywania program wyświetla na ekranie szerokie
    pasy). Wymaga on bardzo dokładnego ustawienia skosu głowicy, nie sygnalizuje występujących podczas operacji wczytywania błędów oraz zakłóca działanie programów napisanych w BASIC (m.in. nie pozwala na powrót do trybu ekranowego).
    Poniżej przedstawiony program służy do wczytywania bez uruchomienia programów zapisanych w HEADER SAVER TURBO — zmienia on nieco działanie instrukcji LOAD. Zaletą tego programu jest jego długość (16 bajtów w języku wewnętrznym) oraz możliwość wielokrotnego wykorzystania.
    Po wczytaniu programu do komputera należy go uruchomić za pomocą RUN. Jego dezaktywację uzyskuje się poprzez wciśnięcie klawisza F1, natomiast ponowne uruchomienie (o ile nie został on wcześniej skasowany np. poprzez wyłączenie czy zerowanie komputera) za pomocą klawisza F4.
     

    Autor listingu: Michał Trójnara

    Listing nadesłał: Faust

    Język programu: Commodore Basic 3.5

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Regulacja głowicy w datassette

    Często się zdarza, że programy, które do  tej pory wczytywaliśmy bez problemów nagle zaczynają się „narowić” wyświetlając na ekranie nasz ulubiony komunikat LOAD ERROR. Spowodowane może to być kilkoma przyczynami, najczęściej jednak chodzi tu o rozregulowanie się głowicy odczytujaco-zapisujacej.

    W celu jej ustawienia niezbędne będzie wykonanie małego obwodu oraz wpisanie podanego poniżej programu. Głośnik może pochodzić z dowolnego miniodbiornika, reszta części jest powszechnie dostępna na rynku. Potencjometr nie musi być koniecznie stosowany.
    Połączenia należy dokonać we wtyczce do masy (A-1) oraz do linii odczytu CASSETTE READ (D-4). Na wszelki wypadek proponuję zajrzeć do instrukcji obsługi komputera gdzie zawarty jest rysunek wprowadzeń; blokada wtyczki chroniąca nas przed jej odwrotnym włożeniem jest umieszczona pomiędzy B-2 i C-3.
    Po wpisaniu programu do pamięci zapisujemy go dla bezpieczeństwa i uruchamiamy. Komputer będzie generował sygnał o zmieniającej się modulacji, który należy zapisać na dobrej kasecie i (koniecznie) sprawnym magnetofonie; z tego powodu polecałbym przeprowadzenie przynajmniej zapisu sygnału testowego ZANIM nasza głowica się odstroi.
    Po zapisaniu sygnału należy cofnąć taśmę i podłączyć przygotowany wcześniej obwód. Następnie włączamy magnetofon i małym śrubokrętem krzyżakowym (np. zegarmistrzowskim) przesuwamy głowicę o pół obrotu w prawo lub w lewo, tak, aby uzyskać jak najlepszą słyszalność tonów niskich i wysokich. Tony wysokie muszą być bardzo wyraźnie słyszalne. Następnie wczytujemy jeden z programów, który powodował wcześniej ukazywanie się komunikatu LOAD ERROR. Jeżeli komunikat ten wystąpi ponownie należy regulację powtórzyć Pamiętajmy także, że głowica i kółko prowadzące taśmę muszą być okresowo czyszczone (w żadnym wypadku spirytusem salicylowym!!!).
     

    Od redakcji:
    Główną przyczyną błędów przy wczytywaniu jest niestety brudna głowica i kółko prowadzące oraz brak należytej konserwacji tych elementów. Innym powodem może też być pozaginana taśma czy różnica w ustawieniu głowic w różnych magnetofonach — bardzo rzadko natomiast jest to wada natury elektronicznej.
    Generalnie regulowanie głowicy w celu odczytania programu z kasety kolegi można porównać z myciem nowego samochodu drucianą szczotką. W efekcie problem będzie niebawem stanowiło wczytanie naszego własnego programu do komputera — komputery jak i generalnie sprzęt elektroniczny nie znoszą niedokładności, a konia z rzędem temu, kto bez specjalistycznych przyrządów, takich jak oscyloskop, będzie w stanie po przegraniu ustawić ponownie głowicę w dokładnie takie samo położenie. Jeżeli więc sytuacia nas do tego nie zmusza NAPRAWDĘ nie regularny głowicy sami.
    (kd).

    Autor listingu: Jerzy Żukowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Disc Protector

    Najprostszym i najpewniejszym sposobem zabezpieczenia plików znajdujących się na dyskietce przed ich przypadkowym skasowaniem, jest zaklejenie nieprzezroczysta taśma wycięcia w kopercie dyskietki.

    Istnieją także rozwiązania programowe, które umożliwiają bardziej elastyczne zabezpieczanie przed skasowaniem całej zawartości dyskietki, lub tylko jej części. Metodę tę można wykorzystać w programie, który sam chroni odpowiednie pliki przed ich zniszczeniem, wskutek pomyłki lub błędnej reakcji użytkownika.
    Zamieszczony, poniżej program pokazuje jedną z realizacji tej metody. Umożliwia on zabezpieczenie (lub „odbezpieczenie”) wybranych plików. Próba ich skasowania nie przyniesie żadnego rezultatu, a w katalogu dyskietki są one wyróżnione znakiem „<”. Druga z możliwości programu to zabezpieczenie całej dyskietki. W wyniku tej operacji każda próba zapisu spowoduje wystąpienie komunikatu „73, CBM DOS V2.6 1541, t ,s”, sygnalizującego niezgodność formatu dyskietki ze standardem Próba skasowania jakiegokolwiek że znajdujących się na niej plików nie przyniesie rezultatu. Program umożliwia też „odbezpieczenie” dyskietki, czyli przywrócenie jej znacznika formatu zgodnego ze standardem.
    UWAGA: Powyżej opisany sposób nie chroni dyskietki przed jej sformatowaniem.
     

    Autor listingu: Witold Zabdyr

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Jeszcze o TURBO dla C-16

    W „BAJTKU” 5/87 ukazał się, przyjęty z wdzięcznością przez użytkowników Commodore 16 (i pokrewnych) program TURBO SAVE-LOAD. Z wielkim zapałem wziąłem się za jego wpisywanie i po usunięciu kilku błędów program był gotów do uruchomienia. Postanowiłem więc wypróbować jego działanie na jednym z własnych programów, lecz niestety okazało się. że program znajduje się dokładnie w tym samym obszarze pamięci, w którym umieściłem dane graficzne mojego programu! Po uważnym zbadaniu jego konstrukcji okazało się, że w takiej postaci jak podano w „BAJTKU” nie można go w żaden sposób przenieść w inny obszar pamięci. Oczywiście możliwe było przepisanie go w inny obszar i mozolna zmiana argumentów rozkazów, lecz z wrodzonego lenistwa nie chciałem się brać za tę „czarną robotę” — od tego są przecież komputery... Zmieniłem więc program w taki sposób, by po uzgodnieniu z użytkownikiem umieszczał TSL we wskazanym miejscu odpowiednio go modyfikując. Niemożność przeniesienia programu w inny obszar pamięci (mowa o postaci podanej w „BAJTKU” 5/87) polega na obecności takich rozkazów jak JSR, LDA czy STA i występujących po nich adresów skoku czy konkretnych komórek pamięci.
    W linii 210 program sprawdza ilość dostępnej pamięci RAM (PEEK 56) i wyświetla na ekranie możliwe lokalizacje programu w pamięci wybierane odpowiednio w linii 220. Linia 250 rezerwuje pamięć dla kodu maszynowego. W pętli zawartej w liniach 270-280 pobierane są dane z DATA, zliczane sumy kontrolne i przeliczane odpowiednio wartości 61, 62 i 63 odpowiednio dla wybranej lokalizacji; pętla ta także umieszcza program maszynowy w pamięci. W pętli w linii 310 następuje korekcja niepotrzebnie zmienionych wartości (pobierane są tu dane z linii 999). Linia 330 podaje adres początkowy programu i ułatwia jego uruchomienie.
    Warto zaznaczyć, że blok danych w liniach 350-900 jest identyczny z podanym w „BAJTKU” 5/87, tak więc Czytelnicy, którzy już go wpisali mogą wprowadzić niezbędne przeróbki znacznie prościej i szybciej.
    Informacja dla wnikliwych: po ograniczeniu dostępu edytora do pamięci ekranowej i dokonaniu niewielkich zmian w samym programie, można sam kod maszynowy umieścić poza RAM użytkownika, co pozwoli zapisywać w TURBO programy zajmujące całą pamięć.
    I jeszcze jedna uwaga. Jeśli program przeznaczony do kopiowania jest także zapisany w TSL, to po jego wprowadzeniu do pamięci musimy ponownie zainicjować TURBO za pomocą SYS i odpowiedniego adresu w zależności od wybranej lokalizacji. Dalej już normalnie tzn. SAVE „nazwa”, 7 czy ,7,1.
     

    Jak uruchamiać...

    • Załaduj taśmę do Vice C264
    • Załaduj Plik Turbo - dla oryginalnego listingu (niedziałający)
    • Załaduj Plik TurboZM - dla listingu z podniesioną numeracją (działający???)

    Autor listingu: Marek Hatko

    Listing nadesłał: Faust

    Język programu: Commodore Basic 3.5

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Podsłuch taśmy dla C-16/C-116/PLUS4

    Podany poniżej program pozwoli zaoszczędzić sporo nerwów właścicielom nieopisanych kaset magnetofonowych z programami.

    Niestety firma Commodore nie wyposaża swoich komputerów w głośniczki (choć niektóre z nich wytwarzane przez inne firmy mają już taki głośniczek wbudowany). Program ten umożliwia podsłuchiwanie taśmy odczytywanej aktualnie w DATASETTE.
    Ponieważ dźwięk jest przekazywany do gniazda AUDIO/VIDEO konieczne jest przyłączenie komputera do dowolnego wzmacniacza m.cz. lub do monitora TV z wbudowanym torem fonicznym.
    Program należy wpisać następująco:
    Po włączeniu komputera wykonujemy MONITOR i wciskamy klawisz RETURN. Następnie wpisujemy A 0609 i wpisujemy poniżej program zapisując go następnie za pomocą S „nazwa”,1,0609,0639. Po takim zapisaniu jego wczytywanie w BASIC powinno się odbywać za pomocą LOAD „nazwa”,1,1. Uruchomić program można dwojako: albo poprzez przejście do monitora i wykonanie G 0609, lub za pomocą SYS 1545 w BASIC. Zatrzymanie programu odbywa się poprzez wciśnięcie klawisza STOP. Program ten jest relokowalny i można go umieszczać w dowolnym miejscu pamięci wybranym przez użytkownika.
     

    Autor listingu: Marek Gierliński

    Listing nadesłał: Faust

    Język programu: Commodore Basic 3.5

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kubuś na Dzikim Zachodzie

    Nasz przyjaciel Kubuś, niestrudzony globtroter i poszukiwacz przygód trafił tym razem na Dziki Zachód. Wkrótce został szeryfem w pewnym miasteczku i — jakże by inaczej — czeka go pojedynek z groźnym Bilem Pixelem.

    Jest samo południe. Przeciwnicy wolnym krokiem zbliżają się do siebie. Wzrokiem oceniają odległość. Strzelać teraz, czy poczekać, aż strzał będzie pewniejszy. W rewolwerach mają po trzy pociski. Bil strzela pierwszy, na szczęście niecelnie. Kubuś robi jeszcze dwa kroki i strzela również. Udało się, trafił w pas z rewolwerami. Bezbronny Bil podnosi ręce do góry, poddaje się.

    JAK URUCHOMIĆ NA EMULATORZE

    1. Pobierz np. WinApe, uruchom...
    2. Włóż dyskietkę z rozpakowanego archiwum (File->Drive A->Insert Disc Image)
    3. Wpisz run"kubus"
    4. Gra załaduje się i uruchomi

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kubuś tańczy break dance

    Pamiętacie tańczącego Kubusia Literkę z pierwszego numeru "Bajtka" z 1986 roku? Dzisiaj wrócimy do tego pomysłu. Tym razem jednak nasz przyjaciel Kubuś będzie wykonywał znacznie bardziej skomplikowane ewolucje.

    Zapewne nie wszyscy wiecie, że Kubuś ma brata bliźniaka — Barnabę, który jest znakomitym tancerzem. Kubuś także postanowił nauczyć się tańczyć. Poprosił więc brata o udzielenie mu kilku lekcji.
    Na ekranie zobaczymy więc Barnabę i Kubusia. Gdy Barnaba wykona jakiś ruch, Kubuś będzie go musiał — najszybciej jak tylko może — powtórzyć. Oczywiście z Waszą pomocą.
     

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Firma

    Zostałeś dyrektorem nowej firmy. Masz do dyspozycji jedną fabrykę i 50 tys. dolarów kapitału zakładowego. Możesz doprowadzić swoją firmę do rozkwitu, jeśli okażesz się dobrym biznesmenem, albo też stracić pracę, gdy spowodujesz bankructwo przedsiębiorstwa.

    Gry towarzyskie takie jak „Bankrut”, „Giełda”, „Tranzyt” itp., polegające na modelowaniu mechanizmów wielkiego biznesu, cieszą się od lat powodzeniem nie tylko w naszym kraju. Z jednej strony pozwalają nam wczuć się w rolę rekinów finansjery, dysponujących milionowymi fortunami, a z drugiej, stanowią znakomite pole do wypróbowania umiejętności strategicznego myślenia.
    Autor programu „Firma” wykorzystał ten pomysł, uzupełnił o własne przemyślenia, i tak w efekcie powstała znakomita gra komputerowa.
    Gra przeznaczona jest w zasadzie dla jednej osoby, która w ciągu 24 miesięcy (oczywiście komputerowe miesiące upływają znacznie szybciej niż w życiu) ma zarobić możliwie najwięcej pieniędzy. Zarabianie pieniędzy wymaga oczywiście inwestycji Trzeba kupować półfabrykaty, które w fabrykach przerabiane są na gotowe wyroby, budować nowe fabryki, płacić za transport. Stosunkowo najmniej zachodu wymaga spekulacja na giełdzie, lecz — z drugiej strony — jest to bardzo niepewny interes.
    Można także wziąć kredyt z banku Należy jednak pamiętać, że po sześciu miesiącach, cały kredyt (wraz z odsetkami) trzeba zwrócić. Jeśli kapitał zakładowy jest niższy niż należna płatność, prowadzi to nieuchronnie do bankructwa.
     

    Autor listingu: Tomasz Nowicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • BAJTEK dla COMMODORE 64

    Trudno mi było wybrać lepsza nazwę dla tego programiku zajmującego 38 bajtów pamięci od adresu 680 do 717. Program ten może być pomocny przy wszelkich pracach związanych z operacjami na bitach takimi jak projektowanie własnej czcionki i kroju liter, znaków dla drukarki itp.

    Zadaniem głównym programu jest określenie, które bity są ustawione (włączone) i jaka jest ich wartość dla danej wartości dziesiętnej w zakresie od 0 do 255. W tym celu należy ową wartość wpisać za pomocą POKE do komórki 2 i wykonać SYS 680. Pod spodem ukaże się „czarno na białym” (czyli w rewersie), które z bitów są ustawione (wartości większe od zera), a które są wyłączone (równe 0). Z programu można korzystać zarówno w trybie ekranowym (bezpośrednim) jak też i w trybie programowym. „BAJTEK 64” zawiera w sobie także krótką demonstrację, nie powinno być więc kłopotu z jego wykorzystaniem. Poniżej przedstawiono również procedurę w języku wewnętrznym realizującą opisywaną funkcję. Gdy z jakichś powodów adres 680 ($02A8) nie będzie użytkownikowi odpowiadał, program można przenieść w dowolny obszar pamięci (jest on w pełni relokowalny). „BAJTEK 64” wykorzystuje komórki na stronie zerowej o adresach 2, 251 i 252 ($02, $FB i FC).
     

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • DOS+ dla C64

    Nagroda za cierpliwe (i bezbłędne!) wpisanie poniższego programu jest uzyskanie trzech dodatkowych rozkazów bardzo przydatnych wszystkim posiadaczom stacji dysków.

    Pierwszy z nich umożliwia wczytywanie katalogu (directory) dyskietki bez jednoczesnego kasowania zawartości pamięci RAM:
    $ — umożliwia wczytanie całego katalogu, lub
    $ „nazwa 1”, „nazwa 2”,
    co z kolei pozwala nam na wczytanie jedynie określonej grupy tytułów Np.
    * „TER*”, „??FOX
    spowoduje wczytanie wszystkich tytułów których trzy pierwsze znaki stanowią litery TER oraz te tytuły w których znaki trzeci czwarty i piąty są literami FOX Jeżeli użyjemy $ i cudzysłowu /$ „/, to wyświetlona zostanie nazwa dyskietki i ilość wolnych bloków. Wciśnięcie klawisza spacji (odstępu) spowoduje pauzę we wczytywaniu katalogu (wznowienie za pomocą RETURN); Klawisz STOP przerywa wczytywanie na stałe.
     

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Instrukcje SSHAPE I GSHAPE Dla C-128/16/116/+4

    Obie te instrukcje są instrukcjami graficznymi i odnoszą się do grafiki wysokiej rozdzielczości (HIRES). SSHAPE pozwala nam Przypisać zmiennej tekstowej dowolnie wybrany obszar ekranu graficznego natomiast GSHAPE umożliwia jego odtworzenie w określonym miejscu. Obszary o których mowa mają zawsze kształt prostokąta lub kwadratu

    Dla użytkowników takie rozwiązanie jest bardzo wygodne. Przypuśćmy, że chcemy powielić na ekranie w paru miejscach np. obraz jakiejś figury. W wersjach BASIC pozbawionych tych instrukcji trzeba by było w tym celu stworzyć odpowiedni podprogram figurę tą tworzący, a następnie zmieniając odpowiednio parametry kolejno go wywoływać co jest oczywiście powiązane z wolniejszym wykonywaniem programu i większą zajętością pamięci (...) przedstawiam mały program demonstracyjny, pokazujący w jaki sposób można korzystać z opisanych w artykule instrukcji. Linia 120 powoduje skasowanie i wyczyszczenie pamięci ekranu graficznego. Następnie (linia 125) w lewym rogu ekranu wykreślane jest małe kółko, które zostaje przypisane zmiennej A$ (linia 130). SCNCLR w linii 140 powoduje ponowne wyczyszczenie ekranu i odtworzenie uprzednio zapamiętanego pod zmienną A$ obrazu kółka. Stosując pętle otrzymujemy w rezultacie na ekranie szereg kółek.

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Commodore Basic 3.5

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • CHAR, RDOT czyli tekst i grafika

    Żalił mi sie ostatnio pewien mój znajomy, że ma kłopoty z wyświetleniem na ekranie wysokiej rozdzielczości wyników obliczeń wraz z wykresem funkcji. Oprócz tego kilku Czytelników miało również wątpliwości jak należy stosować instrukcje CHAR i funkcję RDOT w wyniku czego powstał poniższy program.

    Ponieważ ma on charakter demonstracyjny i składa się z dwóch części proponowałbym przed uruchomieniem postarać się o szklankę herbaty; druga bowiem część tego programu wykonuje się przez ok. 28 minut, ale za to otrzymujemy przepiękny trójwymiarowy wykres funkcji. Program można uruchomić na Commodore 128, 16, 116 i PLUS/4.
     

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Commodore Basic 3.5

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Generator Rytmów

    Przypuszczam, że wielu początkujących muzyków czy też muzykantów ma pewne kłopoty z utrzymaniem rytmu. Sądzę tak, ponieważ sam jestem (i zapewne już zostanę) takim właśnie muzykantem. A do tego dźwięk przedstawionej tu „elektronicznej perkusji” jest ciekawszy, bardziej inspirujący niż tupanie noga, czy suchy stukot metronomu.

    Dla zapisu rytmów dysponujemy polem o szerokości 39 kolumn i wysokości 2 wierszy. Początek pola wskazuje znak „?”. Tam też pojawia się kursor. Każdy wiersz określa rytm jednego bębenka. Górny wiersz — małego, dolny — większego. Cyfry widoczne nad polem rytmów to numery kolumn. Numery są dwucyfrowe — czytamy je z góry w dół. Poszczególne kolumny definiują kolejne elementarne jednostki czasu, w których może zabrzmieć dźwięk. Programowanie generatora polega na umieszczeniu w polu rytmów znaczków wskazujących, kiedy dany bębenek ma grać. Mogą być użyte dowolne znaki z wyjątkiem „Q”, „ ” i „I”. Spacja definiuje bowiem ciszę, pauzę czyli brak dźwięku, pionowa kreska zaś (klawisze <SHIFT> i < = >) użyta w zapisie górnego bębenka oznacza koniec cyklu, to znaczy, że jako następna będzie interpretowana kolumna nr 1. Jeśli nie użyjemy takiej kreski, to cykl będzie trwał całe 39 jednostek. Po wpisaniu rytmu naciskamy RETURN i perkusja gra. Powtórne naciśnięcie RETURN — i cisza. Można poprawić zapis, itd. Aby opuścić program należy tuż za pytajnikiem wprowadzić <Q> (quit). Zwracam uwagę, że każdy kulturalny program powinien kończyć się w kontrolowany sposób, a nie tylko przez BREAK czy też wyciągnięcie wtyczki z kontaktu.
    Kilka słów na temat programu. To mocna strona komputerów ATARI, że z ich nieprzebranego bogactwa dźwięków można korzystać tak prosto! Tu konwencjonalna pętelka cichnącego szumu w liniach 260..290 doskonale spełnia swe zadanie. Szumy są dwa: cieńszy (linia 270) i grubszy (linia 280). Głośność dźwięku w każdym momencie jest mnożona przez 0, jeśli kolejne miejsce na ekranie jest puste, zaś przez 1 w przeciwnym wypadku Wyrażenie logiczne bowiem, a takim jest np. (PEEK (EKR + I)>0), przyjmuje zgodnie z konwencją Atari BASIC-a jedną z dwu wartości: 1 (prawda) lub 0 (fałsz). Prostota i szybkość tego sposobu zasadza się na bezpośrednim spoglądaniu w pamięć ekranu. Zmienna CS ma tu znaczenie uboczne, a sama instrukcja INPUT służy tylko do zatrzymania programu, gdy trzeba dokonać zmian. Przed podjęciem nowego rytmu bada w liniach 210..230, czy wprowadzono ograniczenie długości cyklu i stosownie do tego ustala N.
    Wyjaśnienie niektórych PEEK'ów i POKE'ów. Komórka 82 (linie 100 i 300) ustala lewy margines ekranu. W komórkach 88 i 89 (linia 130) znajduje się dwubajtowy adres pamięci ekranu. Zmienna EKR będzie więc wskazywać na nasze pole rytmów Pod adresem 752 można (w linii 180) zgodzić się, by kursor przebywał na ekranie, lub (w następnej) zabronić mu tego. W komórce 764 (linie 170, 240) jest kod ostatnio naciśniętego klawisza, lub — gdy niczego się nie naciska — liczba 255.

    Autor listingu: Janusz B.Wiśniewski

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Test

    Rozpoczął się rok szkolny, a więc trzeba się zabrać do nauki. Komputer co prawda nie napisze za nas klasówki, ale może nam pomóc. Ot choćby odpytując nas z lekcji, które musimy opanować w sposób pamięciowy

    Nauczenie się na pamięć dużej liczby stów, nazw czy dat, nie należy do zadań łatwych. Właściwie nie bardzo wiadomo jak się do tego zabrać. Można powtarzać bez końca „wkuwane” wyrazy, można wypisywać ja na kartkach i wieszać na wszystkich ścianach pokoju... Najlepsze rezultaty daje jednak praca z drugą osobą, która odpytuje ucznia na wyrywki i poprawia jego błędy, aż do skutku. Kto jednak znajdzie tyle czasu i cierpliwości? Otóż jest taki „ktoś” — Twój własny komputer. Nie znudzi się, nie zirytuje, dokładnie zapamięta co już umiesz, a czego jeszcze nie.
    Nasz program spowoduje, że komputer będzie sprawdzał Twoją wiedzę do skutku, to jest do czasu, aż opanujesz materiał, a konkretnie, aż odpowiesz prawidłowo na określoną liczbę pytań. Jeśli się nie pomylisz, wystarczą trzy prawidłowe odpowiedzi na każde pytanie, za każdą pomyłkę komputer dolicza Ci po jednej odpowiedzi (oczywiście na to pytanie, na które odpowiedziałeś błędnie). Za każdym razem, w przypadku pomyłki, komputer informuje Cię, jak powinna brzmieć prawidłowa odpowiedź. Jeśli już udzielisz wymaganej liczby prawidłowych odpowiedzi na każde pytanie, komputer uznaje, że Twoja edukacja jest zakończona i wyświetla komunikat: „MATERIAŁ OPANOWANY”. Dobrze jest jednak wrócić do tego programu następnego dnia, a potem jeszcze za kilka dni, i za tydzień... Kilkakrotne powtórzenie — w pewnych odstępach — takiego ćwiczenia spowoduje, że zapamiętany materiał nie wyfrunie szybko z głowy.
    Program, w wersji tu przedstawionej służy do nauki geografii, a konkretnie do nauki nazw stolic, krajów Europy (nie ma tu wszystkich krajów europejskich, gdyż jest to program „dla przedszkolaków”). Może on oczywiście być pomocny także podczas uczenia się innych przedmiotów, np. w ten sposób możemy zapamiętywać daty wydarzeń historycznych, uczyć się tablicy Mendelejewa, „wkuwać” słówka z obcych języków, liczby mieszkańców i powierzchnie krajów itd.

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Commodore Basic V2

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Hardcopy

    Opisany poniżej program służy do przenoszenia obrazu wysokiej rozdzielczości z ekranu monitora na drukarkę. Po wpisaniu i uprzednim zapisaniu na taśmie bądź dyskietce uruchamiamy program za pomocą RUN. Kopiowanie uruchamia się za pomocą instrukcji SYS 818, X, gdzie X jest numerem zbioru przydzielonego drukarce. Operacja ta powinna być wykonana na drukarkach MPS 801/802/ 803 i trwa ok. 3 minut (w wypadku MPS 803).

    Autor listingu: Marcin Wojciechowski

    Listing nadesłał: Faust

    Język programu: Commodore Basic V3.5

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Kasjer

    Michał Czupryński z Brodnicy przysłał do naszej redakcji kilka różnych programów własnego pomysłu. Oto jeden z nich. Służy on do obliczania liczby banknotów i monet, które składają się na podaną sumę.

    Program działa najzupełniej poprawnie, a jednak warto się zastanowić, czy nie dałoby się zapisać go w nieco krótszej formie i w sposób bardziej elegancki.

    Autor listingu: Michał Czupryński

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Klawisze Funkcyjne

    Przedstawiony program umożliwia wykorzystanie klawiszy funkcyjnych komputera ATARI do wypisywania najczęściej używanych słów kluczowych BASIC-a.

    Wykorzystuje on wektor przerwania VBLK mającego miejsce w czasie wygaszania promienia elektronów pod czas jego przemieszczania do pierwszej linii obrazu. Hasła RUN, LIST, CONT uzyskujemy poprzez wciśnięcie klawiszy START, SELECT lub OPTION. Pozostałe trzy hasła otrzymuje się przez poprzedzenie tej czynności naciśnięciem klawisza HELP. Program nie koliduje z wykorzystaniem konsoli przez programy napisane w BASIC-u — jest blokowany w czasie ich wykonywania.
    Opisany program może wypisywać na ekranie dowolny tekst zapisany w liniach poprzedzonych komentarzem „DANE DLA TEKSTU”. Pierwsza liczba jest zawartością komórki 53279 w momencie wciśnięcia wybranego klawi sza. Jeśli wykorzystujemy również klawisz HELP — do liczby tej należy dodać 17. Można również wykorzystać zmianę zawartości komórki 53279 przy równoczesnym wciśnięciu kilku klawiszy konsoli, jest to jednak niewygodne w użyciu. Pozostałe liczby to wartości liczbowe pisane go tekstu w kodzie ASCII. Po wprowadzeniu zmian w liniach „DATA” należy zmodyfikować również wartość sumy kontrolnej (zmienna SUM) oraz odpowiednio zmienić długość pętli czytających dane. Należy pamiętać, że cały program nie może mieć więcej niż 256 bajtów (jedna strona pamięci).
    Po przepisaniu programu należy przygotować magnetofon do zapisu i uruchomić program poprzez RUN. Jeśli był poprawnie przepisany, to zostanie zapisany na taśmie w formie BOOT przeznaczonej do ładowania poprzez wciśnięcie klawisza START w momencie włączenia komputera.
     

    Autor listingu: Tomasz Bigaj

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Słowniczek

    W jednym z ostatnich numerów „BAJTKA” opublikowaliśmy artykuł pt. „Słownik dowolnego języka” dla Commodore 64. Programy tego typu cieszą się zasłużonym powodzeniem, gdyż pozwalają na wykorzystanie komputera jako uniwersalnego narzędzia do nauczania. Poniżej zamieszczam następny program tego typu, tym razem dla posiadaczy Commodore 128 i stacji dysków. Jeżeli program ten spodoba się Wam, podam jego wersję dla innych komputerów Commodore.
    „Słowniczek” ma pewną zasadniczą przewagę nad innymi programami tego typu — pracuje mianowicie z polskimi znakami i po prostych przeróbkach można go przystosować nawet do zapisywania pisma klinowego. W naszej wersji przystosowany jest do języka angielskiego, a ponieważ w języku tym nie występują litery „nietypowe” tak jak w niemieckim czy francuskim, zdefiniowałem jedynie polskie znaki. Nic jednak nie stoi na przeszkodzie, aby takie litery ułożyć samemu.
    Program składa się z dwóch części.

    Wymagane wyposażenie:
    Commodore 128
    stacja dysków 1541/1570/1571/1572

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Wilk, Koza i Kapusta

    Pewien przewoźnik stanął przed bardzo trudnym zadaniem. Ma przeprawić na drugi brzeg rzeki kłopotliwy ładunek — wilka, kozę i kapustę. Trudność polega na tym, że nie można pozostawić bez opieki wilka z kozą ani też kozy z kapustą, gdyż w pierwszym przypadku wilk pożre kozę, a w drugim, koza dobierze się do kapusty. Łódź przewoźnika jest tak mała, że może — prócz niego samego — pomieścić tylko jedną rzecz. Jak więc rozwiązać ten problem?
    Pomysł tego klasycznego i starego jak świat zadania logicznego można wykorzystać do napisania gry komputerowej. Ponieważ zasadę juz znamy, możemy przystąpić do pisania programu. Rozpoczniemy od tego, jak wyobrażamy sobie jego działanie na zewnątrz, to znaczy, co będzie widział grający. Popatrzmy na rysunek ekranu. Pionowo przez jego środek płynie rzeka. Po lewej i prawej stronie znajdują się „pasażerowie” (na początku gry wszyscy są na lewym brzegu rzeki!, łódka — w zależności od sytuacji — może być przycumowana do prawego, bądź lewego brzegu. Poniżej znajduje się „menu”, czyli zestaw możliwych ruchów, które wybieramy naciskając klawisz z cyfrą odpowiadającą „pasażerowi”
     

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • SpeedTrans

    Przedstawiony program jest procedura zapisana w języku maszynowym służąca do przemieszczania danych w pamięci komputera.
    Istotna cecha programu to możliwość składowania zbiorów bajtów w obszarze wyłączonym z użycia przez ROM z interpreterem BASIC-a i systemem operacyjnym, a więc możliwość przechowywana danych w obszarach 40960-53247,
    55296—66529 (ostatnie sześć bajtów pamięć 65530—65535 jest zajęte przez wektory przerwań RESET). Procedurę wywołuje się przy użyciu następującej instrukcji:
    X = USR(1536,APD,APZ,IL), gdzie:
    APD - adres początku danych do przesłania,
    APZ - adres   początku    obszaru   zapisywania danych,
    IL - ilość bajtów do przesłania.
    Procedura SPEED TRANS może być wykorzystywana do różnych celów np. przechowywania kilku ekranów graficznych, składowanie informacji w bazach danych itd. W przypadku podania złej ilości parametrów lub wciśnięcia klawisza RESET podczas przesyłania bloku bajtów następuje powrót do BASIC-a. Z uwagi na możliwość działania w całej przestrzeni adresowej procedury tej należy używać rozważnie. Przesłanie przypadkowych danych do obszaru zmiennych systemowych lub do portów wejścia/wyjścia może spowodować zawieszenie pracy komputera. Procedura jest relokowalna, jej umieszczenie na szóstej stronie pamięci podytkowane było względami bezpieczeństwa. Jeśli po wpisaniu kodu do pamięci użyjemy POKE 1538,253, to podczas pracy program nie będzie odłączał pamięci ROM; POKE 1538.254 powoduje powrót do normalnego działania.
     

    Autor listingu: Marek Drążkiewicz

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Częstosciomierz

    Program przeznaczony na ZX Spectrum tworzy dwuzakresowy częstościomierz mierzący w zakresie od 0-t-15 kHz i od 5^-50 kHz. Dokładność pomiaru w zakresie niższym jest równa ± 0,5 Hz tak, że ostatnia wyświetlana cyfra jest prawdziwa (1 Hz). Częstościomierz do pracy nie wymaga dodatkowych układów, wystarczy wpisać i uruchomić program. Po podaniu mierzonego sygnału na wejście EAR lub MIC na ekranie pojawi się wartość częstotliwości w Hz lub kHz. Dokładny częstościomierz w zakresie akustycznym jest przydatny do rozmaitych prac np.: kalibrowania generatorów akustycznych, strojenie filtrów, badanie pasma częstotliwościowego układów akustycznych itp.
    SPOSÓB URUCHAMIANIA
    Przed przystąpieniem do wpisania programu warto wprowadzić POKE 23609,40 (BEEP KLAWIATURY), co pomaga uniknąć pomyłek. Po wpisaniu programu wg listingu należy go uruchomić rozkazem RUN. Na ekranie pojawia się napis „CZEKAJ” i komputer sprawdza poprawność wprowadzania wartości w instrukcjach DATA. Jeżeli po chwili pojawi się napis ERROR należy skontrolować zawartość DATA. Gdy program jest wprowadzony bezbłędnie komputer zaczyna mierzyć częstotliwość i na ekranie pojawia się płyta czołowa naszego „przyrządu”.
    Opcja trzecia służy do kalibracji częstościomierza w przypadku gdyby jego własny generator miał odchylenia od częstotliwości wzorcowej. Wprowadzenie nowej wartości współczynnika powoduje „dostrojenie” wskazań częstościomierza do właściwej wartości.
    Prawidłowy pomiar ma miejsce, gdy kolejne następujące po sobie odczyty, są stabilne tzn. nie różnią się. Częstotliwość mierzona powinna być czystym tonem o dowolnym kształcie, jednak najkorzystniejsze są przebiegi symetryczne tzn.: sinus, trójkąt, prostokąt.
    Program „CZĘSTOŚCIOMIERZ” dedykuję przede wszystkim radioamatorom, dla których może on być wzbogaceniem pracowni o dokładny przyrząd pomiarowy za cenę ręcznego wprowadzenia programu do pamięci komputera.
     

    Autor listingu: Krzysztof Kuc

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Wglądownica

    Przedstawiony program służy do wglądania w pamięć komputera ATARI. Dzięki szybkości, z jaką działa, odzwierciedla na ekranie bieżący stan pamięci, a więc także wszystkie zmiany. Nareszcie możemy podejrzeć nerwowa pracę stosu (strona 1). na którym procedury obsługi przerwań mrowia się w nieustannej pracy, działalność zegarów POKEY'a (strona D2), czy sposób, w jaki PIA (strona D3) obsługuje drążki sterowe..

    Autor listingu: Janusz B.Wiśniewski

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Drukarka?

    Pisząc program przeznaczony dlaz wykłych ludzi a nie dla informatyków, chcielibyśmy by był on odporny na nieumiejętną obsługę. Powinniśmy więc starać się, aby wszystkie błędy sygnalizowane były w odpowiedni sposób przez program, a nie przez interpreter BASIC-a. Nietrudno wyobrazić sobie reakcję laika na komunikat „Improper argument" lub „Syntax error". Dobry program wypisze w takim wypadku dokładne objaśnienie błędu umożliwiając jednocześnie powtórzenie źle wprowadzonego polecenia.

    Autor listingu: Sergiusz Wolicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Z zakurzonej dyskietki

    Po generalnych porządkach, jakie ostatnio przeprowadziłem w swojej programotece stwierdziłem, że jestem posiadaczem co najmniej kilkudziesięciu programów, które może tak niebłyszczą jak „FAST HACK'EM" czy „PRINT MASTER", ale są za to bardzo przydatne każdemu programiście czy operatorowi.

    W poniższym artykule chciałbym opisać dwa z nich: FUNKTIONSTATEN autorstwa Otmara Basana (program był publikowany w czasopiśmie „COMPUTER PERSOENLICH"nr 4/84) oraz program anonimowy demonstrujący w jaki sposób w programach w BASIC należy odczytywać katalog dyskietki (directory).

    Drugi program może być z powodzeniem użyty przez tych wszystkich, którzy opracowują swoje własne programy narzędziowe do współpracy ze stacją dysków. Umożliwia on odczytywanie katalogu dyskietki wraz ze zbiorami, które wcześniej były skasowane za pomocą OPEN 15,8,15, „S0:nazwa":CLOSE15. Tytuły tych programów wyświetlane są w rewersie. Może on być wykorzystany jako podprogram i ma w zasadzie charakter demonstracyjny — pokazuje bowiem w jaki sposób pisać samemu podobne programy oparte na tzw. rozkazach bezpośrednich stacji Commodore.
     

    Z Zakurzonej Dyskietki Prog 2 (Klaudiusz Dybowski, Bajtek 6/1987)

    Autor listingu: Klaudiusz Dybowski

    Listing nadesłał: Faust

    Język programu: Feniks

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Commodore i drukarka

    Jak podłączyć drukarkę do COMMODORE? Nie chodzi tu oczywiście o drukarki z interface'm szeregowym CBM SERIAL BUS. Użytkowników krajowych najbardziej interesuje możliwość współpracy komputera z drukarkami rodzimej produkcji, np. D-100 i DZM-180 z interface'ami równoległymi CENTRONIX i LOGABAX. Z problemem tym stykają się również nabywcy zagranicznych drukarek.
     

    Autor listingu: Paweł Piwowar

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Ósemka - Tylko dla Przedszkolaków

    Ta gra wymaga zręczności, precyzji i pełnej koncentracji. Rzucamy kulą w kierunku planszy, kula powinna zatrzymać się na polu oznaczonym jak największą liczbą. Dwa pierwsze pola mają wartość 1, trzy następne — 2, kolejne dwa— 4 i wreszcie ostatnie — 8. Umieścić kulę w jednym z pierwszych pól nie jest trudno, gorzej, gdy celujemy w „ósemkę", bo gdy kula potoczy się choć o jedno pole dalej wylatuje poza planszę.
     

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Wilhelm Tell

    Łukasz Knasiecki z Koszalina ma 12 lat i chodzi do VI klasy. Na konkurs „Mikrusek" przystał grę pod tytułem „Wilhelm Tell" napisaną na mikrokomputerze ATARI 800XL. Na ekranie ukazuje się postać strzelca z kuszą i chłopca z jabłkiem na głowie. Należy — przy pomocy drążka sterowego — ustawić strzelca w odpowiedniej pozycji i nacisnąć przycisk FIRE. Strzała powinna trafić w jabłko.
    Łukasz napisał nam, że jego program posiada zdefiniowane znaki graficzne, z których składają się postacie. Wersja przysłana do „Bajtka" wykorzystuje standardowe znaki komputera, gdyż definiowanie znaków zdecydowanie wydłuża program. Nic jednak nie stoi na przeszkodzie, by nasi czytelnicy zrobili to sami.

    Autor listingu: Łukasz Knasicki

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Pogaduszki -

    Robert Witt z Gdańska przysłał do rubryki "Sam programuję" program dydaktyczny "Pogaduszka". Robert wykorzystał elementy "Rozmówki" publikowanej w jednym z zeszłorocznych numerów "Bajtka", uzupełnił własnymi pomysłami i w efekcie powstała bardzo ciekawa i kształcąca zabawa. Program został napisany na mikrokomputerze Amstrad

    Autor listingu: Robert Witt

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Waga - tylko dla przedszkolaków

    Macie młodsze rodzeństwo? Jeśli nawet nie macie, to pewnie znajdziecie wśród swoich kolegów takich, którzy rozpoczynają naukę liczenia. Właśnie dla nich przeznaczony jest ten program..

    Czytaliście zapewne wiele razy — nie tylko w "Bajtku" — o programach dydaktycznych. Bywają one bardzo rozmaite, ale mają jedną wspólną cechę — korzystając z nich, czegoś się uczymy. A jeśli w dodatku program jest zabawny, to tym lepiej. Nasz program będzie służył do ćwiczenia się w umiejętności liczenia, konkretnie odejmowania na poziomie przedszkolaków (tych prawdziwych, a nie komputerowych). Myślę, że jest on nawet trochę zabawny.
    Czy można zważyć liczbę? Chyba raczej nie bardzo, bo czy ktoś miał w ręce np. siódemkę albo dziewiątkę... Jak więc takie coś położyć na wadze? Pofantazjujmy: jeśli by się jednak dało ważyć liczby, to dziewiątka powinna być cięższa od siódemki, a dwie dwójki powinny mieć ciężar jednej czwórki. Jeśli od ósemki odejmiemy piątkę to różnica powinna mieć wagę trójki. Śmieszne ale... logiczne. Prawda?

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Edytor Znaków Graficznych

    Prezentowany program umożliwia szybkie zaprojektowanie zestawu 96 znaków o kodach ASCII 32 do 127 i znaków graficznych użytkownika.
    Po uruchomieniu programu przez RUN należy odczekać chwilę, aż w odpowiednim obszarze RAM umieszczone zostaną procedury maszynowe. Następnie pojawi się pytanie czy wczytać dane z taśmy magnetofonowej, a później plansza prezentująca poprawiany zestaw znaków i ich odpowiedniki w kodzie ASCII, menu oraz edytowany znak w wielkości naturalnej i powiększony 8 razy. W programie możliwa jest realizacja kilkunastu funkcji wybieranych naciśnięciem odpowiedniego klawisza.
     

    Autor listingu: Janusz Jamroch

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Zmieniacz napisów BFCH 2.0

    Prawie wszystkie programy dostępne dla mikrokomputerów pochodzą z zagranicy. Z tego powodu wszystkie napisy w takich programach są obcojęzyczne. Oczywiście każdy, kto choć raz miał do czynienia z komputerem, wie co znaczy SCORE. Ale dlaczego nie miałoby być napisane WYNIK.
    Poniższy program umożliwia skopiowanie programu z kasety lub dyskietki, wymianę napisów i ponowne zapisanie na kasecie lub dyskietce.
    Działanie programu jest bardzo proste. Na początku należy podać nazwę zbioru źródłowego i docelowego (dla magnetofonu C, dla stacji dysków D:NAZWA). Program nasz najpierw odczytuje kopiowany program traktując go jako ciąg znaków. Następnie żąda podania tekstu, który ma być usunięty, i tekstu, który ma być wstawiony na jego miejsce. Muszą one być tej samej długości

    Autor listingu: Wojciech Zientara

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Płynący napis

    Czytelnicy "IKS-a", będący posiadaczami mikrokomputera Atari, zauważyli zapewne w numerze 2/87 tego czasopisma program "Komputerowy teleexpress".
    Realizuje on uatrakcyjnienie posiadanych wcześniej programów przez dołączenie do nich strony tytułowej, czy też winiety. Ci Czytelnicy, którzy "wpalcowali" go na swoje Atari, stwierdzili z pewnością ograniczenia w wykorzystaniu tego programu, wynikające stąd, że został on napisany całkowicie w BASIC-u. Wyświetlany na ekranie tekst przeskakuje po literze, a nie jest płynnie przewijany. Ponadto w czasie, gdy program jest wykonywany, komputer nie może realizować innych działań, co jest istotnym mankamentem.
    Program, którego wydruk znajduje się obok, jest pozbawiony tych dwóch niedoskonałości. Pracuje on w kodzie maszynowym 6502 wykorzystując dostępne na Atari przerwania. Prawdziwie płynny przesuw tekstu jest możliwy do osiągnięcia dzięki sprzętowemu wspomaganiu przewijania obrazu.
     

    Autor listingu: Andrzej Błazik

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Elektron w studni

    Jak poznać problemy mechaniki kwantowej, mechanizm absorpcji i emisji światła, linie widmowe, strukturę energetyczno-przestrzenną atomu wodoru, nie zasypiając nad podręcznikiem fizyki? Wystarczy uważnie wpisać do komputera poniższy program.

    Autor listingu: Michał Małachowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Wisielec Mikrusek

    Kto z nas nie grał w "wisielca" (niektórzy pewnie nawet na lekcjach — bardzo nieładnie!). A może jednak ktoś nie grał? Na wszelki wypadek wyjaśniam zasady. Jedna osoba wymyśla wyraz, druga stara się go odgadnąć podając kolejno litery. Każdy błąd to kolejny element... szubienicy. Brr, okropność!
    Joanna Marciniak z Warszawy (lat 11) przysłała na nasz Konkurs komputerową wersję tej gry na ZX Spectrum. Jest to gra dla dwóch osób; jedna wprowadza wyraz, druga zgaduje. Wydaje mi się, że warto uzupełnić ten program o możliwość gry z komputerem. Trzeba bylko wprowadzić pewną liczbę słów, z których byłby losowany szukany wyraz. Spróbujcie zrobić to sami.

    Autor listingu: Joanna Marciniak

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Fotografia

    Użytkownikom komputerów SPECTRUM, którzy przeważnie nie posiadają kamer cyfrowych lub optycznych czytników proponujemy program. który umożliwia przetwarzanie zdjęć. Oczywiście rolę czytnika w tym wypadku przejmuje człowiek. Wybrane zdjęcie powinno być jak największe i zawierać mało drobnych szczegółów. Najlepiej jeśli jest to zdjęcie czarno-białe. Należy je podzielić na kwadraty (program przyjmuje zdjęcia o szerokości do 64 i wysokości do 42 kwadratów.

    Analizując zdjęcie należy decydować jaki stopień szarości (cień) przyznać kolejnym kwadratom. Program pozwala na użycie 7 cieni (od czarnego do białego).

    Rysowanie poszczególnych kwadratów na ekranie odbywa się na zasadzie wyświetlania znaków graficznych (ang. UDG). Jeden kwadrat stanowi matrycę o wymiarze 4x4 punkty. Liczba i rozłożenie zapalonych punktów w tej matrycy decyduje o odcieniu danego kwadratu. Po uruchomieniu programu, na ekranie wyświetlane jest menu z szeregiem opcji.

    Autor listingu: Michał Szuniewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Tenis - Mikrusek

    Program Szymona Herera (lat 11) z Warszawy. Program wzorowany jest na jeszcze niedawno bardzo popularnych grach telewizyjnych i polega na odbijaniu piłki od ścianki Pomysł nie jest więc nowy, ale realizacja bardzo ciekawa. Gratuluję!

    Autor listingu: Szymon Herera

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Użyteczny Hazard

    Grę w orła i reszkę odnaleźć można bez trudu w symulacjach metodami Monte Carlo, czy też w wielu problemach fizyki statystycznej, w tym np. fizyki statystycznej magnetyków. Krótko mówiąc: wszędzie tam, gdzie mamy do czynienia z tzw. schematem do świadczeń Bernoulliego.
    Aby lepiej zrozumieć, na czym polega ta konstrukcja, uruchom program, którego listing przedstawiono na rys. 1. Po wprowadzeniu np. cyfry 0 komputer rozpoczyna wyświetlanie strzałek, przy czym prawdopodobieństwo elementarne tego, że pojedyncza strzałka jest skierowana do góry wynosi p. Inaczej mówiąc, aby narysować pojedynczą strzałkę komputer losuje najpierw liczbę pseudolosowg RND z przedziału 0,1. Jeżeli liczba ta jest mniejsza od p, wówczas komputer rysuje strzałkę skierowaną do góry (ewentualnie żeton czarny), w przeciwnym razie strzałkę skierowaną w doł ekranu (ewentualnie żeton biały).

    Autor listingu: dr hab. Ryszard Kutner

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Autonumber 64

    Wprowadzanie dłuższych programów w BASIC-u można sobie ułatwić i jednocześnie przyspieszyć stosując automatyczne numerowanie linii. Niestety Commodore 64 nie daje nam bezpośrednio takiej możliwości i dlatego też proponuję program AUTONUMBER, który pozwoli nam zrealizować tą przydatną funkcję.
    Po wczytaniu oraz uruchomieniu programu wpisać:

    X i wcisnąć RETURN.

    X oznacza tu liczbę z przedziału 1-255 równą krokowi numeracji. Po wykonaniu tej operacji wpisujemy normalnie kolejne linie programu z tym, że ich numery będą pojawiać się na ekranie automatycznie. Jeżeli nie określimy kroku (wpisanie samej strzałki) to będzie on przyjęty jako równy 10.
    Po wyzerowaniu komputera (SYS 64738 lub kombinacją STOP i RESTORE) program można ponownie wywołać za pomocą SYS 53111. Wciśnięcie klawisza RETURN przv wyświetlonym kolejnym numerze linii powoduje wyjście z programu.

     

    Autor listingu: Fulgenciusz Głowiński na pd. „DIE NEUE DATA WELT" 1/85

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kopiowanie ekranu na drukarce

    Opisany poniżej program przeznaczony jest dla Commodore 64 lub 128 (w trybie C-64) oraz drukarek MPS 801, 802, 803 (nr urządzenia 4), a także dla plottera 1520 (nr urządzenia 6) i pozwala na natychmiastowy wydruk zawartości ekranu co może być bardzo pomocne podczas sporządzania programów, dokumentacji, listingów itp.
    Program uruchamia się za pomocą SYS 49152 (także po wyzerowaniu komputera np. przez SYS 64738). Sterowanie odbywa się za pomocą klawiszy funkcyjnych F1, F3, F5 i F7. Dwa pierwsze umożliwiają zmianę koloru ramki i tła; F5 powoduje wydruk za wartości ekranu, a klawisz F7 zatrzymuje program (można też wcisnąć jednocześnie STOP i RESTORE). Ponieważ program wykorzystuje wewnętrzny system przerwań komputera, możliwe jest drukowanie za wartości ekranu w dowolnym momencie; także kursor porusza się szybciej niż zwykle.
    Użycie klawisza F5 bez włączonej drukarki spowoduje zablokowanie komputera, a więc także programu głównego. Z tego powodu zaleca się sprawdzenie gotowości do pracy samej drukarki przed przystąpieniem do drukowania zawartości ekranu

    Autor listingu: Jerzy Żukowski na pd. MICRODOR

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Turbo16

    TURBO 16 pozwala na przyspieszone wczytywanie programu zwykłą instrukcją LOAD. Program przeznaczony do przyspieszonego ładowania musi być jednak uprzednio odpowiednio zapisany. Służy do tego poniższy program. Po wpisaniu należy go zapisać na osobnej kasecie. Następnie program uruchamiamy, i jeśli ukaże się napis „O.K.", oznacza to, że dysponujemy poprawnym programem.

    Gdy szczęśliwie przebrniemy przez uruchomienie, należy załadować program przeznaczony do późniejszego przy spieszonego ładowania i zapisać go rozkazem SAVE "NAZWA", 7. Jeśli chcemy by program sam się uruchamiał, piszemy SAVE"NAZWA",7,1. Raz za ładowane TURBO działa poprawnie do momentu wyłączenia komputera lub załadowania innego pro gramu, mogącego zakłócić jego działanie (np. gry napisanej w języku maszynowym).

     Wzbogacenie programu - listing zawiera korektę opublikowaną w Bajtku 10/1987.

    Autor listingu: MS

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    5
    Listing wzbogacony - uruchamia się na emulatorze lub realnej maszynie, przepisujący listing wzbogacił go o swoje rozwiązania
  • Kubuś Ratuje Królewnę

    Pamiętacie przygody Kubusia w Tajemniczym Zamku z numeru 8/86 „Bajtka"? Jeden z moich przyjaciół - przedszkolaków powiedział mi wtedy: „to fajna gra, ale można w nią grać tylko raz: potem już zawsze wiadomo co robić". To prawda, w tym przypadku chyba większą frajdą było wymyślanie i pisanie programu (świadczy o tym cała masa listów z podobnym grami) niż sama zabawa. Nasz dzisiejszy program będzie — mam nadzieję — ciekawszy dla grającego.
    Wyspa Smoka w naszym programie to coś w rodzaiu wielkiej szachownicy o wymiarach 40x40 kratek. Po niektórych polach Kubuś może poruszać się swobodnie, na inne, z kolei nie może we|ść — to np. skały, mury. Komputer przestawia (w sposób dla nas niewidoczny) postacie na tej szachownicy i sprawdza ich wzajemne położenie.

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kasetowy System Operacyjny

    Wady standardowych procedur obsługi magnetofonu kasetowego komputerów ATARI XL/XE sa dość kłopotliwe. Przypomnę tylko kilka z nich:
    1. Nie można nadawać nazw zbiorom zapisanym na taśmie.
    2. W trybie z długimi przerwami między rekordowymi taśma jest słabo wykorzystana — czas trwania przerw jest porównywalny z cza sem trwania rekordów
    3. Przy odczycie należy ustawić taśmę dokładnie na początek pliku, w przeciwnym razie wystąpi błąd transmisji.
    4. Po wykonaniu instrukcji OPEN przy zapisie niezależnie od rodzaju przerw taśma jest zapisywana tonem synchronizującym aż do emisji pierwszego bloku.
    5. Mała szybkość transmisji.
    Opracowany przeze mnie program eliminuje pierwsze cztery wady. Ponadto znacznie wzrasta szybkość transmisji w trybie z długimi przerwami (do dwóch razy). Użytkownik może samodzielnie regulować prędkość transmisji, która określana jest przez wartości wpisane do komórek 69 i 70. Prędkość transmisji określona jest wzorem
    V=895000((PEEK(69)+256xPEEK(70)) [bit/sek] (bez uwzględnienia wpływu przerw).

    Wartość tę można zmieniać, lecz naciśnięcie klawisza RESET spowoduje przywrócenie standardowej prędkości (około 700 bodów — standardowo 600 bodów).
    Zwiększenie efektywnej prędkości transmisji osiągnięto przez wprowadzenie rekordów zawierających 1024 bajty zamiast 128 jak dotychczas, co zmniejszyło wpływ przerw.
    K.S.O. może współpracować z językami ATARI BASIC, TURBO BASIC XL, ASSEMBLER-EDITOR

    Autor listingu: Wojciech Zabołotny

    Listing nadesłał: Dely

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Projektor Filmowy

    Od pewnego czasu interesowała mnie możliwość realizacji filmów animowanych na komputerze tak prostym, jak Spectrum. Niniejszy pro-gram jest efektem tych poszukiwań. W poszukiwaniu rozwiązania zabrałem się do obliczeń. Ile obrazów możemy pomieścić w 48 KB RAM? To proste: pamięć obrazu zajmuje 6912 bajtów; BASIC daje użytkownikowi nieco ponad 40 KB. Daje to w sumie 6 „ekranów" plus jeden w swoim zwykłym miejscu — pod adresem 16384. Razem siedem kadrów filmu, z których każdy zajmuje cały ekran. Gdybyśmy jednak wykorzystywali jako klatkę filmu tylko część ekranu ...Pytanie, jak ową część ekranu wybrać staje się proste po przyjrzeniu się strukturze odwzorowania obrazu w pamięci. Mianowicie z 6912 bajtów równo 6 KB zajmuje rysunek, reszta — to kolor atrybuty obrazu. Z kolei pamięć rysunku podzielona jest na 3 sektory po 2 KB. Widać je wyraźnie podczas wczytywania obrazków z magnetofonu. Zrezygnowałem z koloru i odrzuciłem dwa sektory ekranu, zamierzając w charakterze klatki filmu wykorzystać tylko środkowy. W ten sposób da się pomieścić 16 kadrów w 32 KB, przy czym pozostaje jeszcze dość miejsca na ewentualną rozbudowę programu oraz swoboda w wykorzystywaniu ekranu poza „projekcją". 16 kadrów umieściłem w górnych 32 KB pamięci, nazywając je kolejnymi literami alfabetu (a..p). Zadanie przepisania zawartości kadru na ekran pełni krótka procedura w języku maszynowym. Zainteresowanych jej działaniem odsyłam do artykułu „jak schować obrazek" z „Bajtka" nr 8/86. Kodu maszynowego użyłem oczywiście przez konieczność maksymalnego przyspieszenia działania procedury. Funkcje programu wywoływane są przy pomocy menu ukazującego się w dwóch dolnych liniach ekranu.

    Autor listingu: Marcin Waligórski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Mikrusek - Kolędy, Słowa

    Prezentujemy propozycje Grzegorza Rowińskiego (lat 11) z Warszawy.
    Grzegorz przysłał dwa programy napisane na mikrokomputerze Amstrad. Pierwszy z nich (po prawej) jest programem muzycznym i daje nam możliwość wysłuchania czterech kolęd. Nie byłoby w tym pewnie nic ciekawego — program wykorzystuje zaledwie ułamek możliwości muzycznych Amstrada — gdyby nie fakt, że Grzegorz bardzo sprytnie wykorzystał linie DATA z podobnego programu na Spectrum.
    Programowanie dźwięku w Spectrum i Amstra-dzie odbywa się na całkowicie różnych zasadach. Okazuje się jednak, że komputer w rękach sprytnego programisty może sobie poradzić także z takim kłopotem. Tajemnica tkwi w liniach 70 i 80, w których następuje tłumaczenie muzycznego zapisu Spectrum na zrozumiały dla Amstrada.
    Drugi program Grzegorza (poniżej) służy do sortowania — układania w kolejności alfabetycznej dowolnych słów. Co prawda przyjęty algorytm sortowania wymaga wykonania dużej liczby operacji i skutkiem tego, sortowanie większych zbiorów trwa dość długo. Niemniej jednak program działa poprawnie i może być przydatny chociażby ze względu na swą prostotę. Przede wszystkim zaś jest to program napisany samodzielnie.

    Bajtek 3/1987 - Słowa (Grzegorz Rowiński, 1986)
    Bajtek 3/1987 Koleda - Mikrusek (Grzegorz Rowiński, 1986)

    Autor listingu: Grzegorz Rowiński

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Bzzz

    Program „BZZZ” jest wersja znanej gry „Light CYCLE”. Dla tych, którzy jej nie znają — w skrócie zasady gry.

    Przeznaczona jest ona w zasadzie dla dwóch osób, choć jedną z nich, a nawet obydwie, może zastąpić komputer. Każdy z graczy steruje punktem, przepraszam wspaniałym, transgalaktycznym światłolotem, który poruszając się zostawia za sobą ślad (oczywiście smugę światła z fotonowego silnika). Celem każdego z graczy jest jak najdłuższe unikanie zderzenia ze śladem własnym, śladem pozostawionym przez przeciwnika, brzegiem ekranu i poławiającymi się od czasu do czasu „przeszkadzajkami” oraz utrudnianie tego samego przeciwnikowi poprzez zajeżdżanie mu drogi, spychanie na brzeg ekranu czy zamykanie w małych obszarach. Począwszy od startu rośnie stawka, która przypada zwycięzcy, tzn. graczowi, który zdołał dłużej uniknąć zderzenia.
    Gra kończy się, gdy jeden z graczy uzyska 1000 punktów. Sterowanie odbywa się z klawiatury: dla gracza pierwszego są to klawisze „Z”, „X”, „Q”, „A”, a dla drugiego klawisze „M”, „Symbol Shift”, „P” i „ENTER”. Na początku każdej gry trzeba określić ilu graczy weźmie w niej udział, prędkość poruszania się punktów oraz włączyć lub wyłączyć dźwięk.
    Gra „BZZZZ” (nazwa pochodzi od dźwięku wydawanego przez silniki kosmolotów) jest jeszcze mniej skomplikowana niż „Jumping Jack”, ale moim zdaniem bardziej wciągająca. (Pod warunkiem, że grają dwie osoby, ponieważ komputer nie jest zbyt ciekawym partnerem).
    Jeżeli nie posiadasz „LIGHT CYCLE” a zainteresował Cię opis „BZZZZ”, pierwsze co musisz zrobić, to wprowadzić do komputera „Program 2” i nagrać go na taśmę instrukcjami:
    LET a$ = CHR$ 22 + CHR$ 1 + CHR$0 + „BZZZZ” + CHR$ 6: SAVE a$ LINE 10
    Wprowadź teraz do komputera (usuwając część właśnie nagraną na taśmę) „Program 3” i uruchom go instrukcją RUN. Będziesz teraz pytany 90 razy o linijki kodu maszynowego w zapisie heksadecymalnym (szesnastkowym), który umieszczony jest w „Programie 1”. Każda linijka składa się z 28 znaków, z których pierwsze 24 to 12 bajtów programu, a ostatnie 4 to suma kontrolna (suma 12 bajtów w jednej linijce), która umożliwia wykrycie błędów.
    Po wprowadzeniu całości właściwy program nagrywany jest automatycznie za już umieszczoną na taśmie częścią „BZZZZ”.

    Autor listingu: Wojtek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Polskie Znaki

    Polacy nie gęsi i lubią gdy się do nich po ludzku gada. Dotyczy to też komputerów, które trzeba w tym celu przekonać, aby zaaprobowały kilka dodatkowych liter.
    Nowo narodzony ATARI XL/XE zna dwa zestawy znakowe. Oba liczą po 128 znaków i zajmują po 1 KB pamięci. Zestaw standardowy — ten, którego używasz na codzień — zajmuje adresy od 57344 do 58367 (EOOO-E3FF hex). Drugi 52224-53247 (czyli CCOO-CFFF hex) zwany jest międzynarodowym, gdyż zamiast znaków graficznych ATARI zawiera litery niemieckie, francuskie czy skandynawskie. Dla nas pociecha stąd żadna.
    Jedyne wyjście to zakasać rękawy i nauczyć ATARI czegoś nowego, czyli przedefiniować część znaków w zestawie. Ba — ale oba zestawy znajdują się w ROMie i żadne POKE nie pomoże. Trzeba zatem poświęcić 1 KB wolnej pamięci, przenieść całość z ROMu do RAMu i teraz dopiero zabrać się za rysowanie nowych znaków.

    Plik w formacie cas - pierwszy pierwotny listing, drugi z kodem wynikowym.
     

    Autor listingu: Krzysztof Leski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Spis zawartości dyskietki i usuwanie plików bez dos-u

    Uzyskiwanie spisu zawartości dyskietki i usuwanie z niej zbędnych plików jest dość czasochłonne. Można tę pracę usprawnić przy pomocy poniższego programu. Po pierwsze nie trzeba wczytywać DOS-u. Po drugie spis zawartości dyskietki jest wyświetlany w dwóch kolumnach, można więc wyświetlić dwa razy więcej nazw plików zanim obraz zacznie się przesuwać. Po trzecie szybsze jest wybieranie zbiorów do usunięcia.
    Program zapisany jest w dwóch oddzielnych częściach. Część A zapisujemy na każdej dyskietce przez SAVE"D:DIR". Gdy chcemy uzyskać spis zawartości dyskietki, wystarczy podać instrukcję RUN"D:DIR".
    Oprócz tego można zapisać tę część na jednej dyskietce przez LIST"D:EDIR", co umożliwia dodanie jej potem do dowolnego programu znajdującego się w pamięci komputera (przez ENTER"D:EDIR"). W tym przypadku zawartość dyskietki będzie wyświetlana po instrukcji GOTO 31200. Wysokie numery linii programu mają zabezpieczyć przed ewentualną kolizją z programem aktualnie znajdującym się w pamięci (aby zabezpieczyć się przed takimi przypadkami można przyjąć zasadę, że największy numer linii w każdym programie nie może być większy niż 29999 — numery od 30000 są zarezerwowane dla programów pomocniczych: DIR, RENUM itd.)
    Obie części razem należy zapisać przez SAVE"D:USUW". W celu usunięcia pliku z dyskietki należy wczytać program (LOAD"D:USUW"), włożyć do stacji dyskietkę, z której chcemy usunąć plik i uruchomić program. Kolejno wyświetlane są nazwy plików zawartych na dyskietce. Naciśnięcie RETURN powoduie wyświetlenie następnej nazwy. Gdy chcemy usunąć plik, naciskamy klawisze CONTROL i U. Procedura ta jest kontynuowana, aż do wyświetlenia nazw wszystkich plików. Jeżeli popełnimy błąd, wystarczy tylko nacisnąć BREAK i uruchomić program ponownie. Usuwanie plików następuje dopiero po wyświetleniu wszystkich nazw i naciśnięciu klawisza U. Po zakończeniu usuwania plików ponownie wyświetlany jest spis zawartości dyskietki.

    Wg „COMPUTE!" 11/82
     

    Autor listingu: Wojciech Zientara (ziew)

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Trzy Wymiary Pascala

    Oto prosty program na ZX-Spectrum rysujący trójwymiarowy obraz funkcji dwóch zmiennych. Programu takiego poszukiwałem od dawna, chcąc na prowadzonych przeze mnie zajęciach pokazać studentom pewne rzeczy w sposób jak najbardziej obrazowy.

    Autor listingu: Wojciech Stanisz

    Listing nadesłał: Faust

    Język programu: Pascal

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Węże

    Pomysł stary jak gry telewizyjne — realizacja nowa. Zagrać można z kolegą lub z komputerem. Zasada jest prosta: odetnij mu drogę.

    Listing posiada przynajmniej jeden błąd do poprawy dla cierpliwych - pierwsza potyczka z komputerem kończy się wygraną Amstrada.Nietestowany tryb dwóch graczy.
     

    Autor listingu: Sergiusz Wolicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Słownik dowolnego języka

    Program „słownik" może zastąpić słownik dowolnego języka, pozwalając zmagazynować w pamięci komputera wiele tysięcy słów i umożliwiając ich błyskawiczne wyszukiwanie. Wprowadzony zestaw słów można zapisać na taśmie. Współpraca z magnetofonem odbywa się w systemie TURBO.
    Obsługa programu jest prosta. Wyboru funkcji dokonujemy naciskając klawisze F1—F7. W przypadku pracy z magnetofonem musimy po naciśnięciu F7 nacisnąć jeszcze klawisz L lub S (Load lub Save). Przy zapisywaniu słownika na taśmie należy podać nazwę pliku.
    Klawisz RESTORE w każdej chwili uruchamia program od początku nie powodując utraty danych.

    Autor listingu: Marcin Włoczewski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Zgadywanka

    Jeżeli mamy pod ręką jakiś komputer, ot zwykłe Spectrum czy Commodore, to możemy zaprezentować "Inteligentną maszynę" mądrzejszą od niejednego z nas. To nie dowcip! Któż z nas potrafi w sześciu pytaniach zgadnąć np. państwo europejskie, które sobie pomyślałem, jeżeli na zadawane mi pytania odpowiadam tylko "tak" lub "nie"? A komputer potrafi. Dziele się to tak: uruchamiamy komputer i wprowadzamy program. Maszyna proponuje "Pomyślcie sobie jakieś państwo europejskie". Porozumiewając się na migi, aby komputer nie mógł podsłuchać, decydujemy się np. na Francje. Teraz komputer zadaje pytania. Po kilku zaczyna być widoczne, że maszyna już coś podejrzewa, że już chyba wie, a tylko sprawdza naszą wiedzę. W końcu ostatnie pytanie: "Czy tym państwem jest Francja?" Dobra - mówimy sobie - to było łatwe. Spróbujmy Islandię - zgadł, San Marino - też zgadł. W dodatku za każdym razem pytał o coś innego, więc chyba rzeczywiście myśli.

    Autor listingu: Leszek Rudak

    Listing nadesłał: Faust

    Język programu: BASIC

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Karuzela

    Obrazki przypominają dobrze znane efekty działania programu VU-3D, stworzył je jednak programik w skondensowanej wersji mieszczącej się w 40 wierszach języka BASIC. Jego najbardziej szokującej możliwości nie sposób jednak przedstawić w statycznej ilustracji: bryły te są... ruchome. Obracają się wokół swej pionowej osi w tempie ok. 40 obrotów na minutę! Powstaje złudzenie ruchu nie gorsze niż przy oglądaniu TV. Jest to oczywiście możliwe tylko dzięki ich wysokiej symetrii, gdyż cały ruch jest wynikiem złożenia tylko sześciu ekranów, jakie mieści pamięć ZX Spectrum.

    Autor listingu: brak

    Listing nadesłał: Faust

    Język programu: BASIC

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Bierki

    Gra w bierki jest stara jak świat. Zasada jest prosta: grający biorą na przemian przedmioty z jednej kupki.  Trzeba zabrać zawsze co najmniej jeden przedmiot.  Maksymalna liczba jednocześnie zabieranych przedmiotów zależy od umowy. Wygrywa ten, kto weźmie ostatni przedmiot.

    Spróbujmy nauczyć komputer gry w bierki, ale w nieco trudniejszej wersji. Rozłóżmy 12 patyczków na trzy kupki. W pierwszej kupce niech będzie 5 patyczków, w drugiej — 4, a w trzeciej trzy. W naszej grze można wziąć jednocześnie dowolną liczbę patyczków, ale tylko z jednej kupki. Oczywiście za każdym razem trzeba wziąć choć jedną. Kto weźmie ostatni patyczek (lub kilka ostatnich) wygrywa.
     

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Łapacz Liter

    Zasady gry „Łapacz liter" są bardzo proste. W momencie „urwania" się litery trzeba nacisnąć odpowiadający jej klawisz. Im szybciej to robimy, tym lepszy jest wynik. W miarę upływu czasu zwiększa się poziom trudności. Gra  bardzo pomaga w opanowaniu klawiatury rzecz istotna przy posługiwaniu się komputerem.

    Autor listingu: MS.

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Kardioidy

    Program ten kreśli miły dla oka wzór, złożony z odbitych symetrycznie krzywych, zwanych kardioidami.
    Krzywe te opisane są równaniem parametrycznym:
    x = y*(1 -cos(k))*cos(k)
    y = r*(1 -cos(k))*sin(k)
    gdzie 0 <= k <= 2n
    Geometrycznie krzywa ta może być interpretowana jako droga punktu okręgu, toczącego się (zewnętrznie) po okręgu o tym samym promieniu.
    Rysunek kreśli się długo, co spowodowane jest powolnym obliczaniem wartości funkcji trygonometrycznych przez Spectrum — aż czterech w każdym kroku algorytmu.
    Zmienna "Rozdzielczość" określa dokładność tworzonego rysunku. "Promień" jest proporcjonalny do jego wielkości, zaś "Gęstość" wyznacza ilość krzywych, składających się na jedną połowę wzoru.
    Wykreślenie jednego rysunku nie jest jednak kresem możliwości naszego programu (inaczej niewielki byłby z niego pożytek). Zmieniając równania parametryczne krzywych — np. znaki + na -, funkcje SIN i COS oraz parametry K i R — możemy uzyskać cały szereg nowych, interesujących deseni.
     

    Autor listingu: M.W.

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Tekst w trybie graficznym 8

    Przy wykonywaniu wykresów w trybie graficznym "8" często spotykamy się z problemem opisania rysunku. Okno tekstowe w dolnej części ekranu jest zwykle do tego celu niewystarczające. Poniższa procedura umożliwia umieszczenie tekstu w dowolnym miejscu ekranu.
    Po wpisaniu programu według przedstawionego wydruku należy przed uruchomieniem zapisać go na dysku lub kasecie. Program tworzy dwie nowe linie zawierające procedurę w języku maszynowym, a następnie kasuje sam siebie. Otrzymaną procedurę należy zapisać na kasecie przez L."C:" lub na dysku przez L"D:TEKST.LST". Można również do każdego nowego programu generować procedurę od nowa. korzystając z podanego programu.
    Pisząc program, w którym zamierzamy użyć tej procedury, musimy pominąć linie 10 i 20, gdyż numery te mają linie procedury.
    Aby użyć procedury należy podać w programie instrukcję:
    A = USR(ADR(PT$),PX,PY,ADR(T$),LEN(T$))
    gdzie PX oznacza współrzędną x pierwszego znaku, PY — współrzędną y, a T$ — ciąg znaków (tekst), który ma być wyświetlony. Współrzędne x i y są obliczane tak jak w trybie "0" (tzn. x - 9÷39, y = 0÷21(23)).

    Autor listingu: Wojciech Zientara

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Nie bój się przerwań cz. 1

    Wiele osób, nawet od dłuższego czasu mających kontakt z mikrokomputerami, dostaje "gęsiej skórki" słysząc słowo PRZERWANIE.
    Postaram się udowodnić, że nie jest to nic strasznego. Zaczniemy od najprostszego przerwania wywoływanego przez program ANTIC-a (mikroprocesora tworzącego obraz).
     

    Autor listingu: Wojciech Zientara

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Nessie

    Bohaterem gry jest wężowe cielsko z małą głową — mieszkaniec słynnego szkockiego jeziora — zwinnie umykające przed naszym celownikiem. Siedzimy w znacznej odległości od gada, więc strzał z nieruchomej pukawki trzeba oddać z wyprzedzeniem, celując w miejsce, gdzie stwór dopiero będzie, gdy kula do niego doleci. Strzelamy naciskając dowolny klawisz (najwygodniej klawisz spacji). Mimo prostych zasad gra nie jest wcale łatwa i ustrzelenie ośmiu potworów dwunastoma pociskami należy uznać za spory sukces.

    Autor listingu: Janusz Wiśniewski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • ALGEBRAF

    Dziś proponujemy doskonalenie się w arytmetyce przy zabawie spopularyzowanej przed laty przez tygodnik ITD - krzyżówce arytmetycznej, czyli algebrafie.
    Zasady gry są proste: trzeba odgadnąć 9 cyfr (dokładniej: liczb jednocyfrowych), które należy wpisać w diagram w taki sposób, by powstało sześć wyrażeń arytmetycznych (trzy pionowo i trzy poziomo) o podanych wartościach. W wyrażeniach zachowano normalną kolejność działań: mnożenie zawsze wykonuje się przed dodawaniem lub dejmowaniem.
    Algebraf może mieć więcej niż jedno poprawne rozwiązanie: układ sześciu równań z dziewięcioma niewiadomymi może mieć ich nieskończenie wiele, gdy jednak dopuszczamy tylko rozwiązania w liczbach całkowitych (czyli, jak powiedziałby matematyk, rozważamy tzw. równanie diofantyczne) rozwiązań nie bywa więcej niż trzy. Program akceptuje oczywiście każde poprawne rozwiązanie, także różne od proponowanego przez komputer.

    Autor listingu: bd

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Życzenia od Komputera

    Popatrzcie na ten maleńki program. Wiecie już jaki będzie efekt jego działania? Jeśli nie, to koniecznie go wpiszcie i przekonajcie się sami. Cała tajemnica jest oczywiście ukryta w linii 20. Spróbujcie  odgadnąć  co ukrywa się W komórce pamięci o numerze 23606. Jeśli się to wam nie uda, zaglądnijcie do podręczników obsługi Spectrum lub też do poprzednich numerów „Bajtka". .

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Circle

    Zamieszczony poniżej program służy do rozszerzenia BASIC-a Amstrada o dodatkowa komendę CIRCLE.
    Komendę tę wywołuje się przez pionową kreskę SHIFT + @ tak, jak np. instrukcje obsługi stacji dysków. Składnia instrukcji jest następująca:
    CIRCLE,x,y,r x,y
    - współrzędne środka okręgu
    r - promień okręgu
    Podobnie jak w Spectrum komenda ta rysuje okrąg o zadanych parametrach, nie zmienia jednak pozycji ostatniego narysowanego ounktu. Współrzędne środka okręgu podlegają tym samym prawom, co współrzędne instrukcji PLOT i DRAW (tzn. ten sam zakres, ORIGIN).
    Algorytm tej komendy w BASIC-u podajemy obok. Loader w BASIC-u jest tak na pisany, że zapewnia relokowalność programu tzn. można umieścić kod maszynowy pod różnymi adresami w pamięci. Adres początkowy należy umieścić w linii 260 przypisując go zmiennej a. Spośród linii 370-390 należy wybrać tę, która odpowiada posiadanemu modelowi Amstrafa Schneidera. W liniach DATA ukryte są sumy kontrolne zapewniające kontrolę poprawności wpisywania programu. Jeżeli zdecydowaliśmy się na jeden adres początkowy, to po uruchomieniu loadera możemy podać komendę
    SAVE "CIRCLE",b,a,495
    i potem ładować komendę do pa mięci rozkazami
    MEMORY adr-1:LOAD "CIRCLE"
    CALL adr
    gdzie adr oznacza ustalony adres początkowy - dawna wartość zmiennej a.
     

    Autor listingu: Sergiusz Wolicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    1
    Listing przepisany - zawiera błędy, nieuruchamia się na emulatorach lub realnej platformie
  • Ruchome Literki

    Kilka dodatkowych linii na początku programu pozwoli na interesującą prezentacje jego tytułu i autora.
    Wystarczy w tym celu, począwszy od linii 110, napisać odpowiedni tekst a$, który będzie wyświetlany w linii y ekranu. Podprogram w liniach od 30 do 100 realizuje ruch liter w następujący sposób:
    Dla zmieniającej się wartości i tworzony jest z łańcucha tekstowego a$ jednoznakowy łańcuch b$=mid$(a$,i,1), wyświetlany następnie na pozycji j,y (linia 60) i kasowany spacją na poprzedniej jego pozycji j + 1,y (linia 70). Linia 50 określa kolumnę j, w której ma być wyświetlony, znak począwszy od prawej strony ekranu. Ruch znaku w lewo zapewnia zamknięcie pętli w linii 80. Jednocześnie w linii 50 człon 20-len(a$)/2 + 1 lokalizuje napis w środku ekranu. Linia 90 wprowadza małe opóźnienie w pojawianiu się kolejnych liter napisu. Możliwe jest rów nież korzystanie z MOD 0 i MOD 2. Należy w tym celu zmodyfikować linię 20, wpisując zamiast MODE 1 inny wybrany tryb pracy. W linii 50 trzeba również uwzględnić ilość kolumn ekranu zmieniając odpowiednio: przy MOD 0 39 na 19 i 20 na 10 przy MOD 2 39 na 79 i 20 na 40
     

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Choinka

    Święta za pasem, najwyższy czas zabrać się za ubieranie choinki. Zanim jednak stanie w waszym domu prawdziwa choinka, warto trochę potrenować. Oczywiście pomoże wam komputer.
    Na naszej komputerowej choince zawieszać będziemy tylko bombki i gwiazdki. Nie będzie to jednak takie łatwe. Otóż bombka jest dwa razy cięższa niż gwiazdka i — aby nasza choinka nie przewróciła się — musimy powiesić ją na gałązce dwa razy dalej.
    W fizyce nazywa się to zasadą dźwigni dwustronnej, lub — jeszcze mądrzej — równowagą momentów sił. Prawa te mówią, że każdy ciężar możemy zrównoważyć na huśtawce ciężarem o połowę mniejszym, jeśli umieścimy go dwa razy dalej od środka. Na tym właśnie będzie polegała nasza zabawa. Gwiazdka musi być zawieszona na gałązce o połowę bliżej pnia niż bombka. Jeśli się pomylimy, choinka przewróci się.
    Bądźcie więc ostrożni!
     

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Biorytmy

    Jeśli czujesz się fatalnie, łamie cie w kościach a głowa spuchła ci jak bania, to z pewnością dlatego, że krzywa fizyczna twojego cyklu biologicznego przecięła się z osią.
    Pokłóciłeś się z dziewczyną i pobiłeś kolegę z pracy - to emocjonalny dzień krytyczny. Dostałeś cztery lufy w ciągu trzech lekcji, wiadomo, kryzys intelektualny. To więcej niż pewne! Chyba, że... w pierwszym przypadku łapie cię grypa, w drugim - mucha usiadła ci na nosie, a w trzecim - bez reszty pochłonęło cię błogie lenistwo.
    Co by jednak nie mówić o biorytmach - niezależnie, czy się w nie wierzy, czy też nie - mają one jedną nieocenioną zaletę: niezmiernie rzadko zdarza się, że jesteśmy sprawni pod każdym względem. A więc gdy coś nam nie wyjdzie, np. oblejemy egzamin, wystarczy obliczyć sobie biorytm i mamy już spokojne sumienie. Bo przecież, choć intelektualnie stoimy zupełnie nieźle, to fizycznie... lepiej nie mówić i w dodatku emocjonalnie też spadamy. Wszystko przez te nerwy!
    Myślę, że przekonałem najbardziej nawet sceptycznych czytelników o użyteczności programu do obliczania biorytmów, tym bardziej, że jest to program, który może działać na każdym mikrokomputerze. Jedynie posiadacze Spectrum będą musieli zmienić wszystkie oznaczenia zmiennych łańcuchowych na jednoliterowe, ale to przecież drobnostka.
    Działanie programu jest proste i nie wymaga specjalnego komentarza. Tym bardziej, że program komentuje się sam, poprzez oznaczenia zmiennych.
    Najpierw komputer liczy ilość dni, które przeżył badany, następnie oblicza reszty z dzielenia ilości dni przez długości cykli i na tej podstawie określa jego fizyczną, intelektualną i emocjonalną kondycję w danym dniu. Teraz tylko dobrać odpowiedni komentarz i sprawdzamy co będzie jutro.
    A tak przedstawiała się moja sytuacja w dni pisania tego programu. Jeśli więc coś będzie nie tak, sami widzicie, że nie jestem w najlepszej formie psychicznej...
    Roman Poznański

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Strażnik Banku

    Po długiej podróży dotarłeś do Gun City. Celem wędrówki było zdobycie pracy i szczęśliwym trafem tutejszy bank pilnie potrzebował strażnika. Otrzymałeś służbowego colta i usiadłeś sobie w kacie pilnie bacząc na to kto wchodzi. Drzwi się otwierają i... wchodzi jakaś dama pragnąc wpłacić swoje oszczędności.
    Przez drugie drzwi znienacka usiłuje wtargnąć jakiś oprych. Wyciąga pistolet ale ty jesteś szybszy. Nagle w drugich drzwiach ukazuje się żądny krwi bladych twarzy indianin, ale już po chwili jego duch wędruje do Manitou. Znowu byłeś lepszy. I znowu ktoś otwiera drzwi. Strzelasz bez zastanowienia i Bogu ducha winny farmer wita się ze Św. Piotrem Lecz na szczęście tutejszy szeryf jest pobłażliwy i zawsze mówi: „do trzech razy sztuka". Ktoś wchodzi. Teraz uważnie go oglądasz. Błąd! Jego słów - „Jestem szybszy!" słuchasz już w towarzystwie świętego Piotra.
    Tak, szanowny czytelniku, może wyglądać i twoja historia jeśli zadasz sobie trud i mozolnie „wstukasz" poniższy program do Twojego Spectrum. Teraz dam Ci kilka praktycznych wskazówek. Duże litery w cudzysłowach w liniach 70-410 należy wprowadzać w trybie graficznym, tzn. C.SHIFT + 9. Wówczas na ekranie otrzymamy kursor "G". Powrót do normalnego kursora odbywa się analogicznie. Można zmienić wartość punktacji przez zamianę w linii 4020 wartości 100 na taką jaka Ci będzie odpowiadała. Możesz efekt strzału zaczerpnąć z 1go numeru nowego Bajtka. Możesz robić z tym programem co tylko Ci się podoba, bowiem żadne prawa autorskie nie są zastrzeżone. Acha, jeszcze dla ułatwienia dodam, że im wyższą liczbę podasz przy pytaniu o stopień utrudnienia, tym łatwiej będzie Ci się grało. Radził bym jednak nie przesadzać, gdyż przy b. wysokiej liczbie program staje się powolny i po prostu nudny.
    Sterowanie odbywa się klawiszami 1,2,3; klawisz 1 odpowiada pierwszym drzwiom od lewej itd.
    Dobrego refleksu!

    Autor listingu: Grzegorz Zatryb

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Monitor - Pamięć pod lupą

    Podczas pracy na komputerze przydatna jest czasem możliwość „podglądania” zawartości pamięci lub jej modyfikacji. Wymagania takie spełnia przedstawiony tutaj prosty program, nazwany monitorem. Na podstawie Amstrad Magazine

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Trochę ruchu - wędrujące litery

    Nagrodą za pracowite „wstukanie” programu będzie nie tylko ruchoma reklama „Bajtka”. Zmieniając tekst w liniach od 120 do 180 możemy również zareklamować własne umiejętności. Program wykorzystuje możliwość programowania układu scalonego 6845, czyli kontrolera ekranu w Amstradzie. Wysokość tekstu może być zmieniona od normalnego wymiaru znaku, a więc jednej linii aż do 16-tu linii (patrz końcowe cyfry w liniach DATA).

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Kubuś Telegrafista

    Mogłoby się wydawać, że w dobie łączności satelitarnej i komputerów, wielki wynalazek pana Morse'a, jego słynny alfabet, powinien trafić do lamusa. Okazuje się jednak, że nie nastąpi to tak prędko. Zasadę zna każde dziecko — grupy krótkich i długich sygnałów dźwiękowych zastępują litery. Kłopot tylko w tym, żeby nauczyć się rozumieć ten ciąg pisków. Nasz program służy właśnie do tego. Uczeń może wybrać sobie jedną z pięciu prędkości nadawania. Może również skorzystać ze ściągawki w postaci graficznego przedstawienia sygnałów (kropki i kreski) lub z niej zrezygnować. Komputer nadaje kolejno pięć losowo wybranych słów. Po każdym słowie zaczyna odliczać czas. Teraz odpytywany musi możliwie najszybciej napisać odczytane słowo i na koniec nacisnąć klucz spacji. Czasy poszczególnych odpowiedzi są sumowane, oczywiście za każdym razem komputer sprawdza prawidłowość odpowiedzi i wysyła na ekran odpowiedni komunikat. Za każdy błąd dolicza umowną ilość sekund. Po pięciu próbach następuje obliczenie punktów karnych i wydruk końcowego wyniku na ekranie. Egzamin skończony.

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Tape Copier aka 46kb Tape Copier

    Jeżeli wykażesz odrobinę cierpliwości to już za godzinę będziesz posiadaczem programu kopiujacego, który wzbogaci bibliotekę programów Twojego ATARI 800 XL.

    Autor listingu: Dariusz Adamowski

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Renumeracja

    Przedstawiam program ZX-Spectrum, służący do automatycznej renumeracji linii. Z wielu innych programów tego typu wyróżnia go: szybkość działania,początek renumeracji rozpoczyna się od linii wskazywanej przez kursor programowy (co go różni od innych tego typu programów) — bardzo przydatne, wartość skoku linii może mieć dowolną liczbę i jest relokowalny...

    Autor listingu: Andrzej Dziarnowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Wykres

    Program „Wykres” służy do przedstawiania danych liczbowych w postaci pseudotrójwymiarowych słupków. Na początku program pyta się o tytuł wykresu. Można wpisać dowolny tekst, jednak tylko pierwsze 32 znaki będą przyjęte. Następnie program pyta się o rodzaj skalowania. Jeśli wybrane zostanie skalowanie automatyczne wówczas wykres będzie skalowany według największego słupka, jeśli nie — program spyta o wartość według której odbędzie się skalowanie.

    Autor listingu: Michał Szuniewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Test na jasnowidzenie

    Program ten jest adresowany do wszystkich, którzy mniej lub bardziej na poważnie biorą zjawiska spostrzegania pozazmysłowego. Pozwala na przetestowanie możliwości w tym zakresie. Nie należy tego brać na serio, gdyż nikt jeszcze nie stwierdził czy komputerowi można czytać w „myślach”.

    Autor listingu: Grzegorz Zatryb

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Almanach Listingów dla Amstrad CPC

    Almanach listingów dla Amstrada CPC publikowanych w Bajtkach w roku 1986 przepisane i poprawione przez Zbynia.

    Autor listingu: różni

    Listing nadesłał: Zbyniu

    Język programu: brak danych

    Stan listingu:

    5
    Listing wzbogacony - uruchamia się na emulatorze lub realnej maszynie, przepisujący listing wzbogacił go o swoje rozwiązania
  • Program Katalog

    Przy pomocy programu „KATALOG” możemy prosto i bez wysiłku utworzyć wykaz posiadanych programów łącznie z określeniem typu programu (np. BASIC, kod maszynowy, dane), długości i linii od której program startuje. Odczytane z taśmy magnetofonowej nagłówki programów uzupełniamy numerami licznika magnetofonowego, które pozwolą nam na szybkie odnalezienie szukanego tytułu. Wybierając odpowiednie funkcje programu możemy dokonać weryfi kacji tytułów na ekranie lub wydrukować cały spis na drukarce. Program korzysta z instrukcji LPRINT tak jak dla drukarki ZX PRINTER lub SEIKOSHA GP 50. Mając do dyspozycji inną drukarkę należy dołączyć do programu „KATALOG” program jej obsługi, umożliwiający korzystanie z tej instrukcji. Należy przy tym pamiętać o obszarach pamięci mikrokomputera zajętych przez kod maszynowy.

    Autor listingu: Konrad Fedyna, Zygmunt Wereszczyński, Andrzej Ciepliński

    Listing nadesłał: [email protected]

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Pióro świetlne - program obsługi

    Przykładową realizację programową obsługi pióra, umożliwiającą wybór zaprogramowanych opcji, przedstawiono na wydruku. Pozwala on wykorzystać pióro świetlne wzorując się na popularnej „myszy”. Podstawową część programu stanowią linie od 9000 do 9120. W części tej ładowany jest kod maszynowy obsługujący port 254, do którego podłączone jest pióro i obliczający, w którym z 21 wierszy na ekranie jest umieszczone. Numer zdekodowanego wiersza znajduje się w zmiennej „a” (linia 100). Wykorzystanie informacji tam zawartej jest już proste lecz wymaga pomysłowości i inwencji od piszącego program. Linie programu od 10 do 140 prezentują sposób realizacji trzech przykładowych procedur wybieranych piórem świetlnym. Linia 9999 pozwala zapisać program na taśmie magnetofonowej umożliwiając jego autostart po ponownym wczytaniu do mikrokomputera.

    Autor listingu: Konrad Fedyna, Zygmunt Wereszczyński

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Test oczu i uszu

    Ten program sprawdzi czas Twojej reakcji na nieoczekiwanie pojawiający się znak na ekranie i sygnał dźwiękowy. Podobny jest do testów psychomotorycznych, którym poddawani sa kierowcy, piloci i kosmonauci.

    Autor listingu: Tomasz Pyć

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Muzyka Robota

    Jeśli umieścicie w swoim programie linie od 40 do 190 jako podprogram, możecie zilustrować muzycznie np. czołówkę (okładkę) zaprojektowanej gry. Należy wykorzystać przy tym instrukcje GOSUB i RETURN, a także odpowiednio do potrzeb przenumerować linie powyższego programu. Melodia łatwo „wpada w ucho"

    Autor listingu: Tomasz Pyć

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Alibaba

    Znacie bajkę o Alibabie i czterdziestu rozbójnikach? Znacie! A więc zabawmy się razem. Pamiętacie na pewno, w jaki sposób sprytni zbójcy strzegli swych skarbów. Mieli kryjówkę w skale, która otwierała się tylko na odpowiednie hasło. (Pamiętacie jakie?) Hasło znał tylko herszt bandy i tylko on — do czasu aż w całą sprawę nie wmieszał się jeszcze sprytniejszy Alibaba — mógł otworzyć skarbiec. A może wy także macie jakieś skarby do ukrycia, może na przykład jakiś specjalny program, którego nie chcecie pokazać kolegom. Jest na to sposób. Wystarczy umieścić przed waszym programem przedstawiony tutaj podprogram. Pyta on o hasło i przechodzi do wykonywania właściwego programu tylko w przypadku podania prawidłowej odpowiedzi.

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Zegar

    Program napisany został początkowo w języku assemblera i skompilowany. W celu udostępnienia go również tym, którzy nie posiadają kompilatora został przetłumaczony na ciąg instrukcji DATA (linie 111-200 programu). Instrukcje 101-110 zawierają procedurę służącą do zapisania programu zegara na kasecie. Zegar przystosowany jest do współpracy z interpreterem BASIC-u i działa „równolegle" z nim. Ładowanie zegara z kasety odbywa się przez operację pulpitową: należy wcisnąć klawisz START i włączyć komputer. Po załadowaniu powinien zgłosić się interpreter BASIC-u. Zegar posiada wbudowaną możliwość ustawiania daty i czasu za pomocą klawiszy konsoli..

    Autor listingu: Marek Markowski

    Listing nadesłał: Faust

    Język programu: Atari Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Pierwszy Polski Kompilator Na Spectrum

    Kompilator TOBOS-FP (TOruń BOrkowski Skaba) jest, o ile nam wiadomo, pierwszym całkowicie opracowanym w Polsce kompilatorem zmiennopozycyjnym dla mikrokomputera ZX "Spectrum". Biorąc pod uwagę szybkość działania, zgodność z interpreterem BASICA na ZX "Spectrum" oraz szeroko rozumiana prostotę użycia przewyższa on znane kompilatory produkcji zachodniej takie, jak FP48K-V1.7 czy BLAST.

    Autor listingu: Wojciech Skaba,Jerzy Borkowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Boks

    Jeśli masz ochotę i starcza Ci odwagi, stań do walki na ringu z wybranym losowo przez siebie przeciwnikiem, jeśli będziesz miał szczęście w losowaniu przeciwnika, będziesz walczył trzy rundy, o ile, oczywiście, nie powali cię na deski morderczy nokaut — pozostałe informacje w komunikatach programu tym razem przeznaczonego na Commodore 64

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: CBM Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Drążek sterowy

     Jednym z nieodzownych elementów domowego systemu komputerowego jest drążek sterowy. Niestety, dostępne u nas modele maja wiele wad — albo sa drogie, albo nietrwałe, albo i jedno i drugie. Dobrym wyjściem jest w tej sytuacji skonstruowanie własnego joysticka(...) Poniżej zamieszczamy programy, które pomogą w poprawnym połączeniu przewodów. W C-64 i 128 korzystać należy z portu drugiego

    Autor listingu: Michał Silski,Dariusz Rotsztyn

    Listing nadesłał: Faust

    Język programu: CBM Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Jak odbezpieczyć program w BASICU

    BASIC komputerów Schneider i Amstrad posiada możliwość zapamiętania programu w formie zabezpieczonej przed listowaniem!(...) Aby uniknąć ponownego pisania programu spróbujemy go odbezpieczyć. Pomoże nam w tym krótka procedura w języku maszynowym zamieszczona obok. Ładuje się ona w pusty obszar RAM-u między zmiennymi systemowymi BASICU-u i systemu (B0C7-B0FF) i pozostaje tam nawet po użyciu klawiszy CTRL/SHIFT/ ESC.

    Autor listingu: Sergiusz Wolicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Jednoręki bandyta
    Nie wychodząc z domu i nie mając grosza przy duszy zagrasz z największym na świecie połykaczem pieniędzy zwanym, "jednorękim bandytą". Bywalcy kasyn twierdzą, że pociąganie za „rękę" tego automatu kończy się zazwyczaj zniknięciem zawartości Twojego portfela. A Ty nie stracisz ani centa (fakt, że również nic nie wygrasz pomińmy milczeniem; najważniejsza jest przecież sama gra). Wystarczy trochę dokładności i cierpliwości przy wprowadzaniu zamieszczonego obok programu.

    Autor listingu: O. Fercher, SW

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Coś dla kolekcjonerów

    Do napisania tego programu skłoniła nas potrzeba chwili. Przy porządkowaniu stosu dyskietek przekonaliśmy się na własnej skórze jak niewygodny w użyciu jest BASIC V2.0 firmy Commodore. Od ciągłego wypisywania LOAD "$", 8 mogą porządnie zaboleć palce nie mówiąc już o zużywaniu klawiatury. W związku z tym proponujemy przy wszelkich pracach porządkowych przeprowadzonych na dyskietkach zastosować poniżej opisany program. Umożliwia on wczytywanie katalogu dyskietki do pamięci komputera jedynie poprzez wciśnięcie klawisza F7; wylistować zaś go można używając F1.

    Autor listingu: Klaudiusz Dybowski, Michał Silski

    Listing nadesłał: Faust

    Język programu: CBM Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Notesik

    Cześć Maluchy! Do dzisiaj wszystkie pisane przez nas programy służyły tylko do zabawy. Tym razem zabierzemy się za prawdziwy program użytkowy. Co prawda dość prosty, ale zawsze... Chyba każdy przedszkolak, który bawi się komputerem wie, co to jest baza danych. Jest to po prostu taki komputerowy notes, który sam - na twoje żądanie - odszukuje potrzebne ci informacje. Powiedzmy, że chcemy zrobić sobie taką bazę danych z numerami telefonów naszych kolegów.

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Menu - Dysk

    Jeśli posiadasz wśród swoich dyskietek wiele takich na których nie zamierzasz dokonywać już zmian, to wygodnie będzie Ci umieścić na nich program "MENU DYSKU". Nie będziesz wtedy musiał za każdym razem pisać CAT, żeby zobaczyć jak nazywają się programy i potem wpisywać RUN "nazwa. Wystarczy, że podasz komputerowi rozkaz RUN "DYSK, a on sam wypisze Ci wszystkie nazwy i teraz będziesz mógł wybrać odpowiedni program przez naciśnięcie jednego klawisza. Po wpisaniu listingu musisz w linii 60 umieścić po DATA najpierw liczbę programów, które znajdują się na danej stronie dyskietki, a potem ich nazwy (bez rozszerzenia czyli trzech liter po kropce).

    Autor listingu: Tomasz Pyć

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Zapis obrazu za ramtop

    W niektórych grach stosuje się bardzo efektowny sposób rysowania grafiki na ekranie podczas ładowania. Nie powstaje ona linia po linii, lecz ukazuje się na ekranie momentalnie, już pokolorowany. Więksi znawcy komputera mówią wtedy, że "SCREEN wyszedł zza RAMTOPU".

    Autor listingu: Marcin Przasnyski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Perkusja na C64

    Poniższy program przeznaczony jest dla tych, których zainteresowania mają coś wspólnego z muzyką. Co prawda opublikowana wersja raczej nie zainteresuje profesjonalistów, ale wielu amatorów być może do czegoś to wykorzysta. Zresztą, programowanie i odtwarzanie własnych rytmów za pomocą własnoręcznie "wklepanego" i (mam nadzieję) rozbudowanego programu może być po prostu dobrą zabawą.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Tajemniczy Zamek

    Widzieliście grę pod tytułem Hobbit? Jeśli nie, to możecie przeczytać o niej w drugim numerze „Bajtka" z tego roku. Takie gry nazywa się najczęściej angielskim słowem „adventure" czyli przygodowe. Zasada jest tu zupełnie inna niż w grach z rodzaju „bij zabij" czy „łap i uciekaj". Małpia zręczność i refleks nie są potrzebne. Należy za to trochę ruszyć głową. Najczęściej gry przygodowe nie posiadają prawie wcale grafiki. Na ekranie ukazują się opisy kolejnych sytuacji. Do ciebie należy zna-ezienie z nich wyjścia. Sukces polega na odkryciu toku postępowania, który prowadzi do wypełnienia postawionego przed tobą zadania. Wydaje się, że tego rodzaju programy muszą być bardzo złożone. Niektóre z nich rzeczywiście zajmują po kilkadziesiąt kilobajtów. Można jednak dla zabawy spróbować napisać własną, prostą grę przygodową. Oczywiście jak zawsze najważniejszy jest pomysł. Resztę można zrobić za pomocą czterech instrukcji — PRINT, INPUT. IF..THEN... i GOTO

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Mikrokomputer współautorem gier

    Program na ZX Spectrum symuluje 10000 rzutów kostką wybraną według określonej strategii i wygenerowanej planszy gry. Jeden eksperyment symulujący 10000 rzutów według wybranej strategii trwa ok. 25 minut.

    Autor listingu: Jan Rojewski,Michał Stajszczak

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • VarDump

    Załączony program tworzy nową komendę VARDUMP, która umożliwia wylistowanie nazw wszystkich zmiennych występujących w tworzonym przez nas programie. Lista taka znakomicie ułatwia wyszukiwanie „przekłamanych" zmiennych.

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Powiększanie napisów

    Prezentujemy krótki, lecz interesujący program pozwalający na powiększanie liter i znaków graficznych. Program wykorzystuje instrukcję SYMBOL AFTER 32, co pozwala na redefiniowanie wszystkich znaków. Zamiast linii 70, 80 i 85 można wpisać własne i ewentualnie przenumerować linię 90.

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Zegar dla Amstrada

    My wykorzystamy tę zaletę (Czytelnicy znający zasady pracy mikroprocesora wiedzą, że w celu zapewnienia w miarę dokładnej pracy zegara wykorzystywany jest mechanizm przerwań, czyli sprzętowego (zewnętrznego) wymuszania skoku do określonego adresu w pamięci komputera) do napisania własnego zegara, który będzie pracował niezależnie od aktualnie wykonywanych programów i będzie podawał czas w normalnej formie (czyli godz.:min.:sek.). Wyposażymy go również w budzik i możliwości sterowania z BASIC-u. Żeby być całkowicie w zgodzie z prawdą należy zauważyć, że nasz zegar, tak jak zresztą i maszynowy, nie pracują, jeśli jakiś program wyłączy przerwania, co jest możliwe za pomocą odpowiedniego rozkazu maszynowego. System i BASIC wyłączają przerwania właściwie tylko w czasie zapisu lub odczytu danych na taśmę lub dyskietkę. Po wpisaniu i uruchomieniu zamieszczonego obok programu należy odpowiedzieć na pytanie o wersję Amstrada (Schneidera), gdyż od tego zależą adresy pewnych procedur systemowych wykorzystywanych przez program (np. dzielenie przez 10). Opracowany na podstawie „Schneider International" nr 12/1985 - zmiany dotknęły komend sterujących (z niem. na polski).

    Autor listingu: S. Wolicki

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Wieczny Kalendarz

    Czy wiesz w jakim dniu tygodnia się urodziłeś? A może interesuje cię czy bitwa pod Grunwaldem miała miejsce w poniedziałek czy w piątek? Jeśli tak, wpisz do swojego komputera ten program i dowiesz się wszystkiego.

    Autor listingu: F. Głowiński

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kiedy 2 = 10

    Program oblicza postacie liczb w układach od dwójkowego do 35-kowego zastępując (w przypadku systemów o podstawie większej od 10) liczby 10, 11, 12 itp. literami A, B, C itd.

    Autor listingu: Jacek Niewęgłowski

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Wyprawa po Kwiat Paproci
    Info: Gra tekstowa - przykład użycia podstawowych instrukcji Basic'a - LET, PRINT, INPUT, IF, GOTO. Poprawione: - skoki do niewłaściwych linii (błąd w 2810; przeskok z jednego miejsca w drugie w 1755; różne zachowanie programu w różnych miejscach) - sprawdzanie przedmiotów wpisanych przez gracza PR$ (a nie niesionych ODP#$) - błąd w logice gry nie pozwalający jej ukończyć bez przedmiotu, który znajduje się na początku - można podnieść tylko przedmioty, które znajdują się w danym miejscu (można było podnosić dowolne przedmioty w dowolnym miejscu) - dodany TRAP przy każdym INPUT - użyte RND - podzielony tekst, aby mieścił się w liniach - dodane odstępy - użyte "Polskie Litery" z zamienionymi znakami (duże na małe) z tego samego Bajtka, przyspieszone programem MOVE - wpisywanie małymi literami (polskie znaki z Control) - opcja przedmiotu jest zawsze pierwsza (kierunki są pozostawione w różnej kolejności) - inne drobne błędy Uwaga: Nazwy przedmiotów należy wpisywać małymi literami z polskimi znakami, trzeba też użyć odpowiedniej formy! Jeżeli po wpisaniu nazwy opcja podniesienia przedmiotu nie zniknie, oznacza to, że przedmiot został usunięty z ekwipunku i trzeba spróbować ponownie. Pożyczone przedmioty pozostają w ekwipunku. Dla ułatwienia można zmienić linię 2755 na: 2755 GOTO 2703

    Autor listingu: Roman 'Romek' Poznański, QTZ

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    5
    Listing wzbogacony - uruchamia się na emulatorze lub realnej maszynie, przepisujący listing wzbogacił go o swoje rozwiązania
  • Podróż w czasie

    Coraz więcej programów przysyłają do „Bajtka" przedszkolaki. Piszą nawet ci, którzy nie mają dostępu do komputera i programować nauczyli się z naszego pisma. Myślę, że to bardzo dobrze — okazuje się, że ciekawy program można napisać także bez komputera. Przykładem może być gra Artura Buchajczuha z miejscowości Mircze (woj. zamojskie), napisana na podstawie artykułu Tajemniczy Zamek z „Bajtka" nr 8. Artur używał tylko długopisu i papieru w kratkę — program działa, a jak działa oceńcie sami. Poprawione: - podzielony tekst, aby mieścił się w liniach - użyte "Polskie Litery" z zamienionymi znakami (małe litery dostosowane do standardu Panther) z Bajtka Tylko Dla Początkujących!, częściowo przyspieszone procedurą MOVE - domyślnie włączone małe litery - dodane brakujące skoki - w przypadku porażki gra rozpoczyna się od początku - poprawiony błąd ortograficzny ;) Uwaga: Należy wpisywać małe litery i akceptować [Return]!

    Autor listingu: Artur Buchajczuh,QTZ

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    5
    Listing wzbogacony - uruchamia się na emulatorze lub realnej maszynie, przepisujący listing wzbogacił go o swoje rozwiązania
  • Screen Saver
    Konieczności oszczędzania monitora nie trzeba chyba wyjaśniać nikomu. Świecący godzinami na biało ekran (bardzo częste zjawisko wśród posiadaczy Spectrum), któregoś dnia przestanie świecić na biało, bo wypali się luminofor(...) Ideą działania wygaszacza jest wygenerowanie ciemnego obrazu po wykryciu faktu, ze przez dłuższy czas (np. 5 minut) użytkownik nie korzysta z komputera. Z chwilą naciśnięcia klawisza lub poruszenia myszki, obraz powraca do stanu początkowego; dzięki temu wygaszacz nie utrudnia pracy(...) Program z listingu spełnia powyższe założenia, a nawet potrafi trochę więcej. Przede wszystkim reaguje na naciśnięcie dowolnego klawisza (także shiftóW) oraz na poruszenie joystickiem, podłączonym do portu Kempston Zawartość obrazu jest przechowywana w sposób maksymalnie oszczędny. Ponieważ cała pamięć obrazu zajmuje aż 6912 bajtów, nie można buforować całej treści - zabierałoby to zbyt wiele pamięci.

    Autor listingu: Jacek Trojański

    Listing nadesłał: Gelip

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Saper
    Po ukazaniu się w Bajtku 8-9/93 programu „Saper" dla komputera Amstrad, otrzymaliśmy sporo listów z zapytaniem, czy taki program istnieje na Spectrum. Odpowiedź jest jak zwykłe prosta: nawet jeśli takiego programu nie ma, to można go napisać(...) Większość czytelników, którzy zetknęli się z systemem MS Windows, znają prostą grę pod nazwą Minesweeper. Chodzi w niej o to, by zlokalizować na określonym polu wszystkie ukryte miny.

    Autor listingu: Jacek Trojański

    Listing nadesłał: Gelip

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kostka Ciężarka

    Kilka lat temu wszyscy się bawili kostką Rubika, a mój brat cioteczny nawet wygrał konkurs na szybkość jej układania w Teleranku (...) Taki jesteś mądrala? To dzisiaj mam dla Ciebie kostkę Ciężarka, zobaczymy jak dasz sobie radę. Zadanie jest bardzo proste - za pomocą pięciu możliwych przesunięć należy ułożyć układankę - czyli napis opiewający cudowność Bajtka i deklarujący wierność temu tytułowi... Uwagi: Pierwotny listing był przeznaczony na IBM PC (Marek Ciężarek), Gelip przepisał go na ZX Spectrum, dodając obsługę kursora (Kempston)

    Autor listingu: Marcin Borkowski pps. Marek Ciężarek, Gelip

    Listing nadesłał: Gelip

    Język programu: brak danych

    Stan listingu:

    5
    Listing wzbogacony - uruchamia się na emulatorze lub realnej maszynie, przepisujący listing wzbogacił go o swoje rozwiązania
  • Tetris

    Do tej gry nie napisano żadnej wymyślnej legendy. Co więcej, nie ma jej w ogóle. Dlatego wolni od spojrzeń całej ludzkości możemy oddawać się tej grze bez sensu... Obok zamieszczamy listing tej gry na ZX Spectrum. Została ona okrojona z nieistotnych efektów i w 972 bajtach i 20 liniach Basica mieści się cały Tetris. Uwagi: Pierwotnie program ukazał się w numerze Bajtka 11/1989 autorstwa Michała Sobieszuka. Niestety listing był błędny i dopiero w numerze 03-04/1990 został podany poprawny zapis, jednak z innymi autorami.

    Autor listingu: Michał Sobieszuk,Maciej Pietraś,Marcin Przasnyski

    Listing nadesłał: Gelip

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Kubuś Literka
    Proponuję Wam zabawę w pisanie gry komputerowej.Zaczniemy od najważniejszej rzeczy, czyli zaprogramowanie bohatera Kubusia Literki. Potem nauczymy go tańczyć.

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Ochrona programów
    Przedstawiam sposób na włączenie Twoich programów do grupy tych nielicznych, które nie poddają się programom kopiującym. Proponowane zabezpieczenie, choć proste w swej idei, do złamania wymaga niezłe] znajomości kodu. maszynowego oraz zasad działania ROM-u. Jest więc całkowicie skuteczne wobec wszystkich tych, którzy bazują jedynie na programach kopiujących i co najwyżej potrafią obezwładniać proste blokady wmontowane w programy BASIC-owe. Na fachowców niestety nie ma żadnej rady. Tym można co najwyżej zabrać więcej czasu. Jest ich na szczęście (?) niewielu i na ogół mają ciekawsze zajęcia niż łamanie Twoich programów.

    Autor listingu: Andrzej Kadlof

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Drążek sterowy
    Program pozwala na rysowanie na ekranie monitora dowolnych kształtów poprzez odpowiednie poruszanie drążkiem. Naciśnięcie przycisku dodatkowego powoduje zniknięcie rysującego punktu. Będzie się on poruszał nadal, tak jak dotychczas, a ukaże się w chwili zwolnienia przycisku.

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Drążek sterowy
    Programu na mikrokomputer Commodore VC-20 umożliwiający sprawdzenie działania naszego urządzenia. Po podłączenia drążka sterowego na ekranie będą pojawiać się cyfry odpowiadające poszczególnym położeniom drążka

    Autor listingu: Tomasz Lison

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Największa przyjemność
    Przedszkolaki podnieście bunt! Wystarczy przecież kilka minut KOMPUTER z groźnego i strzelającago przeciwnika stał się Waszym przyjacielem, który na przykład przeegzaminuje Waszą znajomość matematyki, będzie przy tym wyrozumiały dla popełnianych błędów i nigdy się nie zmęczy. Na początek powiem Wam jak można żądać od komputera, aby sprawdził, czy już umiecie dodawać dwie liczby, z których każda nie jest większa od 10.

    Autor listingu: ps. Marek

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Budowa ZX Spectrum
    Trzy krótkie programy (a w zasadzie trzy linijki) ilustrujące artykuł (działanie ULA)

    Autor listingu: Krzysztof Kuryłowicz,Dariusz Madej

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Pędzel i stos

    Przykładowy podprogram zamalowujący wraz z Program napisano w języku BASIC dla ZX Spectrum. W większości zastosowań praktycznych działanie programu w języku BASIC okaże się zbyt wolne. Radykalnym rozwiązaniem jest zastosowanie szybkiej procedury napisanej bezpośrednio w języku maszynowym. Procedura taka na użytek naszych Czytelników została opracowana. Aby umożliwić skorzystanie z niej także tym, którzy nie znają asemblera, przygotowano specjalny program ładujący w języku BASIC.

    Autor listingu: Roland Wacławek

    Listing nadesłał: Faust

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Życie Maklera
    Trudne jest życie maklera. Masz szansę stać się milionerem. Twój majątek to akcje kopalni rudy, czy zrobisz na nich fortunę? — wszystko zależy od Ciebie. Program na Commodore 64 przeniesie Cię na giełdę. Czy potrafisz zarobić?

    Autor listingu: brak danych

    Listing nadesłał: Ramos

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Numeryczna metoda znajdowania wartości pierwiastków funkcjii
    Program nie tylko oblicza pierwiastki, ale również wykreśla funkcję w rozpatrywanym przedziale, zaznacza na wykresie położenie osi X i Y (liniami przerywanymi) oraz położenie znalezionych miejsc zerowych.

    Autor listingu: Tomasz Kostryński

    Listing nadesłał: Faust, Andys

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Weryfikacja programów na kasecie
    Użytkownicy mikrokomputerów ATARI mający do dyspozycji magnetofon kasetowy jako pamięć masową niejednokrotnie stają przed problemem, czy zapisany właśnie na taśmie program — efekt wielogodzinnej nieraz pracy, zapisał się bez błędów i da się następnie bez kłopotów wczytać. ATARI BASIC nie ma instrukcji pozwalającej na sprawdzenie poprawności zapisu na taśmie. Przedstawiony tutaj program pozwala w znacznym stopniu wyeliminować tę niedogodność.

    Autor listingu: Mariusz J. Giergiel

    Listing nadesłał: Bluki

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Renumeracja programów w języku basic
    Przedstawiony program pozwala przenumerować linie programu w języku BASIC. Zmienia on numery linii i odwołania do nich (np. w instrukcjach GOTO, GOSUB, TRAP itp.). Program renumerator należy zapisać instrukcią LIST „C:" w przypadku korzystania z magnetofonu, lub instrukcją LIST „D:REUM.LST" w przypadku korzystania ze stacji dyskietek.

    Autor listingu: Mariusz J. Giergiel

    Listing nadesłał: Bluki

    Język programu: brak danych

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Animacja
    Mikrokomputery ATARI oferują sze- rokie możliwości łatwego tworzenia ru- chomych obrazów, co w połączeniu z bo- gatą kolorystyką stwarza niepo wtarzal- ną szansę dla programistów — ekspery- mentatorów. Poniżej zamieszczamy krótki pro- gram w BASIC-u, który pozwoli zobrazo- wać użycie techniki przełączania stron i, mamy nadzieję, zachęci czytelników do dalszego eksperymentowania. Program ten będzie działał na wszyst- kich komputerach ATARI wyposażonych w minimum 32 K pamięci operacyjnej (800XL, 130XE). Na podstawie ANTIC 9.85

    Autor listingu: Marek Kuliński

    Listing nadesłał: Bluki

    Język programu: brak danych

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Szansa

    Zapewne nie raz zdarzyło się Wam prosić rodziców o pieniążki na kupno różnych, niezbędnych rzeczy. Uzyskiwane odpowiedzi rzadko kiedy mogą nas usatysfakcjonować, sprowadzają się bowiem zazwyczaj do mniej lub bardziej eleganckiej odmowy. Zanim wreszcie wyprosimy potrzebną sumę, niepowtarzalna okazja ucieka, a w pamięci pozostaje jedynie obiecanka: „jak wygram w TOTO-LOTKA to ci dam.” Ciężko jest znaleźć na to jakąś skuteczną radę. ale być może przy pomocy ulubieńca całej rodziny — komputera, uda się nam odnieść pewne umiarkowane sukcesy. Zakradnijmy się więc do owej cudownej skrzynki i rozpocznijmy budowę programu, który może przekona Tatę o konieczności wpłace nia nam żądanej sumy bez czekania na wielką (a choćby i mniejszą) wygraną w TOTO-LOTKA.

    Autor listingu: ps. Marek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • FlowChart

    Nawet w przypadku stosunkowo prostych i krótkich listingów ich analiza "w pamięci" sprawia sporo kłopotów. I tu znowu przydaje się umiejętność przedstawiania algorytmów w postaci schematów blokowych. Narysowanie takiego schematu na podstawie programu zajmuje co prawda sporo czasu, lecz w gruncie rzeczy nie jest to praca wymagająca zbyt dużego wysiłku intelektualnego — a więc coś w sam raz dla komputera. Program, którego listę rozkazów przedstawiamy na następnej stronie, został napisany przez Briana Sidesa, na ZX Spectrum. Zawiera on zaledwie 52 linie i z powodzeniem zastępuje nas w tych pracochłonnych czynnościach. Oczywiście dotyczy to programów napisanych w BASIC–u.

    Autor listingu: Brian Sides, Roman Poznański

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Więcej ruchu

    Przypuszczam, że i Was denerwuje brak rucha na ekranie. A bez ruchu — wiadomo, nie można prawie w nic grać i znacznie szybciej nudzi się nam siedzenie przed telewizorem. Jedyna rada — rozruszać znaki na ekranie.

    Autor listingu: ps. Marek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Choinka

    Wiemy już, z poprzedniego numeru BAJTKA, na jakiej zasadzie można uzyskać ruch wybranego przez nas znaku na ekranie telewizora. Przypomnę, że polega to na tak szybkiej, że niewidocznej dla oka, zmianie miejsca wydruku owego znaku. Jak pamiętacie, miejsce znaku literowego czy graficznego na ekranie opisane jest dwiema współrzędnymi: numer linii i numer kolumny. (Mówimy ciągle o działaniach na znakach - typu liter, przy grafice używającej punktów sprawy będą się miały nieco inaczej, chociaż zasada jest taka sama).

    Autor listingu: ps. Marek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Grafika

    Prezentowany przykład wykazuje, jak interesujące efekty uzyskać można przy pomocy bardzo krótkich programów graficznych. W naszym przypadka są to zaledwie trzy linie. Zwróćcie uwagę na to, że wszystkie grafiki zostały narysowane w wyniku realizacji tego samego programu — zmieniły się jedynie parametry.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • SPECTRUM i klakson (aka Dźwięki)

    Program przeznaczony jest dla użytkowników ZX Spectrum, którzy nie opanowali jeszcze języka maszynowego a chcieliby poeksperymentować z dźwiękiem na SPECTRUM. Poniższe programy maszynowe (umieszczone w DATA) można wykorzystać we własnych programach.

    Autor listingu: Krzysztof Bielewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Wiosełka

    Opisane w tym artykule urządzenie współpracujące z mikrokomputerem nie doczekało się jeszcze polskiej nazwy. W języku angielskim brzmi ona paddle, co oznacza wiosło, a raczej pagaj. Ponieważ jesteśmy przeciwnikami bezmyślnego zaśmiecania naszego języka obcymi słowami, proponujemy naszą rodzimą nazwę — wiosełka. Po zakończeniu pracy możemy sprawdzić, czy nasze urządzenie działa, przy pomocy następującego programu.

    Autor listingu: Rafał Łochowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Efekt Magnetronowy

    Prezentowany program napisany na mikrokomputer ZX SPECTRUM stanowi ilustrację do ciekawego zjawiska fizycznego, zwanego efektem magnetronwym. Zrealizowany w formie zabawy ułatwia zrozumienie praw fizyki. Jeżeli cząsteczka o masie „m” i ładunku elektrycznym „e” wpadnie z prędkością „v” prostopadle w jednorodne pole magnetyczne „B” to tor jej ruchu zacznie się zakrzywiać. Gdy pole będzie wystarczająco duże, cząsteczka może zostać uwięziona w nim, gdyż będzie się stale poruszała po tym samym okręgu o promieniu „R” z częstotliwością kątową „w”. Płaszczyzna okręgu jest prostopadła do kierunku pola magnetycznego. Jest to właśnie efekt magnetronowy.

    Autor listingu: Tomasz Kostrzyński

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Powiększanie napisow

    Właśnie skończyłeś układać grę, która, jak sądzisz podbije światowe rynki. Brakuje w niej tylko jednego, wspaniałego obrazka, który uprzyjemniałby czas podczas ładowania programu. Dodatkowy problem stwarza fakt, że nie masz pióra świetlnego. Być może jedynym ratunkiem będzie w takim przypadku jeden z czterech poniższych programów. Wszystkie te programy służą do powiększania dowolnych napisów (również tych zawierających UDG). Tekst przeznaczony do powiększania drukowany jest w dolnej części ekranu, a następnie każdy jego punkt jest sprawdzany funkcją „POINT”, która bada stan tego punktu (1 — zamalowany, 0 — nie). Jeżeli „POINT” wynosi 1 w odpowiednim miejscu ekranu powstaje jego powiększona kopia, a następnie cała litera (znak) i napis.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • W poszukiwaniu bliźniaka Ziemi

    W listopadowym numerze „Creative Computing” z zeszłego roku znalazł się artykuł H. Carlsona p.t. „W poszukiwaniu bliźniaka Ziemi”. Autor prezentuje program umożliwiający prosty sposób przebadania wielu układów planetarnych. Wybieramy masę gwiazdy, której układ chcemy zbadać. Program tworzy — w części losowo – typowy system planetarny dla tej gwiazdy, korzystając z obecnego rozumienia praw tworzenia się układów planetarnych (są one lepiej poznane dla gwiazd o masie Słońca – M = 1). Systemy tworzone dla gwiazd o innych masach są właściwie losowe. Promienie orbit wyznaczone są ze zmodyfikowanego prawa Titius–Bodego – promienie rosną średnio w postępie geometrycznym na zewnątrz od gwiazdy.

    Autor listingu: H. Carlson

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Liczydełko

    Dzisiaj coś dla leniuchów. Tych, którym nie chce się liczyć. Komputer Wam pomoże. Ale nie ma nic za darmo. Trzeba nauczyć się korzystać jeszcze z kilku instrukcji. Nasz program będzie dodawał, odejmował, mnożył i dzielił. A więc na początku komputer musi nas poinformować jaki mamy wybór.

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Sterowanie

    Na ekranie widzimy tor poruszającego się obiektu. Naszym zadaniem jest sterowanie stacją namierzającą obiekt tak, aby odchylenie między położeniem obiektu (linia ciągła) i namiarem (linia przerywana) było jak najmniejsze. Wartość odchylenia jest widoczna na ekranie i ponadto sygnalizowana wysokością tonu, od ciszy przy największych odchyleniach (tracimy kontakt z obiektem) poprzez wysoki ton przy dużych odchyleniach do niskiego tonu przy małych odchyleniach i najniższego przy pokrywaniu się obu torów.

    Autor listingu: Michał Szuniewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Mapa

    Program generuje na podstawie liczb przypadkowych obraz przypominający mapę lub zdjęcie satelitarne. Rysowanie rozpoczyna się od punktu o współrzędnych 128,88. Współrzędne kolejnych punktów wybierane są na podstawie liczby przypadkowej generowanej przez funkcję RND. W zależności od tej liczby zmianie ulega współrzędna x lub y punktu zmniejszając się lub zwiększając o dwa. W ten sposób na ekranie powstaje obraz złożony jedynie z punktów o parzystych współrzędnych.

    Autor listingu: Michał Szuniewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • BEEP dla Commodore 64

    Przedstawiony poniżej program umożliwia uzyskanie akustycznego podsłuchu wciśnięcia klawisza (BEEP). Po wpisaniu programu lub wczytaniu go z taśmy/dysku program można uruchomić za pomocą RUN i RETURN; po wyłączeniu go (kombinacja STOP i RESTORE wciśnięte jednocześnie) sygnalizator można uruchomić za pomocą instrukcji SYS 49152 i RETURN.

    Autor listingu: Klaudiusz Dybowski, Michał Silski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • TurboManiac

    Rezydujący w pamięci Commodore 64 BASIC 2.0 stanowi jeden z najsłabszych punktów tego komputera. Układanie własnych programów wykorzystujących grafikę wysokiej rozdzielczości, muzykę czy tak zwane spritey potrafi porządnie skomplikować życie nawet zaawansowanemu programiście.
    W sukurs użytkownikom przychodzą profesjonalne firmy parające się oprogramowaniem wypuszczając na rynek coraz to nowsze i lepsze rozszerzenia ubogiej wersji tegoż języka (SIMONS BASIC, ULTRABASIC, METABASIC itp.). Przedstawiony program napisany został w klubie mikrokomputerowym „Maniak” w Warszawie (stąd nazwa MANIAK TURBO). Staraliśmy się rozwiązać w nim wszystkie niedogodności, które utrudniały nam prowadzenie zajęć klubowych.
    Niektóre rozwiązania i procedury zostały zaczerpnięte z literatury fachowej (procedura RE–LINE oraz STOP–LIST pochodzą z magazynu “AHOY!” z grudnia 1985; generator skrótów z książki “MAPPING THE COMMODORE 64”) i dołączone następnie przez nas do naszego programu.

    Autor listingu: Klaudiusz Dybowski,Michał Silski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Rozmówka

    Każdy wie, że komputer potrafi liczyć. I to nawet bardzo szybko. Także, to że można przy jego pomocy stworzyć na ekranie telewizora poruszającą się figurkę nie jest żadną rewelacją. Ale czy mógłby porozmawiać z nami? Ot, choćby przywitać się i wymienić kilka grzecznych słów?

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • TurboManiac v2

    Poprawiona nakładka na Commodore Basic z usuniętymi błędami z jakimi ukazał się w Bajtku.

    Autor listingu: Klaudiusz Dybowski,Michał Silski

    Listing nadesłał: brak danych

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Kalendarz

    Ten program napisany w BASIC-u na SPECTRUM przydać się może każdemu — „Kalendarz” na każdy miesiąc do- wolnego roku naszego stulecia. Wystarczy podać nazwę miesiąca i rok, a na ekranie monitora pojawią się kolejne dni i tygodnie. Sprawdź, czy nie urodziłeś się w niedzielę, zobacz, w jaki dzień będą Twoje urodziny w roku 2000.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Mapa Polski

    Nie jest to program o finezyjnej konstrukcji; punkt po punkcie odwzorowuje granice naszego państwa. Możliwości graficzne mikrokomputera SPECTRUM nie są duże — stąd każdy rysunek „przędzie się” mozolnie. Cierpliwych zachęcamy do wspólnej pracy. Może razem uda nam się przygotować komputerową mapę Polski, na której zaznaczycie miejscowości, w których działają kluby komputerowe.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Wykres Funkcji

    Program rysuje wykresy wartości zadanych wyrażeń algebraicznych w określonym zakresie wartości i przedziale zmienności argumentu x. Wprowadzane wyrażenia mogą być dowolnymi wyrażeniami algebraicznymi złożonymi z operatorów arytmetycznych, stałych, zmiennej x, arytmetycznych funkcji standardowych dostępnych w BASIC-u na SPECTRUM.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Wyścigi psów

    „Wyścigi psów” są grą. Wygrywa ten, kto trafnie przewidzi kolejność psów na mecie. Nie jest to sprawa prosta, bowiem o zwycięstwie decyduje generator liczb losowych. Powodzenia.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Pisać nie pisac

    Oto krótki program umożliwiający posługiwanie się polskim alfabetem w trakcie pisania własnych programów na komputerach Amstrad 464 (664) 6128.

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • Miniorgany

    Może zainteresuje cię program, będący świetnym upominkiem dla młodszej siostry lub brata. Zapewnia on pełne wykorzystanie bogatych możliwości dźwiękowych Amstrada (Schneidera). Dwa najniższe rzędy klawiszy literowych zostają zamienione na klawiaturę instrumentu zgodnie z rysunkiem, który pojawia się po uruchomieniu programu.

    Autor listingu: Sergiusz Wolicki

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Animacja

    Oglądając programy telewizyjne „Spectrum" i „Sonda" często podziwiamy, jak przed oczami projektanta obraca się na komputerowym ekranie wspaniały, trójwymiarowy przekrój samochodu. Napewno niejeden programista-amator marzy o stworzeniu takiego obrazu za pomocą mikrokomputera. Niestety, kiedy uruchamia on napisany mozolnie w BASIC-u program rzednie mu mina.
    Wrażenie ruchu jakiegokolwiek większego przedmiotu jest bowiem znacznie osłabione przez migotanie całego rysunku. Wynika to ze sposobu, w jaki konstruuje się ruchome obrazy na ekranie. Najpierw trzeba narysować przedmiot w jednym położeniu, zmazać go. narysować w następnym, znowu zmazać itd. ... A wszystko to dzieje się przecież stosunkowo wolno.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Paskudne Mrówki (aka Piknik)

    Piknik - wybrałeś się na uroczą — jak ci się zdawało — wycieczkę na łono natury. Niestety, stałeś się ofiarą napadu ze strony okrutnych mrówek, które usiłują porwać ci śniadanie. Jeśli nie chcesz być głodny, musisz zdeptać złodziejki. Twoje zapasy składają się z trzech owoców, zaś każde cztery mrówki, które przepuścisz uniosą jeden z nich. Staraj się więc... Jest jeszcze jedna trudność, ale o niej dowiesz się sam, gdy uda ci się uruchomić program. Gra ta, opracowana przez pana Grahama Ramsdena (z drobnymi przeróbkami piszącego te słowa) nie wzbudzi zapewne entuzjazmu wśród miłośników przyrody. Ma jednak kilka zalet, niezależnie od tego, kto kogo w niej depcze. Przy pomocy stosunkowo krótkiego programu, udało się autorowi uzyskać ciekawą grafikę i animację. Gra uzupełniona jest również zupełnie przyzwoitymi efektami dźwiękowymi.

    Autor listingu: Graham Ramsden, Roman Poznański

    Listing nadesłał: Faust, Andys

    Język programu: Basic

    Stan listingu:

    5
    Listing wzbogacony - uruchamia się na emulatorze lub realnej maszynie, przepisujący listing wzbogacił go o swoje rozwiązania
  • Lądowanie na księżycu

    Kto z nas nie marzył o tym, by pilotować ,prawdziwy statek kosmiczny? Jeśli masz do dyspozycji jakikolwiek komputer, możesz sam stworzyć sobie taką możliwość, a przy okazji zyskasz satysfakcję z samodzielnego napisania programu. Rzućmy się od razu na głęboką wodę, a więc spróbujmy wykonać najtrudniejszy element pilotażu — lądowanie. Ten manewr polega na odpowiednim wytrącaniu prędkości, w wyniku hamowania silnikami. Należy tak regulować siłę ciągu silników, aby pojazd — w chwili zetknięcia się z ziemią miał odpowiednio małą prędkość. W przeciwnym przypadku po prostu rozleci się na kawałki. Dodatkową trudnością jest ograniczona ilość paliwa, którą dysponujemy — jeśli nam go zabraknie to... lepiej nie myśleć. Program w wersji przedstawionej na wydruku zastał opracowany na wszystkie mikrokomputery z rodziny Commodore. W przypadku innych, należy dokonać kosmetycznych poprawek.

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust, Andys

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Ruchomy krajobraz

    Program „Ruchomy krajobraz" wykorzystuje operację przesuwania ekranu w lewo o jeden punkt. Ekran ZX Spectrum składa się z trzech poziomych części po 64 linie. Przesuwając osobno każdą z nich można uzyskać ciekawe efekty.

    Autor listingu: Michał Szuniewicz

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Trójwymiarowa grafika

    Trójwymiarową grafikę, wraz z programem (BASIC — wersja BBC) można było zobaczyć podczas seminarium brytyjskiej firmy 3SL poświęconemu komputerowemu wspomaganiu nauczania. Odbywało się ono w ostatnich dniach lipca br. w Instytucie Maszyn Matematycznych w Warszawie, a towarzyszył ma pokaz systemu mikrokomputerowego firmy BBC.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Dźwięk

    Zdaniem wielu użytkowników brak dźwięku jest jednym z poważniejszych niedostatków mikrokomputera MERITUM. Jest to jednak wada pozorna: wszystkie MERITUM, począwszy od pierwszych egzemplarzy, posiadają możliwość uzyskiwania efektów dźwiękowych, nie było to jednak opisywane w oficjalnych publikacjach producenta.

    Autor listingu: Maciej Deptuch, Władysław Majewski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Pętla

    Ten program służy do prezentacji tekstu, może być wykorzystany w każdym programie użytkowym i nie tylko. Dowolnie długi tekst przesuwa się z lewej strony ekranu na prawą.

    Autor listingu: Roman Poznański

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Programowanie Gier Logicznych

    Przykładem gry o znanej strategii jest NIM, częściej uprawiana, niż znana z nazwy. Najpowszechniej stosowanym rekwizytem w NIM są zapałki. Oto zasady. Gra dwóch graczy. Przed grą układają zapałki w trzy rzędy o dowolnej ilości w każdym. Ruch polega na zabraniu z jednego dowolnie wybranego rzędu dowolnej ilości zapałek — od jednej do wszystkich w rzędzie.

    Autor listingu: Janusz Kraszek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Sprawdzian

    Program "sprawdzian" nie tylko przeegzaminuje dziecko, wystawi ocenę z każdego z typów działań arytmetycznych oraz ocenę łączną, ale i podając przy błędnych odpowiedziach prawidłowy wynik, być może i czegoś nauczy. Jest też i nagroda dla piątkowiczów - jej pełny urok można poznać jednak jedynie dysponując kolorowym monitorem, chociaż wyrazy uznania ze strony komputera nie ominą oczywiście i posiadaczy telewizorów monochromatycznych.

    Autor listingu: ps. Marek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Compact

    Compact jest programem na 16/48KB Spectrum pozwalającym na zmniejszenie zajetości pamięci i zwiększenie szybkości działania innych programów napisanych w BASIC-u. Umożliwia wykonywanie trzech podstawowych operacji:
    — skracanie zapisu liczb bez wpływu na dokładność obliczeńczeń;
    — skracanie długich nazw zmiennych do nazw dwuznakowych w postaci: A0, C0, D0... ZZ;
    — kompresja (łączenie) wierszy programu jeśli jest to możliwe.

    Autor listingu: brak danych

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Odzyskiwanie plików skasowanych omyłkowo na dyskietce

    Instrukcja |ERA w Basic Locomotiv umożliwia skasowanie pliku na dyskietce np. w celu uzyskania miejsca na wpisanie innego programu. Użycie tej samej instrukcji wymaga szczególnej ostrożności, ponieważ skasowany przy jej użyciu plik nie będzie wykazywany po użyciu instrukcji CAT (katalog).
    Powyższy program napisany na BASIC-u umożliwia odtworzenie skasowanego przez omyłkę pliku, o ile powykonaniu instrukcji |ERA na dyskietkę nie został zapisany inny plik.

    Autor listingu: Wojciech Ziółek

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • Skarb kubusia

    Nasz stary przyjaciel Kubuś Literka wybrał się tym razem na poszukiwanie skarbów. Stoi przed nim bardzo trudne zadanie. Skarb został ukryty w jednej z komnat zamku a jest ich dokładnie sto. Żeby było jeszcze trudniej Kubuś nie może wziąć skarbu nim nie zbierze trzech fantów ukrytych w innych komnatach. Trzymaj się Kubusiu!

    Autor listingu: Roman 'Romek' Poznański

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    3
    Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
  • 64 kolumny

    Program ten (1,3 kB),przeznaczony dla ZX Spectrum 48 kB umożliwia uzyskanie na ekranie 64 kolumn tekstu zamiast standardowych 32. Pozwala na to dodatkowy rozkaz TAB (EXTENDED MODE P) o formacie prawie takim samym jak rozkaz PRINT. Umożliwia on drukowanie zarówno tekstów, jak i liczb w dowolnych kombinacjach używając operacji AT, średników, przecinków, funkcji, rozkazów zmieniających kolor itp.

    Autor listingu: Andrzej Zagrodziński

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    2
    Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
  • Spectrum i drukarka DZM-180

    Jednym z podstawowych urządzeń peryferyjnych komputera jest drukarka. Z uwagi na duże rozpowszechnienie w kraju mikrokomputerów SINCLAIR ZX SPECTRUM oraz drukarek DZM-180 produkowanych przez MERA-BŁONIE, celowym stało się opracowanie urządzenia sprzęgającego (interface'u), umożliwiającego ich wzajemną współpracę. Do przesyłania informacji opracowano program obsługi interface'u w języku BASIC, składający się z podprogramów LLIST i COPY. Program obsługi należy dołączyć do programu użytkownika za pomocą instrukcji „MERGE".

    Autor listingu: Andrzej Ciepliński,Konrad Fedyna,Marek Mizeracki

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
Dodaj listing
Powrót do spisu

Dodaj plik z listingiem *

    Jeżeli posiadasz plik wykonywalny i źródłowy spakuj je w jedno archiwum. Wielkość pliku nie może przekroczyć 2mb. Wszystkie pozostałe pola są niewymagane, jednak ułatwiłoby dużo, gdybyś podał przynajmniej orientacyjnie skąd jest listing, a jeżeli jest Twojego autorstwa pozostaw namiar.

    Nazwa programu:

    Nazwa programu lub nazwa artykułu, z którego pochodzi.

    Stan listingu

    Jak oceniasz stan przesłanego listingu, jeśli jego działanie wymaga dodatkowego wyjaśnienia dodaj go w opisie.

    Opis programu:

    Opis działania programu. Zauważone problemy w funkcjonowaniu. Dodatkowe informacje.

    Autor listingu

    Autor artykułu/listingu zamieszczanego pliku. W razie wielu autorów odzielaj ich przecinkami

    Platforma

    Mikrokomputer, na który pochodzi listing. Jeśli danej platformy nie ma w spisie wprowadź jej nazwę w pole poniżej.

    Język listingu

    Język listingu, np. TurboBasic, BasicXL, MSBasic itp.

    Źródło

    Jeśli program jest Twojego autorstwa pozostaw puste.

    Twój nick

    Twój nick, ewentualnie dane osoby, która program wklepała, w razie wielu autorów odzielaj ich przecinkami.

    Email

    Do celów edycyjnych, informacyjnych i kontaktowych - bez podawania go jawnie.