..:: Serious Magazine ::..
wydanie 14

  Wstępniak
  Fairy Castle czyli Zaklęty Zamek
  Piano v1.0
  Prezentacja Fairy Castle, Piano
  Klimat...
  Profesor
  Nowoczesne zakupy...
  Postać Atari - Nir Dary
  List do mnie i o mnie - Jabol
  Teraz ja!
  Dekoder
  Humor w Serious'ie
  Recenzja, polemika: Numen
  Nowy
  K.S.O. 2T06 TURBO
  Notka - TURBO 2T06
  Moja przygoda z Atari...
  Zabobony
  Sidcar
  Design Master
  Próbnik - trzecie oko elektronika
  Sterowanie biologiczne
  Jak się pozbyć...
  Grzebanie w popiele
  Nakładka
  Kontroler obrazu
  Jaka dokładność?
  Atari w Internecie
  LCD
  Gadżet
  Gadżet - demo
  Zestaw kilku prac

  Wyjście
Zestaw kilku prac na moje życzenie


DBL-RC BANK SAVER v1.0
autor: Jager/DIAL


      Program zgrywa zawartość wskazanych banków DRC na dysk. Po co? W czasie gdy montowałem DRC chciałem mieć taki roboczy program (procedurę?), która w sposób szybki i elegancki przepisze zawartość banku(ów) DRC na dysk, a potem zrobi to samo, tylko w odwrotnym kierunku. Typowym zastosowaniem było używanie tego do testów czy coś się nie "kaszani" w czasie transmisji, włączania zasilania etc.. Jager rozbudował to o swoje pomysły i powstał całkiem, całkiem ładniutki program narzędziowy.

      Opis Jager'a:

Program operuje na bankach! Oznacza to że możesz zgrać sobie dowolny bank (16Kb) z DOUBLE RC (lub grupę banków). Program przeznaczony jest tylko dla DRC i gdy zostanie uruchomiony na RC 64/128Kb to całość się "powiesi". Dlaczego to napewno wiesz. Program wstępnie testuje WSZYSTKIE banki DRC i jeżeli coś będzie nie tak to w oknie po prawej stronie zamiast wartości banku będzie "??", co oczywiście oznacza iż ten bank jest uszkodzony. Obsługa jest banalna ;-) Przed uruchomienim sprawdzany jest status DRC czyli wspomniany test banków oraz tryb (ODCZYT/ZAPIS). DRC musi być w trybie ZAPIS - ZAWSZE!

Po uruchomieniu, po lewej stronie jest menu, a po prawej okno banków. Pierwsze 8 odpowadają stacji "D8:" w DOS Control (przełącznik w pozycji 1), następne 8 to stacja "D7:". Klawisze funkcyjne widoczne są w dolnej części ekranu ("Use: xx..."). Klawisz INVERSE w oknie banków zaznacza odpowiednio:
  1. tylko banki od 0 do 7
  2. tylko banki od 8 do 15
  3. wszystkie banki
  4. kasuje wszystkie zaznaczenia
Pojedyńczy bank zaznaczasz lub kasujesz klawiszem RETURN.

Opcja LOAD DATA odczytuje zapisane banki (należy zaznaczyć do których ma nastąpić odczyt).
Opcja SAVE DATA zapisuje zaznaczone banki.
W obu przypadkach MUSISZ podać urządzenie oraz nazwę pliku. Klawisze SHIFT+DELETE kasują całe pole, a DELETE tylko ostatni znak.

Opcja SETUP - przejście do okienka z bankami (czyli to samo co klawisz *).
Opcja EXIT - powrót do DOS'u. Po RUN możesz powrócić do programu.

