Ready/Run

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

Listingi w bazie
Dodaj listing
  • 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
  • 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
  • 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
  • Ś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
  • 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
  • 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
  • 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
  • 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
  • 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ą
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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ą
  • 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.