#@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`  `8  ɐ     `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.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8: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 ALLOWED228 FREE SECTORS COPYING---D1:DISKFIX.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- 160ɛ+,' 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 D8u8<<  B JKIHiDiELV`L8 8 BLV`LxT}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`HU}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICV}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iX}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Z}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  [} L;D8:; :9 :Y;L-@m}@ $( SELECTION >0@@ @] Ap-@$@ +( =-@$@ OAdAn}UY A], 4DOS@e@) A ,.S27@<@,4P*+"@)"@,=@o}I6-@S AL7@<@,4P(6-@B0@L AG7@<@,4Dp}(6-@2 A =@G A$$7@<@,4SA: 6-A:,& @)!&@&0 Aq}: A_ B(}@;@@G6-S"@_6-@4$-@%r} @$ +67@<@,.7@<@,S67@<@,.7@<@,l67@<@,.s}.67@<@,.7@<@,Y 6.-@@,6-@:7<,,B"@F)"@XY67B:,%@,t}.>:,H1+!@G* @X,)+!@d* @,H67B:,%@,.>:,G @@+@e@=Au}RG Apr +@-@@4(@LOADINGF-@@d(@7@<@,nv} A@r%h A(@4(@FILE NOT FOUNDT(@OR NOT A LOAD FILE^ A`h AXC Bw}AR@1@C@@9b1 }ATARI SYSTEM STATUS1  ...WORKING...glhh;Ax},;@@,;@@,;A,;@,;@,;@@,;@@,;A#,v8 AP-@@y}P:8@,@,6.P: G A@<@@D2:*z}.*G@LL6.BD1: ˠŠD2: ˠŠ A--6.#D1: ˠ{}Š C A @8@@R:C@aa6.WR1: ӭԠ|}R2: ӭԠR3: ӭԠOO67B:,%@,.7R4: Р}}1@1@@D:*.*-@@@''7@<@~},4SECTA-@!   ''7@<@,4SECTA@ A $@ -}@"@!$ *. A .7@5<@5,42A04 A>''@@D2:*.*H}@R''7@<@,4SECTAp\ A@f-@"@# p--@ @"- }IJz8@ -@ @ 8 ı7-7 ATARI SYSTEM STATUS UP TIME:i-}@B 'DEVICES PRESENT SYSTEM DRIVE FILES:T-@#@i EXT U-@$  E:} 3  S: D  K: U  C: *-@*  -@ }( 4(6.P: D7@4<@4,4 D6.!D2: ˠŠW 4W6}.FR1: ӭԠR2: ӭԠf 4f67B:,%@,.GR3: ӭԠ}R4: РXX ODEVICES NOT PRESENT } h-@ . ź?  BASICh #٠ź})6-AP!%I:,)  Bytes/=6-+'A$,46-P:$@%?,'@= K.-@} |.-@33 *$E-@E *}.--@@#-@) |- 8.-@ @##-@* |. B F:Ad},AUA`LaE6-P:+F:@,$BU6%F:@,$AV%F:@ ,,'@Y'C@,S!%@Ya6-%@`V6-}P:'@`,6-&`D 6.=:,"67B:,%@,.:. @D67B:,%@,.0j67B:,%@,.=:,t-@1}  ~ A"F:Ad,"@1" A"F:Ad,"@0" A04F:Ad,"@}*AdAU4 APF:Ad,"@(*@@4+FAdAUP A66POKE 82,2:PO}KE 83,39:GRAPHICS 0:POKE 764,255:NEW!6.D:*.*!AdAU AP"6.D2:*.*"AdAU A}P6.SYSTEM DRIVE FILES:67@<@,4266.DISK DRIVE 2 FILES:-@ @ 5 A}@5@@ -@@@''7@<@,4SECTA`(-}@! 2 <''7@<@,4SECTA`F@ A@P"@AZ8-@}-@!4  8 d-@"@!n9@'7@<@,429-@"@#x }%- % A@% D:D!n9@'7@<@,429-@"@#x 86502 DisassemblerBy Greg Menke One thing that can really help a machine language programmer is a disassembler to pri}nt out his or somebody elses code. If you don't have one, its not worth $30 to buy a disassembler limited to listing code fr}om memory or disk file only. A disassembler may sound easy to make, but it isn't. There are 56 different 6502 ML instr}uctions, some have only one form, but most have up to four different forms that do up to four different things. Because of t}he number of possibilities, it isn't practical to use upwards of 120 different IF-THEN statements. In my disassembler, }rather that using ten million IF-THENs, I used a big string that is subscripted into 4 byte chunks that hold the 3 letter ML }instruction and an option byte. The option byte tells the program what form to use in the disassembly. The disassembler loo}ks up the instruction by taking the number it is trying to disassemble, multiplying it by 4, and subtracting 3. That gives t}he instruction's location in the string. With that, the rest is easy; decode the option byte, get any other bytes that are }needed to complete the form of the instruction, and print it. Type in the program, SAVE it and RUN it. The program wil}l set up the string and prompt you from where to disassemble. If you choose the disk option, a disk directory will come up. } Then enter a BINARY LOAD file name. Take care that the # of sectors in the file isn't greater that the avalible buffer spac}e, or when it loads, the program will probably crash. If you chose the memory option, enter the start address in hex or deci}mal. If you use hex, precede the address with a '$'. Next, choose where the output will go. If you choose the printer, be }sure it is ready BEFORE you press P. If you type D, enter in a filename and hit return. The resultant file will be text, bu}t it will be pretty long if your source code is good sized. When the program is disassembling, pressing any key will pa}use it. Then press START to exit back to the start of the program, press SELECT to continue the listing, or press OPTION to }end.t. Then press START to exit back to the start of the program, press SELECT to continue the listing, or press OPTION to qrAMNEMFIOUTINSTARNLOOLOHEXCONVERHNUOPTIONFOPERANDXTOPMNEADADDRASIZBUFFIOCO}F }} !"#$%& ##Memory/Disk file disassembler  By Greg Menke} 9/9/84 V2.0 HEX and DECimal conversionroutines by Shane Rolin.See the Oct}ober 1983 ACE.#<' +'0@F~~;A ,;@ ,;@ ,;@ ,;@,};@#,;@,;@,;@ ,;@ ,;@,G!6-I:,&A$!;,H.67@,.67},..67@,.K6.0123456789ABCDEFP467@,.%67A ,.467@,.S,AR@,(}}Initializing ... Zk "!6@967$@&@<$@,.K-@a(7@<@,k @}_ARd++("}Disassemble from isk or emory ?fU@-@@K:)@A(>}:,L@U6.>:,i0DA kA (}@7@@D:*.*A An0@}("@&(0 As7( (7(P:'A%, free sectors of file space.vG@(1(Enter ٠ }filename.4(8G4Ax99(0}Disassemble to creen, isk file, or rinter ?}U@-@@}K:)@A(>:,L@U6.>:,!4S)4>:AU,!6.E: 4P6.P:4 4D!(}Enter f}ilename %44A 4DAB,($}Enter start address in or ./(3B4}A J7@<@,4$06.7@TT106,ROR1,102,ROR3,118,ROR4,110,ROR6,126,ROR7,6}4,RTI9,96,RTS9,233,SBC2,229,SBC3HUU245,SBC4,237,SBC6,253,SBC7,249,SBC8,225,SBCB,241,SBCC,56,SEC9,248,SED9,120,SEI9R__13}3,STA3,149,STA4,141,STA6,157,STA7,153,STA8,129,STAB,145,STAC,134,STX3,150,STX5,142,STX6\^^132,STY3,148,STY4,140,STY6,170,T}AX9,168,TAY9,186,TSX9,138,TXA9,154,TXS9,152,TYA9,-1,NULL CONVERT DEC TO HEX NN6-?:C::F:,,2 V7@<@,400*"m6.}7@<@, $CONVERT HEX TO DEC^6- -@B:,R+7<,2A)7<,3F,*+7<,20)7<,3}9,^6-@C  6-@($򡡡C$ 6-C:,6-B:,]]6-?:C:Ihhh}hhΠԄձ001@0 A0)G%i )&&&&eԅԥi`,<<,$D:DISASM6-B:,]]6-?:C:Ihhh_lm 00CHOICEHHEZORMNZAAZLSAHLRSMTYOPSDTFFADDNUTOTLAALOPCODELNNBTDNOP} @}@} !"#$%&@'@()*+,-d +@}'0@@@A0@@@SAA2eAA2wAA-@}nP (@-2-@P(@&x3-@3(@}E'( Would You Prefer Decimal (D),8( or Hex (H)E;@,J A %-@A%) J7@}<@,4DA`76-@7ƠؽΠ٠ӠΠ̠ss;@,;@,;@,;@},;@,;@,;@,;@,;@,;@,##@@E:06.012345678}9ABCDEF&6-@06.000Q0@@@70@@@Q0@@@++("ŭ}РҠӺ8.;@V$@,9@V,9@V,8#A#O-@@V"O67$@}&@<$@,.7@<@,5 68,-A:7@<@,,568,-A:7@,,    ((Immediate } LDA #15(Absolute LDA 1500 (Zero Page LDA 15"(Accumulator ASL,(Indirect X LDA (15X})6(Indirect Y LDA (15)Y@(Zero Page X LDA 15XJ(Zero Page Y LDA 15YT(Absolute X LDA 1500X^}(Absolute Y LDA 1500Yh)()( ӠŠԡr%(%( ENTER ALL NUMBERS IN |"@ }(4(.(#ADDRESSES:USE 1536-1791 (0600-06FF)1(4(W(PLEASE ENTER STARTING;(ADDRESS FOR ML PR}OGRAM?F4M(W A/"@6. A%6-/ A@ 6-A:,@ AV)!B `3(}NOT ZPAGE OR ROM!6(@ A 6-(} ApG((ԠҠ(("@D((e.g. #5 should be #05)}G(?"@6-!6-@+ Ap5(: ? A (: K A`@!(3@@} :4A(K ApĠנϭӠŮ4B:,!@.7B:,&@,4FORWARD46-B4RES}OLVE6-&/%@&@8( OKB Ap:4POKE$ ADDR,NUMBER(DEC)*0: Ap 4HEX} A@&4DECIMALAp04 DISASSEMBLERA :! 4END B! AD# 6-B:,#6.7@<}@,NB-@@VB47$@&@<$@,A X b Al!!٠Š}v 6-8,6-8, "6- Ap" A?"@6-@'"@56-%}@? A(6.7@,"@( A036.7@<@,#6-B:,34#A 4(A`}"@A @'"@6-%@' A7,4X)7,4YA p$$7@<@,4JA}p 6-A:, !AUAp;-"@)"@)"@)"@;6-%@ APT6-P:'AV},&6-+&AV$,<"@)"@J6-%@T A E-"@)"@)"@)"@;6-%@}E A!!"@)"@ A  A* A46-A:7@,,>'"@6-%@' }APH#"@)"@# APR A\7&@,4)YAf7&@,4X)A p6-A}:7@<&@,,z'"@6-%@' AP A6-A:7@<&@,,"@ A}P AJ 6-A:,6-&&@3 6A()!A'@ ϠJ A 6-%AV } AP7&@,4)YA7,4XApϠŠ٠36-A:7@<&@,,3!AU}A0!!"@)"@A"@A1 A "@'6-%@$1 A`'"@}6-%@(' A` A$ A.?6-A:7@<&@,,+!AU5 A ? A08'"@}6-%@' AB;#"@)"@)"@16-%@ ; AL AV AP`'6-P:}'AV,$6-&AV$'$j'"@6-%@$' A`t;#"@)"@)"@16-%@(; A`}~ A A 6-A:, A  A`(Ҡ ApŠŠӠ+ }6-%@+"@A@( Ap! 6- Ap(! ApϠŠӠ8!}AV(.(ERROR-- >256 ($100)8 Ap9 %@%6-%@9"@A (  Ap}  6- Ap( ! 6- Ap(! ApŠŠӠ(G %@%%@}36-%@G"@A@2(   Ap< 6- Ap( F 6- Ap( }P! 6- Ap(! ApZ ̠ϠؠŠϠȤd 6.6-P:'AV,'!86-P:'@,H6}-&$@c6.7%@<%@,67@,.7%@<%@,n6-&$AV$6-P:'@,46-&$@}]67B:,%@,.7%@<%@,67B:,%@,.7%@<%@,6-@$x ؠϠ̠Ȥ}Ϡũ]6-6-@/-@@C6-@:7,,&@HO!@ ]6-&@#6-$@%  6}-P:,#$GGԠؠŠԠĠŠԠϠ̠d7@<@,4#%6.00=67@ },.7@,G AO6.#a67@,.=:,d$< 6-B:,#6.7@<@,,6.7,<0(Ar 4 }Y6.00467@,.7@<@,> AF6.(X67@,.=:,o67B:,%@,.)Yr$r 4)6.00 }467@,.7@<@,> AF6.(X67@,.=:,o67B:,%@,.X)r$4X)4YA/ 6 }. @/6.7@<@&,-67B:,%@,.! A*6.=:,-$0"@&6.7@<@,0 } A0, 6.00,67@,.7@<@,- A6.=:,*67B:,%@,.-$K%(ENTER DECIMA}L NUMBER)5!AUA6-@K A`6-@2 Ap(( = $2 Ap"!(E}NTER HEX NUMBER!,//SX=LEN(H$):BK$="000":H$= BK$((1, -SX)+H$)61 A'( = 1 Ap@@((}*STARTS "6-@(6-2 Ap@( ($)J@( ENDS 6-%6-@/ Ap=( ($)@T))}ŠϠŠŠҠ^ɠҠh[ +'0@@@A0@@@}[0@@@ri*("This assembler directly pokes yourE(opcodes into memory. i(There are a few Pseudo-}Opcodes,|/,($and more can be added to the program/(i#( Same as Basic POKE.J(" Does Decimal to Hex Con}verti( Opposite of k'( AND TogetherO(# they will correctly handle k( o}ne forward branchc&( Assembler will handle allB( backward branches.c( Quits the program anda( } returns to basic.C( Turns the programa( over to disassembly.@+(# Disassembly is done in d}ecimal.(@AR@f*("Disassembly is paused by pressing N( and together; and exitedf(by pressing }.**("Wait,please,for loading to finish.ND;AV$@,9AU,9AU,;@,;@,N#A P}-AU "68,-B:,++67$@%@<$@%8,,. 68,-  (} $5 } } -@5(ԠҠ&((PRESS TO EXIT0'($(PRESS AND TO PAUSE'(:< }AP.(STARTING ADDRESS (DECIMAL) 2< BD!! )!BU5APN 6-F:,6-8,X++6.7$@}%@<$@%8,,b1(@@(1@@l77%@AA0APA`A}pv:6-@ 6-F:%@,,!A(:6-&AV9(@@ /( %@%9 A+(} !6-@+ A!( %@%! A#@@ (# AM(F:%@,}%@@ 96.=:F:%@,,C A @M AG(F:%@,%@@5(F:%@,G@@  }8.6.=:+F:%@,%AV$F:%@,,,8 A @% 6-% %6-BU6&!BU56-@!}w F:B2y,"@ApB APBΠϠҠ٠ǠŠӮNK(7@"}<@%+8,!@,,7@%@$+8,!@,,N$DDBRK,1,ORA (X),2,?,0,?,0,?,0,ORA ,2,ASL ,2,?,0,PHP,1,O#}RA # ,2 AAASL A,1,?,0,?,0,ORA ,3,ASL ,3,?,0,BPL,-1,ORA ()Y,2,?,0,?,0CC?,0,ORA X,2,ASL X,2,?,0,CLC,1,ORA Y,3,?,0,?,$}0,?,0,ORA X,3 CCASL ,3,?,0,JSR ,3,AND (X),2,?,0,?,0,BIT ,2,AND ,2,ROL ,2,?,0*JJPLP,1,AND # ,2,ROL A,1,?,0,BIT ,3,AND %},3,ROL ,3,?,0,BMI,-1,AND ()Y,24@@?,0,?,0,?,0,AND X,2,ROL X,2,?,0,SEC,1,AND Y,3,CLI,1,?,0>CC?,0,AND X,3,ROL X,3,?,0&},RTI,1,EOR (X),2,?,0,?,0,?,0,EOR ,2HHHLSR ,2,?,0,PHA,1,EOR # ,2,LSR ,1,?,0,JMP ,3,EOR ,3,LSR ,3,?,0RGGBVC,-1,EOR '}()Y,2,?,0,?,0,?,0,EOR X,2,LSR X,2,?,0,CLI,1,EOR Y,3\???,0,?,0,?,0,EOR X,3,LSR X,3,?,0,RTS,1,ADC (X),2,?,0,?,0fKK?,(}0,ADC ,2,ROR ,2,?,0,PLA,1,ADC # ,2,ROR A,1,?,0,JMP (),108,ADC ,3pDDROR ,3,?,0,BVS,-1,ADC ()Y,2,?,0,?,0,?,0,ADC X,2,RO)}R X,2,?,0zDDSEI,1,ADC Y,3,?,0,?,0,?,0,ADC X,3,ROR X,3,?,0,?,0,STA (X),2==?,0,?,0,STY ,2,STA ,2,STX ,2,?,0,DEY,1*},?,0,TXA,1,?,0LLSTY ,3,STA ,3,STX ,3,?,0,BCC,-1,STA ()Y,2,?,0,?,0,STY X,2,STA X,2@@STX Y,2,?,0,TYA,1,STA Y,3,T+}XS,1,?,0,?,0,STA X,3,?,0,?,0PPLDY # ,2,LDA (X),2,LDX # ,2,?,0,LDY ,2,LDA ,2,LDX ,2,?,0,TAY,1,LDA # ,2DDTAX,1,?,0,,}LDY ,3,LDA ,3,LDX ,3,?,0,BCS,-1,LDA ()Y,2,?,0,?,0OOLDY X,2,LDA X,2,LDX Y,2,?,0,CLV,1,LDA Y,3,TSX,1,?,0,LDY X,3,LD-}A X,3IILDX Y,3,?,0,CPY # ,2,CMP (X),2,?,0,?,0,CPY ,2,CMP ,2,DEC ,2,?,0KKINY,1,CMP # ,2,DEX,1,?,0,CPY ,3,CMP ,3.},DEC ,3,?,0,BNE,-1,CMP ()Y,2>>?,0,?,0,?,0,CMP X,2,DEC X,2,?,0,CLD,1,CMP Y,3,?,0,?,0JJ?,0,CMP X,3,DEC X,3,?,0,CP/}X # ,2,SBC (X),2,?,0,?,0,CPX ,2,SBC ,2FFINC ,2,?,0,INX,1,SBC # ,2,NOP,1,?,0,CPX ,3,SBC ,3,INC ,3,?,0GGBEQ,-1,SB0}C ()Y,2,?,0,?,0,?,0,SBC X,2,INC X,2,?,0,SED,1,SBC Y,3''?,0,?,0,?,0,SBC X,3,INC X,3,?,0 EEADC1097,AND1033,ASL3002,1}BCC8144,BCS8176,BEQ8240,BIT7036,BMI8048 EEBNE8208,BPL8016,BRK0000,BVC8080,BVS8112,CLC0024,CLD0216,CLI0088 EECLV0184,CMP2}1193,CPX4224,CPY4192,DEC2198,DEX0202,DEY0136,EOR1065$ EEINC2230,INX0232,INY0200,JMP6076,JSR9032,LDA1161,LDX5162,LDY5160. E3}ELSR3066,NOP0234,ORA1001,PHA0072,PHP0008,PLA0104,PLP0040,ROL30348 EEROR3098,RTI0064,RTS0096,SBC1225,SEC0056,SED0248,SEI0124}0,STA1129B EESTX2134,STY2132,TAX0170,TAY0168,TSX0186,TXA0138,TXS0154,TYA0152L ************************V * 5} *` * - *j * *t * *~ * by Ray Huds6}on * * * * ORIGINAL PROGRAMS * * WERE 'FAST DISASSE- * * MBLER' AND 'SIMPLE 7} * * ASSEMBLER' FROM * * 'MACHINE LANGUAGE * * FOR BEGINNERS.' * * COPYRIGHT 1983,SMALL *8} * SYSTEM SERVICES,INC. * * * * THE ORIGINAL PROGRAMS* * HAVE BEEN CHANGED TO * *9} ALLOW THEM TO WORK * * TOGETHER AS A UNIT * * * * HAVE FUN ASSEMBLING *( * :} *2 ************************<  D2:ASEMBLER * * HAVE FUN ASSEMBLING *( * J~ OPCODELNNBTDNADDO@3E A A  @ !<} 2ɠҠdQ0@@@70@@@Q0@@@i!=}U(} !-@:(ԠҠ=(U( LOADING OPCODES...nDD;AV$@,9AU,9AU!>},;@,;@,x-AU} "68,-B:,++67$@%@<$@%8,,. 68,!?}- 5 } -@5(ԠҠ ( (> A0(STARTING ADDRESS (DECIMAL) 4>!@} B!! )!BU5A 6-F:,6-8,++6.7$@%@<$@%8,,1(@!A}@(1@@77%@ABADAPA`Ap:6-@ 6-F:%@,,!A(!B}:6-&AV9(@@ /( %@%9 A+( !6-@+ A!(!C} %@%! A#@@ (# AM(F:%@,%@@ 96.=:F:%@,,C A!D}M AG(F:%@,%@@5(F:%@,G@@ 8.6.=:+F:%@,%AV$F:%@!E},,,8 A,% 6-% %6-BU6&6!BU56-;@w@ F:B2y,"@A!F}NK(7@<@%+8,!@,,7@%@$+8,!@,,N$DDBRK,1,ORA (X),2,?,0,?,0,?,0,ORA ,2,ASL !G},2,?,0,PHP,1,ORA # ,2AAASL A,1,?,0,?,0,ORA ,3,ASL ,3,?,0,BPL,-1,ORA ()Y,2,?,0,?,0CC?,0,ORA X,2,ASL X,2,?,0,CLC,1,O!H}RA Y,3,?,0,?,0,?,0,ORA X,3CCASL ,3,?,0,JSR ,3,AND (X),2,?,0,?,0,BIT ,2,AND ,2,ROL ,2,?,0JJPLP,1,AND # ,2,ROL A,1,?!I},0,BIT ,3,AND ,3,ROL ,3,?,0,BMI,-1,AND ()Y,2&@@?,0,?,0,?,0,AND X,2,ROL X,2,?,0,SEC,1,AND Y,3,CLI,1,?,00CC?,0,AND X,!J}3,ROL X,3,?,0,RTI,1,EOR (X),2,?,0,?,0,?,0,EOR ,2:HHLSR ,2,?,0,PHA,1,EOR # ,2,LSR ,1,?,0,JMP ,3,EOR ,3,LSR ,3,?,0D!K}GGBVC,-1,EOR ()Y,2,?,0,?,0,?,0,EOR X,2,LSR X,2,?,0,CLI,1,EOR Y,3N???,0,?,0,?,0,EOR X,3,LSR X,3,?,0,RTS,1,ADC (X),2,?!L},0,?,0XKK?,0,ADC ,2,ROR ,2,?,0,PLA,1,ADC # ,2,ROR A,1,?,0,JMP (),108,ADC ,3bDDROR ,3,?,0,BVS,-1,ADC ()Y,2,?,0,?,0,?!M},0,ADC X,2,ROR X,2,?,0lDDSEI,1,ADC Y,3,?,0,?,0,?,0,ADC X,3,ROR X,3,?,0,?,0,STA (X),2v==?,0,?,0,STY ,2,STA ,2,STX!N} ,2,?,0,DEY,1,?,0,TXA,1,?,0LLSTY ,3,STA ,3,STX ,3,?,0,BCC,-1,STA ()Y,2,?,0,?,0,STY X,2,STA X,2@@STX Y,2,?,0,TY!O}A,1,STA Y,3,TXS,1,?,0,?,0,STA X,3,?,0,?,0PPLDY # ,2,LDA (X),2,LDX # ,2,?,0,LDY ,2,LDA ,2,LDX ,2,?,0,TAY,1,LDA # ,2!P}DDTAX,1,?,0,LDY ,3,LDA ,3,LDX ,3,?,0,BCS,-1,LDA ()Y,2,?,0,?,0OOLDY X,2,LDA X,2,LDX Y,2,?,0,CLV,1,LDA Y,3,TSX,1,?!Q},0,LDY X,3,LDA X,3IILDX Y,3,?,0,CPY # ,2,CMP (X),2,?,0,?,0,CPY ,2,CMP ,2,DEC ,2,?,0KKINY,1,CMP # ,2,DEX,1,?,0,C!R}PY ,3,CMP ,3,DEC ,3,?,0,BNE,-1,CMP ()Y,2>>?,0,?,0,?,0,CMP X,2,DEC X,2,?,0,CLD,1,CMP Y,3,?,0,?,0JJ?,0,CMP X,3,D!S}EC X,3,?,0,CPX # ,2,SBC (X),2,?,0,?,0,CPX ,2,SBC ,2FFINC ,2,?,0,INX,1,SBC # ,2,NOP,1,?,0,CPX ,3,SBC ,3,INC ,3,?,0!T}GGBEQ,-1,SBC ()Y,2,?,0,?,0,?,0,SBC X,2,INC X,2,?,0,SED,1,SBC Y,3''?,0,?,0,?,0,SBC X,3,INC X,3,?,0 D2:DISAS!U}EMBBEQ,-1,SBC ()Y,2,?,0,?,0,?,0,SBC X,2,INC X,2,?,0,SED,1,SBC Y,3''?,0,?,0,?,0,SBC X,3,INC X,3,?,0 D2:DISAS &Ev8=7EJ&&K&L&ʩ * d5I&&&© 1 -L*I&˜ ' 4&0& 1&& *L%W}*& & 1 -& & 1 - - *`RUNTIME ERROR AT LINE &&Lr*+ +L&` '%X}& &L&PROGRAM STOPPED&&Ńł ȱ`iL'HH 1*L/ r* . 1 + '. . . %Y}1 . ' 1 + . 'hhL.ʥ`HHhh`8L'u%Z}`Huh` Lr*L' Lr*L' ) . ( . ' r* .Lo* )%[} . ' , ( . ' + ' r* ' + 1 , . o*Lr* ) ' ' , ( . ' + ' r* ' + %\}1 , . (( . o*Lo* ' 1* '.L/` ) r* .L. ) . . + ' . ' ,L' ) ' ,%]} ' . + 'L'J&K&L& ) 1 1,L&eJ&iK&`L&8LM& . '.%^}L&`ʔȱȱȱ 1*Șe惠 惨6,*6-* L*HHhh``%_}`Lo*ʱ` ** &JL&J *HHl JLw TO BOOT FOR DOS%`} TO RERUNp B V8+` +ȱLr*&&8558凅刐SJj)ee`ф%a}фiiL#+8L#+ LM&uuuLr*8` +Lr*iLr*豂Hȱ%b}h`p +Lr*+H+ BHI+ 4 -h`8` ,L, ,#` ,0 ,0L, ,0%c}` ,0L,L,`޵` `Ȕ`ʔ惥u`%d}+ BHI DEH 4 -HyhLo* + -`+JJJJ`d-+e- +- c-0 c-Lr* J-Lr*%e}` f-H J-h 0 c-`L+8 0ƅ`66&Ln-HH` B VhH)Kh)0 IJD-EB 4hLr*S:+Lr*%f}TUVLo* -`++L+ -8ɰɅ +`ʱȱȱ`ȵȵLr*Lr* '. . .ʥ%g} . . '. .L3 '. . . . 1*uȱuȱu W* 1* .0 @,L3 ȱLr* T,L.ʵ%q}B%DOS SYSB*)DUP SYSB SRAMDISK COMB\AUTORUN SYSB7^MENU BASBDISASEM DOCB3DISASEM BASBaASEMBLERBASB;DIS6502 BASB@VCOMPRESSOBJBDEBUG DOCB0DEBUG OBJB0FILEINFOOBJBORGFINDRBASBDLDUMP BASBoDUMPER BASBAUTODATABASBAUTOTYPEBASBDECTOHEXBASBDECTOBINBASBHEXTODECBASBEDIT4TH BAS8ECOLEDITTURECOLEDITCOMECOLEDITDOC-COMTOOL1DOCHCOMTOOL1COM`eeLM&HHhh`ؐHH 1*L/ r*HH . .6 +i i%r} .i i .hh . . 'hh .`HH 1*% r*HH 1L'/ 1* '. LM& .6 + %s}. +` 1* '.ޠ . 1 +L/  o*Lr*H+ B Vh` ҵ  o*Lo*H+BHI 4+h+L1 g%t}0+KJBD0EH 4h o*Lr* r* '.0Ɔ򩛙0` -H`B 4h`00%u}L1Lr*Lr* +`H o*hL11HH eHHƆeiH '.lꦆ 1Օ`0  %v}L,`8`|1rd-1e- (- 10|1L1|10|1`1 r* '.1 1`+6-1L180%w}1LM& + 1 . 1 1 ++ 1 +Ɔʭ1 +`ʕ`66`HHH66666u%x}uuhhhLr* +愵 ' + 'I 1 280/66&&&`%y}uuu` 2 2Ј 2 o* +`@32@2 .22222 LM&ȥ2i%z}223`L*32 3`LM&2@82ƅ3 ȱ222` w3L?33L?3H3 2h`%{}1+ %  88L3 o* o*` o* o*`  o* o*` 3$' 3"0 %|}30 !4L, 4L, 4L,L1L14 1 '. .4444`H+? ++HI4D44E4B 4H%}}4h` VLM&4` D44 14α44 1L4 D44LM&44, α44ﭯ4 148e44α4 %~}11L1  'Lr*hh iLr* (5L2 (5L*42&&ȱ0 5Lw5 555&%}& L5&&`i`J&&K&L&` +ȱ&&%8e慱HȱhױL&%}iJ&iK&Lr*+ BH Vh 1LW*+&BH 4hN 1 W*L 1MLW*+%BNLMH 4hLo*)}*1*N%}*W*v*11+,J2+,a,s,@,/,T,9,H,),**++++,,-------6.c./x///2:3}10000)///0090.444(4!4440&D'@(%}f(()))V)4440T5\5A1+1d5355&(6@6j6S1 v8y889 j9!9#9(':2:< ;P;UO;Z^;_{;d;e;x;;!<s<%}<4=?=f=== >`>>>% ?&?J@To@V}@Y@^@_@`@aAhArEA|HAtAAAAB2B!CBT dB^ %}B@BC%C C C C& nDl vD D D(#DE=8>Comp%}ress filespec?*@8D=8J@8C8WC@8D7F86I86@8 D1:COMPRESSAF8I89Error--ab%}ortedJ@8L8WC@8D7F8I8 *|"䚠0F86I86U8F8%}I8F8I89 O8F8-AO8I8-BF86I86R8F8I8O8F8-BO8I8-BU8R89@X8%}R8R8U8  [8':X8U8[8 ^8O8D.O8X8U8  BI8^8 T^8I8 UI8^8X8U8 %}I8^8 X^8I8 YI8RI8hLV.Ja8I8F8U8O8O8X8U8 FAU83 ;I8I83U8%} F8F83U8 U8;F8F8I8I8I8O8D/ X8 3 O;F8^; O8I8I8F<%}{;Pd8I8d8d8d8O8D/;(#O8d8d8F=;d=8=8d8I8  l *g8F8 j8g8 O8a8a8g8%}j8 -CO8a8a8j8-Ca8I8g8F8d8I8  j8g8 O8I8I8g8j8 -CO8I8I8j8%}-Cj8X8 O8I8I8X8j8 -CO8I8I8j8-CO8I8O8d8EBF8F8d8I8 I8I8P%}@8GAI@8D/@8D1:@8D884=@8@8DB@8DC@8:*.*B+@8D=?=+@8D/f=m8@8DA@8D1:A@8m8DB+@8%}F:9@8F:9=m8@8DA@8D1:A@8m8DB+ *66"bloc%}" WRITTEN BY " "   %}OF WASHINGTON, D.C. andPress any key to continue.>%}C8L8E:7[8M [8O8@@8@m8@?T *~ΠՠA) Disk Directory%}B) Change DrivesC) Compress FileD) Delete FileE) Rename FileF) Lock FileG) U%}nlock File H) RebootI) Format DiskSelect item or for menu.@8GAI@8D/o@Pleas%}e type one letterJ@8D=}@%@8DA;@8DI< @ Not menu itemJT@8D5@  Drive or filespec?*%}@8D=@@8D:*.*A@8D7a?@8GAI@8D`4JSource, dest drivesC8HL8HI%Delet%}e filespec?*!@8D7JRename filespec?* @8D7JLock filespec?*#@8D7J%}Unlock filespec?*$@8D7JF8wJWhich drive to format?*@8D7J?CB@44%}T *Error J *R }Source: C8 Dest: L8(%}+44T *@8D1:*.*A@8L8WC_O8DX8R8%C U8X8^8U8 O8U8^8%} -AO8^8-B^8R8 O8R8^8 -BO8^8-B#R8CO8a8a8Cs8O8D/X8 X8%}CO8O8s8FA=8=8X8 l *O8s8s8C^8X8 O8s8s8^8-CO8s8s8X8^8%} -CO8s8O8s8O8D/FB=8=8l *"=8} +D+ +^8X8d8 I8j8^%}8 O8a8a8^8j8 -CO8a8a8j8-CO8O8O8D/d8 I8FA&+^8X8d8 I8j8^$_ DEBUG Commands Key Function --- -------- * Address Set D Display Toggle Q Q)}uit, Debug, go to DOS G Go at Address T Trace Program P Print Disassembly E Erase Memory )} C Change 1 byte of RAM N Change Register Value R Diplay Registers B Set/Reset Break Point S )} Save a binary file L Load a binary file F Find a string in memory H High Speed Display " D)}ec/Hex, Hex/Dec convert - Scroll up in memory = Scroll down in memory Prompts: * - expects num)}ber ? - expects character stringp in memory = Scroll down in memory Prompts: * - expects num(*3إ  ^ _UVyz yzآWDԆ膲jxY  X-}ZZZ ԭ @ E : 1 ) )ر  pL 걍ޡ뱍ߡ L Lb \UV-}  x^_ Xhhl L3  =l01!/L\ BLVԅ` ɛ T`-}dҩҩҎ` 1 :  Ohh`#.= O#ɛ`{hhLp&&&&Պԅ戥L-} O#ɛ"򄉩 ذ ٰ ` {hhLpȦL膄 থԥբ `A O QԤɛ-}:  (#$ й` ԅՅ Ԡ` hhԍՍxZZZXH-}W(l ԅՅT v #ɛ TTT` Q\ থԥբ ` O-}Ԣ `5ȱ  '# $ ɤei`#I#` ʥ#9-}ԥբL` ʥL ʥ ᤠ蹥$ʈ` ʥ إL L ,$Y%` ʥ ȩ ʥ 楠$`A9` ʥ O-}44)Ii8L|8囅ԥLeԥiթeԅԅiՅ Ƅ` ʥ إ 楩)$` ʥ L OԢ L` O-}ԢL`(9L OԄ p ؠ#)#$ŭ0* ,$豁$)$%T -}#LVʆ ئ#)#` #譃#`$#襄#`5JJJJ{Ȧ5Ԫ{-}Ȧ` '#`Wh@؎hhh8hXLJnml +?<ƳI? Lbh)H(-}WL3W* ɜ#hhhhXLJl^ O P8 8 ׭ԭ 8 -}9dz `I b0 Թ L /ϳ` /ӳ`H****)h)`-}T` : 8`(v  pL[~$Ƈ p ڨˤ  !L[ɜ𩤇#ɛ    ڨL[#-}ɛ ` !`>` B#DE(HI: ɤ V0`hhLET ./`I!0-}ԥLݳ׳ 㳅``L4L7@`ɀɁ ILɂ I@LɃ-}@оɄдɅ𰥷@a { LŸE``ZZL8HZhZʎ-}ȱ` ԅՅ :A F SO = : 1 4 ꙥ  5 gLV?-}L` L@ZZZLL @L  'Ll @HȱhL󫥡/`d󭺳9h-}L󫭺9hLĄxZZZZZZպH(h-}xZZZZZZX@ 0Э Li i-}i i`^` #%=ș#ȄI `#$򩛙% 򬥰LY ԅՅ -}œ#Œ擥œŒ똑`L`T`T  TLY )! )!hhH-}h`; ߬ UD 1 :  !LS ѭLS   ԅՅ 4 45 ɤ L 򬩛) Y ) LLE :-}5 ߬ hhhh`Q  pL` ./0 v  & "𩛝" ԅՅ`ԥL8嶅ԥ-}L` `׳Թݳ X8 񤉹ͥi` 1" O`#81$ $-}4 LLpԝ׳՝ݳԝ㳘LE 1׳ݳ㳑鳝׳ݳLEL 1 O`#ɛ ,-}K 턀, 8Ȅ =iiɸ#Z`KĀ ঢ#-}ԥ #ʈ$#5敥ԥբ `  LWD  w0NO EL w Nԭ-}O ְ w ˰ 0LH EhɈ/ ঠ#  #ʈ$#0 LYLN BDE-}HILV䥖8唅啅ii`NO`NO`N`O`LwL E JKBSDE V0-}`hhL HSUhD` 1 Ohh`#,ɛS젥hhLS`D ԅՅ ԅՅŕEŔ; -}NO w0+NO w0NO w0 0LEH EhLQDRN*CGLSBT-=FPH.E-񣝣dL!ѭf1W٤-} )8OU !Aa!Aa>^  P0p@pppB B Bֲ-}Al쀀|||||-}|$)3!-}|||||| @@ ` @`~}-}Ҵ #4ALZhw$ 0 5 $ 3 & / !8930 DP : AXYSPBRK POINT FOUND~,.0123456-}789ABCDEFGHIJKLMNOPQRSTUVWXYZFIND #,X)Y,)LOAD ATBREAK KEY ABORNO DEVICE HANDLETRUNCATED RECORDEVICE TIMEOUDEVICE NAWRITE-} PROTECTEFUNCTION NOT DONDISK FULFILE NUM MISMATCBAD FILE NAMFILE LOCKEDIRECTORY FULFILE NOT FOUNFILE NOT BINARNO SE-}T BRK POININVALID OPCODBRK POINT SEADR RANGE ERROADCANDASLBCCBCSBEQBITBMIBNEBPLBVCBVSCLCCLDCLICLVCMPCPXCPYDECDEXDEYEOR-}INCINXINYJMPJSRLDALDXLDYLSRNOPORAPHAPHPPLAPLPROLRORRTIRTSSBCSECSEDSEISTASTXSTYTAXTAYTSXTXATXSTYA???ieum}yaq)%5-=9!1 $,-}0PpXʈIEUM]YAQLl JFVN^  Hh(*&6.>jfvn~@`8x-} !$'*-033333333666999<<<:A%,dAR@6-@6-6@6}0-@@d=@K6-%@a"@"*"@m6-@ y6- A;"@ *"6}@"--@A1 ; A - ( k B@" @6-@A: L-@6}@!^ARa(k @ BA@6@D:ORGFINDR.BASTD:ORGFINDR.BAS6}@5@D:ORGFINDR.BAS D2:ORGFINDRD:ORGFINDR.BASTD:ORGFINDR.BAS4G  <AFLAD@  +9A,-@@:} @(WHAT GRAPHICS MODE (2+6-<%%6-F:A`,%F:Aa,$AVF-AP:}6-F:%,Z'"@e*"'6-%@d 68,- +n (USE 'CTRL 1' TO FREEZE.x( (-:}&&(DL BYTE %@ = 8, ( ( ( @0D:DLDUMPCTRL 1' TO FREEZE.x( (-8Zbc77QQQQQQQQQQ1Q1Q1Q1Q1Q1Q1Q1Q1Q1Q2Q2Q2Q2Q2Q2Q2Q2Q3Q3Q3Q3Q3Q3Q4Q4Q4Q4Q4Q4Q5>}Q5Q6Q6Q6Q6Q7Q8Q9Q10Q12Q12Q13Q16Q19Q21Q25Q25Q25Q25Q26Q27Q29Q49Q51Q53Q61Q68Q70Q72Q75Q75Q76Q77Q>}83Q93Q98HFHEXDECSASSBINANSFFSSSMEFINAZENOLINEPVALUPWISBLLKIPAGILINJIHLKKSUMI>} >}> } !"#$%&'()*+,-./>!}0123456789:;<=>?>"}@ABCDEFGHIJKLMN>#}OPQRSTUVWXYZ[\]^>$}_`abcdefghijklm>%}nopqr6-6-@'6-@36-@?6-@K6-@W6-@>&}c6-@o6-@{6-@6-@ 6-A6-@6-@6-@6-@6-@6->'}@6-@6-@!6-@"6-@ '6-@%36-@&?6-@'K6-@(W6-@)c6-@>(}0o6-@1{6-@6-@56-@66-@86-@@6-@A6-A0@6-@B6-@2>)}6-@I'6-@S36-@U?6-@`K6-@aW6-@dc6-@eo6-@w{6-@6-A0>*}6-A6-A#6-A(6-A66-AA`6-A6-AB'6-ARP36-AS?6-AUK6>+}-AVW6-A`c6-B2yo6-AR{6-AT6-A6-A06-A{6-AV6-AW'6->,}AW 36-AR?6-AUK6-AdW6-Apc6-A0o6-A0{6-A '@!@@9>-}' (BB;,;,;,;,;,;,;,;,;,;@P,;,2# 6-6-6-A$$#6-<&6>.}.0123456789ABCDEF&6-@fPZ d+%  F D U M P E R ( + nc$  Version 2.1 : printG>/}  by: Michael J Raymondc  (C) 1981x    = ---%-0=2&>0}+$,K2&++%,$,+2&++%,$,?2&++%,$,C G K 9 02%2/2>1}92 6-  j* " If you desire printed outputQ " turn your printer on and setg  >2}paging now.j n* " If you do desire printedR # output turn off the expansionn  module or printer>3}Y (  In any event, please hitO " to begin this program.U-YP:6- A>4}0 Q ENTER:,  Q  FOR MEMORY DUMP"""  TO CEASE USE6>5} 6.D1:@ A JL 6-F:, ҭ+"A0H  I DON'T KNOW THE DEVICEL r("A3$  DEVI>6}CE NOT OPEN( |/"A8+  DEVICE DID NOT RESPOND/ +"A`'  DRIVE NUMBER ERROR+ '"Ap# >7} FILE NOT FOUND'    4END+4MEMORY6-4MEMORY A4A>8}7<,4:6. 7<,4:6. 67<,.  6. A@L 6.->9}B:,,67<,.>:@:7<,,%,0 3 L  1)HEX DUMPDW  2)DECIMAL DUMP;  3)OCTAL DUMPW >:} 4)BINARY DUMPb AP6-A:, Ap> 6-F:, ҭ$")":  A NUMBER PLEASE!> >;}" ")!  ŠΡ"  " `%  ENTER STARTING ADDRESSA  XXXXX - DECIMAL`  $X><}XXX - HEXIDECIMAL'7<,0$6-A:,' A0  6-6-6-`$  ENTER ENDING ADDRESS@  >=} XXXXX - DECIMAL`  $XXXX - HEXIDECIMAL!7<,0$6-A:,!   6- C-B:,66.>>}7<,$6-%;6-P:#+&,%?P,C-(47<,6-%++&,$,( A  * 4$> H " >?}A`R2  ( ǡ - REENTER <2 A\''ApA! A2PACpf 6-p " Ap>@}zE " HEX DUMP OF FILE -->& 0-8->-E   --) 6.|!")")")">A})")6. "6.' "")")")")"'6. "*"6. "6.$ "*"6.>B}.D -   -&6.|<")")")")"D6.t "6.~ "6.6 -  >C}-# BYTE#)-6 DISPLAY; - CHARS-! 0'-. 14-; 2* - 3- 4#->D}* 5* - 6- 7#-* 8* - 9- A#-* B@ - C- D#>E}-) E/-6 F@ A 9 --6-P:'," ' --96-&+$,F6  -6- 6-&>F}!.6-&66-%n-+$,%x " A0& 6-F:,6-%!%& A 0 AP )6-%>G}'  6..*!'6.>:,% -%    >:,% 6-F:, "  " A A>H}0" 6-6-,JB3Hexidecimal dump of file  Page:J6-%@JJ3BBYTE #| 0| 1| 2| 3| 4| >I}5| 6| 7| 8| 9| A| B| C| D| E| F|Print CharsJYO3G------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+----------------Y>J}-&^P:',$A`hOO3G------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+----------------r A|>K}c#67<,. | | | | | | |C67<,. | | | | | c67<,. | | | | | M#67<,. >L} .6-P:',2 =67<,.I6-&+$,M .67<,. A -."A 6-F:,6-%!% >M}  A ); 6-% 6-+&,$*67%<%,.;67%<%,..: *!67%<%,.>:,D   3>N}X  3 33 Al 6-F:," v--3Error  occured in this print run AP?3?3 End of>O} File  reached at byte #  (decimal) -%3   H6-P:',6-&+$,.67<,.7%<%,B6>P}7<,.7%<%,H$* 6-F:,-& ERROR #*  -6-- -6-6-!>Q}%6-&-6-%D-+$,%  -%&  * . 4-D  EOF REACHED> H 6-R " A'\B >R}& DECIMAL DUMP OF FILE -->* 4-<-B-,   -$-,6.|!")")")">S})"!6.' "")")")")"'6. "6. "*"6. "6.  "*"6.>T} & -   -&6.|B !")")")")"!6.L  "6.V  "6.` ; -  >U}-# BYTE #)-/ 05-; 1~ ' - 2- 3!-' 4 . -  DISPLAYABLE-.  CHARACTER>V}S ' - 5- 6!-' 7 % - 8- 9% A1P 6 -6-P:', "-& 26-&+$>W},6  7 - -6-!6-'!/6-&76-%  " A% & 6-F:,6-%!%& A1`  >X} A%  )6-%  /-%+$, 6..&!* /6.>:,2 + -%   -% >:,+d >Y} 6-F:,n " x "A$ A&`  6-6- A0 G?3Decimal Dump of file  >Z} Page:G6-% CC3;BYTE # | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|Print Chrs MC3;--------+---+---+---+---+-->[}-+---+---+---+---+---+----------M-& P:',$A( CC3;--------+---+---+---+---+---+---+---+---+---+---+-->\}-------- A) c#67<,. | | | C67<,.| | | | | c67<,.| | |  M#>]}67<,. .6-P:',2 =67<,.I6-&+$,M 6 $67<,.-$"A) T 6-F:,6->^}%!% ^   A)0h  )6-% r /6-+&,$67%<%,./67%<%,..   *!67%<%>_},.>:,   3   3 33 A'   6-F:,"  223Error  occured during this print run. A0>`}` ?3?3 End of File  reached at byte #  (decimal)  -%3     G 6. 6-P:',&6>a}7<,.=:,96-P:+&+$,,',G67<,.=:,& :67<,.=:,&6-P:&+$,&+$,,467<,.=:,:D $N * 6-F:,>b}-& ERROR #* X  -6-l - -6-6-!%6-&-6-% E-+$,%   -%>c}'  + / 5-E  EOF REACHED   6-  " A8  @ $ OCTAL DUMP OF FILE -->( 2->d}:-@- ,   -$-,6.|> !")")")")"!6.H ' "")")")")"'6>e}.R  "6.\  "*"6.f  "6.p  "*"6.z & -   -&6.| !>f}")")")")"!6.  "6.  "6. ; -  -# BYTE #)-/ 05-; 1 ' ->g} 2- 3!-' 4 % - DISPLAY-% CHARS 1 - 5- 6!-' 71 ABp6 >h}-6-P:', "-& 26-&+$,6 87 - -6-!6-'!/6-&76-%V " A7`>i}& 6-F:,6-%!%& ABj  A7t )6-% ~/-%+$, 6..&!* /6.>:,+>j} -%   -% >:,+ 6-F:, " "A6 A7 6-6- AA0B:3>k}Octal dump of file  Page:B6-%<<34BYTE # | 0| 1| 2| 3| 4| 5| 6| 7|Print chrs[<>l}34---------+---+---+---+---+---+---+---+---+----------F-&[P:',$A9 <<<34---------+---+---+---+---+---+->m}--+---+---+----------F AAPc#67<,. | | | C67<,. | | | | | c67<,. | >n} nM#67<,. .6-P:',2 =67<,.I6-&+$,M $67<,.-$"A@@ >o} 6-F:,6-%!%   A@P )6-% 56-+&,$$67@%<%,.567%<%,.. >p} *!67%<%,.>:,   3  3 33 A8@" 6-F:," ,113Error  occured during this >q}print run6 AA@?3?3 End of File  reached at byte #  (decimal)T -%3  h rU 6.>r} 6-P:',&67<,.=:,96-P:+&+$,,',G67<,.=:,U67<,.=:,,6-P:&+$,&+$,,&67<,.=:,,>s}$* 6-F:,-& ERROR #*  -6-- -6-6-!%6-&-6-%E-+$,%>t}   -%'  + / 5-E  EOF REACHED  6- " AI&A % BINARY DUMP OF FILE ->u}->) 3-;-A-b,   -$-,6.|-%")")")")")")")"-6.3>v} "+")")")")")")")"36. "6. "*"6. "6. "*"6.>w}& -   -&6.| -%")")")")")")")"-6. "6.  "6.*; ->x}  -# BYTE #)-/ 05-; 1H ASR6 -6-P:', "-& 26-&+$,6 z! ->y} -6-!6- " AG& 6-F:,6-%!%& AT  AH )6-% />z}-%+$, 6..&!* /6.>:,+ -%   -% >:,+ 6-F:, " "AF>{}$ AHp. 6-6- AR BG?3Binary Dump of file  Page:G6-%VAA39 BY>|}TE # | 00 | 01 | 10 | 11 |Chrs`KA39----------------+--------+--------+--------+--------+----K-&>}}tP:',$AP~AA39----------------+--------+--------+--------+--------+---- ARc#67<,. >~} | C67<,. | | c67<,. | | M#67<,. .6-P:',2>} =67<,.I6-&+$,M $67<,.-$"AQ0 6-F:,6-%!%   AQ@  )>}6-% /6-+&,$67%<%,./67%<%,..2  *!67%<%,.>:,<   3P  3 33 AI0>}d 6-F:," n113Error  occured during this print runx AR`;;3 End of File  reached at byt>}e #  (decimal) -%3   36. 6-P:',+67<,.=:,36-$,6-P:+&,', 67>}<,.=:,,6-%+$,,6-P:+&,', 67<,.=:,,6-%+$,,6-P:+&,', 67<,.=:,,6-%+$,,6-P:+&,'>}, 67<,.=:,,6-%+$,,6-P:+&,', 67<,.=:,,6-%+$,I6-P:+&,', 67<,.=:,,6-%+$,;6-P:+&>},',I67<,.=:, $* 6-F:,-& ERROR #*  -6-,N -6-6->}#-+$,%1  ?-@7%F  J N ^ -  EOF REACHEDh r= --  $-*->}1 5 =-9 -  -"-) - 9-@#.. %PRESS START TO CONTINUE;OPTION TO END>}&$0. -)"AV.:8' HIT RETURN TO CONTINUE +04 8 D ->} N3' HIT RETURN TO CONTINUE +/ 3 X+0v$ D:DUMPER.BAS<rGHuAUTOTYPXYFILENAMECCCBYTELNINCLNULENPDIPSPECXPCHRBAB}@@ B}@(#))ԠҠŠϠӛ2#6-B6-A<#;;@,;@,'6-B}36-@;6-%F#T +-@(( +(T($ ҠP#R(*( Please eB}nter information belowR(# For default values (..) hit Z#2(( USR code FILENAME #24APd#f 6. B}Ap,7@<@,4Df+7@<@,4:)7@<@,4:,An#,67@<@,.D:,67@B},.x#( A$@( #:+AU)AU,0( ԠĠ: A#  6- B}6-&%#:6-A A 6(First Line Number(100) :#@6-@ A0<(Incremental line number (10) B}@# B#  #ڭئ٬#$ ))!6-%AV$$$T$(ϠŠĠB}^$+($(Hit to RUN again (+%'Š'TYPE LINES IN PROGRAM$'!6-B6-B!6-.B}' 6--" 8' )6-%CODE BYTEL': (,!F:@,"@6F:@,!@0: V'   B}`'+A$t'!!ͭ堣~'0(>:A%,(!( DATA 06-F:@,'(-@( COB}NT%-@($'ԭ'(>:A&,'$(>:A&,-6-$6-%'"AB@&"ϠB}'$AB@$РϠ($ D:AUTODATA>:A&,-6-$6-%'"AB@&"Ϡ@<GHewAUTOTYPXYFILENAMECCCBYTELNINCLNULENPDIPSPECXPCHRBAF}@@ F}@(# ԠҠŠϠǛ2#6-B6-A<#;;@,;@,'6-36-@F};6-%F#M +-@(( +(M( ҠP#R(*( Please enter informationF} belowR(# For default values (..) hit Z#2(( USR code FILENAME #24APd#f 6. Ap,7@F}<@,4Df+7@<@,4:)7@<@,4:,An#,67@<@,.D:,67@,.x#( AF}$@( #:+AU)AU,0( ԠĠ: A#  6- 6-&%#:6-F}A A 6(First Line Number(100) :#@6-@ A0<(Incremental line number (10) @# BF}#  #ڭئ٬#$ ))!6-%AV$$$T$(ϠŠĠ^$+($(Hit F} to RUN again (+%'Š'TYPE LINES IN PROGRAM$'!6-B6-B!6-.' 6--F}" 8' )6-%CODE BYTEL': (,!F:@,"@6F:@,!@0: V'   `'+AF}$t'!!ͭ堣~'0(>:A%,(!( DATA 06-F:@,'(-@( CONT%-@(F}$'ԭ'(>:A&,'$(>:A&,-6-$6-%'"AB@&"Ϡ'$AB@F}$РϠ($ D:AUTOTYPE>:A&,-6-$6-%'"AB@&"Ϡ'$AB@D,/btH?%@, (},(THE FOLLOWING PROGRAM CONVERTSG(DECIMAL TO HEJ}X NUMBERS!(D(ENTER A '0' TO END THE PROGRAMG( ;@,6.0123456789ABCDEF"(6-A@J}2-@@<6-P:',F5(7%@<%@,'6-&$56-'@P   (Z @  J}D:DECTOHEX-@@<6-P:',F5(7%@<%@,'6-&$56-'@P   (Z @  H  AH, (},(THE FOLLOWING PROGRAM CONVERTSN}J!(DECIMAL TO BINARY NUMBERS$(G(ENTER A '0' TO END THE PROGRAMJ( ;@, 6.01"#-N}!AU#(NUMBER TO LARGE- @0(6-A(2-@@<6-P:',F5(7%@<%@,'6N}-&$56-'@P   (Z @  D:DECTOBIN-@@<6-P:',F5(7%@<%@,'6L?'M_HN @, (},(THE FOLLOWING PROGRAM CONVERTSD(HEX TO DECIMAL NUMBERR}S!(D(ENTER A '0' TO END THE PROGRAM( ;@#,;@ ,!!6. !!!!!!! 40(R}-@B:,2''6-$@%@:7@:7,,&@G,,< F(P6- @0 D:HEXTODEC40(PsQRe z BABUECSTARSIZLINSCRSECTOAMMBUFFEOPCOUNBUFHBUFLSECHSECLRESULV} V} F;@ ,;@,46-+I:,&A,F;,;A ,?67,. '67@<@V},. ?67@,.7@,oAdA'Ae@29Af@KAf@]AgA(oV}Ah@2$$(THIS PROGRAM TRANSFERS FORTH<''(INTO TEXT FILES, AND VISA-VERSAF%%(USE TEXT FILES TO EDIT FORTV}H!K(NAME OF TEXT FILEP""(WHAT IS THE FORMAT OF YOURZ''(FORTH,1-1K SCREEN 64 CHAR. LINE_=#(2-1/2K SCREEV}N 32 CHAR. LINE'=01*02@d( START SCREENn;6-@6-@d#42/6-@;6-@2V}x+'(1-FORTH TO DOS, 2-DOS TO FORTH+41A42A A FORTH TO TEXT FILE11(V})INSERT DISK IN DRIVE # 1, TO READ SCREENS1( # OF SCREENS1$$A(!A$6-@%$6-$$6-C:V},'6-@-@' A@6-%@6-%A( K(CREATING TEXT FILE -G($INSERT DISKV} TO WRITE TO, HIT RETURN K"+@+@@,-@+$$A(,'66.7$&+&@V},<$,@ 6-B:,J,7<,4 "6-&@, A0T)(@7@<,) APY(@^ V}@TEXT TO FORTH-)(!INSERT TEXT-FILE DISK, HIT RETURN- @@6-V} A@!@ 6-B:,6-$%@("66-%@@ A@&6 67<%&@,.V},6-%@6 A@0. 6-.7%@<%@,4 A:,7<,0 "6-&@, ApD'"V}6-'CANT FIND BLANKNL#67<%&@,.7@<,46.7%@,B6-%@L AEX6@6-'V}@%P:,66-P:,%@bN(INSERT DISK IN DRIVE #1:( TO WRITE  SCREENSJ( HIT RETURNNl$ 6-$6V}-C:,$6-@%$v'6-@-@' A@6-%@6-%A( 6-P:'AV,V}6-&$AVArAs!Ai@!Ap6-P:'AV,6-&$AVAV}xAy6-?:Ad,$ D:EDIT4TH.BAS!Ap6-P:'AV,6-&$AVATAINIMAIFNMINITPINITDCURSOSCREEPICFNFROMTATOTADISPLAFONTBUFFEKEPICLOAPICSAVCOLOACOSAVEDIQUIZ}ASKFILKLEUCOLTAWIFILEMPTFILEDUMMENUFILASKFILOPFNTLOAFNTSAVLOHILOHIAAACTIPMFMISTAK:=Z}BqBqBq`BqBr'BtR BuI Bu BPVBhdB`@Z}6?QC DDeJKBqAVA6@K Z}!"#($%&'<(@)3B*+,-.AU/@0@Z}1AV234Qd!!***************************n!!* EXTRA COLOUR EDITOR *x!!*----------------Z}---------*!!* (C)1990 FRANKENSTEIN *!!*-------------------------*!!* NOT FOR DISTRIBUTION! *!!**********Z}*****************T PEPF$T. **** INITIALISATION ****8TBOL;@ Z},;@ ,V;@ ,;@,`6- BqjU:,%@t[D:ECOLEDIT.COM~A 6-U:,6-U:Z}%@,6-U:%@,6-U:%@,6-U:%@,6-U:%@,6-U:%@,6-Z}6-6- BPV6- Bhd6- B`6- A66-%A  6-?:,  Bx @`Z} Bx A& Bx A&( Bx @`2@<%@@F%@@PZ}%@@Z%@d 6-nA @8xAF:,QT **** MAIN MENU Z} ****TOP( ( (((( MAIN MENU(&&( 1. Load picture (.MIC)&&( Z} 2. Load fonts (.COM)&&( 3. Save fonts (.COM)&&( 4. Load colours (.COL)&&( 5. Save cZ}olours (.COL)( 6. Edit picture( 7. Quit program<"),6-&@H6=!* @Z}@bJQTT^ **** LOAD PICTURE ****hTrO|6.LOADP 0* @Z}@- Bhd B@2 A$((C@@$@@$@6-?:<<, )@Z}%@)@)@%@)@%@@ 6-?:Z},AQT& **** LOAD FONTS ****0T:OD6.LOADNPX 0*b @@Z}l)@)@v)@)@)@)@6-%+AV$,6-%+AVZ}$," Bhd*" BPUC@ Bhd A@P"("(I can't read this shit!((Press Z}any key.)A@AQ T **** SAVE FONTS **** T*O46.SAVE>PH 0Z}*R @@\)*@AU)*@AUf)*@ )*@ ADp)*Z}@ AU)*@ AuzB@ A@AQT **** LOAD COLOUR FILE ****Z}TO6.LOADP 0* @@C@A%@ 6-?:, Z} 6-?:, A$ Q. T8 **** SAVE COLOUR FILE ****B TL OV 6.SAVE` Pj 0*t 6-?:,~ @Z}@ B@A% @ A Q T **** EDIT EXTRA COLOR **** T O 6Z}-?:, 6-?:,  B2P @H -@ A%F:%,   AF:, AdAZ}U( <2 6-F:Ad,< 6-R:,F //6-%++"@,)+"@,)+"@,,P //6-&++"@,)+"@Z},)+"@ ,,Z //6-%++"@,)+"@,)+"@ ,,d //6-&++"@,)+"@,)+"@,,n !@9Z}6-x  6-@9 !@#6-  6-@# --"@)"@)"@Z})"@ AdAU ##6-%++"@,&+"@,, ##6-%++"@,&+"@,, !@6-Z}  6-@ !@6-@  6- +$@,%+$@, Z}AF:, -@ A%F:%,   -@6@" 2Z},  6 A@ 77"@1)"@0)"@&)"@$)"@)J AdAUT "@16-^ "@0Z}6-%@h "@&6-%@r "@$6-%@| "@)6-%@ AF:, Z}-@6?P 2A0@   A 6-?:<<< A@, M@ T:,"Z} 00%%+$@@,F:%%+$@@,,Z A( < =T:,"@ A 6-?:<<< , =F:BZ}2y,@ Q T& **** STOP IT? ****0 T: OD PN ((Aar joe sjoor! (Y/N)X <b )l Z}="@)"@xv "@+ Q T **** CLEAR SCREEN **** T O  B2PZ}  B2Q  +AR@ A Av Q T **** ASK FILENAME **** T Z}O < &&@@D:*.* 6-AU* <4 P> 6-H @R >B:,@*Z}@&\ E-@%+@$P:'@,,@%&+@$P:'@,,(>:A%, 7@<@,.7@Z}<@,f @p 6-%@z ? 8"!-@@8(THIS DISK IS EMPTY 8-@@Z}8(:CONTINUE :INPUT ) =(+"@2*"@&, @ ''="AU)+!@d* @eZ}%, 6.D: "AU 6-6@ 8-@@8( FILENAME: < . >  E < -@ Z}%@()-@ %@( "@F6-@$RR=+!@d* @,)+!@G* Z}@X,)"AU)+"A&*!6@,.A"A&6-@2)6-&@5"@A6-@8-@ %@Z}(>:,B5@26-%@)"@56-@L"@)"AUGVF`O-@-1Z}@%@K67@%<@%,.>:,O j@t6-&@e~-@_1@%+@$P:'@Z},,%@%+&+@$P:'@,,,}67@%<@%,.>:, A7@<@,4D:PZ}A/6.7@<@,#6.D:/6--@@7<,0 ##67@%<@%,.7<,Z}6-%@A  0D:.:-@@:( FILE >:@4,>:@4, @ 6.*A(Z}Q2T< **** MISTAKE! ERROR ****FTP]ZPd@n((Aaarcchh! ERROR!!!!x((Press maar Z}wat.)%D:ECOLEDIT.TURFTP]ZPd@n((Aaarcchh! ERROR!!!!x((Press maar X(8Z{\hЩԩ./!o `hxhౝXвHx`hhh i0hh ihh^}`h.01ԩ`H ԍ ԩh@H ԍ ԩōh@H ԍ ԩڍh@H ԍ ԩh@H _}ԍ ԩh@H ԍ ԩh@H ԍ ԩh@pppDDxDDhDDXDвDHA.hhhhh͠H_}HHHˑ̥i͐(hhhɥi8ͥihб`h ͥ)ˑiːx`h _} ~iːx`˩̢`hhɥi8ͥihб`h ͥ)ˑiːx`h \%EXTRA COLOR EDITOR------------------The "Extra Color Editor" (ECE) is made to add one extra color to a .MIC picture.If a c}picture is loaded it will be directly converted to eight fonts. This is necessary if you want to use the fifth (extra) color.c}There's however an awful restriction, you can only change the third colour register within a character! This means that you c}can still have only four colours within a character (a character is a piece of screen of 8 pixels high and 4 pixels wide).Yc}ou can save the changings on disk by selecting the 'Save colors' option (please use the extension 'COL'). So the picture willc} remain intact while having an extra (short) file for the extra color.There's also an option to save the picture. It won't c }save a normal format MIC picture but a COM file which contains the eight fonts to build the picture. The load address is set c }to $9000.A 'COL' file can be loaded with any picture. This file is exactly 125 bytes long, 5 bytes for the five color regisc }ters and 120 bytes to indicate which of the 120 possible characters in the picture should contain the extra color. 120 bytes?c } Yes, on screen there are 24 lines of 40 characters (24*40=960 bytes). Because the extra color can only be ON or OFF (0 or 1)c } we only use 1 bit for 1 character.960 bytes/8 bits = 120!!1. Load picture (.MIC)With this option you can load a micropac}int (MIC) picture.2. Load fonts (.COM)Herewith you can load a 'COM' file which is saved earlier with this program.3. c}Save fonts (.COM)With this choice you can create a 'COM' file. The file contains eight fonts. The start address equals $9c}000 and the end adress is $AFFF.An artist won't have to use the load/save fonts option. He can always use the 'MIC' files anc}d the 'COL' files.4. Load colours (.COL)The extra color file can be loaded with this option.Do this after you've load a c}picture, because loading a picture will clear the settings of the extra colour!5. Save colours (.COL)If you edited a pictc}ure with the extra color you should always use this option to save the changes.6. Edit pictureIf you select this option yc}ou will get into the edit mode were you can edit a loaded picture with the extra color.With help of the joystick you can movc}e the cursor. Now you'll notice the restrictions of the extra color.By pressing the fire button (and releasing it) you can sc}witch the extra color ON or OFF.Further you can use the keys 1, 2, 3, 4 and 5 to change the color registers. A spot in the uc}pper half of the screen indicates which color is active. This active color can now be changed with help of the cursor keys. Cc}ursor UP/DOWN is used to change the luminance and cursor LEFT/RIGHT can be pressed to change the actual color.By pressing onc}e of the console keys (START,SELECT,OPTION) you will return to the mainmenu.7. Quit programQuit the program if you are doc}ne. The computer will ask you if you're sure.-Frankenstein-o the mainmenu.7. Quit programQuit the program if you are do`=COM TOOL V1.0-------------A long time ago I made a useful utility to convert an appended (*) COM file into original data fg}iles. That program was written in Turbo Basic and I've used it often. One day I thought about changing the program a little sg}o it could also be used to get info from an appended COM file which is possible with 'Turbo dos' (option HEA). I also thoughtg} about some more nice options and I finally decided to start all over again, but this time I would use assembly. The result g}of my work is an very short executable (COM) file of about three kilobyte named COMTOOL.COM (CT). The program and source codeg } are shareware so please don't spread the program without this text. Shareware means that you should send me a donation if yog!}u like the program or if you use source code (or parts of it!!).* An appended COM file is the final (executable) file whichg"} mostly consists of many (short) files.With the program you can rip COM files and get info about a COM file. The usage is vg#}ery easy. Simply use the cursor keys (without the control key), the RETURN key and ESCape.After booting the program you'll g$}get a menu with only two options "Show info" and "Strip file".If you want to know how a certain COM file is build you can seg%}lect the 'Show info' option. When you select it (by pressing RETURN) it will ask you to select a drive (from 1 - 8). Yes! Youg&} can use the ramdisk! After selecting the drive it will display the directory of that drive and the first item on the list wig'}ll be displayed inverse. Now you can select the file by using the cursor keys and RETURN. Directly after selecting the file tg(}he program displays a table and starts to fill it with hex numbers. If you didn't select a COM file it will only load the whog)}le file and display the length.But if you choose a COM file it will nicely display the START and END addresses, followed by g*}the lenght of that part. If we're dealing with a RUN or INIT address the program will also display the contents of it in the g+}RUN/INI column. Hue what? Simple, you can exactly locate the RUN and INIT addresses of the examined COM file! Maybe you like g,}to roam around in a demo file, so now you can write all the addresses down (or make a screendump with help of Qmeg, Supermon g-}or whatever). It could happen that a "!" sign appears in the RUN/INI column. This means that CT discovered a part which was bg.}igger than 32K (this is the max. size of the CT buffer). There's nothing you can do about that or eh.. well, maybe I'll enlarg/}ge the buffer in a future version.Let's select the other option 'Strip COM file'. You'll notice that it's almost the same ag0}s the 'Show info' option. However, with this option you can actually strip the COM file and store its clothes on a disk!Therg1}e's another difference, right after you've selected the 'load' file CT will ask you to select a drive again! This is nessesarg2}y because CT wants to know on which drive you would like to store the stripped parts. It won't ask for a 'save' file. The savg3}e filename is build from the load filename and a number. For example, if you strip a file named 'LITTLE.COM' CT will create sg4}ave files like 'LITTLE.001', 'LITTLE.002' and so on. WARNING! Never strip a file with the extension '001' or any other numberg5} because in that case CT could destroy the original!After displaying a normal START, END and LENGHT it will ask you if you wg6}ant to rip that part. If you answer 'N' it will continue to show the info of the next part. In case you answer 'Y', CT will sg7}tore that part on the earlier selected drive and a '*' sign appears in the RUN/INI column.The RESET key can be used to retug8}rn to DOS and press ESC if you want to go back to a previous level.So, what's the use of all this? I don't know why it's usg9}eful for you but I'll tell you why I made/use my short utility.I've been programming for a long time in the ATMAS (assemblerg:}) and always got sick of all those short COM files. All my disks are full of these 'what the hell is this' files. Every time g;}I made I demo I got a disk full of crap, the source code and the final COM file. Now I can simply delete all the crap and theg<} only two things that remain are the source and the final version. CT can strip the final version into all those short files g=}again so nothing is lost!Because of the fact that I now use ATMAS and ST-65 (a cross assembler for the XL/XE on the ST) therg>}e was another problem. Since ATMAS loves COM files and ST-65 loves pure data files (and I like pure data too because it's relg?}ocatable) I had to convert these files. This can be done with help of a simple Turbo Basic program but now I can use CT for tg@}his job so I don't need to load Turbo Basic anymore.Some technical info:CT is loaded at $2800 so it won't cause trouble wigA}th most DOS's (I hope).The source is written for ST-65. More info about ST-65 can be found in the first issue of MegaZine.IgB}n the source you can find a 'file selector'. If you like to use this please let me know.The 32K buffer starts at $3C00.I'mgC} planning to release a more powerful version of CT in the future. Here's a list of possible extensions of the program:- A figD}le builder which makes it easy to append files- A larger buffer (42K or 46K)- A print option- More features in the strip fgE}unction.- A protector so you can protect COM files from people who want to change them with help of a sector editorWell, igF}f you can think of some more features please let me know so I can think about it!Greetinx!-Frankenstein-Reactions/donatgG}ions to:The High-Tech TeamP.O. Box 1648800 AD Franeker(Frl.) Hollandut it!Greetinx!-Frankenstein-Reactions/donatdK(0X.Y. - -(( -0.1 (.. ( , ,;. (..آ.L:(ש. (kI}..к. 6*  . ( )*L2(// c,.H (h`.(((((( .` `kJ}... 6* U. - , - ) )` - ) - * * - - )-.) ,L. -.... ;-L)." , ,kK}( g. . ). L.! .. )* - ,L)i(i -< < -L)<<`.. -.i..ikL}. )-`<.<.`<.<.`.8.......` {- , , ,`. c,. '/0 '/ - -,/(kM}.  `)i1}0m0.` ,..B|D0EHIJ V0wBHID0E V0WkN}HP08 Ƚ08 .. .i i..@Љ L..T/( )*L9*.. ZkO}, - - u, , ,L9*3}0m0Ii ..o0 n0.ʩo0` u,3.i.... .i kP}iLl+6.8).ο...8 Ll+.i.. -Ll+.80.8(Ll+XkQ}Y` Z, , - Z,`I `  `(`.`.XiPYi` ,`` j-kR}(` j-D0( , ,+` j-!` M-. S-. S-` M-. S-. S-` M-. S-. S-` M-< S-< S-``HJJJJkS}.h).` Z,ii` j-0(` Z,|/( -/( - ,`i(i`..BkT}.H.ID