Ready/Run

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

Listingi w bazie
Dodaj listing
  • 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:

    4
    Listing 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:

    4
    Listing 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:

    4
    Listing 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:

    4
    Listing 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:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • 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:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • 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.

    Jak 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:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
  • 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:

    4
    Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku
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.