-Z80DIS 21 01/11/86 README 21 dQZ80DIS 000gtZ80DIS 001.2Z80DIS COM`kZ80DIS20DQCZDINSTALCOM7OZDINSTALDQAZDINSTALMQG t January 11, 1986 This is the READ-ME file from the Z80DIS.LBR package, version 2.1 ------------------------------------------------------=========== Version 2.1 change note: Versio 2. adde artificia intelligenc t Z80DIS Versio 2. correct smal bu i th processin o INC DEC an L usin inde register I an IY Versio 2. als significantl enhance th abilitie o th disassem- ble t distinguis betwee ASCI blan (2 hex an th instructio "J NZ,xxxx (als 2 hex whic lead t lot an lot o phon instructio jum references Versio 2. worke wel i determinatio o correc brea type fo 808 code Wit versio 2.1 yo no hav tha reliabilit wit Z8 cod a well. Z80DIӠ i a entirel ne disassemble fo Z8 base CP/͠ sys- tems Z80DI i writte i TURB PASCAL Z80DI generate Z8 mnemonic an prepare a assembl languag fil wit man spe- cia feature fo eas o understandin th inten o th disas- semble code Th sourc fo Z80DI ha grown wit thi version u t 580 line o coding Wit version 2. an higher yo nee kno ver littl abou th forma o th *.CO fil t produc nearl finishe sourc fil i mos cases I additio larg numbe o convenienc feature an default hav bee adde tha wer no presen i versio 1 ful synopsi o th version o th progra i curren distri- butio i include i th Z80DIS20.DO file Highlight o th curren change follo a th en o thi paper. Bot th Z80DI progra an th Z80DIӠ documentatio ar (C Copyrigh 198 an 198 b Kennet Gielow Al Right Reserved Whil ɠ a freel distributin th binar cod fo non-profi use a reservin th sourc cod a trad secret. Thi progra require Z8 base compute runnin CP/͠ versio 2. o higher Th cod wa compile fo 50ˠ TPA th to addres i C7FF Thi slightl smal siz wa don fo compatibi- lit wit CP/ 3. an ZCPR3. Th followin file wil b foun o Z80DIS21.LB fo thi prog- ra distributio librar package: Z80DIS.COM - th disassembler program Z80DIS.000 - overla file fo Z80DIS Z80DIS.00 - overlay file for Z80DIS ZDINSTAL.COM - a terminal command installatio program ZDINSTAL.MSG - contain tex o ZDINSTA message ZDINSTAL.DTA - contain termina characteristic data Z80DIS20.DOC - a abbreviate use manua i read t prin format (Se documentatio notic Z80DIS 2.1 01/11/86 Th Z80DI binar i i thre files Th ZDINSTA file ar base o th TURB Toolbo GINS progra an wil tailo th interac- tiv display t you terminal. Th progra i eas t us wit interactiv display fo para- mete specification Al contro parameter hav default prese t th mos likel values Th DO fil i th tex o shor use manua whic explain mos o th importan point neede t ge going. DOCUMENTATIO NOTIC -------------------- Th original forty-plu pag use manua gav extensiv example an use disassembl o th publi domai progra D.CO͠ a a example Unfortunately wit th addition t documen th newe feature an giv additiona suggestion fo use tha use manua an expande progra togethe hav bot gotte s larg tha mos syste operator woul no carr th complet library Somethin ha t give fee tha th progra i largel sel explanator s tha yo ca ge starte ver wel wit onl shortene manual Thi abbreviate manua i include here Th shor use manua deal mainl wit installin th Z80DI progra an doin simpl disassembly Thi shor manua i al tha casua use woul probabl need. Th longe manua expand o th discussio o th feature an explain th step-wis approac t dealin wit muc large sourc codes Th manua als deal wit disassemblin cod whic relocate itself Extensiv example ar included Al erro message an secondar option ar discusse i detail. Th ful Z80DI USE MANUA i availabl b mail a askin nomina charg o 20.0 whic include th manual postage handling an a updat notificatio service Yo ar grante th righ t mak not-for-profi copie o th manual Th progra itsel i no availabl b mai a d no hav extensive multi-forma dis cop capability Th notificatio servic wil consis o lette t yo anytim ne versio i release s tha yo ma b o th lookou fo it. T orde cop o th Z80DI USE MANUAL sen reques wit you name address an chec fo 20.0 t -- Kennet Gielow 7 Tuli Lane Pal Alto C 94303 ----------------------------------------------------------------- FEATURE O Z80DIS ------------------ Th majo featur o Z80DI i a extensiv analysi o th memor usag b th progra unde investigation Thi analysi capabilit form th basi fo a automati partitionin o th cod t generat th brea table Thi analysi als produce fully-annotate cros referenc o al addresses. disassemble mus kno whethe th byte ar instruction o 2 Z80DIS 2.1 01/11/86 dat i orde t proceed Z80DI i th firs disassemble t produc it ow brea tabl fo thi purpose Som previou programs suc a RESOURCE hav include searc fo ASCI tex regions bu hav lef th verificatio an interpretatio u t th user Mos othe disassembler ar foole b th tric o addin nonsens byte afte jump t caus th analysi t fal ou o synchronizatio wit instructio cod interpretation Z80DIӠ produce a outpu listin whic itemize al addresse reference b th code distinguishe type o labe references mark subroutine an jump an produce a annotate cross- reference Thi listin show th exac mod o usag fo ever reference Jum absolute Jum relative Call Restart Loa 16- bit Stor 16-bit Immediat 16-bit Loa 8-bit Stor 8-bit I versio 2.1 thi listin als show th brea tabl regio o residenc fo eac labe s tha yo ma inspec th lis fo inconsistencies. A addres labelin conventio assist i understandin th assembl cod generated Eac labe generate o th assembl listin indicates b format no onl th generi typ (Jump Call Data Other o an references bu als th singularit o th reference. Fo example J#02E use a addres 02E indi- cate tha onl on referenc wa mad t addres 02E an tha tha referenc wa JUMP. I additio t helpin yo b automati analysi o memor use Z80DI als assist yo b stylin th presentatio o th disas- semble code Th disassemble cod i outpu i tw forms Bot th usua *.MA fil an printe formatte *.PR file. Th *.PR fil i style t loo lik th outpu o a assemble wit bot th instruction an assemble byte shown Th juxta- positio o th hexadecima byte an th assembl mnemonic allow th use t recogniz error cause b a incorrectl define brea table ----------------------------------------------------------------- persona note: ɠ wrot thi disassemble becaus coul no fin anothe tha woul reall ope u foreig progra fo inspection RESOURCŠ an it spin-off giv yo onl pin-hol loo a progra withou indicatin th importan interaction wit othe part o th code Z80DI rectifie tha lac vi th cross- reference disassembl comments an automati structur analy- sis hop tha yo wil fin i a usefu a have Kenneth Gielow 3 Z80DIS 2.1 01/11/86 Significant Changes in Version 2.1 ---------------------------------- 1 BU CORRECTION Durin automati brea tabl creatio i versio 2.0 th code DD34 DD35 DD36 FD34 FD35 FD3 wer no correctl recognized Thi resulte i fals assumption abou th legalit o som Z8 cod region whic wer the though t b dat region rathe tha instructio regions Thi ha bee correcte i versio 2.1. 2 IMPROVEMEN I HANDLIN J REFERENCES I disassemblin 808 coding instructio jump an call us 3-byt addressing tha i unambiguou an no easil misinterpreted Wit Z8 code ASCI tex block contai code tha ar easil mistake fo Z8 relativ jumps tha create apparen jum reference t cod withi 12 byte befor o afte th misinterprete byte Th ASCI blan (2 hex i especiall ba a i look exactl lik "J NZ,xxxx code Versio 2. ha bee muc improve t distrus relativ jum reference a basi fo declarin regio t b instructions Versio 2. examine corroborativ evidenc t distinguis ASCI dat fro instructio codes 3 OTHE IMPROVEMENTS Th entir Exper syste comprisin th Automati Brea Determinatio featur wa enhance t yiel mor complet analysi o th cod structure. Highlight o Change i Versio 2.0 ------------------------------------ 1 AUTOMATI BREA TABL CREATION Whe th progra ask fo brea tabl inputs yo ma no ente '* whic wil trigge detaile analysi o th structur an relationship o th inpu code. 2 Th CO fil an overla file fo Z80DI n longe nee t b o you defaul dis drive 3 Th cross-referenc listin no show th brea tabl regio o residenc fo eac label. 4 Overflo o memor o dis spac durin pas wil no abor execution. 5 Yo ma no disassembl direc t you printe b speci- fyin LST a th lis fil name. 6 Yo ma no suppres creatio o eithe .PRΠ o .MA outpu files. 7 Th defaul nam fo th brea tabl sav fil i no th sam nam a tha o you inpu file _________________________________________________________________ CP/M is a registered trademark of Digital Research Inc., TURB PASCA i trademar o Borlan International, Z-80 is a trademark of Zilog Corp. 4 RW"&"(D!D!d}oE@(!}28(!! *(*s#r*!s*!s#r*!s#r*&^#V!Eʯ(**is#r*"i(**&^#V^#Vs#r*&^#V*s#r**&s#r"}2"D!D!d}oE%)!}28)! !** s#r* *&s* !s#r*^#V!͒Eʏ)*^#V" * * s#r** s#r*^#V!E)** s#r}2"" * !S$}oE)* ! (*5&}oE***&*(*8&Eh**n&! EF**!s**n&*&|g}os!"i!"!"!!?fz*}2*! (!*&)*s#r*! s*!"*&#Æ*"}2"D!D!d}oE+!}28Ü+!!**s#r**&s*^#V!Eb+**s#r*"Ò+**^#V^#Vs#r*^#V*s#r**s#r""*!R!u&}2*!E+*^#V"+**^#Vs#r!!z}2"*!u&}2*&!EG,**&!*k,*&*&͒Ek,**&s"*!u&!͒Eʗ,**͝+*"*!͒E,*^#V"!!z*"Þ,!"!"!!!*i*!"!"!!!*}2!*&fzA-}2͛!" *&# -YZ80DIS 001!}2E,!+B-*8&E|W!E!+@B-*8&*E&}oEW!k=B-*8&EʬW!6B-*8&}oEW!}2E*8&EW!E!+@B-|W*8&EW!TB-X!!!:M Z80DIS.$$$=p! *y&EW(!o!z:o !o *&Ez(!{!:o !{ *&Eʎ(!{i *y&Eʡ(!oi !z !͓}2v*v&"lM !w*l!E(! *l+)):!w!w:"j!"`!"3!3!19'}20*3*9!!E)*3"^*0&}2]!3!19'}20*jͺͺ *]&ͱ(!ͪ! "*^!!ͪ!-"*3!R!!ͪ *`!"`*`!E)*jͺ !"`&)*`!͒E)*jͺ !oͺ!?:!ͪ !oͺͺ9the control parameter values used for this run of Z80DIS ͺ2.1 !oͺ !oͺͺ INPUT file: !:!ͪ !oͺͺ OUTPUT file: !:!ͪ !oͺͺ LISTING file: !z:!ͪ !oͺ !oͺͺ file LOAD address *=!!ͪͺ hex !oͺͺ disassembly START address *;!!ͪͺ hex !oͺͺ disassembly STOP address *9!!ͪͺ hex !oͺ !oͺͺ FULL DISASSEMBLY flag is set *7&!͋ *7&Ek,!oͺͺB meaning.. Generate both XREF LIST and ASSEMBLY CODE output ï,!oͺͺ4 meaning.. Generate only XREF LIST, then quit !oͺ !oͺͺ FULL Z80 flag is set to *6&!͋ *6&EE-!oͺͺ6 meaning.. Recognize FULL Z80 Zilog OP Code set Ú-!oͺͺE meaning.. Recognize only 8080 subset, but using Z80 mnemonics !oͺ !oͺͺ% Control Breaks are set as follows: !oͺ !o)!oͺ! " *&E .!{ͺ!*:!ͪ *y&EN.!oͺ!Z:!ͪ!*:!ͪ MP!*M!ZM !"I*I^#V"?*?R¤.MBDOS!81R.MCPMADR!81\R.MFCB1!81]R.MFCB1.1!81mR/MFCB2!81nR;/MFCB2.1!81RX/MDBUF!81Rw/MDBUF.1!81*In&!|g}o}26!Xe.!8*6&*6&!!@|g}o!|g}o|g}oE/!Ce.!8*6&*6&!!|g}o|g}oE0!Je.!8*6&*6&!! |g}o!|g}o|g}oE`0!De.!8*6&!Eʁ0!Ie.!8*6&!Eʢ0!.e.!8*I^#V*I^#V*I^#V!͒}oE0!#}270!.}27!8:*7&e.=*?!=!8!*:!8:=P!*"4*4!M =! e.=!Z!}2YM M =! e.=!Z!}2Y}2#*Y&! E 2*#&͇!!!Z*Y&!!n&s!Z*Y&!!!n&s*Y&!}2Y!!" * n&R@2MIX!i2R[2MIY!i2MHL!* n&}2!:M(HL)͍E_3!: !*&!͒E13*&!E2!*&R!!;!:!-e.=!:= !13*&!!;!:!+e.=!:= !!*:!(e.=!:=!)e.=P!*O6!:MHL͍Eʍ3!*:!:=P!*O6!:MRELJ͍E3* ^#V!S$E3*s.3M$<*TILT* error: address not in table>P!*O6!:MI8͍E4!*:* ^#V."=P!** ^#V!* ^#V!͒}oEʌ4* ^#V!! ;!:! e.= !* ^#V! ͥ* ^#V!~͸}oE4!:!"e.=* ^#Ve.=!"e.= !O6!:M(8)͍E?5!*:!(e.=* ^#V."=!)e.=P!*O6!:MI16͍Eʙ5* ^#V!S$Ev5*s.Ö5!*:* ^#V͓"=P!*O6!:M(16)͍E86* ^#V!S$E6!*:!(e.=P!**s.!*:!)e.=P!*56!*:!(e.=* ^#V͓"=!)e.=P!*O6!*:!:=P!*:!"͛ͺIns  *^#V*.E7*,n&!@|g}o!͒Eʴ7!;e.P!*`1-!;! e.͢ =M+ Subroutine ______________________________=P!*`1-!;! e.͢ =M( Inputs ___________________________=P!*`1-!;! e.͢ =M( Outputs ___________________________=P!*`1-!;e.P!*`1-*,s.!*:!:e.=P!*!.!,%*^#V'1!*^#Vfz(8}2**&+n&͒1*&#7* :!!:MCALL͍Ea8M CALL!!*:! e.=!:=! e.=P!**:M͠Eʯ8*: 2*:M͠E8!*:!,e.=P!**: 2!:M͠E'9!*:! e.=M; =!:=P!*-*^#V*^#V*s#r!"͛ͺNOPs !"**^#V͸E:*^#V*.Eʷ9*,s.!*:!:e.=P!*!.!,%*^#V'1!͒1!*:! e.=MDEFB=! e.=!0e.=P!**^#V!*s#r*!"!}2**^#V͸*^#V*.͒}o*&!}oEʵ:!͒1!*:M,0=P!**^#V!*s#r*!"*&!}2':**^#V͸E:-a9*^#V!͒E:-!"* :MNOP͍*^#V!͒}oE,;G9/;S6!"͛ͺBad  *^#V*.Eʂ;*,s.!*:!:e.=P!*!.!,%*^#V'1*!+n&͒1!*:! e.=MDEFB=! e.=*!+n&."=M =M; << Illegal Op Code Byte >>=P!*-Z<!"͛ͺAsc  !}2*&*^#V͸E@*^#V*.E<*,s.!*:!:e.=P!*!.!,%*^#V'1**&+n&͒1!}2**&+n&!:< ]OEʠ=**&+n&e.!!:!'e.͍E]=M''!!*:! e.=MDEFM=! e.=!'e.=!:=P!*ú>**&+n&!|g}o!:< ]OEl>**&+n&!|g}oe.!!:!'e.͍E>M''!!*:! e.=MDEFM=! e.=!'e.=!:=M'+80H=P!*ó>!*:! e.=MDEFB=! e.=**&+n&."=P!*!c}2*^#V!*s#r*&!}2*&*^#V͸*^#V*.͒}o*&!<}oEʍ@**&+n&͒1**&+n&!|g}oe.!!:!'e.͍Eʁ?M''!**&+n&!:< ]OE?!*:!:=P!*X@**&+n&!|g}o!:< ]OE @!*:M','=!:=M'+80H=P!*Q@!*:M',=**&+n&."=P!*!c}2*^#V!*s#r*&!}2*&!}2>*&*^#V͸E@*&!ZE@-!Z}2@!*:!'e.=P!*-u<*&!ZEA-!Z}2A!*:!'e.=P!*-!"͛ͺByt  !}2*&*^#V͸EC*^#V*.EʒA*,s.!*:!:e.=P!*!.!,%*^#V'1**&+n&͒1!*:! e.=MDEFB=! e.=**&+n&."=P!**^#V!*s#r*&!}2!}2*&*^#V͸*^#V*.͒}o*&!}oEB**&+n&͒1!*:!,e.=**&+n&."=P!**^#V!*s#r*&!}2*&!}2%B*&*^#V͸EC-:A-!"͛ͺWrd  !}2*&*^#V͸EzE*^#V*.EzC*,s.!*:!:e.=P!*!.!,%*^#V'1*&*^#VED!*:! e.=MDEFW=! e.=**&!+n&!N**&+n&|g}o͓"=P!***&+n&͒1**&!+n&͒1*^#V!*s#r*&!}2-*^#V!R*.ED*,s.!*:!:e.=P!**.'1!*:! e.=MEQU=! e.=M$-1=P!*-!.!,%wE!*:! e.=MDEFB=! e.=**&+n&."=P!***&+n&͒1*^#V!*s#r*&!}2-"C!"͛ͺSpc  *^#V"*^#V*^#V"*.*!!EʻF*^#V"*.*s#r*^#V*͒EJF*'1!*:! e.=MDEFS=! e.=*^#V*R͓"=P!*-*^#V"*,s.!*:!:e.=P!**^#V'1!*:! e.=MEQU=! e.=!$e.=P!*-!.!,%òE*'1!*:! e.=MDEFS=! e.=**R͓"=P!*-}2*&!|g}o}2~*~&!|g}o!͒ERG!Je.!aG!-e.!*~&!@|g}o!͒EʙG!:!Ce.=!ñG!:!-e.=!*~&!|g}o!͒EG!:!Se.=!H!:!-e.=!*~&! |g}o!͒E9H!:!Le.=!QH!:!-e.=!*~&!|g}o!͒EʉH!:!Ie.=!áH!:!-e.=!!:!!:}2z*z&RH!Je.!oIRHMJr!oI@RI!Ce.!oIAR5IMCr!oI RPIMLw!oI!RkIMLb!oIR†IMSw!oIR¡IMSb!oIR¼IMIw!oI!-e.!o!o:!{!{:!b!`%MP!*!}2f*`!͒EJ*b"d*d*;!!*d*9!!}oEʻJ!}2f*`s.!*:!:e.=! e.=MEQU=! e.=*b͓"=! e.=*`n&G=P!**b'1-!b!`%J*f&EJ!;e.P!*`1-âK"Q*Q*;!!EKM .. !S×K*Q!Gu&}2F*Gn&}2F*F&!EtK! *F&+)):! e.=!S×K! ! *F&+)):͢ =!S!S:͛ͺ LISTING cross references !oͺ!?:!ͪ !oͺ!:!ͪͺ -> Source created by Z80DIS ͺ2.1ͺ, K.Gielow, Palo Alto, CA. !oͺ !oͺͺ% Listing of all referenced addresses !oͺ !oͺͺI LABELING CODES: Where a CP/M address can be assumed, then name is used. !oͺͺO otherwise, prefix J=JUMP (Jump references only), C=CALL (Call/Jump only), !oͺͺO I=Immediate only, D=DATA (Load/Store/Immed.), X= any other combination !oͺͺK if reference is singular, The second character will be # instead of . !oͺ !oͺͺI REFERENCE LEGEND: J=Jump, Jr=Jump relative, C=Call, Cr=Call by Restart, !oͺͺN Lw=Load word, Lb=Load byte, Sw=Store word, Sb=Store byte, Iw=Immed. word !oͺ !@!>%*>!EN!"D*>!͒EP*@"BMP!**>s.!oͺ!*:!ͪ! "! "*BJ!ͪ! "*@!!ͪ! " !oͺ*>n&G!ͪ! " !"D*>^#V"<*%N͛ͺ LISTING Subroutine references !oͺ! "!?:!ͪ !oͺ!:!ͪͺ -> Source created by Z80DIS ͺ2.1ͺ, K.Gielow, Palo Alto, CA. !oͺ !oͺͺ3 Listing of all referenced SUBROUTINE entry points !oͺ !.!,%*,!EQ!"2*,!͒E T*."0*,n&!@|g}o!͒ESMP!**,s.!oͺ !oͺ!*:!ͪ! "ͺ7Subroutine ____________________________________________ !oͺ! "! "*.!!ͪ! " !oͺ*,n&G!ͪ !oͺ! " !"2*,^#V"***!͒ES*2!ͥEiS!oͺ!," !oͺ! "! "ͺ ! "ͺ  !"2*2!͒EʈS!oͺͺ,  !oͺ**^#V!!ͪ!/" !oͺ**n&ͺH!ͪ *2!"2**^#V"*S*2!͒ES!oͺ !.!,%QM; !:=M! -> Source created by the Z80DIS =M2.1=M disassembler=P!*`1-M:; Z80DIS was written by Kenneth Gielow, Palo Alto, CAP!*`1-!"͛ͺ% PRODUCING disassembled output files !oͺ! " M; !?:=P!*`1- T!;e.P!*`1-! MORG͢ =! e.=*;͓"=P!**;'1-!;e.P!*`1-͛ͺ External label equates I! M !!}2*;!EU!".U*;!R".!.!,%!I}o $}o}oEʠX!ͤ!Ͷ *n&}2+͛! "ͺ Working at *^#V!!ͪ! " *+&RV*&!͒EV!;! e.͢ =M-----------------=P!*`1-!;e.P!*`1-P6=WRV<=WRWA=WRWC=WR WP6=WR0W|E=WR=W0;*+&}2*^#V*.!!EW*.'1*,s.*^#V*.R!!;!*:!:e.=! e.=MEQU=! e.=M$-=!:=P!*-!.!,%FW*n&!EʈX*n&R_X!;e.P!*`1-!;! e.͢ =M-----------------=P!*`1-ÈXRsXRˆX!;e.P!*`1-*8&}oEʝX!}28V! MEND͢ =! e.=*;͓"=P!**^#V'1-͛ ͛ͺINTER-PASS summary information *7&EʾY!]!k!]!E]Y!!k, !k͛ͺ Scratch file contains !k,!!yͺ records of !!&ͺ bytes each D!kD!EY!!k, !k!q,!k, !H !q, ! ͛ͺ@ Free memory space remaining after table storage assignments is!k,!!yͺ bytes ͛ͺ out of the original!q,!!yͺ bytes (or! ,!!yͺ percent used.) ͛ͺ THIS IS Pass2 (*y&EB[)JP*7&EO[ͿT*y&Eh[!oͺ! " {(͛ͺ END of Pass2 bB"""""!*s!*:ͣfz.}2{**{&**{&n&s**{&n&́!<͑!>͑!,͑!;͑!=͑!?͑!*͑![͑!]͑!_͑OE.!*s*{&#Æ-*:!j! e.!j:Ͳ}2z*z&!͒Ep.!j:!*z&!Rk!j!j:MLST:͍!j:MNONE:͍}o*:M.PRN͍}oE.M*!j:*M*!*sM!j!j:MNONE:͍!j:M NONE:.MAC͍}o*:M.MAC͍}oEr/M*MNONE:*M*!*sM!j!j:ͣ!Eʐ/!*s*n&E^0!:e.!j:Ͳ}2z*z&R/M*^0R/!*s^0RV0!j:!*z&k*!j:*z&!!k!j*!n&́!A!G͛O}oES0!*s^0!*s!j:ͣ!E|0!*s!:e.!j:Ͳ!͒Eʡ0!*s*n&Ey1!.e.!j:Ͳ}2z*z&R 1!j:ͣ!E0!*s!j:*!?e.!jy1R!1!*sy1RBq1!j:!*z&!Rk*!j:*z&!k!jy1!*s!j:ͣ!Eʗ1!*s!.e.!j:!!kͲ!͒E1!*s*n&*:MLST:͍}o*:MNONE:͍}oEX2!j:**:!?e.͍E-2M**:*:=*:=*!*sd2͛!" !N!S"b"d"f"h!S:!6!N:M͠E2!6:!N:=!6!6:M =!!k!6!6:*hk*h:͛!ͪ ̈́*h:ͣ -!}2*h͎ *h:ͣ -*h:ͣ!Ef3!6:*h!N:*b*h*f*d*b!EU-*E&E2*b:M͍!N:M͠}o*d:MLST:͠}o*d:MNONE:͠}oE 4!N:*b*h:*b:=*h*h:͛!ͪ ͛ͺ  !*h:ͣ -c40123456789ABCDEFabcdef"2"4*2!!!k!!:͛!ͪ ̈́! -!}2&!}2!!͎ !!:ͣ -!!:ͣ!E4*2*4s#r5!*4s#r! e.!!:Ͳ}2(*(&!͒E<5!!:!*(&!Rk!!!!!:ͣfz5}2)!!*)&n&e.!L4:Ͳ}2'*'&!Eʒ5!}2&5*'&!R}2'*'&!E5*'&!R}2'*4^#V!*'&*4s#r*)&#M5*&&}oE 6͛!" *&&E~4͛*4^#V!!ͪ "!ͩ!D *&}2*&́!Y͑!N͑!͑O}oEʃ6͛!" *&́!Y͑!N͑!͑OE56*&YR6!*s͛!Y" 7NR6!*s͛!N" 7R 7!*s!}28>!}2!"*!"͛ͺ >>> Z80DIS version ͺ2.1 ͛ͺBZ80 Disassembler program written by KENNETH GIELOW, Palo Alto, CA. ͛ͺLThis disassembler generates Zilog Mnemonics. The program distinquishes types ͛ͺJof label references, marks subroutines and jumps and produces an annotated ͛ͺFcross-reference of all labels referenced. This version includes a fair ͛ͺAamount of ARTIFICIAL INTELLIGENCE in analyzing program structure. ͛ *8&*&}o}oEB@!}2*"*!"!*͛ͺ!Please enter INPUT file name:  M________!M.COM!!!!!!:!:e2!:!"E,9!:!:=!*!"!*͛ͺ! OUTPUT file name:  Mnone:!M.MAC!!!!!!:!:e2!:!:͠E/:!:MNONE:͠Eʚ:!}2!:!:=!á:!}2*!"!*͛ͺ! LISTING file name:  !:!M.PRN!!z!!!!:!:e2!z:!:͠!z:!:͠}o*&!z:MNONE:͠}o}oE;!z:MNONE:͠E;!}2y*&}o!z:MLST:͠}oE;!:!:=!;!}2y*!"!*͛ͺ! Descriptive TITLE:  k͛ͺ*__________________________________________ ̈́!* -!*}2!?*͎ *!"!*͛ͺ) file LOAD address: ---- HEX !"!"*!=*I4*!"!*͛ͺ) disassembly START address: ---- HEX *="!"*!;*I4*=*;!!͒E=*!"!*͛ͺ) disassembly STOP address: ---- HEX *=*!N!R"!"*!9*I4*9*;!!Eʨ=*!"!*͛ͺCDo You wish to run a FULL output (as opposed to XREF only) ? (Y/N)  !7-6M!!*!"!*͛ͺ? On which disk do you wish the scratch file to reside? (A-G)  !ͩ!D *&}2*&́! ͑!A!G͛O}oE>͛!" *&́! ͑!A!G͛OEʪ>*&! ͒Ek?*&!:e.͢ =!!!!:͛!ͪͺ  Æ?͛ͺ *!"!*͛ͺKDo You wish to process all Z80 codes (as opposed 8080 subset only) ? (Y/N)  !6-6*!"!*͛ͺ Are all inputs OK so far? (Y/N)  !-68*!"!*>͛ͺ=this program, Z80DIS, was written in Borland, TURBO PASCAL by ͛ͺ+ Kenneth Gielow, Palo Alto, California.  ͛! " ͛ͺ8The program remains the sole property of Kenneth Gielow. ͛! " ͛ͺ6The program may not be sold or distributed for profit. ͛! " ͛ͺ=Permission to copy is granted provided all authorship notices ͛ͺ are retained intact. ͛! " ͛ͺ.Copyright (C) 1985 and 1986 by Kenneth Gielow. ͛! " !Y@ 7L"""""!*s!*:ͣfz.}2y**y&**y&n&s**y&n&́!<͑!>͑!,͑!;͑!=͑!?͑!*͑![͑!]͑!_͑OE.!*s*y&#Æ-*:!h! e.!h:Ͳ}2x*x&!͒Ep.!h:!*x&!Rk!h!h:ͣ!Eʎ.!*s*n&E\/!:e.!h:Ͳ}2x*x&R.M*\/R.!*s\/RT/!h:!*x&k*!h:*x&!!k!h*!n&́!A!G͛O}oEQ/!*s\/!*s!h:ͣ!Ez/!*s!:e.!h:Ͳ!͒Eʟ/!*s*n&Ew0!.e.!h:Ͳ}2x*x&R 0!h:ͣ!E/!*s!h:*!?e.!hw0R0!*sw0RBo0!h:!*x&!Rk*!h:*x&!k!hw0!*s!h:ͣ!Eʕ0!*s!.e.!h:!!kͲ!͒E0!*s*n&E!1!h:**:!?e.͍E0M**:*:=*:=*-1͛!" !L!Q"`"b"d"f!Q:!4!L:M͠Eʉ1!4:!L:=!4!4:M =!!k!4!4:*fk*f:͛!ͪ ̈́*f:ͣ -!}2*f͎ *f:ͣ -*f:ͣ!E/2!4:*f!L:*`*f*d*b*`!CU-*C&E1*`:M͍!L:M͠}o*b:MLST:͠}o*b:MNONE:͠}oE2!L:*`*f:*`:=*f*f:͛!ͪ ͛ͺ  !*f:ͣ -,30123456789ABCDEFabcdef"0"2*0!!k!:͛!ͪ ̈́! -!}2$!}2!͎ !:ͣ -!:ͣ!Eʲ3*0*2s#rú4!*2s#r! e.!:Ͳ}2&*&&!͒E4!:!*&&!Rk!!!:ͣfzʺ4}2'!*'&n&e.!3:Ͳ}2%*%&!E[4!}2$ï4*%&!R}2%*%&!Eʑ4*%&!R}2%*2^#V!*%&*2s#r*'&#4*$&}oE4͛!" *$&EG3͛*2^#V!!ͪ "!ͩ!D *&}2*&́!Y͑!N͑!͑O}oEL5͛!" *&́!Y͑!N͑!͑OE4*&YR—5!*s͛!Y" 5NR»5!*s͛!N" 5R5!*s!}28͛ ͛ͺ0 command long name break code meaning ͛ͺC ---------/--------------/------------/---------------------------- ͛ͺ@ C Clear - clear all of break table ͛ͺC FL File Load - Load (append) file to table ͛ͺ; FS File Store - Store table as file ͛ͺC L List - List break table for review ͛ͺB H Help - Re-list these instructions ͛ͺ= K Kill - Kill break at address ͛ͺA P Print - Print break table on LST: ͛ͺ@ Q Quit - Quit break entry process ͛ ͛ͺ< * AUTO_ASSIGN - Automatic assignment ͛ ͛ͺ= I Instructions Ins set Instruction break ͛ͺ7 A Ascii Asc set Ascii break ͛ͺ6 B Bytes Byt set Byte break ͛ͺ6 W Words Wrd set Word break ͛ͺ? T Table of addr Adt set address Table break ͛ͺB S Space Spc set undefinded Space break ͛ͺK UNACCEPTABLE, Commands are: C,F,L,H,K,P,Q,*; Break Types are: I,A,B,W,T,S ͛ͺ' To see complete definitions, enter H. ͛ͺ at .... hex ! -!3!3*3*;!!E <͛ͺ1 hex < ERROR: address below start, set to start >!" *;"3*3*0&,!}2t<*3*9!!E`<͛ͺ+ hex < ERROR: address above stop, ignored >!" t<*3*0&,!}2͛ͺill break at .... hex ! -!3!3*3*;!!*3*9!!}oE=͛ͺ- hex < ERROR: address out of range, ignored >!" $=*3l,!}2}2/*/&"%M !0*%!El=! *%+)):!0!0:"#!"!"3!3!19'}20*3*9!!EN>*3"*0&}2!3!19'}20*#ͺͺ *&%=!ͪ! "*!!ͪ!-"*3!R!!ͪ *!"*!EK>*#ͺ !"Ú=*!͒Ej>*#ͺ ͛ͺrint Control Breaks !w=͛ͺist Control Breaks !w="͛ͺ SAVE file name:  !:!M.BRK!!!!!!:!:.1!:!:͠!:!:͠}o!:!z:͠}oE?͛ !:!"*s͛ͺ - Save Control Breaks.. !ͺ>!T!:o !T !"!"3!3!19'}20*3*9!!EX@*0&%=!!k͖ }2*0&%=MAdt͍E%@!T}2!Tͺ*&"*3!!ͪ !3!19'}20?!Ti !}2͛ͺ - Load Control Breaks.. !ͺ>*&}oE@͛ͺ% < ERROR > that file does not exist!" B!T!:o !T !T}oEB!Tͩ!D!͎ͫ *&}2!}20*&IRHA!}20BAR\A!}20BBRpA!}20BWR„A!}20BTR˜A!}20BSR¬A!}20B͛ͺ < ERROR > type "*&"ͺ%" is invalid from SAVE file.. IGNORED!" *0&!͒EB!$!:͢ =!3!*!͒EʖB!"3͛ͺ < ERROR > Invalid Hex Address "!:!ͪͺ" from SAVE file!" *3*;!!EB*;"3*3*0&,B*3*9!!͒EB*3*0&,@!Ti !w=!ͩ!D *&}2*&͛" *&SR:Cw?MCLRJCi@MC:͛ͺ7 Do you realy want to clear all control breaks? (Y/N)  !4*&EʵC͘,*;!,!}2"!*s͛ͺ?:  !ͩ!D *&}2*&͛" !}2*&CRDNCäFFR'DBäFLR7D͓>äFPRGDk>äFHRWD5äFQR}E*&EʗD͛ͺuit Control Break definition -  zE͛ͺuit < Informative ERROR >!"ͺ/ attempt to QUIT without saving Break Addresses ͛ͺ0 either SAVE to a file (using FS command), ͛ͺ/ or QUIT without save (using Q command) !}2! }2äF*RF͛ͺ AUTOMATIC ASSIGNMENT selected!" ͛ͺ Please confirm (Y/N)  !4*&EE!*sF! }2äFIRF!}2äFAR-F!}2äFBRAF!}2äFWRUF!}2äFTRiF!}2äFSR}F!}2äFKRFu<äFR¡F!}28äF:*&}20*0&!͒EFl;͛ *&!Q*8&}o}o*n&}oEC">!}2͛ͺ >>> Z80DIS version ͺ2.1 ͛ͺKYou may now enter CONTROL BREAK addresses to define the type of disassembly ͛ͺL for each section of the code; each control break defines the first address ͛ͺK of a section which ends at the beginning of the next section less 1-byte. ͛ ͛ͺINOTE: You may select AUTOMATIC CONTROL BREAK assignment by the artificial ͛ͺ2 intelligence expertise of Z80DIS by typing * ͛ ͛ͺ.TO SEE DETAILS OF YOUR COMMAND CHOICES, type H ͛ *;!,*ͶC"**!͒EʄJ!!!:M Z80DIS2.$$$=o ! ͛ͺDo you want this list of **!&ͺ) anomalies copied to your printer? (Y/N)  !4͛ *&E;J!}oE/J!ͩ!P͎ͫ !ͺ!:!ͪ I!ͺ !͓͛ͺ TOUCH ANY KEY TO CONTINUE  ͠EjJ͛ ͛ !}2͛ͺDYou may now edit the CONTROL BREAK addresses set by AUTO-ASSIGNMENT. !w=**!EʣK͛ͺGNo anomalous conditions were found. You can often polish any remaining ͛ͺL rough spots by running * one final time. You can also hand-edit the table. äL͛ͺ WARNING: **!&ͺ; anomalous conditions were found. It is usualy advisable to ͛ͺD run * again using the new break table as a base until no anomalies ͛ͺD are found or the problems continue to repeat and are unresolvable. ͛ ͛ͺ.TO SEE DETAILS OF YOUR COMMAND CHOICES, type H ͛ *ͶC"*n&EM*:IM*FsH""""}2!v"*&*s**s#r**s#r**s#r**s#r!ͤ!v """"}2!"*"*!͒**^#V!!**^#V!!*&*n&}o}o}oEo.*"* ^#V"-!! *&*s**s#r**s#r**s#r**s#r*!E.* *s#r*"/* * ^#Vs#r* *s#r"}2*!*&!}oE`/*&*!!!U-y/*&*!!!-*"*!͒E/*"*n&*^#V*^#V*^#V*^#VU-*"* ^#V"!! zÀ/!"!"!!:p!p !"!}2!}2!!:M Z80DIS.$$$=!p!!p:p!  !Ͱ z/!z 0>?h**=E0!}2!}2_*&!E1z/*&Ez1*&!͒Ew1*X!ͥEp1!*Z*X*^&!-!*Z*X!!!-!}246!}2S!}2R*R&*S&!}oE(6*R&}oE1*S&!}2S*^&}2]*_&}2^!}2R!*S&+n&}2_*_&}2\*&R2!"V!"T*\&!z0 ]OEʆ2!}2**S&!R"Z!"X*\&! Ef2!"VÃ2*\&!0 ]OEʃ2!"T2*_&*^&*_&!0 ]O}oE2!}2**S&!R"Z!"X%6RW3*\&!z0 ]OEM3!}2!"X*\&! E'3*V!"VJ3*\&!0 ]OEJ3*T!"TT3!}2%6R3*\&!z0 ]OE3!}2!"X*\&! Eʦ3*V!"V3*\&!0 ]OE3*T!"T3!}2%6R4*_&*^&E4!}2!"X4!}2!}2R%6R25*\&!z0 ]OEʐ4!}2*X!"X*\&! Ej4*V!"VÍ4*\&!0 ]OEʍ4*T!"T/5*\&*0&Eʰ4*X!"X*X!ͥ*T*V!ͥ}o*T*V*X!ͥ}oE(5!*Z*X*T*V-!*Z*X!!!-!}2%6R%6*_&*^&E5*X!"X!}2*!*9!!E5*X!ͥE5!*Z*X*^&!-!*Z*X!!!-!}2%6*X!ͥE6!*Z*X*^&!-!*Z*X!!!-!}2!}2RÈ1*!""P*!"*RBw6! *+n&*Ps!}27 RBү6!*!R+n&*Ps*&}27! !"!I}2*&}2*&}oE6!!!; w0!*!R+n&*Ps}2G**G&R""!!"!*s*^#V*^#V*3En7*0&*s*^#V!͒*n&!͒}oEʣ7!}2j8*n&!͒E7!3!19'}20!}2!56*&}oEj8*&!V!|g}o}2*&!V!|g}o}2*&!|g}o}2**^#V!s#r**^#V+*&s!!"*^#V!R7*!s#r*!s*^#V"3!3!19'}20!*^#V/}2!!"*&}2*&}2*&}2!,7*&*&}oE9k8Ù9*&}2!,7*&*&}oEE9k8l9**&!N*&|g}os#r**&s*^#V*^#V*&)*&}2*&}2*&}2WFBCDEHL(HL)A!!"*n&!͒E:*:M(HL)͍*:M(HL)͍}oEʝ:*^#V!Eg:!,7*&*&}oEg:k8*n&!͒Eʚ:**!+n&s:*:MHL͠*:MHL͠}oE:k8!!"*&}2*&}2*&}2!,7*&*&}oE;k8%;**&s#r*&}2*&}2*&}2!!"!}2*^#V*^#V*3!!*&}o}o*&}oE;!56*&}oE;*&!E;**^#V!s#r;!}2!7N;*&*&*3*9}o}oE'<*!s#r*^#V"9!!"*&RI=*&Rg<*n&!Ed*&Rk=!8J>R‹=*MHLJ>RŸ=!8J>R¿=*MHLJ>R=*MHL!8J>R>*MHL*MHLJ>R->!8J>RJ>*MHL?R>*&R‚>*MHL!8>R©>*MHL! 8>R½>!8>R>!!8?R?*&́!͑!͑OE ?*MHL?RB?*&!E??*M(HL)?Rv?*&!Es?*M(HL)?R?*&!Eʧ?*M(HL)*n&!͒*&!6}oE?:*n&!͒E?:9!!"*!9*&)):*!9*&)):9!!"*!9*&)):9!!"*n&!͒*&́!͑!͑!͑!͑!͑O}o}oEʻ@k8ÍB*&R)A*&R@*^#V*^#V!!)&AR&A*^#V*^#V!!)ÍBR=A!8ÍBR°A*&R€A!8*^#V*^#V!!)íARAk8íAR A:íAR­A:ÍBRA!@8ÍBR8B*&RARARARA5BR2B!@8*^#V*^#V!!)5Bk8ÍBRHB:ÍBRB**&!N."*&!N*^#V!A)!!"*^#V*^#V!!)!!"*n&!͒EB!,7*&*&}oEBk8*n&!͒EC!,7*&*&}oE&Ck8*&!*&!}oEMCk8*n&!͒*&!͒}oEyCk8!!"!,7*&*&}oEʢC!}2*&R¶Ck8ÞERbE*&RCRC*&!ECk8_ERED*&!*&!}oE$Dk8BD*&͋E;D!8BD! 8_ERjD*&!EdDgDk8_ER˜D*&R…DÕDR’DÕDk8_ERE*&RD*!0e.ERDk8ERD*!1e.ERE*!2e.Ek8_ER_E*&!E>E_E*&ROE_ER\E_Ek8ÞER‘E*&́!!͛O}oEʎEk8ÞERžEk8*&R³E(<6FRE*&!vEE͎BE?6FRE;@6FR6F*&R FͶB6FRFzC6FR-FR3Fk86Fe@" !!"*M*M*!s#r*!s*!s*!s*!s*6&}o*&!7F ]O}oEFk8ÎG*&}oEiG*!s*&́!͑!͑OEiG*&RJG*!sbGRbG*!s!,7*&}o*&}o}oEʋG͟EÎGk8!!"*^#V"3!3!19'}20*0&*n&͒EʟG*^#V*^#V*3!!*&}o}oE5H!56*&}oE2H**^#V!s#rG͏G͏G͏G!!"q*q^#V7*q!s#r!8͏G͛ͺ=I will now study the structure and blocking of the program... !}2!}2!}25/!}2*;!EH!"3I*;!R"3!3!19'}20!!"*=*s#r*="*^#V*;!!*&}o}oEI!h56*&}oE|I*^#V!*s#r)I*^#V*9!!͒*&}o}o $}o}oEK*!s#r!g,7*&}oEK*g&!͒EI*g&}2*9*^#VR!_!_,!EJJ!!_, !_͛! "ͺ Counting down !_,!!y! " **&s*&R§J͵9JR·J6HJRJ:HJRJ>HJRJBHJRJoH*^#V*^#V*s#rI͛! "ͺ@ The INTELLIGENCE may be ARTIFICIAL, but the RESULTS are REAL ! a0*8&}oE~K!}28ÜF!!:M Z80DIS.$$$=!!!:p!  !}2!!:M Z80DIS2.$$$=!!!:o ! !z !͓!i **!E .!͓*i"*!͒EB.*"*^#V"!! z.i*î.!V_ *U&Eg.!"`í.!I}2U*U&}oEʎ.!ͤ!VͶ *W*9!!Eʭ.!}2U"""*&E.!}2UI.!}2w!}2I.*`*s#r*_&*s*b"*d"*f"!*s*^#V!͒*W*^#V}oEF/I.*_&*s"""""!*s*n&!|g}o}2*&*&!!@|g}o!|g}o|g}oEʽ/!*s*&*&!! |g}o!|g}o|g}oE/!*s*n&!*n&!|g}o!}oE70!*s*&!EQ0!*s*&!Ek0!*s*&!! |g}o|g}o!! |g}oEʦ0!*s*n&!|g}o!E0!*s!*s*n&!|g}o}2*&!E 1!*s*&!E%1!*s"*.*s#r!}2*3*^#V!}2*&!E{1*&!|g}o}2Þ1*&!Eʞ1*3*s#r!}2**^#V!}2*&!E1*&!|g}o}21*&!E1**s#r!}2*^#V!E2!}2*&}2*&}2!}2!}2!}2!}2!}2~!}2}!}2|!}2{!}2z!}2y!}2x*&!|g}o!͒E2*,!!!!}G/*&!͒E2!}2*}&!͒E2!}2~*&!|g}o!͒E3!}2{*0&}2z*&!|g}o!͒E3*&!*&!}oEX3!}2|*&!*&!}oEʤ3!}2y*&}2w*j*!R"u3*&!*&!}oE3!}2x!}2w!"s*w&!͒E4*u*jR!"s"}2*&!|g}o!͒E94!.!,%*&!|g}o!͒Ee4!3!19'}20*&!|g}o!͒Eʑ4!!!F.*&1}2~*~&}2*^#V"j*~&'2*&FMixed combo of DATA and INSTRUCTION references to address - WARNINGFAddress referenced as DATA within sequence of instructions - WARNINGFUnfilled data space found before end of instruction sequence - Spc BRKFIllegal Op-Code found within unbroken instruction sequence - WARNINGFIllegal Op-Code found at address referenced by JUMP or CALL - WARNINGFUnfilled space following CALL instruction implies no return - Spc BRKFAddress following CALL referenced as DATA implies no return - Byt BRKFPredefined break table entry un-supported by other evidence - DELETEDFLabel referenced by JUMP or CALL within unfilled data region - WARNINGFASCII data found within unbroken instruction sequence - Asc BRKFAddress strongly referenced as DATA w/in instruction sequence- Byt BRKFIllegal Op-Code following CALL instruction implies no return - Byt BRK!~!~**!"***!EK8͛ **͛!&ͺ . Anomaly at *j!!ͪͺ, while processing !~:!ͪͺ : ͛ͺ !~:!ͪ **!E8!ͺ !ͺ**!&ͺ . Anomaly at *j!!ͪͺ, while processing !~:!ͪͺ : !ͺͺ !~:!ͪ *{&Eʏ9*z&!*j*;͒}oEʏ9*jl,*&!Eʺ9M instructions!4:8*&!*&}o*|&}oE9!}2*~&}oE;*q&*&!}oE,:*&E%:!}2n,:!}2q*&!*&!}oE ;*q&*&}o*|&}o*w&!}oEʼ:*&!Eʜ:!}2rã:!}2r*w&!Eʼ:!}2r*q&}oE ;*&E:M instructions!7:8 ;M instructions!5:8*w&!EI;*q&}oEB;M instructions!L5:8!}2r*|&*r&!}oE;*w&!Eʚ;!}2rM instructions!=7:8;*q&Eʮ;!}2r;M instructions!5:8*~&*}&!}oED=*&!E;!}2r*&!E*w&!Eʒ=!}2rM instructions!!6:8*w&!Eʫ=!}2r*|&E=!}2rM instructions!7:8*&*r&!}oE`>*&!*&!}oE.>M instructions!h6:8*&!EG>!}2r*&!E`>!}2r*q&*&!}o*&}o}oEʑ>!}2n*q&*n&*r&!͒}o}oEʾ>!}2q*{&*z&!}o*w&!}o*r&!͒}oE?!}2r*r&!Ed?*{&*z&!͒}oEa?*jl,*q&}oEa?M instructions!6:8ö?*q&Ey?*o!,*q&}o*r&!͒}oEʯ?*j!]-*r&n&,!}2q*{&E@*z&!*z&!}oE?*jl,@!U-*z&n&}2r*&!E;@MASCII data following a CALL!4:8*x&Eʁ@!}2r*&!Eh@!}2rÁ@*&!Eʁ@!}2r*&!*|&}o}oE@*&}oEʹ@!}2r@*s!E@!}2r*y&*w&!}oE@!}2r!}2q*r&!͒*r&!͒}oE4A*j!]-*r&n&,*&!E]AM byte data!4:8*{&EʧA*z&!*z&!}oEʕA*jl,çA!U-*z&n&}2r*&!EA!}2r*y&*w&!}oEA!}2r*&!*|&}o}oEXB*&}oEB!}2rXB*r&!͒*s!}oEXB!}2r!}2q*j"o!}2n*y&*w&!}oEʂB!}2r!}2q*r&!͒EʪB*j!]-*r&n&,*&!EBM word data!4:8*{&EC*z&!*z&!}oE C*jl,C!U-*z&n&}2r*&!E6C!}2r*y&*w&!}oEYC!}2r*&!*|&}o}oEC*&}oEʑC!}2rC*r&!͒*s!}oEC!}2r!}2q*j"o!}2n*y&*w&!}oEC!}2r!}2q*r&!͒E D*j!]-*r&n&,*&!EJDM ASCII data!4:8*{&E[D*jl,*x&EʈD*&!EʁD!}2rÈD!}2r*&!*|&}o}oED*&}oED!}2rD*s!ED!}2r!}2q*j"o!}2n*y&*w&!}oEE!}2r!}2q*r&!͒E=E*j!]-*r&n&,*&!EpEMunfilled data space!4:8*{&EʁE*jl,*x&EʮE*&!EʧE!}2rîE!}2r*y&*w&!}oEE!}2r*&!EsF*x&EEF*&}oEF!}2rBF*r&!͒*s!}oEBF!}2r!}2q*j"o!}2nsF*&}oEsFMunfilled data space!6:8*r&!͒EʛF*j!]-*r&n&,͛ͺBThere may be a slight PAUSE while I think about what I have read.. c-!"*!}2r!}2q!}2n*;!R"j!}2h*j".*j"3*j"*r&}2m!!j4}2i*j*9!!EH*r&}2l*r&R~G\9GRŽGͷ?GRžG5AGR®GͫBGR¾G!DGRG>E*l&}2m*h&}o*i&!}oEH*i&!j4}2i!}2hIG- .͛!" ëS!!:p!p !"!}2!}2!!:M Z80DIS.$$$=!j!!j:p! !Ͱ !z!͒ES.͛ ͛ͺ3FAILED attempt to CLOSE scratch file on Full Disk!! ͛ͺ& pass 1 processing MAY be incomplete. "*!"*RBҖ.! *+n&*s!}2,/ RB.!*!R+n&*s*&}2,/! !"!I}2*&}2*&}oE/!!!; !*!R+n&*s}2**&R""!"!*s*^#V*^#V*3Eʊ/*0&*s*^#V!͒*n&!͒}oEʿ/!}2Æ0*n&!͒E/!3!19'}20!}2!T.*&}oEʆ0*&!V!|g}o}2*&!V!|g}o}2*&!|g}o}2**^#V!s#r**^#V+*&s!"*^#V!R-/*!s#r*!s*^#V"3!3!19'}20}2!"x*&}2u*&}2t*&}2s!wH/*&*&}oE(1͇0æ1*&}2v!wH/*&*&}oER1͇0y1*x*&!N*v&|g}os#r*x*&s*x^#V*x^#V*&)*u&}2*t&}2*s&}2OPBCDEHL(HL)ABCBCDEDEHLHLAFAFBCBCDEDEHLHLSPSPADDADCSUBSBCANDXORORCPNZZNCCPOPEPM!"a*an&!͒E}3*a:M(HL)͍*a:M(HL)͍}oEJ3*a^#V!E3!jH/*&*&}oE3͇0*an&!͒EG3*a*a!+n&s}3*a:MHL͠*a:MHL͠}oE}3͇0!"Y*&}2X*&}2W*&}2V!jH/*&*&}oE3͇03*Y*&s#r*X&}2*W&}2*V&}2!"N͛ͺNOPs !}2L*N^#V*N^#V*3!!*&}o}o*L&}oEʤ4!MT.*&}oEʡ4*M&!Eʓ4*N*N^#V!s#rá4!}2L!-/ 4*L&*&*3*9}o}oE4*N!s#r*N^#V"95RLCARRCARLARRADAACPLSCFCCF!"D*&RJ7*&Ra5*D MNOP*Dn&!E^53G7R¨5*D MEX*DMAF*DMAF'G7RBG7~3*D^#V!E5*D!*D^#V|g}os#r*D*D^#V*D^#V!s#r*D!s*D^#V*D^#V!)*D MJR*DMRELJ*D!s*&R6*D MDJNZ*D*D:*DMG7R7*D!s*D*D:*DMG7RBG7*D!e2*&!R)):Ê>R¬9*&R¦7*D MLD*DMBC*DMI16!0é9R7*D MADD*DMHL*DMBCé9R;8*D MLD*DMDE*DMI16!0é9R‚8*D MADD*DMHL*DMDEé9R8*D MLD*DMHL*DMI16!0é9R9*D MADD*DMHL*DMHLé9Re9*D MLD*DMSP*DMI16!0é9R©9*D MADD*DMHL*DMSPÊ>R—;*D MLD*&R:*DM(BC)*D!Ae.Ô;R9:*D!Ae.*DM(BC)Ô;Ro:*DM(DE)*D!Ae.Ô;R¥:*D!Ae.*DM(DE)Ô;R:*DM(16)*DMHL!0Ô;R;*DMHL*DM(16)! 0Ô;RZ;*DM(16)*D!Ae.!0Ô;R”;*D!Ae.*DM(16)!!0Ê>RE=*&R;*D MINC*DMBCB=R <*D MDEC*DMBCB=RA<*D MINC*DMDEB=Ru<*D MDEC*DMDEB=R©<*D MINC*DMHLB=R<*D MDEC*DMHLB=R=*D MINC*DMSPB=RB=*D MDEC*DMSPÊ>R†=*D MINC*D!1*&)):Ê>R=*D MDEC*D!1*&)):Ê>R`>*D MLD*D!1*&)):*DMI8*Dn&!͒*&!6}oEC>~3*Dn&!͒E]>~3Ê>RŠ>*D !4*&)):͍2!"<*< MLD*<!1*&)):*<!1*&)):͍2!"4*4 !=2*&)):*4!1*&)):*4 :MADD͍*4 :MADC͍}o*4 :MSBC͍}oEʧ?*4*4:*4!Ae.͍2!",*,n&!͒*&́!͑!͑!͑!͑!͑O}o}oE@͇0+F*&RT@*, MRET*,!e2*&)):*,!s+FRšA*&Rʊ@Rʊ@Rʊ@R@*, MPOP*,!1*&)):×AR@*, MRET*,!s×ARA*, MEXX×ARTA*, MJP*,M(HL)*,!s×AR—A*, MLD*,MSP*,MHL+FRB*, MJP*,!e2*&)):*,MI16*,!s!0+FRC*&RZB*, MJP*,MI16*,!s!0CRjB͇0CR¶B*, MOUT*,M(8)*,!Ae.~3CRC*, MIN*,!Ae.*,M(8)~3CRIC*, MEX*,M(SP)*,MHLCRC*, MEX*,MDE*,MHLCR¯C*, MDICRC*, MEI+FR:D*, MCALL*,!s*,!e2*&)):*,MI16!@0+FRD*&RpDRpDRpDR¨D*, MPUSH*,!1*&)):DRD*, MCALL*,!s*,MI16!@0D͇0+FR²E*, !=2*&)):*,MI8~3*, :MADD͍*, :MADC͍}o*, :MSBC͍}oEʯE*,*,:*,!Ae.+FR+F*, MRST*&!͒EE*,!s*,*&!N."*&!N*,^#V!A)!"$*$ MHALT*$!sÊF01234567RLCRRCRLRRSLASRA...SRL!"*n&!͒EF!jH/*&*&}oEF͇0*n&!͒EF**!+n&s*n&!͒EG!jH/*&*&}oE-G͇0*!YF*&!n&e.*!1*&)):*&RG* !bF*&)):**:*M* :M...͍EG͇0GHRH* MBITGHR)H* MRESGHRGH* MSET*n&!͒*:M(HL)͠}o*:M(HL)͠}oEʕH͇0!"!jH/*&*&}oEʾH!}2*&RH͇0ÖOR[M*&RQI* MIN*!1*&)):*M(C)*:M(HL)͍ENI͇0XMRI* MOUT*M(C)*!1*&)):*:M(HL)͍EI͇0XMR8J* MSBC*&͋EJ* MADC*MHL*!2*&)):XMRK*&!*&!}oElJ͇0K* MLD*M(16)*!2*&)):*&͋}oEJ! 0K!0**:*M(16)XMR>K*&!E8K* MNEG;K͇0XMR–K*&RnK* MRETNÓKRK* MRETIÓK͇0XMR0L* MIM*&RK*!0e.-LRK͇0-LR L*!1e.-LR*L*!2e.-L͇0XMRXM*&!EM* MLD*!Ae.*!Ae.*&R¬L*!Ie. MRL*!Re. MRL*!Ie. MR M*!Re.XM*&R4M* MRRDXMRUM* MRLDXM͇0ÖOR‰O*&RŠM* MLDIÆOR«M* MCPIÆORM* MINIÆORM* MOUTIÆORN* MLDDÆOR0N* MCPDÆORQN* MINDÆORsN* MOUTDÆOR•N* MLDIRÆOR·N* MCPIRÆORN* MINIRÆORN* MOTIRÆORO* MLDDRÆOR?O* MCPDRÆORaO* MINDRÆORƒO* MOTDRÆO͇0ÖOR–O͇0*&R«O4.PRO*&!vEO,FO͎>.PRO>.PR.P*&RPVF.PRP͖H.PR%PR+P͇0.Pͫ?" !"k*k M*kM*kM*k!s#r*k!s*k!s*k!s*k!s*6&}o*&!/P ]O}oEP͇0÷Q*&!͒EQ͛ͺIns  *&}oEʒQ*k!s*&́!͑!͑OEʒQ*&RsQ*k!sËQR‹Q*k!s!jH/*&}o*&}o}oEʴQ͗O÷Q͇0!"*&}o*&}o}o*^#V!}o*^#V*^#V*9!!͒}oE&R!H/þQ͛ͺAsc  ͸Q͛ͺByt  ͸Q͛ͺWrd  ͸Q!"͛ͺAdt  * MDEFW*M(16)*M*!s*!s*!s*^#V-/*!s#r!0!"͛ͺSpc  *^#V"3!3!19'}20*0&!͒ES*^#V*^#V*3!!*&}o}oEʪS!T.*&}oEʧS**^#V!s#r2!!!:O::O:!*! !45(! +/ 0y0( d!k5!{5__o&  :(͠|(  *"x2y( >28!"9!! og2"">~22 9/4*9 Co&ͦͣ} [ (!e{ͦA8Q0G: x@!\w# (͂ ?(*( .( w^. ^!h6# (?( *( ͂( w#>?> w#ͦ 8 !ɿ .,;:=?*[]<>{}a{ |ʹ}ͽƐ'@'7||}>2ͯ*Bڨ  "og"2>2! ""*B"[Ru*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#Eͺw}8' RB0 >' RqRR!+ Ͱ R!+ Ͱ r!+ Ͱ r!+ Ͱ r!# Ͱ r!+ Ͱ T]KB!z> S>))0 = | |̀̀DMgo>jB0 7?= H͒<z5a)a<z {0Gɯgo||~}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'd } ) W _}8(8J`9{T]=o`9y ) >' ́ ͬ͗ }>' xˆ }} ˸T}ٕ(0D=z ,= ( ͒ 0%{ , 7 ?(8ͬ x ͆ - r 8˸x ͏  ,-xG}r }مM 9r .>#n0͒ { = - nx ͇ ,-(-˸G,-r }ٕ?M 9.> 8ͬ ?= u+-(>͆ 0ͬ ͆ 8 ?x ͇ , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx( ?}ٽ }ցr <(r 7{ = |٤g{٣_z٢Wy١Ox٠G{ ͬ ́ }x>' ͬ}ƀ/ƀo -́ }0͎-́ ͎,}l˸ 8 4 ͗ x( - 8́ - 8,́ }l8;*!͗ ! >4ͬ͗ ͗ ͬ--- ́ ,,,-xGg?+2n*8t z~,->' x' ͘}. ͆́ , ! >4,͢- o&0%,͗ }gr }؉}颋.:}8c~I$I~L*͢ٷx˸ }0G,<},-(-́ !>I0 ͗͘ o8 ͆ >' m.`1pF,t6|!wS<.z}[|%FXc~ur1}͆ٯx(<˸ 8 !~J 0.O!>s 8 =  n s͗ ͆ .n 0 ͎-́ OT0 j oD,:j !I}袋.}8c~I$I~L! >ͬ͗ I× nn ͗ = ͆ nf^VNF!DLT\I!!53!r1!͒!> x #-= o˸x͆(- }(x>8(z ,z `iÃ!>' |r |̀>)=|(DMbo˸88x(0 8> ̀x(>-{(ay( z(>. ( {>E>+|(|Dg>-|/ 0:p# ~# +>0w#,-  60#}˸}րogM| .(z = ~> x0w#xG%͇ %͇ ZJDM%͇ = _~65+~hìx-Sx9?+{Η@}|z z gZJDM0{ ,7}o˸? #yO!@9i&?  #?w#?/w#?w#!9! E9!!9~(+Fͺ!"9!(#>2*"| >"2:( Ͷ *w*6 !\$![ (ͦ( #:~CONTRMKBDLSTCAUXUSR>2i:*ˮ~0:*:(@q##pZ* :(  ~* < >26"!"""~>2""v>2>"!"ˮ(!~8>~O6~*"w(6(2(-()(6 (8 0 :(* y(~#+ (( 66 #6 #"*: y~o p .##~ͺ(.6w4._~ =*##55= *[R8*~#"= ͣ}== ͯ}͵}*#w+#~+>*~('k!0(ˮ]k!8ˮ!]~-#8~>27kˮw>O$6̃s #r$ͣ6̏ k ( (ˮ qk(ˮ ( k ˮ*O:~ ##~._q4((=ʦ==ʩ=ʬò*:4^q*##~6ͺ>2}*|(̓|( ̓6-#[RM8( G> A~#*'C! !TRUEFALSE!9N#Y~#( G~#> >    "~(kѻ(( !0 (ˮ!!>2Sz:0:*6##ww#w$w#w:  ##N#F*B>2w#w#[s#r> "~ͮ*-w#ww##> ͮÁ""~>2:ZR0 *4#4>2:ZR> *4 #4(> >22*f(/˦:G(##~++ :O x yC!ͺ Q*:G(##~._.͚f<\=<͚*##w ͮ +4 #4x >>2:G("ͮ"*nˮ*0 SZѷR8@* N#F#s#r, 0})jS\*##w+ N#FB ͮr+s>2!T]>)j)0 0= ]R!#]*^#V#N#F#^#V>2Ͱ:0:*6 #-Nw#Fwq#p#6#w#w#w"~Á>">!DM!":*B:!>(>2>">!"2"~ʰ*w#wx(9* :O *-4 #4!*4 #4 *-N#Fq#pV+^Bq#pSZѷR&* s#r$ s#rL <?*L!\  <( !\$>2>2L:>!(* \$\<(!3: [1ð\!(7"~> 2"S"Ns#FrB(Z#\: \<(?*"}K\! !*}#"}! x \* *>) 2""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* uKB!0>' ~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6#K*K*!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#V""6#>O"w2x2*"!F"" &y*"*>2"*"!F"""!\*: Nr!~6go(\R*s#r_2x( s x(T]DMx(R0 U(͝O/o&9q# (!>F0#( ~ ( #]( ~ ( (#}(  i&T-a%â}ͦo*!~6o&|:2 2}:__zѯ2*|KB " z ^C User break+=  I/O Run-time error {ʹ, PC=*ͯNot enough memory Program aborted :ʎ'1!d!\C>Ç[InsAscBytWrdAdtSpc"'")*)*'E@!!}2+Á!*)*'*)!ͥ*'!ͥ}o}oEz!!}2+Á!!}2+*+&Û!0123456789ABCDEF}2!!*&!V!n&!!*&!|g}o!n&e.͢ =!!:" * l&͇!* &͇!=!!:}2M!*&!Ed"!0e.!!:*&͇!=!He.=!!:"M!*l&!E"!0e.!!:*!=!He.=!!:"!!!:p!p!͒E=#!}2!*s#rQ#!}2!]*s#r!Ͱ *&""!"**E#*!E!E#͛! " ͛**!!ͪ! " ͛**n&͇!!ͪ! " *!"r#͛! " *8&}o}2͠EM$!ͩ!D *&!EM$!}2!}28*&"z"|!}2~!*|l&!V)^#V"o!*zs#r*o!͒*|*o^#V!!͒}oE$*o*zs#r*z^#V^#V"oÌ$*z^#V!͒E %*|*z^#V^#V!!}2~*~&"k"m*m^#V*kS$}2`*k^#V!͒EY%*k^#V^#V*ks#r*k^#V!͒*k^#Vn&! }oEʡ%*k^#V^#V*ks#rY%*k^#V!E%!*ms#r%*k^#V^#V*ms#r"\"^*i*\s#r*\^#V!E &!*^s#rt&*\^#V^#V*^s#r*^^#V!*\^#V^#V!}o*\^#Vn&! }oEt&*^*\%"O"Q!}2S*"D!*Os#r*D!͒*Q*D^#V!!͒}oE&*D*Os#r*O^#V^#V"DØ&*O^#V!͒E3'*Q*O^#V^#V!!E,'*O^#Vn&}2S3'!}2S*S&"?"A*A^#V*?u&}24*?^#V!͒Eʂ'*?^#V^#V*?s#r*?^#V!E'!}2C*9!Eʺ'!*As#r'*9!*As#r'*?^#Vn&}2C*?^#V^#V*As#r*C&YZ80DIS 000!}28!}27!}25M Z80DIS.000!C"Eʿ[!]\M A:Z80DIS.000!C"E[!]\M B:Z80DIS.000!C"E \!]\!}28͛ͺ@*ERROR* Unable to find overlay file Z80DIS.000, Can't continue. D!qD!Eʚ\!!q, !q*8&Eʭ\!`'*8&E\!`g'͛!" !͛!" !qD!E!v4Z80DIS20.DOC o_ !"#$%&'() *+,-./0123456789:;<r =>?@ABCDEFGHIJKLMNOPQRSQSTUVWXYZ[\]^_`abcdefghijklmno pqrstuvwxyz{|}~,EV2O1:3+]>-@6N;90Xé`vz-pw}ux3pFwC[LjQT\jC57T15< ziQ08 z+mM-,7Td'!7딌e\B%1fr3%1 ,dJk^yWNSï>RYiƙcp㦃Gp Ӥ;ؽ}#yҚ1 |IP$G8ţe"&7p0[;?/ Okpg]DT`" |+-9 Em ĸ}}}}PGyHh 7aen8i+[HRDd60JDq(fFF+4Ƃ Cl+I",l" Cn :HChf/x܏fq$!KC7gWp?OpYnBp:\xw];IBm ^٩S;[1w~q&܀ɄWp~vArpC{ ˤy+'j#_Ahbhh@K=(d)sSKKv--\!*9F:>2rK[F!9 ,Q95 TyFq&#VF1 YfDX»9Kx1@K& Vp%7q]e41 eryGQ\ޅ͋c2# 9F[YnM2o14gqKDQAn[YX»h+HRВ,zZWH=CQLv Y> ຏ+3."ZD!7,E{TYF|b Ynh̢꠭J# M C/Wppw}uX:X `Ra5d\hFN ϼ:%;8]_ xwW D|-f+pk1^:Xy$Ж(L1j#g^b2;ty(f\ u!7q:ZLf"#k*xW[d # ͷQ$B+8:\\[_Z]96[ :clВ&l mWUI4uqmXrpd6<2+"9Z++p^yWppuh)![KYAK2plܷ۽+rÛCTcPMbђ#$F[ídj@KDTDd,!4# &T:*-dA[L&4R0;ujgkufK`X]-Xѹn@KvX"*\iihIsr,[ :,v^;[dV&ÃWtW^$F*,3G 9PȬђe\aeFwa3mʃS>`{d?' ՜FD1,q3N{ k1\u?%;- r,qxpjg9F +eZ[(f`1 Lxh K]d?kKb0"xD/~έn+N(l2Q=0aehN6B3`$1vC!< ̄YaĨ~B!uKLsÛ(FKvdBm"C ME[݀T:*-i2Iy .'la#xmWFmQi S\{ d +VW^ٚ&Õ-lL;x+IC1G## Auη1{1#m^ :dz: \Vpen ˭搛`I:o"Rq1Fm+X]:Xy9 #Z 8[Ұ\sFQo#`$qKb4LH]-#E$4 lg*~TNHqm}i1e ^y5/ +x&~:#Ys8v]^yW^8@ͧkxW^pϜ\%rCplܷ۽+KOp lrvg8]_.{+Id hg&wW7CTc9Fڊ8kfKb\Q&< |%1j#_AS@=LL9RLQpͣ ,x 6hIU`I[Q%;cɌ3jn`Bj 7XB12p%1C"o"Z $ڒ1 Ũr@s$F[\gEZ<چ̻=]$Fj2gB18@hL^0!Lc\)4#Sb p:9`*BOKbȚ 9DH#qKb\"BAj2]؞etlǣ<چKb +M$F[Lce*X4b$Ж`B -#%1R O cɌ3C"o" ͨ':`8%1 ~ܞВ4E0D1sf0IDftJk 7Vp%KbXf&}8RD&XC:i : /,Vpetx&04R*OSGc$kiXe\I^ف{1XÐ#&C"o QḦ́΅>Hc\ɒZʚOS!u -3yv#1#iRm!mW pGhVLnbh"%DKP-AOK^ywW7GvSGzMKb9^t4h+2|%;=2sj!]OًQh#<{"m(@[d7l%w`X0ibl,Tpw`8-yF \`F{dc\[Z` ˄>2l"GX1/Jƛ(cM"%]ђ/aEO@Bۚ. dIH.Z t!.y$qOSC ^P "0{&I ֫c1 4"C!*Dh8 ch1F2 ^yux:j}:Y {}I;:+#\&HN-\&Fc0(FҤ^ywW7*1x"P$ H3!%8VXVAVpeS2q }RDs21%M3Jvxq70%M3꣭J9`I n-eM4G$,BF@3GKFc$Ɣ4 d:sj!]P`I +4l 0"CW^y܍|J +pw}uS0\YnBp:\}<={W^yW>q}>އYHn \Ӹ`vs_Lӧ:㫸 7 xwӒa!HaQ*8#Hn !0(xwWp?u%dPȬ3!5nⰹE!dns,7tWp/:$ijV]j!]PQ]DyJ}\4T!@tD8Zp2 d\m &LcXfْW^IR!uE /u t* Ȃ%+4Ko(Z %\,#Y`70"C $K%FcXqH#S,;ij%W tguDO_ZsWHQMR lk;?c\2"CFBl,]45d+pKx7P "F[pO|j+pT0!`H(>BO@3ϙ8ok 72ʤFf.[+,Г'aY/,QgB!7XTXn-eMD}2I#[KYQLc 2guޅђ&[$;Kb6xvD>j#4Zd1J7ҩ-y$1]:Z"!*D_p[FS2q }BnJLi-`-ň 6#0IsҊA[LqKb$tTo1u,4eR Q$G dI[e*Tc1T(xnf>Py@J-+C"o"ZW^p&8YFHhMRlZa=as>B[,Zr,Q95<[ x ME2Hw CTڒao1꠭J#3l'Õ٫xSkof [ۄ*2Hw  mW m0hgVVU<}򩵀YWRWh+B!u ["[F"I$I,l+,ycd΄*8 1')u eDh+R gT%t-#%1$KB1GU`ZKY h+M-m 76o̙д0!RYA#H9; Q&r4Fc$#Bd|`8\+8+ז"9Г'fB!7a6dG $F[.]Q KbKb2'N%1"ahp<ϡH Ĉ%mWP92z2u'lh%A*EؚW^y܍|Jx +pw}uS0uíddՕ}+lpG pl1f;su5 WŨh+z h+22Oi#0v@p{l9uXdɑGh+2nIq&WpunWpju@KD37^Sg'@KD37^dZ""h\ N-#L;p{+~lpze 45d\ΝSZʚd?OSC^vwK^!(u,Vhq+:7+rǸ''˄CT YҌ ,F+`I &뵀I ^'H-r[%1F@J-GnP*Gy#"@[\A3B%; ^k;"W^yW^yW^8@ͧ1++wW 9 ]0ZLL+[ \]΃;g'Õ-Zo {Wp] n:;AKD37^ywW7fXC,KbD'O`$1r@*,&5\9IDQ,]41,+hf4Y&l9ԽV.ȮL-D}hE$VEKD1Ce}\)4[(fijVXc1$tn-pw}ux3F"ђ$$JlIDQQWp] \9;9uvgt׻o oƈkV%14bM$FKD12>Z 5!sVl+$j#_ )U8Zs&3֊H Ț 9[F[V &8PFKb,&uOSCR,]\*1dk` ̈́Q95 Z"51X##fWp]+qO bW^yW=s.`= WwN+[prvo+TXn-eMbr ij ޝǝ;z?]_0U,;(fl(1reh+2[KY ͨ9<{=y#mcJ](\ } h(FDzʎ!`IT3k+r.yWJd`0WϞ~2guMkiw>Qpӭn= 7ѓ'Qn D)uq[KbT0p19F +e$]} mW2a-yỤ~@nĸ7QRGsM nKb\Y95 F"چǐ:Cq88u=([+r.yW Gsf++nSxW^pϜ n-&g&Õcplܷ۽+l Xݹ:N+O|0[wf0rzBŨГ'vDufe$ƍC]o➜,RoVwdBm\hZލT:s$FKF =Wpuno6p:\`RҺWp*O shy7H3`ek*nߙx*e:Kb^M^)TXn-eM4GKv@8F Kb2_A8F!532 N5E*$FKOSCI0QtZw N54Z } t6MђW^}>Ybg;+Wq}\ H^ I21D# ICr%14ݍ}fBVpe3 }q-`ĸ7Q,㺏1%M,omWd''YQ,s&3֊HwaFۍ<0v@J,xv4nxlI%1C"omWeܓ.X1/"Ђ 9FmdA}XMZʚWp怂dMb +Ac1fdjC3!dJU(q71 L%4zGcM$ i f% ^y燸Cm &p罂3\-s z՝1,=d2#+8 -=FL>%V)Vwނ` :{<+80ҤL>%V)Vw>` :4)xWp~0MD-45d-YV)Vw>` xo(^â!BOsuS+^4lRKhqӅKx7 )L8 i+ e\ b j"LlCMh%M tlA[,A Ĩ~e+++ j>%bW^yW=s.`= WwN+[prvo+8`BVK }Bfש` $ImWJP2 ,]d|&iF ^y>ݓd'Lf7SBn1ThÛVpep&Z<ЌHLIr#,]  "n?ƛWO: E m" r,!twQ4`h+1Ë.X2nijV ^THxB rB[f #4k pGh+[-2m4-A}d=/y\9p+qSfh `bePVZl j6h 7Q+Sj MX4&F!.2B[f ZKDQ$ lqa9R-o%B-#hM nPl-a%+WpՅWp~CbMW8h-pw}ux3F"ђh+%gWp] z+8Z~@c_MeDc_DKDp:#mۋhNI\Q 3Z+r.yW^y܍|Jx+pw}uS0uíddՕ}HiOqVpeKF ^y&`ݝ&`ݝ&`ݝ&`ݝǒ;juwjuwjuwjuwKW^w+N>ݓ"r6ˆ-Uc4E0D1 e\v mWN-Er$laƐ%Mƙc u{^+?yW>\ e\"<#!~L |F\ = |h>w>w>w+!pOD (l1π&"ʇ_= wUNK•)nuM: -MD^᪈ & =3+LMD-WpCpO=qZXpiaC o"BK4 |pOIQ p> "aXB e&/zW>wy'Qp"gx+!8efpSFh?ƛ 5N/&+;>\~.C H3CmdAzW>\WpCp矅{bvvb1|i \9˙8b3+!ʇjL^0!;?K Cm &Fc | -nf g,1l!CWpCpo{# -=%[zg+;0KZ6)3&Ec | o"l0K3xD?\ݢ.İyAh 3^yW>t'+Wp^}^p!~W7oHDX+YYu\QK+c$F+;hH33!k K^!~7Q ;88uRE g1 ̸ U(dqoλx4 "(`Vp)7iDsD[+:#* d `Ps[%1  Ë3/ iRXTc_ `h#%q@a`Et#` 8@Th+28 }-%1NWE 1F^AF4h+28U^~@!B!kA};F!5s]ݒ&L1f8+S0h(F8]_.۵} RF@O\*2a C4HDH#>Kbdɑ ^yWF#FdGd5mpw}ux3F"F*l9N":F[8%1Z2H j>%q^yWpp3a[كpek+ypdw~\{[+-av ?9#a+I8G CTZdQ\1vM,]\ԐuZʚhL,!(pF}`IȩWVpe«rEKha6 k>KbDcu`QpK n@c_D[W B,y\t 9FpK=yeF.X»ni mW7zx#Min>Bmi#%1j#_HD`x,]*$ e& h(}L!`˨,V% E«OVpem6K^)+S Zz-`0΃;g'ÕpjW.`57B%Bmm#ԁYwVpep%"uLinbFyA}pKbpV%B[)2RWp$ [G|=yыh氌^ĶǨF`y7 % Ĩ~B*>xq ˨^+r[dY˧T72%\Q&EQ=yb\Bn;ѓyeuQSï mW\kK^yW>,Q95 DBfuD6p:#m};`d26Vp%"}02МђW^yW^yW^yW^yW^yW^yW^yW^yw5W^y\y:\`w~VפSq NMf&+u>&;[V[^y?0;ujgku fxluvj2 Wʧ8]_.0 }íi~ +ʃS> *Ĕ4dM3`{Q]dv!7X02 [G| 7Vpep FƮLQFN HLl^E*e6r/`I+eM3فЌ /z- ,Q95 mBT!Ƙݿ3\yj8`I09g2E 9Z.ZYnb$BC4Fn+3~&KDq&mo-`4PK=yQ6r:h+l,]41Gѓy57Ly;`d2yWp$ђQ$GB%"M.&X"*FN -QęcԼ8ç1 !K47BɄB[ƣ3!7$`mWU%4F#[:2E 9zmWJPL&4*p-a󺖆QzҒW^b`2X6rj D&Ж(z?]_. D|-f+8:\,w~G&sDDhwW7Ý+8:ZLfV`I -QęcFN ϼídvz%`Bjƅ\ríd*2OWppuN/NfԌ ]Ʉ(nxDQ!{`r+n-&ӧgS8rzv +8@hxq&8jp:ZLfn@OF&Gkh+rA], C4Ж(L1ZF^Kbd\Η |+@YCH@$,'&jYɄQ0vmWL# e619H32BA :2K^yW7ѓyL&4߆fBjJ7^mu4l-u*t llp`I -Qęc B-ibm"΄ mW<ɴ(@O71=C}$=9Y&^Z+ru=y#`d*Zs$FJ-rZ2E ?^y'xQГ'T: &Kb(*!VpЖ(~-h1Kbdɑӵ&zehňn[F[LEk`d26Rj -z/ ֫clm>XChxq&mWDPȬhG`I YL# ݓ.搛ɼppJ 7Ǩ12Z&2IY%+ɼF&oCTZyr HHl'O m)mW'QNz27Z$ǣ*|L.j#Ds4q@K溏+,qmؼ#A};FO02z2>ЖhBJ0~ʔZ2ɄZva󺖦 m%1 e\X»&Ж(t-` +7^m5XYuZvR꣙jW^]0xW^pguM:0d6la[Wcy5; k`k%W^;OAaRl,Ql MRDдd 6 ;h+rpK&Ӂl "QA.G,! +Dh+<cXb#nh6#` C4FM%MuʌF gK^yW,: Ry@4#C}` u`EVGfPVh+׵gWAvA,R!2 ABxJ6fh+rGy 72ӵ&NYuɅ ,FE / mW>8\uOn'O 㽥%+I BmVh c`I cFKh ĸn $ifhmWT$ v ^FFp# Evb%+{"ͨ)"ې$tTocG9Ujn8~@3G[)[ZtTo(* m7jCh'Vpep*Q^ ь:w ;w~w}\%871x '{<"Wp$hD 좉sn%Z ѓ'D[Z32⍀"FKb]MwQ,㺏,]41Rj M}\)` ")m>G5x\^W`I=2s] 7`ԁ[-#XpmW2˸N7uT$*$s]lI=]+r.yWNdBm^MzW^ͨ8@,Kb02|=y̻l9@hxʇ 2#b1W[FKb( #ma4npKb\dBͳ#m5,!`o# dBȮ 7VpeO@u`042mpw}ux32X"*02<(2 d HBAt2 X#+ʁ\ Ch˜ 9eF#e$# ͣpW^f@O.2LH'LhQBcoVʛhi}2˸N+eFN 2D1Z.cm#'OJ:-A*eDT''˄knBKrE"ߙZ+8?DOvDܺ^y$C=y" ZB8 ˌG`hbX]e$`d26 %48]_ F&3k$FJ0fB!7X-x3!h+Yu{1x]G*$dh+ʁW^yW^]0\+&s]luvj2 W0Y+g1ٿ<ܚrvo+ʃpzg:>Bf+An&8@T8 [S!6,ݓ.b̀"L0JDq+EQГyL&4Kx,ђQ$GBH#S| l+,a C4c,Ql"&F5x8q@O@J-cDT(dqn p3K‖"9mWڼ#H3n''˄vi+ʁ\ypvN,pprleX}4FDcDBຏBFy^y2dB&$ e\l g * \>Kby7QQxv+ʁ\ypvN,pprleX}"cpG!B[,aຏBFy6F+;ij%+Wp偌l0} _ F&G ݓ %1x,ђ&~]<+YBc>{yk-` KbƐcd# ͣ:ZpmWd# ͷ1U8X9}Sh cXBc<\upWp{W%ʕW;-}enz;Q,2x[KbnW~%w^yWppY]N9.`:;5M+[֕_nNZo {Wp{X=9Y&g(Wp] \LfcS<y*|Bf+*XYu,]XbXh Ȼ^02 c^y燛H^1%1Rj -n4p<+G"Kh C,7ce$# ͷa) 9FF:_$!e<8r+SN $|/ 4#C}D&Eԇ%qЖ(L1 L9;bpk1XɄ۰Q##o4yB[ƣA[gB16좉QiIQ'4unÐ12X"{rLHГ'Vp%g(]ZW^w+r&ÙGh'']!7ѓy(,Zف7d)Ego{U,Rx 5%@D:)դS8%1 5΄>B=9b;88uv#'O m)QaG9 7VpeO杀ȂȚ gTwq- &۰5Q?&Dkז~ |˷mJҌ XBt!fJB3rMw/% X",ꈖnW^w+ $qЖ(LqZ؄ҍ-Qęc021e\y:\lpGO!12XC:Hk[t7GgBrvmW <˰|c$Ж(L1RN%\`d26 h;5,dBmX`B (1zL>pk1+,Ynh++++++T)a6++wW t* 8]_.sp1\deV'rvo+q٩S;[q ^p.&+zW^7+>2VH;n}" x:zk9^y cX!5 E-hI:o"Q W^7+>2VH;ޅ}" XP(kkvo+8?COu +32.y㑀[xqfMZj!]}Cgb/ yVWH^Zkh+2& GC4H3BA1GQo#ɻ8&?BkCVpep7dG% (dJ3`EtAULWh+2jICk+2=0Ibpk)k9d꼋bhy7rKN`|Z9F[ݐй"q&Kb،G8FCQ&rT!ƨMlmWwγ@wae[KYP1":bDrDҒW^p#$~%@/#zJ3pqo1ܸx=;o\C[ݰ%Mƣhm<*p%Hfgċ`˰KJl6Vpep74y7`z]BC:q1F(d8% un+ּuSd8 L.#zRDB$t BWpG&ISO%Z i`84٠ELQԆH mWwCD|O#dAmfԁ#}|JK^y\9p3+#cԸ>E-Je x`v+a Idف4S˜ 9pq,M+ hrns5nYFWZSBn4ƛ(ijZn UFQ9d̈́##f Nh Ĩ~ܞВ4E0D1sf7Г'9mWwiF':`8`$m0#S$Rb\D E m" r,!twQ4[c]$F[`7]45d+M/ah*^ U71b`I YҰ\ 6G[({e'8%q!GL裀x Vpep7R3sF%1Ra5Qo-`B r3@hL^0!@[ٍ4r7z`*8Gh+2DJ>Z̗ kL+Q {d">GKDT%;8]_.I=4QmWw[hb1z2 ϣ.Ra/"5b&IȩW0v%nc\ ,QH`Gjm$[Hأ`I 5b/wVpep7HY $1j#_A*6h# ##.Ɏ!D|+%" 5XB<#FђW^]p+ <]_.0;?kҩ8[.pw}u}pe w[}Kؽ+  $q@aC-2L#hy7l"GX4ƛ(F[`h*8@n)bxq7 .z2>TtVpep7 ВBR[aB]+2^{$`eL+wCn"L9dak^Hs#jn+|mWw# Y8 ຏȂlQ» q@! F}\ V Xbd>MPskqm P2#cx! QWpep7HD@Z ˭bP `=wj#4N@3G[`k*D' ,!D2DD<%+Gn'96kC P,戸|Cλh+2Z"!;`IH.d꼋b -h$;#hBzBn`IQyckekZ$RQ-Kbpk)kyYwVpep7Z" ,Vz9s7ml\m+nL)xuy%;`Iƛ({1Z"!*hy7Xn<+w!7ѓyBy-Z)C{B6%1Rj wM>| &Cp&++++ ͼ <8ue CSaJ O) d b*O) u+'go f٫NREM"MuCh΄=9Y&g(Wp]ͫCopyright (C) 1984 BORLAND IncA Visual 200912/920/92PInitExitY,000) vHomeLnsMelxOL3igh4ow~7#~=% o&ͦoͦܐԩͣ}!!"8~#(}:$= +*!Z!*B!!:(=2!Z: <2!!!:O::O:!*B! !45(!.+/ 0y0( d!kZ!{Z͈͈o&  :(y ͠|( *"x2y( >28!?"9!!>2 :D]SXN]D [ (!e}̈́A8Q0G: x@!\w# (   yV. V!h6# (*(.(!8}(*(̈́w#>?> w#a{ |͒}͛Ɛ'@'7||}>"C"6# ""͐ͩ*B"[R5*"^#V#^#V#N#FO/o&9O/o&9!9(> (G!9 w#E͊w}8uRB0 >R@RR!+ͨ z R!+ͨ z <!+ͨ z <!+ͨ z <!#ͨ z <!+ͨ z T]KB!z> S>))0 = |JJDMgo>jB0 7?= H\<z5+)+<z {0Gɯgo||H}||/g}/o#}o&K[xAJSJDM!b"!6J"DM'ͬͬdͬ ͬ} wͦWͧ _}8(8J`9{T]=o`9y w >uJ u` }>(; xQ }} ˸T}ٕ(0D=C ,= ( [ 0%D , 7 ͏ ?(8u x O - ; 8˸x X ,-xG}; }م 9; .>#n0[ D = - nx P ,-(-˸G,-; }ٕ? 9.>͏ 8u ?= u+-(>O 0u O 8͏ ?x P , 78ƀ8ƀ8ox٨!دoGOW_gɷɷ|لg{ً_zيWyىOxوG|ٔg{ٛ_zٚWyٙOx٘Gxٸyٹzٺ{ٻ|ټx٨ xx(ͼ ?}ٽÏ }ց; <(; 7D = |٤g{٣_z٢Wy١Ox٠GD u J }x>uu}ƀ/ƀo; -J }0W-J W,}l˸ͨ 8 ; ` x( -ͨ 8J -ͨ 8,J }l8;*!` ! >u` ` u--- J ,,,-xGg?+2n*8t z~,->uxua}.; OJ , ; !U >,k- o&0%,` }g; }؉}颋.:}8c~I$I~L*kٷx˸; }0G,͙<},-(-J ! >0 a` o8 Oþ >um.`1pF,t6|!wS<.z}[|%FXc~ur1}Oٯx(<˸ͨ 8; !~Jͨ 0O!><ͨ 8 =  7 <` O ; 7 0 W-J OT0 j oD,:j !I}袋.}8c~I$I~L!>u` ` 77 ` = O nf^VNF!DLT\I!!53!r1!\!> x #-= o˸xO(- }(x>8(C ,C `iM!>u|; |J>| )=|(DMbo˸ͦ88ͦx(0 8> Mx(>-Ͳ{(ay(Ͱͦ \z(>.Ͳ (Ͱ ~ͦ{>EͲ>+|(|Dg>-Ͳ|/ 0:p# ~# +>0w#,-  60#J˸}րogM| .(C = ~> x0w#xG%P %P ZJDM%P = _~65i+~hìx-Sx9?+{Η@}|C C gZJDM0D ,7}o˸  #yO!@9i&   # w# /w# w#!9! E9!!9~(+F͊!"9!(#>2*Ͳ"|>" :( ͆ *6#w*6#6 !\$![ (̈́( #:~CONTRMKBDLSTAUXUSR>2$*#~ Ͷ$*:> >w###6  #6++p>2S-$Ͷ:*6###ww#w$w#w: ##N#F*B> w#w#[s#r>2S$Ͷ$*6 #-Nw#Fwq#p#6#w#w#w* :( ͒: *^ F* < >26"~͟*-w#ww#͟"~ <@*Ͳ!\  <ʮ!\$> >2*|>! * \$\<(!: [1Á\!(f"> 2:!<"F( #~#6e>!["N>!~8>O6*"w (=(&("( :(N 8y(~#x+% (6*#~[*#~ *~(h#"b=  8 J= B== ͯ}8= ͵}/ͭ !*###~-_~(4Q6*>2>*##w:>*##~*#~(E[ ( ( ( !][ ( ( ((w#(6!]~-#8~>7  [>OkͼMs #rkͼpX á[ [ (( #w(q*#~[ (  *##~6͜O$*#~(08ʦ=ʦ==ʩ=ʬò+###~-_q46͡> *:4^q}Ò*|(M|( M6-#͐ͦ[R8 (G> ͒C~͒#*ͦC!h !lTRUEFALSEͦ!9^#(~#(G~͒#> ͒> Ò "F![(#RR0*4#4> RR *4 #4(>>2$*V(/˖:(#~+ x y2!͵( =( X:(R*:(###~-_-͌X> :("͟"*^˞*V˖0 SRѷR8A* N#F#s#r$ 0})jS\*###w* N#FB ͟r+s> !T]>)j)0 0= UR!#U*^#V#N#F#^#V>">!2DM"~x(L* :O(o:" C}=( ?*-N#Fp+qq#p! * F+N+++V+^Bq#p>>> SRѷR* s#r$ s#r"S"! N#FB(^x * 6#[<(H*! Kq#p##K[! *! 4 #4! x *$ *>w""{_!"*nf}(HR0nf" ^VMDnfutqp*s#r*s#r"* 5KB!>u~#fo{_"*R0RnfR0KqputsrNF( ^VNF^V*SutKqp R*R(~w~wnf ut"6# * *!""*NFy(* "*B0Cnf* [R*"*RS[s#r^#VS>O"w2x2!"" @*>2"!"""!\Ͳ*: !~6go(\R*s#r_2x( s x(T]DMR0 -a%}̈́o*!~6o&͠|ͣ}%^C User break1:% I/O% Run-time% error ͒%, PC=[R"͍% Program aborted*1!͍!0[ͲZ ZDINSTAL.MSG ZDINSTAL.DTA Z80DIS.COMCOM"|*|"z*z!" !  !t͡!t"r*r"p!*p m5zʲ "n*p*n*p*nn&(s*n#Ä P!Ͳ5!NE R͐Ŕ*** FATAL ERROR: ! !q͐""**ͯE%!*"+!*"*""**͛ET!*"Z!*"*" ", * ͥEʖ!** ͥ!}2Ý!!}2*&" * m!͛* !n&! N}oE!* !!ͽë!* * mn&! NE'"* !* !n&+s!D*"6"8!;*6*b!;*8*gb"2"4!;*2*b!;*4*kb"/*/*"-*-!ԟ!)^#VN*-!ԟ!)^#VN}o*-!ԟ!)^#VN}o}21*1&")"+*+*"'!}2&!ԟ*&&)^#V*'aEM#*&&!}2&#!ڟ*&&)^#V*+***)s#r" """$*$͑"}oEʏ$*$*"!}2*"*"* *"!ԟ*&)^#V*N!ԟ*&)^#V*N}oE$*&!}2#!џ*&n&EP$!ڟ*&)^#V!ԟ*&)^#V+"!ڟ*&)^#V*^"!ԟ*&)*s#r!џ*&!s""**"!}2!ԟ*&)^#V*aE$*&!}2ñ$**"!}2 !ԟ* &)^#V*aE$%* &!}2 $**"**"!ڟ*&)^#V**" !ڟ* &)^#V**" * *s* * * * *s* * !џ*&!s!џ* &!s""*** *** *\ * &}2*&*!͛EY&!!+)!s#r!!+)*!Rs#r!"_&!"*!͛Eʵ(!*+)^#V"}!*+)^#V"{*!R"*}"y*{"w*y*w!"**y*w{#*!m"*m*u* *y*w*{#*y!q"*q*u%E='*y!"y*y*w*{#*y!q"'*w*y*{#*w!o"*u*o%Eʓ'*w!R"w*w*y*{#*w!o"W'*y*w͇E'*y*waEʾ'*y*w͐$*y!"y*w!R"w*y*w͛E&*w*}R*{*yRͯEX(*y*{ͯEO(*!"!*+)*ys#r!*+)*{s#r*w"{â(*}*wͯEʜ(*!"!*+)*}s#r!*+)*ws#r*y"}*}*{tEʢ&_&*!N*!t}oEh)*!NE#)!; $$$SOWRK.$$$=!;yb!}2:!!+"!!+"!ڟ!)^#V!ԟ!)^#V+"!ԟ!)!ԟ!)^#V!s#r*!͛Eʁ)!"Ç)*"!ڟ*)^#V**"*** *!"*!"**NE)!"*!"*k*!R*}/o|/g#{#*k!"*** *k!"k*k*t}2""""""!͡!("!)"!4*"!"!*ͼ *ͼ !͡!! !! ͥE +!@! !͡!! ͧ!"*!͛EW+!*!"*!"**"*!͇Eʌ+!",!ڟ!)*^!Eʩ+!"!ڟ!)*^!E+*!"!ڟ!)*^!E+*!"!s*^!E ,*!"!u*^!E',*!"*!aE@,!",!"!}2:!"!"!"!ԟ!)!s#r!ԟ!)!s#r!ԟ!)!s#r*\ !џ!!s!џ!!s!џ!!s&!"k*\ *:&E,!;\b*!tE-!u*:*!R"*!tED-!s*:*!R"*!tEt-!ڟ!)*:*!R"*!tEʤ-!ڟ!)*:*!R"*!tE-!ڟ!)*:*!R"**\ *\ *\ *&}2*&"*"*0!s#r*2!s}2""*"**0^#VaEL/*2n&Eʡ.**0^#Vb**3!gb*2!s**U!R͛E/*&E.Seek read errorͳ /**U͛E /Seek write errorͳ **b!Ͳ85 R4!Ͳ85R4!Ͳ85 R 5!Ͳ85R'5!Ͳ85*4&e.!Ͳ*4&!͛Ee5! (+128)!Ͳ! !5Ͳ!5 8* m*tEʭ5!}2R!bô5!}2*&6! !!͞*!N*!t}o*!͇}o}2*&*&e.!Ͳ*&Rb!8!b! *&e.!Ͳ*&Q! a! a! m!N}oͽ5}o}oE6*&Q! a! aE6!!!!n&+sͽ5E7* *e.*Ͳ*&! aE7*&R! b!8!bn7R!b! m!Ez_7"R!! !b*+57!8!b́5*&Q!$a!0!9k}o}oE6*&! aE8R*&4!q! b* *&e.*Ͳ́5E7! }28!8!bÜ7""*Ͳ!}2!8!b*&(Q!-a!A!ZkEi8*&(}2ß8*&(Q!0!9k!$aEʓ8ͺ5Ö8͜7R͐b*&ü9*+"*!NE8!"R!*b!$k !k !$ ! ͽ}2 * b* A}oEf9* M! !NE59R!<b* 8!$ͳb* M!R*aEc9-8* b-}oEʻ9* M! !NEʦ9R!>b-* [!$bs9"P!Ͳ" ! R!q! b!", !ͼ !!8!8!g9!$!("!aEʄ:R͐bŔ9*** WARNING: Unable to sort Terminal names - Press RETURN͐b+_bR͐bÀQ"*!!s!8!b*&! aE;*&Q! !~kE+;*&Rb*!*!n&#s**!n&*&s;*&!N*&!N}o* m!͛}oEʚ;R!! !b*!*!n&+s;*&!N*ߗ&}oE;!}2ޗ;!8!bø:R͐b""! R!q*!!-*!!E !qb"""**t**͇}o}2*&""""* \Eʇ*Ӑ^#VR!! ! !q! b*x&}oEc?!z͑:*ޗ&Eʎ>c?!z*Ӑ!y!xV<*y&*"&}oEʿ>!}2x`?*y&E?*͐*Ӑs#r*Ӑ^#V*ѐ*ϐ!!}2x?*ѐ*ϐ;`?*x&}oE2?! R!q!E !qb`?*Ӑ^#V*ѐ*ϐ!<}oE`?*ѐ*ϐ;!}2xl>"p"r"t"v*vn&"l!l*t*r*p>*l*vs"j!*j5z?"fR!_b*f#ð?!*j5z?"fR!b*f#?"b"d*"&E@!*d m5zS@" R*d* n&4!q! b* #@*d m!͛E@Ŕ (b!*d m5zʸ@" R*d* n&!! b* #Ç@R!́) bR! ! !q! b!*b~5}2 ! \*"&}o}oE(A! *dͲ[A* &!-NE[A*dͲ!_ R!q͐b""" *"&EʚA* n&!NEʓA!}2ÚA!}2!=*&}oEA!* s*Ͳ<ÄC*"&EA* n&!NEA!}2A!}2!=!}2*"&E^B*&* n&!a}oE6B!}2^B*&}o* n&!N}oE^B!}2*&EsB!* s{B!* s* n&!NEB*&EʤB*Ͳ! R!q! b**?ÄC*&EB*Ͳ! R!q! b*"&* o}oE>C* R!q! ! !q! b*+͝?!`͑:R͐b!` o*"&}o}oEʄC!` *Ͳ"^*^"\*\ \EʽC*\6D*\Fn&EC!e.!XͲC000!*\^#V5!XͲ*\6*\ !X *\ !X *\ *\ m!X m"V*V*\ m!X m"T*\n&EʮD*\G*Vs*\H*TsD*\G*Ts*\H*Vs"R*R!!*R"P*P}!s*P~!s*PF!s!ڕ! <b!ڕ5!aEuE6File Containing messages for this program is not foundͳ !ڕ!e!_H1!RͰI*K!s#rLLL*KY!s#rXM*Kg!s#r<*M&!!5zʄM"GR͐b*G#iM! R!q͐bR͐bNM"*6*"6*6*4͛EM!"6M*6!ͯEM*4"6^M!}2!}2*4!͛EʺNR͐b!R R!qb!8!b*&Q!a!a!a! aE)N*&RyN!ͩMúNRN!ͩMúNR§N*ߗ&}o}2FúN RºNR͐b*&!}2F!*~!/!"<*~!*<R!͛EO*<#"*@"8O*B+">*B*6+*@R"8*8+*:#"8!*8+5znQ"2!*:+5z\Q"0*6+*@*0*8*2"%*%*>͇ESQR*%#!́) b*6*4a*>*%R!t}oEP!**%b!*8!ͳb! !Ͳ Q*>*%RRP!ߎ !Ͳ QR Q! !Ͳ! R!qb*0*:+ͯESQR!! mR!qb*0#$PR͐b*2#PͦM}oEʬO*F&"!P!ͲP!;Ͳ!}2!*!; =!*5!aEQ!*bE!}2ߗ!}2ޗ!*U!N}2ܗ!"ڗ*ܗ&ER<R!Ͱ<^MͣM}oE3R!}2ÆV!}2"*ܗ&ETR!"%!<SR͐b*ޗ&EʐR!}2ÆV*%+"%*%!*UN}2ܗ*%!*U#NES*ޗ&ER!}2ÆV*%+"ڗ!}2ݗ!}2!}TS?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde{jOiٳ^x!F& O NLн 0Y{<>Mo3 5e6QxJ}arL#nLV^[ۧun>n^HB&H c8G7Lн 0Y`ck{nsGK6EJi&::+K۟2RMl&sg2L0o ݋q :p4]J'竜o Gݥ3B!߯xK't3<ĥ3RI+/r}bi^wt)rE//<\:/u3\: (s.!.u tB=nўq~<]i,gt蛺E0]Y˴wQw4\Mx<L^=&ў`2L^-`r击8 &-ߥaRMxd~D7 y8B~-& d[Br?]ݴ=ݟeM.D)ALо&`2G{&#du T^ewt]~sTvtfɥB"% 7Lhd,n ew8\* /R}MdLF00ALQngp4Th1A&홌` ݋_eM.D)ALо0D{&#Wd[B"8j;>^oKtM6&Kq&H b-+ߠ u0uIYM.ڄ)ALо&`2G{&#du T z<~~F_l p4< C=^}N>å3;\:B:PHg k up=*C/> 3hrYMxD&[d<*wMt4Th^1A&홌/1Y&;@&:~Gw8}N>癣ɥB"% 7Lhd,n ^߿_YG m‹ `|&Sn:^L9r>GK6EJo2L6ў0Y&;@&:6YwEϝnxz(hnw( EJ`0=,LL^A!`20Yq2|-?|OQt%d[ [ (( #w(q*#~[ (vZDINSTAL.MSGQ  !"#$%&'()*+,-./0123456789:;<=o>?@ABCDEFGHIJKLMNOPm׌w*6*`KBVZaA?ws:L#H* rZl+^{7K$0 Ai>>QDEx <~~v;z6^6*jԖ^PNmyW)P&#*T2=[md%F6,; S%[;y[n&AÊ Q*0pJJru"kh;whaC[`l &;.K$l0L#-r|gd M6Q!Vޡf!p =%kq/1a*M6H2F6,R_b>0UV5l;f M6Q",_-^=@3lwXR Mdn/B%4F*dLx;%8v=5Z#F\S˖`$j҆aE6Qz;$J`haAM6Q;tbQ|PZ#"NIIF t=IHQ[#[h4dD0R$LP $b_3A5axňMX>v5NII_xU ^B3"I5;"A0BPpX'xy#-n-ꮾ°ЌHZM׬FJ2$w856jxz rflTwX<=eP9C3F@l)FP5Yp~:d5:b?[>Tæ\臱 $WKaS.FXJ "㸸,h6eA))òlʪ` $W]ݗqMW4\;/X-P%OtuA))ɕwW 鮎B))Jı:n㪫pJJrޡ^k"X0El,T:]h8D`kX"p;,) Tbxňr,}q~:!COaIAMZMæ\/,*P}WR