G@LP}6CD l0C)HCC WhL/h `CmCDiD`  R@PG1  Y0@R !L` D  C D     G)16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD`G D  C D     )16CS S)  C)D1 p p }G0 C9DI pCDL~CiCDiD` DD˙` d J)L !}GD L(( LL()  L| L( S LH 0p n  }G CY?  q  L L  ` )}G `A! d߰")-݆ "  $G@LLL&0") $G% } GH0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 } G)8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) } G  hyhyB q L> Lm JJ  Ln*` dB%' } G8  H H` 1 { LL   !L     Hh SY?  q  1L } G  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}G) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}G1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q}G L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF }G G) *Gȩ GȽG GȌd q q G`  8   0G  `D}GCEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}G`piH n0)բY? 08`0 }G  0$L GGȽG L `8L`L}G8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}GE8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE}G H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}G1LJ舩9GIH`LJJ`HGHh l`}G S gL   8 rii `дCDCG W  }C#C  Lq` X٨`DOS( ySYS IIIIIIIIIIIIIIIC`0 ߩ0}}~}C S1 %|+-3G||DDOS PVDOSDOS[ `SYS sx}~}C}(4__./437}Qnw l~}C CDOS SYS~}CV 0`BDELV !B }G`LVUQ   ]   TU J ]L!T  #      TU  } G L ? .  t`GBJ V~DEHI B V0dV!}!GQDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}"GDEL8HI   0 HI,0 0  9 .G VLO#}#G,0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$}$G V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%}%G VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}&GSTILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}'GLLu DEHILV 9 .l 9 .l  `` s$B VBH(}(GI|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)})G1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}*C)1i1232435ޥ<<823Z\}}+G 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,},CUPLICATE DISKC. COPY FILE ^K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILEb M. RUN AT ADDRESSF. LOCK F-}-CILE )N. CREATE MEM.SAVG. UNLOCK FILE- RO. DUPLICATE FILEH. WRITE DOS FILESW9!&x#!7&p))'&X*./)L''-؆莟.}.GR'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}/Gil ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}0GJB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}1GN !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}2GI 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3}3CS BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWEDjy COPYING---DN:}4}4C # 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5}5G 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}6GPdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7}7G 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}>G//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 2.?}?GD2:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@}@G L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}AGP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}BG  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}CGFINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}DG, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}EG0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}FGINSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}GGL1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}HG% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I}IG JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ}JG,A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}KG}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}LGBE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}MGhAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}NGGIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}OG0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}PGA"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}QC?NAME TOO LONG B VL ` L1I H1EӝDL1DEI|mDiE` V0`8d/8 i:"2!22 1R}RG L ERROR- 165ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS}SG HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4;uT}TG HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4;uUG10 T:WHAT'S YOUR NAME?20 A:$NAME30 GR:CLEAR40 *CIRCLE50 GR:PEN RED;GOTO 0,0;TURNTO #X;GO 2560 C:#X=#X+170 J(#X<>360):*CV}VGIRCLE80 *START90 C:#R=0100 C:#T=0110 T:DO YOU WANT TO PLAY HOURS (H), QUARTER HOURS (Q) OR FIVE MINUTES (M)? (TYPE H,Q, OW}WGR M)120 A:130 M:H,Q,M140 JM:*HOUR,*QUARTER,*MINUTE150 JN:*START160 *HOUR170 C:#H=?\12180 C(#H=0):#H=12190 GR:GOTO 0,0X}XG;TURNTO 0;PEN YELLOW;DRAW 20200 GR:GOTO 0,0;TURNTO #H*30;DRAW 15210 GR:PEN RED;GOTO 0,0220 T:230 T:WHAT TIME IS IT, $NAMEY}YG? (JUST TYPE THE HOUR)240 A:250 M:#H260 C:#T=#T+1270 TN:NO, IT'S REALLY #H. GOOD LUCK ON THE NEXT ONE, $NAME.280 PAN:150Z}ZG290 UY:*RIGHT300 GR:GOTO 0,0;TURNTO #H*30;PEN ERASE;DRAW 15310 J(#T<12):*HOUR320 GR(#T=12):GOTO 0,0;TURNTO 0;PEN ERASE;DR[}[GAW 20330 J(#T=12):*REPLAY340 *QUARTER350 C:#H=?\12360 C(#H=0):#H=12370 C:#Q=?\4380 C:#N=15*#Q390 GR:GOTO 0,0;TURNTO #H\}\G*30;TURN #Q*(15/2);PEN YELLOW;DRAW 15400 GR:GOTO 0,0;TURNTO #Q*90;DRAW 20410 GR:PEN RED;GOTO 0,0420 T:430 T:WHAT TIME IS ]}]GIT, $NAME? (USE THE FORM 9:15, 10:30, ETC.)440 A:450 M:#H:#N460 M(#Q=0):#H470 C:#T=#T+1480 UY:*RIGHT490 UN:*ANSWER500 ^}^GGR:GOTO 0,0;TURNTO #H*30;TURN #Q*(15/2);PEN ERASE;DRAW 15510 GR:GOTO 0,0;TURNTO #Q*90;DRAW 20520 J(#T<12):*QUARTER530 J(#T_}_G=12):*REPLAY540 *MINUTE550 C:#H=?\12560 C(#H=0):#H=12570 C:#M=?\12580 C:#N=#M*5590 GR:GOTO 0,0;TURNTO #H*30;TURN #M*(5/`}`G2);PEN YELLOW;DRAW 15600 GR:GOTO 0,0;TURNTO #M*30;DRAW 20610 GR:PEN RED;GOTO 0,0620 T:630 T:WHAT TIME IS IT, $NAME? (USE a}aGTHE FORM 5:25, 12:05, ETC.)640 A:650 M:#H:#N660 M(#N=5):#H:05670 M(#N=0):#H680 C:#T=#T+1690 UY:*RIGHT700 UN:*ANSWER71b}bG0 GR:GOTO 0,0;TURNTO #H*30;TURN #M*(5/2);PEN ERASE;DRAW 15720 GR:GOTO 0,0;TURNTO #M*30;DRAW 20730 J(#T<12):*MINUTE740 J(#Tc}cG=12):*REPLAY750 *RIGHT760 T:RIGHT!770 C:#R=#R+1780 SO:13790 PA:15800 SO:17810 PA:15820 SO:20830 PA:15840 SO:25850 d}dGPA:30860 SO:0870 E:880 *ANSWER890 T(#N=0):NO, IT'S #H:00. GOOD LUCK ON THE NEXT ONE, $NAME.900 PA(#N=0):150910 E(#N=0):e}eG920 T(#N=5):NO, IT'S #H:05. GOOD LUCK ON THE NEXT ONE, $NAME.930 T(#N<>5):NO, IT'S #H:#N. GOOD LUCK ON THE NEXT ONE, $NAME.f}fG940 PA:150950 E:960 *REPLAY970 T:VERY GOOD, $NAME. OUT OF 12, YOU GOT #R RIGHT. WANT TO PLAY SOME MORE?980 A:990 M:Y,YEg}gGS1000 JM:*START1010 JN:*END1020 *END1030 T:GOODBYE, $NAME.1040 E:GOTO 0,0;TURNTO #X;GO 2560 C:#X=#X+170 J(#X<>360):*CGhG240 FOR J=1 TO 7:READ OFFSET:OFFSET=OFFSET*8250 FOR I=0 TO 7:READ A:POKE RAMSTART+I+OFFSET,A:NEXT I:NEXT J260 REM comma,sem i}iGicolon,g,j,p,q,y280 DATA 12,0,0,0,0,0,24,24,48290 DATA 27,0,0,24,24,0,24,24,48300 DATA 103,102,60,0,62,102,102,62,6310 DA j}jGTA 106,6,60,6,0,31,6,6,6320 DATA 112,96,240,0,124,102,102,124,96330 DATA 113,6,15,0,62,102,102,62,6340 DATA 121,24,48,0,10 k}kG2,102,102,62,12:READ OFFSET:OFFSET=OFFSET*8250 FOR I=0 TO 7:READ A:POKE RAMSTART+I+OFFSET,A:NEXT I:NEXT J260 REM comma,sem lC%;NAa@$%,-3; +@?C%@GM@Q\-@`lAY@pyg,}m}mC!/AY@D-/@ .A,AY&48S/>B@DFVg/AY&@Zj( 2 @ny<-@}n}nC@0 @Fg,@y#%@D'-+/@y15@t9A&?/@yEK&@DOUS/@yY]@ai%g/@yms%@DwP o}oC Z,@y'/@y $@(.9,@y26@:@K/@yDH@tLP],VZ@D^do/@yhl@Dp,AY@p}pCD /@y@D d @$/n-@37@;?@CLxO,Rn/AY//AY&@rvC/|q}qC@&O/&W,AY&,0#/6@//@DRC/AY@Vf&W/AY&l ATARr}rCI LOGO MARK @!-'+@/O ,/AY U`-@0dh@`lp@tK,@hs}sC /@r',@v$3/@x(0?,@4<K/@@T --@`X\@p`d@hr-6-%@vS,t}tC@h&/@r&+,@v"*7/@x.6E,@:D%S/@Hy%  A` D2:MORI3CIO,}tuG:ȭ , :ipi`X H)hqh)?^@Pȱ@ePv}vGȎ@  M0+h@LPLPE:LJ;K+*OPUI-=VCBXZ436521, .NM/REYTWQ9P}wC%J WELCOME TO THE ANTIC MONTHLY DISK n Most of the \x}xGprograms on this disk arewritten in Atari BASIC. Some requirespecial hardware or specific instruc-tions. We recommend you \y}yGrefer to thecorresponding issue of ANTIC forcomprehensive documentation. If youwish to order a back issue, or needsubscri\z}zGption information, contact usat (415) 957-0886 or, for credit cardorders, dial (800) 227-1617, Ex. 133.In California,(800)\{}{C 722-3545, Ex. 133XXXThe menu that appeared on the screenwhen you booted the disk will onlyrun programs with a .BAS ex\|}|Gtender.If you try to run a program and the response is 'cannot run Filename',then check the file extender withthe followi\}}}C4ng list:XXX.BAS BASIC saved program, use menu; sRUN or LOAD and RUN..LST BASIC listed program, ENTERz the\~}~C*n RUN..EXE Assembly language 'Load and1 NGo' file. Remove BASIC, bootU pDOS, type L then enter thew filena\}C)me..ASM Assembly language source code0 Mfrom Atari Assembler Editor.T Must be assembled..M65 Same as .ASM on\}CRly MAC/65..SYN Same as .ASM only Synassembler.AMC Same as .ASM only AMACXXXV.OBJ Machine language object file. \}C $Same as .EXE but not 'Load and+ GGo'. Refer to correspondingN article..ACT ACTION! source code..SYS Res\}CBerved for DOS system files..PLT Pilot language, requires PilotI xcartridge..LGO Logo language, requires Logo} \}C0 cartridge..TXT Text file. Usually accessed7 Nby another program.XXXRAll programs from ANTIC issues datedprior \}Gto August 1984 were reproducedfrom ANTIC's Archive. We have up-dated them from our HELP columns and most are compatible wi\}Gth the XLmachines. We have worked to insurethat our programs operate as pub-lished, but we consider all our software lis\}Cytings to be works in progress which we encourage you, thereader, to personalize and enhance.Good luck, and ENJOY! } \}C J-ANTIC ED WELCOME TO THE ANTIC MONTHLY DISK n Most of the \"CiwLINEA;xx ;A ,;@?P,; (}@T[;@_c@gio D:DOC.TXT`}C A (@)2lB:,!@-5-7@9=<@AT,4XXX0(3(E-@X\@"`X( ӠΠ\b(}`}Cl @@ <( @@%da@)/ B39*-@=A@"ER("ΠҠՠҠˠҠVa%D:MENU`}CD:HELPLINEA;xx ;A ,;@?P,; (}@T[;@_c@gio D:DOC.TXT`C?u, < AXLPB0NZ<( ((@&DG@LMSmd8"( tu | d}CA  +-AdAU0@139=@AG70@KMSW@[aQ0@egmq@uc@d}C@ u@@70{(}AR@4=++(#^++(#| ANTIC MONTHLY DISK d}C SEP. 1984 |++(#7A++(#bl @ p-@d}CA  $ GG;@@ ',;@ +2,;@@6=,;AAH,;@LS,;@@Wq, "D1:MENU" &&@uy@}d}CD:*.* 6,6."< B6 @0FSi6-%@Wa(6.7@ei<@mv,A67@ z<@d}C ,..i67@<@%,.7@)-<@1J,3 6.|67B:,%@N^,.367B:,%@bp,.G67@tx<@|,d}C .(--@GB:,:7<,4 G67<,..] 6.=:, @KSD67@W[<@_f,.7@jn<@r,]67@d}C<@ ,.0$@#0(''7@48<@<H,4FREE@LU- @ Yr2() <@vF''d}C7@ <@,4FREE@"+K @ /:P(7@>B<@FW,)|U @0[dW'!-@6ho+'@sx,%@|d}C' |Z++(#|/ 9|[ ( |A F O Y|\++(#zdd}C3E(-(" Select HELP.BAS for information.A-@7;A?RE xARXa[@ei@9ms'-@w@"d}ECC( 2SELECTIONM A0Q[ B6UP:,A00"@Yc&6.7@gk<@o,0 AEd}C LB6.7+&@,$@%@")<+&@-2,$@6:%@>E,L BIT37@X\<@`o,4 36.7@sw<@{,d}C !7@<@2,4DOS!.0 6.-@6`B:,07<,4 AH67B:,%@d,.7<,   6.!d}C 6.D1:!67B:,%@.,.?AR@28'-@<@@"DJ? R eLOADING ? Aio@sw@9{1d}C@ @5%? B'K-@+/@"39- > QCANNOT RUN 7 @U[A B_K A0D1:MENU. dzG:ȭ , :ipi`X H)hqh)?^@Pȱ@eh}GȎ@  M0+h@LPLPE:LJ;K+*OPUI-=VCBXZ436521, .NM/REYTWQ9h}G078<>FHDGSAACOLOR @CCHR$(@DDATA @FFOR @GGOTO @HGOSUB @IINPUT @JDRAWTO @KGRAPHICS @LLIST @MLPRINT @NNEXT @OPADDLE(@PPLOT @h}CVFGWCCIOFILEBC1SUU1DQQQASYCMSTADBYTEERRO]_egmouw}}C@ !" )* 12 9: AB IJQRYZabijqry}C $%,-45<=DELMTU\] de!k DRAWING FUN}C6BY ELRHEA M. BIGHAMANTIC MAGAZINE(G;@:A,;@EL,;@ PW,;@[b,;@0fm,9@5q,i6.h}C`Au6-@#+6-@/76-@;D2B@HA'B7tA+.$BŠˠ}C < +@ 6-@!%6-@%W7AA4IAA[A @[g6-Ads6-AU}#Ap}C-@ @568,-6-Fg #(Ǡ@( to DRAW with \( changes COL}C ORg@ Pq(MOVES color 9(to CLEAR>(X(INVISIBLE cursor](q( ERASE mod}GeZg((CONTINUE move$(@( line FILL to RIGHTQ( to LOADV(g( to SAVEdY -"68}C2,- !(&(>( Ӡ٠R@6K:Y)n. -"68,-6 "(6-.6-xs +@}C6#A+-AA/"59 E6-@8:BQ6-AFwW6-]6-ag6-m6-s6-  @P{}C$G@w<6-F:A2,-6-F:AD,;*"@@YA6-G6-*@]6-6-g 6-8,6-8}C%@ ,B6-%$++ @y*",)+!*"6,,g6-%$++ A*",)+!*"6,,1,9 "6-%}C$+ @ X,#6-'-"36-96-# ",,# A K A\t-#AeK@x@}C@ qS:# , ,#6-?:C:,,$ ,6-F:,$"A@% "@Du*"6}C-%6-C"@DV*6-!#A5-AA9"?C !"@Zu6-6-!6-$"{}C6.load$ A$"@b"B6.save$ A"@VFa*"6-6-"%"@Ve*"6-6-%6-,}C -"@B 66-6-!6-'6--6-6!!"@T:H)"A@`LW@#"@[*6-6-#6-J"@}G6-6-T# , ,#6-?:C:,,^ , A@hˠŠr%%5,6,7,25,29,33,9,10,11,2}G6,30,34|àҠ 6,36,70,102,132,166,226,42!!ǠҠǠǛC 6. Ap+@}C ?(@7 FILE to ?C11B:, @;A*7@EI<@MV,4CAZwB:,!Aps +@{}CAA0;(@?ŠE A`^@CYD:*.PICl-@ ]rsL@:,@2v-}C B:,>(@A>:@:7<,,%A(,B L A`!@:,"@2EO!6.7@Sh, A`(@l 3(}CFile to 3B:, @ 3A ;7@7;<@?\,0D:#6.,6.D:;67@`,.4 6-B:, A4}C7&@ ,4.PICA'67%@+<,..PICs @`@G@K^#4save/6-@bj;6-@nMAY}CW A iAY@44s A E6-@8@6-@DV% A 16-@Zx; A E A@@|}GA(S 6- A`Ah+Ai16-; A`GArSAs#Af#6-?:C:,<@2}C,& 6-F:Ag,@!y $0*6-P:'AV,'6-P:&$AV,*$:TAdAU#6.hhhLV/6-At}}C Q6-F:@,%AV$F:@!V,T$ D:DRAWFUNYCMSTADBYTEERRO]_egmouw}7G30 GRAPHICS 040 REM Turn off TV display50 POKE 559,060 REM Find start of display list70 DL=PEEK(560)+256*PEEK(561)80 REM}G Modify display list to ANTIC mode 390 POKE DL+3,67100 FOR I=6 TO 24:POKE DL+I,3:NEXT I110 POKE DL+25,65120 POKE DL+26,PE}GEK(DL+30)130 POKE DL+27,PEEK(DL+31)400 REM Turn on TV display410 POKE 559,34lay list70 DL=PEEK(560)+256*PEEK(561)80 REMPG10 REM Reserve 4 pages of RAM for character set20 MEM=PEEK(106)-4:POKE 106,MEM-1:RAMSTART=256*MEM140 REM Load ML routine15}G0 FOR I=1 TO 35:READ A:POKE 1535+I,A:NEXT I160 DATA 104,160,255,162,7,177,203,72,136,177,203,200,145,205170 DATA 136,202,20}G8,246,104,145,205,136,192180 DATA 255,208,233,198,206,198,204,198,207,208,223,96190 REM Initialize work variables for chara}Gcter set transfer to RAM200 POKE 203,0:POKE 204,227210 POKE 205,0:POKE 206,MEM+3:POKE 207,4220 REM Call ML routine to move}G character set230 A=USR(1536)380 REM Turn on new character set390 POKE 756,MEMRAMSTART=256*MEM140 REM Load ML routine15RG character set230 A=USR(1536)380 REM Turn on new character set390 POKE 756,MEMRAMSTART=256*MEM140 REM Load ML routine15RCF")*(ASC(HEX$(I,I))-48)+(HEX$(I,I)>="A")*(ASC(HEX$(I,I))-55)@6ENTER "D:L@:@4LIST "P:"@5LIST "D:@0DEC=(HEX$(I,I)<="9hSC !f MICRO FADERBY JOSEPH GRANDEANTIC MAGAZINE(r<;@jq,;@u,;A}C ,;@#,;@ +,Z6.@ABCDEFGHI2#>JKLMNOf6-DLr6-@PdFB(}PLEASE WAITh.p,-@txA|}C0 BAYA #A "*)-A .:A"P@>g3 A@7 A A5 ""-@ktB:,@x56.}C 7<%@ ,S6-%#-@)-@1;O6-$@?O%@:7@:7,,&@GSY,,&@d]sS W76-%+@:7@w<@}C ,,%@:7@<@3,,,E67<,.>:,S6-%@7tW [%6-F:A,%F:A,$AV+=AY@4xX(}C0LINE  IS MISSING.[8 AY@44h5(}BAD DATA AT LINE #8$@AY@4l<("}PRESS TO SAVE THE FILE.@W@(/7@37@;=Ce D:FADER.EXEC6-AHW%@im@q- 6-C:,}CY6-P:'AV,-6-&$AV- 6-B:,6-P:'AV,-6-&$AV;%@]g%@ku-%@y;}C%@ &6-?:C:hhhLV,<@*5,!@9R( }ALL DONE.!eeVFE002E1028421001E61228DCC1E0ECC1E0ECC1E0}C0100 .OPT NO LIST0110 1.TAB 11,15,3101206 f.TITLE "COPYMATE 1.4 03/21/84"0130 ; 0160 ;r COPYMATE 1. }C 4 0180 ; +BY MIKE PALMER 0190 ;6 RANTIC MAGAZINE0250 ;0260 ;X hPAGE ZERO0270 ;n nw-0280 }C;0290 SRCDRV = $80 5SOURCE DRIVE0300 DSTDRV = $819 \DESTINATION DRIVE0310 NUMDRV = $82` NUMBER OF DRIVES ON SYSTEM03 }C20 FMTTYP = $84 0FORMAT TYPE0330 SECSIZ = $854 [SECTOR SIZE (DENISTY)0340 WRTMOD = $89_ WRITE MODE $57=VERIFY0350 BUF!*}G240 FOR J=1 TO 10:READ OFFSET:OFFSET=OFFSET*8270 REM CTRL-.,CTRL-;,Shift-=350 DATA 96,48,126,0,0,60,102,12,24360 DATA 123,$}G102,60,0,0,126,12,24,12370 DATA 124,126,12,0,0,12,28,60,108CTRL-;,Shift-=350 DATA 96,48,126,0,0,60,102,12,24360 DATA 123,$=C1ODMERAMSTAROFFSEB@6:AV>JB6ANQ@VA ..Reserve 4 pages of RAM for (}C#character set<6-F:A,&@'7.A&@;P<6-AV$ +V(Turn off TV display2AY(}C< Find start of display listF%%6-F:A`,%AV$F:Aa,P))Modify display list to ANTIC mode 3Z%(}C@ @gd)-@"@$&0%%@4C) n%@%GK@eOZx%@&^fF:%@0jv,%@'zF:(}C%@1 *,Load ML routine--@.2@56")A5%- ::104,160,255,162,7,177,203,72,136,177,203,20(}G0,145,205))136,202,208,246,104,145,205,136,19244255,208,233,198,206,198,204,198,207,208,223,96AAInitialize work v(}C9ariables for character set transfer to RAM'A?`'AA';Afv)A%@z;(}C A@W++Call ML routine to move character set6-?:A6,)-@[_@cq")6-$@u--(}C @"%%%) - comma,semicolon,g,j,p,q,yCTRL-.,CTRL-;,Shift-=12,0,0,0,0,0,24,24,48"(}G27,0,0,24,24,0,24,24,48,""103,102,60,0,62,102,102,62,66106,6,60,6,0,31,6,6,6@%%112,96,240,0,124,102,102,124,96(}GJ 113,6,15,0,62,102,102,62,6T##121,24,48,0,102,102,102,62,12^ 96,48,126,0,0,60,102,12,24h!!123,102,60,0,0,126,12(}G,24,12r!!124,126,12,0,0,12,28,60,108|Turn on new character setAVTurn on TV displayAY@(}C41 D:HIDDEN.ALLROFFSEB@6:AV>JB6ANQ@VA ..Reserve 4 pages of RAM for (C0V V`pVN iVkVN0VWAV!"#$%&)4JV`)V`0ot#",ine0oint0icture0oint"rushicturealett,}CXeH ԭ`ЩЩЩNWh@HH Խ` ԍнaнDbн`.Whh@D1:e hD1:u xD1:} ,}C D1: !D1: WX, YWelcome to Philip Price's Multi-Color Drawer.] (C)1984 Philip PriceAvailable ,}C9from ANTIC magazine.Please Enter the Picture name.D1:A E.PICQ4`^ VlV B VB ,}GJKLXE:DXE V BXYDWEHI V`BJKLXK:DXE VBD`EH,}GI V BD`EHI V``WWWWWɛ`  B V`.WWWWWPWWWWWIWCW,}GWWWWW0W1W2W3W YZWWWW B VBJKDWE VBD EHI V,}GBD0EHI VBtDXEHI V B V䢿tX`uX`vXawXDbBJKDW,}GE VBD`EHI V B V䢻Z[BJKDWE VBĝD`EHI V B V,}GBJKDWE VBDaEHI V B VBJKDWE VBDDbEHI V,}G B Vԍ/ԩ0V1.Wԩ>/[\ЩPԩЍЍЍЍЍЩ0ЩȍЩЍ L\8S\`I,}CWЭ)D):)04)))) L[Lq]L]L]L]L\L^L^LZ\\U)S\S\L\S\L\,}G)S\8S\S\S\ VWS\ VWTUS\\]i%SSTTT T`TU`U UU\ 8,}GS\L[T\IT\B(WWV@ VjV@kV@R\V\Lg]"WWV VjV0kV),}GL[8S\)Hi)hL]8S\)H8)h]^L]8S\)Hi)hL]8S\)H8,}G)h VV VV))L[, ҍU\IU\ W WL^W WL^R\i)R\# DbL^,}GaL^`L^ą`8S\@R\V\^_R\VV)L[/ԩ@ԥ)),}GBJKDWE V BD`EHI V B VBJKDWE V BĝD`EHI,}G V B VBJKDWE V BDaEHI V_` B VBJKDWE V B,}GDDbEHI V B Vԩ>/L[xXV`)V`0ot#",ine0oint0icture0oint"rushicturealett,4GECC1E0ECC1E608DCC1E20031EAECC1EA90C9D42039D4203,5255ff4CB61E858068AA68A8688581688583688582688DCC1E98488A48A000A9008D6722B}G180998004C99BD0034C5B1E,10322ffC93AD005A9018D6722C84C421EAD6722C900F0034C841EA9448D8004A93A8D8104A000A202B1809D8004C99BD0}G,15371ff034C841EE8C84C731E20031EAECC1EA5829D4A03A5839D4B03A9809D4403A9049D4503A9039D42034CB61E8DCA,20504ff1E68AA68A86}G88DCB1E98488A48602056E4AECC1EBD43038D66222980C900D001604C74E4008582A90748A58229,25578ff30491018690C48A582290F48A91E48A9E9}G4CED1E533A9B0020241E60858068AA68A868858198488A48AECC1EA9,30674 ff009D4803A9019D4903A5809D4403A5819D4503A9059D420320B61EA00}G0B180C99BD0034C2C1FC84C1F1FC8A900,35707ff918060858068AA68A868858168858498488A48A9FF8585A5840AB00546854C481FAD0AD22585C584}GF002B0F5A0,40769 ff009180608D6C22A9448D6E22A93A8D6F22A203BD6E22C920D0034C811FE8E00BF0034C6F1F8AC90B90034CAD1F,45901*ffA}GD78229D6F22AD79229D7022AD7A229D7122A92E9D6E22A59B9D7222A5009D73224CCE1FAD7A228D7B22AD7922,510714ff8D7A22AD78228D7922A92E8D}G7822A59B8D7C22A5008D7D22608D6D22A91F48A9FA20A61EAECC1EAD6D229D4203,56275>ffA5589D4403A5599D4503A9049D4803A91E9D49034CB61E6}C$mROTRAPPDI,-45<=DELMTU\]delm tu { 1}GANTIC MAGAZINEPLAYER MISSILE ROTATORBY LARRY PARKER(F READ MACHINE LANGUAGE DATAPINTO ROT$d1}C;@` ,n--@@W!")67<,.>:,- x!!104,104,133,204,104,133,203!!104,104,133,205,104,104,1331}G206,160,0,24,165,206,20811,177,203,10,144,14,24105,1,24,144,8,177,20374,144,3,24,105,128,145 203,2001}C,196,205,208,225,96--MPLAYER MISSILE SETUPa-E6-F:A,&A1}C&@ 0+"BAR@&XE(6-F:A,6-A A@\BBy6-AV$1}C +-%A%A@'&?+ 6-%A%@C_" #A`,-%@c6"@ J T1}C'AY@F 'B2w@$\^B2Hh##60,126,219,255,189,195,126,60ri-|ROTATE PLAYER1}C-6-R:#/,3"@3;6-@?I)6-%@Mb3 A@3"@fl6-r)6-&@1 } C3 A@ A=B2H##6-?:C:,<%@AE<@IW<,-@[_@cp  At D1 } C$2:ROTATE.BASROTRAPPDI,-45<=DELMTU\]delm tu { 0 C10 *=$60020 ;30 ; 5-40 ; A=USR(ML,ADR,# BYTES,DIRECTION)50 ;60 ; ROTATES DATA LEFT OR RIG5 } C HT70 ;80 ; ,-n90 ;0100 ADR = $CB0110 BYTES = $CD0120 DIR = $CE0130 PLA{ ; 5 } CIGNORE0140 PLA O; GET HI BYTE OF ADDRESS0150 STA ADR+10160 PLA[ ; GET LO BYTE OF ADDRESS0170 STA5}C ADR0180 PLA ,; IGNORE0190 PLA8 g; GET NUMBER OF BYTES0200 STA BYTES0210 PLAs ; IGNORE05}C220 PLA q; GET DIRECTION0230 STA DIR0240 ;0250 LDY #00260 LOOP CLC0270 LDA DIR0280 BNE RIGHTw ; RIGH5}C1T IF A 10290 ;0300 LEFT LDA (ADR),Y0310 ASL A; W; SHIFT LEFT0320 BCC STORE] ; NO CARRY BIT0330 CLC0340 A5}CDC #1 V; SET BIT 00350 CLC0360 BCC STORE0370 RIGHT LDA (ADR),Y0380 LSR A` ; SHIFT RIGHT0390 BCC STORE5}C -; NO CARRY BIT0400 CLC0410 ADC #1284 p; SET BIT 70420 STORE STA (ADR),Y0430 INY0440 CPY BYTESv ; DONE?5}C0450 BNE LOOP $; NO0460 RTS0 ; YES- RETURN TO BASIC,# BYTES,DIRECTION)50 ;60 ; ROTATES DATA LEFT OR RIG4GG08D6C22A91820CD1E203A20AD30028580AD31028581,61296HffA003A94E9180A006A90E9180C8C063D0F7A94E9180C8C8C8B180C90FF0034C3920A90E}G9180C84C282060AD0BD4,66398RffC95FD0034C47204C3A206001084002108004208D6C22A2008A9D8622E8D0F9A9008D8322A9FECD8322B0034C9D,71}G406\ff20AD832249FF488D8522AD852248A92248A98520321FAABD8622A86848AABD8622AE85229D862268AA989D8622,76516fffEE83224C612060}G8D6C22A55885808582A9008D8222A907CD8222B0034C3D21AE8222A9008D8322A9FECD8322B0,81553pff034CDB208A48AE8322BC862268AA203E21EE8}G3224CBE208A48A2FFBC862268AA203E21AD6622C97FF00590034C,86686zff3721AD8222C902F0034C0421A001B1808DC402AD8222C903F0034C1521A0}G02B1808DC502AD8222C904F0034C26,91631ff21A003B1808DC602AD8222C905F0034C3721A000B1808DC802EE82224CAC20608D6C22AD64228581AD6}G5228583,96631ggA9008D8422A91DCD8422B0034C8321B1803D4820C900F0034C7021BD482049FF31824C722111829182E681E683,101595ggE88}GA2907AAEE84224C502160205020A9078D632220FB1FA5598D6522AD652238E9208D6422AD64228559A9018D,106613gg6222A90148A90648A90048A92}G148A9B84CBF212A2E4D49439B0020241EA90120001EA9018D8222AD6222CD8222,111590ggB0034CE521A92248A96E20F11EEE82224CCC21A90120101}GEAD6E22C920D0B120601FA90148A90448A90048A922,116614gg48A96E20241EA90120001EAD64228559AD632220CF1F209E20A90120101EA900854D8}G513A513C90890034C4722,121552ggAD1FD02901C900D003204722AD1FD02902C900D0032053224C2322AD62221869018D62224CA721AD1FD02901C9,}Cd12650600D0032047224C5322,127445 D:FADETWO.BASUCIOCADDRESADHADLBYTENUMHNUMLkmsu{; G!a"`  BBLhhhhhhHHg"ɛL[:g"LBg"LD:E!}!GɛLLs JKDEBLhhhHH` VCf")`LtH)0Ii H)HHLS: E"}"G$`hhhHHHIDEB ɛL,Lȩ`hhhhHH FLH %ń`l"Dn":E#}#Go"n" L Lo Lx"o"y"p"z"q".n"r"s"Lz"{"y"z"x"y".x"|"}"`m"H m"BXDE$}$GYEHIL`l"  : 01NcNȱL9 L( ` _LG L: `@ l"""̓E%}%G"L "IH""H"H 2"hH"""h""La `l"X"͂"L=!""̓"L H""h >!"L H"E&}&Gh >!f"L7!"L!"L!"L&!"L7!"L `l"d"e""̈́"L!=H E'}'GLp!H I1Lr!)"LP!` P c" Ye"e"8 d"d"Yb"HHH!HL!*.MIC $ "b"͂"L!"HnE(}(G "L! n" б `HHH"Hn $ d"Yc"   MLG") G") S"L#"b"ib"L!)E)})G G"LS"a"`  BBLhhhhhhHHg"ɛL[:g"LBg"LD:D *C FER = $8A -BUFFER POINTER0360 BUFSAV = $8C1 VBUFFER POINTER SAVE0370 SECSAV = $8EZ SECTOR POINTER SAVE0380 VTOC = $9!+}+C0 +SCREEN VTOC POINTER0390 VTOSAV = $92/ XSCREEN VTOC POINTER SAVE0400 VTOCI = $94] SCREEN VTOC INIT POINTER0410 FM!,},C TFLG = $96 *FORMAT FLAG0420 ONMSG = $A0/ N' ON' MESSAGE0430 OFFMSG = $A3R m'OFF' MESSAGE0440 ;0450 ;s O S0460 ;!-}-C "---0470 ;0480 TRAMSZ = $06& JTEST FOR LEFT CART0490 TSTDAT = $07N sTEST FOR RIGHT CART0500 DOSVEC = $0Aw DISK S!.}E.C!TART VECTOR LSB0510 DOSINI = $0C% KDISK INIT VECTOR LSB0520 POKMSK = $10O pPOKEY INTERUPTS0530 ATRACT = $4Dt ATTRACT M!/}/CODE TIMER0540 LMARGN = $52 }>C_ SCREEN VTOC OFFSET ADDRESS1090 SCNSEC = $BFA1 SCREEN W/R SEC # ADDR (48K)1100 BRKINH = $40c INHIBIT BREAK KEY CODE111!?}?C0 BRKENA = $C0 9ENABLE BREAK KEY CODE1120 OPTNKY = $03= ^ KEY CODE1130 SELKEY = $05b KEY PRESSED1140 STR!@}@C TKY = $06 - KEY CODE1150 RTNKEY = $0C1 Q KEY CODE1160 DKEY = $3AV uD KEY KEY CODE1170 FKEY = $38z F K!A}ACEY KEY CODE1180 SKEY = $3E! @S KEY KEY CODE1190 VKEY = $10E dV KEY KEY CODE1200 WKEY = $2Ei W KEY KEY CODE1210 !B}BC EMPTY = $0E 9EMPTY SECTOR SCREEN CODE1220 DATA = $54> fDATA SECTOR SCREEN CODE1230 BAD = $1Fk BAD SECTOR SCREEN !C}CCCODE1240 POINT = $4E 7VTOC POINTER SCREEN CODE1250< .PAGE 1260 ORIGN1 = $3400 INITIALIZATION CODE ORIGIN1270 ;128!D}DC0 *= ORIGN11290 ;1300 ;$ @BOOT HEADER (6 BYTES)1310 ;F F[-g1320 ;1330l .BYTE $00 BOOT !E}EC FLAG1340 (.BYTE $0E # SECTORS1350- K.WORD ORIGN1 LOAD ADDRESS1360P t.WORD BOONIT BOOT INIT1370 ;1380 ;z BOO!F}FCT CONTINUATION1390 ; ,-81400 ;1410= @CLCI \SIGNAL BOOT OK1420a RTS 1430 ;1440 ;1450 ; !G}GC *#1460 ;) I* USER DEFINITION TABLE *1470 ;O Oh*1480 ;1490 DEFSRC .!H}HGBYTE $01 SOURCE DRIVE #1500 DEFDST .BYTE $02 DESTINATION DRIVE #1510 DEFFMT .BYTE $00 FOMATTING $00=OFF $01=ON1520 DEFVFY !I}IG.BYTE $50 WRITE VERIFY $50=OFF $57=ON1530 NDRIVE .BYTE $02 NUMBER OF DRIVES ON SYSTEM1540 FMTCHR .BYTE $00 ATARI=$00 PERCOM!J}JCT=$1A1550 ;1560 DENSIT .WORD $80 CURRENTLY SINGLE DENSITY ONLY1570 ;1580 ;1590 ;Z tBOOT INITIALIZATION1600 ;z ===!K}KC=B1610 ;1620 BOONIT LDA TRAMSZ ANY CARTRIDGES1630G dORA TSTDAT PLUGGED IN ?1640i xBEQ BOOMAK1650} !L}LC!LDX #CRTMSG&255 TELL USER TO1660& DLDY #CRTMSG/256 REMOVE IT1670I JSR PRINT1680 BOODIE JMP BOODIE HANG AROUND1690 ;!}MCdTU HARRAYHOLDHEXFILECASCMHNULINLSUSUCIOCADDRESADHADLBYTENUMHNUMLkmsu{YN}NC '(/0 78 ?@ GH OP WX_`ghopwx}YO}OC !i OLYMPIC DASHBY JEFFREY STANTONANTIC MAGAZINE(f<;@mt,;@x,;YP}PCA5 ,;@#,;@ .,Z6.@ABCDEFGHI5#AJKLMNOf6-GP2 @`T<Q (CASSETTE OR DISK? (C/D)$;6.YQ}QC7@ <@$,Q0C*0D@`(1FL A5F"(}PLEASE WAITJ.R6-@VZA^n: LAYtP6 4YR}RC C6-@) 6.C:,6-A(6 A-GZ 6. D:DASH.EXE 6-Mdd#A%6-@hwn3" -@{BYS}SC:,@ 36.7<%@',xs6--5#-@9=@AKO6-$@O_%@:7@:7,,&@Gci,,&@dmS a67<,.>:YT}TC ,o6-%@s A #A !))-A -9A'p@=f3 A@7 A A5 ""-@jsB:,@w56.YU}UC7<%@ ,S6-$#-@(,@0:O6-$@>N%@:7@:7,,&@GRX,,&@d\rS W76-%+@:7@v<@YV}VC ,,%@:7@<@2,,,E67<,.>:,S6-%@6sW [%6-F:A,%F:A,$AV+=AY@4wX(LYW}WC%INE  IS MISSING.[A)@$@AY@4Dy<("}PRESS TO SAVE THE FILE.@E@}YX}XC%@ @+16-AHE%@/3@7- 6-C:,6-P:'AV,-6-&$AV- 6-B:,6-P:'AVYY}YC,-6-&$AV;%@#-%@1;-%@?I;%@ Mi6-?:C:hhhLV,<@mx,!@|YZ}ZC( }ALL DONE.!? B-AY@41W<(}BAD DATA AT LINE #?[Fq001D8C2A**001CEE1Cu0A9008D44Y[}[Cd02A9FF85084C0F23D2:DASHLOAD.BASCMHNULINLSUSUCIOCADDRESADHADLBYTENUMHNUMLkmsu{X(\CTININ1OUTOUT1COLREGTYPTYPTYPCOUNTOLHOLDTQNUTI[]cekmsu@|A]}]C '( /0 78 ?@ GHOPWX_`fhnp@vx}A^}^C g GRAPHICS CONVERTERBY CHARLES JACKSONANTIC MAGAZINE(h -@xko@fsx6@|A_}_C3,A8ALA Ah&`-@7;@?Rd h 2RR;@V],;@ah,;@ls,;@w,;@A`}`C ,;@,9@%,<*'(}) W*** GRAPHICS CONVERTER ****(F9A@f[i'A@fm9A AAa}aC'P((1) Micro IllustratorZ##(- J(Tech-Sketch, Koala, d(Q Chalkboard)(n((2) Micro PainterxAb}bC( 4(Datasoft)(((3) Moviemaker(: e(Reston)(((4) Fun with Art( k (Epyx)(NUMAc}cC = Number of types6-@!)6-@-s-(&(Type of source file (1-4) *-(!A(x FilenAd}dCame (+6. # *+6. 7 B467@FJ<@N\,.D:467@`d<@h,.+$(Type of deAe}eCDsired file (1-4) (+(!A@AC!(}HdNEEDLESS CONVERSION5-@hlAp9 C @`Af}fC @8A@"6-@P,uA @<f'AA9AAu(7}mMicro IllustratoAg}gC_r files must be named 'PICTURE'61(-("Press 'Y' to name the output file.1@0Y@`cJ]6.PICTURE6-@Aq}hC""$(.cdiCb'DOS SYSb*+DUP )SYSbUTIME- PLTbhHIDDEN3 LSTbDRAWFUN BASbHIDDEN1 LSTbHIDDEN2 LSTb lTHREECOLBASjCibCOPYMATEM65bHIDDEN4 LSTb HIDDEN BASbPAINTER EXEb ROTATE BASb ROTATE ASMbDASHm EXEbCDASHDATALSTkCxb1\CONVERT BASb FADER EXEbCOPYMATEBASb%BASICKEYBASCuAUTORUN SYSbcALLMODESBASbMDASHLOADBASbwDOC} TXTlC bHELP BASbMENU 0BAUTORUN SYSqC/A@f#AA@f'KSA A] A`TF!(P iDestination filename6(o (No ext.):Ar}rCC6-B:,F(^!!"@!*!@%8A@h667@<@<@DR,.D:667@V\<%@`n,.r@rA|As}sC -#67%@<%@,..BKG- A 6-$% ( Please stand by . . ."("((Approximate conversionAt}tCK( time:  minutes)##BRANCH TO CONVERSION ROUTINES+&+%@Os,,AA`AA yAAu}uC A A`Ap$lAA@A Ap( Still working . . .%%+"@px,)+"@|,Av}vC)APDELETE TEMP. FILE''@-1@57=OD:TEMP:/@3SX@\^dflD:TEMP:@Aw}wCB AP((Micro Illustrator to Micro Painter= @FJ@NPV_=@cg@kms5-Ax}xC@Av$)@#1*@'75 O*@;?@CJ)*@NR@@V]<*@apAO*@tAPAy}yC &@ @$0&&Micro Illustrator to Movie Maker: 6.6.D:TEMP AD 6.6. A NAz}zCY''Micro Illustrator to Fun With ArtX 6.6.D:TEMP Ab 6.6. A]l""Micro Painter to Movie MakA{}{C erv= @@ )=@-1@57=H!6-N\!A@f`x A?-@|A|}|C@@$)@1*@+?6-%@/B"A8DAFX 2-@\`@@dk$)@o( 2 APA}}}C A-@@0 **@$&,7. A*@;LA& BPW@[b#@f&$((Micro Painter A~}~Cto Micro Illustrator= @"&@*,2;=@?C@GIO\5-@`oAv$)@s1*@A}C5 @@"T$""Movie Maker to Micro Painter = @X\@`bhq=@uy@}A}C9@@#, 6-)4*-@8<@@K4>-@OS@@W^$)@bk1*@o:68,-> A}C >/-@@@'*@#;8,+ / H5-@?C@GN$)@R[1*@_n5 R& Bry@}A}C#@ &$\&&Movie Maker to Micro Illustratorf 6.6.D:TEMP App 6.6. A z!!Movie MakeA}CFr to Fun with Art 6.6.D:TEMP Ap 6.6. AJw##Fun With Art to Micro Painter= @{A}C@=@@#%+7)@;D)@HU1-@Y]@ah$)@l-68,-1 A}C (-@ AV$)@ 1( -@5GAv)@Kx!!!A@* A@A*@|A}C +-@@&'*@*=8,+ @AH@L$''Fun with Art to Micro Illustrator 6A}G.6.D:TEMP A $ 6.6. A .!!Fun with Art to Movie Maker8 6.6.D:TEMP A B 6.A}C<6. A L##Micro Painter to Fun with ArtV= @@D@HJPY=@]a@egm`,-@A}CAb"(*@), j-@-UAvt6!A@* A@,*@Y[au6 A`~)@yA}C*@  )*@ "(/)*@35;F1-@JN@RY$)@]v-68,-1 6@zA}C@6@@#/)*@3BAT)*@FYAT+-@]a@el'*@p8,+ A}C@ $ 254,254QQ1,2,3,4,112,112,112,78,0,80,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14SS14,14,14,A}G14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14SS14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,A}G14,14,14,14,14,14,14,14,14SS14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14 RR14,14,14,1A}G4,14,14,14,78,0,96,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14SS14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14A}G,14,14,14,14,14,14,14,14SS14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14(SS14,14,14,14,A}G14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,65,0,6,104,1702TT104,141,1,2,232,208,3,238,1,2,142,0,2,104,170,104,64,1A}Cw69,0,141,0,2,169,0,141,1<FF2,169,192,141,14,212,76,95,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0F#(#(} File: 7@{STA OPTD2000C bLDA NDRIVE TOTAL # DRIVES2010g vSTA NUMDRV2020{ IN!}C C NUMDRV2030 3LDA FMTCHR FORMAT CHARACTER20408 GSTA FMTTYP2050L iLDA DENSIT DISK DENSITY2060n STA SECSIZ2070!}C LDA DENSIT+12080 3STA SECSIZ+12090 ;21008 >LDA #'D USET UP ' ON'2110Z ySTA ONMSG AND 'OFF' MSGS2120} !}C LDA #'O2130 "STA ONMSG+12140' 6STA OFFMSG2150; GLDA #'N2160L \STA ONMSG+22170a mLDA #'F2180r STA OFFMSG+!}C12190 #STA OFFMSG+22200 ;2210( CLDY #OPTV-OPTMS3 WRITE2220H eLDA #PUTVER VERIFICATION2230j yCMP DEFVFY2240} !}C' BNE BOOVOF2250 BOOVON STA WRTMOD2260, 7LDX #02270< jBEQ BOOVFY (JMP)2280 BOOVOF LDA #PUTSEC2290o STA WRTMOD230!}C0 /LDX #32310 BOOVFY JSR BOOUPD2320 ;23304 PLDY #OPTF-OPTMS3 FORMAT2340U \LDA #ONa qDESTINATION2350v CMP DEF!}CFMT2360 3BNE BOOFOF2370 BOOFON STA FMTFLG23808 CLDX #02390H qBEQ BOOFMT (JMP)2400 BOOFOF LDA #02410v STA FMT!}CFLG2420 6LDX #32430 BOOFMT JSR BOOUPD2440 ;2450; \LDA SAVMSC FIX SCREEN WRITE2460a dCLCm ADDRESSES FOR24!}C70 ADC #3 $MEMORY SIZES2480) ISTA SECFIX+2 OTHER THAN 48K2490N _STA SECFIX+52500d STA SECFIX+$0E2510 ;252!}C)0 BOOEPL LDA DRVBYT IS THIS A BOOT ?2530. =BEQ BOODON2540B oJMP WARMSV NO - DO Ӡԛ2550 BOODON RTSu YES - IN!}C9IT DONE2560 ;2570 BOOUPD LDA ONMSG,X UPDATE ON/OFF2580> XSTA OPTMS3,Y MESSAGES2590] oLDA ONMSG+1,X2600t STA OPTMS!}C 3+1,Y2610 !LDA ONMSG+2,X2620& dSTA OPTMS3+2,Y2630 BOOEND RTS 2640 ;2650 CRTMSG .BYTE "}h PLEASE REMOVE ALL CAR"}C* # 0+/ 36<@KRW]Cckkrrx9}C"'.G  80}9}C p"`&&,,0pC`LLPpS`Wai lpps`w9}C``pp `pp/``fbf``3pK` }9}C((,0GN`P0}9}CFIVg @` @` @`}9}CfpppF5B5V4V3V2V1V0V/V.V-V,V+<5V4V3V2V1V0V/V.V-V,V+FP5A*jv/,9-0)#$5!,z%6%9}C.4 -%4%2$!3(%-0,!9%22A0,!9%2Fc/.9/52-!2+'%43%4jl'/r&!,3%34!249}C< # '++059=B "#%'(023579}C%8@BCEGHPRSUWX`bceghprsuwx..6VZ$kTa[kKffffff^BY JEFFREY STANTON3%,%#4 3,/739}C%,%#4 &!3402%3334!24$)23:Z^nrswx|9}C %&,-349V $-8GZ[[_`t}9}C9## DLt *N0*18ԩЩ>/o9}G N""""Щ0i%""i%"" Щ V""Щ0i%""i%"" Щ ^""Щ0i%""i%9}G""88!898+ N 5d'!+9}Gȹ'!+ȹ'!+Ȋi ࠐ *!8 +'ԩ##""""""""""""""""""9}G"" ### # #""(ƍzF ( I( ('s \䩀LQ%P# !.5#9}G! !Ll% !.5#! !ЅL % !.5MЅx .5"-"(Z 9}G.5"" ZL6& .5""""""0L% ( I( (""N"" ( I( (Lw% .59}G ##8""#n" """L'""" ( I( (#"""""""N8"""""L&9}G""""""" """}"" 8"""""""#"ɠ"8"""Ɍ # # #0LX& m) #9}G0 \5b5LR' H5N5 #0 L####LM&Lf'# (""i"i"0Lz'"*******9}G**"*********" )LbH"ԭ" ԍЭ"Э"h@"8i"" ("8i9}G"" (`"8i"" ("8i"" (`"8i"" (9}G"8i"" (` `x) """x)"""""x)"9}C\""""""!" """" ""`< #i#H! ##`Jr ##) # #vJ # 9}G#) #ح ##I5#J5#L5#M5 ##]5#^5#`5#a5` # # #ҩ`-.B/1ȩC/19}CkC0ȩB0234ř/01i 2i3ș3ș3i ꠝƙ,`#rrx8kC 2000 DATA 0C1030604040406020001010303030206060C0C1830F0C08U03070C0C08080808,45542010 DATA 000101030=}C303030303FFFE808(0K103060602020301010101014363F39F0F06Q0a,91252020 DATA x010101=}C01010101081C1713=0]1,134932030 DATA 03020606020202l0s1010101x010101=}C0P307050D0C04070701010103030307,179342040 DATA 06060406060C1838103}0=}C0+,223252050 DATA i07070707060E0F0F0F8E8=}C1EFE7C0C0,269122060 DATA E0F0F0B81C0E070301010101=0k7070707060E0F0F0F8E8ECE4C6C2E0F0F89C9E07030101s0,31790207=}C0 DATA 0M7070707060E0E0F0F0F0F0D0D0D0F0F0F0B018181C0C0C0C0C0C0C0C0C06Q07070707060E0E0F0,367122080 DATA F0F0F0F8E8C=}C 8C8E0E0E0606070F0F07060606060607%0H707070706060E0F0F0F0F8ECEEC2F0F8FCEL6q266,417932090 DATA FCF86060C0C08080Cv07070707=}C1060E0E0F1FBFEECC0C0E0F0FC9F9F070103030206060C0C06=0N,467472100 DATA }0=}C+0<,510672110 DATA }0=}C 0-80808080C0C0,554572120 DATA C0E\0i8080C0C060503}0=}C0,598852130 DATA r0,642052140=}C DATA `0q,685252150 DATA }0=}C08080800b20406080A00020406080A000204060,729552160 DATA 80A}0=}C<0M,773002170 DATA S0707070460035421435560034560033560032560031=}G56003056002F56002E56002D56002C56002BC63C35,819782180 DATA 56003456003356003256003156003056002F56002E56002D56002C56002B465035=}C41902A072F2C392D30,866812190 DATA 2923002435212C?0k2536252E34000D00111010002D253425320024213328}0=}EC0,912052200 DATA #03302C213925320011=0F10100E101K0[302C213925320012e010100E101000,956822210 =}CDATA 002F2E00392F3532002D21322B%0327253400332534A0E272FQ026212C33250033,1002752220 DATA 342132343C1E=}C$19140F0B090807060504030302020202020290909090909080707070606,1048592230 DATA 06060505050505040303050504040=}Cn4040303030605050505050403030010001110001210001310001410001510,1093282240 DATA 0016100017100018100019100011101r020305070810=}G12131517182022232527283032333537384042434547,1138632250 DATA 485052535557586062636567687072737577788082838587889092939597980=}C0F-,1187502260 DATA 3FS5A11A5DA246B54A561A45BACD26B4BB5Y6[00a6ae0FF00FF00FF00FF1818181818=}Cr1818184259,1238642270 DATA 204A454646524559205354414E544F4E33252C2523340D332C2F370033252C2523340D2621333400303225v3,128633=}C 2280 DATA 03334213234404020201020101010101010101010001010101010101000100,1330092290 DATA 010001=}C01000100010001000100010$100010001)0*1/0410001=0>1E0F1M0N1S0f1,1373472300 DATA m0n1w0x1}0=}C010101&0'12031>0?1C0U,1416752310 DATA ^0_1l0m1z0100=}C 0 10&302030304030404+0P103060A,1460522320 DATA 0F151C24002DV0b389294969847j0l5Bt0v74}0=}C!03,1505602330 DATA }0=}C0",1548802340 DATA L0A9238503A9238502A9028509A9008D44024C74E4A200BD00,=}G1595232350 DATA 209D902AE8E04ED0F5A9908D3002A92A8D3102A9388D07D4A9038D1DD0A93E8D2F02A9018D6F02A9008D08D0A9,1646622360 DATA =}G0C8DC002A94E8DC6228DC7228DF0228DF1228D00D0A9301869258DCE228DD622A9881869258DCF228DD722A900,1697942370 DATA 8D09D0A90C8DC102A=}G9568DC8228DC9228D01D0A9301869258DD0228DD822A9881869258DD1228DD922A9008D0A,1749012380 DATA D0A90C8DC202A95E8DCA228DCB228D02D0=}GA9301869258DD2228DDA22A9881869258DD3228DDB22A90085C0A938,1800522390 DATA 85C1A00098A20891C0C8D0FBE6C1CAD0F6A90085FE85FCA9388=}G5FFA9E085FDA202A000B1FC91FEC8D0F9E6FDE6,1853702400 DATA FFCAD0F2A000B98521990038C8C03990F5A9388DF402A90085F6A92B85F7A00098A2=}G0A91F6C8D0FBE6F7CAD0F6,1905802410 DATA A000B94E20990035C8C06490F5A205A000B927219D002BE8C8B927219D002BE8C8B927219D002BE8C88A1=}G8690C,1956302420 DATA AAE0A090DF20042AA000B9BD2138E92099AA2BC8C01290F2A9E68D0002A9278D0102A9C08D0ED4A9008D0E238D,2007552430=}G DATA 02238DE0228DE1228DE6228DE7228DE8228DE9228DEA228DEB228DE2228DE3228DEC228DED228DF6228DF7228D,2059772440 DATA F8228DF922A=}G90F8DFA228DFB22A9AE8DF2228DF3228D0C23A9018D00238D01238D0A238D0B23A9058DDE228DDF,2111832450 DATA 22A9288DC402A9C68DC502A97A8D=}GC602A9468DC702A9008DC802200428204928208E28A907A227A073205CE4A9,2162282460 DATA 808514A514D0FC4C5125AD1FD0C906F050AD1FD0C905D=}G0F2AD0E23F01EA00BB9DB21992E358810F7A9008D0E23,2213812470 DATA A008B91E21990C218810F74C6C25A00BB9CF21992E358810F7A9018D0E23A0=}G08B91521990C218810F7A9D08514,2264122480 DATA A514D0FC4C2025A00BB9E721992E358810F7A900854DA9D08514A514D0FCAD1FD0C906D0F9A9008=}G514A514C978,2315342490 DATA D0FAA00BB9B220992E358810F7A9008514ADE022D02DADE122D028A514C95AD0F0A00BB9BE20992E358810F7A9,23667=}G62500 DATA 008514ADE022D00EADE122D009A514C95AD0F04C3626A00BB9D620992E358810F7A201BDE022F00FFEDE22FEF0,2418332510 DATA 22FEF=}G022FEF022FEF022CA30034CED25200428204928208E28A9008514A514C9C0D0FAA9058DDE228DDF22A94E,2469652520 DATA 8DF0228DF1222004282049=}G28208E284C7725A00BB9CA20992E358810F7A9108D0D23A90085148D0823A20138A9,2519372530 DATA 0FEDF9228DFB22BD0023F06EBCE022B9E2209DE=}GE229DE422BDE022D0034C0627FEDE22BDDE22C906D005A9009D,2571752540 DATA DE22200428204928208E28A9009D00239DE222FEF022FEF022FEF022=}GFEF022BDF022DDF222904E38BDF022FDF2,2623212550 DATA 229DF422BDE022C9109006BCE0224CBF26BCEE22B99A229DFE22BDF2229DF022BDF022DDF=}G2229020BCFE22B900,2675352560 DATA 229DFC22187DF8229DF822C908900C38BDF822E9089DF822FEF622FEE222FEFE22BDE222DDE4229005A9019D00=}G,2727532570 DATA 23BDF622C9A09005A9009DE02238A90FEDF8228DFA22BDF622C98CD00DA9009D0A23AD0C2310038E0C23CA3003,2778942580 DATA=}G 4C5826206D29AD0C233015F00BA90A8D5C358D62354C5227A90A8D48358D4E35AD0C23300AAD1FD0C906D0034C,2829862590 DATA 2323A9008D0323AD=}G0323C901D0034C4D264C6627A9018D0323A20120F028BDF0229DC6228D00D01869089DC822,2879532600 DATA 8D01D01869089DCA228D02D0CA30034C7=}GA27ADF6228DB52A8DB22A8DAF2A8DAC2A8DA92A8DA62A8DA32A8DA02A,2932202610 DATA 8D9D2AADF7228DD62A8DD32A8DD02A8DCD2A8DCA2A8DC72A8D=}GC42A8DC12A8DBE2AADFA228D04D420F0294C62E4,2985882620 DATA 48ADFB228D04D4ADC7228D0AD48D00D0ADC9228D01D0ADCB228D02D06840ADCE228=}G5F2A93818690485F385F5AC,3038022630 DATA DE22B9C01F85F0A91D85F1ADD62285F420D328ADCF2285F2A93818690485F385F5ACDF22B9C01F85F0A9=}G1D85F1,3090262640 DATA ADD72285F420D32860ADD02285F2A93818690585F385F5ACDE22B9C61F85F0A91E85F1ADD82285F420D328ADD1,314212265=}G0 DATA 2285F2A93818690585F385F5ACDF22B9C61F85F0A91E85F1ADD92285F420D32860ADD22285F2A93818690685F3,3193482660 DATA 85F5ACDE22=}GB9CC1F85F0A91F85F1ADDA2285F420D328ADD32285F2A93818690685F385F5ACDF22B9CC1F85F0A9,3246262670 DATA 1F85F1ADDB2285F420D32860A00=}G0A90091F4C8C02090F9A000B1F091F2A5F2C8C02090F5A5F285F460BD780229,3297102680 DATA 0CC90CD00DA9019DE622A9009DEA229DE822BD780229=}G04D015BDEA22D010FEE022A9009DE6229DE822A9019DEA,3348892690 DATA 22BD78022908D015BDE822D010FEE022A9009DE6229DEA22A9019DE822FEE>}GC22BCE022B90021DDEC22F002B00D,3400442700 DATA BDE022F003DEE022A9009DEC22BDE022C914900AA9139DE022A9029DEC2260F8A514C93C900D18>}GAD082369018D,3451692710 DATA 0823A9008514A8B948218D0923AD08234A4A4A4A09108D0423AD0823290F09108D0523AD09234A4A4A4A09108D,3501>}G402720 DATA 0623AD0923290F09108D0723D8AD0A23F018AD04238D4935AD05238D4A35AD06238D4C35AD07238D4D35AD0B23,3551982730 DATA F018>}GAD04238D5D35AD05238D5E35AD06238D6035AD07238D613560AD0D23F00ECE0D23AD0D238D01D2A9008D00,3602902740 DATA D260A000A90199002D990>}G02EC8D0F7A000A94299002F990031C8A94399002F990031C8D0ECA000A943990030C8,3652612750 DATA A942990030C8D0F2A000A98199003299003399>}G0034C8D0F2A006A9C599002F99003099003198186909A8C0F090,3701832760 DATA ECA004A9009900329818690EA8C0F090F2A003A904990033C899003>}G3C89900339818690CA8C0F090EAA09DA9C6,3752202770 DATA 99002C60E002E1020F2300,376395003070C0C08080808,45542010 DATA 000101030<SC TRIDGES"2660 .BYTE "* EAND THEN RE-BOOT",$9B2670J .PAGE 2680 ORIGN2 *= $3550 MAIN CODE ORIGIN2690 ;"}C2700 ;2710 ; -RUN INITIALIZATION2720 ;3 3E=q2730 ;2740 RUNNIT LDA #9 SET LEFT &2750v STA LMA" } CRGN RIGHT MARGIN2760 "LDA #31' 8TO ASSIST IN2770= _STA RMARGN MSG OUTPUT2780 ;2790d lLDA #$94p STANDARD2800" } C )STA BORDER SCREEN COLOR2810 ;2820. 9LDA #02830> FLDX #$0AJ xZERO OUT2840 RUNZRO STA DUNIT,X DISK DCB2850} " } C DEX 2860 +BNE RUNZRO2870 ;2880 ;28900 OLDA #DISKID UNIT ID = DISK2900T cSTA DBUSID2910h INC DSECLO FIRST SEC" } C = 12920 ;2930 6LDX #HDRMSG&255 O/P COPYMATE2940; ZLDY #HDRMSG/256 HEADER MSG2950_ vJSR PRINT2960 ;2970 ;| O" } CPTION CHANGER2980 ; (-Y2990 ;3000 OPTCHG LDA #7 RESET TO OPTION3010^ STA ROWCRS DISPLAY AREA3020 ;"}C3030 &LDX #OPTMS1&255 DISPLAY3040+ GLDY #OPTMS1/256 CURRENT3050L dJSR PRINT OPTIONS3060i LDX #OPTMS2&2553070"}C LDY #OPTMS2/2563080 ,JSR PRINT30901 ELDX #OPTMS3&2553100J ^LDY #OPTMS3/2563110c qJSR PRINT3120v LDX #OP"}C TMS4&2553130 &LDY #OPTMS4/2563140+ @JSR PRINT3150 ;3160E dLDA #GETDAT DATA DIRECTION3170i xSTA DSTATS3180} "}CJSR INSER2 ;"INSERT" MSG3190" DLDA #BRKINH INHIBIT BREAK KEY3200I WSTA IRQEN3210\ STA POKMSK3220 ;3230 OPTLUP LDA"}C CONSOL PRESSED3240 5CMP #STRTKY YET ?3250: IBNE OPTKEY3260N BEQ VTONIT GO!3270 ;3280 OPTKEY LDA CH CHA"}CNGE OPTIONS?3290 2CMP #SKEY SOURCE DISK33007 FBEQ OPTSRC3310K lCMP #DKEY DESTINATION DISK3320q BEQ OPTDST3"}C330 CMP #FKEY FORMAT3340$ 3BEQ OPTFMT33508 OCMP #VKEY VERIFY3360T cBEQ OPTVFY3370h CMP #WKEY VERIFY33"}C80 BNE OPTLUP3390 ;3400 ;% mCHANGE VERIFY OPTION3410 ;3420 OPTVFY LDY #OPTV-OPTMS3 MSG OFFSET3430r LDA #PUTVER"}C3440 %CMP WRTMOD VERIFY ON?3450* \BEQ OPTVOF3460 OPTVON STA WRTMOD TURN VFY ON3470a gLDX #0m SELECT ON MSG34"}C80 5BEQ OPTUPD (JMP)3490 OPTVOF LDA #PUTSEC3500: WSTA WRTMOD TURN VFY OFF3510\ bLDX #3h SELECT OFF MSG3520 "}C" BNE OPTUPD (JMP)3530 ;3540 ;( pCHANGE FORMAT OPTION3550 ;3560 OPTFMT LDY #OPTF-OPTMS3 MSG OFFSET3570u LDA #ON"}C3580 $CMP FMTFLG FORMAT ON?3590) [BEQ OPTFOF3600 OPTFON STA FMTFLG TURN FMT ON3610` fLDX #0l wON MSG3620| B"}C9EQ OPTUPD (JMP)3630 OPTFOF DEC FMTFLG TURN FMT OFF3640> DLDX #3J _OFF MSG3650 ;3660 ;e CHANGE OPTION MESSAGES3"}C0670 ;3680 OPTUPD LDA ONMSG,X X=FROM OFFSET36905 RSTA OPTMS3,Y Y=TO OFFSET3700W iLDA ONMSG+1,X3710n STA OPTMS3+1,Y"}C3720 LDA ONMSG+2,X3730 3STA OPTMS3+2,Y37408 WBNE OPTCLK (JMP)3750 ;3760 ;] CHANGE DRIVE OPTIONS3770 ;3780"}C OPTSRC LDX #0 SET UP TO3790$ *LDY #00 ?CHANGE SRC3800D yBEQ OPTDRV (JMP)3810 OPTDST LDX #1 SET UP TO3820} "}C9 LDY #OPTD-OPTS CHANGE DEST3830 OPTDRV INC SRCDRV,X3840> OLDA SRCDRV,X3850T cCMP NUMDRV3860h vBCC OPTLT3870{ LD"}CA #1 RESET TO 13880 /STA SRCDRV,X38904 QCLC 3900 OPTLT ADC #$303910V STA OPTS,Y UPDATE MSG3920 ;3930 OPTC" } CLK LDA #$FF CLEAR KEY3940 %STA CH+ UPRESS3950 OPTEND JMP OPTCHG3960 ;3970 ;[ SCREEN VTOC INITIALIZATION3980 ; "!}!C -T3990 ;4000 VTONIT LDA #SCVTOC VTOC SCRN OFFSET4010Y fSTA VTOC4020k ySTA VTOCI4030} ""}"C LDA SAVMSC4040 $STA VTOC+14050) 9STA VTOCI+14060> DLDX #3J [LOOP 3 TIMES4070` LDA #EMPTY4080 VTOLP1 LDY #0"#}#C; INIT $100 BYTES4090 VTOLP2 STA (VTOCI),Y EACH PASS4100@ IINY 4110N ]BNE VTOLP24120b rINC VTOCI+14130w DEX 4"$}$C140 BNE VTOLP14150 ;4160 ;& 6COPY DISK4170 ;< SEND TO P: FLAG=0 -> SEND TO SCREEN>>Need to find out how long the ML program is. So we count''the N)})C-bytes in the data statements."0 3aA 0The -1 is a terminator6-%@e A5"5Now N*}*C@we count the # of bytes in the commands6-%B:,I$7@DH<@L,4@AILooking for the 5 '@' signs at enN+}+GdAASince we have to read the commands anyway may as well print88them out in readable form. Note: leave '@' sign soN,},CD<<we know if there are any blanks at the end of command.>@HY>  CTRL 7@]a<@er, = 7@v,">N-}-C"@ >3 CTRL 7@"<@&3, = 7@7Z,, A 6I6-%At$&@^IAdd in starting addr. of ML N.}.Gcode - the header@for a ML boot file.J?6-P:'AV,$6-&$AV?Compute the low and highTNow wait for tN/}/CYhe user.^,,($Press return when the disk you want h( is in drive rE.@]a@egm D:AUTORUN.SYSN0}0CKEGet ready to output.|$#$Set pointer to top of data."% QA`%Look for -1==500 & 501 are flN1}1C2ags to tell prgm where to put end addr."A6[6-"A6-*@_ A77ML prograN2}2C:m output. Now we output the command set."2-@>B:,2Output string byte by byte.6-@:7<,,"@:N3}3C\,6-@:,,*@0 A%7@48<@<,4@@APALook for the 5 '@' signs. Ap&HHThe N4}4CIprogram & data set are out. Now output the autoload appendage.0,-@MQ@U`"(*@dt, :@x&N5}5CWDONE''99Below is the data for the machine language program.$'ϠԠ].'8'dd255,255,0,29,500,501N6}6G,234,160,1,173,8,2,153,182,29,200,173,9,2,153,182,29,169,44,141,8,2,169,29B'bb141,9,2,169,500,141,231,2,24,105,112,169,501,N7}7G141,232,2,105,1,133,15,96,88,142,192,29,140,193L'``29,173,9,210,72,41,128,208,4,104,24,144,113,169,3,133,245,169,30,133,246N8}8G,104,41,63,170,189V'aa195,29,201,255,240,94,133,247,160,0,177,245,197,247,240,24,201,64,240,80,200,177,245,201,64`'aa208,N9}9G249,200,24,152,101,245,133,245,144,228,230,246,208,224,230,245,208,2,230,246,174,22,228j'bb172,23,228,232,208,1,200,142,187N:}:G,29,140,188,29,160,0,177,245,201,64,240,13,140,194,29,32,186t'``29,172,194,29,200,24,144,237,169,0,133,77,169,48,141,43,2,1N;};G74,192,29,172,193,29,104,64,174~'``192,29,172,193,29,76,0,80,0,76,0,80,69,58,155,0,0,0,76,74,59,255,255,75,43,42,79,255,80,N<}<G85'``255,73,45,61,86,255,67,255,255,66,88,90,52,255,51,54,27,53,50,49,44,32,46,78,255,77,47,255'VV82,255,69,89,255,84,8N=}=G7,81,57,255,48,55,255,56,60,62,70,72,68,255,255,71,83,65,-1 N*N BELOW IS THE COMMAND TABLE4N THE FORMAT OF THE TABLN>}>GE IS>N77(KEY)(COMMAND)[:COMMAND:...:COMMAND](@) WHERE THEHN""'@' SYMBOL IS THE TERMINATORRN((The set must end with 5 '@N?}?G' signs.\N??Only capital letters and numbers can be used!!! for (KEY)fNpNzNN--ACOLOR @,CCHR$(@,DDATA @,FFOR N@}@G@,GGOTO @N55HGOSUB @,IINPUT @,JDRAWTO @,KGRAPHICS @,LLIST @N11MLPRINT @,NNEXT @,OPADDLE(@,PPLOT @,QPOS. @N66RRETURN NA}AG@,SSO. @,TTHEN @,UREAD @,VSE. @,WSTICK(@N,,XSTRIG(@,YSTR$(@,2LOAD "D:@,3SAVE "D:@N4LIST "P:"@,5LIST "D:@NUU0DEC=(HNB}BCZEX$(I\I)<="9")*(ASC(HEX$(I\I))-48)+(HEX$(I\I)>="A")*(ASC(HEX$(I\I))-55)@N6ENTER "D:@,_@0u:uDuNu11Below NC}CCPis the appendage for an autorun file.Xu0,224,2,225,2,0,29 D:BASICKEYTU[]dek2 BASIC 2 KEY CLPDC-14210 ;4220 GET LDA SRCDRV42306 DSTA DUNIT4240I YLDA #GETSEC4250^ mSTA DCOMND4260r LDA DSECLO "E}EC NO MSG ON4270 CMP #1 /FIRST PASS42804 BBEQ GET.04290G dJSR INSER1 ;"INSERT" MSG4300i JSR WAIT1 WAIT FOR"F}FC1 GO!4310 ;4320 GET.0 LDA DSECLO SAVE START43306 USTA SECSAV SEC # AND VTOC4340Z vLDA DSECHI POINTER FOR4350{ ST"G}GCA SECSAV+1 WRITE BACK OUT4360# +LDA VTOC/ ATO DISK LATER4370F USTA VTOSAV4380Z iLDA VTOC+14390n STA VTOSAV+144"H}HC 00 ;4410 0LDX #REDMSG&255;"READING" MSG44205 ILDY #REDMSG/2564430N JSR PASNIT PASS INIT4440 ;4450 GET.1 LDA CON"I}ICSOL KEY4460 1CMP #SELKEY PRESSED?44706 =BEQ PUTB ZSKIP READING4480 ;4490_ LDA #GETDAT SET DATA DIR4500 "J}JC !JSR SECTIO GET A SECTOR4510& FBPL GET.2 NO ERROR4520 ;4530K NTYAW hRE-TRY UNTIL4540m uAND #$0Fy ERR "K}KC$80 (BRK)4550 1BNE GET.1 OR $90 (DONE)45606 >LDA #BADB OSHOW BAD4570T BNE GET.5 (JMP)4580 ;4590 GET.2 LDY D"L}LC CNTLO4600 >DEY 4610 GET.3 LDA (BUFFER),Y ANY DATA IN4620C _CMP FMTTYP THIS SECTOR4630d xBNE GET.4 YES4640} "M}MC DEY 4650 +BPL GET.3 KEEP LOOKING46600 CLDA #EMPTY NO4670H BNE GET.5 (JMP)4680 GET.4 JSR INCBUF INC BUFFER PO"N}NC INTERS4690 7LDA #DATA4700 ;4710 GET.5 LDY #04720< aSTA (VTOC),Y STORE SECTOR STATUS4730f JSR INCSEC INC OTHER P"O}OCOINTERS4740 ;4750 ABCC GET.1 GET NEXT SECTOR4760 ;4770 ;G bPUT BLOCK OF SECTORS4780 ;h h|-"P}PC04790 ;4800 PUT LDA DSTDRV DESTINATION DRV48105 CSTA DUNIT4820H eLDA #PUTDAT SET DATA DIR4830j ySTA DSTATS4840} "Q}QC JSR INSER1 ;"INSERT" MSG4850# dJSR WAIT1 WAIT FOR GO!4860 ;4870 PUT.1 JSR FMTDST4880 ;4890i LDA SECSAV RESET49"R}RC00 %STA DSECLO SECTOR & VTOC4910* HLDA SECSAV+1 POINTERS FOR4920M mSTA DSECHI WRITING SECTORS4930r LDA VTOSAV"S}SC4940 STA VTOC4950 ,LDA VTOSAV+149601 @STA VTOC+14970E cLDX #WRTMSG&255;"WRITING"4980h LDY #WRTMSG/2564990 "T}TC JSR PASNIT5000 *"@)&6-@*0% A4D*.5@*"@'HP6-@TZ% A^n*.6B*"@Qr6-@Vh}hC% A *.7D*"@S'6-@+1% A5E*.8F+"@cIQ6-@U[% A_p+..AH+"@!t6-@Vi}iC % A +..BJ+"@"*6-@.4% A8I+..CL*"@XMU6-@Y_% Acs*.DN*"@Bw6-Vj}jC@ % A *.EP#"@b$1 A #7.CSR#"@@GT A@#Z.fRT#"@ajw AP#}.Vk}kC GZ @ *dMODE CHANGEf%@.2@d6E%h-%@IO%@S\j-bf@ j l  nVl}lC7$xSCREEN AREA CHANGEz!( ( ((!AV=|$$(SCREEN AREA NOW BEGINS AT ~$($(INPUT A NEW BEGINVm}EmC> ADDRESS$6-P:'AV,$6-&AV$%@BL%@P AP$RESTORE SCREEN!6Vn}nC-F:@ ,!6-F:@),A#/M6-%AV$%@Q[%@_y AP6-@}Vo}oC A 3$GTIA MODES,6-F:A#,%@d7E,A@HI!AU6-&AV!!A!AVp}pC@ 5A#$INITIALIZE +@9k%%6-F:A`,%AV$F:Aa,%%6-F:@o,%AV$F:@Vq}qC,$$(@ *4$$(@8= lC CG*GM X$$(@\c l o+ $$(@Vr}rC l lmds #$$(@'. l :+G $$(@KP lV VZ*Z` k$$(@ot l{ BYVs}sC $$(@6 l ̠ $$(@:? lE I1983O Z$$(@^b tB%-Vt}tC @\%A%A6%AV%'Av%'A%@`u$'A6%@y$'Vu}uC$AV% /A@H(6/A@:>$@BSG%A@W[$@_c%@guGA@y$@Vv}vC%@ KAAfMAIN MENU3( ( ((!AVQ_3AR@c''( GR.0 AntiVw}wGc3 Š GR.7+&&( GR.1   Antic4 Ǡ GTIA--(% GR.2 à Antic5 Ӡ Screen Area**(! etc. Ġ GR.6+ Vx}xC- Ҡ Restore$ D:ALLMODESAe14@9DB6@!IRB`YZ`b@hALLMODESBYT&yCSR PRINTW O/P MSG5770 ;5780" DLDA #BUFBOT&255 INIT TO START5790I cSTA DBUFLO OF BUFFER5800h wSTA BUFFER5810| L"z}zCDA #BUFBOT/2565820 'STA DBUFHI5830, lSTA BUFFER+15840 ;5850 PASEPL STA ATRACT ATTRACT MODE OFF5860q LDA #BRKENA "{}{CENABLE BREAK KEY5870 (STA IRQEN5880- VSTA POKMSK5890 PASEND RTS 5900 ;5910 ;\ uINCREMENT POINTERS5920 ;{ --"|}|C->5930 ;5940 INCBUF LDA BUFFER INC BUFFER5950C FCLCO _POINTERS BY5960d ADC SECSIZ SECTOR SIZE5"}}}C970 STA DBUFLO5980 +STA BUFFER59900 ALDA BUFFER+16000F WADC SECSIZ+16010\ kSTA DBUFHI6020p STA BUFFER+1"~}~C 6030 ;6040 ; 5IF WE HAVE REACHED THE CODE6050 ;; bSECTION OF MEMORY - SKIP IT6060 ;6070g CMP #ORIGN2/2566080 "}C BNE INCRTS6090 -LDA #ORIGN2/256+561002 CSTA BUFFER+16110H WSTA DBUFHI6120\ gLDA #06130l STA BUFFER6140 "}CF STA DBUFLO6150 INCRTS RTS 6160 ;6170 INCSEC LDX DSECLO LAST6180K hCPX #LSTSEC&255 SECTOR ?6190m BNE INC.26200 "}C LDX DSECHI6210 +CPX #LSTSEC/25662200 mBEQ INCEND6230 ;6240 INC.2 INC DSECLO INCREMENT SECTOR6250r BNE INC.3 "}C AND VTOC POINTERS6260 ?INC DSECHI6270 INC.3 INC VTOC6280D RBNE INC.46290W INC VTOC+16300 ;6310 INC.4 LDA BUFFE"}CR+16320 *CMP SAVMSC BUFFER FULL?6330/ BBCC INCEND NO6340G MLDA #1S SHOW BUFFER FULL6350 INCEND RTS 6360 ;6"}C370 ; *WAIT FOR KEY PRESS6380 ;0 0H-u6390 ;6400 WAIT1 LDA SRCDRV 2 DRIVES ?6410z CMP"}C DSTDRV6420 OBNE WAIEND6430 ;6440 WAIT LDA #BRKINH INHIBIT BREAK KEY6450T tSTA IRQEN DURING THE WAIT6460y STA "}CPOKMSK6470 ;6480 &LDX CONSOL6490+ FCPX #STRTKY KEY?6500K ZBEQ WAIEND6510_ CPX #OPTNKY OPTION KEY?6520 "}C BNE WAIT6530 ;6540 PLA( =LOSE RETURN ADDR6550B EPLAN [ =6560` gJMP PUTl REPEAT COPY6570 "}CWAIEND RTS 6580 ;6590 ; 9"CHECK DESTINATION"6600 ;? ?R-6610 ;6620 CHKDST JSR PRINTW O/P ERROR MS"}CG6630 ,LDX #CHKMSG&255;"CHECK DEST"66401 ELDY #CHKMSG/2566650J YJSR PRINTW6660^ vJSR INSTRT ;"START"6670{ JS"}CR WAIT 4WAIT FOR GO6680 CHKEND RTS 6690 ;6700 ;: KSECTOR I/O6710 ;Q Q[-6720 ;6730 SECTIO STA DSTATS DAT"}CA DIRECTION6740 %LDA #TIMOUT6750* 9STA DTIMLO6760> MLDA SECSIZ6770R hSTA DCNTLO6780 ;6790m LDA #POINT POIN"}CT TO CURRENT6800 LDY #0" 4SECTOR IN THE68109 ]STA (VTOC),Y SCREEN VTOC6820 ;6830b LDA DSECLO WRITE SECTOR68"}C40 EJSR HEXSCR NUMBER TO THE6850 SECFIX STX SCNSEC+3 SCREEN6860J [STY SCNSEC+26870` oLDA DSECHI6880t JSR HEXSC"}CR6890 #STA SCNSEC+16900 ;6910( 0JSR SIOV4 ]DO THE I/O6920 SHOEND RTS 6930 ;6940 ;c CONVERT HEX TO SCREEN CODE"}C6950 ; '-.6960 ;4 _A=HEX -> X=LSB Y=MSB6970 ;6980 HEXSCR PHAe pSAVE #6990u LSR A "}C GET MSB7000 LSR A7010$ .LSR A70203 =LSR A7030B JJSR HEX1N `CONV SCN CODE7040e hTAYq RETURN IN Y"}C7050 PLA 7060 AND #$0F# /GET LSB70704 ,2k#@BF@JLRE:5AAHGAAHYJ}C@ kAR@"F<+ 6.67A(,.+67@J,.F&6-C:hLS,&ҠɯϠśP)) !} J}C 'ŠҠZ11 )..3 INSERT COPYMATE 1.4 BOOT DISKd11 ( INTO DRIVE #1 - THEN PRESS J}Cn@Mx""ĠԠҠƠŠ˛ 6-C:,'6-@QY6-@]e'6-@di AԠJ}C9Рˠ› 6-?:,Ġқ F:Aq,"@=QA//('}U ERROR IN READING FROM DRIVE ONE77(/J}C #CHECK IT OUT -- THEN RE-RUN.ˠҠנӛ11()}ENTER REQUIRED DEFAULTS - CURRENT VAJ}CrLUES..(& ARE SHOWN UNDER THE CURSOR AND MAY11() BE ENTERED SIMPLY BY PRESSING ΠARx J}C> A`AA(& NUMBER OF DRIVES ON SYSTEM ? [1-8] :@:7@BS,,@Wd"!! @hn)!@rA`,J}C1"@ 6-@ '6-@$W1 A6 A@EE(" SOURCE DISK DRIVE _.u ? [1-] :@:7@ y,,J}C J@"T!) @&uA^ APhEE(" DESTINATION DISK DRIVE ... ? [1-] :@:7@y,,J}C r@"|!) @&HAP A#@:7@LP,,"Vk#6.N#@:7@ou,,"@y#6J}CC.Y55(& FORMAT DESTINATION DISK .. ? [Y/N] :@G0N*0YA AP#@:7@J}C ,,"@ "#6.N#@:7@&,,,"@0w#6.Y55(& WRITE WITH VERIFICATION .. ? [Y/N] :@{J}C30N*0YAP A#@:7@7;,,"AV#6.A#@:7@Z`,,"@&d#6.P55(& ATARI OJ}C.R PERCOM DRIVES ... ? [A/P] :&@2o00A*0PA:ԠРנӛD67@ s,.>:,NJ}C67@ ,.>:,X67@ 9,.>:,b# 4N#67@=B,.>:H\,l# 4Y#67@`g,.>:@k,v# 4N#67J}C@ ,.>:@%,# 4Y#67@)0,.>:@4H,# 4A#67@LQ,.>:Wk,# 4P#67@ov,.>:@&z,J}C,##ŠԠҠˠϠ˛'6-@086-@<'6-A( AԠРˠ› 6-?:,ŠJ}CқAR@. F:Aq,"@2FA`..(&}K ERROR IN WRITING TO DRIVE ONE..(& CHECK IT OJ}C#UT -- THEN PRESS Π@' A00(( ŠΠ4.(& REMOVE BASIC CAJ}CQRT BEFORE RE-BOOTING1(4(  ˠ ԠРś %Ah@IUv%Š˛* Ai@z J}GԠ4Apě>AqΛH6-P:'AV,R6-&$AV\#Ar#ҠJ}C=Ӡϛf#As#ҠӠɛp'At@A'ԠΠӛz)AvA()ҠԠϛJ}C)AwY)ҠԠɛ"Ax"ҠҠϛ(Ay_(ҠҠɛ$J}CbD:COPMAT14.BASFFABDSKWRLAASEBUFFADIDCONDRIVSOURCDESTIDDIDTYPFMFMTVFYDRVlmsu|HE