Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
-
Zabawa w sklep
Proponuję Wam dzisiaj przerobienie komputera na kasę sklepową. Będzie to jednak nieco mądrzejsza kasa niż te, które widujemy na codzień.
Zwykła kasa — pomimo bardzo poważnego wyglądu — potrafi bardzo niewiele. Praktycznie jedynie dodaje wystukiwane na klawiaturze sumy pieniędzy. Pomocnicze obliczenia (na przykład ile kosztuje 62 dekagramy sera w cenie 347 złotych za kilogram) musi dokonywać sprzedający. Spróbujmy mu pomóc.
Człowiekowi obliczenie rachunku w rodzaju
0.62*347
zajmuje przeciętnie kilkanaście sekund, dla komputera natomiast jest to czas niezauważalny. Trzeba mu jednak te dane wpisać. Najprostszym sposobem byłoby każdorazowe informowanie komputera o ilości i cenie jednostkowej (na przykład za kilogram, litr lub sztukę) towaru. Wówczas następowałoby obliczenie należności i zsumowanie jej z poprzednimi. Zastanówmy się jednak, czy nie można jeszcze bardziej ułatwić życia sprzedawcy.
Ilość towaru (w odpowiednich jednostkach) będzie trzeba podawać za każdym razem, bo zależy ona jedynie od życzenia klienta. Bez trudu możemy natomiast przewidzieć jednostkowe ceny towarów, i to może za nas pamiętać komputer. W takim przypadku wystarczy podać nazwę sprzedawanego towaru i jego ilość. Dla uniknięcia nieporozumień komputer powinien pamiętać, że ilość mleka mierzy się w litrach, cukru w kilogramach a bułek w sztukach.
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
-
Catalog
Program KATALOG ułatwia odnajdywanie na kasecie programów bez konieczności kontrolowania wskazań licznika obrotów magnetofonu. Wyszukiwanie odbywa się podczas szybkiego przewijania taśmy magnetofonowej i zakończone jest sygnałem akustycznym połączonym z jednoczesnym zatrzymaniem silnika magnetofonu.
Na jednej stronie kasety magnetofonowej typu C-60 można umieścić 10 programów, których czas odczytu nie przekracza 165 sekund. Odpowiada to normalnym programom o pojemności ponad 8 KB lub, gdy korzystamy z programów zapisanych w systemie szybkiego wczytywania (np. TURBO C-16), ich pojemność może przekroczyć 30 KB.
Program KATALOG należy zapisać na samym początku kasety. Oczywiście przed zapisaniem należy w liniach DATA na końcu programu umieścić nazwy programów które będą zapisane na tej kasecie.
Po wczytaniu i uruchomieniu KATALOGU należy wybrać numer interesującego nas programu i włączyć szybkie przewijanie. Magnetofon zatrzyma się w miejscu zarezerwowanym na wybrany przez nas program.
KATALOG jest przerobioną wersją programu zamieszczonego w YOUR COMMODORE 06/86.
Autor listingu: Tadeusz Chęciński
Listing nadesłał: Faust
Język programu: CBM Basic v3.5
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
-
Disc Tester
Opisany tu program nie wymaga w zasadzie żadnych specjalnych rekomendacji — umożliwia on przetestowanie dyskietki i wykrycie jej ewentualnych uszkodzeń lub mankamentów nośnika. Program ten można wykorzystywać na wszystkich stacjach Commodore.
Sam tekst dyskietki jest nieco obostrzony. Normalnie procedura odczytu uszkodzonego sektora jest wykonywana 5 razy natomiast w podanym poniżej programie — tylko raz. Pozwala to na ewentualne wychwycenie wszystkich sektorów „niepewnych", które mogą sprawić kłopoty w niedalekiej przyszłości. Z programu tego można korzystać na dyskietkach już zapisanych gdyż odczytuje on jedynie zawartość poszczególnych sektorów.
Pierwsze pytanie zadawane przez program odnosi się do typu używanej stacji. Jeżeli dysponujesz stacją 1541, 1570 czy 1551 to należy wybrać opcję 35 ścieżek, gdyż modele te pracują w oparciu o zapis jednostronny. Jeżeli natomiast korzystasz ze stacji 1571 to wybieraj 70 ścieżek jeśli dyskietka jest zapisana dwustronnie oraz 35 ścieżek jeśli jest ona zapisana jednostronnie.
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: CBM Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
-
Allocator
Zapisywanie programów na uszkodzonej dyskietce jest co najmniej ryzykowne — zawsze może się zdarzyć tak, że fragment programu zostanie wpisany do sektora niepewnego czy wręcz uszkodzonego. Takiej „przyjemnostki” można jednak uniknąć stosując program podany poniżej.
Poszczególne ścieżki i sektory dyskietki możemy bez obawy rezerwować do własnych potrzeb za pomocą instrukcji BLOCK-ALLOCATE. Jej format jest następujący:
100 OPEN 15,8,15
120 PRINT # 15, "B-A"; 0; ŚCIEŻKA;SEKTOR
140 CLOSE 15
Jeżeli zamierzasz Czytelniku poeksperymentować trochę z tą instrukcją, to radzę wziąć dyskietkę, która nie zawiera ważnych dla Ciebie programów.
Taki sposób rezerwowania wybranych sektorów do własnych potrzeb jest najlepszym z możliwych na dyskietce dobrej. Problem polega tu na tym, że procedura ta jest niedopracowana i nie zawsze chce działać tak jakbyśmy sobie tego życzyli.
Poniższy program pozwala na zarezerwowanie dowolnego sektora na wybranej ścieżce z wyjątkiem ścieżek systemowych (tzn. przeznaczonych dla katalogu dyskietki). Program działa ze wszystkimi stacjami Commodore. Test nośnika możemy przeprowadzić za pomocą programu DISK TESTER podanego w tym numerze.
Na zakończenie dwie uwagi. Po pierwsze pamiętajmy, że wykonanie instrukcji VALIDATE lub COLLECT automatycznie spowoduje uwolnienie zajętego w ten sposób sektora. Po drugie zarezerwowanie uszkodzonego sektora znacznie obniża lecz nie likwiduje całkowicie ryzyka utraty programu — jeżeli np. uszkodzenie to było czysto mechaniczne, osłabiony nośnik może stopniowo odklejać się dalej powodując błędy w innych, wcześniej dobrych sektorach. Dlatego też proponuję, aby na takich dyskietkach NIGDY nie zapisywać programów dla nas ważnych. Pamiętajmy także o tym, że proces ten powoduje zmniejszanie się liczby sektorów wolnych na dyskietce; innymi słowy, jeżeli zarezerwowaliśmy cztery uszkodzone sektory na pustej dyskietce to przy odczytywaniu katalogu otrzymamy „660 BLOCKS FREE” zamiast „664 BLOCKS FREE”.
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: CBM Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
-
Locker
LOCKER jest programem umożliwiającym zabezpieczenie dyskietki przed zapisem w sposób programowy.
W efekcie jego działania w katalogu dyskietki na ścieżce 18 w sektorze 0 zmieniana jest wartość drugiego (licząc od zera) bajtu określającego system operacyjny stacji dysków na której dyskietka ta była zapisywana. Normalnie wartość tego bajtu wynosi 65; wartość ta jest zamieniana przez program na wartość 233
Polecałbym ostrożne i rozważne korzystanie z tego programu, gdyż zmiana ta może mieć charakter trwały, jeżeli użytkownik nie dysponuje odpowiednim programem odblokowującym, gdyż jedynym możliwym odblokowaniem w takim wypadku jest sformatowanie dyskietki i zapisanie jej od nowa. Dlatego też radziłbym, aby blokować w ten sposób jedynie te dyskietki, na których z całą pewnością nie będziemy chcieli nic więcej zapisać. Dotyczy to także takich operacji jak VALIDATE czy RENAME. UWAGA. Zabezpieczenie to NIE NISZCZY dyskietki ani nie chroni jej przed sformatowaniem. Ponadto niektóre programy kopiujące są w stanie obejść to zabezpieczenie.
Autor listingu: Klaudiusz Dybowski
Listing nadesłał: Faust
Język programu: CBM Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: [c64[bajtek_101988]_locker-t2e.pl.7z
-
80 znaków w wierszu
Profesjonalne komputery umożliwiają zwykle uzyskanie na ekranie monitora 80 znaków w każdej linii. W porównaniu z tym, 40 znaków w linii dostępne na Atari, to śmiesznie mało. Zamieszczamy więc program, który umożliwia podwojenie tej liczby.
Program działa w trybie graficznym 8 i składa się z dwóch części. Pierwsza generuje nowy zestaw znaków, który umieszczony jest od adresu 31744 i zajmuje 1 KB pamięci (z tego względu program, który będzie wykorzystywał przedstawioną procedurę musi zostawiać w grafice 8 przynajmniej 1,5 KB wolnej pamięci). Właściwa procedura stanowi drugą część programu. Wczytywana jest ona na 6 stronę pamięci. Po wczytaniu obu części program w Basicu może być usunięty (w tym celu należy zamienić instrukcję END w linii 1050 na NEW lub RUN "C:").
Aby uzyskać tekst trzeba teraz włączyć tryb GRAPHICS 8, a następnie użyć instrukcji:
I = USR( 1536, ADR(T$),X, Y,LEN(T$))
gdzie T$ jest tekstem, który chcemy wyświetlić: X jest współrzędną poziomą początku tekstu (od 0 do 79, a więc z dokładnością 4 punktów ekranu); zaś Y jest współrzędną pionową (od 0 do 184, a z oknem tekstowym do 152),
Umieszczony na ekranie tekst wymazuje tło, na którym się pojawi (oprócz pierwszego znaku przy nieparzystej wartości X). Gdy zamierzamy wykonać nadruk na istniejącym rysunku, to należy przed wywołaniem procedury przez USR, wpisać instrukcję POKE 1770,128. Teraz tekst w miejscach mających kolor 1 będzie miał kolor 0 i odwrotnie. POKE 1664,13 spowoduje, że tekst zawsze będzie miał kolor 1. Normalny tryb pracy programu przywracają instrukcje POKE 1770,131 i POKE 1664,77.
Przedstawiona procedura ma jednak kilka ograniczeń. Przede wszystkim nie może wykonywać napisów w negatywie (inverse video). Nie pozwala także na zmianę miejsca umieszczenia pamięci obrazu. To ostatnie ograniczenie można ominąć wpisując instrukcje POKE 1615,H i POKE 1622,L, gdzie H i L to odpowiednio starszy i młodszy bajt adresu pamięci obrazu. Ponieważ przesunięcie obrazu może spowodować zniszczenie obszaru zaiętego przez zestaw znaków, to również można go przenieść w inne miejsce. W tym celu trzeba zmienić wartość 31744 w linii 10 na nową i wpisać starszy bajt nowego adresu przez POKE 1577,A/256. Trzeba przy tym pamiętać, aby zestaw znaków rozpoczynał się od początku strony, a więc od adresu podzielnego przez 256.
Efektywne wykorzystanie programu wymaga dołączenia go do innego programu w Basicu lub (po disasemblacji) do programu w kodzie maszynowym. Można także spowodować, aby program po umieszczeniu w pamięci zestawu znaków i procedury maszynowej uruchamiał inny program w Basicu.Listing pochodzi z repozytorium listingów Basic autorstwa AMAROK
Jak zaladować (najprostsza metoda)
ALTIRRA:
- Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
- Cold Reset (Powinien wejść do Basica)
- LOAD "D0:80ZNAKOW.BAS"
- RUN
Autor listingu: Michał Skowroński
Listing nadesłał: Amarok
Język programu: Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: bajtek_1988_10-t2e.pl.atr
-
Demonstracja Grafiki
Prezentowany przeze mnie programik, choć bardzo krótki, ma wiele atrakcji i nieograniczone możliwości.
Program ten wykreśla na ekranie fantazyjne wykresy pseudoprzestrzenne. W linie 20 i 50 można wprowadzić własne ciekawsze dane na przykładzie przedstawionej próbki (dodatki I — V). Program mój nie tylko prezentuje możliwości graficzne ósmego trybu, ale również ukazuje przykład praktycznego wykorzystania funkcji matematycznych w Atari.Listing pochodzi z repozytorium listingów Basic autorstwa AMAROKJak zaladować (najprostsza metoda)
ALTIRRA:
- Włączyć SYSTEM->INTERNAL BASIC (Basic Without OPTION Key)
- Cold Reset (Powinien wejść do Basica)
- LOAD "D0:WYKRES1.BAS" lub LOAD "D0:WYKRES2.BAS" lub "LOAD "D0:WYKRES3.BAS"
- RUN
Autor listingu: Arnold Adamczyk
Listing nadesłał: Amarok
Język programu: Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodykuPobierz: bajtek_1988_10-t2e.pl.atr
-
Follow Me
Tytuł ten, w wolnym tłumaczeniu, może znaczyć "rób to, co ja". Pomysł zaczerpnięty jest z francuskiego czasopisma „Amstrad Magazine”; program podobny figurował pod nazwą „Garfunkel”. Tu jednak został znacznie skomplikowany, co zapewne czyni go atrakcyjniejszym, lecz trudniejszym.
Na ekranie widnieje kolorowe koło, podzielone na osiem jednakowych części, ponumerowanych od 0 do 7. Komputer wybiera losowo którąś z części i zakrywa ja przez chwiię. Zadaniem grającego jest powtórzenie tego ruchu, przez wciśnięcie jednej z cyfr od 0 do 7. Po prawidłowej odpowiedzi komputer losuje następną część koła i zakrywa po kolei: najpierw poprzednią, potem wylosowaną. W ten sposób trudność gry wciąż rośnie.
Na początku nie będziesz mógł zapamiętać nawet pięciu zniknięć, po krótkim treningu z łatwością powtórzysz osiem. Jednak wynik piętnastu zniknięć należy uznać za bardzo dobry, nawet po długim treningu.
Autor listingu: Stanisław Dałek
Listing nadesłał: Faust
Język programu: Basic
Stan listingu:
4Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
Ten numer został zreduksowany - "Bajtek Redux 0.5 10/1988"
- „Komputerowy Świat” Waldemar Siwiński
- „Rzemieślnicy i naukowcy” Krzysztof Małecki, Grzegorz Onichimowski
- „Zagraniczne komputery dla francuskich liceów” (jw)
- „Porozumienie IBM-Amstrad” (jw)
- „Cray otrzymał zamówienia na jeszcze nie zbudowany superkomputer” (jw)
- „PC - ofertą dla polskiej rodziny” (go)
- „ATARI PC2” (j.j.)
- „Porad spod lady” Klaudiusz Dybowski
- „Nosferatu” Luke
- „West Bank” (mateo)
- „Skyfox” (mp)
- „W kolejce do kasy” Andrzej Pilaszek
- „Projekt KOLUMB” Jurij Zajcew
