Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
-
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:
2Listing skorygowany - zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, jednak z organiczoną funkcjonalnością
-
Mikrusek - Kolędy, Słowa
Prezentujemy propozycje Grzegorza Rowińskiego (lat 11) z Warszawy.
Grzegorz przysłał dwa programy napisane na mikrokomputerze Amstrad. Pierwszy z nich (po prawej) jest programem muzycznym i daje nam możliwość wysłuchania czterech kolęd. Nie byłoby w tym pewnie nic ciekawego — program wykorzystuje zaledwie ułamek możliwości muzycznych Amstrada — gdyby nie fakt, że Grzegorz bardzo sprytnie wykorzystał linie DATA z podobnego programu na Spectrum.
Programowanie dźwięku w Spectrum i Amstra-dzie odbywa się na całkowicie różnych zasadach. Okazuje się jednak, że komputer w rękach sprytnego programisty może sobie poradzić także z takim kłopotem. Tajemnica tkwi w liniach 70 i 80, w których następuje tłumaczenie muzycznego zapisu Spectrum na zrozumiały dla Amstrada.
Drugi program Grzegorza (poniżej) służy do sortowania — układania w kolejności alfabetycznej dowolnych słów. Co prawda przyjęty algorytm sortowania wymaga wykonania dużej liczby operacji i skutkiem tego, sortowanie większych zbiorów trwa dość długo. Niemniej jednak program działa poprawnie i może być przydatny chociażby ze względu na swą prostotę. Przede wszystkim zaś jest to program napisany samodzielnie.Autor listingu: Grzegorz Rowiński
Listing nadesłał: Faust
Język programu: Locomotive Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: bajtek-387--cpc-mikrusek-t2e.pl.zip
-
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:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: bajtek-387-spectrum-bzzz-t2e.pl.zip