Aktywny jest CAŁY CZAS klawisz TAB, który umożliwia podglądnięcie poprzedniego ekranu (czyli np. ekranu DOS'a). W przypadku jakiś problemów komunikaty ukażą się na ekranie. To chyba wszystko. Mam nadzieję że to ułatwi Ci testy DRC.

Ułatwiło! To tyle...

    DBL-RC BANK SAVER v1.0

RATUNEK v1.0
autor: Jager/DIAL


....mam inne, ale firma to firma.

      Opis Jager'a:

Też gotowy... Tu pewna uwaga! Nie potrafię pisać programów prostych :-) Ja wiem że to do użytku "wewnętrznego", ale naprawdę... dla mnie program musi spełniać pewne minimum... Ten taki właśnie jest...

Startujemy...

Przed uruchomieniem odłącz BASIC! Program z góry zakłada iż MemHI to wartość $bc1f i instaluje się poniżej jednocześnie je obniżając do $b600. Krótko mówiąc pracuje poprawnie tylko na ekranie systemowym (choć nie musi gdyż bezpośrednio nie ingeruje w ten obszar). Program ogłosi swoją obecność odpowiednią wizytówką :-) Bufor programu rozciąga się od MemLo do MemHI i przy MemLo=$2000 wynosi 38Kb (jeżeli chcesz więcej to pod SpartaDOS X będziesz miał 42Kb).

Obsługa

Na początku podajesz numer stacji 1-4 lub ESC - powrót do systemu następnie podajesz gęstość (normalnie bym sam sprawdzał, ale miało być krótko :-) ). ESC - powrót na początek programu (numer stacji). Teraz podajesz numer sektora (HEX). Tu musisz wpisać pełną wartość np. 0004, dolara nie wpisujesz. Ze względu na tryb pracy programu minimalna wartość to 4 (booty nam nie są potrzebne) RETURN - akceptacja i start.

Teraz jesteś w głównej części. U góry masz informacje o numerze sektora, ilości wolnej pamięci, numerku (bez skojarzeń :-) ) stacji. Poniżej masz wyświetlony dany sektor, a pod nim informację o klawiszach sterujących... Opis klawiszy jest tak niesamowity że nie będę się tu produkował :-)

Tu jednak pewna uwaga. Jeżeli przejdziesz w tryb zapisu to przy rezygnacji z zapisu następuje natychmiastowy restart programu! Przejście w tryb zapisu nastąpi automatycznie po zapełnieniu bufora (kilka bajtów może zostać - program sprawdza czy zmieści się cały sektor - jak nie - przejście w tryb zapisu).

Jak pracuje program...

Odczytuje sektor i umieszcza w buforze tylko dane tego sektora - bez bajtów systemowych (numer pliku, następnego sektora itd.), krótko mówiąc pod uwagę brane jest pierwszych 125 bajtów dla gęstości pojedyńczej i rozszerzonej oraz 253 dla podwójnej - chyba o to chodziło? Sektory wadliwe są dodawane jako puste (nie pomijam ich dla zachowania oryginalnej długości pliku).

Ogólnie program pracuje dość wolno gdyż wykorzystuje do wyświetlania informacji procedury systemowe (normalnie bym tego nie zastosował). Zobacz jaka różnica w szybkości jej gdy zainstalujesz Tight OS - Gumi jednak odwalił kawał dobrej roboty...

I to chyba wszystko... Gdybyś pomylił gęstość i program "niby" by się powiesił to użyj BREAK, w większości wypadków pomaga. Obyś nigdy nie musiał używać tego programu... :-)

MUSZĘ!

      Po chwili...

Na dysku jest nowsza wersja od tej, która została opisana wyżej... Teraz np. program nie umieszcza w buforze automatycznie sektora... trzeba to zrobić ręcznie (klawisz B)... tak właśnie chciałeś...

No!

klawisze , to odpowiednio sektor w tył, w przód, S - skok do danego sektora (po co się "mordować" :-) ). To najważniejsze zmiany...

    Ratunek v1.0

ZEGAR
autor: Jager/DIAL


Ten program inny niż inne trudniejszy w złożeniu, ale działa z carta!

      Głos ma autor...

