@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@P1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}$||`}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   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;DELV䌚 !B y`@ʆ 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 V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED392 FREE SECTORS COPYING---D1:DISP4}LAY2# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4u` {ة Q ݿ c DL ۤ T O LEDI z ݿ c - ( V}LUDEBU ۥ HӦԦ h` L LU `LݿWHAT `}H|H`;\ ` #NH0 L)ѓW}ѓ hH  h L: 8` ۤɛ ъ  ۤ X}ħHçH`򅗩 ۤy ` ܩAҥ5셗¤ɛbȱɛL$ ɛY}  8 xH h  >L$  6L$ H hL ؐ` ٰ եԄLQ Q SɈZ}򅙅 LȊ L~` 0* LT_ LT8[}eHeHL H HhhHH` hh8`0hhLĢ`ʆLĢ 0 \}ͰřLĢ` `8'hhAHHL` `A[`8`H hb8` L1 #U]}0H h%   L1ƒ X  ƒ ` ۥ ذ ِЅ` L1ƒ ^}۩ /ei  ZڰLk ` X800  8` ۤɛ_$<, 椰=`_} "ƒѪ ɛ Б`8`ɀ ۥ  . ې8`ЅХ `} I LX Aө ~ ~ʽʈ򈱕 Ѕ` ۢ. 1i %- 5a}7LP am `хѦ򤡱)Q h( $`8`ei`.I.TITL.PAG.WOR.BYT.DBYT.EN.OPb}.TA*BRCLCLCLCLDEDEININNOPHPHPLPLRTRTSESESETATATSTXTXTYBCBCBEBMBNBPBVBVJSJMORANEOADc}STLDCMSBASROLSRODEINLDLDSTSTCPCPBINOBEREJECLISNEDEFINENTELOASAVNUPRINRERESIZLOMEBYDOASBUd}CDë??k{voko*ѨШר˨ϨϨe}zXʈHh(@`8x0Pp L!Aa"Bb⢠ yz5yդyz}zayzzyf}ټvZsoڣopmqnyĆyzxǤyzb\xä{zyyyyz{yzzzzg}rݤzz~ǤLMNOPztutxazkuuz| zkz|Eo̭ܭ0|-^jmph};PEѵ"@5P1UIȢ8ee  !L8ui}eeeee褜 `8IȄ圅8垕埕j}圅馝褜``Lql  uLU / mȱ Lee` k} Qy% Q Q Qy O Q`8` m,ȑ > L  d 6L"` Jl} W ɛ`ѩ Qx i b` Qy Q  d Lv` L૩ Qڥȱm} y Qڠȱ)8򱆤`H `hɛ` QƯ` Q+ Q Q Qyn} Q Q QLHƒƒL撤撱`` ?  b " d 3  L|`# o}? ` W LYɛп88寠HH͑ 澥H  xL h8寅hh MФБp}1L ྅Ҡ҅撤́Ҥġ цȄ` Qy QaѦ莁` MHeh`  q}  L O QL Qy L$ !5 !. ! ! ! ! $ ! ?LLb r} F` O  < ө FLQв m z`ʼnň`ţ Ţ`` Qy Q Qs} Qy O Q ţĢ JJJא`ii` A  X  Yt}  P  S L Q Q Q Qyz ~LY Q Q 򾥕ii`L (u} \gH(lLb䩀 iiihhh(l ( LU (  LUhhv}إ ɀXLxlzH hJJJHHGH`h H(lh HHw}`eeHH :L : } BEQ EN013280 LDX #207013290 ASL A013300 ASL A013310 DEY013320 BEQ EN013330 LDX #63013340 ASL A013350 ASL A ?}013360 DEY013370 EN013380 STA NUMH013390 STX NUML013400 LDA (SCLO),Y013410 LDX EOR013420 BNE EORPLOT013430 AND @}NUML013440 CLC013450 ADC NUMH013460 PBAK STA (SCLO),Y013470 PLRET013480 LDA 88013490 STA SCLO013500 LDA 89013510 A} STA SCHI013520 RTS013530 EORPLOT013540 EOR NUML013550 EOR #255013560 JMP PBAK013570 GET.KEY013580 LDA $E425013 B}590 PHA013600 LDA $E424013610 PHA013620 RTS013630 NUMBERS013640 LDA TEMP013650 CMP #100013660 BCC NOHD013670 C}SEC013680 SBC #100013690 STA TEMP013700 LDA #17013710 LDY #0013720 STA (NUML),Y013730 JMP CHKTEN013740 NOHD0137 D}50 LDA #16013760 LDY #0013770 STA (NUML),Y013780 CHKTEN013790 LDA #0013800 STA SCLO013810 TENS013820 LDA TEMP01 E}3830 CMP #10013840 BCC NOTEN013850 SEC013860 SBC #10013870 STA TEMP013880 INC SCLO013890 JMP TENS013900 NOTEN0 F}13910 LDA SCLO013920 CLC013930 ADC #16013940 LDY #1013950 STA (NUML),Y013960 LDA TEMP013970 CLC013980 ADC #16 G}013990 LDY #2014000 STA (NUML),Y014010 LDA 88014020 STA SCLO014030 LDA 89014040 STA SCHI014050 RTS014060 MIRROR H}014070 LDX X014080 STX MEM+1014090 LDY Y014100 STY MEM+2014110 LDA MIR+1014120 BEQ CH2014130 JSR CH2014140 LD I}A #159014150 SEC014160 SBC X014170 STA MEM+1014180 LDY Y014190 STY MEM+2014200 TAX014210 JSR POINT014220 JSR J}CH2014230 RTS014240 CH2014250 LDX MEM+1014260 STX MEM+3014270 LDY MEM+2014280 STY MEM+4014290 LDA MIR+2014300 K}BNE CH3014310 JSR CH3014320 LDA #191014330 SEC014340 SBC MEM+2014350 STA MEM+4014360 LDX MEM+1014370 STX MEM+3 L}014380 TAY014390 JSR POINT014400 JSR CH3014410 RTS014420 CH3014430 LDX MEM+3014440 STX MEM+5014450 LDY MEM+401 M}4460 STY MEM+6014470 LDA MIR+3014480 BEQ CH4014490 JSR CH4014500 LDA #159014510 SEC014520 SBC MEM+4014530 STA N}MEM+5014540 TAX014550 LDA #191014560 SEC014570 SBC MEM+3014580 STA MEM+6014590 TAY014600 JSR POINT014610 JSR O}CH4014620 RTS014630 CH4014640 LDA MIR+4014650 BEQ RET2014660 LDY MEM+5014670 LDX MEM+6014680 JSR POINT014690 RE P}T2014700 RTS014710 BRUSH014720 LDA Y014730 PHA014740 DEC Y014750 DEC Y014760 DEC Y014770 LDA X014780 PHA014 Q}790 DEC X014800 DEC X014810 DEC X014820 LDA X014830 PHA014840 LDA #0014850 STA COUNTER014860 READ LDY COUNTER0 R}14870 LDA (ABRUSH),Y014880 TAX014890 BEQ RET014900 DEX014910 BEQ YP014920 DEX014930 BEQ NOPL014940 DEX014950 S} TXA014960 CLC014970 ADC COLOR014980 STA CP014990 LDX X015000 LDY Y015010 JSR POINT015020 LDX MIR015030 BEQ N T}OPL015040 JSR MIRROR015050 NOPL INC X015060 JMP INCR015070 YP INC Y015080 PLA015090 STA X015100 PHA015110 INCR I U}NC COUNTER015120 BNE READ015130 RET PLA015140 PLA015150 STA X015160 PLA015170 STA Y015180 RTS015190 *=$3A0001 V}5200 LINE1015210 *=*+80015220 LINE2=*-40015230 .BYTE ""015240 REMX4 .BYTE " "015250 REMY4 .BYTE " " W}015260 .BYTE "  "015270 CURSX .BYTE " "015280 CURSY .BYTE ""015290 RED2 *=*+40015300 TABLE .BYTE "(" X}015310 MOVX .BYTE "("015320 MOVY .BYTE ""015330 MNPRN .BYTE "PTCIFLWRBR"015340 .BYTE " Y}OO}?C 0123"015350 PTPRN .BYTE "PAINT:  "015360 .BYTE "[TAB][RET](SHIFT)4567"015370 .BYTE " 0123"01538 Z}0 LNPRN .BYTE "LINE: #1, #2"015390 .BYTE " T "015400 .BYTE "0123"015410 CIPRN015420 .BYTE "CIRCLE [}: "015430 .BYTE " 0123"015440 REPRN015450 .BYTE "RECTANGLE: corner #1,"015460 .BYTE " co \}rner #2 0123"015470 FLPRN015480 .BYTE "FILL: -Fill A R"015490 .BYTE " 0123"015500 GRPRN015510 .B ]}YTE "GRAPHICS EDITOR:box "015520 .BYTE "M U L 0123"015530 WRPRN015540 .BYTE "WRITE:-BEG/END "015550 .B ^}YTE "slow fast 0123"015560 MGPRN015570 .BYTE "MAGNIFY:  F "015580 .BYTE " 0123"015590 BRPRN _}015600 .BYTE "BRUSH: Choose brush: "015610 .BYTE " 0123"015620 MIPRN015630 .BYTE "MIRROR: Choose mirror: `} "015640 .BYTE " ‡ Ē 0123"015650 OOPRN015660 .BYTE "OOPS: - ίOFF "015670 .BYTE " 0123"0 a}15680 SPRN015690 .BYTE "SCALE: ίOFF X-? "015700 .BYTE "Y-? 0123"015710 ON .BYTE "/."015720 OFF .BYT b}E "/&&"015730 CLPRN015740 .BYTE "CLEAR: YN "015750 .BYTE " 0123"015760 DPRN015770 .BYTE " c}DISK: S L K"015780 .BYTE " D 0123"015790 DLOAD .BYTE "LOAD : "015800 .BYTE " d} 0123"015810 DSAVE .BYTE "SAVE : "015820 .BYTE " 0123"015830 QUPRN015840 .BYTE "HELP: e}  "015850 .BYTE " -exit 0123"015860 IPRN015870 .BYTE " -- SIR-"015880 .BYTE "TOOT -- f} "015890 CPRN015900 .BYTE "COLOR CHART:  "015910 .BYTE "Ctrl-D (Shift-)0123"015920 EPRN015930 .BYT g}E "BRUSH EDITOR:  "015940 .BYTE " E 0123"015950 BRADR015960 .BYTE 2,2,2,6,1015970 .BYTE 2,2,6,5,5,1 q}B'DOS SYSB*+DUP SYSBCUAUTORUN SYSBSIRTUT ASYBSIR2 ASYB&2SIR2 OBJBG1SIR1 ASYBSIR1 OBJ015980 .BYTE 2,6,5,4,5,6,1015990 .BYTE 6,5,4,3,4,5,6,1016000 .BYTE 2,6,5,4,5,6,1016010 .BYTE 2,2,6,5,6,1016020 .BYTE r} 2,2,2,6,0016030 STOP.TABL016040 .BYTE 51,59,67,75,83,91016050 .BYTE 99,107,115,123,131,137016060 .BYTE 141,145,149,15 s}3,157,161016070 .BYTE 165016080 TBJMP016090 .WORD PAINT-1,LINE-1,CIRCLE-1016100 .WORD RECT-1,FILL-1,GRED-1016110 .WO t}RD WRITE-1,MAGNIFY-1016120 .WORD CHBRUSH-1,CHMIRRORS-1016130 .WORD OOPS-1,SCALE-1,CLEAR-1016140 .WORD DISK-1,HELP-1,INS u}TRUCT-1016150 .WORD COLORS-1,BREDIT-1016160 SCREEN .BYTE "S"016170 KEYOPEN .BYTE "K"016180 VERYEND016190 DUMMY016200 F v}NAME=DUMMY+45016210 PRONOFF=DUMMY+7016220 SCXPR=DUMMY+16016230 SCYPR=DUMMY+22016240 *=$600016250 DLIST .BYTE "p",$60," w}"016260 .WORD SCALINE016270 .BYTE "N"016280 LMS1 .BYTE ""016290 *=*+93016300 .BYTE "N"016310 LMS2 .BYTE ""0163 x}20 *=*+96016330 .BYTE "N"016340 .WORD LINE1016350 .BYTE "D"016360 PRCHANGE .WORD PTPRN016370 .BYTE "N"016380 .WO y}RD LINE2016390 .BYTE "A"016400 .WORD DLIST016410 SCALINE016420 *=$5000016430 CHARSET016440 .BYTE "00000 z}"016450 .BYTE ""016460 .BYTE "0 0 00"016470 .BYTE "00000"016480 .BYTE " 0000 {}0 0"016490 .BYTE "00000"016500 .BYTE "00"016510 .BYTE "00 00"016520 .BYTE " |}000"016530 .BYTE " "016540 .BYTE " "016550 .BYTE " 000"016560 . }}BYTE " "016570 .BYTE "00000000"016580 .BYTE " << "016590 .BYTE "<< <00"01 ~}6600 .BYTE "0"016610 .BYTE ""016620 .BYTE ""016630 .BYTE " }"016640 .BYTE "0000"016650 .BYTE " "016660 .BYTE ""016670 .BYTE " }"016680 .BYTE " "016690 .BYTE " "016700 .BYTE "00000"016710 .BYTE }"00"016720 .BYTE "00000"016730 .BYTE " 0<0000<"016740 .BYTE "00 < <"016750 } .BYTE "0"016760 .BYTE "0000??000"016770 .BYTE "000"016780 .BYTE "000000000" }016790 .BYTE " 0000 "016800 .BYTE "??"016810 .BYTE ""016820 .BYTE " }"016830 .BYTE ""016840 .BYTE "000??000"016850 .BYTE "000000"016860 .BYTE "0 }0"016870 .BYTE "000"016880 .BYTE "000"016890 .BYTE "000??0<"016900 .BYT }E "00000000"016910 .BYTE " << 0<<0"016920 .BYTE "0000 "016930 .BYTE ""01694 }0 .BYTE " "016950 .BYTE "<0000 "016960 .BYTE "000"016970 .BYTE "00000 }"016980 .BYTE "0000"016990 .BYTE ""017000 .BYTE " "017010 .BYTE " } "017020 .BYTE "0000<"017030 .BYTE "00"017040 .BYTE "0 "017050 .BYTE " } 000"017060 .BYTE "00000000 "017070 .BYTE ""017080 ; The end!! JSR POINT014610 JSR e10 ; Sir Toot!20 ;30 ; by40 ;50 ; Itay & Nitzan60 ; Chamiel70 ;80 ; (c) 1990-199190 ; Logic ltd.0100 ;01}10 .OPT NOLIST0120 ;0130 *=$A0000140 INITI LDA #00150 STA 5590160 STA 542720170 LDA #1280180 STA 7120190 STA $}D01A0200 LDA #DLIST2/2560210 STA 5610220 STA $D4030230 LDA #DLIST2&2550240 STA 5600250 STA $D4020260 LDA #DLII/}2560270 STA 5130280 LDA #DLII&2550290 STA 5120300 LDA #1920310 STA 542860320 LDX #VBII/2560330 LDY #VBII&25503}40 LDA #60350 JSR SETVBV0360 LDA #340370 STA 5590380 RTS0390 VBII0400 INC TIMER0410 LDA TIMER20420 CLC0430 }ADC #$0F0440 STA TIMER20450 STA $D0160460 JMP SYSVBV0470 TIMER .BYTE 00480 TIMER2 .BYTE 140490 DLII0500 PHA0510 }LDA VCOUNT0520 CLC0530 ADC TIMER20540 STA WSYNC0550 STA $D0180560 PLA0570 RTI0580 DLIST20590 .BYTE "ppppp",70}0600 .WORD LODNG0610 .BYTE "ppppp",77+1280620 .WORD SIRTUT0630 .BYTE "pppp",660640 .WORD ULT0650 .BYTE "p}ppppA"0660 .WORD DLIST20670 LODNG .BYTE "./7,/!$).'"0680 SIRTUT0690 .BYTE ""0700 .BYTE} ""0710 .BYTE ""0720 .BYTE ""0730 .BYTE "}"0740 .BYTE ""0750 .BYTE ""0760 .BYTE ""0770 .BYTE "}"0780 .BYTE ""0790 .BYTE ""0800 .BYTE ""0}810 .BYTE ""0820 .BYTE ""0830 .BYTE ""0840 .BYTE "}"0850 .BYTE ""0860 .BYTE ""0870 .BYTE ""0880 }.BYTE ""1090 ULT .BYTE "4he ultimategraphicsutility"1100 .BYTE "by)tay#hamiel.i}tzan#hamiel"1110 ;1120 *=$2E21130 .WORD INITI1140 ;1150 *=$2E01160 .WORD INIT1170 ;1180 *=$801190 ;1200 X}OLD .BYTE 01210 GR .BYTE 121220 X .BYTE 01230 Y .BYTE 0,01240 COLOR .BYTE 11250 TEMP .BYTE 01260 NUML .BYTE 01270 NUMH} .BYTE 01280 HPOS .BYTE 01290 YOLD .BYTE 01300 MIR .BYTE 0,0,0,0,01310 MEM .BYTE 0,0,0,0,0,0,01320 FLASH .BYTE 11330 SC}LO .BYTE 01340 SCHI .BYTE 01350 CP .BYTE 01360 MEMX .BYTE 0,159,0,1591370 MEMY .BYTE 0,0,191,1911380 ABRUSH .WORD BRADR1}1390 COUNTER .BYTE 01400 SX .BYTE 01410 SY .BYTE 01420 MENUX .BYTE 511430 PRY .BYTE 01440 PRX .BYTE 01450 INV .BYTE 0}1460 MAIN .BYTE 01470 EOR .BYTE 01480 ONOFF .BYTE 01490 WAIT .BYTE 01500 SCLX .BYTE 801510 SCLY .BYTE 951520 ;1530 OPE}N=31540 CLOSE=121550 PLOT=111560 DRAWTO=171570 LOCATE=71580 M0=$93001590 PM0=$94001600 PM1=$95001610 PM2=$96001620 P}M3=$97001630 PM0X=532481640 PM1X=532491650 PM2X=532501660 PM3X=532511670 M0X=532521680 M1X=532531690 M2X=532541700 M3}X=532551710 PM0S=532561720 PM1S=532571730 PM2S=532581740 PM3S=532591750 MISS=532601760 ;1770 WSYNC=$D40A1780 SETVBV=$}E45C1790 SYSVBV=$E45F1800 XITVBV=$E4621810 ICCOM=$3421820 ICBAL=$3441830 ICBAH=$3451840 ICBLL=$3481850 ICBLH=$3491860} ICAX1=$34A1870 ICAX2=$34B1880 CIOV=$E4561890 STICK=6321900 STRIG=6441910 VCOUNT=$D40B1920 ;1930 *=$2C001940 ;1950 }INIT1960 CLD1970 LDA #$3C1980 STA $D3021990 LDX #VBIS/2562000 LDY #VBIS&2552010 LDA #62020 JSR SETVBV2030 RESE}T LDA #32040 STA $092050 LDA #RESET/2562060 STA 32070 LDA #RESET&2552080 STA 22090 LDX #02100 TXS2110 START21}20 LDA #02130 STA X2140 STA Y2150 LDA #VERYEND&2552160 STA 142170 LDA #VERYEND/2562180 STA 152190 LDA #OPEN22}00 LDX #$602210 STA ICCOM,X2220 LDA #1442230 STA 1062240 LDA #SCREEN&2552250 STA ICBAL,X2260 LDA #SCREEN/256227}0 STA ICBAH,X2280 LDA GR2290 STA ICAX1,X2300 LDA #82310 STA ICAX2,X2320 JSR CIOV2330 LDA #442340 STA GR2350 }LDA #02360 STA 5592370 STA $D4002380 LDA 882390 STA SCLO2400 LDA 892410 STA SCHI2420 LDX #PTPRN/2562430 LDY #}PTPRN&2552440 JSR PRINT2450 LDA #152460 STA 7062470 LDX #02480 LDA #142490 CN STA LMS1+2,X2500 STA LMS2+2,X2510} INX2520 CPX #932530 BNE CN2540 STA LMS2+952550 STA LMS2+962560 STA LMS2+972570 LDX #02580 LDA #852590 U STA }LINE1,X2600 STA LINE2,X2610 STA RED2,X2620 INX2630 CPX #402640 BNE U2650 LDA #OPEN2660 LDX #$102670 STA ICCOM},X2680 LDA #KEYOPEN&2552690 STA ICBAL,X2700 LDA #KEYOPEN/2562710 STA ICBAH,X2720 JSR CIOV2730 LDA #02740 TAX27}50 ERPLRS STA M0,X2760 STA PM0,X2770 STA PM1,X2780 STA PM2,X2790 STA PM3,X2800 INX2810 CPX #02820 BNE ERPLRS28}30 LDA #462840 STA M2X2850 LDX #2172860 MISLS LDA #122870 STA M0,X2880 LDA #22890 STA M0-8,X2900 INX2910 CPX }#2252920 BNE MISLS2930 LDA #CHARSET/2562940 STA 7562950 LDA #02960 STA PM0S2970 STA PM1S2980 LDA #32990 STA P}M2S3000 STA PM3S3010 LDA #43020 STA MISS3030 LDA 883040 STA LMS13050 SEC3060 SBC #803070 STA LMS23080 LDA 8}93090 STA LMS1+13100 CLC3110 ADC #153120 STA LMS2+13130 LDA #DLIST&2553140 STA 5603150 LDA #DLIST/2563160 STA} 5613170 LDA #33180 STA 532773190 LDA #$903200 STA 542793210 LDA #DLI&2553220 STA 5123230 LDA #DLI/2563240 ST}A 5133250 LDA #1923260 STA 542863270 LDA #13280 STA 6233290 LDA #83300 STA 7043310 STA 7053320 LDX #VBI/2563}330 LDY #VBI&2553340 LDA #73350 JSR SETVBV3360 LDA #1963370 STA M1X3380 LDA #623390 STA 5593400 LDA #PAINT-1/2}563410 PHA3420 LDA #PAINT-1&2553430 PHA3440 RTS3450 MAINLOOP3460 LDA X3470 LDX STICK3480 CLC3490 ADC MOVX,X}3500 CMP #1603510 BEQ NOX3520 CMP #2553530 BEQ NOX3540 STA X3550 NOX3560 LDA Y3570 CLC3580 ADC MOVY,X3590 C}MP #2553600 BEQ NOY3610 CMP #1923620 BEQ NOY3630 STA Y3640 NOY3650 LDA X3660 STA TEMP3670 LDA #CURSX&2553680 } STA NUML3690 LDA #CURSX/2563700 STA NUMH3710 JSR NUMBERS3720 LDA Y3730 STA TEMP3740 LDA #CURSY&2553750 STA NUM}L3760 LDA #CURSY/2563770 STA NUMH3780 JSR NUMBERS3790 LDA X3800 CLC3810 ADC #453820 STA HPOS3830 LDA MAIN384}0 BEQ NOW3850 W LDA $D40B3860 BNE W3870 NOW LDA YOLD3880 CLC3890 ADC #203900 TAX3910 LDY #03920 TYA3930 LOOP1} STA PM0,X3940 INX3950 INY3960 CPY #103970 BNE LOOP13980 LDA X3990 STA XOLD4000 LDA Y4010 STA YOLD4020 CLC}4030 ADC #204040 TAX4050 LDY #04060 LOOP24070 LDA TABLE,Y4080 STA PM0,X4090 INX4100 INY4110 CPY #94120 BNE }LOOP24130 LDA MAIN4140 BEQ EXIT4150 LDA STRIG4160 BNE NOFIRE4170 RTS4180 NOFIRE4190 LDA 7644200 CMP #2554210 } BEQ NOKEY4220 EXIT RTS4230 NOKEY JMP MAINLOOP4240 PAINT4250 LDX #PTPRN/2564260 LDY #PTPRN&2554270 JSR PRINT4280 PL}OOP4290 LDA #14300 STA MAIN4310 JSR MAINLOOP4320 LDA 7644330 CMP #2554340 BNE GOKEY4350 BAKKEY4360 LDA STRIG4}370 BNE PLOOP4380 LDX X4390 LDY Y4400 LDA COLOR4410 STA CP4420 JSR POINT4430 LDA MIR4440 CMP #04450 BEQ NOMI}R4460 JSR MIRROR4470 NOMIR JMP PLOOP4480 GOKEY JSR KEYCHECK4490 JMP BAKKEY4500 KEYCHECK4510 JSR GET.KEY4520 CMP #3}24530 BCC R14540 CMP #324550 BNE R24560 PLA4570 PLA4580 JMP MENU4590 LDA #2554600 STA 7644610 LDA #04620 }STA M0X4630 R1 RTS4640 R2 CMP #364650 BCC R14660 CMP #404670 BCC R34680 JMP R44690 R3 SEC4700 SBC #364710 TAX}4720 ASL A4730 ASL A4740 ASL A4750 TAY4760 LDA X4770 STA MEMX,X4780 LDA Y4790 STA MEMY,X4800 LDA X4810 STA} TEMP4820 TYA4830 PHA4840 CLC4850 ADC #REMX4&2554860 STA NUML4870 LDA #REMX4/2564880 STA NUMH4890 JSR NUMBERS}4900 LDA Y4910 STA TEMP4920 PLA4930 CLC4940 ADC #REMY4&2554950 STA NUML4960 LDA #REMY4/2564970 STA NUMH4980 } JSR NUMBERS4990 BAK RTS5000 R4 CMP #485010 BCC BAK5020 CMP #525030 BCS R55040 SEC5050 SBC #485060 STA COLOR50}70 ASL A5080 ASL A5090 CLC5100 ADC #1925110 STA M1X5120 RTS5130 R5 CMP #565140 BCS R65150 SEC5160 SBC #525}170 TAX5180 LDA MEMX,X5190 STA X5200 LDA MEMY,X5210 STA Y5220 RTS5230 R6 CMP #1275240 BNE R75250 LDA SY5260 } TAX5270 LDA Y5280 STA SY5290 STX Y5300 LDA X5310 TAX5320 LDA SX5330 STA X5340 STX SX5350 JMP R115360 R7 C}MP #1555370 BNE R85380 LDA #05390 STA PM1X5400 STA SX5410 STA SY5420 LDA #05430 TAX5440 DEL STA PM1,X5450 IN}X5460 CPX #05470 BNE DEL5480 RTS5490 R11 LDA #05500 TAX5510 R9 STA PM1,X5520 INX5530 CPX #05540 BNE R95550 }LDA SX5560 CLC5570 ADC #455580 STA PM1X5590 LDA SY5600 CLC5610 ADC #205620 TAX5630 LDY #05640 R10 LDA TABLE,}Y5650 STA PM1,X5660 INX5670 INY5680 CPY #95690 BNE R105700 R8 RTS5710 SCALE5720 LDX #SPRN/2565730 LDY #SPRN&2}555740 JSR PRINT5750 JMP CH.ONOFF5760 GET.S5770 LDA STRIG5780 BEQ FIRE15790 LDA STICK5800 CMP #75810 BEQ MRIGH}T5820 CMP #115830 BEQ MLEFT5840 CMP #135850 BEQ MDOWN5860 CMP #145870 BEQ MUP5880 LDA 7645890 CMP #2555900 }BEQ GET.S5910 JSR GET.KEY5920 CMP #435930 BEQ MLEFT5940 CMP #425950 BEQ MRIGHT5960 CMP #455970 BEQ MUP5980 CM}P #615990 BEQ MDOWN6000 CMP #326010 BNE GET.S6020 JMP MENU6030 MLEFT LDA SCLX6040 CMP #26050 BEQ GET.S6060 DEC} SCLX6070 JSR CH.SX6080 JMP GET.S6090 MRIGHT LDA SCLX6100 CMP #806110 BEQ GET.S6120 INC SCLX6130 JSR CH.SX6140 } JMP GET.S6150 MDOWN LDA SCLY6160 CMP #966170 BEQ GET.S6180 INC SCLY6190 JSR CH.SY6200 JMP GET.S6210 MUP LDA SCLY}6220 CMP #26230 BEQ GET.S6240 DEC SCLY6250 JSR CH.SY6260 JMP GET.S6270 FIRE1 LDA STRIG6280 BEQ FIRE16290 INC O}NOFF6300 LDA ONOFF6310 AND #16320 STA ONOFF6330 JMP CH.ONOFF6340 CH.SX6350 LDA SCLX6360 STA TEMP6370 LDA #SCXP}R/2566380 STA NUMH6390 LDA #SCXPR&2556400 STA NUML6410 JSR NUMBERS6420 PUTXWAIT LDA VCOUNT6430 BNE PUTXWAIT6440 }JSR PUTX6450 RTS6460 CH.SY6470 LDA SCLY6480 STA TEMP6490 LDA #SCYPR/2566500 STA NUMH6510 LDA #SCYPR&2556520 ST}A NUML6530 JSR NUMBERS6540 PUTYWAIT LDA VCOUNT6550 CMP #$606560 BNE PUTYWAIT6570 JSR PUTY6580 RTS6590 CH.ONOFF66}00 JSR CH.SX6610 JSR CH.SY6620 LDX #06630 LDA ONOFF6640 BEQ PROFF6650 PRON LDA ON,X6660 STA PRONOFF,X6670 INX6}680 CPX #66690 BNE PRON6700 JMP GET.S6710 PROFF LDA OFF,X6720 STA PRONOFF,X6730 INX6740 CPX #66750 BNE PROFF67}60 JMP GET.S6770 PUTX LDA #06780 TAX6790 DELINE STA SCALINE,X6800 INX6810 CPX #406820 BNE DELINE6830 BNE PUTXWAI}T6840 LDA ONOFF6850 BEQ PUTXIT6860 LDA 896870 PHA6880 LDA 886890 PHA6900 LDA #SCALINE/2566910 STA 896920 ST}A SCHI6930 LDA #SCALINE&2556940 STA 886950 STA SCLO6960 LDA #06970 STA WAIT6980 PUTXLOOP6990 LDX WAIT7000 LDY }#07010 LDA #17020 STA CP7030 JSR POINT7040 LDA WAIT7050 CLC7060 ADC SCLX7070 STA WAIT7080 CMP #1607090 BCC }PUTXLOOP7100 PLA7110 STA 887120 PLA7130 STA 897140 PUTXIT7150 RTS7160 PUTY7170 LDX #247180 YERA LDA M0,X7190 } AND #2077200 STA M0,X7210 INX7220 CPX #2167230 BNE YERA7240 LDA ONOFF7250 BEQ PUTYEXIT7260 LDX #247270 STX W}AIT7280 PUTYLOOP LDX WAIT7290 LDA M0,X7300 CLC7310 ADC #167320 STA M0,X7330 LDA WAIT7340 CLC7350 ADC SCLY7360} STA WAIT7370 BCS PUTYEXIT7380 CMP #2167390 BCC PUTYLOOP7400 PUTYEXIT7410 RTS7420 CLEAR7430 LDX #CLPRN/2567440 } LDY #CLPRN&2557450 JSR PRINT7460 CWAIT LDA STRIG7470 BEQ SMENU7480 LDA 7647490 CMP #2557500 BEQ CWAIT7510 JSR G}ET.KEY7520 CMP #897530 BNE GMENU7540 JSR CLR7550 SMENU LDA STRIG7560 BEQ SMENU7570 GMENU JMP MENU7580 CLR LDA $E41}77590 PHA7600 LDA $E4167610 PHA7620 LDA #1257630 RTS7640 PRINT STY PRY7650 STX PRX7660 LDY #07670 PRLOOP LDA }(PRY),Y7680 CMP #1287690 BCC P17700 LDX #17710 STX INV7720 JMP P27730 P1 LDX #07740 STX INV7750 P2 AND #127776}0 CMP #967770 BCS OKAY7780 CMP #327790 BCS SMALL7800 CLC7810 ADC #647820 OKAY7830 LDX INV7840 BEQ OKAY27850 } CLC7860 ADC #1287870 OKAY2 STA DUMMY,Y7880 INY7890 CPY #417900 BNE PRLOOP7910 LDA #DUMMY/2567920 STA PRCHANGE+1}7930 LDA #DUMMY&2557940 STA PRCHANGE7950 RTS7960 SMALL SEC7970 SBC #327980 JMP OKAY7990 MENU8000 LDA #08010 S}TA HPOS8020 STA PM1X8030 LDX #MNPRN/2568040 LDY #MNPRN&2558050 JSR PRINT8060 LDA MENUX8070 STA M0X8080 ZERO8090} LDY #08100 GSTICK8110 LDX VCOUNT8120 BNE GSTICK8130 LDA MENUX8140 CMP #1358150 BCC NOMORE8160 EXTRA8170 LDX V}COUNT8180 CPX #$828190 BNE EXTRA8200 NOMORE8210 LDX STICK8220 CPX #118230 BNE RIGHT8240 LDY #2558250 RIGHT8260} CPX #78270 BNE MOVE8280 LDY #18290 MOVE8300 LDA #2558310 STA 7648320 TYA8330 CLC8340 ADC MENUX8350 CMP #50}8360 BEQ ZERO8370 CMP #1628380 BEQ ZERO8390 STA MENUX8400 STA M0X8410 LDX #2558420 CHKPLC8430 INX8440 LDA ST}OP.TABL,X8450 CMP MENUX8460 BEQ STOP8470 CPX #178480 BNE CHKPLC8490 JMP GSTICK8500 STOP8510 LDA MENUX8520 STA }M0X8530 EXTRA2 LDA VCOUNT8540 CMP #$828550 BNE EXTRA28560 LDA STRIG8570 BNE ZERO8580 FIRE8590 LDA STRIG8600 BEQ} FIRE8610 TXA8620 ASL A8630 TAX8640 LDA TBJMP+1,X8650 PHA8660 LDA TBJMP,X8670 PHA8680 LDA #08690 STA M0X87}00 RTS8710 DLI1 PHA8720 STA $D40A8730 LDA 7088740 STA $D0168750 LDA 7128760 STA $D01A8770 LDA #DLI/2568780 ST}A 5138790 LDA #DLI&2558800 STA 5128810 PLA8820 RTI8830 DLI PHA8840 STA $D40A8850 LDA #508860 STA $D0168870 L}DA #2558880 STA $D0188890 LDA #408900 STA $D0198910 LDA #08920 STA $D01A8930 LDA #1288940 STA $D0148950 STA $}D0158960 LDA #1488970 STA $D0138980 LDA #48990 STA $D01B9000 PLA9010 RTI9020 VBI9030 INC 7049040 LDA FLASH9}050 BNE PON9060 LDA #09070 STA PM0X9080 LDA #19090 STA FLASH9100 JMP VEXIT9110 PON9120 LDA #09130 STA FLASH9}140 LDA HPOS9150 STA PM0X9160 VEXIT9170 LDA MAIN9180 CMP #29190 BNE BYE9200 INC 7069210 BYE LDA #DLI1/2569220 }STA 5139230 LDA #DLI1&2559240 STA 5129250 LDA #159260 STA $D0169270 LDA #09280 STA $D01A9290 JMP XITVBV9300 GP}LRET9310 JMP PLRET9320 POINT9330 CPX #1609340 BCS GPLRET9350 CPY #1929360 BCS GPLRET9370 LDA #09380 STA Y+193}90 LDA Y9400 ASL A9410 ROL Y+19420 ASL A9430 ROL Y+19440 ADC Y9450 BCC CLEAR19460 INC Y+19470 CLEAR1 ASL A94}80 ROL Y+19490 ASL A9500 ROL Y+19510 ASL A9520 ROL Y+19530 ADC SCLO9540 BCC CLEAR29550 INC Y+19560 CLEAR2 STA} SCLO9570 LDA X9580 TAX9590 LSR A9600 LSR A9610 CLC9620 ADC SCLO9630 BCC CLEAR39640 INC Y+19650 CLEAR3 STA S}CLO9660 LDA SCHI9670 CLC9680 ADC Y+19690 STA SCHI9700 TXA9710 AND #39720 EOR #39730 TAY9740 LDA CP9750 AN}D #39760 LDX #2529770 CPY #09780 BEQ EN9790 LDX #2439800 ASL A9810 ASL A9820 DEY9830 BEQ EN9840 LDX #20798}50 ASL A9860 ASL A9870 DEY9880 BEQ EN9890 LDX #639900 ASL A9910 ASL A9920 DEY9930 EN9940 STA NUMH9950 STX} NUML9960 LDA (SCLO),Y9970 LDX EOR9980 BNE EORPLOT9990 AND NUML010000 CLC010010 ADC NUMH010020 PBAK STA (SCLO),Y}010030 PLRET010040 LDA 88010050 STA SCLO010060 LDA 89010070 STA SCHI010080 RTS010090 EORPLOT010100 EOR NUML010}110 EOR #255010120 JMP PBAK010130 GET.KEY010140 LDA $E425010150 PHA010160 LDA $E424010170 PHA010180 RTS010190 }NUMBERS010200 LDA TEMP010210 CMP #100010220 BCC NOHD010230 SEC010240 SBC #100010250 STA TEMP010260 LDA #170102}70 LDY #0010280 STA (NUML),Y010290 JMP CHKTEN010300 NOHD010310 LDA #16010320 LDY #0010330 STA (NUML),Y010340 CHK}TEN010350 LDA #0010360 STA SCLO010370 TENS010380 LDA TEMP010390 CMP #10010400 BCC NOTEN010410 SEC010420 SBC #1 }0010430 STA TEMP010440 INC SCLO010450 JMP TENS010460 NOTEN010470 LDA SCLO010480 CLC010490 ADC #16010500 LDY #1 }010510 STA (NUML),Y010520 LDA TEMP010530 CLC010540 ADC #16010550 LDY #2010560 STA (NUML),Y010570 LDA 88010580  } STA SCLO010590 LDA 89010600 STA SCHI010610 RTS010620 MIRROR010630 LDX X010640 STX MEM+1010650 LDY Y010660 STY } MEM+2010670 LDA MIR+1010680 BEQ CH2010690 JSR CH2010700 LDA #159010710 SEC010720 SBC X010730 STA MEM+1010740  } LDY Y010750 STY MEM+2010760 TAX010770 JSR POINT010780 JSR CH2010790 RTS010800 CH2010810 LDX MEM+1010820 STX M}EM+3010830 LDY MEM+2010840 STY MEM+4010850 LDA MIR+2010860 BNE CH3010870 JSR CH3010880 LDA #191010890 SEC01090}0 SBC MEM+2010910 STA MEM+4010920 LDX MEM+1010930 STX MEM+3010940 TAY010950 JSR POINT010960 JSR CH3010970 RTS}010980 CH3010990 LDX MEM+3011000 STX MEM+5011010 LDY MEM+4011020 STY MEM+6011030 LDA MIR+3011040 BEQ CH4011050 }JSR CH4011060 LDA #159011070 SEC011080 SBC MEM+4011090 STA MEM+5011100 TAX011110 LDA #191011120 SEC011130 SBC} MEM+3011140 STA MEM+6011150 TAY011160 JSR POINT011170 JSR CH4011180 RTS011190 CH4011200 LDA MIR+4011210 BEQ R}ET2011220 LDY MEM+5011230 LDX MEM+6011240 JSR POINT011250 RET2011260 RTS011270 BRUSH011280 LDA Y011290 PHA0113}00 DEC Y011310 DEC Y011320 DEC Y011330 LDA X011340 PHA011350 DEC X011360 DEC X011370 DEC X011380 LDA X01139}0 PHA011400 LDA #0011410 STA COUNTER011420 READ LDY COUNTER011430 LDA (ABRUSH),Y011440 TAX011450 BEQ RET011460 }DEX011470 BEQ YP011480 DEX011490 BEQ NOPL011500 DEX011510 TXA011520 CLC011530 ADC COLOR011540 STA CP011550 }LDX X011560 LDY Y011570 JSR POINT011580 LDX MIR011590 BEQ NOPL011600 JSR MIRROR011610 NOPL INC X011620 JMP INCR}011630 YP INC Y011640 PLA011650 STA X011660 PHA011670 INCR INC COUNTER011680 BNE READ011690 RET PLA011700 PLA011}710 STA X011720 PLA011730 STA Y011740 RTS011750 LINE1011760 *=*+80011770 LINE2=*-40011780 .BYTE ""011790 REMX4} .BYTE " "011800 REMY4 .BYTE " "011810 .BYTE "  "011820 CURSX .BYTE " "011830 CURSY .BYTE} ""011840 RED2 *=*+40011850 TABLE .BYTE "("011860 MOVX .BYTE "("011870 MOVY .BYTE ""0118}80 MNPRN .BYTE "PTCIFLWRBR"011890 .BYTE "OO}?C 0123"011900 PTPRN .BYTE "PAINT:  "011910 .BYTE "}[TAB][RET](SHIFT)4567"011920 .BYTE " 0123"011930 LNPRN .BYTE "LINE: #1, #2"011940 .BYTE " T "0119}50 .BYTE "0123"011960 CIPRN011970 .BYTE "CIRCLE: "011980 .BYTE " 0123"011990 REPRN012000 }.BYTE "RECTANGLE: corner #1,"012010 .BYTE " corner #2 0123"012020 FLPRN012030 .BYTE "FILL: -Fill A R"012040 } .BYTE " 0123"012050 GRPRN012060 .BYTE "GRAPHICS EDITOR:box "012070 .BYTE "M U L 0123"012080 WRP!}RN012090 .BYTE "WRITE:-BEG/END "012100 .BYTE "slow fast 0123"012110 MGPRN012120 .BYTE "MAGNIFY:  F"} "012130 .BYTE " 0123"012140 BRPRN012150 .BYTE "BRUSH: Choose brush: "012160 .BYTE " 0123"#}012170 MIPRN012180 .BYTE "MIRROR: Choose mirror: "012190 .BYTE " ‡ Ē 0123"012200 OOPRN012210 .BYTE "OOPS: - $}ίOFF "012220 .BYTE " 0123"012230 SPRN012240 .BYTE "SCALE: ίOFF X-? "012250 .BYTE "Y-? %} 0123"012260 ON .BYTE "/."012270 OFF .BYTE "/&&"012280 CLPRN012290 .BYTE "CLEAR: YN "012300 .BYT&}E " 0123"012310 DPRN012320 .BYTE "DISK: S L K"012330 .BYTE " D 0123"012340 DLOAD .B'}YTE "LOAD : "012350 .BYTE " 0123"012360 DSAVE .BYTE "SAVE : "012370 .BYTE " (} 0123"012380 QUPRN012390 .BYTE "HELP:  "012400 .BYTE " -exit 0123"012410 IPRN012420 )}.BYTE " -- SIR-"012430 .BYTE "TOOT -- "012440 CPRN012450 .BYTE "COLOR CHART:  "012460 .B*}YTE "Ctrl-D (Shift-)0123"012470 EPRN012480 .BYTE "BRUSH EDITOR:  "012490 .BYTE " E 0123"012500 STOP.+}TABL012510 .BYTE 51,59,67,75,83,91012520 .BYTE 99,107,115,123,131,137012530 .BYTE 141,145,149,153,157,161012540 .BYTE,} 165012550 VBIS JMP SYSVBV012560 SCREEN .BYTE "S"012570 KEYOPEN .BYTE "K"012580 VERYEND012590 DUMMY012600 FNAME=DUMMY+4-}5012610 PRONOFF=DUMMY+7012620 SCXPR=DUMMY+16012630 SCYPR=DUMMY+22012640 BRADR1=DUMMY+60012650 BRADR2=BRADR1+60012660 BR.}ADR3=BRADR2+60012670 *=$600012680 DLIST .BYTE "p",$60,""012690 .WORD SCALINE012700 .BYTE "N"012710 LMS1 .BYTE ""0/}12720 *=*+93012730 .BYTE "N"012740 LMS2 .BYTE ""012750 *=*+96012760 .BYTE "N"012770 .WORD LINE1012780 .BYTE "D0}"012790 PRCHANGE .WORD PTPRN012800 .BYTE "N"012810 .WORD LINE2012820 .BYTE "A"012830 .WORD DLIST012840 SCALINE01;}10 ; Sir Toot! (WORK PART-SIR1.ASY)20 ;30 ; by40 ;50 ; Itay & Nitzan60 ; Chamiel70 ;80 ; (c) 1990-199190 ; R}/ԩЩ1ԩb0ԩRԢ> \"/`PQiQL_H mQ ԍh@pppppFppppp͟3}ppppB/pppppAb./7'7!$).,4}5}6}4he ultimategraphicsutilityby)tay#hamiel7}.itzan#hamiel, 73P_,l3ة<Ӣ7 \ ,8}7`BjD7EJK V,/ԥXY4T 0h]Um333(B9}D7E V.Т٩ <Ѝ Щ Ѝ Щ ХX8PfYig01Щ:}ԩd1ԩo1 \čЩ>/-HH`x}4ɠ}4ޅ3 \2ⅇ3 \2i-M}2850 *=$3C00012860 CHARSET012870 .BYTE "00000"012880 .BYTE ""012890 .BYTE "0 0 00<}"012900 .BYTE "00000"012910 .BYTE " 0000 0 0"012920 .BYTE "00000"012930 .BYTE "00=}"012940 .BYTE "00 00"012950 .BYTE "000"012960 .BYTE " "012970 .BYTE ">} "012980 .BYTE " 000"012990 .BYTE " "013000 .BYTE "00000000"013010 .?}BYTE " << "013020 .BYTE "<< <00"013030 .BYTE "0"013040 .BYTE ""01@}3050 .BYTE ""013060 .BYTE ""013070 .BYTE "0000"013080 .BYTE " A}"013090 .BYTE ""013100 .BYTE ""013110 .BYTE " "013120 .BYTE "B} "013130 .BYTE "00000"013140 .BYTE "00"013150 .BYTE "00000"013160 .BYTE C}" 0<0000<"013170 .BYTE "00 < <"013180 .BYTE "0"013190 .BYTE "0000??000"013200 D} .BYTE "000"013210 .BYTE "000000000"013220 .BYTE " 0000 "013230 .BYTE "??"E}013240 .BYTE ""013250 .BYTE ""013260 .BYTE ""013270 .BYTE "000F}??000"013280 .BYTE "000000"013290 .BYTE "00"013300 .BYTE "000"013310 .BYTE "000G}"013320 .BYTE "000??0<"013330 .BYTE "00000000"013340 .BYTE " << 0<<0"013350 .BYTH}E "0000 "013360 .BYTE ""013370 .BYTE " "013380 .BYTE "<0000 "01339I}0 .BYTE "000"013400 .BYTE "00000"013410 .BYTE "0000"013420 .BYTE "J}"013430 .BYTE " "013440 .BYTE " "013450 .BYTE "0000<"013460 .BYTE "00K}"013470 .BYTE "0 "013480 .BYTE " 000"013490 .BYTE "00000000 "013500 .BYTE "L}"013510 TBJMP013520 ; The end!! .BYTE " 000"013490 .BYTE "00000000 "013500 .BYTE "0 i i 4 ``LS-4T 0 S- 1 2L-N} .L- S2  hhL0`$(Lv.8$ Hi3 \2hi…3 \2`0480 i`8 84O}`L.ɛ<Ѕ`i-Хi 4 `6 0L/lx; P}) AK S2+*-5=# L0ư /L/P /L/` /L/Ʊ /L/殥)L/7Q} \2 /`7 \2 ` 0` / /467L/:67L/(Ш2YHXHYׅX} Logic ltd.0100 ;0110 .OPT NOLIST0120 ;0121 *=5800122 .BYTE 00123 ;0130 *=$800140 ;0150 XOLD .BYTE 00160 GR .BYS}TE 120170 X .BYTE 00180 Y .BYTE 0,00190 COLOR .BYTE 10200 TEMP .BYTE 00210 NUML .BYTE 00220 NUMH .BYTE 00230 HPOS .BYTT}E 00240 YOLD .BYTE 00250 MIR .BYTE 0,0,0,0,00260 MEM .BYTE 0,0,0,0,0,0,00270 FLASH .BYTE 10280 SCLO .BYTE 00290 SCHI .BU}YTE 00300 CP .BYTE 00310 MEMX .BYTE 0,159,0,1590320 MEMY .BYTE 0,0,191,1910330 ABRUSH .WORD BRADR10340 COUNTER .BYTE 00V}350 SX .BYTE 00360 SY .BYTE 00370 MENUX .BYTE 510380 PRY .BYTE 00390 PRX .BYTE 00400 INV .BYTE 00410 MAIN .BYTE 00420 W}EOR .BYTE 00430 ONOFF .BYTE 00440 WAIT .BYTE 00450 SCLX .BYTE 800460 SCLY .BYTE 950470 SL .BYTE 00480 CT .BYTE 00490 DX}RX .BYTE 00500 DRY .BYTE 00510 ADX .BYTE 00520 ADY .BYTE 00530 DLX .BYTE 00540 DLY .BYTE 00550 ;0560 OPEN=30570 CLOSEY}=120580 LOCATE=70590 M0=$93000600 PM0=$94000610 PM1=$95000620 PM2=$96000630 PM3=$97000640 PM0X=532480650 PM1X=532490Z}660 PM2X=532500670 PM3X=532510680 M0X=532520690 M1X=532530700 M2X=532540710 M3X=532550720 PM0S=532560730 PM1S=5325707[}40 PM2S=532580750 PM3S=532590760 MISS=532600770 ;0780 SETVBV=$E45C0790 XITVBV=$E4620800 ICCOM=$3420810 ICBAL=$3440820\} ICBAH=$3450830 ICBLL=$3480840 ICBLH=$3490850 ICAX1=$34A0860 ICAX2=$34B0870 CIOV=$E4560880 STICK=6320890 STRIG=644090]}0 VCOUNT=$D40B0910 ;0920 ; Variables from main program0930 ;0940 MAINLOOP=$2D47+120950 PAINT=$2DD9+120960 KEYCHECK=$2E1^}0+120970 SCALE=$2EEB+120980 CLEAR=$3044+120990 PRINT=$3074+121000 MENU=$30B8+121010 POINT=$31C3+121020 GET.KEY=$3251+2_}1030 NUMBERS=$325A+21040 MIRROR=$32A3+21050 BRUSH=$3319+21060 ;1070 LNPRN=$347A+21080 CIPRN=$34A2+21090 REPRN=$34CA+21`}100 FLPRN=$34F2+21110 GRPRN=$351A+21120 WRPRN=$3542+21130 MGPRN=$356A+21140 BRPRN=$3592+21150 MIPRN=$35BA+21160 OOPRN=$a}35E2+21170 DPRN=$3666+21180 DLOAD=$368E+21190 DSAVE=$36B6+21200 QUPRN=$36DE+21210 IPRN=$3706+21220 CPRN=$372E+21230 EPb}RN=$3756+21240 BRADR1=$37CF+21250 BRADR2=$38DB+21260 BRADR3=$3847+21270 DUMMY=$3789+21280 FNAME=$37B6+21290 ;1300 *=$c}40001310 TBJMP1320 .WORD PAINT-1,LINE-1,CIRCLE-11330 .WORD RECT-1,FILL-1,GRED-11340 .WORD WRITE-1,MAGNIFY-11350 .WORd}D CHBRUSH-1,CHMIRRORS-11360 .WORD OOPS-1,SCALE-1,CLEAR-11370 .WORD DISK-1,HELP-1,INSTRUCT-11380 .WORD COLORS-1,BREDIT-1e}1390 RECT LDX #REPRN/2561400 LDY #REPRN&2551410 JSR PRINT1420 RLOOP1430 LDA #11440 STA MAIN1450 JSR MAINLOOP1460f} LDA 7641470 CMP #2551480 BEQ PRE1490 JSR KEYCHECK1500 JMP RLOOP1510 PRE LDA STRIG1520 BEQ PRE1530 LDX X1540 g}STX PRX1550 LDY Y1560 STY PRY1570 LDX #01580 STX MAIN1590 INX1600 STX EOR1610 RLOOP2 JSR MAINLOOP1620 LDA X16h}30 STA SX1640 LDA Y1650 STA SY1660 JSR XDRAWTO1670 JSR YDRAWTO1680 JSR XDRAWTO1690 JSR YDRAWTO1700 LDA SX1710i} STA X1720 LDA SY1730 STA Y1740 LDA 7641750 CMP #2551760 BNE KCHEK1770 LDA STRIG1780 BNE RLOOP21790 FIRE LDA j}STRIG1800 BEQ FIRE1810 LDA #01820 STA EOR1830 LDA COLOR1840 STA CP1850 JSR XDRAWTO1860 JSR YDRAWTO1870 LDA PRk}X1880 STA X1890 LDA PRY1900 STA Y1910 JSR POINT1920 LDA SX1930 STA X1940 LDA SY1950 STA Y1960 JMP RLOOP197l}0 KCHEK JSR GET.KEY1980 CMP #321990 BEQ CANCEL2000 JMP RLOOP22010 CANCEL LDA PRX2020 STA X2030 LDA PRY2040 STA Ym}2050 JMP RLOOP2060 DISK2070 LDA #7 NOT OPERATIONAL2080 STA ICCOM+$202090 LDA 892100 STA ICBAH+$202110 LDn}A 882120 STA ICBAL+$202130 LDA #7680/2562140 STA ICBLH+$202150 LDA #7680&2552160 STA ICBLL+$202170 JSR CIOV2180 o} LDX #$202190 LDA #72200 STA ICCOM+$202210 LDA #708/2562220 STA ICBAH+$202230 LDA #708&2552240 STA ICBAL+$202250p} LDA #02260 STA ICBLH+$202270 LDA #52280 STA ICBLL+$202290 JSR CIOV2300 LDX #$202310 LDA #CLOSE2320 STA ICCOM+q}$202330 JSR CIOV2340 JMP DISK2350 SAVE LDX #DSAVE/2562360 LDY #DSAVE&2552370 JSR PRINT2380 JSR PROMPT2390 LDX #$r}202400 LDA #OPEN2410 STA ICCOM+$202420 LDA #FNAME/2562430 STA ICBAH+$202440 LDA #FNAME&2552450 STA ICBAL+$202460s} LDA #82470 STA ICAX1+$202480 JSR CIOV2490 LDX #$202500 LDA #112510 STA ICCOM+$202520 LDA 892530 STA ICBAH+$20t}2540 LDA 882550 STA ICBAL+$202560 LDA #7680/2562570 STA ICBLH+$202580 LDA #7680&2552590 STA ICBLL+$202600 JSR Cu}IOV2610 LDX #$202620 LDA #112630 STA ICCOM+$202640 LDA #708/2562650 STA ICBAH+$202660 LDA #708&2552670 STA ICBAv}L+$202680 LDA #02690 STA ICBLH+$202700 LDA #52710 STA ICBLL+$202720 JSR CIOV2730 LDX #$202740 LDA #CLOSE2750 w}STA ICCOM+$202760 JSR CIOV2770 JMP DISK2780 PROMPT LDA #62790 STA PRX2800 GETK LDX PRX2810 LDA #95-322820 STA DUMx}MY,X2830 GETK1 JSR GET.KEY2840 CMP #1552850 BEQ RETURN2860 CMP #1262870 BEQ DELETE2880 CMP #482890 BCC GETK1290y}0 CMP #912910 BCS GETK12920 CMP #582930 BCS WELL2940 BAKWELL2950 SEC2960 SBC #322970 LDX PRX2980 STA DUMMY,Xz}2990 INC PRX3000 LDA PRX3010 CMP #143020 BNE GETK3030 DEC PRX3040 JMP GETK13050 WELL CMP #653060 BCS BAKWELL30{}70 JMP GETK13080 RETURN LDX PRX3090 LDA #03100 CPX #143110 BEQ NOT.NOCURSOR3120 LDA #03130 STA DUMMY,X3140 NOT.N|}OCURSOR INX3150 LDA #03160 STA DUMMY3170 STA DUMMY+13180 STA DUMMY+23190 STA DUMMY+33200 STA DUMMY+43210 LDA #6}}8-323220 STA DUMMY+53230 LDA #46-323240 STA DUMMY,X3250 LDA #84-323260 STA DUMMY+1,X3270 STA DUMMY+3,X3280 LDA ~}#85-323290 STA DUMMY+2,X3300 LDX #43310 RETLOOP LDA DUMMY,X3320 CLC3330 ADC #323340 STA FNAME-4,X3350 INX3360 }CPX #183370 BNE RETLOOP3380 RTS3390 DELETE LDX PRX3400 LDA #03410 STA DUMMY,X3420 DEX3430 CPX #53440 BEQ BACKH}3450 STX PRX3460 LDA #95-323470 STA DUMMY,X3480 JMP GETK13490 BACKH PLA3500 PLA3510 JMP DISK3520 DRAWTO3530 L}DX #03540 STX CT3550 INX3560 STX ADX3570 STX ADY3580 LDA DRY3590 SEC3600 SBC Y3610 BCS SKIP13620 DEC ADY36}DD 73P_@C-C#@.O0@4 0 S-}30 DEC ADY3640 LDA Y3650 SEC3660 SBC DRY3670 SKIP1 STA DLY3680 LDA DRX3690 SEC3700 SBC X3710 BCS SKIP23720 }DEC ADX3730 DEC ADX3740 LDA X3750 SEC3760 SBC DRX3770 SKIP2 STA DLX3780 CMP DLY3790 BCS XLINE3800 LDA DLY3810} LSR A3820 STA SL3830 LOOPY3840 JSR POINT3850 LDA DLY3860 CMP CT3870 BEQ END3880 LDA Y3890 CLC3900 ADC ADY}3910 STA Y3920 INC CT3930 LDA SL3940 CLC3950 ADC DLX3960 STA SL3970 BCS FIXY3980 LDA SL3990 CMP DLY4000 BC}C LOOPY4010 LDA SL4020 FIXY SEC4030 SBC DLY4040 STA SL4050 LDA X4060 CLC4070 ADC ADX4080 STA X4090 JMP LOOPY}4100 XLINE LDA DLX4110 LSR A4120 STA SL4130 LOOPX JSR POINT4140 LDA DLX4150 CMP CT4160 BEQ END4170 LDA X4180 }CLC4190 ADC ADX4200 STA X4210 INC CT4220 LDA SL4230 CLC4240 ADC DLY4250 STA SL4260 BCS FIXX4270 LDA SL4280} CMP DLX4290 BCC LOOPX4300 LDA SL4310 FIXX SEC4320 SBC DLX4330 STA SL4340 LDA Y4350 CLC4360 ADC ADY4370 STA} Y4380 JMP LOOPX4390 END RTS4400 XDRAWTO4410 LDA SX4420 STA X4430 LDA #14440 STA ADX4450 LDA PRX4460 CMP X44}70 BEQ LEND4480 BCS XLREC4490 DEC ADX4500 DEC ADX4510 XLREC4520 LDA X4530 CLC4540 ADC ADX4550 STA X4560 LDA} SY4570 STA Y4580 JSR POINT4590 LDA PRY4600 STA Y4610 JSR POINT4620 LDA PRX4630 CMP X4640 BNE XLREC4650 LEND} RTS4660 YDRAWTO4670 LDA SY4680 STA Y4690 LDA #14700 STA ADY4710 LDA PRY4720 CMP Y4730 BEQ LEND4740 BCS YLRE}C4750 DEC ADY4760 DEC ADY4770 YLREC4780 LDA Y4790 CLC4800 ADC ADY4810 STA Y4820 LDA SX4830 STA X4840 JSR P}OINT4850 LDA PRX4860 STA X4870 JSR POINT4880 LDA PRY4890 CMP Y4900 BNE YLREC4910 RTS4920 LINE LDX #LNPRN/2564}930 LDY #LNPRN&2554940 JSR PRINT4950 LNLOOP4960 LDA #14970 STA MAIN4980 JSR MAINLOOP4990 LDA 7645000 CMP #2555}010 BEQ LNST5020 JSR KEYCHECK5030 JMP LNLOOP5040 LNST LDA STRIG5050 BEQ LNST5060 LDX X5070 STX DRX5080 LDY Y50}90 STY DRY5100 LDX #05110 STX MAIN5120 INX5130 STX EOR5140 LNLOOP2 JSR MAINLOOP5150 LDA X5160 STA SX5170 LDA }Y5180 STA SY5190 JSR DRAWTO5200 LDA SX5210 STA X5220 LDA SY5230 STA Y5240 JSR DRAWTO5250 LDA SX5260 STA X5}270 LDA SY5280 STA Y5290 LDA 7645300 CMP #2555310 BNE KCHEL5320 LDA STRIG5330 BNE LNLOOP25340 FIRL LDA STRIG53}50 BEQ FIRL5360 LDA #05370 STA EOR5380 LDA COLOR5390 STA CP5400 JSR DRAWTO5410 LDA SX5420 STA X5430 LDA SY5}440 STA Y5450 JMP LNLOOP5460 KCHEL JSR GET.KEY5470 CMP #325480 BEQ CANCELL5490 JMP LNLOOP25500 CANCELL LDA DRX551}0 STA X5520 LDA DRY5530 STA Y5540 JMP LNLOOP470 CMP #325480 BEQ CANCELL5490 JMP LNLOOP25500 CANCELL LDA DRX5514 .L+@膭 S- B B B B.խ B B 1L+@ S2 LS@}L+@bYeXdih V bečdih V b VL@6 0 oA b7edj V b}YeXdih V bečdih V b VL@?7 S2ɛ,~o0[:8 7檥ƪLzAAL}zA777777$77477577i 7`7 ?7LzAhhL@膶8僰 ƷƷ8} Y4380 JMP LOOPX4390 END RTS4400 XDRAWTO4410 LDA SX4420 STA X4430 LDA #14440 STA ADX4450 LDA PRX4460 CMP X44}eL|B`ł!ƶƶe 1 1ł`ŃƷƷe 1 1Ń`4| 0 S-} SY4570 STA Y4580 JSR POINT4590 LDA PRY4600 STA Y4610 JSR POINT4620 LDA PRX4630 CMP X4640 BNE XLREC4650 LEND} 1eɠhXhY`)ϝieؐ`6@ 0 S2Y u0L0HH}`}ɀL0)` i@i7)ө7`8 L0Т4, 0Р ɇ x e}2ɢ̅Т轀7ŨL0Э ɂХ @H@H`H ԭЭЩ1dh@H ԩ2ЩЩ(ЩЩ}ЩЩh@ ЩL1Х1HЩLbLC2࠰ & &e & & &e愅J}Je愅e)I) ? %eXY`EILA2%H$H`d8dLv2} 8 Lz2iiXY` 28傅 1 2` 28咅 1 2` 3}8唅8哅 1 3` 1`HƃƃƃHƂƂƂH*ʊe 1 2La3hHhhh`33}      47((PTCIFLWRBROO}?C 0123PAINT:  [}TAB][RET](SHIFT)4567 0123LINE: #1, #2 T 0123CIRCLE: 0123RECTANGLE: corner} #1, corner #2 0123FILL: -Fill A R 0123GRAPHICS EDITOR:box M U L 0123WRITE:-BEG/END slo}w fast 0123MAGNIFY:  F 0123BRUSH: Choose brush: 0123MIRROR: Choose mirror: ‡ } Ē 0123OOPS: - ίOFF 0123SCALE: ίOFF X-? Y-? 0123/./&&CLEAR: YN } 0123DISK: S L K D 0123LOAD : 0123SAVE : } 0123HELP:  -exit 0123 -- SIR-TOOT -- COLOR CHART:  Ctrl-D (Shi}ft-)0123BRUSH EDITOR:  E 01233;CKS[cks{L_SKp`NegNNm3DT4N3A