Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
-
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:
4Listing 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:
3Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznychPobierz: cpc_Firma_bajtek_101987-t2e.pl.7z
-
BAJTEK dla COMMODORE 64
Trudno mi było wybrać lepsza nazwę dla tego programiku zajmującego 38 bajtów pamięci od adresu 680 do 717. Program ten może być pomocny przy wszelkich pracach związanych z operacjami na bitach takimi jak projektowanie własnej czcionki i kroju liter, znaków dla drukarki itp.
Zadaniem głównym programu jest określenie, które bity są ustawione (włączone) i jaka jest ich wartość dla danej wartości dziesiętnej w zakresie od 0 do 255. W tym celu należy ową wartość wpisać za pomocą POKE do komórki 2 i wykonać SYS 680. Pod spodem ukaże się „czarno na białym” (czyli w rewersie), które z bitów są ustawione (wartości większe od zera), a które są wyłączone (równe 0). Z programu można korzystać zarówno w trybie ekranowym (bezpośrednim) jak też i w trybie programowym. „BAJTEK 64” zawiera w sobie także krótką demonstrację, nie powinno być więc kłopotu z jego wykorzystaniem. Poniżej przedstawiono również procedurę w języku wewnętrznym realizującą opisywaną funkcję. Gdy z jakichś powodów adres 680 ($02A8) nie będzie użytkownikowi odpowiadał, program można przenieść w dowolny obszar pamięci (jest on w pełni relokowalny). „BAJTEK 64” wykorzystuje komórki na stronie zerowej o adresach 2, 251 i 252 ($02, $FB i FC).
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: c64_Bajtek54_bajtek_101987-t2e.pl.7z
-
DOS+ dla C64
Nagroda za cierpliwe (i bezbłędne!) wpisanie poniższego programu jest uzyskanie trzech dodatkowych rozkazów bardzo przydatnych wszystkim posiadaczom stacji dysków.
Pierwszy z nich umożliwia wczytywanie katalogu (directory) dyskietki bez jednoczesnego kasowania zawartości pamięci RAM:
$ — umożliwia wczytanie całego katalogu, lub
$ „nazwa 1”, „nazwa 2”,
co z kolei pozwala nam na wczytanie jedynie określonej grupy tytułów Np.
* „TER*”, „??FOX
spowoduje wczytanie wszystkich tytułów których trzy pierwsze znaki stanowią litery TER oraz te tytuły w których znaki trzeci czwarty i piąty są literami FOX Jeżeli użyjemy $ i cudzysłowu /$ „/, to wyświetlona zostanie nazwa dyskietki i ilość wolnych bloków. Wciśnięcie klawisza spacji (odstępu) spowoduje pauzę we wczytywaniu katalogu (wznowienie za pomocą RETURN); Klawisz STOP przerywa wczytywanie na stałe.
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: c64_DosPlus_bajtek_101987-t2e.pl.7z
-
Instrukcje SSHAPE I GSHAPE Dla C-128/16/116/+4
Obie te instrukcje są instrukcjami graficznymi i odnoszą się do grafiki wysokiej rozdzielczości (HIRES). SSHAPE pozwala nam Przypisać zmiennej tekstowej dowolnie wybrany obszar ekranu graficznego natomiast GSHAPE umożliwia jego odtworzenie w określonym miejscu. Obszary o których mowa mają zawsze kształt prostokąta lub kwadratu
Dla użytkowników takie rozwiązanie jest bardzo wygodne. Przypuśćmy, że chcemy powielić na ekranie w paru miejscach np. obraz jakiejś figury. W wersjach BASIC pozbawionych tych instrukcji trzeba by było w tym celu stworzyć odpowiedni podprogram figurę tą tworzący, a następnie zmieniając odpowiednio parametry kolejno go wywoływać co jest oczywiście powiązane z wolniejszym wykonywaniem programu i większą zajętością pamięci (...) przedstawiam mały program demonstracyjny, pokazujący w jaki sposób można korzystać z opisanych w artykule instrukcji. Linia 120 powoduje skasowanie i wyczyszczenie pamięci ekranu graficznego. Następnie (linia 125) w lewym rogu ekranu wykreślane jest małe kółko, które zostaje przypisane zmiennej A$ (linia 130). SCNCLR w linii 140 powoduje ponowne wyczyszczenie ekranu i odtworzenie uprzednio zapamiętanego pod zmienną A$ obrazu kółka. Stosując pętle otrzymujemy w rezultacie na ekranie szereg kółek.
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: Commodore Basic 3.5
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: c128_sshape_bajtek_101987-t2e.pl.7z
-
CHAR, RDOT czyli tekst i grafika
Żalił mi sie ostatnio pewien mój znajomy, że ma kłopoty z wyświetleniem na ekranie wysokiej rozdzielczości wyników obliczeń wraz z wykresem funkcji. Oprócz tego kilku Czytelników miało również wątpliwości jak należy stosować instrukcje CHAR i funkcję RDOT w wyniku czego powstał poniższy program.
Ponieważ ma on charakter demonstracyjny i składa się z dwóch części proponowałbym przed uruchomieniem postarać się o szklankę herbaty; druga bowiem część tego programu wykonuje się przez ok. 28 minut, ale za to otrzymujemy przepiękny trójwymiarowy wykres funkcji. Program można uruchomić na Commodore 128, 16, 116 i PLUS/4.
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: Commodore Basic 3.5
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: c128_rdot_bajtek_101987-t2e.pl.7z
-
Generator Rytmów
Przypuszczam, że wielu początkujących muzyków czy też muzykantów ma pewne kłopoty z utrzymaniem rytmu. Sądzę tak, ponieważ sam jestem (i zapewne już zostanę) takim właśnie muzykantem. A do tego dźwięk przedstawionej tu „elektronicznej perkusji” jest ciekawszy, bardziej inspirujący niż tupanie noga, czy suchy stukot metronomu.
Dla zapisu rytmów dysponujemy polem o szerokości 39 kolumn i wysokości 2 wierszy. Początek pola wskazuje znak „?”. Tam też pojawia się kursor. Każdy wiersz określa rytm jednego bębenka. Górny wiersz — małego, dolny — większego. Cyfry widoczne nad polem rytmów to numery kolumn. Numery są dwucyfrowe — czytamy je z góry w dół. Poszczególne kolumny definiują kolejne elementarne jednostki czasu, w których może zabrzmieć dźwięk. Programowanie generatora polega na umieszczeniu w polu rytmów znaczków wskazujących, kiedy dany bębenek ma grać. Mogą być użyte dowolne znaki z wyjątkiem „Q”, „ ” i „I”. Spacja definiuje bowiem ciszę, pauzę czyli brak dźwięku, pionowa kreska zaś (klawisze <SHIFT> i < = >) użyta w zapisie górnego bębenka oznacza koniec cyklu, to znaczy, że jako następna będzie interpretowana kolumna nr 1. Jeśli nie użyjemy takiej kreski, to cykl będzie trwał całe 39 jednostek. Po wpisaniu rytmu naciskamy RETURN i perkusja gra. Powtórne naciśnięcie RETURN — i cisza. Można poprawić zapis, itd. Aby opuścić program należy tuż za pytajnikiem wprowadzić <Q> (quit). Zwracam uwagę, że każdy kulturalny program powinien kończyć się w kontrolowany sposób, a nie tylko przez BREAK czy też wyciągnięcie wtyczki z kontaktu.
Kilka słów na temat programu. To mocna strona komputerów ATARI, że z ich nieprzebranego bogactwa dźwięków można korzystać tak prosto! Tu konwencjonalna pętelka cichnącego szumu w liniach 260..290 doskonale spełnia swe zadanie. Szumy są dwa: cieńszy (linia 270) i grubszy (linia 280). Głośność dźwięku w każdym momencie jest mnożona przez 0, jeśli kolejne miejsce na ekranie jest puste, zaś przez 1 w przeciwnym wypadku Wyrażenie logiczne bowiem, a takim jest np. (PEEK (EKR + I)>0), przyjmuje zgodnie z konwencją Atari BASIC-a jedną z dwu wartości: 1 (prawda) lub 0 (fałsz). Prostota i szybkość tego sposobu zasadza się na bezpośrednim spoglądaniu w pamięć ekranu. Zmienna CS ma tu znaczenie uboczne, a sama instrukcja INPUT służy tylko do zatrzymania programu, gdy trzeba dokonać zmian. Przed podjęciem nowego rytmu bada w liniach 210..230, czy wprowadzono ograniczenie długości cyklu i stosownie do tego ustala N.
Wyjaśnienie niektórych PEEK'ów i POKE'ów. Komórka 82 (linie 100 i 300) ustala lewy margines ekranu. W komórkach 88 i 89 (linia 130) znajduje się dwubajtowy adres pamięci ekranu. Zmienna EKR będzie więc wskazywać na nasze pole rytmów Pod adresem 752 można (w linii 180) zgodzić się, by kursor przebywał na ekranie, lub (w następnej) zabronić mu tego. W komórce 764 (linie 170, 240) jest kod ostatnio naciśniętego klawisza, lub — gdy niczego się nie naciska — liczba 255.Autor listingu: Janusz B.Wiśniewski
Listing nadesłał: Faust
Język programu: Atari Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku