Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
- Język programu: Basic
- Platforma: ZX Spectrum
- Kod zamieszczono w Bajtek 7/1989
- Autor listingu: Jacek Marczewski
- Listing nadesłał: Faust
Stan listingu:
Myślę, że wiele osób widziało program, który ładuje się z tzw. licznikiem.
Mam na myśli gry EXOLON, KANE itp. Podczas ładowania wartość licznika zmniejsza się aż do zera, gdy program jest już cały w pamięci. Jest to o wiele bardziej eleganckie od zwykłych „pasków“, gdyż licznik jest nie tylko efektowny graficznie, ale także dobry „na nerwy“, ponieważ w każdej chwili wiemy, ile czekania nam jeszcze zostało.
Przedstawiony program LICZNIK umożliwia ładowania programów w ten właśnie sposób.
Główna część kodu maszynowego pochodzi z loadera do programu BOULDER DASH IV, reszta to przystosowanie do ładowania według danych z nagłówka, tak, by użytkownik mógł korzystać z programu bez znajomości assemblera. LICZNIK znajduje się przy końcu pamięci, od adresu 64500 do 69252. Uruchamia się go komendą RANDOMIZE USR 65100 Program wczytuje wtedy nagłówek (pierwszy napotkany) pod adres 65082 i ładuje tylko bloki typu PROGRAM i BYTES, nie akceptuje tablic.
LICZNIK, jak już wyżej wspomniałem, umiejscawia dany program w pamięci na podstawie danych w nagłówku. Jeżeli podczas ładowania wystąpił błąd, LICZNIK wraca do BASIC-a (konkretnie do miejsca wywołania, może więc również wrócić i kontynuować wykonywanie kodu maszynowego). Nie przerywa działania programu, tylko umieszcza w komórce 65099 wartość 0 (normalnie 255).
Jeżeli nie odpowiadają nam atrybuty licznika (standardowo czarne litery na białym tle), to dzięki POKE 64910, (wartość negatywu atrybutu) możemy je zmienić.
Od adresu 64562 począwszy znajdują się kształty cyfr 6 w negatywie) od zera dcrdziewiątki kolejno. Kształty można przedefiniować według własnego upodobania, podobnie jak tworzymy znaki graficzne (UDG).
Jeżeli chcemy korzystać z programu LICZNIK z poziomu assemblera, to podajemy parametry takie same, jak dla systemowej procedury ładowania, tj.
LD IX, adres początku
LD DE, długość
LD A, FFF
SCF
CALL 64500
LICZNIK nie jest programem krótkim, ale myślę, że warto zdobyć się na odrobinę cierpliwości i wpisać go.
zx_licznik_bajtek_7-1989-t2e.pl.7z

Ten program ukazał się w reduksie "Bajtek 7/1989"
- „Z Dala od Japonii” Waldemar Siwiński
- „Kradzione Tuczy” Marek Czarkowski
- „Impreza jakich Wiele ” (go)
- „Karty Telefaxu do IBM PC ”
- „Kino z Komputera ” (go)
- „Dowód w 90 Sekund ” (go)
- „Atari bez Tajemnic” (JJ)
- „Final Cartridge III” Klaudiusz Dybowski
- „Hewlett Packard 71B Dominik Falkowski” Dominik Falkowski
- „Draconus ” Sebastian Kajdan
- „Rocket Ranger ” Luke
- „PHM Pegasus” Gen
- „S.O.S”
- „Ile płacić programistom ” Jonasz Mayer
- „Kijowskie Giganty ” Wojciech Łuczak