Zrobiłem go tak jak chciałeś. Klawisze funkcyjne pozostały bez zmian tz. tak jak napisałeś mi za pierwszym razem! Teraz przyznam było by trochę kombinacji z ich zmianą, a poza tym liczy się pierwsze słowo :-) Dobrze, krótka instrukcja (abyś mógł przeszkolić operatora :-) ).

START - Uruchomienie/zatrzymanie zegara czyli START/PAUZA. Chyba nie trzeba nic więcej wyjaśniać.

SELECT - Restart. Zegar startuje nie od 00:00, ale od czasu który został ostatnio wpisany! Jeżeli Zegar wystartował np. 05:00 to po naciśnięciu SELECT ponownie wystartuje od tego czasu. Chyba jest to jasne.

OPTION - Ustawienie czasu. Tu chyba jest wszystko jasne? Wprowadzone dane są sprawdzane i w przypadku wartości większej od 59 ukaże się odpowiedni komunikat i należy ponownie wpisać (poprawne!) wartości. Samo naciśnięcie RETURN resetuje poprzednią wartość czyli np. naciskasz OPTION (wejście do ustawienia czas) dwa razy RETURN i masz czas 00:00. Wyjście z tej opcji bez żadnych konsekwencji umożliwia ponowne naciśnięcie OPTION lub ESC.

HELP - Ściągawka z klawiatury. Ponowne naciśnięcie wyłącza tą opcje. Tekst można przesuwać przy pomocy klawiszy , bez CONTROL.

SPACJA - Mruganie zegara. Ponowne naciśnięcie wyłącza tą opcję.

TAB - ustawienie pozycji sekund na ekranie (trzy możliwości).

CONTROL+TAB - to samo co TAB tylko dotyczy minut.

SHIFT - tryb pracy: STOPER - normalna praca, TIMER - odliczanie do tyłu

ESC - wyjście z programu. Należy potwierdzić klawiszem 'T'. Po potwierdzeniu zostanie wykonany zimny start!

Praca zegara

Prawdę mówiąc nie jest on tak dokładny jak mój stoper CASIO :-). Program wyłącza przerwania systemowe (instaluje własne). Czas odliczany jest poprzez VBLKI i żadna opcja nie zatrzymuje go. Jest to zaleta i wada gdyż np. podczas "rysowania" kolejnej cyfry czas nie jest odmieżany. Oczywiście są tak minimalne przerwy że... Mimo to na pewno będzie się on późnił... Jeżeli Ci to nie odpowiada to można to jeszcze zrobić "na" POKEY'u. Nie wiem do czego to będzie wykorzystane i jak bardzo musi on być dokładny... DLI także zabiera "troszeczkę" czasu... Prawdę mówiąc mam "kilka" zegarków i żaden z nich nie jest dokładny, a zegar z BW-DOS'a bije wszelkie rekordy (na 24 godziny spóźnił by się chyba z 10 godzin :-)).

Teraz o instalacji... Zrobiłem wszystko wg. wskazówek:
  • kod zegara zaczyna się od:

    org $4000

    sta $d500
    jmp Start

  • plik ZEGAR.DAT jest bez nagłówka i możesz go umieścić gdzie chcesz byle nie pod $4000-$53ff.
  • plik ZINIT.ASM - źródłówka inicjalizacji zegara. Procka rozpakuje i przeniesie dane na adres $4000. Trawa to tak szybko że nawet nie zauważysz tego :-). Masz tam też opisik. Właściwie wszystko jest przygotowane, tylko assembly... Gdyby coś Ci nie pasowało... źródło inita jest... poradzisz sobie :-)
  • R.COM to połączenie ZINIT'a z EGAR.DAT (przy pomocy Super Packera co jest łatwe i przyjemne :-) ). Startuje od $a0001 ($a000 to RTS).
I to chyba wszystko... miłej instalacji...

Zegar działa, cieszy i spełnia pokładane w nim nadzieje. Jest na cartridżu bo tak miało być! Poradziłem sobie ze wszystkim :)

    Zegar (archiwum ZIP)

Zenon/DIAL


Do góry Poprzedni artykuł