Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
-
Polskie Litery w ROM
Generator znaków, który określa wygląd wszystkich wyświetlanych znaków, znajduje się w pamięci ROM. Zmiana kształtu liter lub zaimplementowanie liter polskich wymaga więc umieszczenia generatora znaków w pamięci RAM. Zajmuje to co najmniej 1 KB pamięci.
Komputery Atari posiadają jednak pamięć RAM pokrywającą się z obszarem pamięci ROM. Trzeba więc przepisać system operacyjny zawarty w ROM do RAM i można zmieniać jego zawartość bez potrzeby zajmowania dodatkowej pamięci RAM. Sam program tworzący polskie litery nie jest żadną nowością. Zastosowałem tu jednakże procedurę „RAMROM” napisaną przez Joe Millera, a zaczerpniętą z książki „Mapping the Atari”. Pozwala ona na dowolne zmiany w pamięci ROM, zaś użycie jej w generatorze znaków jest tylko jednym z możliwych zastosowań. Na przykład, można wprowadzić zmiany do procedur wejścia/wyjścia lub procedur obsługi przerwań.
Autor listingu: Sebastian Siwy
Listing nadesłał: Amarok
Język programu: Atari Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: Bajtek_1_1989_Anarok-t2e.pl.7z
-
Edytor Basica
Przy przepisywaniu z „Bajtka” programów w Basicu nie sposób ustrzec się błędów. Aby uniknąć żmudnego wyszukiwania popełnianych omyłek wszystkie programy w Basicu są publikowane wraz z kodami kontrolnymi. Zamieszczony obok program służy do kontroli tych kodów podczas przepisywania programu.
Wydruk „Edytora Basica” należy dokładnie przepisać i zapisać na kasecie lub dyskietce (najlepiej instrukcją LIST „C:” lub LIST „D:EDYTOR.LST"). Poprawność przepisania można sprawdzić samym „Edytorem” w opisany niżej sposób.
Przystępując do wpisywania dowolnego programu z naszego pisma trzeba najpierw wczytać i uruchomić „Edytor Basica”. Następnie należy przepisywać kolejne wiersze programu. Po wpisaniu każdego wiersza i naciśnięciu klawisza RETURN wiersz ten pojawia się w dowolnej części ekranu wraz z obliczonym kodem kontrolnym. Jeżeli wyświetlony kod jest taki sam, jak wydrukowany przed numerem wiersza, można przystąpić do wpisywania następnego wiersza. Jeśli kody są różne, to ponowne naciśnięcie RETURN wyświetla wpisany wiersz w górnej części ekranu i umożliwia dokonanie w nim niezbędnych poprawek.
Samo naciśnięcie RETURN wywołuje zawsze ostatnio wpisany wiersz. W celu wywołania innego, wcześniej napisanego wiersza trzeba podać jego numer poprzedzony gwiazdką (np. 1000) i nacisnąć RETURN. Wpisanie samej liczby powoduje wymazanie z pamięci komputera wiersza programu o takim numerze.
Po poprawnym przepisaniu całego programu trzeba przerwać pracę „Edytora Basica” przez naciśnięcie klawisza BREAK lub RESET. Następnie w celu usunięcia „Edytora” i zbędnych zmiennych (z tablic nazw i wartości zmiennych) zapisujemy program na kasecie instrukcją LIST „C:”, 0,31999 lub na dyskietce instrukcją LIST „D:nazwa”, 0,31999. Teraz kasujemy zawartość pamięci komputera instrukcją NEW i odczytujemy program przy pomocy ENTER „C:” (z kasety) lub ENTER „D:nazwa” z dyskietki. Po wykonaniu tych czynności w pamięci komputera znajduje się tylko gotowy program bez „Edytora Basica” i można go już ostatecznie zapisać na odpowiedni nośnik.
Procedura ta jest może nieco kłopotliwa, lecz zabezpiecza w stu procentach przed popełnieniem omyłki przy przepisywaniu programu z „Bajtka”. PAMIĘTAJ: ZAWSZE UŻYWAJ „EDYTORA BASICA”.Autor listingu: bd
Listing nadesłał: Amarok
Język programu: Atari Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: Bajtek_1_1989_Anarok-t2e.pl.7z
-
Walka powietrzna
Dla wszystkich miłośników łamania joysticka zamieszczamy, jako prezent noworoczny, grę zręcznościową pod tytułem „Walka powietrzna”.
Aby zacząć grę, należy przepisać zamieszczony wydruk programu (litery przed każdym wierszem są kodami kontrolnymi „Edytora Basica” i nie należy ich przepisywać). Następnie, na wszelki wypadek, nagrywamy program na kasetę lub dyskietkę. Teraz można już uruchomić grę przez podanie komendy RUN.
Na ekranie — poza napisami — widoczne są dwa okna. Górne przedstawia widok z boku na samolot nasz i przeciwnika. W dolnym oknie ukazany jest ich widok z góry. Celem gry jest zestrzelenie przeciwnika. Aby to osiągnąć, trzeba ustawić się dokładnie na wprost niego i oddać strzał przez naciśnięcie przycisku w joysticku. Podana kolejność czynności jest ważna — każdy strzał kosztuje 10 punktów, można więc skończyć grę z wynikiem ujemnym, jeśli strzela się zbyt dużo.
Przemieszczanie samolotu w górę i w dół (w górnym oknie) oraz na boki (w dolnym oknie) uzyskuje się przez odpowiednie ruchy joystickiem. Jego lot (ruch do przodu) jest ciągły i nie można nim sterować. Jeśli nie uda nam się trafić przeciwnika, to w chwili mijania odwzajemni się on celnym strzałem. Do dyspozycji mamy tylko trzy samoloty, więc trzy nieudane akcje kończą grę. W przypadku powodzenia, każdy następny atak będzie się zaczynał nieco bliżej środka ekranu, pozostawiając mniej czasu na celowanieListing pochodzi z repozytorium listingów Basic autorstwa AMAROK
Jak zaladować (najprostsza metoda)
ALTIRRA:
- Zbootować dyskietkę.
- Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
- Cold Reset (Powinien wejść do Basica)
- LOAD "D0:MUZYKA.BAS"
- RUN
Autor listingu: Wojciech Zientara
Listing nadesłał: Amarok
Język programu: Atari Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: Bajtek_1_1989_Anarok-t2e.pl.7z
-
Zapis Liczb w Pamięci RAM
Zestaw 3 programów ilustrujących cykl artykułów traktującym o tym zagadnieniu. Program nie czyszczony, wymaga poprawek ale ciężar tego zagadnienie tak mnie przytroczył, że zostawiłem sobie poprawki na 'kiedyś'
Autor listingu: Piotr Sumara
Listing nadesłał: Faust
Język programu: Sinclair Basic
Stan listingu:
3Listing skorygowany - prawdopodobnie zawiera błędy, uruchamia się na emulatorze lub realnej maszynie, wymaga jednak poprawek kosmetycznych
-
Na szachownicy (Biale / Czarne)
Cześć Maluchy!
Nasza szachownica ma nieco nietypowy kształt. Składa się z jedenastu pól ustawionych w jednym rzędzie. Rozpoczynając od jednego końca kładziemy na kolejnych polach pięć pionów w kolorze białym. Od drugiego końca kładziemy natomiast pięć pionów czarnych (rysunek 1). Pośrodku pozostaje jedno pole wolne. Zadaniem grającego jest umieszczenie białych pionów na miejscach czarnych i odwrotnie. Piony białe poruszają się wyłącznie w prawo, piony czarne — w lewo. Każdy z pionów można przesunąć na sąsiednie wolne pole, lub też — jeśli znajduje się na nim pion innego koloru — na wolne pole znajdujące się bezpośrednio za tym pionem. W jakiej kolejności należy przesuwać piony i ile trzeba wykonać ruchów?
Spróbujmy przełożyć zasady tego zadania na język komputera. Rolę szachownicy w naszym programie będzie pełniła tablica pole (10). Posiada ona — podobnie jak nasza szachownica — 11 pól o numerach: 0, 1, 2, 3,... 10. Wartości wprowadzone do odpowiednich elementów tablicy symbolizują piony. I tak, wartość 1 oznacza pion biały, -1 — pion czarny, -0 — puste pole. Dodatkowo wprowadzamy jeszcze jedną, identyczną szachownicę koniec (10). W niej zostanie zapisane docelowe ustawienie pionów. W pierwszym fragmencie programu (linie 10-70) znajdują się deklaracje opisanych tablic i następuje wypełnienie ich odpowiednimi wartościami zapisanymi w linii danych (linia 70). Tablica pole (10) zawiera sytuację początkową, natomiast koniec (10) — końcową.
Główna pętla naszego programu (linie 100-140) składa się wyłącznie ze skoków do podprogramów. Taka konstrukcja często bardzo ułatwia zachowanie przejrzystości i czytelności programu, gdyż umożliwia łatwe analizowanie każdego z podprogramów osobno. Pierwszy ze skoków skierowany jest do podprogramu rysunek planszy (linie 1000-1100), który sprawdza kolejno zawartość poszczególnych elementów tablicy pole (10) i rysuje szachownicę, wypełniając ją odpowiednio znakami O symbolizującymi piony białe lub * symbolizującymi piony czarne (rysunek 2). Drugim z wykonywanych podprogramów jest koniec gry? (linie 2000-2050), czyli sprawdzenie czy przypadkiem sytuacja na szachownicy nie jest już taka, jaką chcieliśmy osiągnąć. W tym celu porównywane są zawartości odpowiednich elementów tablic pole (10) i koniec (10).Jeśli zawartość obu tablic jest identyczna następują gratulacje i koniec gry.
Kolejny podprogram, to wybór ruchu (linie 3000 - 3070). Decyzja grającego wprowadzana jest do komputera przy użyciu instrukcji INPUT. Następnie — w zależności od wybranego ruchu — zmienna pion otrzymuje wartość 1 (jeśli wybrano białe) lub -1 (czarne).Najważniejszym i równocześnie najbardziej złożonym podprogramem jest ruch (linie 4000-4170). Wymaga on też nieco dokładniejszego omówienia. Pierwsze linie (4000-4020) to sprawdzenie, które z pól szachownicy pozostaje puste. Numer tego pola przypisany zostaje wartości i. W następnej kolejności sprawdzane jest, czy można przesunąć pion na wolne pole z pola sąsiedniego (linie 4030 i 4040) lub przeskakuje przez inny pion (linie 4050 i 4060).
Ciekawe, że w tym podprogramie znajdują się dalsze podprogramy. Jeśli ruch jest niemożliwy, następuje skok do „podprogramu” drukującego na ekranie komunikat Ruch niemożliwy!!! (linie 4070 i 4090). „Podpodprogramy” w liniach 4100-4130 i 4140-4170 przestawiają wartości w tablicy pole (10) w przypadku ruchu — odpowiednio — na sąsiednie pole lub z przeskokiem.
Analizując kolejne instrukcje warunkowe — możecie to potraktować jako zadanie domowe — dojdziecie może do wniosku, że wartości 1, -1 i 0 symbolizujące sytuację poszczególnych pól szachownicy nie zostały wybrane przypadkowo. Spróbujcie odpowiedzieć sobie dlaczego. Spróbujcie także zastanowić się nad samą grą. Na przykład, czy można wykorzystać w niej dłuższą szachownicę i więcej pionów, oraz jak wpłynie to na strategię gry.
Autor listingu: Roman 'Romek' 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
-
Rozkrój
Oto bardzo prosty przykład na to, jak praktycznie wykorzystać możliwości mikrokomputerów, na przykładzie popularnego Spectrum. Przedstawiony program ma za zadanie znaleźć optymalny sposób podziału elementu dużego (np. arkusza blachy) na jednakowe elementy mniejsze. Danymi wejściowymi są: wymiary arkusza, wymiary elementu i zapotrzebowanie. W rezultacie otrzymuje się układ rozkroju liczbę arkuszy potrzebnych do uzyskania żądanej liczby elementów oraz wydajność z arkusza. Dodatkowo, po podaniu masy surowca obliczana jest masa elementów oraz potrzebnych arkuszy.
Autor listingu: Józef Ludwiński
Listing nadesłał: Faust
Język programu: Sinclair Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: zx_rozkroj_bajtek-1-1989-t2e.pl.7z
Ten numer został zreduksowany - "Bajtek 1/1989"
- „Sposób na wirusa” Waldemar Siwiński
- „Gigabity Z Akceleratora” Grzegorz Onichimowski
- „Ile bajtów ma "Bajtek"?” Franciszek Penczek
- „Bee Card — Dyskietka Już Niepotrzebna...?” (jm)
- „Twój Przyjaciel Robot” (go)
- „Skuteczny Sposób Na Włamywacza” (jw.)
- „Modem — Co To Jest?” Wojciech Zientara
- „Monitory Ml — Część II” Klaudiusz Dybowski
- „Modem I Sprawa Polska” Artur Bychowski
- „Zasilacz Do Commodore C64” Zbigniew Kaszycki
- „Łańcuchowanie Programów” Krzysztof Gajewski, Bogusław Radziszewski
- „Rozkrój ” Józef Ludwiński
- „Universal Hero” Natalia Nowak
- „Geoff Capes Strongman” (Luke)
- „Army Moves” (mp)
- „Czas i data w Turbo-Pascal'u”
- „Biuro-Fabryka XXI Wieku ” Grzegorz Onichimowski, Waldemar Siwiński
- „Komputerowy Show Po Śląsku Informacja '88” Bożena Stępień
- „Na Szachownicy” Roman Poznański
