@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u01UcCOLCLDLDIOFNRGBCPRTSCASAAAAA@T}@ !!CGP-220 SCREEN DUMP PRU}OGRAMBY STAN SUBEKANTIC PUBLISHING ss9@,;@,;@3,;@B,;@,;@,;@V},;@,9@u,;A@,##READ ML ROUTINES & COLOR DATA AJAR'@@*W}(F(ENTER DEV:FILENAME.EXTJ#MODIFY DISPLAY LIST(; +@$/6-F:@,%F:@,$AV;6-?:C:,,-REX}AD DATA FROM DISK2Q@+@@Q6-?:C:,<@<@<<Av,<+)@AY}+68@,-F+)@A+68@,-P+)@A +68@,-Z+)@AZ}+68@,-d@i(-@@$67<,. ( kCOLOR TABLEn-@@x&6-[}&8, @A&6-@&8, @A&6-@&8, @A&6-@&8,\} @ A&6-@&8, @(A&6-@&8, @2A&6-@&8, @6A]}&6-@"&8, @DA&6-@&8, @HA&6-@&8, @RA&6^}-@&8, @`A&6-@&8, @dA&6-@&8, @hA&6-@&_}8, @vA&6-@&8, @A&6-@ &8, @A&6-@&8, @`}A"&6-@&8, @A,&6-@&8, AA6&6-@$&8, AAa}@&6-@&8, AAJ&6-@&8, AAT&6-@&8, A$A^&6-@ b}&8, A(Ah&6-@&8, A2Ar&6-@&8, A@A|&6-@ &8, c}ADA&6-@&8, AHA&6-@!&8, AVA&6-@ &8, A`Ad}&6-@&8, AdA&6-@!&8, ArA&6-@ &8, AvA&6e}-@&8, AA&6-@&8, AA&6-@&8, AA&6-@&f}8, AA&6-@&8, AA&6-@&8, AA&6-@&8, Ag}A&6-@&8, A A&6-@&8, A$A&6-@&8, A(A&h}&6-@#&8, A6A0&6-@&8, A@A:&6-@&8, ADAD&6-@"i}&8, ARAN6-@X$$67<,.>:8@%@$,,b4467%@<%@,.>:8@%@$j},,l4467%@<%@,.>:8@%@$,,v {00PRINT 2 LINES OF DOTS FOR EACH SCREEN LINEB-@k}@$67<,. 167<,. >67<,. B .@.@@P:0 6-C:,6-C:,6-C:l},'6-C:,06-C:,-A 6-?:<<<<<%@@$,-@@ @>:@',m}C @>:@, @ @ @  @ DISK n}INPUT ROUTINE--@@B")67<,.>:,-  LL104,104,104,10,10,10,10,170,104,104,157,66,3,104,157,69,3,104o},157,68,3*KK104,157,73,3,104,157,72,3,32,86,228,169,0,133,213,189,67,3,133,212,96/DISPLAY LIST ROUTINE4--@p}@3")67<,.>:,- >==104,173,48,2,133,203,173,49,2,133,204,160,1,200,177,203H@@201,15,240,4,201,79,208,4,23q}3,1,145,203,192,200,208,237,96MCOLOR DATA (RGB)R(-@@u"$68,-( \//0,0,0,5,5,5,15,15,15,10,0,0r},15,0,0,15,5,5f!!0,10,0,0,15,0,5,15,5,0,0,10p##0,0,15,5,5,15,10,10,0,15,15,0z%%15,15,5,10,0,10,15,0,15,15,5,15s}0,10,10,0,15,15,5,15,15!!0,10,5,15,5,0,5,15,0,0,5,15PRINT DATA CALCULATION--@A@")67<,.>:,t}- ee104,104,133,204,104,133,203,104,133,206,104,133,205,104,133,208,104,133,207,104,133,3,104,133,2WW160,0,177,2,15u}3,0,6,200,192,12,208,246,104,133,3,104,133,2,169,0,141,12,6,168,177NN2,41,48,74,74,74,74,170,189,0,6,141,13,6,189,4,6,141v},14,6,189,8,6,141,15RR6,177,2,41,192,74,74,74,74,74,74,24,144,3,24,144,213,170,189,0,6,10,10,10,10RR24,109,13,6,145,2w}03,189,4,6,10,10,10,10,24,109,14,6,145,205,189,8,6,10,10,10VV10,24,109,15,6,145,207,192,1,208,68,24,144,3,24,144,206,238,x}12,6,173,12,6,201,40VV208,1,96,162,0,136,230,2,165,2,201,0,208,2,230,3,230,203,165,203,201,0,208,2,230__204,230,205,1y}65,205,201,0,208,2,230,206,230,207,165,207,201,0,208,2,230,208,232,224,2,208QQ221,24,144,141,177,2,41,3,170,189,0,6,141,1z}3,6,189,4,6,141,14,6,189,8,6,1411115,6,177,2,41,12,74,74,200,24,144,158,0,0,0$D:TEST,41,3,170,189,0,6,141,1fRLt11115,6,177,2,41,12,74,74,200,24,144,158,0,0,0$D:TEST,41,3,170,189,0,6,141,1 }}~}}}}}}}?????}}}}}}UUUUUUUUUU_UUUUUUUUUUU_UUUUUUUUUU_333333331}UUUUUUUUUU_333333333wwu{UUUUUUUUUU_3333wwww]UUUUUUUUUU_ 33wwwww]}ۻUUUUUUUUUUS333 wwwwwunUUUUUUUUUUP3333 wwww]UUUb"%UUUUP3333 wwwu}^UUUUUUUP333 wwwuUUU""!UUUUP3 333www]UUXUUUP330337]www]{}UUb""""UUUP33 37uww]UUHfhUP 33 7w]wwuUV"!""%UP3 33 wuwuUTff}fUP3030ww]wuUV%"!UP3030wuwuUTfffDUP3 3 ww]wuUUU"!U}P03 31w]wuUUVfjUP30303]wuw]UUU!UP3 303uuw]UUUU UP }3 3 w]w]w]UUUV UP0030w]w]w]UUUZ UP03 3 uwuw]UUUZ UP3 0}0w]uw]UUUZUP3 00w]uw]UUUZ UP 003uuw]UUUV?UUP03 5u}w]w]UUUV:UUP0005w]w]]UUUVUUP 3 3 3 7]]]]UUUUUUP0000u]]]}UUUUjUUUP 3 3 0uuu]UUUUuUUUUUP00 w]uu]UUUUUUUUUP? 3 01]uu]}UUUUUUUUUP 0 1]]u]UUUWuUUUUUP?0 0 ]u]u]UUUWuUUUUUP 0 0]u]u]}UUUWUUUUUP 0 0 u]u]uUUUUUUUUUP0 0 u]u]uUUUUUUUUUUP 0 0]u]uUUUUU}UUUUUP00 00]uu]uUUUUUUUUUUP 00]u]uUUUUUUUUUUP 00uuW]uUUUUUUUUUU}P? 0 5u]]uUUUUUUUUUUP 05W]]uUUUUUUUUUUP 000W]]]uUUUUUUUUUUP?}000W]]]uuUUUUUUUUUUP ]]]]uuUUUUUUUUUUP?? ]]uuuuY@00}0001uuuuuuffffffffffd???uuuuٙP* uuffffffffffe000 W}Uu噙 "00 ]WUuVffffffffff@ 0]]WUu噙(0 u]WUu}ffffffffffP(**0 u]WUY"? 0 uWUffffffffffT "" 0Uu]U}Y@"? U]U(0 WUuU((**0]UuU}(" 0uUWU*""UWUWU:"*?1U]UWU}>((0UuU]U;(*"0WUU]U"uUUuUwwwwwwwwwwwwwww{*}0UUUU?(0UU]UUwwwwwwwwwwwwwww{"**" UUUU?}?UUUU*;(* UUUUݯ****UUUU;}UUUU?+UUUU說;UUUUޯʕU****"*}UUUUUUZ;UUUUUUV?**UUUUUUU芨+UUUU}UUV*?"UUUUUUZ;*UUUUޯ誕U?ꪊ*UUUU};*"UUUU?+UUUU;**UUUU}?訊UUUU;"UUU?UUU}"*UUUUUUUUU"}UUU"*UUU"UUU"}UUU"ꊨUUU"򪪪UUU"}UUU"ꪪUUU"UUU}UUU*UUUPʪUUU*UVUU} XUUUꪪUUUVUUU^}UUUU^UU@UUWUUTUUW}UUUUUUUUUUUŪꪪUUUUUU}UUUUUuUUUUUꪪUUUUUݠ}UUUUU_j*UUUUUU_ZUUUUUUWU}ꪫUUUUUWuU@UUUUUU_PUUUUQ}p}ꪯUUUUPUWUUUUUU_*UUUUUU\}UUUUUU_@UUTUUUU@;UUUUUUU U}UUUUUW*UUZUUUUUU_UUU?UUUUUUTUUU`;UUUUUU}TUUUh?UUUUUUUUUUUX;UUUUUUUUUUUX?UUUUUUU@UU}UUX;UUUUTPUUUh?UUQTTUUU;UUTTPUUZ}?UU@T;UT?UT;}QT?AU;?}?5AU;?; <~~B~Z$~~<<<<~</Ң`abctuv0-1w Bt) iuA vY iw2>`eabec`22}284R,*(&$" RTVXڸ2468: $ :8642{ | } 2 2 2 2{ s  }82i`8s s )} s ) w Iw `s } s ɩ8 s ) w Iw `8o o 3} 2U3 }o ) w I@w `o } o ɽ8 o ) w I@w `(c) 1985, ANTIC PUBLISHING0 Iw `8o o 3} 2U3 _0100 ;D1:MCP.M650110 ;0120 .TITLE "MULTI-COLOR PLAYER"0130 ; V.100685, BY PATRICK BASS0140 ; (c) 1985, ANTIC PUBLISHI}NG0150 ;0160 .SET 1,200170 .TAB 8,12,300180 TOTALCODE = ENDCODE-STARTOFCODE0190 .OPT NO LIST0200 .OPT N}O MLIST0210 ;0220 STARTOFCODE = $30000230 ;0240 ;-----------------------------0250 ; Display List equates...0260 ;0270} ; OFFSET is the number of scan lines down the line-by-line0280 ; coloring starts.0290 OFFSET = $200300 BLANK8 }= $70 ;Blank 8 lines.0310 LMS = $40 ;Load Mem Scan.0320 MODE6 = 6 ;ANTIC mode 6.0330 INT = $80 ;DL In}terrupt.0340 JMPWT = $41 ;Jump, wait.0350 ;0360 ;-----------------------------0370 ; Following are ATARI standard.03}80 WSYNC = $D40A ;Hsync waiter.0390 ;0400 COLPM0 = $D012 ;Player/Missile0410 COLPM1 = $D013 ;Hardware color0420 COLPM}2 = $D014 ;registers.0430 COLPM3 = $D0150440 ;0450 SDLSTL = $0230 ;Dlist shadow0460 VVBLKD = $0224 ;Vblank pointer047}0 VDSLST = $0200 ;DLI pointer0480 HPOSP0 = $D000 ;H position.0490 IRQEN = $D20E ;IRQ enable.0500 POKMSK = $10 ;...a}nd shadow.0510 NMIEN = $D40E ;NMI enable.0520 GPRIOR = $026F ;Global priority0530 PMBASE = $D407 ;Player base0540 GRA}CTL = $D01D ;Graphic control0550 SDMCTL = $022F ;Shadow DMA cont0560 SKCTL = $D20F ;Serial Control0570 RANDOM = $D20A}0580 ;0590 ;-----------------------------0600 ; Default Player Box Boundaries.0610 YMIN = 400620 YMAX = 1700630 XMIN =} 500640 XMAX = 1900650 ;0660 ;-----------------------------0670 ; Default Vertical positions.0680 VP0 = YMIN+[[YMIN+}YMAX]/8]0690 VP1 = [YMIN+YMAX]/20700 VP2 = YMAX-[[YMIN+YMAX]/8]0710 VP3 = [YMIN+YMAX]/20720 ;0730 ;---------------}--------------0740 ; Default Horizontal positions.0750 HP0 = [XMIN+XMAX]/20760 HP1 = XMAX-[[XMIN+XMAX]/8]0770 HP2 = } [XMIN+XMAX]/20780 HP3 = XMIN+[[XMIN+XMAX]/8]0790 ;0800 ;-----------------------------0810 ; Default Player Base color.}0820 P0C = $300830 P1C = $C00840 P2C = $500850 P3C = $900860 ;0870 ;-----------------------------0880 ; ...and} claim how many players are currently active.0890 ACTIVE = 40900 ;0910 ;-----------------------------0920 }*= $20000930 ; Starting at $2000, hold a place for the player number.0940 CURRPLR0950 .BYTE 00960 ;097}0 ;-----------------------------0980 ; Remember in order, 0-1-2-3, how fast everyone should move.0990 MEMSPEED10}00 .BYTE 0,0,0,01010 ;1020 ;-----------------------------1030 ;1040 ; Remember in order, 0-1-2-3, how fast }everyone is moving.1050 SPEED1060 .BYTE 0,0,0,01070 ;1080 ;-----------------------------1090 ;This is how many dots }to move1100 ;each step. Range 1-3.1110 VSTEP1120 .BYTE 1,1,1,11130 HSTEP1140 .BYTE 1,1,1,11150 ;1160 ;--------}---------------------1170 ; This is the shape that is drawn onto each player.1180 PLRGRAF01190 .BYTE 0,0,}0,01200 .BYTE $18,$3C,$7E,$FF,$18,$18,$18,$7E1210 .BYTE $42,$7E,$5A,$24,$181220 .BYTE 0,0,0,0,0,0,01230 ;124}0 PLRGRAF11250 .BYTE 0,0,0,01260 .BYTE $FF,$FF,$7E,$7E,$3C,$3C,$18,$FF1270 .BYTE $FF,$18,$3C,$3C,$7E1280 }.BYTE 0,0,0,0,0,0,01290 ;1300 PLRGRAF21310 .BYTE 0,0,0,01320 .BYTE $3C,$18,$3C,$42,$A9,$81,$42,$241330 .BYTE} $3C,$3C,$5A,$42,$3C1340 .BYTE 0,0,0,0,0,0,01350 ;1360 PLRGRAF31370 .BYTE 0,0,0,0,24,126,255,255,255,255,2551380} .BYTE 255,255,255,255,126,24,0,0,0,0,01390 ;1400 ;-----------------------------1410 ; Current player Horizontal } position while moving.1420 HPOSITION1430 .BYTE HP0,HP1,HP2,HP31440 ;1450 ;-----------------------------1460 ;} Current Player Vertical position while moving.1470 VPOSITION1480 .BYTE VP0,VP1,VP2,VP31490 ;1500 ;----}-------------------------1510 ; 'PDIRECTION' is where we keep track of which direction each1520 ; player is current}ly moving.1530 ;1540 ; bit7 clear="move down"1550 ; bit7 set="move up"1560 ; bit6 clear="move right"1570 ; bit6 set=}"move left"1580 PDIRECTION1590 .BYTE 0,$40,$80,$C01600 ;1610 ;-----------------------------1620 ; Another useful mem} loc1630 THISPLAYER1640 .BYTE 01650 ;1660 ;-----------------------------1670 ; Reserve, at $6000, four pages } of memory for the players's1680 ; color memory map.1690 PCBASE = $60001700 P0COLR = PCBASE1710 P1COLR = PCBASE+$0100172}0 P2COLR = PCBASE+$02001730 P3COLR = PCBASE+$03001740 ;1750 ;-----------------------------1760 ; Reserve, at $7000, four }pages of memory for the player1770 ; shapes on the screen.1780 PBASE = PCBASE+$10001790 P0RAM = PBASE+$04001800 P}1RAM = PBASE+$05001810 P2RAM = PBASE+$06001820 P3RAM = PBASE+$07001830 ;1840 ;-----------------------------1850 ; Reserv}e space at $8000 for the television display.1860 SCREEN = PCBASE+$20001870 ;1880 ;-----------------------------189}0 ; Build a table of player shape addresses in player order.1900 PLAYERTABLE1910 .WORD P0RAM,P1RAM1920 .WO}RD P2RAM,P3RAM,P3RAM1930 ;1940 ;-----------------------------1950 ; Build a table of player color addresses in pla}yer order.1960 CPLAYERTABLE1970 .WORD P0COLR,P1COLR1980 .WORD P2COLR,P3COLR,P3COLR1990 ;2000 ;------------------}-----------2010 ; Build a table of player color source addresses in plr order.2020 SPLAYERTABLE2030 .WORD P0CO}LG,P1COLG2040 .WORD P2COLG,P3COLG,P3COLG2050 ;2060 ;-----------------------------2070 ; Build a table of player shape} source addresses.2080 GPLAYERTABLE2090 .WORD PLRGRAF0,PLRGRAF12100 .WORD PLRGRAF2,PLRGRAF32110 .WORD} PLRGRAF32120 ;2130 ;-----------------------------2140 ; This is a short Display List.2150 TLIST2160 .BYTE BLANK8,BL}ANK8,BLANK82170 .BYTE LMS+MODE6+INT2180 .WORD SCREEN2190 ;2200 .BYTE JMPWT2210 .WORD TLIST2220 ;2230 ;}-----------------------------2240 ; Reserve obscene amounts of Z2250 *= $802260 SWITCH *= *+12270 POINTER *= *+2228}0 ;2290 ;-----------------------------2300 ; DEFINE MACROS2310 ; MACRO #1:"LDW source,memory"2320 ; say:"Load-Word"2330 }; This first macro will load the WORD value of a label2340 ; into a two-byte memory location, form}ing a pointer.2350 ; EXAMPLE:2360 ; LDW SOURCE,POINTER2370 ;...will load the LO, HI bytes that make up the la}bel SOURCE2380 ; into memory locations POINTER, POINTER+1.2390 ;2400 .MACRO LDW 2410 LDA # <%12420 ST}A %22430 LDA # >%12440 STA %2+12450 .ENDM 2460 ;2470 ;-----------------------------2480 ; MACRO #2 "NEWPAGE}"2490 ; This macro will force the program counter to the2500 ; next higher page number, even.2510 ; EXAMPLE:2}520 ; (program counter now $4322)2530 ; NEWPAGE2540 ; (program counter now $4400)2550 ;2560 ;Follow: *=$4}3222570 .MACRO NEWPAGE 2580 *= *&$FF00 ; *=$43002590 *= */$0100 ; *=$00432600 *= *&$FF ; *=$432610 } *= *+1 ; *=$442620 *= **$0100 ; *=$44002630 .ENDM 2640 ;Follow: *=$44002650 ;2660 ;----------}-------------------2670 *= STARTOFCODE2680 CLD 2690 SEI 2700 LDX #$FC2710 TXS 2720 JSR ALTINT } ;Finish init.2730 LDW TLIST,SDLSTL2740 LDW DBLANK,VVBLKD2750 CLI 2760 ;2770 ; Since this demonstrations} action is controlled by both2780 ; Vertical Blank and a DLI loop no action is needed by the2790 ; call}ing program.2800 ;2810 IDLE2820 JMP IDLE2830 ;2840 ;-----------------------------2850 ; This is where the player } coloring takes place.2860 ;2870 NMIVEC2880 PHA ;Pack .A and .X2890 TXA 2900 PHA 2910 } LDX #OFFSET ;Scan line start2920 KERNAL2930 STA WSYNC ;Wait off-screen2940 INX ;next scan line.2950 } CPX #OFFSET+150 ;End-o-loop?2960 BCS DLIDONE ;Branch if yes.2970 ;2980 ; Otherwise...2990 LDA P0COLR,X ;Zero's }color3000 STA COLPM0 ;Stuff color3010 LDA P1COLR,X ;And so forth.3020 STA COLPM13030 LDA P2COLR,X3040 } STA COLPM23050 LDA P3COLR,X3060 STA COLPM33070 JMP KERNAL ;Stay in loop.3080 ;3090 DLIDONE3100 PLA }3110 TAX 3120 PLA 3130 RTI 3140 ;3150 ;-----------------------------3160 DRAWTHEM3170 LDX #ACTIVE-131}80 PAGAIN3190 STX CURRPLR3200 LDA SPEED,X3210 BPL PAGT13220 ;3230 LDA MEMSPEED,X3240 STA SPEED,X32}50 PAGT13260 DEC SPEED,X3270 LDA SPEED,X3280 BPL PAGX3290 ;3300 LDA PDIRECTION,X ;Moving L/R3310 AN}D #$40 ;Move left bit.3320 BNE PAG1 ;If moving left.3330 ;3340 LDA CURRPLR ;Moving right,3350 JSR MOVER}IGHT ;Player right.3360 JMP PAG2 ;Jump Up or Down3370 PAG13380 LDA CURRPLR ;Moving left,3390 JSR MOVELEFT  };Player left.3400 PAG23410 LDX CURRPLR ;Player number.3420 LDA PDIRECTION,X ;Moving U/D3430 BMI PAG3 ;if m }oving up.3440 ;3450 LDA CURRPLR ;Moving down,3460 JSR MOVEDOWN ;Player down.3470 JMP PAGX ;Check next plr. }3480 PAG33490 LDA CURRPLR ;Player number3500 JSR MOVEUP ;Player Up.3510 PAGX3520 LDX CURRPLR ;Unpack player }3530 DEX ;Count player.3540 BPL PAGAIN ;Branch if more.3550 ;3560 RTS 3570 ;3580 ;---------------- }-------------3590 ;This is the Vertical Blank.3600 DBLANK3610 LDW NMIVEC,VDSLST3620 JSR DRAWTHEM ;New position.}3630 ;3640 LDX #ACTIVE-13650 PAGG13660 LDA HPOSITION,X ;Shadow pos3670 STA HPOSP0,X ;into hardware.3680 } TXA 3690 PHA 3700 JSR DODRAW3710 PLA 3720 TAX 3730 DEX ;count player...3740 BPL PAGG1 } ;..until finish.3750 XITINT3760 PLA ;Stock return.3770 TAY 3780 PLA 3790 TAX 3800 PLA 38}10 RTI 3820 ;3830 ;-----------------------------3840 ALTINT3850 LDA #$C03860 STA IRQEN3870 STA POKMSK3}880 STA NMIEN3890 LDA #$11 ;Gang, priority.3900 STA GPRIOR3910 LDA # >PBASE ;Point/players.3920 ST}A PMBASE3930 LDA #3 ;Enable players.3940 STA GRACTL3950 LDA #$3E ;Reg playfield.3960 STA SDMCTL3}970 LDA #3 ;Enable keyboard3980 STA SKCTL3990 ;4000 LDX #04010 CCAGAIN4020 LDA #04030 STA P0CO}LR,X ;Erase colors.4040 STA P1COLR,X4050 STA P2COLR,X4060 STA P3COLR,X4070 LDA #04080 STA P0RAM,X ;E}rase players.4090 STA P1RAM,X4100 STA P2RAM,X4110 STA P3RAM,X4120 INX 4130 BNE CCAGAIN4140 ;4150 } LDX #144160 PAGAIN14170 LDA PLRGRAF0,X ;Draw player.4180 STA P0RAM+VP0,X4190 LDA PLRGRAF1,X4200 STA P}1RAM+VP1,X4210 LDA PLRGRAF2,X4220 STA P2RAM+VP2,X4230 LDA PLRGRAF3,X4240 STA P3RAM+VP3,X4250 ;4260 }LDA P0COLG,X ;Draw colors.4270 STA P0COLR+VP0-4,X4280 STA P1COLR+VP1-4,X4290 STA P2COLR+VP2-4,X4300 STA P}3COLR+VP3-4,X4310 ;4320 DEX 4330 BPL PAGAIN14340 ;4350 RTS 4360 ;4370 ;-----------------------------4380 } NEWPAGE 4390 P0COLG4400 .BYTE 0,P1C+4,P1C+6,P1C+84410 .BYTE P1C+10,P1C+0,P1C+24420 .BYTE P1C+4,$18,$16}4430 .BYTE $32,$38,$34,$52,04440 ;4450 P1COLG4460 .BYTE 0,$2C,$2A,$284470 .BYTE $26,$24,$22,$20,$184480 }.BYTE $1A,$52,$54,$56,$58,04490 ;4500 P2COLG4510 .BYTE 0,P3C+2,P3C+4,P3C+64520 .BYTE P3C+8,P3C+10,P3C+124530 } .BYTE P3C+14,P3C+64+124540 .BYTE P3C+64+10,P3C+32+84550 .BYTE P3C+32+6,P3C+16+44560 .BYTE P3C+16+2,04570 ;4}580 P3COLG4590 .BYTE 0,P0C+2,P0C+4,P0C+64600 .BYTE P0C+8,P0C+10,$204610 .BYTE $C4,$24,$204620 .BYTE P0C+1 }0,P0C+84630 .BYTE P0C+6,P0C+4,P0C+2,04640 .BYTE 0,0,0,0,0,0,04650 ;4660 ;-----------------------------4670 DODRA!}W4680 STA THISPLAYER4690 ASL A4700 TAX 4710 ;4720 ; Set POINTER to point at the current player sha"}pe.4730 LDA PLAYERTABLE,X4740 STA POINTER4750 LDA PLAYERTABLE+1,X4760 STA POINTER+14770 ;4780 ; Set POI#}NTER+2 to point at the current player color strip.4790 LDA CPLAYERTABLE,X4800 STA POINTER+24810 LDA CP$}LAYERTABLE+1,X4820 STA POINTER+34830 ;4840 ; The following example of self- modifying code should never4850 ; %}be used whenever there is the slightest chance the code will4860 ; wind up in ROM. I use it here because thi&}s is only a4870 ; demonstration program.4880 ; We pick up the source of each players colors in turn and4890 ; phys'}ically modify the address at Label RAMPOINTER.4900 ;4910 LDA SPLAYERTABLE,X4920 STA RAMPOINTER+14930 (}LDA SPLAYERTABLE+1,X4940 STA RAMPOINTER+24950 ;4960 LDA GPLAYERTABLE,X4970 STA GRAMPOINTER+14980 LDA GPL)}AYERTABLE+1,X4990 STA GRAMPOINTER+25000 ;5010 ; Then get this players current vertical position into .Y5020 *} LDX THISPLAYER5030 LDA VPOSITION,X5040 TAY 5050 ; Now redraw the picture.5060 LDX #05070 GRAMPOINTER5080+} LDA PLRGRAF0,X5090 STA (POINTER),Y5100 TYA 5110 SEC 5120 SBC #45130 TAY 5140 ; Getting the col,}ors through the self-modified pointer.5150 RAMPOINTER5160 LDA P0COLG,X5170 STA (POINTER+2),Y5180 CLC -}5190 TYA 5200 ADC #55210 TAY 5220 INX 5230 CPX #205240 BCC GRAMPOINTER5250 ;5260 RTS 5270.} ;5280 ;-----------------------------5290 ; The next four routines are all identical in operation.5300 ; Enter with/} desired player in the accumulator. Try to move5310 ; in the desired direction. If not a good move, return0} to5320 ; original position and toggle the direction flag.5330 MOVEUP5340 TAX 5350 SEC 5360 LDA VPO1}SITION,X5370 SBC VSTEP,X5380 STA VPOSITION,X5390 CMP #YMIN+15400 BCS MUX5410 ;5420 CLC 5430 AD2}C VSTEP,X5440 STA VPOSITION,X5450 MU1A5460 LDA RANDOM5470 AND #35480 BEQ MU1A5490 ;5500 STA VSTEP,3}X5510 LDA PDIRECTION,X5520 EOR #$805530 STA PDIRECTION,X5540 MUX5550 RTS 5560 ;5570 ;-----------------4}------------5580 MOVEDOWN5590 TAX 5600 CLC 5610 LDA VPOSITION,X5620 ADC VSTEP,X5630 STA VPOSITION,X5}5640 CMP #YMAX-15650 BCC MDX5660 ;5670 SEC 5680 SBC VSTEP,X5690 STA VPOSITION,X5700 MD1A5710 6}LDA RANDOM5720 AND #35730 BEQ MD1A5740 ;5750 STA VSTEP,X5760 LDA PDIRECTION,X5770 EOR #$805780 7} STA PDIRECTION,X5790 MDX5800 RTS 5810 ;5820 ;-----------------------------5830 MOVELEFT5840 TAX 5850 SEC 8}5860 LDA HPOSITION,X5870 SBC HSTEP,X5880 STA HPOSITION,X5890 CMP #XMIN+15900 BCS GOLX5910 ;5920 9} CLC 5930 ADC HSTEP,X5940 STA HPOSITION,X5950 GOL1A5960 LDA RANDOM5970 AND #35980 BEQ GOL1A5990 ;:}6000 STA HSTEP,X6010 LDA PDIRECTION,X6020 EOR #$406030 STA PDIRECTION,X6040 GOLX6050 RTS 6060 ;60;}70 ;-----------------------------6080 MOVERIGHT6090 TAX 6100 CLC 6110 LDA HPOSITION,X6120 ADC HSTEP,X61<}30 STA HPOSITION,X6140 CMP #XMAX-16150 BCC GORX6160 ;6170 SEC 6180 SBC HSTEP,X6190 STA HPOSITIO=}N,X6200 GOR1A6210 LDA RANDOM6220 AND #36230 BEQ GOR1A6240 ;6250 STA HSTEP,X6260 LDA PDIRECTION,X6>}270 EOR #$406280 STA PDIRECTION,X6290 GORX6300 RTS 6310 ;6320 ;-----------------------------6330 .BYTE ?}"(c) 1985, "6340 .BYTE "ANTIC PUBLISHING"6350 ENDCODE6360 *= $02E06370 .WORD STARTOFCODE6380 .OPT NO LI@}ST6390 .END .BYTE "ANTIC PUBLISHING"6350 ENDCODE6360 *= $02E06370 .WORD STARTOFCODE6380 .OPT NO LIz|LF Uԅ֩שբ w؅բ w F`ԩՠH Uh F`I FΞ0A  i/DE  B}Uԅ֩ש w F`' Uօԩשբ: w FΝLu fXpԥ`xԍҭ)Lk ` `֑C}`?a Uԅ֩թע w؅ע w F`6>ɭ (c)ΝLu fXpԥ`xԍҭ)Lk ` `֑@  THETTANAa@1020 PLOTTER, LISTING 1BY KRIS CRUZ (c) 1985, ANTIC PUBLISHINGM!E}@-@@P=(@M(@C0 p(@X2,10,48-(@M220,0C(@!F}X0,10,20Z(@ M220,-200p(@X0,10,20(@H*C1E-A`A(@D,!G}@P$G:$@,E (@H*C2(E-A`A(@D,@P$E:$@,E 2(@!H}H*C3<T-A`P(@D,@$+G:$@,'E:$@,,T FO(@M0,-230'(@!I}AO(@SIN,COS,TAN RELATIONSHIPP@ZD1:LISTING1.BAS FO(@M0,-230'(@ ]  ;CSSDAA1AeA%A 1020 PLOTTER, LISTING 2BY KRIS CRUZ %K}(c) 1985, ANTIC PUBLISHING \@.@@P::6-\OPEN IOCB CHANNEL #2 TO PLOTTER<%L}9@,9@,<CALCULATE ANGLES IN DEGREES(@96-AP @0%6-A%/ @09 @%M}>>(@M%@P$E:,,@P$G:,(-@A0@-=:(@M%+%@%N},$E:,,+%@,$G:,=2-A`@<&&(@D%$E:,,$G:,F K@!=(@%O}M%+%@,$E:,,+%@,$G:,@P U$Z @Hd@D1:PLOTTER2.BAS(@$u 9CR@@1020 PLOTTER, LISTING 3BY KRIS CRUZ (c)Q}) 1985, ANTIC PUBLISHING h@.@@P::6-F6-@hOPEN IOCB CHANNEL #2 TO PLOT)R}TER<9@,9@,<CALCULATE ANGLES IN DEGREES(@LL(@MA%@$E:)S},,A%@$G:,(E-A@ESTEP IS #DEGREES TO ROTATE TRIANGLE-,(@C )T}"@,6-.P6-%@6-%@P(@MA%$E:,,A%$G:,2-A`%A )U}<44(@DA%$E:,,A%$G:,F P Z @Hd@D1:LISTING3.BAS(}KR1R2PRRTHET@@@ ""1020 PLOTTER CUBE, LISTING 4-W}BY KRIS CRUZ (c) 1985, ANTIC PUBLISHING2\@.@@P:> @\OPEN 1020 FOR-X} GRAPHICS MODE<SET ANGLES IN DEGREESFi&9@,9@,9@,26-@>6-@iTHESE VALUSE DET-Y}ERMINE SIZE OF BOXES 1&2P@@ @MA%$E:@E,,A%$G:@E,Z@-@EA@@360-Z} DEGREES WITH ROTATED BOXESd44 @DA%$E:,,A%$G:,n xa@ @MAP%$E:@E,-[},A%$G:@E,aLIFT PEN AND MOVE FOR NEXT BOX-@EA@44 @DAP%$E:,-\},A%$G:, "" A44 @MA%$E:,,A%$G:,44 @DA-]}P%$E:,,A%$G:, A`. @H.SEND PEN TO HOME POSITION@X45,135,22-^}5,315,0D1:LISTING4.BAS A`. @H.SEND PEN TO HOME POSITION@X45,135,22,8\:Ȍ@ψ@ϭ@LȌ`ϠTU9 9^ j 8!8z]   ϭtL9 91`}9 9 9 99 9L9]Di :EHIiB VؽHI 91):899 9HI]D:E 1a}9 99 9|DEHI 9 9B]:Wϱ~ ϱiiǩϩƍ1b}ttt t ttttt8?ύ[:DEHI BLV BLVZDEBLVD1:DUP.SYSD8:1c}MEM.SAVAxlon 128K Ram Disk Patch by P.L. Dell'EraЮ̮DOS 2.5 (c)'}8.SYSD8:0u01$ 7 AFNIJNOFFSESCREEADDINOUTMASRMAINp5e}p  7  T.S.C.S. LISTING 1))BY CHARLES JACKSON AND PATRIC5f}K BASS (c) 1985, ANTIC PUBLISHING(11;A,;@,;@,;@U,2C +A@1A5g}@CA 3B-@@2(T-Shirt Construction SetB( (T.S.C.S.)4A((1) For Micropainter5q}B%DOS SYSB*)DUP SYSB(SCGP220 BASB{GO EXEB>|KEYS MICBMCP EXEBMCP M65BAMODIFY OBJBDPLOTTER1BASBJPLOTTER2BASBPPLOTTER3BASB VPLOTTER4BASB_RAMDISK COMBdSOFTWEARBASBTINYLISTBASBYWARRIOR BAS/( 2) For KoalaA( 3) Graphics 8522(+"@)"@)"@,@P75-@@1( Source Fi5r}lename: 5<5-@@1(Destination Filename: 5F1 @P+@%@1AKX"@5s}N6.8hhhՠ''ą©à&fÈäđ`X A0PRR67@<@U,.7h01DZ)5t}ʊ XiYi`Z##67@)<@),.>:AU,d6-?:C:,,n]]67@<@f,.Bhhh'5u}JnJnJnJnJnJnJnJn*xII67@g<A,..*******'5v}`+@+@@1%6-F:@,%F:@,$AV16-AH"@AP.%5w}@@.%@F:@,B%@F:@,.%@B%@ @036-?:C:hhhLV,5x}<@,3!@A)@A9-AA$)@*. 9@""5y}ŠӠΠŠΠ-@A6-@@$&@96-%&@6-?:C:,<,/ @5z}/@@.%@@.%@F:@,B%@F:@,.%@B5{}%@ @0C6-?:C:hhhLV,<@,+!@6@@+C%*@F:A,C-A5|}A'*@F:,+ 6@@+C%LOAD A KOALA PICTURE;AB, #APP-A6AV5}} "  GG162,16,169,1,157,72,3,169,0,157,73,3,32,86,228,48,1,96,104,104,96@@6.6hBDE5~}HI  <OO67@U,.<    ĩOO67A5},.:AU,QQ67A),.>`RɥPee`/ee G5}G67A,.4(eeЕee6-?:C:,,@D A D1:TSCS.5}BASA,.4(eeЕee6-?:C:,,@D A D1:TSCS.4)*LBHPAGTLILPRLINDEVICBUTTOFM9} TINYLISTBY JERRY WHITE (c) 1985, ANTIC PUBLISHINGd APnQ9} 6.67B:,%@,.:67B:,%@,. PAGE Q67B:,%@,.=:,s Ap36-x A 6-9} 6.$)@$"AUAp+6-%@!A'+6-&A( @26-@E69}7<,.>:, A0;6-P:'A2,%@-"P:'A2,;6-&@ 6-%6-%! Ap! A@9}A /6-A A/ @>:@,6-%@ AAR@< 6.=:,/67B:,%@9},. LINES PRINTED23< ApH(@>:@,--@@26 HAf. B'9}(.(PRESS TO RERUN<((PRESS TO END"(<(PRESS Ԡ FOR DOS!6-F:B2y,"@!.9}1"@+(&(BASIC.(IS1""@%, Ap61(>:AS,(1(YOUR PRINTER ISN'T READ9}Y@,("(PRESS START WHEN READY, BJF:B2y,"@ T A0^<<;@,;@,;@,9};I:,&AV,h+6-@!A@+ Are6-Ap@%@E@@9}E:e@@P:|27,65,5,15,27,83,0Q-@@"?2A&@@9}M67<,.>:,Q ?((ԠɠΠ٠̠ɠӠԠ?2PAR'AdAU*(9}I(ENTER HEADING INFORMATION:L(PE( (ENTER INPUT FILENAME$. A`EB:, @A@C37@<@9},4:)7@<@,4:96.C AP 6.D: 67B:,%@,.@@+@@9}=Af@@$+(>:AS,!( NOT FOUND+ A ;6-Ap A--@@4(8 ;$9}D1:TINYLIST.BAS+(>:AS,!( NOT FOUND+ A ;6-Ap A--@@4(8 ;$8HIQ,,JC0PPPMJC1PPPECHMMSEMNSROUNMENTICCCHSEC@@=}@ @ =}@ WARRIOR 3000B=}Y KEN GREINER (c) 1985, ANTIC PUBLISHING j AF:A@,&@*+<AR@V0@=}` Aj A0K6-@&R:,,68,-8,76-%8,K"@PF:, A=}($8,$6-2"T:,"" A<K6-@&R:@,,68,-8,76-%=}8,K"@FF:, APP$8,$6-Z"T:@,"" Ac=} @ d @$ip6-&@#-@+( E6-88,&@,\6-8,%@d6-=}%p6-@jCF:, A*6-%@<-@@(C$k A0n @$sp6-&@=}#-@4+( E6-88,&@,\6-8,%@d6-%p6-@xCF:, A=}*6-%@<-@4@(C$6-@%@@6-%6F:,APi2@@=}+176-; ]2i A A$ 6-F:,"@2=}A!!"@)"AA k"A12A@@E-@@I k2=} 6- $g6-%@.-@06@J2@@N `-@=}d(g$>'6-P:H:,$A9,%A %>F:,A (6-6-% A($ 6=}-F:,"@2A`!!"@)"AApk"A12AP@@E-@=}@I k2 6- $g6-%@.-@06@J2@@=}N `-@4d(g$>'6-P:H:,$A9,%A %>F:,Ap6-6-"=}-@'@19-@@ @]2%@0@@a e 2=}$, 6-F:,64"@124$7}"A@8-A=}@P6@T2@@X z2}$@!! @*!AA0E =}")")-A @?A%'@0[2@@w2@@@{  A=}J-@?-@%S2$@P@%@W c2=}$t%2@9-@V-@P6@l2@@p =}t <6-%@%68,-8,&@<8,AP;-@@#( GAME OVER7-@A; =}=+@%@1-@@?P=-@b(@<2$@@@P-@=}@ &b(@'2@$@@@;-@&@P(@ n-@=}@ &+&@,(@  -@@+-@%@>(@7<,`2@@=}@t-@@x 2)%2@) 33T:=},"*T:@,"A` F:B2y,@AP + A@!)!$>'6=}-P:H:,$A9,%A %>F:,A-@(@2C2A&$@@@I=}]-@@ a e 2$,-@@"(STAND BY,#A0GG=}9@,9@,9@,9@,9@,;@,6. ҠG-@"(68,=}-168,-:68,-C68,-G jj0,100,0,-40,99,1,40,100,-1,0,0,-40,-1,98,40,-41,103,-39,39,102,39,0,0,-41,1,97,41,-39,=}101,0,41,104,0  B$%6-F:@,%AV$F:@,:68@,-@O68@,-@[6-@m=}AR@AV'AV (}#0@/6-@ ;6-@ M-@Q(c-@4=}g(y-@@(ROUND "-8@,&@6-@%@=(dA H( g-=}8@,&@{-@1%@(d  ( @w{ @3,@8@#1/@#=}C/@U/@9@g/@9@"{%A Y@$O%2@E#A =}%++&@,$@,O@3. "6-%6-%86"6@ &,,/6 AB( "=}6@%( ALq-@@+-@ G2@@K O q2=}, @ @2),,$GG161,918,33,20,7,20,19,33,15,13,25,13,33,8,9,11,9,33,8,17,11,1=}7,33,,29,9,32,9,33,29,17,32,17,161,9,12,9,14 161,31,12,31,14,0,-1,0,0,0BB198,6,881,6,253,84,267,84,827,84,813,84=},161,104,918,103,-1,0``198,881,33,19,6,19,20,33,21,6,21,20,33,15,9,15,17,33,25,9,25,17,6,7,10,10,13,6,30,14,33,17++7,=}10,14,7,17,7,33,10,30,13,0,-1,0,0,0RR539,124,541,124,411,84,429,84,691,84,709,84,161,6,918,6,198,102,881,101,-1,0aa16=}1,918,33,17,5,22,5,33,17,21,22,21,33,3,10,3,16,33,7,10,7,16,33,32,10,32,16,33,36,10,36,16jj18,10,10,12,10,18,27,10,29,10,=}18,10,16,12,16,18,27,16,29,16,18,13,7,16,7,18,23,7,25,7,18,13,19,16,1918,23,19,25,19,0,-1,0,0,0gg293,81,306,69,773,=}90,786,67,333,124,373,124,413,67,346,124,386,124,426,90,706,124,746,124,693,124hh733,124,653,69,666,81,444,84,446,84,524,=}84,526,84,604,84,606,84,473,84,475,84,553,84,555,84,635,84``633,84,360,0,359,0,720,0,719,0,539,6,540,6,321,1,401,1,318,1,=}398,1,678,1,758,1,681,1,761,1&&198,6,881,6,161,104,918,103,-1,0ee198,881,33,14,4,14,11,33,14,11,26,11,33,26,11,26,4,3=}3,14,22,14,15,33,14,15,26,15,33,26,15,26,22hh161,5,7,11,7,161,29,7,35,7,161,5,19,11,19,161,29,19,35,19,148,3,11,3,15,148,=}37,11,37,15,0,-1,0,0,0cc300,6,340,6,740,6,780,6,496,84,498,84,500,84,502,84,504,84,576,84,578,84,580,84,582,84,584,84:=}:334,124,746,124,552,119,528,119,198,102,881,101,-1,0__198,881,33,23,6,31,6,33,31,7,34,7,33,34,7,34,11,33,34,11,26,11,33=},26,11,26,8,33,23,8,29,8``33,29,9,32,9,119,18,11,21,11,119,21,11,21,14,119,21,14,18,14,119,18,14,18,11,33,5,15,13,15YY=}33,13,15,13,18,33,10,18,16,18,33,10,17,7,17,33,5,15,5,19,33,5,19,8,19,33,8,20,16,20YY20,6,11,6,5,20,6,5,12,11,20,12,11,1=}2,5,20,33,21,33,15,20,33,15,27,21,20,27,21,27,15]]38,27,9,28,9,38,27,10,28,10,38,19,12,20,12,38,19,13,20,13,38,11,16,12,1=}6,38,11,17,12,170032,0,13,0,14,148,18,18,18,20,148,21,6,21,8ee0,-1,0,0,0,519,0,559,0,481,1,601,1,478,1,598,1,773,66,7=}76,66,303,86,306,86,198,102,881,101,-1,0aa187,890,33,26,4,26,7,33,28,4,28,7,33,9,19,9,22,33,11,19,11,22,33,25,11,25,14,33=},27,11,27,14__33,25,16,25,19,33,27,16,27,19,33,22,14,24,14,33,28,14,30,14,33,22,16,24,16,33,28,16,30,16^^33,8,8,8,11,=}33,18,8,18,11,33,8,8,9,8,33,17,8,18,8,33,10,6,10,8,33,12,6,12,7,33,14,6,14,7jj33,16,6,16,8,33,12,7,13,7,33,10,10,10,12,33=},16,10,16,12,33,12,12,12,14,33,14,12,14,14,33,10,14,11,14kk33,14,14,16,14,20,17,16,17,18,20,19,16,19,18,20,22,8,23,8,161,=}36,6,36,7,161,31,10,31,11,161,4,16,4,17KK22,22,15,25,15,2,27,15,30,15,13,26,11,26,14,14,26,16,26,19,0,-1,0,0,0[[533,6=},626,6,291,77,295,77,449,78,457,78,573,78,417,77,530,86,409,77,241,1,280,0,279,0 HH320,0,361,1,319,0,358,1,238,1,536,66,64=}0,0,680,0,639,0,679,0,601,1 ++721,1,598,1,718,1,187,100,890,99,-1,0 hh161,918,33,2,7,6,7,33,6,9,4,9,33,4,9,4,11,33,2,11=},2,7,33,35,16,35,18,33,33,18,35,18,33,37,16,37,20 cc33,33,20,37,20,6,8,7,11,10,6,12,17,15,20,6,24,7,27,10,6,28,17,31,20,7,=}15,7,12,10,7,11,17,8,20II7,31,7,28,10,7,27,17,24,20,119,15,9,24,18,119,24,9,15,18,0,-1,0,0,0gg323,6,796,6,325,66,326,=}66,403,78,676,77,716,77,443,78,793,86,794,86,560,0,521,1,601,1,559,0,598,100566,118,553,118,518,1,161,104,918,103,-1,0=}cc198,881,33,6,6,10,6,33,6,6,6,9,33,8,6,8,9,33,10,6,10,9,33,29,6,33,6,33,29,6,29,9,33,31,6,31,9II33,33,6,33,9,33,6,20,10=},20,33,6,20,6,17,33,8,20,8,17,33,10,20,10,17LL33,29,20,33,20,33,29,20,29,17,33,31,20,31,17,33,33,20,33,17,0,-1,0,0,0ff=}216,98,223,97,258,102,261,104,281,1,320,0,361,1,278,1,319,0,358,1,446,103,448,99,450,101,469,103ll471,99,473,101,418,98,=}421,97,526,98,528,129,530,97,549,98,551,129,553,97,496,98,498,103,501,101,503,97cc606,102,608,100,610,104,629,102,631,100=},633,104,576,98,578,102,581,104,583,97,658,100,661,100aa818,98,821,97,856,98,863,97,287,118,289,118,310,118,312,118,767,1=}18,769,118,790,118,792,118>>721,1,718,1,801,1,798,1,759,0,760,0,198,102,881,101,-1,0 bb536,543,32,0,5,0,22,32,39,4,39,=}21,20,5,13,14,13,20,25,13,34,13,119,19,4,19,22,119,20,4,20,22!cc20,14,13,10,9,20,14,13,10,17,20,25,13,29,9,20,25,13,29,17,=}33,0,23,39,23,20,5,7,1,7,20,5,7,3,5"^^20,5,7,3,9,20,34,7,38,7,20,34,7,36,5,20,34,7,36,9,20,5,19,1,19,20,5,19,3,17,20,5,19,=}3,21#YY20,34,19,38,19,20,34,19,36,17,20,34,19,36,21,20,14,7,18,7,20,18,7,16,5,20,18,7,16,9$YY20,21,7,25,7,20,21,7,23,5,=}20,21,7,23,9,20,14,19,18,19,20,18,19,16,17,20,18,19,16,21%2220,21,19,25,19,20,21,19,23,17,20,21,19,23,21&CC0,-1,0,0,0,2=}86,118,313,118,766,118,793,118,536,97,543,98,-1,0'Y #B.6-+F:A,%@,$AVB-A#U%F:=}BsD%,Y '" $$';-@"-%$@%1 ; B.'''1,255,170,170,170,170,170=},170,2558'2,24,0,22,196,91,16,68,48B'3,16,2,52,64,66,26,3,32L'4,0,8,4,104,2,20,34,0V'5,0,0,16,36,36,8,0,0`'#=}#6,0,24,102,153,102,153,102,24j'27,0,0,40,20,40,20,0,0t'28,0,40,40,68,68,40,40,0~' 29,24,0,36,129,129,36,0,24'$=}$30,36,36,129,145,137,129,36,36'""31,165,66,129,0,0,129,66,165'$$32,16,145,16,165,165,16,145,16'$$97,48,52,34,122,1=}14,52,104,204'$$98,24,88,136,188,156,88,44,102' 99,2,25,25,127,25,26,36,36'""100,32,76,76,123,76,44,18,18'##101,=}20,50,49,109,113,48,88,76'%%102,24,24,136,156,186,68,44,102' 103,20,38,70,91,71,6,13,25'%%104,48,48,34,114,186,68,1=}04,204'105,0,0,0,170,0,0,0,0(106,0,0,0,0,170,0,0,0 (107,8,8,8,8,8,8,8,8(108,8,8,8,8,8,8,8,8(109,5,2,5=},8,16,32,64,0((110,0,2,4,8,16,160,64,1602(111,160,64,16,16,8,4,2,0<(112,0,64,32,16,8,5,2,5F(""113,40,68,146,36,=}36,74,40,40P(##114,65,136,44,5,104,160,11,34Z(!!115,9,192,20,34,8,32,33,129d(116,0,16,6,32,4,80,0,0n(117,0,8,0,16=},42,0,16,0x(118,0,0,0,0,0,0,0,0(119,0,0,0,0,0,0,0,0(71,128,32,32,8,8,2,2,0(70,0,2,2,8,8,32,32,128(84,=}0,20,85,85,85,85,20,0)-1D1:WARRIOR.BAS,0,0,0,0(71,128,32,32,8,8,2,2,0(70,0,2,2,8,8,32,32,128(84,<4