Tajemnice ATARI

5 Linii

    Oto kolejne trzy pięciolinijkowce.

1. Mini-Max (minimum programu - maximum możliwości), tak nazwał swój program Janusz Korozak z Bielska-Białej. Program ten poszerza edytor ekranowy Atari o kilka nowych funkcji. Oto one:

sposób wywołania efekt
CONTROL+5 Powoduje wyłączenie obrazu. Po tej operacji wszystkie czynności komputera przebiegną o około 30% szybciej.
HELP Przywraca wyświetlania obrazu (zamiast klawisza HELiP można wcisnąć inny, dowolny klawisz, lecz powoduje to pojawienie się odpowiedniego znaku na ekranie).
CONTROL+6 Zmienia zestaw znaków (standardowe - międzynarodowe). Aby zaobserwować działanie tej funkcji należy napisać kilka znaków uzyskiwanych przez naciśnięcie kombinacji CONTROL+znak. Zamiast znaków międzynarodowych można uzyskać inny zestaw poprzez zmianę POKE 619,204 na POKE 619,X, gdzie X jest numerem strony, od której zaczyna się nowy zestaw.
SHIFT+x Włącza i wyłącza dźwięk klawiatury.
SHIFT+z Blokuje i odblokowuje działanie klawiatury.
SHIFT+CAPS Wyświetla na pozycji kursora napis: "? PEEK(560)+256*PEEK(561)". Dane do napisu znajdują się w 6 wierszu programu (zapisane w kodach ASCII). Zmienna L na końcu pierwszego wiersza zawiera liczbę znaków napisu. Wyświetlany napis można łatwo zmieniać poprzez zmianę danych w wierszu 5 wpisując długość napisu do zmiennej L i zmieniając liczbę o wartości 25 w wierszu 4 na wartość równą długości nowego tekstu. Maksymalna długość tekstu może wynosić 256 znaków.
SHIFT+RETURN Efekt podobny jak SHIFT+CAPS, ale na końcu umieszczany jest znak RETURN. Powoduje to natychmiastowe wykonanie polecenia, lub zatwierdzenie danej linii programu. POKE 31009,124 - powoduje uaktywnienie SHIFT+CAPS. POKE 31009,76 - uaktywnia SHIFT+RETURN. Na początku w tej komórce znajduje się wartość 124. Do komórki tej można wpisać dowolną wartość odpowiadającą kodowi wybranego klawisza, którego naciśnięcie spowoduje pojawienie się napisu. SHIFT+CAPS i SHIFT+RETURN mają szerokie zastosowanie. Mogą powodować wyświetlenie dowolnego napisu, fragmentu podprogramu, uruchamiać program, wywoływać podprogram itp.

Opis programu:

Program korzysta z przerwania klawiatury (z procedury CPUIRQ). Przed tą procedurą umieszczony jest program obsługujący różne kombinacje klawiszy. Sama procedura jest przeniesiona z systemu operacyjnego do pamięci RAM i odpowiednio zmodyfikowana (wiersze 1,2). W wierszu drugim wykonana jest zmiana wektora przerwania (...POKE 520,0:POKE 521,1...). Wiersze 3 i 4 zawierają dane do programu w języku maszynowym. Wiersz 5, to dane tekstu w kodach ASCII.
1 FOR A=30976 TO 31028:READ S:POKE A,S
:NEXT A:FOR A=0 TO 166:POKE 31029+A,PE
EK(64541+A):NEXT A:POKE 31179,133:L=25
2 POKE 31180,121:POKE 520,0:POKE 521,1
21:POKE 31049,87:POKE 31145,157:POKE 3
1149,155:FOR A=31197 TO 31196+L:READ S
3 POKE A,S:NEXT A:POKE 619,204:DATA 13
8,72,152,72,169,20,141,217,2,169,2,141
,218,2,173,9,210,201,86,208,8,173,219
4 DATA 2,73,1,141,219,2,173,9,210,201,
124,208,17,162,0,189,221,121,134,209,3
2,176,242,166,209,232,224,25,208,241
5 DATA 63,32,80,69,69,75,40,53,54,48,4
1,43,50,53,54,42,80,69,69,75,40,53,54,
49,41


