O_Z44&Z4TO_ T&104,4R440W04t+42b&104,4uR44004;++32b&)04,-R440042b&*04,--R44d0042bP&)04,4R4430042b&)04B,{R440Q04n2b&)04A,JR440 04=2b& O_&mX  440oM4@4304Į4|2H0404,4R44J0042b6 &n  440n4@404Į4|2H0404U,4}R440#04@2b & O_ &)04D, R440042b} &X4,X44b2bX4X4  440m4@404Į4{62H0404p,PCRp2b &o44  440m{4@4a04Į4z2H0404,PCR2bq& O__&WZ4&B  440l4@404Į4z<2HO_]'e04[404^]4|2b0404=2bO_T4O__&\O4T4_&\]'O_04042bCS]'O_444b2b2\54@3d040442f404044s2h0404x04x2b2\54@3d 4_,\]'s4_&\]'04LDS)2bH4_&\O44 _'\]'04STS2bO_W 4_,\]'4&04CMPD2b4 &04CMPY2bk4&04LDY]2bH4_&\O44_'\]'04STY2bO_ 4?&04SWI22bf 4 _,\O4 40_/\]'/04L4خ042b04042bO_]'42b2\54@3d 4_,\O4 4_/\]'P4&04CMPU2b+4 &04CMPS2bO_, 4?&04SWI32bO_]'42b2\54@3d2O_O_0R4߇2b2~04462d5 T 4_&\]' 4_&\]'4O_,2~0442d5 4]5'DV1?&Z 4XZ40O404b2bVV4Q4S004X44?4440442j0O4 &O_4500 4&04ANDCCH2b 4&04BSR)2b 4_&\O4 4_&\O4 4_&\O4 4_&\O4 4_&\]'04FCBݣ2bZ4_&\O4X4_'\]'0404hA4ݐ2bZ4_&\O4X4_'\]'0404%B4M2b 4^_&\O4 4N_&\]'04FCB2b0O4F&O_0O4F'84O_& 4@2b 4& 4@2b4@ 2bCS]'N04FCBX2bT440e4@4݉044r2HT O_ O_(44O_, 42\5FCB2b0O4F42f5XX4ZXI0실4O__'\G2\54@3d2zD4ZD4]5'DV1?&V2~B4V44u2f5XX4ZXI0싪XB4V4X44'2h2\54@3d2zD4ZD4]5'DV1?&V2~B4V442f5XX44ZXI0*4b2bXB4V4X442h2\54@3d2~B4442f5E2\54@3dB4442f2\54@3dB44482f2\54@3dB4 442f2\54@3d2~B4 4402f5E2\54@3dB4 442f2\54@3dB4 44]2f2\54@3d2~B4 442f5E2\54@3dB4 442f2\54@3d2~B4442f5E2\54@3dB4442f2\54@3dB444<2f2\54@3d2~B4 44N2f5E2\54@3dB4 442fB442d2\54@3dB4 442f2\54@3d2~B4 442f5E2\54@3dB4 4442fB44H2d2\54@3dB4 44z2f2\54@3d2~B442d5E2\54@3d2~B4 44r2f5E2\54@3dB4 442fB442d2\54@3dB4 442f2\54@3d2~B4442f5E2\54@3dB444X2f2\54@3dB4442f2\54@3dO_4Q4X004A@NEG FCB FCB COM LSR FCB ROR ASR LSL ROL DEC FCB INC TST JMP CLR w2b4Q4004A@FCB FCB NOP SYNCFCB FCB LBRALBSRFCB DAA ORCCFCB ANDCSEX EXG TFR 2b4Q40b04A@BRA BRN BHI BLS BHS BLO BNE BEQ BVC BVS BPL BMI BGE BLT BGT BLE 2b4Q4A004A@LEAXLEAYLEASLEAUPSHSPULSPSHUPULUFCB RTS ABX RTI CWAIMUL FCB SWI `2b4Q4004A@SUBACMPASBCASUBDANDABITALDA STA EORAADCAORA ADDACMPXJSR LDX STX 2b4Q40K04A@SUBBCMPBSBCBADDDANDBBITBLDB STB EORBADCBORB ADDBLDD STD LDU STU 2b0450100096359635962b040123000044445555j2bO_44004,CCK2b44004,A,2b440o04,B 2b440P04,DP2b44q0004,X2b44R004,Y2b443004,U2b44004,PCp2bO_44004D42b44004X4`2b44004Y4A2b44004U4"2b44y0h04S42b44Z0I04PC2b44;0*04?42b440 04?42b44004A42b 44004B4h2b 44004CC2b 44004DP2b 440p04?4 2b 44b0Q04?42b44C0204?42b44$004?42bO_440U04X42b440604Y4q2b44004U4R2b44004S432bO_XI450>0 XI450&0 XI4500 XI4500 XI4500 XI4 500 XI4@500 XI4500 2\54@3d2|4 ]5'DV1?&4Z4X2~O_4Z4X44x2f5D2\584@3d40O404b2b '& '& '& 0'1'2'3& p4'5'6'7& G'(' '''& &042b4_&\O44_&\]'04#42b4&04<42b4_&\O4 4 _,\O4 40_/\]'2\54@3d2O_O_O_O_ 2~04Į42d5Z2~04Į42d5X2~04Į4y2d5V44b2bZ44&4XX444VF&04`2b f&eZ4,Z44b2bZ4Z  440uf4@4L04Į42H&N44  440u4@404Į4T2H&?Z  440t4@404Į4 2H\&@î  440tx4@4g04Į42H&?Z  440t:4@4 04Į4~2H&@î  440s4@404Į462H&Z 04`2b44004,UA2b 45,440m04,S 2bO_R4R.LZ4RXI06실4O_'&0404R44T0042bRR 2b04& O_0444Į42h0404i2bo&Z 04Z4]5'DV1?&44004!,4IZ4440042b0O4?_&\O40O4?_&\O40O4?_&\]'O_04042b &Z4`4]5'DV1?&RZ4/}Z4PP4,P4 4b2bPP4404Į4W2h0404,4!R44x0042bP ʧja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . bm&+_J&Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4DAFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok 4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b9!b! 52dn 9d 9@d #* O_d94@3d2zD4ZD4]5'DV1?&V2~B4V4442d2\5XO44C4WO40440442h04 EXEC ADR-> O_404O_40442d0404PROGRAM LOADED. PRESS ENTERO_4pZ04044N2\54@3d20442d04 LOAD SYMBOLSO_4@4SYMBOL FILE NAME : 0ȥ4SYM04442n0ȥ4&2\52~044i2d5CSO4CS]'J040Ⱥ4?4p442d040Ⱥ4O_4V@0Ⱥ442d 044*2d4'2\54@3d20442d04 LOADING TABLESO_404@4TABLE FILENAME: 04TBL04442n04^&2\5 X4X. O_Z4Z.2~0442d54O_'0442d04ERROR DURING READING :O_404O_4׮04YOU WILL NEED TO RE-STARTO_40404?42\5040W4Q2bX4Z4WO442hZZ 2bXX2b044D2d2\54@3d04LOAD PROG, SYMBOLS, TABLES?O_44 2bZP'p& 42b5S's& 42bT't& 42b2\54@3d2044t2d04 SAVEING SYMBOLSO_4s]04S@4SYMBOL FILENAME :0ȸ4SYM0444U2n0ȸ4&2\5O_XX4]5'DV1?&Z2~4Z442fO_&%Z44444b2bX2~04X44F2f5]'c0440ȸ442h04O44M $O_4i0ȸ4O_4] 44(04O_4C-X4XX4O_&2~0442d54O_'0442d2\54@3d20442d04 SAVING TABLESO_404@4TABLE FILENAME :04TBL04442n04/&2\5 X4X.O_Z4Z.042~X4Z442f5O442b2~0442d54O_'k0442d04ERROR DURING WRITING :O_404O_40404?4t2\5ZZ22bXX2b044=2d2\54@3d04SAVE SYMBOLS, TABLES?O_44 2bZS's& 4=2bT't& 42b2\54@3d0442d04 EXAMINE PROGRAMO_4|04r04DO YOU WANT TO ONTINUE EXAMO_4V@04OR E-START EXAMINATION?O_4(0404RE-START WILL CLEAR THE TABLESO_4֮04AND ANY CHANGES AND RE-ENTERO_404THE SYMBOLS. YOU ONLY NEED TOO_4t04DO THIS IF YOU'VE MODIFIED AO_4ZD04SYMBOL OR CHANGED THE EXEC ADRO_4(0404IF YOU ARE JUST STARTING ORO_4  ٮ04ONLY ADDED A SYMBOL, YOU CANO_4  04 CONTINUE.O_4  42bZ4R_&\O4Z4r_&\]'9H442d04WAIT...O_4 @ *42b42b4Թ2b2\54@3d2u0440Q442h04CURRENT EXEC ADR: $O_4 0Q4O_4  04NEW EXEC ADR : O_4 2b040Q4 4  0Q4c&2\52~0Q442d52\54@3d2x04SURE YOU WANT TO QUIT? O_4 12b040T44 V 2~0T442d5l2\54@3d2z044 2d0440V442h04 O_4 04O_4  04 04D: DISASSEM E: EXEC $O_4 o0V4O_4 d N04F: FORMAT L: LOADO_4 9 #04Q: QUIT R: RE-STARTO_4  04S: SYMBOLS T: TABLESO_4  Ǯ04 W: WRITE X: EXAMINE PROGO_4  04 0404O_4  q042b0404O_4 ^ H042b04CMD: O_4 5 2\54@3d2u04 *UNDEFINED*2b 042b04z2bO_4q2b42b42b4t2b42b42bO_Z4Z.4Z4O_442hZZ 2bO_Z4Z."ZXI4500 ZZ 2bO_O_Z4Z."ZXI4500 ZZ 2bCSO_O_ZO_lO_2\54@3d2x04SURE YOU WANT TO RESTART? O_42b040T44{2~0T44V2d5]' 472b2\54@3d2^4@$2blCS]']'4@2b4@,2b4@2bZOD& 4@2bE& 4@2bF& 4@@2b{L& 4@2biQ& 4@h2bWR& 4@2bES& 4@2b3T& 4@2b!W& 4@<2bX&4@2b2\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ od044(2d=T't&-04LOADING DEFAULTSO_4))ܮ4,2b]'@2\54@3dĮ04ENTER NEW ADDRES :$O_4)2bĮ0404?4((04/\&2\50|4$4/104/2b2~0|4Į42d5Į2\54@3dĮ04! SURE YOU WANT TO CLR ALL TABLES?O_4)2bĮ42bĮZ4Y_&\O4Z4y_&\]'42b2\54@3dĮ448P2d2\54@3dĮ04ENTER SYMBOL COMMAND LINEO_4(p(ZĮ04:44(/2bĮ0404?4'w'304Į4Ù2d2\54@3d2nO_k044(2d04 MODIFY SYMBOLSO_4''Ȯ04SYMBOLS ARE ENTERED AS:O_4''04S $1234 SYMBOLNAMEO_4''w04THE FIRST LETTER IS THE CMD:O_4']'G04C: CODE D: DATA E: EXECADRO_4'+'04 S: SYMBOL T: TABLE OF JUMP ADRSO_4&&04THE SYMBOL NAME CAN BEO_4& 44&n LONGO_4&&04&0440ȼ44.2h04THE ADDRESS IS: $O_4&h0ȼ4O_4&\&F2~0l4442f5j04THE SYMBOL IS : O_4&0l4O_4&%04THE SYM CMD IS: O_4%yO44%%Ů04%04 CLR SET EXIT UP/DN $ADR ZAPO_4%%42bZC'c& 4@2bS's& 4@2bZ'z& 4@2b'E'e& k$& 4@82by^&4] &44b2b;_&4[&44b2bk]'r2\5r4@3dĮ04ENTER NUMBER TO CLEARO_4$U$?Į4E2bĮZ1&442E2d2&Į4422d3&Į4422d4&Į4412dl5&Į441-2dP6&Į4422d47&Į4402d' '0&2\54@3dĮ04ENTER NUMBER TO SETO_4#9##Į4)2bĮZ1&4412d2&Į441G2d3&Į4412d4&Į440G2dl5&Į44/2dP6&Į4412d47&Į44/k2d' '0&2\54@3dĮ04"$4Į4%[2dĮ04ENTER NEW ADDRES :$O_4"2bĮ04044!! ݮ04'&2\504$4'04'Y2b2~04Į42d5Į2\54@3dĮ04! SURE YOU WANT TO CLR ALL TABLES?O_4![2bĮ4L2bĮZ4Y_&\O4Z4y_&\]'4^2b2\54@3d2O_44((0Ⱦ04CLEAR&2b44(0Ⱦ04SET&d2bO_Ƚ044!2d04 MODIFY TABLESO_4  w044044(g2h04 WARNING: MODIFYING THESE TABLESO_4 ? )04CAN CAUSE ERRATIC RESULTS!O_4 0404CURRENT ADDRESS: $O_404O_42~0444X2f5ȼ04USER SYMBOL IS : O_404O_4s041: LOADED IS : O_4d2~44-42d5O44&r0Ⱦ04O_48"042: OPCODE IS : O_42~44-72d5O44&!0Ⱦ04O_4Ѯ043: OPSTART IS : O_42~44-G2d5O44%0Ⱦ04O_4044: SYMDAT IS : O_4q2~44,2d5O44%0Ⱦ04O_4E/045: SYMADR IS : O_4 2~44+b2d5O44%.0Ⱦ04O_4ޮ046: DATA IS : O_42~44,2d5O44$0Ⱦ04O_4047: UNKNOWN IS : O_4~2~44*R2d5O44$0Ⱦ04O_4R<04204 CLR SET EXIT $ADR UP/DN ZAPO_442b44 /2dZC'c& 4@_2bS's& 4@c2bZ'z& 4@2b'E'e& Ƚ$& 4@22by^&4] &44b2b;_&4[&44b2bȽ]'/2\54@3d20442d04 FILE INPUTO_4@4SOURCE FILE NAME : 04BIN04442nO_04!;&2\504DO YOU WANT TO LOAD AT ANO_4004 OFFSET? O_42b0404472~0442d5]'I04 OFFSET: O_42b040442~0442d5040[4P0Z4I0Y4B0X4;0W442b[O4O_O_&\]'2~0442d54O_' 2\5ZO44!D4YOXO44!-4WO044044!2h04$4404O_4-442bP4P44_'\]'040V472b4 ]5'DV1?&T4RO_4T4R4VO442h44'#2d44&2dP4P4]4P0P44044 2h04$4404O_4040[4h0Z4a0Y4Z0X4S0W4L2b2~044"2d54CS&O_خ4O_'0C2\54@3dĮ49_&\C2\54@3dĮ4;_&\C2\54@3dO_EĮ4_&\O4B44_&\O4B44P_&\]'E2\54@3dO_EĮ4_&\O4B44_&\]'E2\54@3dĮ֮O_O_ĮZ2\54@3d2yO_[Į4O__.\O4[CS]'dXI0Y2~Y4Į4H2d5O42~Y44Į4H2d5O42~Y4Į4H2d5O42~Y44Į4H2d5CS]'2~0Y4Į462d5W2~0Y4Į4!2d5UĮXI4Y500 W44A-4UW2~W4Į4G2d5CS]'Į44b2b%2~W4Į4G2d5CS]'[Į44b2bq[]'WY44b2b4Į4H2dY44b2b4Į4He2dY44b2b4Į4G2dY44b2b4Į4Gx2dY44b2b4Į4G2dY44b2b4Į4G2d 2\54@3d4_&\]'4t2b4_&\]'2\54@3d2u4@%2bH44;2d04TRACING -> $ O_48.8WCS]'m0Z440Q44?2hT44;,2d040Q4O_4772~O_44:2d5]'خ]'2\52~Z44F2d5CSO42~Z44F2d5CSO42~Z44ED2d5]'Z40404040404040404040R44M2]'/Z4X2~4@s2b5]'44F2d2~4@2b5]'44@2d2~4@2b5]'442d2~4@d2b5]' 4@Z2bq2~4@2b5]' 4@@2bW2~44@f2d5]' 4@ 2b72~44@2d5]' 4@2b2~4@2b5]'4@2b4@12b]' 44C)2d]' 44Ch2d4@%2b4@2b4@2b4@2b4@2b2\54@3d2O_O_44<0P04 NO;2b44<0P04YES:2b4O_' "404462d04 DEFAULT SELECTION MODEO_45 404404 A FORMATED: O_44O44;0P04O_442b04 B LINE ADRS O_44O44;0P04O_444s04 C LINE DATA O_44iO44;0P04O_44L2b04 D LINE NUM O_44,O44;H0P04O_44304 E FCB ASCII O_43O44; 0P04O_432b04 F FDB ASCII O_43O44:0P04O_43304 G FCC STRNG O_43uO44:0P04O_43X2b04 H FCS STRNG O_438O44:T0P04O_43304I SCREEN COLOR :O_424422Ү04J LINES PER FILE : O_42442_204K STARTING LINE NUM : O_42442&2c04L ADR LABEL HEADER: "O_42P0?4O_42C"4422 04M DAT LABEL HEADER: "O_42 04O_42"4411ݮ041Ӯ04Q QUIT R RESTORE FMTSO_41104S SAVE FORMATS T LOAD FORMATSO_411o04CMD:>O_41l1V]'042b0404O_41A1+0462b4#2bZA'a&CSB'b&CSC'c&CSD'd&CSE'e&CSF'f&CSgG'g&CSDH'h&CS!I'i&î04 SCREEN COLOR:O_4/ٮ44/w/04WHAT COLOR SCREEN DO YOU WANT:O_4//04 0: DON'T SET SCREENO_4/p/Z04 7: U/C B ON W, B BORDO_4/F/00416: L/C B ON W, B BORDO_4//0432: U/C W ON B, B BORDO_4..ܮ0448: L/C W ON B, B BORDO_4..0464: U/C B ON W, W BORDO_4..0480: L/C B ON W, W BORDO_4.t.^04ENTER CHOICE: O_4.R2b04044,-0NJ'j&C04LINES/FILE (0=ALL): O_4-2b04044,,K'k&B04STARTING LINE NUM: O_4-2b04044,1,L'l&`04ADR LABEL (MAX 8): O_4-[2b0404?4,~,:04440 443$2j9M'm&`04DAT LABEL (MAX 8): O_4,2b0404?4,+044404422jQ'q'& R'r& 42bS's&?04SAVING FORMAT OPTIONSO_4,<,&O_443Y0P04NO12b0404O_4(04O4430P04O_4++0444+y+04O4420P04O_4++0444+;+x04O4420P04O_4+h+R04O442{0P04O_4+B+,04O442U0P04O_4++04O442/0P04O_4**04O442 0P04O_4**04O4410P04O_4**0444*?*|040x4O_4*|*f040Y4O_4*f*P2~044(2d54O__'\442f5CSO42~04X44U64V442f5O42~Z44'2d5CSO42~X44 2d5O42~V442d5O42~444[2d5CSO42~444[ 2d5O42~444Z2d5CS]'0442d0442d2\54@3d2x0ȴ4R2b/[YW4W./2~0Y44ܺ2d5UW4U50ȴ0 WW 2bO_450ȴ0 焮O4U4_,\T40ȴO450ȴ0 2~/0ȴ44R2f5W2~'0ȴ44R2f5UW4O_&O_0ȴO4WU4O_&O_0ȴO4UU4W, UW'[2~"0ȴ44RL2f5UU4O_&O_0ȴO4UU4W, UW"[0ȴ44W40t44Qe2j0ȴ4[O4Q0t4P[O4Q2b0t4FCCP2bT]'0t4FCSP2b4044Q0t4@4Q0ȴ4@4Q444 2444b2b2\54@3d2xVO_XO_T[O_ZX4_'\O4[O42~V44XS2d5O42~V44X2d5CSO4ZCS]'2~44ٌ2d5]'2~0V442d5TX4X2~T442d5[2~V44Wv2d5O42~V44W2d5ZX4_.\O4[CSO4O42~T444Y2d5CS]'X44b2bXX4_.\O4]'040X442f0442d2\54@3d2p0B440l44P2hB4_/\O4B4O__.\]'0B4440l44P2h0Ȭ4$4NM0l4N!2b2~B44W2d5]'DB40Q44O7EQU@4O)0Ȭ4@4O4O_44n22~B44U2d5]'AB4044NݍEQU@4N0Ȭ4@4N4O_4422~B44U2d5]'AB40֠44NEQU@4Nx0Ȭ4@4Nk4O_4422\54@3d20B440Q44OK2h04$4M 0Q4L2bB44NORG@4N04@4MO_4O_44I22\54@3d2|2~44U|2d5]'40404040404040404040R44]H240y44M_04@4MO0R4@4M?4442Z44b2b4Z.42~44T2d5]'2~44Y2d5]'خ04*44E2b4040404040404040X4040R44\0240a44LG04@4L70R4@4L'4X44y244#2dZZ2b044K2d2\54@3d2觮044E2d04 DISASSEMBLYO_4DD04DO_VO_T04FULL DISASSEMBLY? O_4D2b040ȴ4?4CCi2~0ȴ44C2d5CSO40ȴ4_J '\]'04STARTING ADR: O_4D2b040ȴ4?4C@B2~0ȴ44;2d5V04ENDING ADR : O_4C2b040ȴ4?4BB2~0ȴ442d5TVZ04OUTPUT TO P, S, D?O_4CnCX4`2bZ4P&0m4:-2H2bZ4S&0m4:-3H2b]Z4D&804 FILENAME: O_4B2b040m44B A0m4:-3HT2b040m4ASMO_4?2~044@92dO_'7044@e2d2~044@2d52\50m4:-2H&04PRINTER BAUD VALUE:O_4B4O44AA04ENTER NEW VALUE: O_4A2b040ȴ4?4@@0ȴ4G'42~0ȴ442d5O_ZO_ȣ0T440Ȥ44Il2h2~442d5]'خ]'044?)2d2\5Z4]5'DV1?&X2~ 4X44ϲ2fO__&\O42~ 4X44ϐ2fO__&\O42~4X44j2fO__&\]'%X444G44b2bZZ4V_&\O42~Z44ND2d5O42~Z44b2b44N#2d5CS]' Z442d2~Z44M2d5]'0Z442d Z442dZ4ZT4O_&Z4T_&\ȣ+0Z440Ȭ44G2h0Ȭ40Ȥ4_Er.\ȣȣ]'044=p2d0m4:-3EB&704 PRESS ENTER: O_4?G2b040ȴ4?4>k>'2\54@3dĮ4O_."XI0싮Į߃2\54@3dB2\54@3d2~4Į4Mt2dZZ44Į_'\]'Z44L2dZ4Z 2\54@3dO_CĮ4_&\O44_&\O44_&\O44_&\O44_&\]'@C2~44K2d5CSO4ĮO4O__&\]'O_C2\54@3dO_CĮ4_&\O44 _&\O44n_&\O44~_&\]'IC2~44K$2d5CSO4ĮO4O__&\]' O_C42b2\54@3dO_CĮ4"_.\O44/_-\]'@C2~44J2d5CSO4ĮO4O__&\]'O_C2\54@3dO_CĮ45_&\O447_&\O444_&\]'h04ERROR #e04e2bO_O_04AN ERROR OCCURED:e2b2\5[4@3d2L44b2d[040 4O_4_2b0404P4^^04ee& 04_iL4 44b2dB4_&\]'040404O_4[040404O_4\2~044\2d54O_'@42b0404O_4^^ʮ04dh2b04dX2bL44a2d04^L44a2d2~044\92dO_&040 4O_4^m04O_4^a^K2\54@3dO_xO_ O_O_O_O_04LBc2b04DTc2b2\54@3d2~O_Z4Z.4Z4O_44R2hZZ 2b2\54@3d2~O_Z4Z. 4Z4O_442h 4Z4O_442h 4Z4O_442h 4Z4O_442h 4Z4O_442h4Z4O_442hZZi2b2\54@3d2~4O_' "4044]2d04 O_4\04O_4\\04 BETA TEST VERSION 1.1O_4\\o04\e04 (C) COPYRIGHT JULY 1991 BYO_4\J\404\*04 Carey BloodworthO_4\[04 1601 N. HILLS BLVDO_4[[Ѯ04 VAN BUREN AR 72956O_4[[04[04 THIS PROGRAM IS SHAREWARE.O_4[[i04 PLEASE DISTRIBUTE FREELYO_4[O[904[/04 ANY DONATIONS, SUGGESTIONS ORO_4[Z04 BUG REPORTS WOULD BE WELCOMEDO_4ZZZ'4Z. ZZ 2b2\54@3d20404O_4WH2~044XE2d5CS]'T04044YY`2~04492d504044XY004044Y]Y2~0442d504044XX04044YX2~0442d504044XX2~044|2d504044XXt2~044M2d504044XXE2~0442d504044XZX2~0442d504044X+W2~0442d504044W]W04044WW0444044^2j2~044V/2d5]'04044WWB0444044^,2j044V2d2\54@3dB4 _.\O4B4Z_-\O4B4a_.\O4B4z_-\E2\54@3dB4A_.\O4B4Z_-\O4B4a_.\O4B4z_-\O4B40_.\O4B49_-\E2\5m4@3d2֮Į4 404Į4^2hO_4O_0拃500 04Į42dO_0O4_/\]'(0404\u04\J2b0404\12b Į0404O_4V~ 44VI2bĮ42\54@3d2|Į0m4:-3_\&\]'2\5Į0m4:-2_[&\]'2\52~/Į0m4Į4\2f5Z2~.Į0m4Į4\l2f5XZ4O_&O_Į0mO4ZX4O_&O_Į0mO4XX4Z/XZ2~:Į0m4Į4[2f5XX4O_&O_Į0mO4XX4Z/XZZ44b2bZO_Į04Į4R2dZ4ZĮ0mO5Į0m0 焮Į04Į0m4ASMO_4Q2\54@3d204Z:2bBZD4,DXD4X.U2~0Z4Į4Y2d5V0V44404Į4\92h0404Y04Y2bXX 2bĮ0404 4T 44S2b2\54@3d2u0B440Q4Į4[2hĮ040Q44S2b2\54@3d22~44 2d5]'2\50ȼ4Y2bEO42~44`2d5O42~44`2d5]'cȺ4_/\O44O__.\]'Ⱥ4Ⱥ404@4Y0ȼ4402H0ȼ4_X'\O40F4_X'\O40F4_X'\]']'4@h2b]' 44@2d]'B444@2fO_0ȼO4Ⱥ]' 4Ⱥ040ȼ4Ⱥ4R0F44R0F4O_4RQ44_&\O40m4:-2_W'\O40m4:-3_W'\]'4@H2b2~044O;2dO_'"2~044O2d52\54@3d22~04492d5Z44b2bO42~Z442d5O4Z4 _'\]'0Ⱥ4'4VZO4V2b$Z44$@4W0Ⱥ44 2H40ߣ44WFCB@4W{0Ⱥ4@4Wn44422\54@3d22~044O2d5X2~044;2d5V44b2bX44WP4VZZ44$@4V0Ȧ44J2H2~04Z442f5CSO4O42~X442d5O42~V442d5]'0Ȧ4"4UTXO4UOVO4UG2b40f44VLFDB@4V>0Ȧ4@4V1444242\54@3d22~0442d5Z2~0442d5X2~0442d5V44b2b2~444\2d5O42~444\F2d5O42~444[2d5O42~444\@2d5CSO42~04Z44Ug4X4PjԶ&ن"Or44"~0Orj0o0&0 ̧43~4@Pjn2"5큌%5r5ط5B %5큌%5r$޷nP4h@jf59P4f@hOj59h DISTRAC V3.2 DSTRAC32.DEF4@3d0r4O_5 4@5@OZZ4@_&\O4Z4 _&\]'O_ZZ4O_'2\54@3d2~O_E0q4O_5 4@5@OZZ4&ZZC]'5Z4@_&\O4Z4 _&\]' 4'2bZ4&E2\54@3d2|4 ]5'DV1?&Z4X2~O_4Z4X44w2f5D2\54@3dB4D2\54@3d2rO_P0\V 44v55RB4R4v55TB4R4v52bPP44vuP4T4/,44b2b O_Z44b2b4Z.1V4Z42~4P4Z442f5ZZ 2b2\54@3d2rO_P0V 44u55RD4R4u55TD4R4u52bPP44uP4T4/,44b2b O_Z44b2b4Z.04P4Z4V4Z4O44}2hZZ 2b2\54@3d2{O_W@4 4u*54t44b2bXO_ZX4Z.5WO42~B4Z4 4t44|2d5WZZ 2bWE2\54@3d2{EW04044t&2\52~044l2d5ZZX2~Z44,2d5CS]'Z4044,2fWrZ4442dj40&Z40442fW7Z4ZZ4 &O_ZZ4X& O_EWO_WW]'O2\54@3d2z2~B442d5ZZXO_GO_VO_W04044s(2~B44{2d5CS]'2\52~Z442d5CS]'WZZ4412dj4B& WV/Z4ZZ4 &O_ZZ4X&WW]'yV]'040\44rc04044rKVG2\54@3d2|O_0OZXX4Z_-\O4X0O4 _&\]' X4X X4,$044X44b2b44p2h2\54@3d2xO_ZO_D044]2d04pl&2\50O4$&VO_0O4/ O_0OVV0O4 &V44b2bVV0O4 &V44b2bVV0O4 &V44b2bVTV4T.ST0O404b2bXX4 ,X44b2bXZ44p4XZTT 2b2~044q2d5ZZD2\54@3d2 0Ⱥ404n2bO_K0Ⱥ4o&2\50Ⱥ442d0Ⱥ4n&2\50Ⱥ0Ⱥ4444o2h2~0Ⱥ442d50Ⱥ4n&0440ȳ44p2h4_/\O44O__.\]'04440ȳ44pK2h04$4n 0ȳ4m2b2~ 0Ⱥ44n2f5ZZ4O_& O_0ȺOZ0Ⱥ44Z44n2h0Ⱥ442d0Ⱥ4m&2\5O_0ȺO4 ,O_4 50Ⱥ0 040Ⱥ4m92bK2\54@3d4.%XI4B500 2\54@3d4. %XI4B500 2\54@3d2}0 [0Y[O4C_&\]'Y44+2dY44s2d[O4D_&\]'Y44u2dY44t2d[O4E_&\]'Y44s2dY[O4S_&\]'Y44s2dY44s_2d[O4T_&\]''Y442dY44u'2dY44s"2d2~044y2d5CS]'Y44u?2d2\54@3d2O_O_XI4500 CSO_Z4Z./4Z42~4Z442f42hZZ 2bO_ZZ4]5'DV1?&X2~4X442fO_&%X444l44b2bZ)2~04Z44^2f5]'0442dZ4ZZ4O_&g2\54@3d22~040[40Y40Ȩ442j5ȗ[O4_[[O4S_&\O4[O4C_&\O4[O4T_&\O4[O4D_&\O4[O4E_&\]'/0Ș40Ȩ4ip2bYȦ[ȥ0Ș442dY2\54@3d20F44044k2hD4&0F444044k\2h040D4h04h2b2~04F442f5]'0404h2b2\54@3d0442dO_0O4O__&\]'O_E2\50O4N_&\O40O4n_&\]'O_E0O4Y_&\O40O4y_&\]'E2\54@3d&04 DISK FULLg2b,&%04DISK REQUEST ERRORg2b&!04FILE NOT FOUNDg2b&04 I/O ERRORgb2b&04 END OF FILEg<2b&!04NO ERR # GIVENg2bc&,04SUBROUTINE STACK OVERFLOWf2b/&204ERROR IN DEFAULT FILE f04f2b&(04SYMBOL TABLE OVERFLOWfu2b&"04NO CODE LOADED.fK2b&'04BREAK PRESS INTERUPTf2bl &&04JUMP TABLE OVERFLOWe2b>44044h2Q&  4& 20,4999&=:"STANDBY...":"DSTRAC32.B2",R&P1:0,0:: 265469,0: 65468,63:"TCESHELL":&1:0,0:: 22e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &M"DSTRAC32.LDR&:"STANDBY...": &HFF22,&H10: 65469,0: 65468,63:"TCESHELL",R&p1:0,0:: 2: 2 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ #$'(*+,-.DSTRAC32BAS TDSTRAC32B2 !DSTRAC32LDR"DSTRAC32EXEDSTRAC32DEF%,BASIC13 SYM& DSTRAC32DOC)4P/&ن"Or44"0Yr0po0&0 ̧43~4@\P2"5큌%5r5ض'55B %5큌%5r$޷n4@3d20ȩ4 DSTRAC32EXE C2bZ 4Z.+4Z44b2b4Z0ȩOZZ 2b2\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ odja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . bm&+_J&Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4D 4AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok P#H%7##'#4##4#A##A#H#~ޭP9ޭP9n0#Oڿ] & Z& 0 &߶L &1Lf?#' &, ܿ@O&9' LT%\O9ڿٍڦ& ~ڦ')&|#:D%Bn1;45&' %; J&0&O"·ķƷɷʷ̷ηз9ކ` %9φ`% '% KDISK`ERRORINSERT`PROPER`DISKl`PRESS`ENTER4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oNO 1400 NO 10 NO NO NO YES YES YES 80 LB DT !FPASBOOT OBJDSTRAC30DEFDIS OBJ,ALOADER OBJ LOADER BIN S $0100 SWI3JMP S $0103 SWI2JMP S $0106 SWIJMP S $0109 NMIJMP S $010C IRQJMP S $010F FIRQJMP S $0112 USR S $A000 POLCAT S $A002 CHROUT S $A004 CSRDON S $A006 BLKIN S $A008 BLKOUT S $A00A JOYIN S $A00C WRTLDR C $A00E INITIALIZE S $A027 STARTUP C $A074 BASICSTARTUP C $A0E8 RESET C $A0F6 CARTINTERUPT S $A0FC ROMPACKTST C $A108 GOOROMPAK S $A10D RAMDIRPAGE S $A147 COPYRIGHT S $A171 INPUTROUTINE S $A199 FLASHCURSOR S $A1B1 GETKEYBFLASH S $A1C1 CHECKKEYB S $A1CB STROBEKEYB S $A22E CHECKSHIFT S $A238 DECODEKEYB S $A245 DECODESPCL S $A26E KEYBKTBLE S $A282 PRINTDV S $A2BF RS232BYTEOUT S $A2FB RS232BITOUT S $A30A PRINTTOVIDEO S $A35F INITOUTPARAM S $A384 SETCASSPARAM S $A38D IPCHARTOBUFF S $A3ED CHKFILEOPEN S $A406 CHKFILE4OUTP S $A416 CLOSEN S $A426 CLOSE S $A43D FLSHCASOPBUF S $A44C CSAVE S $A498 CLOAD S $A4FE CLOADM S $A53E EXEC S $A549 CHECK4PAUSE S $A554 SETCRSPRNTAT S $A564 INKEY S $A578 EVALFILENAME S $A59A CPYBYTESXTOU S $A5A2 GETDEVNUM S $A5C5 GETFILENAME S $A5CE EOF S $A5EC SKIPF S $A5F6 OPEN S $A624 OPENFORINPUT S $A658 OPENFOROUTPT S $A681 SRCHCASFLNAM S $A6F3 FLSHLHSCHAR S $A70B LOADCASBLK S $A749 INPCASSBYTE S $A755 INPBIT2CARRY S $A75D GETWAVELEN S $A76C TIMECASSINP S $A77C GETCASTIMPLS S $A7AD CHKCASPLSWID S $A7BD MOTORONOFF S $A7D8 STRTTAP4WRT S $A7E5 COMPLTTAPOUT S $A7F4 OPCASSBLOCK S $A828 OPBYTE2CAS S $A85C WAVESHAPTABL S $A880 SET S $A8B1 BASICRESET S $A8F5 POINT S $A910 CLS S $A92D CLR2EOLN S $A94B SOUND S $A974 AUDIOOFF S $A985 TIMDOPTHRDA S $A990 AUDIOONOFF S $A9A2 RESETPIA C $A9B3 IRQ S $A9C6 JOYSTK S $A9DE READJYSTK C $AA1A CHKNUM0TO9 T $AA29 BASICFUNCTBL T $AA31 FUNCJMPTBL2 S $AA51 MATHPRCEDJMP S $AA66 BASICWORDCMD T $AB67 BASCMDJMPTBL S $ABAF BASICERRMSGS S $ABE1 MSGERROR S $ABE8 MSGIN S $ABED MSGOK S $ABF2 MSGBREAK S $ABF9 SCNSTK4FORPT S $AC1E OPNGAP4NEWLN S $AC33 CHKMEM S $AC46 ERRORPROCSNG S $AC73 DIRECTMODE S $ACA0 OUTPTROUTINE S $ACA5 INSTNEWLINE S $ACEF RSTBASICPTRS S $AD01 FNDBASLNNUM S $AD17 NEW S $AD19 INITBASCOLD S $AD47 FOR C $AD7F FORPRT2 S $AD9E BETWNSTMTS S $ADC0 INTERPRET S $ADE4 RESTORE S $ADEB KEYBTWNSTMT S $AE02 END S $AE09 STOP S $AE30 CONT S $AE41 CLEAR S $AE75 RUN S $AE86 GOTOGOSUB S $AEA4 GOTO S $AEC0 RETURN S $AEE0 DATA S $AEE3 GETNEXTLINE S $AEE5 REM S $AEE8 SCANROUTINE S $AF14 IF S $AF42 ON S $AF67 ASCII2INTGR S $AF89 ASSIGNVARLET S $AFA6 ASSGNSTRING S $AFCF MSGREDO S $AFD6 INPTREAD S $AFF5 INPUT S $B046 READ S $B0B9 GETNXTDATA S $B0E8 MSGXTRAIGNOR S $B0F8 NEXT S $B141 EVALEXPR S $B156 COMPUTEXPR S $B172 LESEQUGREAT S $B1C6 BCKOFFBASPTR S $B1CB CMPOPPRIOADR S $B1CE CMPOPPRIO S $B1D4 PSHOPUNDRVAR S $B1E2 FPAC1TOSTK S $B223 CHKOPERAND S $B24E NOT S $B277 SNERROR S $B27C UNARYMINUS S $B284 VARTOFPAC1 S $B290 RHSFUNCS C $B2D4 ANDOR C $B2F4 COMPARISONS S $B34B MULTIPLEDIM S $B34E DIM S $B357 NEWDIMVAR S $B3A2 CHKA2Z S $B3AB NEWVAR S $B3DF FPCON32767 S $B3E4 INT16BIT2D S $B401 FNDARRAYVAR S $B44F NEWARRAY S $B4CE MUL16BTUNSGN S $B4EE MEM S $B4FD BASVALTOSTR S $B50D OPNSTRNGSPC S $B516 BUILDSTRING S $B56D GNRLSTRNGOP S $B591 GARBAGECOLEC S $B60F STRNGCONCAT S $B643 STRNG2MEM S $B654 CLENSTRNGSPC S $B675 CLENTEMPSTRN S $B681 LEN S $B68C BASICCHR S $B6A0 BASICASC S $B6A4 STRNGROUTINE S $B6AB BASICLEFT S $B6C8 BASICRIGHT S $B6CF BASICMIDCMD S $B6F5 GETSTRNGPARM S $B70B GETNUM0TO255 S $B716 BASICVAL S $B734 FORPEEKPOKE S $B73D FPACTOD16BIT S $B750 PEEK S $B757 POKE S $B75E LLIST S $B764 LIST S $B7C2 UNTOKENIZE S $B814 CHARTOBUFF S $B821 TOKENIZE S $B86B COPYLITERAL S $B8F7 PRINT S $B8FE PRINTATDEV S $B95C PRINTCR S $B966 COLUMNTAB S $B99C PRNTEACHCHAR S $B9B4 FPAC1PLS1HAF S $B9B9 XMINUSFPAC1 S $B9BC FPA2MINFPAC1 S $B9C5 FPA2PLSFPAC1 S $BA18 NORMALIZEFP1 S $BA44 SHIFTFPAC1 S $BA79 NEGATEFPAC1A S $BA92 OVERROR S $BA97 SHIFTFPAC3 S $BAC5 FPCON1 S $BACA XTIMESFPAC1 S $BACC FPA2TMSFPAC1 S $BB2F XTOFPAC2 S $BB37 SGNOFFP2XFP1 S $BB48 EXPO1PLSEXP2 C $BB5C CHKFOROV S $BB6A FPAC1TMS10 S $BB7D FPCON10 S $BB8F XDIVFPAC1 S $BB93 FPA2DIVFPA1 S $BC06 DIVBY0ERROR S $BC0B RES2FPAC1 S $BC14 XTOFPAC1 S $BC2F FPA1TOSCRTCH S $BC33 FPA1TOX S $BC4A FPAC2TOFPAC1 S $BC5F FPAC1TOFPAC2 S $BC6D GETSGNFPAC1 S $BC7A BASICSGN S $BC93 BASICABS S $BC96 CMPRFPAC1VAR S $BCC8 FPAC1TOINT S $BCEE BASICINT S $BD09 CLRFPA1MANTI S $BD12 ASCIITOFPAC1 S $BD86 FPAC1X10PLSB S $BD99 BPLUSFPAC1 S $BDA5 BUILDEXPONET S $BDB6 FPCON999999! S $BDBB FPCON99999! S $BDC0 FPCON1E09 S $BDC5 PRNTFPACINT S $BDD9 FPAC1TOASCII S $BEC0 FPCON1HALF S $BEC5 FPCONVCONSTS S $BEE9 NEGATEFPAC1B S $BEF0 SUMMATION C $BEFF DOSERIES S $BF1F BASICRND S $BF3B BASICRND0 S $BF40 DORND S $BF74 RNDCONSTANTS S $BF78 SIN S $BFBD SINCON2PI S $BFC2 SINCON1QUART S $BFC7 SINCONSTATNS S $BFF0 ROMREFLECTNS "# DISTRAC V3.2 BETA 1.1 (C) COPYRIGHT July, 1991 Mr. Carey Bloodworth 1601 N. Hills BLVD. Van Buren, AR 72956 What is it? Distrac is a symbolic disassembler that attemps to distinguish between code and data and futher attempts to distinguish between FCC and FCS strings and FDB and FCB data. This is BETA test version 1.1. It was written using the DEFT Pascal compiler V4.1 available from TCE SOFTWARE. Distrac will not teach you how to disassemble programs, but it will alow you to do so if you are already familiar with disassemblers and assembly language. This program is shareware, please distribute it freely. REQUIREMENTS: A 512k Color Computer 3 and a disk drive. FEATURES: Multi-Segmented files up to 64k in length. Up to 8192 user definable symbols. Symbols can be loaded from disk or entered from keyboard. Recognizes differences between Data labels and Address labels. Generates symbolic labels for all references. Disassembly session is resumable ( you can save your work and return later) Program optionally recognizes FCC and FCS strings. User definable defaults. Recognizes hidden opcodes that start inside of another opcode. LIMITATIONS: This program is only a BETA test version. There are still a few bugs in it. The 40 and 80 column screens of the Color Computer 3 are not supported. This is because of limitations in Deft Pascal. LOADING THE PROGRAM: Because of its size you must use the loader program supplied on disk. When you run it, it will try to load the DSTRAC31.DEF file. This is your defaults that you have selected. If it is not found, it will use it's pre-compiled defaults. You may modify the defaults with a text editor, or with the F format menu selection. MENU OPTIONS: The option 'D' is disassembly and is fairly self explanitory. The option 'E' asks for the exec address. You may enter decimal or Hex. The option 'F' lets you set DISTRAC's many options. The option 'L' loads the Program, Symbols, or Tables. The option 'Q' quits the program. The option 'R' re-starts the program. The option 'S' allows you to enter/modify your symbols. The option 'T' allows you to modify the tables it uses for Disassembly. The option 'W' allows you to save your symbols or tables. The option 'X' examines the program so it can be disassembled. THE DISASSEMBLY MENU SELECTION: This disassembles the program after it has been examined. Anything that is not specificly indicated as an opcode is assumed to be data. You can do a full or partial disassembly. You can send the output to screen, printer or disk. The disassembly can be paused at any time by pressing the space bar, or stoped by pressing the break key. THE EXEC ADDRESS MENU SELECTION: This allows you to change the execution address of a program. THE FORMAT MENU SELECTION: The Format menu option allows you set various options. 1: It asks you what kind of 32 column screen you want to use. Normal reverse video lower case, black on white, black border. True lower case, black on white, black border. Reverse lower case, white on black, black border. True lower case, white on black, white border. Reverse lower case, black on white, white border. True lower case, black on white, white border. (Sorr, Deft Pascal, and therefore Distrac, doesn't support the 40 or 80 column screen of the CC3) 2: Do you want formated output? Formated output is the 2nd example below. SYM1 LDA #3 SYM1 LDA #3 This allows you to keep the symbols on the left visually seperate from the disassembly mnemonics. 3: Do you want line address? Some times is handy to know the exact address of each opcode disassembled. Some times you don't want it. 4: Do you want line data? You can include the opcode bytes for each asm instruction. FCC and FCS strings will be cut short to 5 bytes. 5: Do you want line numbers in the disassembly? 5A: Starting line number? If you want line numbers in the disassembly you will be prompted for the starting address. Line numbers increment by 1. 6: Do you want ASCII characters to be printed in FCB's? 7: Do you want ASCII characters to be printed in FDB's? 8: Do you want FCC strings? 9: Do you want FCS strings? FCS strings are just like FCC strings, except the high bit is set on the last character of the string. 10: The header for generated address labels. This is the character string you want printed in front of an address label. (This is so you can keep them seperate from data labels). 11: The header for generated data lables. Same as above, except for data. 12: Do you want to save your defaults. Allows you to save your setup info in the file DSTRAC32.DEF. 13: Do you want to load your defaults. Allows you to load your setup info from the DSTRAC32.DEF file. 14: Do you want to re-initialize the default with the compiled defaults? THE LOAD MENU SELECTION: This allows you to load the program to be disassembled, the user defined symbols and the saved tables if you want (more on that last one later) You can also load a program at an offset address. THE QUIT MENU SELECTION: Allows to quit the program. THE RE-START MENU SELECTION: Lets you restart the program from the begining without having to reload it. This option is also used if you want to disassemble a different program, or if you loaded the wrong one. THE SYMBOLS MENU SELECTION: This allows you to add, delete, or browse the user defined symbols. Its options are: go up 1 address. go down 1 address. go up 256 addresses. go down 256 addresses. return to main menu. E: return to main menu. C: clear a symbol S: set a symbol Z: clear all symbols. $: enter a new address. When you enter a symbol, its format is CMD char, , address, , the defined symbols (up to 12 chars). The CMD chars are: 'C' I know this is code. Be sure to disassemble here. 'D' I know this is data. Be sure NOT to disassemble here. 'E' I know the exec adress is different. 'S' This is just a symbol. Use it any way needed. 'T' This is the starting address of a 2 byte address jump table. (examine the included BASIC.SYM for example. NOTE: the program will assume the jump table extends until it runs into know code, or until one of the addresses points to an area outside of the program). For examples of the formats, examine the BASIC.SYM file. THE TABLES MENU SELCTION: This selection really should NOT be used, however, if needed it is here. This allows you to modify the tables it uses to produce disassembly to fine tune the disassembly output. BE CAREFULL, THESE TABLE ALSO EFFECT THE EXAMINE PROGRAM OPTION. This is why re-start option is available in X option. THE WRITE MENU SELECTION: This allows you to save all your symbols. It also allows you to save your tables, so that you can resume you session at a later time. THE EXAMINE PROGRAM MENU SELECTION: Before the program can disassemble a program, it must eXamine it first. It uses the execution address, and any new symbols defined as T or C as starting points. This section has 2 options, Re-start, and Continue. The only time you really need to Re-start is if you have messed up the tablesor deleted any symbols. Most of the time you can just to a Continue. EXAMPLE, DISASSEMBLING BASIC: Let's disassemble BASIC. First we need to put a copy of it on disk. Insert a fresh disk and enter: SAVEM"BASIC.BIN",&HA000,&HBFFF,&HA027 (You may want to first poke &HFFDE,0 to switch to ROM and remove all the patches that CC3 super-basic makes) (Also please note that I haven't actually tried this disassembly with the BASIC that comes with the CC3, I used BASIC V 1.3 from a CC2 because it was handy. It should work OK and disassemble corectly.) LOADING DISTRAC: Insert your system disk and enter: RUN"DSTRAC32" In a moment you'll see the title screen and then the main menu. SELECTING THE PROGRAM TO DISASSEMBLE: The first thing you need to do is load the program to disassemble. Select the L Load option. It asks you if you want to load a Program, Symbol definition file, or a Table. Select P. It then asks you for the file name. It automatically defaults to the .BIN extension. If it can't find the program, it informs you and re-prompts you. Just press enter to return to the main menu. In this case enter BASIC It will then ask you if you want to load it at an offset, enter NO, or just press return. LOADING USER DEFINED SYMBOLS FROM DISK: Select the L load option. Select the S symbol sub-option. It prompts you for the file name where you've stored the symbol file. It automatically defaults to the .SYM extension. If it can't find the symbol file it informs you and re-prompts you. Just press enter to return to the main menu. In this case, enter BASIC13 (it will add the .SYM extension). EXAMINING THE PROGRAM: Before you can disassemble the program you must have the program eXamine it. Select the X eXamine option. It will ask you whether you want to re-start the examination or continue it. Since we just started we can continue. If we had deleted any symbols or changed the exec address it would be best to re-start. Because the program compiles several tables of information, if you Continue after adding symbols to a previous disassembly it may be a little inaccurate. You may choose the Re-start option at any time, but this will clear any changes to the Tables you may have made (described later). DISASSEMBLING THE PROGRAM: Select the D disassembly option. It asks you if you want a full disassembly or just from selected areas. Just pressing enter defaults to full. If you don't want a full disassembly, it prompts you for the starting and ending addresses. Pressing enter at the start will default to the begining and pressing enter at the end address prompt will default to the end address. It then asks you if you want to disassemble to Disk, Printer or Screen (default). If you choose Disk, it prompts you for the file name (default .ASM extension). If you choose Printer, it gives you a chance to change the printer baud rate. The program will then produce the disassemble. NOTE 1: If you wish to abort the disassembly, press BREAK. NOTE 2: If you wish to pause the disassembly, press , the 'at' sign, or press shift . Press any key to resume. NOTE 3: If you disassemble to file, it will automatically break the file into small chuncks, so you can easily load them with your word processor. Its output will be similar to: FILE.ASM FILF.ASM FILG.ASM...... etc. It is best to use a number as the last character of a file name (not the extension.) This feature can be disabled from the F format menu and entering 0 as the number of lines per file. RESUMING A SESSION: To quit the program analysis so you can resume later, select the write option and then save your symbols and tables to a new disk. Later you can resume by running the program and selecting the L option to load the program from you original disk and then the symbols and tables from your new disk. You may also want to save your defaults onto you system disk. FILE NAME SPECIFICATIONS: NAME NAME.EXT NAME/EXT NAME:DEV NAME.EXT:DEV NAME/EXT:DEV :DEV DEFAULT EXTENSIONS ARE: .BIN for program file .ASM for disassembly file .SYM for defined symbols file .TBL for table files DEVICE NUMBERS ARE: :-3 SCREEN :-2 PRINTER :-1 CASSETTE TAPE :0 DRIVE 0 (DEFAULT) :1 DRIVE 1 FINAL NOTE: Finally, I would like to remind you that this is still a beta test version. There are bound to be a few bugs left in it. It would be appreciated if you would let me know about it, and how to recreate it. Any suggestions would also be welcomed. Donations would also be appreciated, and would provide incentive to improve the current version. Thank you, JULY 23, 1991 Mr. Carey Bloodworth 1601 N. Hills Blvd. Van Buren, AR 72956 it, and how to recreate it. Any suggestions would also be welcome