Tajemnice ATARI

HEARTLIGHT
Fascynacja "BOULDER DASHem"


   Wszyscy chyba spędzili co najmniej kilka minut wpatrzeni w monitor, po którym wędrował sympatyczny bohater gry Petera Liepy "Boulder dash". Pamiętamy również ROBBO oparte na podobnej idei oraz zbliżonym "schemacie" gry. Autor ROBBO podjął jeszcze jedną próbę przedstawienia fenomenu Boulder Dasha łączącego znakomity pomysł i doskonałą realizację. Napewno opłaci się trud wpisania programu do komputera bowiem niewątpliwie wzbogaci on każdą biblioteczkę oprogramowania i będzie często używany.

   Bohater gry został uwięziony , w podziemnym labiryncie. Aby się z niego wydostać musi zebrać wszystkie serduszka zostawione przez ukochaną.
  • Cała gra jest napisana w języku asemblera, jedynie program umieszczający dane w pamięci jest w basicu.
  • W wierszach 1 do 910 znajduje się program umieszczający właściwą grę w pamięci.
    W wierszach 1000-1060 zawarte są następujące dane w kolejności:
  • wiersz 1030 zawiera kody kolorów. Pierwsze cztery liczby określają kolory obiektów, piąta odpowiada za kolor tła. Powyższe parametry można zmieniać według następującego schematu: kod=16*kolor+jasność. Mamy do dyspozycji kolory od O do 15 i jasności w takim samym przedziale, więc należy pamiętać, by wpisany kod był liczbą od 0-255!
  • wiersz 1050 zawiera następujące parametry:
    - ilość "żyć" z jaką rozpoczynamy grę (0-255),
    - ile komnat należy przejść by dostać dodatkowe "życie" (0-255),
    - liczbę zdefiniowanych komnat (max 30).

       Powyższe parametry można zmieniać pamiętając o logicznych następstwach tego faktu.
  • wiersz 1070 zawiera imię i nazwisko autora komnat wyświetlane na stronie tytułowej. Można tu wpisać dowolny tekst z zachowaniem następujących reguł:
    - po słowie DATA musi znajdować się znak "/",
    - następnie 20 dowolnych znaków,
    - na końcu ponownie znak 7".
  • wiersze 1080-1088 mieszczą symbole graficzne elementów używanych przy definiowaniu komnat.
  • wiersze 1100-10000 zawierają definicje kolejnych plansz gry. W wersji podstawowej zdefiniowane są cztery komnaty, a można umieścić maksymalnie 30 plansz w kolejnych wierszach DATA. Każda definicja musi składać się z 12 wierszy, gdzie po słowie DATA należy umieścić:
    - znak "/",
    - następnie 20 znaków symbolizujących obiekty z gry,
    - na końcu ponownie znak "/".
    - Ilość zdefiniowanych komnat należy wpisać jako trzeci parametr w linii 1050.
  • wiersze 10000-11930 zawierają główny program (grę).
       Po przepisaniu całego programu należy go nagrać na kasetę lub dyskietkę odpowiednio instrukcją CSAVE lub SAVE"D:HL" lub instrukcją odpowiednią do używanej pamięci zewnętrznej.
       W wypadku popełnienia błędów w wierszach DATA po wykonaniu komendy RUN program poinformuje o numerze błędnie wpisanego wiersza i przerwie działanie. Jeżeli wszystko będzie w porządku, to po ok. 9 sekundach ukaże się czołówka gry.
       Aby rozpocząć zabawę wystarczy wcisnąć klawisz START lub SHIFT lub FIRE w joysticku. Sterowanie: joystick lub klawisze "-=+*".
       W następnym numerze TAJEMNIC ATARI zamieścimy program służący do zapisywania na dowolne urządzenie zewnętrzne gotowej samodzielnie działającej gry (bez części w basicu).

    1 REM -------------------------------
    2 REM :         HEARTLIGHT          :
    3 REM :     autor: Janusz Pelc      :
    4 REM :  (C) 1990 Tajemnice ATARI   :
    5 REM -------------------------------
    10 POKE 106,112:GRAPHICS 2+16
    20 P6=1536:RDTA=P6:RHEX=P6+3
    30 BEGN=36864:PLAY=BEGN+608:CAV=28672
    50 POKE 559,0:RESTORE 500:A=P6
    60 READ B:IF B>-1 THEN POKE A,B:A=A+1:
    GOTO 60
    100 A=BEGN+20:L=10030:DIM A$(40)
    110 ERR=0:POKE ERR,0
    120 RESTORE 10000:TRAP 200
    130 READ A$:X=USR(RHEX,ADR(A$),A):IF P
    EEK(ERR)=0 THEN A=A+12:L=L+10:GOTO 130
    140 GRAPHICS 0:? "Popraw linie ";L:STO
    P 
    200 IF PEEK(195)<>6 THEN L=130:GOTO 14
    0
    210 RESTORE 1000
    220 FOR A=708 TO 712:READ B:POKE A,B:N
    EXT A
    230 FOR A=CAV TO CAV+2:READ B:POKE A,B
    :NEXT A
    240 READ A$:IF A$(1,1)="/" THEN X=USR(
    RDTA,ADR(A$),A):A=A+20:GOTO 240
    400 X=USR(PLAY)
    500 REM -----------------------------
    510 REM :  Program wczytujacy dane  :
    520 REM -----------------------------
    530 DATA 76,114,6,104,104,133,204
    540 DATA 104,133,203,104,133,206,104
    550 DATA 133,205,162,0,160,0,132
    560 DATA 208,32,49,6,176,19,145
    570 DATA 205,24,101,208,133,208,200
    580 DATA 192,12,144,239,32,49,6
    590 DATA 197,208,240,2,230,0,96
    600 DATA 169,0,32,60,6,176,56
    610 DATA 10,10,10,10,141,109,6
    620 DATA 161,203,230,203,208,2,230
    630 DATA 204,201,48,144,9,201,58
    640 DATA 176,5,56,233,48,176,24
    650 DATA 201,97,144,9,201,103,176
    660 DATA 5,56,233,87,176,11,201
    670 DATA 65,144,11,201,71,176,7
    680 DATA 56,233,55,9,108,24,96
    690 DATA 56,96,104,104,133,204,104
    700 DATA 133,203,104,133,206,104,133
    710 DATA 205,230,203,208,2,230,204
    720 DATA 160,19,177,203,145,205,136
    730 DATA 16,249,96,-1
    900 TRAP 910:A=0/0
    910 RETURN 
    1000 REM ----------------------------
    1010 REM :        Komnaty           :
    1020 REM ----------------------------
    1025 REM kolory
    1030 DATA 4,6,14,10,0
    1040 REM 
    1045 REM zycia,dodatkowe,ilosc komnat
    1050 DATA 3,2,4
    1060 REM 
    1070 DATA /    JANUSZ  PELC    /
    1075 REM 
    1080 REM % murek twardy
    1081 REM # murek miekki
    1082 REM @ kamien
    1083 REM $ serduszko
    1084 REM * bohater
    1085 REM ! wyjscie
    1086 REM & bomba
    1087 REM . trawa
    1088 REM 
    1100 REM komnata 1
    1101 DATA /%%%%%%%%%%%%%%%%%%%%/
    1102 DATA /%....@.....@.$.....%/
    1103 DATA /%.*..@$...@@@@...@.%/
    1104 DATA /%....@...$.......@.%/
    1105 DATA /%%%%%%%%%%%%%%%%.$.%/
    1106 DATA /%....@@...@....@...%/
    1107 DATA /%.@...$..@...$.@...%/
    1108 DATA /%.@.%%%%%%%%%%%%%%%%/
    1109 DATA /%$.@...@.@...$@....%/
    1110 DATA /%....@@..@$...@$..@!/
    1111 DATA /%.$....@.@..@..$..@%/
    1112 DATA /%%%%%%%%%%%%%%%%%%%%/
    1200 REM komnata 2
    1201 DATA /%%%%%%%%%%%%%%%%%%%%/
    1202 DATA /%.......@..........%/
    1203 DATA /%..$.@.......$...&.%/
    1204 DATA /%&...#####.#####.$.%/
    1205 DATA /%$@..#...#.#   #...%/
    1206 DATA /%.@..#.$.#$# ! #.@@%/
    1207 DATA /%.@.@#..@#.#   #@..%/
    1208 DATA /%....#####@#####...%/
    1209 DATA /%@......@....@...$.%/
    1210 DATA /%...$.*..@.........%/
    1211 DATA /%..@......@...@@..@%/
    1212 DATA /%%%%%%%%%%%%%%%%%%%%/
    1300 REM komnata 3
    1301 DATA /  &    @       $    /
    1302 DATA / ###@####  %%%%%%%% /
    1303 DATA / #.......  .....@.% /
    1304 DATA / #..$....  .@.....% /
    1305 DATA / #....... &.......%@/
    1306 DATA / #.@..... *...$..@% /
    1307 DATA /$#...$...  .....@.% /
    1308 DATA / #.....@.  .$..@..% /
    1309 DATA / #..@....  ...@.!.% /
    1310 DATA / #....@..  ..@...@% /
    1311 DATA / ########  %%%%%%%% /
    1312 DATA /             @      /
    1400 REM komnata 4
    1401 DATA /%%%%%%%%%%%%%%%%%%%%/
    1402 DATA /%........%..@....&.%/
    1403 DATA /%.$.@...@%@......$.%/
    1404 DATA /%.......$%.*.@.$...%/
    1405 DATA /%.@@.....%$.....@..%/
    1406 DATA /%.$..&...%%%%.@....%/
    1407 DATA /%......%%%%......!@%/
    1408 DATA /%@.$......%.@..@...%/
    1409 DATA /%....@..*.%.$.@.$..%/
    1410 DATA /%@.#####..%......@.%/
    1411 DATA /%$.#   #..%..@.....%/
    1412 DATA /%%%# $ #%%%%%%%%%%%%/
    10000 REM ---------------------------
    10010 REM :          GRA            :
    10020 REM ---------------------------
    10030 DATA 01060b1f000000004090e0f4d5
    10040 DATA 00000001061b2f7f0000004010
    10050 DATA 90e4f8fd0001061b2f7fbffff7
    10060 DATA 004090e4f8fdfeff01061b2ff7
    10070 DATA 7fbfffff4090e4f8fdfeffffe1
    10080 DATA 2a20212221221500aa0199658e
    10090 DATA 996555000001060a1a2a2a2afc
    10100 DATA 005094a4a5a5a5a5000100102d
    10110 DATA 00010010000400000400000019
    10120 DATA 00000009002f002f000000248b
    10130 DATA 00fd00fd030300030e3a193498
    10140 DATA f0a88952545554010002050d85
    10150 DATA 0b3f0f0b00a86b5a5554e498f6
    10160 DATA 02050d0b3f0f0b0aa86b5a5544
    10170 DATA 54e498b4000a3a29150506091a
    10180 DATA 00a0545c787ffcb80a3a29157d
    10190 DATA 05060907a0545c787ffcb8a8be
    10200 DATA 010609172f2f1f2f50a458f514
    10210 DATA fefefdfe3f3a3a3a3a3a15006d
    10220 DATA ffa9a9a9a9a9550000000000a1
    10230 DATA 00000000000000000000000000
    10240 DATA 1f0b060100000000f4e09040d5
    10250 DATA 000000007f2f1b0601000000d0
    10260 DATA fdf8e49040000000ffbf7f2f15
    10270 DATA 1b060100fffefdf8e4904000c8
    10280 DATA ffffbf7f2f1b0601fffffefd86
    10290 DATA f8e49040aa01996599655500a8
    10300 DATA 2a202122212215002a2a1a1568
    10310 DATA 05050100a59595555454500027
    10320 DATA 00000004000010004100001065
    10330 DATA 01004000000b0002000000004e
    10340 DATA 00f400d0004000000920052052
    10350 DATA 050501005401540154545000ad
    10360 DATA 0a0a090101030f00b4f4d45401
    10370 DATA 58bcfc000a09313d0f000000a0
    10380 DATA f4d45b5f3c00000007070505d6
    10390 DATA 090f0f00a8e8d85050b0fc00db
    10400 DATA 0705393d0f000000e8d8535f03
    10410 DATA 3c0000002f1f2f2f251a15003c
    10420 DATA fefdfefe56a95500ffa9a9a945
    10430 DATA a9a955003f3a3a3a3a3a15001d
    10440 DATA 54a8cccccccca8541060b03078
    10450 DATA 3030a85454a80cfcc0c0a854dc
    10460 DATA 54a80c3c0c0ca8544084c8ccb0
    10470 DATA fc0c080454a8c0fc0c0ca854e0
    10480 DATA 54a8c0fccccca85454a80c0c60
    10490 DATA 0c0c080454a8ccfccccca8547c
    10500 DATA 54a8ccfc0c0ca854ffedddd576
    10510 DATA f6d5ddffff5bd7f7d7df67ffeb
    10520 DATA a2ff9a208a974c08933045a47c
    10530 DATA 923044009b04040404040404bd
    10540 DATA 04040404040404040404040430
    10550 DATA 0404040441699270707070707c
    10560 DATA 70707047cc927006707070702b
    10570 DATA 067046c09f418b928080808079
    10580 DATA 801a1b80c0c4808080808080b9
    10590 DATA 80808080808080808080808000
    10600 DATA 8080804a4b80c0c18080808016
    10610 DATA 8080808080a8a5a1b2b4aca929
    10620 DATA a7a8b4808080808000617574cd
    10630 DATA 6f725a006a616e75737a007046
    10640 DATA 656c630080808080e1f5f4efed
    10650 DATA f280ebefedeee1f4da80808056
    10660 DATA 201398207896acfc02c0fff052
    10670 DATA 09a9ff8dfc02c01cf00c2cc606
    10680 DATA 98103aa92a20af98d0e1a2006f
    10690 DATA a92bbcc09ec02ad0039dc09ea6
    10700 DATA e8e0f090f1a9408d1e02207867
    10710 DATA 96ad1e02d0f8cec098adc09856
    10720 DATA c9ffd0034c60922096934c0876
    10730 DATA 93eec398adc398cd0270a900cc
    10740 DATA 90068dc3988dc498f818adc4e8
    10750 DATA 9869018dc498d8cec898d08849
    10760 DATA eec098d005cec098d0032096ca
    10770 DATA 93ad01708dc8984c0893a9002e
    10780 DATA 8dc198aec098f012f818adc16c
    10790 DATA 9869019002a9998dc198d8ca5e
    10800 DATA d0ee60a92f4c6c95a928a027db
    10810 DATA 4cb195a90285cba928a0271035
    10820 DATA 0da9294c6c95a90385cba929fa
    10830 DATA a02485cd84cea00320f7959047
    10840 DATA 16c92af008c922f004c926d09f
    10850 DATA 0aa92b99c09ea5cb4c3296a5fe
    10860 DATA cda4ce20b1959063b0f0a92d0e
    10870 DATA 4c6c95a922a0264cb195a00313
    10880 DATA 20f795901f48a902203296689e
    10890 DATA c92ad006a92b99c09e60c92eeb
    10900 DATA d004a926d002a92b9dc09e60a4
    10910 DATA a922a0264cb195a003984820c6
    10920 DATA f7953015c925f011c926f004a3
    10930 DATA c92bd004a9ab3002a9b099c000
    10940 DATA 9e68a88810dfa9b09dc09e60d9
    10950 DATA adc298d0faa5d0290408adcaf2
    10960 DATA 98297f28f00209808dca986032
    10970 DATA ad00d3c9fff00b4a4a4a4a2d98
    10980 DATA 00d309f0300dad0fd22904d094
    10990 DATA 10ac09d2b951fba00fd95c9515
    11000 DATA f00c8810f8add39829fc8dd329
    11010 DATA 9860982903a88cc598c002b0bf
    11020 DATA 17add39829f385cd98486901e7
    11030 DATA 0a0a05cd8dd39820e89468a88a
    11040 DATA 20f7959005202e95b00dbdc05e
    11050 DATA 9e098099c09ea9209dc09e6042
    11060 DATA 8a4818a5007920961879209605
    11070 DATA c914b03384cd20f795a228c950
    11080 DATA 27f006a222c926d02286ce98ae
    11090 DATA aaa4cd20f795b017a5d04ab0fd
    11100 DATA 12a901203296bdc09e098099e1
    11110 DATA c09ea9209dc09e68aa60c92481
    11120 DATA d00acec298a90320329618600e
    11130 DATA c92ed007a9012032961860c9a1
    11140 DATA 21d00fadc298d00a8dc698a975
    11150 DATA 219dc09e18603860fbf7fefd19
    11160 DATA 6f7071612b2a2d3d363938374e
    11170 DATA 85cda00320f795492ef0334984
    11180 DATA 2e4925f02d4925492af0279041
    11190 DATA 26a00220f795c5cdf01ca000b2
    11200 DATA 20f795d007a00420f795900f72
    11210 DATA a00120f795d007a00520f79575
    11220 DATA 900160a5cd9dc09e60098085cc
    11230 DATA cd84cea9209dc09ea00320f79d
    11240 DATA 95b009900138a5cd99c09e60e0
    11250 DATA c92ef020c925f01ca00420f7bc
    11260 DATA 95b007a00020f79590e3a005b0
    11270 DATA 20f795b007a00120f79590d515
    11280 DATA a5ce9dc09e386018a50079205c
    11290 DATA 96c9149003a9ff6018a5017945
    11300 DATA 2696c90cb0f3188a792c96a8b9
    11310 DATA b9c09e297fc92018f001386049
    11320 DATA ff010000ff010000ff01010102
    11330 DATA ff01ec141315cdc79890038d74
    11340 DATA c79860acc798f02f88200c9835
    11350 DATA ad1ad2290f69088d7296b97404
    11360 DATA 96c003900698a0031974968dda
    11370 DATA 01d2b970968d00d2200c98a95e
    11380 DATA 008d01d28dc7986000040010c0
    11390 DATA 8104a400a2ff8ec5988ec698a1
    11400 DATA e886008601bdc09e3035c9306e
    11410 DATA 90184838e930690320329618ad
    11420 DATA 686901c9379002a9209dc09e28
    11430 DATA d019290f0aa8b9e198f0108d92
    11440 DATA bc96b9e0988dbb968a4820ba0d
    11450 DATA 9668aae600a500c9149006a94f
    11460 DATA 008500e601e8e0f090b3a2eff8
    11470 DATA bdc09e297f9dc09ecae0ffd037
    11480 DATA f3add398acc5983007add39863
    11490 DATA 4902d00229fe8dd398a5d029da
    11500 DATA 01d010adcd9849808dcd98ad5b
    11510 DATA d29849808dd298203b96464dae
    11520 DATA a51130034c6092ad1c02d0fbbd
    11530 DATA a9068d1c02e6d0a200a90085e0
    11540 DATA cba99b85cca91385cdbcc09e88
    11550 DATA b9a998a00091cb0901c891cb24
    11560 DATA 0920a02991cb29fe8891cb1871
    11570 DATA a5cb690285cb9002e6cce8c61d
    11580 DATA cd10d618a5cb692885cb9002ae
    11590 DATA e6cce0f090c3adc198a00920a4
    11600 DATA 7797adc498a0234820809768c1
    11610 DATA 4a4a4a4a290f18694099a492f0
    11620 DATA 8860a9e08511a28ba09220d55b
    11630 DATA 97464dad0fd24a4a4a2d1fd0b2
    11640 DATA 2d10d02d11d0d0eda2008ec3cb
    11650 DATA 98e88ec498a0efa92099c09eb9
    11660 DATA 88c0ffd0f8ad00708dc0982031
    11670 DATA 9693ad01708dc898202397a9b7
    11680 DATA 90a269a0928df402a9008d0086
    11690 DATA d48d2f028e30028c3102a213c6
    11700 DATA a9009d0090bd03700a08c9c0a1
    11710 DATA b006e93eb00269c0286a9dc0a7
    11720 DATA 9fca10e4200c98a9228d2f02aa
    11730 DATA a514c514f0fc60a91785cda999
    11740 DATA 7085ceaec398f00e38a9ef65ff
    11750 DATA cd85cd9002e6cecad0f2a9801a
    11760 DATA 205498add39829fc8dd398adee
    11770 DATA ca98297f8dca98205498a924d2
    11780 DATA 20af988dc298a9ff8dfc0260e1
    11790 DATA 8dae98a2198a48a228ac1ad2c2
    11800 DATA c0f0b0f9209798cad0f3207cd1
    11810 DATA 9868aacad0e7a000209798c8e2
    11820 DATA c0f090f8a5cd48a5ce48200cd9
    11830 DATA 98202397a903203296203b96f7
    11840 DATA 6885ce6885cd60b1cd2cae98c5
    11850 DATA 1002a923c9209004c9309002e6
    11860 DATA a92799c09e6000a200a000d942
    11870 DATA c09ed001e8c8c0f090f58a60fe
    11880 DATA 000000000000000000009c12ae
    11890 DATA 0a909e120c0c90180208120e34
    11900 DATA 0c020406080604020000649424
    11910 DATA 0e940000c99300000294b393da
    11920 DATA bf93ce937c943b94000007942d
    11930 DATA 0000b89300000000000000004b
    



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

    Pixel 2001