2. Easy come... , autorstwa Waldemara Chlebika z Legnicy, to program ułatwiający życie posiadaczom magnetofonów. Przedstawiony program powoduje ignorowanie przez komputer niektórych rodzajów błędów transmisji danych z magnetofonów do pamięci komputera (nr błędów 140, 142, 143). Program przepisuje z ROM-u procedurę obsługi przerwania odczytu z szyny szeregowej (ISRODN), następnie modyfikując ją tak, by nie sygnalizowała błędów. Teraz nie zostaje już nic innego jak tylko zmienić wektory VSERIN po to, aby komputer używał do odczytu naszej procedury i wywołać odczyt wstępny (BOOT) z magnetofonu. Po bezbłędnym przepisaniu programu należy go uruchomić go komendą RUN. Komputer nagra na kasetę program w formie BOOT-u. Najlepiej program ten nagrać bezpośrednio przed kopierem, który chcemy uodpornić na błędy, lub bezpośrednio przed programem, który nie chce się wgrać. Aby uruchomić program z poprzedzającym go Easy come... wystarczy włączyć komputer z wciśniętymi klawiszami OPTION i START.
10 POKE 559,0:OPEN #1,8,128,"C:":FOR A
=1 TO 60:READ B:PUT #1,B:NEXT A:CLOSE 
#1:POKE 559,34:END 
30 DATA 0,1,0,6,6,6,173,10,2,133,29,17
3,11,2,133,30,160,90,162,91,177,29,157
,58,6,136,202,208,247,189,59,6
40 DATA 201,132,208,5,169,160,157,59,6
,232,224,37,208,239,169,59,141,10,2,16
9,6,141,11,2,76,128,198,0

         opt *10101

vserin   equ $020a
bootc    equ $c680
bufor    equ $1d

         org $0600

loadad   dta b(0),b(1)
         dta a(loadad)
         dta a(startad)

startad  lda vserin
         sta bufor
         lda vserin+1
         sta bufor+1
         ldy #$5a
         ldx #$5b
tu1      lda (bufor),y
         sta adr1-1,x
         dey
         dex
         bne tu1
tu2      lda adr1,x
         cmp #$84
         bne tu3
         lda #$a0
         sta adr1,x
tu3      inx
         cpx #$25
         bne tu2
         lda adr1
         sta vserin+1
         jmp bootc

adr1     equ *

         end

    3. Ostatni (na dziś) pięciolinijkowiec napisał Pan Bartek Molenda z Barczewa. Jest to prosta gra zręcznościowa przeznaczona dla jednego gracza. Steruje się za pomocą joystick'a podłączonego do portu pierwszego. Zadanie polega na przejściu na drugi koniec planszy, unikając zderzenia z ramką (płotem pod napięciem), swoim śladem (wzruszonym grząskim gruntem) i pojawiającymi się kropkami (minami).

Opis działania programu:

Wiersz 1 Rysuje ramkę, likwiduje kursor i ustala zmienne określające pozycję gracza.
Wiersz 2 Odczytuje wartość joystick'a i sprawdza, czy nastąpiła kolizja gracza z innymi obiektami.
Wiersz 3 Rysuje gracza i w losowo wybranych miejscach trzy miny.
Wiersz 4 Sprawdza, czy gracz dotarł do końca ramki. Jeśli tak, to wyświetla błyskający komunikat, a jeśli nie to wraca do wiersza drugiego.
Wiersz 5 Jeżeli wystąpiła kolizja, to kończy grę odpowiednim komunikatem oraz efektami świetlnymi i dźwiękowymi.

1 GRAPHICS 7:POKE 752,1:COLOR 1:PLOT 1
00,10:DRAWTO 10,10:DRAWTO 10,60:DRAWTO
 100,60:DRAWTO 100,20:X=11:Y=59
2 S=STICK(0):X=X-(S=11)+(S=7):Y=Y+(S=1
3)-(S=14):IF S<>15 THEN LOCATE X,Y,C:O
N C>0 GOTO 5
3 COLOR 2:PLOT X,Y:FOR I=1 TO 3:A=INT(
RND(0)*88)+13:B=INT(RND(0)*48)+13:COLO
R 1:PLOT A,B:NEXT I
4 ON X<100 GOTO 2:? "HAPPY END !!!":PO
KE 710,0:FOR I=1 TO 255 STEP 0.2:POKE 
709,I:NEXT I:GRAPHICS 0:END 
5 ? "BUCH !!!":FOR I=1 TO 255:POKE 710
,I:SOUND 0,I,8,15:NEXT I:GRAPHICS 0:EN
D 
   Autorzy wydrukowanych pięciolinijkowców otrzymują honorarium w wysokości 100 tys. zł.




Powrót na start | Powrót do spisu treści | Powrót na stronę główną

Pixel 2001