Ready/Run

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

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