8(@@START.BATBAT38 START c}E q0 \C)CC8`DCeECiD` RP h1$E ȍ @y b Y)hܭ]L]` q  DMD   u j)`0  ,p0i2 &28jJ1f02 9 g iJf0i1)xԍӭ232002XԦ`  *'  } *(L `(  L l pL[,L] C i0 } p  gފދLh ( LD 0  C  C  \i +$+0'}; $(%)  b L[C `D P^߰")(݃   $DD}G@НL]S")M T H0 G$Ș݃ b 8$}$%8(() T `$E0(0)8`$GE` P} Li 8GD }L[ PH >iJ ;  yyB } ' |L[ "E( % H$ H#`L]B  0 G LO<  ( d lH۪!A3 A }jA !B EIC Y$E0 F  < 7 JN8Ndâ!,P h0ʠJd,6 } ' r/ $ ɛ ` '  L[  l }-     }    L[L  }  '  L[   p  ` g  l }) g ' }L[) ̠,L]T-0 |LM N݃:ː6UV LM N L(TU N,)M}LL[IL3GDIɛ ɜ DI  , JȊGм  G I) GȦ=}*GG ȄI1200820I H1E 1h0hIGI2ȢI`FE 0ɛ rɛ$ l '}蚦TTUVD`M L$:;Pyȱ$` r  iȱ$/:ȱ$VWyA**⩀ / }`$***? mL]-+ȱ$ɛ m* ? g. $0f.?'@ wAsTt/` }0: gL  `$0`j`& CpCi s L0JCܢj? I#}𴽎F ގМގ& & 0 C4 08L`0   | 레L] EGȽGȽ}G | E` 8,  }EG)݀G)ȱGȱG`"!L] l!i}栠$8  (IƭIp  h,g+j? 8 ii(Lq)! }S S0$} ) E9`H)N,L]8GH Lq`gNgfj****8jHi h` } 2J  &e2i`"%?&;^$IM ! ! <u hh`$}Ev옝^! 1EHFHjm GHm H`u$Ev`L=? +`!,pFE ȄD8 }q D&E`I0` i`+DOS SYSMOC.I   J ٍ = ) F)}8`Ll T!U<; Ln <JM -18     HH =}D 2 :  /1[F:M #.!  `>C #   #`>   e}L'>/b;\I\o@ @LK~ L  % /e  LL H}H0S0N:;=91D,1ɛK$ɛ`:;ʾ  ,ɛ}`XYȄ #`DTDRLUFFFCICLRSJ==CIYEEONSMDLNOOUAOOOARPLNCL#####PANVBNFR*),-PQOR}a/%<}) j ө  RES L%-, # 3 0 %   4(H 4(` }( 3  #  ZOiۨ L4RE 3 =F S Z +8!} 0+  FF % 4 4& 4(X)Y    # 4 ʤ Ȅ L"}F F LH hL4`*J 0 B B 0a   8#}    Lkl  );<  : ` 0 } T T 7̀΀$}LIl <;`<L 3   #/ ! R( 7 7   7 89i L7 ,(&  %} L480  ` Ln    `   HJJJJ h) ii0 ``0  ,BLV&}[J  B Vso Fhh` GH ,H hɐɀɡ)HDCȱCɛeCD먥D h'}N MSп` ED` OIH`hhXhh  nL Free Fil-SBreakI/O-Error 170Disk f(}ullWrite protectedFile MismatchBad FilenameDOS II+/D - Ver. 6.4plus RUN:Br`čLLockedDe)}vice doneDIR fullNot foundLoad?Bad DOSHex?AbortFromToHD) S)Eh` ɛLn ;LD2:+DOS SY}=ON;RUN"D:PROGRAM.BAS"  L*ʅȥe˅ BECF-m gUr gUȦ 3LؠJMP 4MOV #0 -1JMP -1DAT 9SPL -2SPL 4ADD #-16 -3MOV #0 @-4JMP -4SPL 2JMP -1MOV 0 1 QB~-]JMP 3DAT 0DAT 99MOV -2 -1CMP #9 -3JMP 4ADD #1 -5ADD #1 -5JMP -5MOV #99 93JMP 93 1 QB~- ZJMP 2DAT 200DJN 2 -1JMP -1MOV #200 -4SPL 2JMP -4MOV #0 3MOV #99 3JMP 3DAT 0DAT 99MOV -2 -1CMP #9 -3JMP 4ADD #1.} -5ADD #1 -5JMP -5MOV #99 93JMP 93-4SPL 2JMP -4MOV #0 3MOV #99 3JMP 3DAT 0DAT 99MOV -2 -1CMP #9 -3JMP 4ADD #1'JMP 2DAT 0ADD #5 -1MOV #0 -2JMP -2-4SPL 2JMP -4MOV #0 3MOV #99 3JMP 3DAT 0DAT 99MOV -2 -1CMP #9 -3JMP 4ADD #1'SPL 4MOV #0 -2JMP -1MOV 0 1MOV -1 @4SPL <3ADD #653 2JMP -3DAT 833JMP 3DAT 0DAT 99MOV -2 -1CMP #9 -3JMP 4ADD #1JYZJ\ABCDEFGPCPEPMSCZYOIMNFATAMAEROOPOPMEINERNMEDODCM2}@@ @ @ @ 3} !4}"#$%&'(F +6-A8@P((;,;,;,;,;,;,;,Z5}9A<@,9@,9@,9@,9@,;@ ,;@,;@,;@,;@,;@6},dI 6.067,.0%67@,.+6.16.76.=6.C6.I6.68,-@C68@,-A %P7}:H:,$A,[68,-8,s68@,-8@,6-!-@! A!@(((PROG8}RAM WOJENNY %@: :6-@0@@: Ap%@6-B:,%6-@9} A!A #6-"""7<%@,4Ap%6-%@% @A@ A :}( 6.=:,6-%@(!A --DAT,MOV,ADD,SUB,JMP,JMZ,JMN,DJN,CMP,SPL@40AJ A!A ;}T86.7<,(4#)4@)4<)4>.6.8 Ap^=+4+)4-)@:,!@G*@:, @X36. = A h <} A r6-%@!A 6.7<,334+)4-)@:,!@G*@:, @XA@ A =}04*09A`6-A:7,, AP2 -7<,0  (6-2 A "'6-A:7<&@,,"6>}- A!A 26.7<,"4@)4<)4>(6.2 AP=+4+)4-)@:,!@G*@:, @X36.?} = A A &6-%@!A N@6.7<,64+)4-)@:,!@G*@:, @X@ AX @} A b6-A:7,,L 6-8,'6-P:+&@,'@,L6-&P:+&@,'@,$@667<,.67<,.A}% 66-B'g%O:,J&67<,.>:&P:'AV,$AV,?67<,.>:P:'AV,,J67<,.   6-BB}'g%O:,?&67<,.>:&P:'AV,$AV,?67<,.>:P:'AV,,/68,-8,%@%6-%@/ AC}@ B  A (>(/BLAD W PROGRAMIE WOJENNYM - PROGRAM PRZERWANY !A>u +@!'0@@D}A0@@[0@@@u0@@H68,-@-68,-@E}B68@,-@W68@,-@z688,<,-8,688@,<@,-8@,\m@wF})-@88,"B+@SE(j(PROGRAM %@ PRZEGRAL !mf6-88,<,p% AG}6-%6-zC A#6-&+!&@,$56-%+",C688,<,- A %@H}ApA0268,-8,%@#8,!8,268,-@  A`8,"A$o-8,8I},6@268%@<,-8<,6 J68,-8,%@X688,<,-l68,-8,%@o$`-8,%@8,168J}&@<,-8<,5 I68,-8,&@]68,-8,&@`$.`%@*6-P:+&@,'@,W6-&P:+&@K},'@,$@&@],`$Vr6-P:+&@,'@,K6-&P:+&@,'@,$@&@S1i+L},$@o,r$(6.7<,4 )4@(6- 4<6-6@ 4>6-@=#6-@:7M}<,,%@:7<,,$AV/!B'g=6-B'g&4#A, 6-%6-&P:',$,6-%+",?%6-@:7N}<,,%@:7<,,$AV%1!B'g?6-B'g&4 A@& 6- &6-B'g%O:,?&67<,.>:&PO}:'AV,$AV,?67<,.>:P:'AV,,  6-6.  A@ 6-<(6.7<,4 )4@(6-FP} 4<6-6@P 4>6-@Z=#6-@:7<,,%@:7<,,$AV/!B'g=6-B'g&d, 6-%6-&P:Q}',$,6-%+",n?%6-@:7<,,%@:7<,,$AV%1!B'g?6-B'g&x4 A`& 6- R}&6-B'g%O:,% A P6-6. % A6-@:7<,,&@GWWA A`APAAPS}AAPAA`A $6-@$7<,4#A"C67<,.7<,#67<,.7<,T}367<,.7<,C67<,.7<,,=67<,.7<,#67<,.7<,367<,.7<,= A6& 6- &6-B'gU}%O:,@ A PJ6-%@$r 6-% A 6-&& 6- &6-B'g%O:, A P6V}-%@$ 6- $6-%@"6-$:"6-%@DW}6-N$v46-&@6-# 46-B'g%O:, A P AP$ 6-%@6-%X}@$& 6-6-%@#6-@&$B&67<,.>:&P:'AV,$AV,?67<,.>:P:'AV,,B$*((((BY}LAD W PROGRAMIE W WIERSZU 4'6-@6-%@' A\<(9(.BLAD ODCZYTU Z DYSKIETKI - PROGRAM PRZERWANY !Z}<7<,0 6-$6-%@A!6-@$ D:MARS.BASI - PROGRAM PRZERWANY !eJMP 2DAT 5SPL 4DJN 2 -2JMP -1MOV #0 1SPL 0MOV 0 1A!6-@$ D:MARS.BASI - PROGRAM PRZERWANY ! 9MOV 0 1T 5SPL 4DJN 2 -2JMP -1MOV #0 1SPL 0MOV 0 1A!6-@$ D:MARS.BASI - PROGRAM PRZERWANY !$JMP 2DAT 200DJN 2 -1JMP -1MOV #200 -4SPL 2JMP -4MOV 0 16-@$ D:MARS.BASI - PROGRAM PRZERWANY !(?CORE WARS (Wojny rdzeniowe)Niniejszy opis jest fragmentem artyku uW. Zientary zawartego w numerze 6/91"Mojego Atari"1. Z,_}asadyW "Wojnach rdzeniowych" rozgrywka toczysi midzy dwoma programami napisanymiprzez zawodnikw. Najciekawsz i naj-,`}trudniejsz faz gry jest u oenieprogramu, ktry bdzie w stanie pokonaprogram przeciwnika. Po wprowadzeniudo pam,a}ici programw zostaje ju tylkoobserwacja toczcej si bitwy i oczeki-wanie na zwycistwo jednego z graczy. Polem walk,b}i jest obszar pamicizamknity w ptl bez koca. przekro-czenie przez jeden z programw kocatego obszaru powoduje p,c}ojawienie si go na pocztku i odwrotnie.Walczce programy s umieszczone loso-wo w pamici komputera i na przemianwykon,d}ywane. Podczas wykonywania progra-my mog przemieszcza si w pamici idzieli. Jeli w przypadajcej na niego kolejnoci ,e} program nie moe byprawid owo wykonany, to zostajezniszczony.Gracz, ktry straci wszy-stkie programy przegrywa.P,f}rogramy wojenne s napisane w specja-lnym jzyku zwanym "Redcode". Do ichtworzenia mona wykorzysta dowolnyedytor te,g}kstowy(np. Panther). Programwojenny musi by zapisany w postacipliku na dysku, skd jest odczytywanyprzez gr.2.REDCO,h}DEJzyk Redcode zosta w wersji dlanaszego komputerka nieco uproszczony,w stosunku do standartu, co zosta owymus,i}zone niewielk iloci pamici.Jzyk ten zawiera 10 rozkazw:DAT - rozkaz zawierajcy wy cznie danei niemoliwy do wy,j}konania(prba takaniszczy program);MOV - przepisz zawarto komrki A dokomrki B, a jeli A jest dan toutwrz w komrc,k}e B rozkaz DAT;ADD - dodaj argumenty A i B a wynikumie w komrce B;SUB - odejmij argumenty A i B, a wynikumie w kom,l}rce B;JMP - skocz do komrki okrelonej przezargument;JMZ - skocz do komrki okrelonej przezargument A, gdy zawarto,m} komrki Bjest rwna zero;JMN - skocz do komrki okrelonej przezargument A, gdy zawarto komrki Bjest rna od zera;,n}DJN - zmniejsz o jeden argument B iskocz do komrki okrelonej przezargument A, gdy wynik jest rony odzera;CMP - porw,o}naj zawartoci A i B, ajeli s rne to opu(przeskocz)nastpny rozkazSPL - podziel si na czci: jednwykonywan od ,p}nastpnego rozkazu idrug wykonywan od rozkazu wskazanegoprzez argument.Argumentami rozkazw mog by wy cznieliczby o,q}krelajce dane i adresy.Adresy s podawane wzgldnie, czyliliczc od rozkazu, ktry zawiera danyadres. Dane czyli ,r}liczby uywanebezporednio, a nie jako adresy oznaczasi znakiem "#". Np.:MOV 10 20oznacza przepisanie zawartoci kom,s}rkiodleg ej od tego rozkazu o 10 dokomrki, ktrej adres znajduje si wkomrce odleg ej o 20, aMOV #10 20oznac,t}za umieszczenie w komrce, ktrejadres jest odleg y o 20, liczby 10.Ponadto dopuszczane jest stosowanie wargumentach z,u}nakw "<", ">", "@".Oznaczaj one dodanie do wartociargumentu pobranego ze wskazanejkomrki odpowiednio wartoci -1,,v} 1 lub0. Rozkaz:MOV 10<20oznacza przepisanie zawartoci komrkiodleg ej o 10 do komrki, ktrejaderesem jest zmniej,w}szona o 1 zawartokomrki odleg ej o 20.W odrnieniu od innych wersji REDCODE,na Atarce nie mona stosowa etykiet iwsz,x}ystkie adresy i dane musz bypodawane bezporednio liczbami. Of cozuycie liczby ujemnej nakazujeodliczanie wstecz ,y}od rozkazu, ktry jzawiera.3. GRADzia anie programw wojennychnadzorowane jest przez program o nazwieMARS( Memory A,z}rray Redcode Simulator ).Program, ktrego listing znajduje si ww/w pimie. Powinien by rozpowsze-chniany z niniejszy,{}m plikiem.W celu rozpoczcia gry naley uruchomiprogram MARS. Nastpnie podaje sinazwy plikw zawierajcych wybran,|}eprogramy wojenne. Zostan one odczytanei rozpoczn walk. Batalia toczy si,a do skutku , czyli do momentu, gdyjede,}}n z programw zostanie ca kowiciezniszczony. Jeeli trzeba przerwa gr, wystarczy nacisn BREAK.Program przystosowan,~}y jest do wsp -pracy zarwno ze s tacj dyskw jak i magnetem. Aby za adowa jaki programtrzeba poda s pecyfikacj,} oraz wprzypadku stacji oczywicie nazwprogramu wojennego.4 PROGRAMY WOJENNEPoniewa napisanie w asnego proguw,}ojennego moe sprawi pewne trudnocito do pakietu powinne by do czoneprzyk adowe programy wojenne(*.CW):SKOCZEK -,} sk ada si tylko z jednegorozkazu. Kopiuje on samego siebie donastpnej komrki pamici i w tensposb systematycznie "z,}adeptuje" jejzawarto;BLI`NIAKI - wdruj po pamici kopiujcsi do obszaru po oonego o 100 komrekdalej;KARZE{ - pr,}buje "upolowa" przeciwnikastrzelajc w co 5 komrk pamici;ZMIENIACZ - trudny przciwnik, ktrydzieli si podczas walki,} na czci oodmiennym dzia aniuKOPIER - dzieli si na czci, ktrerozrzucane s po ca ym obszrze pamici;ROBAK - gro n,}y, cho powolny przciwnik.Posuwa si on powoli do przodukontrolujc przy tym swj "ogon",dziki czemu unika "zdeptania" od,} ty u.SKOCZEK ZBROJNY - odmiana Skoczka,ktra dzieli si co 200 kolejek tworzcnowego Skoczka.BLI`NIAKI ZBROJNE - analo,}gicznie jakSkoczek zbrojny ale efektem podzia u srosnce zastpy Bli niakw.5 ROZKAZY REDCODE(zestawienie)symbol rozka,}z argumenty operacja------ ------ --------- -------- 0 DAT A dane 1 MOV A B przepisz 2 A,}DD A B dodaj 3 SUB A B odejmij 4 JMP A skocz 5 JMZ A B skocz gdy 0 6 ,} JMN A B skocz gdy nie 0 7 DJN A B zmniejsz i skocz gdy nie 0 8 CMP ,}A B porwnaj 9 SPL A podziel si Wklepa : McMaster -,}---------rwnaj 9 SPL A podziel si Wklepa : McMaster -, YZJ\ABCDEFGPCPEPMSCZYOIMNFATAMAEROOPOPMEINERNMEDODCM0}@@ @ @ @ 0} !0}"#$%&'(F +6-A8@P((;,;,;,;,;,;,;,Z0}9A<@,9@,9@,9@,9@,;@ ,;@,;@,;@,;@,;@0},dI 6.067,.0%67@,.+6.16.76.=6.C6.I6.68,-@C68@,-A %P0}:H:,$A,[68,-8,s68@,-8@,6-!-@! A!@(((PROG0}RAM WOJENNY %@: :6-@0@@: Ap%@6-B:,%6-@0} A!A #6-"""7<%@,4Ap%6-%@% @A@ A 0}( 6.=:,6-%@(!A --DAT,MOV,ADD,SUB,JMP,JMZ,JMN,DJN,CMP,SPL@40AJ A!A 0}T86.7<,(4#)4@)4<)4>.6.8 Ap^=+4+)4-)@:,!@G*@:, @X36. = A h 0} A r6-%@!A 6.7<,334+)4-)@:,!@G*@:, @XA@ A 0}04*09A`6-A:7,, AP2 -7<,0  (6-2 A "'6-A:7<&@,,"60}- A!A 26.7<,"4@)4<)4>(6.2 AP=+4+)4-)@:,!@G*@:, @X36.0} = A A &6-%@!A N@6.7<,64+)4-)@:,!@G*@:, @X@ AX 0} A b6-A:7,,L 6-8,'6-P:+&@,'@,L6-&P:+&@,'@,$@667<,.67<,.0}% 66-B'g%O:,J&67<,.>:&P:'AV,$AV,?67<,.>:P:'AV,,J67<,.   6-B0}'g%O:,?&67<,.>:&P:'AV,$AV,?67<,.>:P:'AV,,/68,-8,%@%6-%@/ A0}@ B  A (>(/BLAD W PROGRAMIE WOJENNYM - PROGRAM PRZERWANY !A>u +@!'0@@0}A0@@[0@@@u0@@H68,-@-68,-@0}B68@,-@W68@,-@z688,<,-8,688@,<@,-8@,\m@w0})-@88,"B+@SE(j(PROGRAM %@ PRZEGRAL !mf6-88,<,p% A0}6-%6-zC A#6-&+!&@,$56-%+",C688,<,- A %@0}ApA0268,-8,%@#8,!8,268,-@  A`8,"A$o-8,80},6@268%@<,-8<,6 J68,-8,%@X688,<,-l68,-8,%@o$`-8,%@8,1680}&@<,-8<,5 I68,-8,&@]68,-8,&@`$.`%@*6-P:+&@,'@,W6-&P:+&@0},'@,$@&@],`$Vr6-P:+&@,'@,K6-&P:+&@,'@,$@&@S1i+0},$@o,r$(6.7<,4 )4@(6- 4<6-6@ 4>6-@=#6-@:70}<,,%@:7<,,$AV/!B'g=6-B'g&4#A, 6-%6-&P:',$,6-%+",?%6-@:70}<,,%@:7<,,$AV%1!B'g?6-B'g&4 A@& 6- &6-B'g%O:,?&67<,.>:&P0}:'AV,$AV,?67<,.>:P:'AV,,  6-6.  A@ 6-<(6.7<,4 )4@(6-F0} 4<6-6@P 4>6-@Z=#6-@:7<,,%@:7<,,$AV/!B'g=6-B'g&d, 6-%6-&P:0}',$,6-%+",n?%6-@:7<,,%@:7<,,$AV%1!B'g?6-B'g&x4 A`& 6- 0}&6-B'g%O:,% A P6-6. % A6-@:7<,,&@GWWA A`APAAP0}AAPAA`A $6-@$7<,4#A"C67<,.7<,#67<,.7<,0}367<,.7<,C67<,.7<,,=67<,.7<,#67<,.7<,367<,.7<,= A6& 6- &6-B'g0}%O:,@ A PJ6-%@$r 6-% A 6-&& 6- &6-B'g%O:, A P60}-%@$ 6- $6-%@"6-$:"6-%@D0}6-N$v46-&@6-# 46-B'g%O:, A P AP$ 6-%@6-%0}@$& 6-6-%@#6-@&$B&67<,.>:&P:'AV,$AV,?67<,.>:P:'AV,,B$*((((B0}LAD W PROGRAMIE W WIERSZU 4'6-@6-%@' A\<(9(.BLAD ODCZYTU Z DYSKIETKI - PROGRAM PRZERWANY !0}<7<,0 6-$6-%@A!6-@$ D:MARS.BASI - PROGRAM PRZERWANY !0eb&DOS SYSb*START BATB+ZMIENIA CW B,BLIZNIAKCW B-BLIZNZBRCW B/KARZEL CW B0KOPIER CW B*1PROGRAM BASB[ROBAK CW B\SKOCZEK CW B]SKOCZEKZCW B/^COREWARSDOCB*MARS BAS