Ready/Run

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

Listingi w bazie
Dodaj listing
  • Imieniny Cioci Kloci


    Cześć Maluchy!
    Wczoraj były imieniny ukochanej cioci Kubusia, Cioci Kloci, a Kuba nawet nie wysłał jej kartki z życzeniami. A przecież ona zawsze pamięta o każdym święcie. Cóż robić, Kubuś wyśle dzisiaj kartkę z przeprosinami, ale swoją drogą przydałoby się zaradzić temu na przyszłość. Ale jak?


    Do dzisiaj medycyna nie znalazła niestety skutecznego medykamentu poprawiającego pamięć. Tak więc nie szukajmy ratunku w pigułkach, maściach i rozmaitych miksturach. Może więc lepiej zanotować wszystko w kalendarzu? Ale przecież w kalendarzu Kubusia imieniny Cioci Kloci zakreślone są grubym, czerwonym flamastrem, a on i tak o nich zapomniał. Stosunkowo najlepiej do przypominania nadaje się mama. Ona wszystko doskonale pamięta. Mama jednak nie przypomni o swoich imieninach, Dniu Kobiet czy Dniu Matki.
    Kogo by więc poprosić o tę przysługę? Ten ktoś musi mieć dobrą pamięć i dużo cierpliwości. Kubuś dobrze wie, kto ma najlepszą pamięć i nigdy się nie znudzi. To oczywiście komputer. Spróbujmy teraz, razem z Kubusiem nauczyć komputer przypominania nam o tym, o czym sami możemy zapomnieć.
    Popatrzmy jaki program napisał Kubuś i prześledźmy jego działanie. Pierwsza część programu (linie 100—180) umożliwia podanie komputerowi aktualnej daty. Komputer pyta najpierw o dzień (linie 130 i 140), a następnie o miesiąc (linie 150 i 160). Rok nie jest mu potrzebny, ponieważ program w wersji napisanej przez Kubusia przypominać ma jedynie o terminach stałych, takich jak urodziny i imieniny.
    Komputer nie przyjmie odpowiedzi, które z założenia są błędne, np. nie przyjmie liczby 13 jako numeru miesiąca. Dzieje się tak, dzięki liniom 145 i 165, w których sprawdzane jest, czy wpisana przez użytkownika liczba jest całkowita i czy nie wykracza poza dozwolony przedział. Dla zmiennej dzień wynosi on <1—31>, dla zmiennej miesiąc <1—12>.
    Teraz komputer przechodzi do porównywania daty podanej jako dzisiejsza z terminami przechowywanymi w pamięci, a konkretnie w liniach DATA (linie 1000—5000) na końcu programu. Informacje w liniach danych zapisywane są w ściśle ustalonej kolejności. Najpierw dwie zmienne liczbowe, dzień i miesiąc, a następnie tekst określający czego dotyczy zapamiętany termin. Ostatnia wartość wynosi 100 i oznacza koniec zapisu, a dla komputera koniec odczytywania danych.
    Komputer wczytuje dane z jednej linii (dotyczące jednego terminu) (linie 200—230). Warunek w linii 210 umożliwia wyskoczenie z pętli po wczytaniu wszystkich danych. Następnie termin porównywany jest z dzisiejszą datą (linie 240—270). Jeśli do wyznaczonego terminu pozostało dziesięć lub mniej dni informacja o nim ukazuje się na ekranie.
    Zapewne zauważyliście, że terminy obliczane są tak, jak gdyby wszystkie miesiące miały po 31 dni. Nie powoduje to jednak większego błędu, gdyż dla nas ma znaczenie liczba dni pomiędzy stosunkowo bliskimi terminami a nie liczba dni, które upłynęły od początku roku. Tak więc błąd może wynosić 1 dzień w przypadku miesięcy 30 dniowych i 3 dni w lutym, jeśli ma on 28 dni. Błąd ten powstaje pod koniec miesięcy „krótszych“, gdy i opóźnia komunikat o 1—3 dni.
    Program można uzupełnić o dodatkowe funkcje. Może on na przykład informować ile lat kończy nasz solenizant (choć nie jestem pewny, czy wszystkie panie byłyby zadowolone). W każdym razie linie danych należy wypełnić datami imienin, urodzin i rocznic naszych znajomych i uruchamiać ten program chociaż dwa razy w tygodniu. Jeśli tak zrobisz, z pewnością nie zapomnisz o żadnym z nich. A może także nie zapomnisz o przyjaciołach Kubusia?

     

    Autor listingu: Roman 'Rozmek' Poznański

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Kopiowanie z Atrybutami

    Czy pamiętacie moje ostatnie kłopoty? Wyobraźcie sobie, że nie skończyły się one wcale w momencie napisania programu kopiującego ekran w trybie graficznym. Przypominam — wszystko zaczęło się od pożyczenia drukarki Seikosha GP-500AS. Jak wiadomo, apetyt rośnie w miarę jedzenia. Zapragnąłem skopiować ekran tak, by było widać, że jest kolorowy.

    Znacie Art Studio? Jest to taki program do rysowania. Teoretycznie pośród jego wielu możliwości figuruje opcja PRINT, umożliwiająca wydrukowanie zawartości ekranu w taki sposób, by różnym kolorom punktów na ekranie odpowiadały różne kombinacje punktów na papierze (jeden punkt ekranu odpowiada wtedy na papierze kwadratowi składającemu się — w zależności od możliwości drukarki — z czterech lub dziewięciu punktów). Napisałem „teoretycznie“, bo jak wiadomo komputery wcale nie ułatwiają życia swoim właścicielom. Zawsze znajdzie się powód, dla którego nie da się zrobić tego, co teoretycznie powinno dać się zrobić bez żadnego problemu. Tak samo było tym razem. Pogięła się taśma magnetofonowa. Samo Art Studio dało się wczytać, ale już program instalujący je dla różnych konfiguracji sprzętowych — nie.
    Ci z Was, którzy czytali ostatni artykuł, już wiedzą czym to się skończyło i następnego zdania mogą nie czytać. Jak to zwykle w takich sytuacjach bywa, musiałem sam napisać program robiący to, co było mi potrzebne. Niestety, tym razem problem nie da się rozwiązać w taki sam sposób jak poprzednio. Żeby skopiować ekran punkt po punkcie, wystarczyło go pokroić na paski o szerokości siedmiu pikseli i każdy taki pasek wysłać na drukarkę. Teraz ekran musiałby być pokrojony na paski o szerokości trzech i pół pikseli (możliwości Seikoshy pozwalają tylko na zastąpienie każdego punktu kwadratem dwa na dwa), cała operacja byłaby bardzo skomplikowana. Zabrałem się więc do pracy w inny sposób. Pokroiłem na paski to, co miało być na wydruku — łatwo jest sprawdzić, czy punktowi na papierze odpowiada na ekranie punkt o kolorze tła, czy o kolorze tuszu.
    Początkowo miałem zamiar napisać program w Basic-u, żeby sprawdzić algorytm, ale bardzo szybko zrezygnowałem. Pierwsze próby wykazały, że na kompletny wydruk trzeba by czekać kilka godzin. Dlatego też zdecydowałem się na sam program w kodzie maszynowym. Tak samo jak w poprzednim artykule, oprócz wydruku z asemblera, zamieszczam program ładujący w Basic-u — program nie jest relokowany, uruchamia się go przez PRINT#4;USR 60000, po otwarciu strumienia instrukcjami OPEN #4; „B“: FORMAT „B“;9600.
     

    Autor listingu: Marcin Borkowski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Weryfikator

    W poprzednim numerze przedstawiliśmy dwa sposoby formatowania trzycalowych dysków na 210 KB. Dzisiaj kontynuujemy ten temat. Poniższy program pozwala na sprawdzenie poprawności zapisu wszystkich ścieżek na dyskietce.
    Po każdym sformatowaniu dysku powinno się sprawdzić, czy wszystkie sektory istnieją i czy są poprawnie zapisane. Takie błędne formaty mogą wystąpić, gdy używamy niefirmowych lub zużytych dysków. Oczywiście można w tym celu posłużyć się programem DISCKIT, ale akceptuje on jedynie standardowe formaty AMSTRADA.
    Nasz weryfikator (wydruk obok) umożliwia sprawdzenie dysku o dowolnym formacie. Oczywiście jest to możliwe jeśli posiadamy program zmieniający DPB (ang. Disc Parameter Błock) stosownie do tego formatu. Taki DPB dla formatu 208 KB przedstawiliśmy w poprzednim numerze "Bajtka". Na uruchomienie tego, jak i innych tego typu programów komputer zwykle reaguje opuszczeniem weryfikatora. Aby wrócić do niego, należy wprowadzić RUN 500 (RETURN) w trybie bezpośrednim.
    Na ekranie w kolumnie pod literą C pojawią się numery ścieżek, a pod S numery sektorów, które program sprawdza. Poprawność lub niepoprawność jest potwierdzana stosownym komunikatem.

    Autor listingu: Jacek Kunowski

    Listing nadesłał: Faust

    Język programu: Locomotive Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Dekoder Transmisji Radiowej

    Z końcem 1985 roku Rozgłośnia Harcerska Polskiego Radia rozpoczęła emitowanie programów komputerowych. Audycja „Radio- komputer“ powstała na życzenie słuchaczy i do dziś prezentuje programy przez nich opracowywane i nadsyłane.

    Chociaż pierwsze z emitowanych programów przeznaczone były dla Spectrum, nie stały się popularne. Stosowany w Spectrum standard zapisu informacji na taśmie magnetofonowej jest niezwykle niepodatny do emisji, wrażliwy na zakłócenia. Przez to tylko nieznaczny procent programów dawał się potem odtworzyć i używać.
    Sytuacja poprawiła się, gdy p. Tomasz Jordan, założyciel i prowadzący „Radiokomputer“, rozpoczął emisję programów na Atari i Commodore. W przypadku Atan ma miejsce stuprocentowa pewność co do jakości nagranych programów, zaś Commodore wczytuje ok. 70%.
    Spectrumowcy czuli się nadal zawiedzeni. Liczne próby coraz to nowych systemów nie dawały rezultatów i „Radiokomputer“ stracił sporą liczbę słuchaczy.
    Teraz nareszcie doczekali się oni pewnego systemu transmisji. Firma „SZOK“ ze Świebodzina, w osobie Mirosława Bereźnickiego i Zygmunta Rozynka, opracowała ostateczną wersję programu transmisji, o nazwie „Dekoder Transmisji Radiowej PLUS“, w skrócie DTR +. Warto nadmienić, iż „SZOK“ zajmuje się tworzeniem oprogramowania dla Atari. wykorzystuje przy tym Spectrum jako urządzenie pomiarowe. Przy tak wielkie] znajomości Spectrum firma ta, jako trzecia z rzędu, podjęła się i — co najważniejsze — stworzyła niezawodny program DTR+.
    Program przeznaczony do emisji na falach radiowych jest kodowany przez sam „Radiokomputer“, a następnie emitowany. Po nagraniu go na taśmę z radia, należy poddać go odkodowaniu. Zrobi to za Was zamieszczony obok program „DTR+“, który trzeba wpisać (najpierw procedura ładująca — linie 100 — 120 z pierwszego wydruku) i nagrać przez SAVE „DTR+ „LINE 1. Następnie, po wpisaniu drugiej części, należy Tiagrać blok kodu za poprzednio nagraną procedurą ładującą.
    Tak przygotowany program DTR+ gotowy jest do użytku Po wczytaniu uruchamia się ona automatycznie i pojawia się mini-menu, dzięki któremu możliwe jest wczytanie zakodowanego programu (LOAD), nagranie odkodowanej wersji na taśmę (SAVE) oraz powrót do systemu (RESET).
    Emitowany w radio program zapisany jest w postaci jednego bloku, około dwukrotnie dłuższego niż cały program źródłowy. Program DTR+ odkodowuje go i nagrywa w kilku blokach tak, że jest gotowy do użytku. Dodatkową zaletą jest to, że po odkodowaniu użytkownik dysponuje wersją nagraną na specyficznym dla jego magnetofonu ustawieniu głowicy.
    Muszę zmartwić graczy: „Radiokomputer“ nie emitu|e gier! Nie będziecie więc mieli czego tak szukać, chyba, że interesują Was również programy użytkowe, bo tylko takie można tam znaleźć. Ich autorami są w większości słuchacze „Radiokomputera“, choć zdarza się emisja programów zachodnich, np. „SuperCode“.
    Wszystkich zainteresowanych współpracą z „Radiokomputerem“ prosimy o nadsyłanie listów i programów na adres: 
    Rozgłośnia Harcerska 
    00-950 Warszawa ul. M Konopnickiej 6,
    z dopiskiem „Radiokomputer“
    Istnieje jedno ograniczenie dla programów przeznaczonych do zakodowania i emisji: wszystkie bloki muszą posiadać nagłówki.
    „Radiokomputer“ emitowany jest na falach ultrakrótkich i średnich, w każdy czwartek w godz 16.00 — 16.20 oraz wtorek — godz. 22.50—24.00. Blok emisji programów to godz 23.25—24 00

    Autor listingu: Marcin Przasnyski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
  • Kuba Rozpruwacz

    Dziś rano uciekł z więzienia znany przestępca i włamywacz, Kuba Rozpruwacz. Jesteś jedyną osobą, która widziała go zaraz po ucieczce. Dysponujesz starą maszyną do sporządzania portretów pamięciowych. Ma ona zakodowane po kilka cech każdej części twarzy. Są to: kształt głowy, gęstość włosów, wielkość oczu, gęstość brwi, wielkość nosa, uszu, ust i wąsów. Kuba nie nosi brody, gdyż go łaskocze. Nie przylepia też sztucznej z powodu alergii na klej. Każdą cechę możesz ustalić tylko raz.

    Po podaniu ostatniej, maszyna tworzy gotowy portret. Twoje zadanie ogranicza się więc do zmiany wielkości kolejnych części twarzy. Przedstawiony poniżej program symuluje taką właśnie maszynę. Poszczególne cechy generowane są losowo. W sumie możliwe jest stworzenie 3888 różnych twarzy. Portret rozpoczynany jest od głowy. Można ją zwiększać i zmniejszać klawiszami 1 i 2. Klawisz 0 służy do przejścia do następnej cechy. Po ustaleniu wielkości wąsów, twój portret porównywany jest z oryginałem. Dowiadujesz się, które części podałeś źle, oraz jaka jest odchyłka portretu od oryginału. I to już koniec. Możesz grać od początku, tworzony jest nowy Kuba i ty musisz stworzyć jego portret.

    Program powstał na pomyśle gry „PHOTOFIT“. Było to tworzenie portretów przez podawanie określających ich przymiotników, np. dłuższy, węższy, grubszy, oczywiście po angielsku. Ja ograniczyłem się tylko do wielkości, różnie rozumianej.
    Proponuję rozbudować program według własnego uznania. Jego główną częścią są podprogramy 5000—5700, gdzie tworzone są części twarzy na podstawie zmiennych zawartych w tablicy a. Podprogram 6000 pozwala na zmianę wielkości odpowiedniej części. Zmiennymi wejściowymi są: wielkość początkowa, wielkość najmniejsza i największa oraz podprogram rysujący daną część Program został „potraktowany“ weryfikatorem z Bajtka 6/88, w celu uniknięcia pomyłek przy wprowadzaniu listingu. Nie należy więc wpisywać instrukcji REM na końcu linii, lecz po wpisaniu programu wykonać RANDOMIZE USR 23380. Oczywiście, w pamięci musi znajdować się weryfikator. Potem wystarczy porównać wartości przy REM w programie i w listingu.
     

    Autor listingu: Marcin Przasnyski

    Listing nadesłał: Faust

    Język programu: Basic

    Stan listingu:

    0
    Listing niesprawdzony - świeżo po OCR lub przepisaniu
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.