FORMAT !6S1"![‰$$ *%.!~.1~.!~Ͷ [‰$$ @>ќʹ.5~\*.~m> =u*.~ڒ€*%%%.*.wG,›$wG,¥‰*.~*.~*.~¶:O!^#V~#ۜ@\XAUTO COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<Ý2ͤ˝ÝÝÝͤߝͤÝ !虜2:2a{_:ʖ:路>Ľ˝ʖ:=2̤–!B!6#5ڝʖ:路Ľ!ͬžʧݞÂݞ )!F#xʺ~0wëw!" !~6ͽ:ý(!Ϡ#͘*~ ""͌#>?͌͘ݞ =_.:;<> Oo$>!ͤY2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*ٟ6?۟wȟ0ߟ#6 #6" #~?  xDIR ERA TYPESAVEREN USER !yΤO#< Ty#O 321y_͸2y2ͽ:˜1͘ОA͌>>͌9؞О2^ :¥.!_~#fow]!v"!ߠçREAD ERRORçNO FILE^: !Τ ~ 3#0 Wx x G ~ # 3x~#B!Y~ɯ2ͤ:=!菉ý:=!菉:ý^T!Τ~  6?#ˆ:`O> K{̡͘ОA͒>:͒ԡ͢>:͒͢xK > K > ͒x  ١͢١žØÆ^ BRͧ9!5‚#~Y‚#"Tͤ<ÆALL (Y/N)?^ TНʧ͘!6!~ڇ w4!Y~ʆ͌ž†t=ʆ٠f ^ Tͤ 2o&)|+!؞ͤԢͤڝ<ͧ՞ÆNO SPACE^ :Ty!ͤݤB*O=?_s#"^sG!~Ypsp2ͤmͤÆÆf ͧÆFILE EXISTS _:Τ É:Τ ģ:ʉ=2)ͽÉ֤ T!@Нk!؞ͤ}|q=qf^!~2ͤ>`~2ݤ2\!ͤ!B!~> >#0~O#Cx2͘՞1)ͽÂf zͧÆBAD LOADCOMf^:Τ ! Â$$$ SUB ۥ"I{2!"K9"122!By%K!D_^#V¥ǥХԥ^d}DZαױ-39?Kץզץy<ʯ _ ץ:ץ!q*IMD)h2K!%!0!:§h :y!4 5~y¾5 6yYզ^͍@Oy  ͍:ۦ  #͍:! ͍ ͍ Í $Oզ:2*IN#@ ^x7:2ønx7~+29!>w7§:!)5Ö³)xҧ#NĦ:9!2!59#wOĦ~x7p Í^#V! M! M! M!M w#k:HO|^#V#"p##"r##"t##"!vj*x!~j*|!6ʸ6>!N#F*rw#w*tw#w'R*R!N#F*t^#V*r~#foyx*~{_zW+*~yx!#*DM*rs#r*ts#ryOxG*0MD!!N: WG>O: ne*I :ʃn& ^#VPOp"*}:*)=¢:O:o"*I *I!ͽ~2~2͵:2ͽ:O:w:w |g}o*""*v#  ):HO!yoxg*j:HO}!jN#F%"j**ps#r ~dy]8^o$*v:t*I~͂6͂w>2K**p{#z͞r+s{ozg**ʹ*z* 㪾͞FwN#F$!n!vͻި֨*v*nj!~#:G#~$=2K͔ͫ:2K:/GyO*ʟ*U͞ҟy:Oyʎ?ʇx ʇ ~8ÇN'8# ^:2K!~Яw#>2K>2!q*I"#ͼ8m ͨgy6͔8ȬPYy b*{zBKb<[!*I yj m ͨ*I~wg 8I ͨ 8bͨ͵~y*I j͑! N!Fwyxʭ>ڭ>*Iw~#+w#w+ɯ2K8͂ͨy *I :~w~<ͶͶ<#< #  3w ~>2+!K5m*I!i"Iͨ"I!w# c! wͫ1Ñ2ĭ*I ~<wʠG:!ʫɮ 4~Ԯͨɮ:<ԮAԮ̮|ʩ2K͘Ñ>2>2ʩ:!w2:K͉͖֨͜Ø>2>2m*I]ʩ:?͉͖͘’P2^O pDM}l>2K"*I ::ʈtsÐO s#r:K͜ި:!ڲw4 ¿͂w߯:߯w!K~ݯ=26ᩯ2*I!!~~#~O~G#n,-.k! w! y&!x^ĭ.:KG~G!~G} ͨ*I!r#r#ryͅ_y#x#{s+p+q8İ*I ͅ!!q#p#w*l:HOtX}*lMD%"l«:!Hw>2*I~=2U:H2~2w%:G*Iw> 2K!"j"l2H!"n%͋1s1ĭ*I~?ʢ͋1ͨ*"I181 1ڮ1͋1A18 *l"K:H2K*I"n*|"KF*j"K1] *x"K:':G2K2G1s1|1ò:_*I6:_w:2%**K}D CP/M2 on North Star disk Double density - Quad capacity 48K Vers 2.011 Copyright (C) 1979 Lifeboat Associates $Zp ÓqÕÜáçuV2.0110 (C) 1979 Lifeboat Associates1222͝Hõ1H>!up>!up>!up!>22!"!"͡!2~6!::O:555̾5(?O?(?(Q?y2ҏj:o&))))!&i"y2`i",*4~i,&! n&  !"#$%&'(:" :">2*2)2'u2*y2+u7>+y>+>2'!#!'5l!#ll!#R~d*$#"$2&2)ɯ2'<2)!!~6ʓ!ʨ:" 2"!:):=o&)))))))*,:*͵>2":*=:+ɯ2"2!2':"ȯ2" ###~O=~#!91i!7~$N# :!YY"."0:b!""q:O! "4~(:O͏ >O!>uŒyOѶ!\~ѶNy@Ѷ:G:ŶѶy@OyO!#~ʋ#^#Vض*4q̀ s#r5DSb:@>27!:O ~26͏ :6怱O:W=!ڋz=FPGy@O: W!:7_y>jzW>uз:ʃ!w#4>:!yAʩw!: Mount A: on drive, then $yg> gy?O 2ηyo:- :η@>o!- ~Y̐͐*η~}OG<=:5Ga@:sa>wG#7wG# u>>nWr!0O/n:: ::60:η0;:ͷy2ͷ:η_ :@M>n::d:l::η҃:I~_G#~_G# …X>>=¥:z28N]cٸ !@RcfnqxϷ#ka)9=Oi)>0y==yOOy>ɯ!|{gʎ~w,{$ʎ|{p>A>>N>7>0>`>MOVCPM COMXASM COM@ DDT COM& DUMP COMED COM4LOAD COMPIP COM:STAT COM*SUBMIT COM SYSGEN COM XSUB COMCONFIG COMCOPY COM !LIST COM"FORMAT COM#SAVEUSERCOM$^CPMOVE VERS B COPYRIGHT (C) DIGITAL RESEARCH, 1978 COPYRIGHT (C) LIFEBOAT ASSOCIATES, 1979 1]R* ?! ʙʙ0 Ҭ))) O z|¬}ڬ.g))s Invalid memory size.$!$~/w/w|g|?>@!wG!00"!4~:60+4!F!00"!4~: 60+4s!N#F! _xg  J_U#4# A+w+w:>yxG}o|g"! *! xʲ {¥~#o}oҮÔ*.y# ½! ~#* DM!  T*DM! D!00"Q!R!6S1"![‰$$ *%.!~.1~.!~Ͷ [‰$$ @>ʹ.5~\*.~m> =u*.~ڒ€*%%%.*.wG,›$wG,¥‰*.~*.~*.~¶:O!^#V~#@\XAUTO COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<2MEMR COM%FILECOPYCOM&CPM32 COMP'()*+CPM48 COMP,-./0MBASIC COM123456789DISKDEF LIB2:;<=DUMP ASM">?@USER48K ASMABUSER32K ASMCDJEFF ASMJEFF $$$ PRN HEXJEFF PRNFJEFF HEXG4~:60+4*"Wsj!N#F*! T*=:!v"x!u6!sy~# Ty~+ _ps $ !9" Syncronization error.$ Constructing 00K CP/M Version 2.01 for quad North Star disk.$ System requires 00K of memory.$ New CP/M in memory at 900H (sysgen image) is ready for "SYSGEN" or "SAVE 00 CPM00.COM"$K VERS *s"s*o͊O !v6>!vQ*v&w 6`i+46)A*:'ʓ:'O!) ~2vʍ:vO!w 6,]!v6>!v*v&w ~һ*vM !v4˜8AO͐:͐ͱ*##N!ͽ"* N#F*͠" !2:2a{_:ʖ:>Ľʖ:=2–!B!6#5ʖ:Ľ!ͬʧ )!F#xʺ~0wëw!" !~6ͽ:ý(!#͘*~ ""͌#>?͌͘ =_.:;<> Oo$>!Y2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*6?w0#6 #6" #~?  xDIR ERA TYPESAVEREN USER !yO#< Ty#O 321y_͸2y2ͽ:˜1͘A͌>>͌92^ :¥.!_~#fow]!v"!çREAD ERRORçNO FILE^: ! ~ 3#0 Wx x   G ~ # 3x~#B!Y~ɯ2:=!ý:=!:ý^T!~  6?#ˆ:`O> K{͘A͒>:͒͢>:͒͢xK > K > ͒x =qf^!~2>`~22\!!B!~> >#0~O#Cx2͘1)ͽÂf zͧÆBAD LOADCOMf^: ! Â$$$ SUB "I {2!"K 9" 122!By%K!D_^#V^d}-39?K  y<ʯ _ :!q*I MD ) h 2K !% !0 !< !7  7 p Í ^#V! M ! M ! M !M w#k :H O|^#V#"p##"r##"t##"!vj *x!~j *|!6ʸ 6>!N#F*rw#w*tw#w'R *R !N#F*t^#V*r~#foyx *~{_zW+ *~yx! # *DM*rs#r*ts#ryOxG*0MD!!N: W G>O: n e *I  :ʃ n& ^#VP Op "*}:*)=¢ :O:o"*I  *I !ͽ ~2~2͵ :2ͽ :O:w:w |g}o :G #~$=2K ͔ͫ :2K :/GyO*ʟ*U͞ ҟy :Oyʎ?ʇx ʇ ~8ÇN'8# ^:2K !~Яw#>2K >2!q*I "#ͼ 8m  ͨg y 6͔ 8PYy b*{zBKb<[!*I y j  m  ͨ*I ~wg  8I ͨ 8bͨ͵ ~y *I  j ͑ ! N!Fwyxʭ>ڭ>*I w~#+w#w+ɯ2K 8 ͂ ͨy *I :~w~<G#n,-.k! w! y&!x^.:K G~G!~G} ͨ*I !r#r#ry ͅ_y#x#{s+p+q8*I  ͅ!!q#p#w*l:H O t X }*lMD% "l:!H w>2*I ~=2U:H 2~2w%:G *I w> 2K !"j"l2H !"n %͋ 1s1*I ~?ʢ͋ 1ͨ*"I 181 11͋ 1A18 *l"K :H 2K *I "n *|"K F ͢ØÆ^ BRͧ9!5‚#~Y‚#"T<ÆALL (Y/N)?^ Tʧ͘!6!~ڇ w4!Y~ʆ͌†t=ʆf ^ T 2o&)|+!<ͧÆNO SPACE^ :Ty!B*O=?_s#"^sG!~Ypsp2mÆÆf ͧÆFILE EXISTS _: É: :ʉ=2)ͽÉ T!@k!}|q:H A2!    @ Bdos Err On : $Bad Sector$Select$File R/O$! ~6 @ Y O  : Š  ‡ 2 >: § h : y! 4 5~y¾ 5 6yY ^͍ @Oy   ͍ :      #͍  : !  ͍   ͍  Í $O  : 2 *I N#@  ^ x7 : 2 ø n x7 ~+   2 9  ! >w7 § : ! ) 5 Ö ³ )  x #N : 9 ! 2 ! 5 9 #wO ~x * "" *v#  ) :H O! yoxg*j:H O }!jN#F% "j**ps#r ~d y ] 8 ^ o$*v:t *I ~͂ 6͂ w>2K **p{#z͞ r+s{ozg**ʹ  *z* ͞ F wN#F$!n !v ͻ  *v*nj !~#ͶͶ<#< #  3w ~>2+!K 5m *I !i"I ͨ"I !w# c! wͫ 1Ñ 2*I  ~<wʠG:!ʫ 4~ͨ:<A| 2K ͘ Ñ >2>2 :!w2:K ͉ ͖ ͜ Ø >2>2m *I ] :?͘ ͉ ͖ ’P 2^O p DM}l>2K "*I  ::ʈt sÐO s#r:K ͜ :!ڲw4 ¿͂ w: w!K ~=26 2*I !!~~#~O~ *j"K 1] *x"K :':G 2K 2G 1s1|1ò:_*I 6:_w:2%* *K }D CP/M2 on North Star disk Double density - Quad capacity 00K Vers 2.011 Copyright (C) 1979 Lifeboat Associates $Zp ÓqÕÜáçuV2.0110 (C) 1979 Lifeboat Associates1222"͝Hõ1H>!up>! up>!up!>22!"!"͡!2"~6!::O:!5!!!5!!!5!!!5"!(?O?(?(Q?y2"ҏj:"o&))))!&i""y2"`i","*4"~i,&! n&  !"#$%&'(:"" :"">2*"2)"2'"u2*"y2+"u7>+y>+>2'"!"#"!'"5l"!#"ll!#R~d*$"#"$"2&"2)"ɯ2'"<2)"!!"~6ʓ!""ʨ:"" 2""!"":)":"=o&)))))))*,":*">2"":*"=:+"ɯ2""2!"2'":""ȯ2"" #@>o!-" ~Y̐͐*~}OG<=:5Ga@:sa>wG#7wG# u>>nWr!0O/n:: ::60:0;:y2:_ :@M>n::d:l::҃:I~_G#~_G# …X>>=¥:z28"N]c  !@Rcfnqx#DH  "  A $@B B HH II$@DI ABI$"$H$H@$$I! H*  $H@@A I $D!!$I"BI"I"@$BIIH$$$$BBI$@BI!"$$A DI$@ A$@UUUUUUUUT$$D@B"DI$!$H $"A AD  !! @B$!!!DH$ $@ B A@ @!" "HBD !$$@HIH @$HI$H$@$!HA1*" COPYRIGHT(C) 1978, DIGITAL RESEARCH á 4êü /L9ASMPRNHEX##~O=~#!91i"!7~$N# :!YY".""0":b!""q:"O! "4"~(:"O͏ >O!>uŒyO!\~Ny@:"G:y@OyO!#~ʋ#^#V*4"q̀ s#r5DSb:@>27"!:"O ~26"͏ :6"怱O:W=!"ڋz=FPGy@O: "W!:7"_y>jzW>u:ʃ!w#4>:!yAʩw!: Mount A: on drive, then $yg> gy?O 2yo:- :dlssslx!U!">!w! w͡>22!"!"2OCONFIG >/ɯ ɯA $@I$ $ $"B I!"@@!!B$! HH !"@!"@ @"$$@$!$$"BHI$BI$$HI" D$"D $D@  D$@HD!! @H !BI " HI$I $I$HI$HH$!$$HD$I$I$II$H@H@DHI !@$@DBB !I$BI" !"$!HH"$ H$@A $@ @$H AA$@ ! $!@HD$!@ $I$ @@!)ͼ !ͼ :5͡ :6:6͡ :7͡ :\ ʻ 24!dͮ 25ͮ 27ͮ 26!8 ( ʃ !Y 1  :7ʞ !z 8  !"2D2X2#! 8 !ͼ z{* ! !"!8 w#  +6# *#"~!ͼ G:6QxJQS*!w#"! 1 !"!Y~~# …¡z!ͼ wʹ* ! w#" ! 8 !" ! zz_O4:  :6y@2 0 0:x0_<2! wI2 2> 2 >2ɯ22 !~@_6^4#: w~$w: 0 q: A: A͋q: a{_2  2 - !ɯ2I:  ;*:  ͭͷ ͭ͋>9q>9: '!2 >9 7:! 6 >2>2: 2 Qͭ:Ğ! :lj<͖<j<|<: OʊQ>ÖH >2 2 û: B­>ôD> ¸!52 !"!N#~#A07O! ~*!) " {zA"*![N![ N#Fr+sq#p/>G=#w#w3#w#w!JSYMBOL TABLE OVERFLOW G*##~w*##~͎*_###s#r^#V`à 4 Wm ()*+,-/ABCDEHLMDBDIDSDWEIIFINORSPACIADCADDADIANAANDANICMACMCCMPCPIDAADADDCRDCXENDEQUHLTINRINXJMPLDALXIMODMOVMVINOPNOTORAORGORIOUTPOPPSWRALRARRETRLCRRCRSTSBBSBISETSHLSHRSTASTCSUBSUIXORXRAXRICALLENDMLDAXLHLDPCHLPUSHSHLDSPHLSTAXXCHGXTHLENDIFMACROTITLE  PF FP! ( 2/!4w_#~ ʸ A:4~~# ¼ > \ ?ʻ w# !ͼ ? !ͼ :! G~#x=2> > ! >x6 #='G! ~ p( O*}O>4?:7w:#ĸ*"!͸* }w>ͪg( ʆ1 Y :7ʗ8 z !<ͼ CP/M ASSEMBLER - VER 2.0 NO SOURCE FILE PRESENT NO DIRECTORY SPACE SOURCE FILE NAME ERROR SOURCE FILE READ ERROR OUTPUT FILE WRITE ERROR CANNOT CLOSE FILES END OF ASSEMBLY G:7xʘ!#~ʄl͸Ä**!O {zʊ͸*"!!#^4!$wͯͯWƐ'@'ê>:ͪ!#^Ww*!{͚|͚}͚͚{!$~#͚͚> ͪ> ͪ:  '<ͭ'<>V$>O$:Ğà\ÞØ`rÍÖ![w#w#b!"!F#v2[G*##~w*##~<*}q!~ڬ6![^![^#fk"͎͘!G#*####*^#Vû!^*"*?'  v:P@< !  PP27 ( *"  NZZ NCC POPEP M x_BH!œ#¶ ¦{KÈCÈ<:JCR:  !6 s!#  ɯ<:O=_Z!F!V#fjQ̓E!^#Vo&)~#FxGyѯ<àn8!~ڢͅ6~44O! s#r!~ ڿ6ͅ^4!mw!wp!~ͅ!55N! N#fio&)^#fkz'{ͅ>ɯo>g"k!m6ů{_zW5>)D*kOxGd !m?FDM!xGyOڂÃ)sn55)=â|g}o=î--#zg{ozg{ozg{oÓ:: ;,!ɯ22=2l!"]!~H5_!m~0:ą:  *":  :‰:̅ԅ!^#=ʅVq”*qͦ1& O:lµ̅>2ly:_!w~!s!m~ùy !~=w_!m~ ͅ:|: |Ë  |*" ͩ !6="1 :  1}1:n:>BʋSSͦSSxS 1:  1"" ͦ 1 |R >O U!" 1 1!|_!^#fk $8AP`ixH ñññ81Ľ y0îH ñGîG  ñH ñ(Ľ yîH ñîîĽ y0îîH ñG 1: :,; c*| } 8O=COPYRIGHT (C) 1978, DIGITAL RESEARCH DDT VERS 2.0$10 !~=W!xe ~#Xbxʇ {z~#o}o҃i.*|g> >کÝ!p+q*DM͡:͆ ͆:_2:`!!:*& N͆!4!6ÃO$+q+p+qy͏ , $  ͌ 9!z6 # L!zw͌j# X:z 0 ͘=N#Fy}80*z{¯#z+++ ¥ z#½# · 9!`͠ y9!rͷz8O!B N#N ¾SP.* |} !9":q!"- Ͱ Aڥ ҥ _!7^#V~  \p Z t ů2[\͍͢ ҥ ͊ =¥ ` " ͍ ҥ ͊ ʻ` " =ʻ` "=¥ ý> 2͊ ` "W=` =¥ *W}o"Y  *W"[( Ϳ ~ #? }"W*[Ϳ 0 *W}#|#*W? ͊ ¥ ` ` ` {zA|¥ W}d ͊ ` ` ` DMʡڏ"=ʡͲ=ʡYPͲ1**!I~4#~#F#x~#s#r#w>͊ ¥ ` `  ( Ϳ ᯕo>g(Ͱ>2lyPLnR>UX:l̅2l͓*>E2C!" """ :ʼ:*1 |R|ͦ0FIL: R  R* } *" :¿::¿üX!C^#fk[@ :Œ:=ʌG!ʆF#H vÛc*| EH ͺ,^1 ͦ *""1 EH DH ͺ,1 ͦ :  1:  " > 2 Ľ y0G G t :):,.>C :|: Jü;r :R: ʼʋ!ʼR!ʼʋ>SR{ozg!~4ʧͦ !6 ! **̈́**̈́\iͩ !w#H USE FACTOR !* "z{*"* "I !" :1 R O*UR X* G:xl :  *̩ : l x͖ *#"EH DH 0:~ ! ^4! w͆ Æ *! 6z͖ {͖ 4>R>V>D >P >L >N y=!z{w# % w!P͠ y͓}*w#"͌ @.@<!Eͷ~P !ͷ’P͌Q!ͷªP}QxQ!ͷ͓G@Q! ͷ y͓Gþ!ͷ ͓Q!ͷ͓Q͌Q!.ͷ6y#G͙Qà!2ͷQ͓͌Q!>ͷq eg͙Q:zJEËC–EQyQxQRQ** {zҷ*~#" <AOGƐ'@'OxƐ'@'ON# O!b q!vz͒q.?*!9"8"͉Z*" +*'/7?v"*2:EI SPHLDI XCHGPCHLXTHLRET HLT CMC STC CMA DAA RAR RAL RRC RLC NOP CPI ORI XRI ANI SBI IN SUI OUT ACI ADI CALLJMP LDA STA LHLDSHLDMOV ADD ADC SUB SBB ANA XRA ORA CMP INR DCR MVI LXI STAXINX DAD LDAXDCX RST PSW POP PUSHNZZ NCC POPEP M B C D E H L M A B D H SP PSW ??= Öâê ð ' Ê `  "D*"!"!"2I!" "W""!1!++""G>28!"9:] !ç 1 2|2\  !]w# ʥ .&  0 6 #& .K !e K w# ʥ : U 6 #K 6AW w#] !e~H#~E#~X*}|{ "!{ ͊ !ʦ =¥ ` kʥ j \͢@ w# ͅ ú n ʥ : W _ O { `i"@ w# ͅ ¥ n S n S GтWx ͢!i ~T #H  *( Ϳ *(  NEXT PC͊ =¥ `  ( Ϳ ~ Ϳ Ͱ ʵ .͍ =¥ ` |¥ }w#~ ÿ >2F͊ ! =¥ ` }ʥ +"G> Å >  !  # å ¥   Ϳ Ͱ ͊ =¥ ` xS |¥ }ҥ gA>M Ag}M M c |¥ }!w s#r:[ʎ _!~ʠ ![4á \͢  2[y 7 >?  _͢!a"]> _͢a_!`~> 5*]~#"] 0 7   > >  ͢| } : >. *Y}o| , 0 å ^#V#!S ))))o J k s#r#!P4 !P6# ,¨ >2Pë g  g  g  ¥ Pʥ ! XN!~  ! ;#ø##>%><7"T6*}^!T42 G Ͱ *hMͽG:ͮ+GGW +GU!ͩ>̀+! @!!BH @@ABH B! "BHI$$BI$BI $ HI D$HD$$ H B!$D$"$B$DA!ABI$H B$I $HI$H$! $I $I$$A !A@$I$"!$H$I$I "! $A$  HHAA"I @$BH! $!D$H$ !9"1W͜Q>2!͢QG}DrYQ|͏}͏#> ex͏#r* _> e> e ҉0Ë7e}} :³ʳ7_<2!~ɯ2|\\FILE DUMP VERSION 1.4$ NO INPUT FILE PRESENT ON DISK$!Y , <    *$A!6 # T!w $r# *`: 0 *A*! ~ ʰxkb))))_y‘BK{ͅ*!66!"80*{#z+++ #_^! ^#V~ x% >= 7 !~ ( !   #x ` F Ϳ F Ϳ ͍ Ҁ *" !6é +"Y*~ #? ک Ϳ ʥ ^#V( é ~ CZMEIABDHSP!"G"+"!91*~!I~6 =G#^#V#~x "#"!N#FW" *D>7Å*G|H+"G H:FBÅ> Å >* *͍ \" ( *"W !)~##{nZ*F#h!Cs!^#V   ##::^#V#þ*^#V>%#x'8_#*I$$DH@H"B$HDDH@$""A $@ D$BB H A$$BAB"DH I$I "D H@ @@" @D"II!$I A"UUUI$$ D$$HD$$ H B!$D$"$B$DA!ABI$H B$I $HI$H$! $I $I$$A !A@$I$"!$H$I$I "! $A$  HHAA"I @$BH! $!D$H$  COPYRIGHT (C) 1979, DIGITAL RESEARCH DISK OR DIRECTORY FULL$FILE EXISTS, ERASE IT$NEW FILE$** FILE IS READ/ONLY **$"SYSTEM" FILE NOT ACCESSIBLE$BAK$$$BAK$$$-(Y/N)?$NO MEMORY$BREAK "$" AT $1mM"m +!8s~1m!f6!!6e*!M͛ /$^L:!@OL:! 2͑e:b:! L:h<2hb:! b:hO>!hw:! pX:! …!!6  LÊ!!6ûô:!ʛ͑:! ҩ OҸû:!R†!6G>!!!6 :2.t -? >!!6!6s, !6:xB!6OU2!SB!G6:҃!6:G҃*G& ~2!:G<2G_ Qқ=e  b:!-®! 6:!#¿͇;J:!:!!6Lv:!:Jv: *#"͎"&! 6R*I""ë :!M:H| ! 6>F ͛e: <2 O! Hqy d F : 2! 6*#s#r :!N ͢ *o/ Ҧ Ͷn! 6!"&R! 6o$ Î Ç :!S0 $͢- :2"+s#r!:* *& ~2!:<2 :!W> v :!X³ Z͎\ Ee ð :7/҃ E!76e ͕ :xƒ - ͷ*&"K(Kڰ *KM N͔*K"KҌ :!Z ͎  ͢ : :!  'v!gq:7 e !p+q*DM  =? ) !p+q.*DMF -L *9"`!"b!h6!j6!|6.!=\ -x !e:dʥ *eM \R :xʥ @ *dM \, :x \͕ :x - V :e _ :f w : =e !e:d*eM =e : =e =͕ !]6:x>- !"!76!6!6!66*dM  *dM !6:8!*`*;DM \u 2xʻ>!xҨ- *`*;6:82*`"`:<2w!"`9`h*`*;~2*`#"`6:0O  ú!p+q:/(*DMͩ:  : I N* *DM:aO>!Һ x!: ڦ> ʡ* +" >¡! 6: <2 =O! N͒:  O͒: ! 6:h!o$O* ͸ ! 6 !h6!: 2 3* & 6 : <2 =O! N͒*dM  :sGsu n>!6:<2=O! N͒!">!"͎/Ҵ*+">>!": *#"*""*!".+",*$"**o".!",!36:3{. *M  *!M 1m! 6!6! 6: 2Ebͽ!e:d\::eH2 H҆ͽ:e2!:d2e:!2dû :!I¬!: :H2 ҮX:h2iҐ:!ʍ:!:!H:!H,!"! 6#~ F)ͷX:! X):i!h)9 e:!:h2jO>F L>!":i!jHҼ*"+M ~ ʼͲ!f6!h6!"! 6F!f6:h2k!iҠ:i2k:j2h:k!hҶ9 æ:h2j!!6:j2he:! >"Ͳ*"M ~2!O :! *+"! 6:!B)! >w!"&*o"(R :!C:eR :!DKeX :!K\ͷX :!Lj^ :!Pš͎҇! 6F×͢җ:Ç :!T¨F :!U¾: 2 :!V͎"$DMͩ/ *oDMͩ : 2 :! (::H%^bF : ͎H :!Ay! 6*""&*o"(R͎an͢na! 6R :!F”͢ґ Ä :!J $:2$͢ :=2:<2!*& ~2!ü*""I*M*o/!:":f *g&!lq:l $ !h4:l 1 !h6*lM :hB     !h55!mq:m :hO>H2ny} !m6 !o6:n!oښ *mM !o4‚ !pq:p ڪ >:p :p H:p H!qq*qM͛  ^W :q@2q*qMW   !sp+q*r !up+q *tDM !wp+q*v !zp+q*y2x!|p+q*{2x!~p+q*}2x!p+q*!p+q*!p+q*!p+q*2x!p+q*!6   >>! q* &!p+q*:*eM !b+!s{!f!6:!b*b*^DM =ͅ N- *b"b:<2)f!"b!q9bڀ*b*^:w*b#"b!q:6ڶZͅ ʱ- !66*6& :w:6<26!J6*b}:J<2Jm=? :x- : ;*dM .=\ -=ͨ ;: *eM =ͨ .M= -C!q:Y*M !q:a/>z!/H!q*MaҎ:_:!q:ҥ*My:!p+q!'"!6>**ͪ{2**ͪ"*! ͪ":!!*22*,**"0M ~ H3*0"**+"*+">23:2/k!36,*+s#rx:3x*0"*: “**"&*"+"(á*$#"&**#"(*"#""*$#"$*"+""*$+"$*#"!4qM*"*$: *(y"$DM}|C#~ *#"*&DMyxC 1*+":4?w+"$""ͷR: —*$"("҈!"&Ô""&*""&$mڸ*o"(**$"($"O26͛*"M :6w͢:6 !7q:*7M͒:7o$+͛ͪ*$M ~28Om:8 I͇͢u$oqo͛rP! 6!"&*$"(R͎ҔM͢ҡÔ($ҵ! 6R͇vͶ2!*!Mm$"*"M :!w͢:! e2!:! : /HH/Q:! @!!6 R!!6 :!KR$*& :!w:<2dn!:s+q*$";!>6:>/;oH*;#"(";:92=*=& *(M !::=2>/H:=<2=*(#"(æÀ:>*(+"(R:>!6*FM8 *FM   Oy2F :FY5>>:!02HO> /!";u*)))*) *H& "PҘ! 6+s#ré! 6"DM!>))덑o|g =±^#V) ^#V|g}o _{ozgi`N#Fogo&og_{_z#W H = LIBX$$$$$$$LIB@ COPYRIGHT (C) 1978, DIGITAL RESEARCH ERROR: $, LOAD ADDRESS $DISK READ$INVERTED LOAD ADDRESS$DISK WRITE$LOAD ADDRESS $ERROR ADDRESS $BYTES READ:$INVALID HEX DIGIT$CHECK SUM ERROR $FIRST ADDRESS $LAST ADDRESS $BYTES READ $RECORDS WRITTEN $HEXCANNOT OPEN SOURCE$COMNO MORE DIRECTORY SPACE$CANNOT CLOSE FILE$*!9"!e !" !" \!""͊: ƒde"\\\͊: ²d\͝: )d;! q* &f  ! q> ! : A O6Y: !2 6=21 á:1 : r+s#r==_HL"4 " >6 ͪS* "6 =23 :1 =21 v=O* #" Y8  ͝҉* +"8 .!2 ʞR̀* "4 4 = ͝* #" çR*6 DM+R*8 DM+R*: DM+R*< M!? q=  ͝Kd*= ! ͸p!@ 6>!@ X*= }O!< *@ & w*= #"= !@ 4)!< 4\mad* }O!< :? wlR*4 DM+{R* DM+R 4 ͝*4 }¿= 4 ͝< N*4 #"4  å;*4 DM+: Y2$:2*o/*!My:<2=O!s Hq**DMͷ! 6: e!"*""?k*&"?*?+M ~2A :hHҏ *&"?(?:A ½8*#" ҽ*?M ~2AO *?"?ҕ!"*"*"^: 2B! 6F:B2 o(>&H6͛9!C6>!Ca R>:C<2C?! 6!"͇͢Ґq"ڊ͛Íq!!6 !!6 !6*!Ma2D*!M͒2!:D/!+w!6e2!͢!Eq!E:!:H:H!Fq: 0O! q: O: O! p+q* |O* }O! p+q*  f! p+q* DMB! p+q)R* DMB1B* DM+;! p+q* i2 ! p+q* i2 ! p+q* i2 i2 !" p+q*! f!$ p+q*# i!& p+q*% i!( p+q*' i2 !* p+q*) f!/ s+p+q+p+q:/ =2/ X*+ *- w*+ #"+ *- #"- 1* #" ͖r*   ~!" ! ͸×* " x20 º*   DM":0 Ad*   6!" Ç!" : !"6 "8 ": }2< !"4 "= ! A 0O> :A 0:A AO>&R̀:A A H.2B !2 w:B !D s+q*C &͍:D _og_{ozg^#V) _{ozgi`N#Fogo&og_{_z#Wq=  ͝Kd*= ! ͸p!@ 6>!@ X*= }O!< *@ & w*= #"= !@ 4)!< 4\mad* }O!< :? wlR*4 DM+{R* DM+R 4 ͝*4 }¿= 4 ͝< N*4 #"4  å;*4 DM+: Y2(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OUT:SPACE)(INP:/OU! 6nPACE) COPYRIGHT (C) 1979, DIGITAL RESEARCH, PIP VERS 1.7$$$ SUB =.:,<> _[]INPIRDPTRUR1UR2RDROUTLPTUL1PRNLSTPTPUP1UP2PUNTTYCRTUC1CONNULEOFDISK READ ERROR$DISK WRITE ERROR$VERIFY ERROR$NOT A CHARACTER SINK$READER STOPPING $NOT A CHARACTER SOURCE$2q21:q2r<! 6+6+6!W6#6!6#6:VG*o .!6:}^*M^!6!6!U6+6 :Z$:Z:E=2 :Zʤ]:ҷ\ʹPʹͮ:Z!]h :ZN͌! ͥͮ:Z$:Y $Nͮ!6 :Z!Cwͯ !6:Z^hd!Y6{:Y/>!Y/H{ͯ :Y<2TŠ :Z:Y=HҮͯ !X6:XҾ:q2r !6:Z:/HNͿ!Y6:Z> !Y/>!tp+q*s !uq*u& *qM *rM !wp+q*v!!yp+q*x"!{p+q*z$!|6|  !p+q*> >ڪ Þ !"p+q/ *!DM9: :2#:!# !}:# *#&~ N!#4 !}6:͔:_ :ͳ.!(s+p+q+p+q:(=2(N *$*& w*$#"$*&#"&' !"N*M^7 !)6:!)ھ *N*DM͆ 2*ʭ :*ʗ ͯ *N"P*6:2)÷ *N"N!)4d !"N/ !R0}=2- !"R*M^_ !+6:-!+1 *R :22!3q:3 " *3M n :4 *3M n :24!:4Q !:424: !4:w>!4n !45 Y :3 { !6!5q:5!wҙ  â :50O !6q:6O| :6O| !76:2: '2 :'2:'2*Mͣ *Mͣ * Mͣ ::   *R}2: "8 *8x *: *:&"R!;q:Y:; Y:Wҩ:; ʩ:2<ʘ:<€!<6<:<2!<ژ!6 >!Ҥ; !W6::;:TH:; !6*;M :; !W6!=q:=a/>z!=*@M:@>!(:=2%> >>!F!5+N!~ ~2B!4<2BT>>!}*Mͭz:2!6:<2é>!ҥ*MͭҞ!6!6> :Bé:B(!Cq:!CwO!~ ~2D*C&~ :Bw>!B:D!4!6>:<2!}> *&~ N2Y !Gp+q!6!Z6+6 ![6:[ S:[ M!Y6g8:2*YM8p!Z6!E6!H6>!Hڕ*H& 6!H4z!6!6#6#6![6*YM8:[ھ:Y*͇g2Yê:Y:¿:E:[,͡A<2EO>ABORTED$BAD PARAMETER$INVALID USER NUMBER$RECORD TOO LONG$INVALID DIGIT$END OF FILE, CTL-Z?$CHECKSUM ERROR$CORRECT ERROR, TYPE RETURN OR CTL-Z$INVALID FORMAT$HEX$$$$NO DIRECTORY SPACE$NO FILE$COM$START NOT FOUND$QUIT NOT FOUND$CANNOT CLOSE DESTINATION FILE$DESTINATION IS R/O, DELETE (Y/N)?$**NOT DELETED**$$$$$$$NOT FOUND$COPYING -$REQUIRES CP/M 2.0 OR NEWER FOR OPERATION.$UNRECOGNIZED DESTINATION$CANNOT WRITE$INVALID PIP FORMAT$CANNOT READ$INVALID SEPARATOR$1} :}2VL> @M9 HHͯ :!w:Y<2U:Y0}:Y@E}:Y!S!6:T z!6:m!6:z!6h :Z:Y,:Y HHҰͯ :Y 2Xó:TE:T2:V2}v!q!*8!*6: >W>W!\q:\_  !^p+q.*]   !`q*`&!bp+q*a2_!dp+q*c2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*ox ".*.DM͆  ͯ *R"R!+4 : !"R͆ !+6:-!+ ? 20*#"!,6:,ր!0Ң *,& :,Rx 20!,4m *R"R:0ڹ ͯ !+4I 20!"R!1q:1 !4>! :! :22*TM! ^#VRJ *Rx :1w*R#"R = = = = = ͯ  *1M !6q  !6q  !6q  *1& !6à  !6 à  !60à  *1& !6  !6  !6  *1& . 1 4 7 : = F P [ f q  /H:=_2=:=!>q:>A/>Z!>/H8:> 2>:>:U=O>m:!} Hmd>9>!A6:2?*UM!E ^#VNJڗO *N*~2@*N#"Nm2@m͖ 2@m!6m!6m!6 m2@mͯ m!62m!62m!62m!A62@m'2:?2:Ғ:T2?!T6*@ME:?2T:A:Ҳ:X<2X2Aý:@ 2A:A} >ͯ ::@2@:*@M:  *YM8):Y[ͱ!5!Z6ñ:[5!R6#6>!Sڰ!Q6:Q<2QO>/:Q!RO!T *QM͡H~K:Q¡!Z6[–ͱ!5:S2Y:R2R!S4=:Y[¼ͱ4:[![6:Y.2YO8:[ :Y* ͇g:Y[ ͱ!5!Z6:E%:<2E*F6 *F 6å!Kq!L6> !Ld*L&I :K]>!L4A>:[<2[O*F :Yw:Y?†!6!Mq!Y6?!M:[ҠgÐ!Nq*N&*F~!6:q2r2Y:Y :Y]Hں:YA2OO>:Y 2Yͯ ÷:YS:YQHI:<2P2Y:Y H@"2YÍ2Y02PO> c!P6Í2Y02JO> ڍ*P&*J& !Psc*O& :Pw:O·>!Pұͯ :P2r2Y:Y_!Y6=!T6>'!TE!T4!Zp+q*Y !^r+s+p+q*]~$7*]>*[>H&>*[#"[*]#"]> 2Y:SNPJ/:Y!`6!M6>2f:ʚ!M6:f”H9>!M6.f!f6ͼ2e>2eʻ.ê:`>>"hͼ2g:e!`!e5ͼ2dͭ!f\2*"N>!"ͯ >!1ͯ !mq:mF:2K!6*R}b!4EK *M^́:_ƒͯ U:_::9OY#9.3ͳ.:2 ͳ 6!0>+!s!x"@O-!"8**"xO4x " 4"":U!2n~: !ҏà:ڠ*YMEÏ:nҭ<<:2dͿ!o6#6>!p*p& ~:p!o6!p4Ņog_{ozg^#V))) _{ozg^#V) *^#V|g}o 4O{ozgi`N#Fog H Z=YC9ͮZ.!t6> !tM*t& ~2u F:t ?.*uM!t4>!Ea:E=2g:2:r]>!E҅:E=2Ë:2!q:rʗ!:¤]:Y ʳ]!wp+qNͥ*vDM! ͌ :Z:Y=H]:2_3 Copyright (c) 1979, Digital Research????????????CON:RDR:PUN:LST:DEV:VAL:USR:DSK:TTY:CRT:BAT:UC1:TTY:PTR:UR1:UR2:TTY:PTP:UP1:UP2:TTY:CRT:LPT:UL1:R/OR/WSYSDIRR/O R/W SYS DIR ** Aborted **Active User :Active Files: Drive Characteristics65536: 128 Byte Record CapacityKilobyte Drive Capacity32 Byte Directory EntriesChecked Directory EntriesRecords/ ExtentRecords/ BlockSectors/ TrackReserved Tracks is Temp R/O Disk: d:=R/OSet Indicator: d:filename.typ $R/O $R/W $SYS $DIRDisk SL!*p+q*)O2'!,p+q*+O2'O2'O!.p+q*-LRRLR\LR" O!/q*/& L!1p+q*0#L~*##N!ͽ͞"T!Vq*VMͳ!Xp+q!W* >Wr#MͲ!_p+q!`6>!`6*`&*^*`&Y />!`4 >*]& ~ O!]49!a6:a*]& ~2bO>z*bM >!b/~,H~:H~*H~.H~>H~<H~=H*]& 6!]4T!]4!cq*a&Y :cw!a4.:`>>!bp+q:`-!`6*aDM9:_=!_6:`{ 2cX!_6E*M& :cw:M<2MOw*:c>>2j0O> ړ:j0:jAO>ҥ::jA ~~Hͭ!fwͼO`i*ͼ\2kO>3:k! !l6:M!l:l=O! NE!l4 E E:k0.*M& 6$9k9.Yͯ *M^2U :2:2ͳ:_³ͯ !6!"R!"P7 *M^n/ :/:H!_6:_ͯ !6:o7B1O B%*P"R+*"R <:h*oM2PO!q6!s67 *M^͆ \͔!r6:_!q:rHҗ!r4ͧu/ :_´:s°9ͯ .:r<2q:__!  !6:/! :s<2sC9ͮZ.!t6> !tM*t& ~2u F:t ?.*uM!t4>!Ea:E=2g:2:r]>!E҅:E=2Ë:2!q:rʗ!:¤]:Y ʳ]!wp+qNͥ*vDM! ͌ :Z:Y=H]:2_tatus : DSK: d:DSK:User Status : USR:Iobyte Assign: =Bad DelimiterInvalid AssignmentBad Delimiter: Bytes Remaining On R/, Space: Invalid File Indicator** Too Many Files **File Not Found Size Recs Bytes Ext Acc65536 set to R/O Invalid Disk AssignmentWrong CP/M Version (Requires 2.0)!9"2!T OË!]6:\:] Hr3 Ë:\ʀË͇ /ҋͺ *2!"q*"&L ͐ ͐ ͐!$p+q*#~*#N͐*##"#÷!&p+q͠*%DMͱ O O!(q*(&!gr+s+p+q!h6>fr*d*f!is*d́"dPY! "f>!h#~Haͫo!h6:i0O͐!mr+s+p+q*lTZs#r*lڶ*l+s#r*jN#F+q#pÌ!nq!"o"q}2uo&"s* s:n*sDM2u:uqos*s"s*o͊O !v6>!vQ*v&w 6`i+46)A*:'ʓ:'O!) ~2vʍ:vO!w 6,]!v6>!v*v&w ~һ*vM !v4˜8AO͐:͐ͱ*##N!ͽ"* N#F*͠">!H% - *DM ͱͷDM  ͱ* N#F 9ͱ * ^#V))DM Tͱ* ~ *} *M!+s#r#4 !s+p+q!6!66:!ڄ !6!6>!r *&**&Y i !6!4+4A :} :!4- >!699 2¨ :!4: :2!6+6>! :O!9 DMi ͱ:!O!Y DMi :2͠Q" 8AO͐jͱͷDM͏ m  Z"l"!6>ʥ *}҆ *M ͱ*}x O͐} W͐ͱ !+s#r!+s#r#4D ͠:\ʹ :\=Oͳͩ !6!)6l :) :)=2) :] & !"}2\!h6?!j6?\:'C:'ƀo&")!)6!"):)/)HҘ]!)6> !)ڎ*)&*)*)&*) y!)6 Ä:) 2):)<2)M*)#")/:)ҩ*)+")`*")#"]!*)!/H!")!"]*)) *)s#r!)*)) *)) N#Fq#p*)) *)s#r*)#")!)6 J:)!)J!)6 :)<2)*)")҈q:tw͠ͱ!"))ҍ*)) ^#V")]͠.*)DM\ -°!\6:\ͣ:ͱ*}DM'ͫ*)%) N#F'ͫ*)!) N#F'k͐ͫ*)) N#FͫR͐/͐ *) ~IO͐NW͐ͫ8AO͐:͐ *) ~2)t(͐:)҃)͐*)#")Ã& \!"))\Ұ*)")]͠*)M! ^#V *) >*) w *) >*) w *) >*)& !Psc*O& :Pw:O·>!Pұͯ :P2r2Y:Y_!Y6=!T6>'!TE!T4!Zp+q*Y !^99:Y=/9&ͩ c,Hͩ 9 EHͺ i`N#Fog_og_ogDM!>))덑o|gҘ =†DM!>))ҭ =¥~ ³^#V) ½^#V|g}o _{ozgi`N#Fogo&og_{_z#W copyright(c) 1977, digital research $Error On Line $SUBNo 'SUB' File Present$Disk Write Error$Command Buffer Overflow$Command Too Long$Parameter Error$Invalid Control Character$Directory Full$Cannot Close, Read/Only?$!9"!͇͊!p+q* ͊!p+q*͍2!p+q*͍2!p+q*͊!p+q*͍!p+q*͍!p+q*͍2!s+p+q+p+q:=2ʦ** w*#"*#"!p+q(+*DM*p*& 6:ep\:=:2͠!4 F :® )!6>!ګ ͠:O!9 DMi 8ͱ!6> !ڤ Å :2k ä  ͐:!O!Y DMi w !4C F :¿ >F : F :=229:Y= ;>9*&Y DM =2 I>!6:=28 :2:2 :!!29:Y T >:Y,e \>Ì !p+q*~:ʉ *N͐*#"o :͐!p+q!'"!6> **{2*́"PY! ">!+~H !6:0O͐à k͐)6> !).*)&*)*)&*) w:)<2)*)) >w#6*)) w#6*)!) w#6*)%) w#6*)) N#F*)) q#p*)%) *) ~e *) * ~o&͞ *)%) q#p!)6* >!)6!)6>!)=:)!)w=*)&*)~2):)*)& *):)2):):*)!) *)) s, >X\:)“>!d!")>!)d!")!")*++!)a*)) ^#V")]*)")*)) ^#V")]!)6> !)T*)&*)~2)*)&*)~2)O;*)) ^#V" w *) >*) w.*)DM\ -+!\6uͱ:)O! DMͱ*)#")Ù*))))))"):m w>.Yn -:YS:Z Hҧ!6> 2)½>!)6> !)*)&*)>2) :) .͐*)M͐:)<2)99:Y=/9&ͩ c,Hͩ 9 EHͺ i`N#Fog_og_ogDM!>))덑o|gҘ =†DM!>))ҭ =¥~ ³^#V) ½^#V|g}o _{ozgi`N#Fogo&og_{_z#Wͧ!t6>!t%\= >!t6:t<2t=O! ~2u b:<2O>9b!60+~9b!60+4:uat:u_2u:uMʉSͧ!v6!"v!|6:|Ҁ!x6 2}:} Hk:} h:}$6 2}$*}M3:}02}O> ͧ3!z6ͭ:}"!}5́ͭ́3*yM"h:}^a a2}O>Vͧ^:}>*z& ~ !z4í!{q*v#"v͙dͧ*vv :{w:x<2xO>}|ͧ-!6]:ͧz2~e:~2O! 6*~& 6$>!~_z*~& w!~5Bx:yͧ*v+"vv ~_{ozg001 $$$$ SUB6ͭ:}"!}5́ͭ́3*yM"h:}^a a2}O>Vͧ^:}>*z& ~ !z4í!{q*v#"v͙dͧ*vv :{w:x<2xO>}|ͧ;6SYSGEN VER 2.4 COPYRIGHT (C) 1978, DIGITAL RESEARCH COPYRIGHT (C) 1978, LIFEBOAT ASSOCIATES SYSGEN IMAGE SIZE= ( OPERATING SYSTEM TRKS=  SRS PER TRK= ( TRANSLATE TABLE  %&'( !"#$ TABLE EXTENSION SPACE o&)))))))a{_*O* > > ~#'*C***!*$k*':AO3! !"E>2B!B4:5N;>2C:!C$4:B!C^!~ڦ!C^!F+NKy*EDMS2G:G !' N CP/M image in RAM at 900H is ready to write or reboot and "SAVE CPMxx.COM" Destination drive NAME (or RETURN to reboot) Place DESTINATION disk on , then type RETURN Permanent ERROR - Type RETURN to ignore Function completeInvalid drive name (Use A B C or D) No source file on diskSource file incomplete;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qyÉ Extended Submit Vers 2.0, Copyright (c) 1979, Digital Research Extended Submit Already Present$Requires CP/M Version 2.0 or later$:ʜ F  Ұ f!~=ŐW!x ~#bx {~#o}o.6::!"*"!E""1 5!"!E"* (xsub active)$|y ʍ"*`is<̓ :=2s!^#6 #6 #6$ ~O #w# !6:=2s$$$ SUEæ<2G:Dc[ʦ:*E"EÒ> 2]1x!W":] ʙ\x<_!"E2|\s e! DMS\sx!*"E!" AڴPÙ2AA2!" E2D}!':vG!00"F!G4~:60+4!"!T" EAP2AA2!" E!D6}!'3!"SYSGEN Version 2.4 Distributed by Lifeboat Associates for CP/M 2.0 on quad North Star. Source drive NAME (or RETURN to skip) Place SOURCE disk on :, then type RETURB * !"!4*DM͂e/7 ͫ*"!4 :1 :<2!":ʚ ͂e!:q2q:2e:ր2O:2ä H$! A "!$""!"*"!E""1 5!"!E"* (xsub active)$|y ʍ"*`is<̓ :=2s!^#6 #6 #6$ ~O #w# !6:=2s$$$ SU]emu  CONFIG VERS 2.1 COPYRIGHT 1979 LIFEBOAT ASSOCIATES !6}!6P}!6M}!6S}10 !~6³*.".#^#V{2{_"T: :M2SC!!># Ĵ:   !͊! ^#V# N#ͩP: !͊!N#F! ͩo:P !N#F*ͩ!K*!!͓ o g^#V*s#rW:! ͩɇ_^#V~$N͡#Ó* x~# é: :!!q:!N!q:"G]R*" @@@@CCCBBC/>$`X 0@@@0P>/0@y)$$$24ͭy:>ɯ7;qÜâêw:2!"!":"`i"O! "~fy"wf6h>*DM*::2@:"*~6*:ô:ô:ô"`i"A: y2*DM*yɯ3*# COPY Vers 2.6 Copyright (C) 1979 Lifeboat Associates User may patch number of tracks per side in binary at location 103 hex and number of retrys at location 104 hex and sector skew table near end of program. 1h !"&  " ) COPY Ver 2.6 $m :!ͩ Copyright (C) 1979 Lifeboat Associates.$ͽ6861h Insert SOURCE in , DESTINATION in and then press to copy the disk or any other key to reset options. - $ 6 Copy in progress - Press "^X" to abort. - $::#*"+:$2 CONFIG Version 2.1 Copyright (C) 1979 Lifeboat Associates Your CP/M System is now configured. Type SAVEUSER to permanently save on disk. $qtv #3*QTWZ]`cfi )EJPTZbhmry +.147:=@CLXdv  I+.7# >>>>@>>7**68 ÊÈxGRGÈ)5>0GyRy]> y>>ɯ!|šgʭ~w,š$ʭ|šÏ>A>>N>7>0>`> iBF%===%GJ1>/1%~6!I45wy͘ɯ2Iɯ Copy complete. $:! ? NO errors were detected.$c Errors detected. +++ ERRORS +++$ Press to copy again or or press any other key for new options. - $ B6 ***** O P T I O N S ***** "A" = Copy ALL or tracks per side. This option also FORMATS a new disk. "M" = Copy disk until empty (0E5H) track. "E" = EXIT and return to CP/M after first inserting system disk. Enter your selection from option table. - $ 2# !f.A$M$E) Illegal selection. Try again.$>" *& }5:% w* Enter SOURCE drive name: (A B C or D) or makes default copy from A to B. - $ _2[A; Enter DESTINATION drive: (A B C or D). - $ 2mAҧ>A2[<2m*& } *.f%."& ~2% w: W:[AF2:mAF! Density mismatch $)O *& .~ N*& .:[AO ~2@ʄ:[Aͧ҄:mAͧڌ:2:G:@ʛxG! ~ʥpO *& .~ ¯W: 2 :[AOR O 2! :[A2 !h " c) *$:<2" !" 5:m\ Compare$1 Read$1 Write$ error at $w :$ Ď `  $>2! on drive $: A : ! ͩ Track $! y! ͩ - Sector $ ͹ 0w+>06 6/4һ #OL ~#$ I OL B{_F I  Console ^X has aborted the copy.$6!  N:!H  w###1 : !k ~w !$'*-03 for quad capacity North Star. Source disk controls density and number of sides.$OL ~SKIP TABLE HERE - MAY BE PATCHED  *v$ 2  ; E55Q| >^^ #T|.7?yOxGxwGyO-e2y>d2x2z:yO:xWax2yy¨:zʷy0_ >2zú5:xO ay2x:x‹:y0_ -\+ _ 5###~5!9"v1!]> I 6?#B>?2hHkHs'ZA2 !h " h!i" c! 4: :# N6MS: S!h ~S# xD>(!h >Uwr/wr# x] ABORTING due to memory failure in buffer. Insert CP/M system disk and press ANY KEY $I )>2$ : OR : OU * ! X [ :)>2$ : OR : OU * ! X [ :)3j2$ : j s>¾#  7?2 h !i:" ># y>2$ )$L! yw !"#$%&'(|{ "!{ ͊ !ʦ =¥ ` kʥ j \͢@ w# ͅ ú n ʥ : W _ O { `isole ^X has aborted the copy.$6!  N:!H  w###1 : !k ~w !$'*-03 for quad capacity North Star. Source disk controls density and number of sides.$OL ~SKIP TABLE HERE - MAY BE PATCHED O# FORMAT for North Star Quad CP/M 2.1 Copyright (C) 1979 Lifeboat Associates1 "c:!;!_U!@",‹2Go͚0E r!U,1!U0NrRʋEä!U0 !U0 >B2qA2::O*.f%." ~2:<*.~ 2*:o:g"}C||!U0 W>DSeSD>G!>w:!CU0 …>21ʏ2o1!> w: ::O *++~ ±!jU0 >DSSD>š!>@w!>w!U: !(!-U:ber (A B C or D) ? $ Single or double DENSITY (S or D) ? $ CP/M Version 1.4 or 2.0 (1 or 2) ? $ Single or double SIDED (S or D) ? $ RUN again, EXIT or NEW parameters (R E or N). $ Error on track $ - Cant write disk.$ - Cant read disk.$ Press to format CP/M Version $1.4 $2.0 $ SINGLE $ DOUBLE $density $SINGLE $DOUBLE $sided in drive or "E" to EXIT, "N" for NEW parameters. $ [ Side one now being formatted ][ Side two now being formatted ] $*$ To reboot: Insô Patch 103 hex for nr of secs to save on track 1. Patch sector table here: $%&'( For CP/M 2.0 on quad North Star. Saves MODE BYTE sector plus 4 sectors of USER AREA.$1eX SAVEUSER Version 2.1 Copyright (C) 1979 Lifeboat Associates$!\MX Place CP/M system disk into drive A and press to patch (or ^C to not patch). $y :30O͂*  DM͈:O:ʮ>O͎ͅ! ÅX User area patching completed.$X Returning to CP/M. No patch made.$  1ͅ>2@*.:TH-"͎k!!"҈3!]͎Ҡ**#ҴbÈ""ff:Rp:TI*!*!k>Gͥ#U11ͱxGBxGUU1 >9xp:P͆x͞W͆͞:=2͎>2T͆U͆fO~/wGNx/wyē#!2 !<U!FU:@!Q"!YU!aU:O͇>2: !N:W=!F҆Gy@O!> !U:&!4:@:ʺF:O͇͊:!;!Uä:!;!Uä>> ͢=:з,G!6# x"!:=6 # x=!<T~# xT FORMAT Version 2.1 Copyright (C) 1979 Lifeboat Associates. For track CP/M on Quad North Star disk. Press "Control C" at any time to REBOOT.$ Drive numert CP/M system disk and press . $ K0w+~06 6/4M#~$^+#U:! w###k:>02 !$'*-03Side onFORMAT g$ Press to format CP/M Version $1.4 $2.0 $ SINGLE $ DOUBLE $density $SINGLE $DOUBLE $sided in drive or "E" to EXIT, "N" for NEW parameters. $ [ Side one now being formatted ][ Side two now being formatted ] $*$ To reboot: InsX Disk write error. Returning to CP/M.$O|*O ~!4~$3#M~#$3X:!x w###m !$'*MX Place CP/M system disk into drive A and press to patch (or ^C to not patch). $y :30O͂*  DM͈:O:ʮ>O͎ͅ! ÅX User area patching completed.$X Returning to CP/M. No patch made.$f**p#**~ē#$p#Fx/w#4~ē#x/G~ēx/G#I ʂ ''z͗>͗0:OxGw#ҵxG~ē#xGw#xG~ē#x2/w#* z{:G/w#5)DMe ''s_eʇs 7O0  $7g"7*o_{_0Ҳ1¨¦   #|7{z*"p#*"~ē#*}Gog"1!$>F~/wNp0% MEMR Rasmussen Memory Test - Version 1.8 Copyright (C) 1979 Lifeboat Associates BIOS located at Top of memory at Press "SP" or "^C" to warm boot at any time or "^X" to restart test from beginning. Response of "CR" gives default test range which starts above this program and ends at BIOS.LOCATION SHOULD BE WAS "CR" to continue test - "SP", "^C" or "X" to stop Test series complete Starting address (Hex or "CR")Ë(C) COPYRIGHT 1978, MICRO COM INC. SINGLE DRIVE FILE MOVER VER. 1.01$ REPLACE SYSTEM DISK -- PRESS RETURN$ NO FILE SPECIFIED -- ABORTING$ SOURCE IN DRIVE, PRESS RETURN$ DESTINATION IN DRIVE, PRESS RETURN$ FILE OPEN ERROR$ SOURCE FILE READ ERROR$ DESTINATION FILE WRITE ERROR$ GOOD TRANSFER - REPLACE DISK, PRESS RETURN $  *%N:] £p22*":2:2!":2|"͆\w*#":;6SYSGEN VER 2.4 COPYRIGHT (C) 1978, DIGITAL RESEARCH COPYRIGHT (C) 1978, LIFEBOAT ASSOCIATES SYSGEN IMAGE SIZE= ( OPERATING SYSTEM TRKS=  SRS PER TRK= ( TRANSLATE TABLE  %&'( !"#$ TABLE EXTENSION SPACE o&)))))))a{_*O* > > ~#'*C***!*$k*':AO3! !"E>2B!B4:5N;>2C:!C$4:B!C^!~ڦ!C^!F+NKy*EDMS2G:G !' N CP/M image in RAM at 900H is ready to write or reboot and "SAVE 40 CPMxx.COM" Destination drive NAME (or RETURN to reboot) Place DESTINATION disk on , then type RETURN Permanent ERROR - Type RETURN to ignore Function completeInvalid drive name (Use A B C or D) No source file on diskSource file incomplete()yyKxax s D !M;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qy Ending address (Hex or "CR") Input error - Retype 4 hex digits Fast complement test from 0 to Bit stuck high or low test Adjacent bits shorted test Checkerboard (55AAH pattern) test Walking bit left test Walking bit right test Address line test Random number test - Cycle: Re-enter, starting address must be at least Re-enter, ending address too low:2 222%**}o|g:2:M\2hr\́ 2]1x!W":] ʙ\x<_!"E2|\s e! DMS\sx!*"E!" AڴPÙ2AA2!" E2D}!':vG!00"F!G4~:60+4!"!T" EAP2AA2!" E!D6}!'3!"SYSGEN Version 2.4 Distributed by Lifeboat Associates for CP/M 2.0 on quad North Star. Source drive NAME (or RETURN to skip) Place SOURCE disk on A, then type RETURHHͯ :!w:Y<2U:Y0}:Y@E}:Y!S!6:T z!6:m!6:z!6h :Z:Y,:Y HHҰͯ :Y 2Xó:TE:T2:V2}v!q!*8!*6: >W>W!\q:\_  !^p+q.*]   !`q*`&!bp+q*a2_!dp+q*c2_!fp+q*e2_2_!hp+q*g!jp+q*i!lp+q*k!np+q*m2_!pp+q*o\!z6S\1\"\!^[\‰\$$ \*\%.!~.1~.!~Ͷ\ [\‰\$$ @\>\sʹ\.5~\\*\.~m\> =u\*\.~ڒ\€\*\%%%.*\.wG,›\$wG,¥\‰\*\.~*\.~\*\.~¶\:\O!y^#V~#\@\`X`AUTO COPYRIGHT (C) 1979, DIGITAL RESEARCH ]_͌]> ͒]> Ò]> Ò]͘]~#͌]ì] _2d<]2dd]]]]d]]#~? ` `xDIR ERA TYPESAVEREN USER !`ydO`#<` T`y#O` 3`2]1dy_^͸]2dy2ͽ]:]˜`1d͘]^A͌]>>͌]9^^^2d^_ _:d¥c.`!`_~#fowab]bbccc!v"]!]`ç]READ ERROR`ç]NO FILE^_:d _!d ~ 3a#0 _Wx _x _ _ _G a~ _# 3ax~#Ba!Y_~ɯ2d:d=!dý]:d=!d:dý]^_Ta!d~ a 6?#ˆa]`b:d`O> Kab{a͘]^A͒]>:͒]a͢]>:͒]͢]xKa aa> Ka b> ͒]x c=qdfa^_!d~2d>`_~2d2d\!d!Ba!]~>d >d#0d~Od#Cdx2͘]^^1d)^ͽ]Â`fa _zdͧ]ÆdBAD LOADCOMfa^_:d !d _Â`$$$ SUB eeeee"Ih{2r!"Kh9"h1s2r2r!Bry%K!De_^#Vseeeeeeeeeee^qdq}qqqqqqqqqqqqqqqrrrr-r3r9r?rKfefsessy<ʯe ss_r se:e!q*IhMDg)ghf2Kh!%fe!0fe!s!rN#Fs*rrw#w*trw#w'sRh*sRh!rN#F*tr^#V*rr~#foyxi*~r{_zW+h*~ryx!i#i*rDMs*rrs#r*trs#ryOxG*r0sMD!s!rN:r WiG>O:r niei*Ih :rʃin& ^#VPiOpi"r*r}:r*r)=¢i:rO:ro"r*Ih *Ih!ͽi~2r~2r͵i:r2rͽi:rO:rw:rw |g}oik:Ghl#~$l=2Kh͔kͫjk:r2Kh:r/GyO*kkʟl*rUl͞jҟlyj:rOyʎl?ʇlx ʇl ~l8lÇlN'l8l# ^l:r2Kh!r~Яw#k>2Kh>2r!rq*Ih"r#kͼh8lmj ͨlkgjyj6͔kj8llPYyl bkm*r{zmBKbkml<[k!*Ih yjjhjj mmj ͨl*Ih~wkgj m8lIm ͨlk m8lbmͨlk͵i~yj*Ih jh͑j! N!Fwyxʭm>ڭm>*Ihw~#+w#w+ɯ2Kh8j͂jͨlkyj *Ih :rn~mwm~Ľ]d]ʖ^:d=2dd]–^]!Ba!d6#5d]ʖ^:dĽ]!]ͬ]^ʧ^^Â`^^ ])^!]F#xʺ^~0^wë^w!]"] !d~6ͽ]d]:dý](`!e`#^͘]*]~ "_"_͌]#_>?͌]͘]^Â` _=_.:;<> O_o$>!dY_2d*]O_"]ʉ_@G:ʐ_:dwÖ_x2dp0_ʹ_#*©_6?ë_w˜_0__ï_#6 ¹_._0__#*_6?_w_0___#6 _#6_"] b a͢]a^b]ØaÆd^_ BbRbͧ]9^!]5‚`#~Y‚`#"]Tad]<`ÆdALL (Y/N)?^_ _Ta]ʧb͘]!d6!d~ڇb] bw4!Y_~ʆd͌]^†dtb=ʆd`fa _`^_ _Tad] ^b2do&)|b+!^d^bbd]<ccͧ]^ÆdNO SPACE^_ _:dTa]yc!ddBa*]O_=?c_sc#"]^_scG!d~Ycpscp2d]mcd^Æd`Ædfa _cͧ]ÆdFILE EXISTS` __:d _^Éd^:d c:dʉd=2d)^ͽ]Édd _Ta!d@a]kd!^d]d]}|qd:HhA2!ffgg@fBdos Err On : $Bad Sector$Select$File R/O$!h~6 s@fYfOf  :hŠfs s‡f s2h>:h§fhf s:hsy!h4 5~y¾f5 6yYff^͍f@Oy f ͍f:hf sf sf#͍fg:h!h ͍fg ͍f Íf $Ofg:h2h*IhN#@f h h^gx7g:h2høgngx7g~+ggg2h9gg!h>w7g§g:h!h)g5fÖg³gf)ggfxg#Nfg:h9g!h2hf!h5g9g#wOf~xh*ri"r"rh*vr# j )j:HhO!jyoxg*jr:HhOi}!jrN#F%j"jr*r*prs#r ~dhyj]j8j^ho$*vr:rtj*Ih~͂j6͂jw>2Kh*r*pr{#z͞jr+s{ozg*r*rʹjj*zr*r j͞jFjwN#F$s!nrj!vrjͻjjhjjhj*vr*nrjh!r~#nnͶmͶm2r+m!Kh5mj*Ih!ir"Ihͨlk"Ih!w# cn! wͫj1mÑj2rmk*Ih ~<wʠnG:r!rʫnn 4~nͨlkn:r2r>2ri:r!roown2r:Kho͉i͖io͜ihhiØj>2r>2rmj*Ih]ji:r?o͘j͉i͖i’oPi2r^oO piDMl}lo>2Kh"r*Ih :r:rʈotjsÐoO s#r:Kh͜ihh:r!rڲow4 ¿o͂jwo:roiwn!Kh~o=2r6i2r*Ih!!~~#~O~G#n,-.kp! w! y&p!x^pm.:KhG~G!~G} ͨl*Ih!r#r#rkpyjͅp_y#x#{ps+p+q8lp*Ih ͅp!!q#p#w*lr:HhOithXh}*lrMD%j"lrk:r!Hhwq>2r*Ih~=2rUq:Hh2r~2rw%q:Gh*Ihw> 2Kh!"jr"lr2Hh!"nrjq%q͋j1qsm1qm*Ih~?ʢq͋j1qͨlk*r"Ih1q8lk1ql l1qn1qo͋j1qAn1q8m l*lr"Kh:Hh2Kh*Ih"nrj*|r"KhFt~~~5t~~~5t~~~5t~(?O?(?(Q?y2ҏtjvt:o&))))s!&i"y2`i",*4~i,&!t n&  !"#$%&'(:"u z:"u>2*2)2'uu2*y2+uuu7u>+uy>+u>2'!#v!'5lu!#ululu!t#Ru~du*$#"$2&2)ɯ2'<2)!!~6ʓu!uʨu:" w2"!v:)w:=o&)))))))|*,:*u>2"v:*=:+uɯ2"2!2':"ȯ2" w#w@>oxy!- ~Y̐x͐x*w~}OG<=y:5Gxay@x:sxax>wG#7wG# ux>x>nxWr!0Ox/nxy:: y:yy:6y0:w0yy;y:wy2w:w_y y:@My>nx::dy:ly::w҃y:I~_G#~_G# …yX>xy>=¥y:yz28Nx]xcxxxxxxx y yy!y@yRycyfynyqyxyyyw#;6SYSGEN VER 2.4 COPYRIGHT (C) 1978, DIGITAL RESEARCH COPYRIGHT (C) 1978, LIFEBOAT ASSOCIATES SYSGEN IMAGE SIZE= ( OPERATING SYSTEM TRKS=  SRS PER TRK= ( TRANSLATE TABLE  %&'( !"#$ TABLE EXTENSION SPACE o&)))))))a{_*O* > > ~#'*C***!*$k*':AO3! !"E>2B!B4:5N;>2C:!C$4:B!C^!~ڦ!C^!F+NKy*EDMS2G:G !' N CP/M image in RAM at 900H is ready to write or reboot and "SAVE 40 CPMxx.COM" Destination drive NAME (or RETURN to reboot) Place DESTINATION disk on , then type RETURN Permanent ERROR - Type RETURN to ignore Function completeInvalid drive name (Use A B C or D) No source file on diskSource file incomplete()Ka D !M;,!Ù!;qz8O! !;,z;qyO! ͣͣW_͕qyO! ͣ͒qyj*jr"Kh1q]m l*xr"Kh:r'r:Gh2Kh2Gh1qsp1q|p1qòpp:r_r*Ih6:r_rw:r2r%q*h*Kh}D CP/M2 on North Star disk Double density - Quad capacity 32K Vers 2.011 Copyright (C) 1979 Lifeboat Associates $Zspszzt zzzÓtqtÕtÜtáttuzçtuwV2.0110 (C) 1979 Lifeboat Associates1222͝yHvzõs1Hv>!\uwps>!huwps>!|uwps!|rvv>22!s"!e"͡t!2~6!r:vy:O:ys]]~5##~vOv=v~#v!91i!7v~$N# z:v!YY"."0:ybv!"y"yuqt:O!y "4~(v:O͏w >O!|>uwŒvyOv!\|~vNy@v:G:yvvy@OyO!v#~ʋw#^#Vv*4q̀t s#r5tDtStbtw:y@>27!y:O ~26͏w :6怱O:yW=!ڋwz=FPwGy@O: vW!|:7_y>jwzW>uwww:yʃw!yw#4>:y!wyAʩww!w:vz Mount A: on drive, then $yg> gy?Ow 2wyo:y-w x:;z1zz-zz-zz9zz>0y>ɯ!|Kzg^z~w,Kz$^z|Kz@z>A>>N>7>0>`>|šzgʭz~w,šz$ʭz|šzÏz>A>>N>7>0>`> izzyEæ<2G:Dc[ʦ:*E"EÒ> 2]1x!W":] ʙ\x<_!"E2|\s e! DMS\sx!*"E!" AڴPÙ2AA2!" E2D}!':vG!00"F!G4~:60+4!"!T" EAP2AA2!" E!D6}!'3!"SYSGEN Version 2.4 Distributed by Lifeboat Associates for CP/M 2.0 on quad North Star. Source drive NAME (or RETURN to skip) Place SOURCE disk on A, then type RETUR!gr+s+p+q!h6>fr*d*f!is*d́"dPY! "f>!h#~Haͫo!h6:i0O͐!mr+s+p+q*lTZs#r*lڶ*l+s#r*jN#F+q#pÌ!nq!"o"q}2uo&"s* s:n*sDM2u:uqos*s"s*o͊O !v6>!vQ*v&w 6`i+46)A*:'ʓ:'O!) ~2vʍ:vO!w 6,]!v6>!v*v&w ~һ*vM !v4˜8AO͐:͐ͱ*##N!ͽ"* N#F*͠"!6S1"![‰$$ *%.!~.1~.!~Ͷ [‰$$ @>ќʹ.5~\*.~m> =u*.~ڒ€*%%%.*.wG,›$wG,¥‰*.~*.~*.~¶:O!^#V~#ۜ@\XAUTO COPYRIGHT (C) 1979, DIGITAL RESEARCH _͌> ͒> Ò> Ò͘~#͌ì _2<Ý2ͤ˝ÝÝÝͤߝ#~?  xDIR ERA TYPESAVEREN USER !yΤO#< Ty#O 321y_͸2y2ͽ:˜1͘ОA͌>>͌9؞О2^ :¥.!_~#fow]!v"!ߠçREAD ERRORçNO FILE^: !Τ ~ 3#0 Wx x G ~ # 3x~#B!Y~ɯ2ͤ:=!菉ý:=!菉:ý^T!Τ~  6?#ˆ:`O> K{̡͘ОA͒>:͒ԡ͢>:͒͢xK > K > ͒x =qf^!~2ͤ>`~2ݤ2\!ͤ!B!~> >#0~O#Cx2͘՞1)ͽÂf zͧÆBAD LOADCOMf^:Τ ! Â$$$ SUB ۥ"I{2!"K9"122!By%K!D_^#V¥ǥХԥ^d}DZαױ-39?Kץզץy<ʯ _ ץ:ץ!q*IMD)h2K!%!0!!N#F*rw#w*tw#w'R*R!N#F*t^#V*r~#foyx*~{_zW+*~yx!#*DM*rs#r*ts#ryOxG*0MD!!N: WG>O: ne*I :ʃn& ^#VPOp"*}:*)=¢:O:o"*I *I!ͽ~2~2͵:2ͽ:O:w:w |g}o:G#~$=2K͔ͫ:2K:/GyO*ʟ*U͞ҟy:Oyʎ?ʇx ʇ ~8ÇN'8# ^:2K!~Яw#>2K>2!q*I"#ͼ8m ͨgy6͔8ȬPYy b*{zBKb<[!*I yj m ͨ*I~wg 8I ͨ 8bͨ͵~y*I j͑! N!Fwyxʭ>ڭ>*Iw~#+w#w+ɯ2K8͂ͨy *I :~w~<Ý !虜2:2a{_:ʖ:路>Ľ˝ʖ:=2̤–!B!6#5ڝʖ:路Ľ!ͬžʧݞÂݞ )!F#xʺ~0wëw!" !~6ͽ:ý(!Ϡ#͘*~ ""͌#>?͌͘ݞ =_.:;<> Oo$>!ͤY2*O"ʉ@G:ʐ:wÖx2p0ʹ#*©6?ëw˜0ï#6 ¹.0#*ٟ6?۟wȟ0ߟ#6 #6"  ١͢١žØÆ^ BRͧ9!5‚#~Y‚#"Tͤ<ÆALL (Y/N)?^ TНʧ͘!6!~ڇ w4!Y~ʆ͌ž†t=ʆ٠f ^ Tͤ 2o&)|+!؞ͤԢͤڝ<ͧ՞ÆNO SPACE^ :Ty!ͤݤB*O=?_s#"^sG!~Ypsp2ͤmͤÆÆf ͧÆFILE EXISTS _:Τ É:Τ ģ:ʉ=2)ͽÉ֤ T!@Нk!؞ͤ}|q:HA2!@Bdos Err On : $Bad Sector$Select$File R/O$!~6 @YOզ  :Š ‡ 2>:§h :y!4 5~y¾5 6yYզ^͍@Oy  ͍:ۦ  #͍:! ͍ ͍ Í $Oզ:2*IN#@ ^x7:2ønx7~+29!>w7§:!)5Ö³)xҧ#NĦ:9!2!59#wOĦ~x*""*v#  ):HO!yoxg*j:HO}!jN#F%"j**ps#r ~dy]8^o$*v:t*I~͂6͂w>2K**p{#z͞r+s{ozg**ʹ*z* 㪾͞FwN#F$!n!vͻި֨*v*nj!~#微ͶͶ<#< #  3w ~>2+!K5m*I!i"Iͨ"I!w# c! wͫ1Ñ2ĭ*I ~<wʠG:!ʫɮ 4~Ԯͨɮ:<ԮAԮ̮|ʩ2K͘Ñ>2>2ʩ:!w2:K͉͖֨͜Ø>2>2m*I]ʩ:?͉͖͘’P2^O pDM}l>2K"*I ::ʈtsÐO s#r:K͜ި:!ڲw4 ¿͂w߯:߯w!K~ݯ=26ᩯ2*I!!~~#~O~G#n,-.k! w! y&!x^ĭ.:KG~G!~G} ͨ*I!r#r#ryͅ_y#x#{s+p+q8İ*I ͅ!!q#p#w*l:HOtX}*lMD%"l«:!Hw>2*I~=2U:H2~2w%:G*Iw> 2K!"j"l2H!"n%͋1s1ĭ*I~?ʢ͋1ͨ*"I181 1ڮ1͋1A18 *l"K:H2K*I"n*|"KF55̾5(?O?(?(Q?y2ҏj:o&))))!&i"y2`i",*4~i,&! n&  !"#$%&'(:" :">2*2)2'u2*y2+u7>+y>+>2'!#!'5l!#ll!#R~d*$#"$2&2)ɯ2'<2)!!~6ʓ!ʨ:" 2"!:):=o&)))))))*,:*͵>2":*=:+ɯ2"2!2':"ȯ2" #η@>o!- ~Y̐͐*η~}OG<=:5Ga@:sa>wG#7wG# u>>nWr!0O/n:: ::60:η0;:ͷy2ͷ:η_ :@M>n::d:l::η҃:I~_G#~_G# …X>>=¥:z28N]cٸ !@RcfnqxϷ#G:%:,}O!Uej"&- V.& 3(  (&b&K&  M,*',Q1i05O.N.43g410q1V5U54X1g$$$ 9:8DE)Fv7D#FFF< &f #"$#$,(J$!"` :=:i::222_--.222;LMx  C\o(267NBTSUTϫLOSONԚLEAҒINSNDBV+V,V-O HRATI͆EFSTҭEFINԮEFSNǯEFDB̰EƘELETŪNāLSŢRASŦDIԧRROҨRRX O/QO҂IELILERIOTωO TωOSUEEXNPUԅƋNSTNberSubscript out of rangeRedimensioned arrayDivision by zeroIllegal directType mismatchOut of string spaceString too longString formula too complexCan't continueUndefined user functionNo RESUMERESUME without errorUnprintable errorMissing operandLine buffer overflowFIELD overflowInternal errorBad file numberFile not foundBad file modeFile already open?Disk I/O errorFile already exists??Disk fullInput past endBad record numberBad file nameMode-mismatchDirect statement in fileT*j"K1] *x"K:':G2K2G1s1|1ò:_*I6:_w:2%**K}D CP/M2 on North Star disk Double density - Quad capacity 48K Vers 2.011 Copyright (C) 1979 Lifeboat Associates $Zp ÓqÕÜáçuV2.0110 (C) 1979 Lifeboat Associates1222͝Hõ1H>!up>!up>!up!>22!"!"͡!2~6!::O:5##~O=~#!91i!7~$N# :!YY"."0:b!""q:O! "4~(:O͏ >O!>uŒyOѶ!\~ѶNy@Ѷ:G:ŶѶy@OyO!#~ʋ#^#Vض*4q̀ s#r5DSb:@>27!:O ~26͏ :6怱O:W=!ڋz=FPGy@O: W!:7_y>jzW>uз:ʃ!w#4>:!yAʩw!: Mount A: on drive, then $yg> gy?O 2ηyo:- :ka)9=Oi)>0y==yOOy>ɯ!|{gʎ~w,{$ʎ|{p>A>>N>7>0>`>NMILEԈINűOASEPRINԞLISԟPOISԓO O0EEFTO1ERGOKI2KS3KD4IDEXԃUL̖AMEהOUԝΕPEοCTUOKřRINԑOEEEAćUΊESTORŌETURΎE͏ESUMũSEIGHTNENUͬESETOАWAХAVPCTEGQI TRTRINGPACEYSTEͽROΣROFƤABHEA SINSAARPTIDTȡAIԗO۾yy||PF<2(z{i:::=:f<_<==:z6w6789q;e;;9NEXT without FORSyntax errorRETURN without GOSUBOut of DATAIllegal function callOverflowOut of memoryUndefined line numoo many filesH8jII, in Ok Break!9~#N#F#i`zʳ ʹ Ý ʹ~ + *,  >>ƕo> g9*+++" $  0 *-|< ##~#foʹ`i~#fo?? :YG!9^#V# 5*/ 2 2 w#w#"( */+" !0 6#M 2! og" "& * " U*( "* ", 5*+++" ##! " ͆go2 * >?> 2 2 ;~"n Dw: ~D?>D8͗ڇ!AO ^#V#͗Oʢ#  +>͌2 ͌ó ! +``>2 ~t͊%͊>͌p~.ʗ:0: ~D.D>͌}͌|͌ó ~i>: *X |>}e. ҷü͌!X !2%Oɯ2&:%> > 2%:*±" H> : 8 \:'G: <2 O*5|ʠz/7X4:1!FA ! |":*/2*>d2 ͙  "  *-ͺʈ:҈:̀:~d&94=:A9QZ~>5́=:A98OG* 3{" !9" ~:ʋ #~# #^#V"-:R ʊ>[?>]ͫFցL%O! N#F#~: ʫ : * ì#2 ~#o&" >2 <2 ͫ!ʹ bk))0_E +ͫ* }_|W *( ( ʹ "+E A \ 3E F| *->3À: * *-ʹ# ү > 2 N-`i$ ͙ " $ "-!F>:yHG+ͫȸ#"<֌W1ͺ" ̀ͧ!͈9P*X #^#V*/ʹD*+ʹL*( ʹL>#"#V9…ͫͺzs PYү" :! :#_- ͆&~Gʔͺ+K xʓ,Õ! " <2#~z€<ͫ* * "-~#####͆&$  ͺ,;"͙ ڝ#~+6,!*. 2 -ͺ,1~,U: >?͙ ڝ#~+*5|2‚ͫWG"u:,+9"!ͫxi>b>+ͫʝ,+ͫ): k*5|!|"Æ?Extra ignored #~#$ #^#V" ͫU1" ͙  " ~#~#.39n6M9D9͓9W####N#F#^#Vi`q;: 7r+s^#V#9D9i"-i`B" * ~,Fͫͺ(+ "" *" ~ڲҲW " ͫÖzG~" _: y#!MxVz-Q;z;!X : === !N#F#N :! $ à* "-  *-" " 6 * À {K2#* " * |/_#‰ * |"|2*X4! :#*!"-:  * ? >* >  2 â *  ʹ " +ڽ ͫ<=ʽ ~ K9ͦ " ҕ4ͫ" G ʯW-(ʆ *( ͼ "( t##s#r# w# y| ͮ !6"9*5"" A *7"9*" "5ý */bk~####~ Ҷ ڶ ͬͫø #s#rî   ͺ */DM~#+T ~͌#=ó 7ʫý&DͫH> 8> ͌õ#͌:VJ\>2 2 U³ ~|wD~#͌b!@}O|G!>: y$ ~a{_w+=2 g~ ҽ ʽ ʽ> : \2)>+#~+!2)O:)J>\2)yʊ7  ʊ nÊ@#_ x<>ʕyq# 2 > oʥ 4|}~#ʫ *5|.:&) > :% :%< GZ9" !$  ҫ0?<=: F F* @###^#VC<! : 2 {9*/j `iү+". oo<Ó5" ! " !*-}<ʴ"$ * "& 2*! – á >2&2*>^@*& |$ *$ "-͆&:'G{<2">2R 1!J V9** ͺ,1ˆ:** ʹV9J V9>2 12 `i *, ʹe `i", ~,ͫM AOGͫ¯ͫAGͫx2&o\2+ͫʆa(BB,;̀?5"*5|*X :&ʿ:%:'G: "> "o: 6!> > *5|:"=2 *5|% ~9:&+:%p3:(G: 9/t̓&ͺ)+o*5|% ~o:&l:%o: / xͫv2&go"5ͺ#21̈́:ڝ8"?REDO FROM START : !|"* Z2!#">2*6"ͺ#F#!T N#F#N#F*!KGd* Ã=:&9D&:&xdd!*X w&y2 xʗ: ʿWxzʈ:!w N#F*X i:́9"V "T 69i:!c: O ~#fó92 ʥ"X ê=:!mð&9]:A9"Z "X ]:&9]:8ͫ$ i> &<.=Ҷʨ"6"ʱ&Gͫ:#i Xͫ* C<‡ͫͺ(#t̓&͚2w1ͺ)|%:o $$ 6 |ͺ)}̓*" 81"X {9&ͫOH#:)0)G)7))))o7+ͫ)8 7)))0O %:#~ցOͫyY|ͺ,̈́:*X ͆&n͠} j=: N#fi#~#N#F#^#N#F{zد< #ʌ?8< 9Z̓:}/o|/g"X Ï: 7:zM<{;k F{o|P{o|< {o|2{/o|/}//o|//+ͫͺ,#2 F OͫJWOͫKK~%$!#xA_!0 V+z2 ͫ: =d~(1312 *( ** ʹo>&ã|wʹʹO*, ͼ ", `i"* !ͫ" !ͺ, >2 17҈:["ѯ~) !*" ͺ(* 1 ~)W!ͺ,ͺ,>!ͫͺ)>ͺ̀+ͫ ʶ!!Қ!p+qv!+p+qv!+p+q+p+qv! ["!YO q* *X ʹ!"u!! #~" w#q#pv!*-#| $ ͺ>2 G6QD "TD "?5"#$~#͕"N#F*"o͸#͕"! w#s#r+"P#~ K"K"<""̫#y*" >* "X >2 V9 ʹ" ~$ #5"#F9  Æ"*+* /O #ʹڳ"" #$ "* " !*+! * ʹ"0#*( ** ʹ#~###"1#_",̀̈́:ͺ,*X ̀ͺ)#7i #G=O>~x~#F#fh GN#^#Vt% k%#V%ѯx<#h%S%~ #~ #ͺ(1̈́:#^#V*+ʹڰ%"V9ͺ,͆&~ &ͺ̀#G!7y~<%yH #^#fk GN#~#foyw# %)&ͺ,͆&ͺ)͉&2$&i s&s&+ͫB&ͺ,͆&C&͆&2'V&/<2(ͫ̀:z͆&2D&2,&ͺ,Æ&ͫ̀j&+ͫ{>2& !"-N#F#xʢ *5|pN#F#ʹڡ " ?> &!&ß&~+#&&#~WV)~#.+)#),7)z@W)~#>.©(# V)~##+)T)T]^###xG#z+v)xv)~-q)v)>W)̀Cxz?|"+ͫ7ʮ)2 ;ʫ), ͫ~#N#fi_x¯()*r(#Æ>*)̀̈́:*X An$"*X G> ʕ) *z>+2#* <0*" ү`i##N#F#&|<>!?> ! ~#`*Gok*0ڇ* ҇*_zWk*!i*’*O++*1ڨ* ! ,#+#*c+-+J++(^+*[+>1*~+#*!D+7o > G-!#-|"??+,Undefined line ,###N#F>!-* +p+q+w: ó,̀2ʡ1!$ ~}-#N>O #~ 9PY!$ 6i/ʞ1«-ѯÛ1<ʼ1!" ^#Vr+s̓2- PY-!-`i>".!$ ~Ć-i/&-̀2ʧ1!# ~+nk ̀2ʧ1! ~i *5~ʀDM$~̃-4~O#V pG.zw w23t2¡1!" ^#V~,+ͫ {ʶ1+s#r#6#6DM! {zV.w<.<ʼ1!! {w:3.9/!! ~!& .̓-.Æ~+6ʹs#s#rW_2[ go"X /! "X * W*, ʹ: ʦ#‡~#ˆ~>##^#V#j:  DM7  $ w#_q#p#O ##" q#: y q#p#E;=BKڡ ", +6ʹW* ^) ++s#r#8 GO~#^#V#ʹҡE;=DM : DM)0 )5 )5 *" *, !9W #Ϳ"*+* }o|gC<:%i : og%:͎ ͠N#F!7: #!X ͫҦ ڦ ͫ: O! ͎ ͺg&s#rʭ !!s#r~(ͫ1~)ͺ, !: "" ~#fo ~(`*, ʹU#~#D9 #" N #* ʹ#"#ů#^#V#DM* ʹ`iʹ`i}+F+N+n& PY+DM* Ϳ q#pi`+"*X ̈́:~*X $ '"##* Ͱ#Ͱ#!W"~#N#Fo,- ù#̈́:*X #PYN* ʹ#G " * +F+N+ʹ" i #W~i ##^#V>'"͉&* sW"ͫͺ(͆&ͺ,̀ͺ)C$͉&F$$O$͉&> {'"_$* w#^$$$O>~w$x͕"#F#fh DM*"o͸##W"$k$~$ &o$=O~GC#i _#~#foFr~b>pͺ)Cͫ|> %͉& ' c'&<~'#~#'' ̶:!:G@ #T]~5'#9'~6'y[R'~#_!+P'&+ͫ&' QD TD* ?: O ʕ' H '>&{: ڱ'!ʱ'#~ K9~#': ڷ' '.'D'E·'÷'{'* & W- (T]ʹ! |"! *( ʹ(`i"( E(~i ̀E(ͺ,͆&::[ :Z z6́̈́:ͺ;*X {(: ʅ(2 F#N#fiï(X~#\) ¥( ”(C>\*_W*W~#!)#))+>ʲ(+~#. )\ʐ(©($(*©(x#(~$> (#_D+~!++ܡ++#~++&H*~>\+~D++͡+5+>\~ow+#J+6H*oʑ+ +ʓ+ ʱ+ʱ+ ʱ+ c+_±+>_ʹ+++c+ ~77#~+w#ã+y+>c+ o&DM#Ϳ w+#c+x+~++&z z*5T]" N#F+q#p###6 N/i/=c/>w+w!% /7?*5$ 6#67̀#~ʳ1#^#fk_ڸ/N#~:ʼ/++@ʳ1y@ڳ1ҳ1l #0~.//7/#/z ʳ1ڳ1> //>  0/͕/l<ʤ1!\l w# 40ͺAͺS͕/:l!\l<¿1\̀#~ʡ1#N#F Oʓ0Iʓ0R¡1ͺ,#̫͆&ͺ,{ʧ1_̓2°1z͕/" 0{0!u~ 06B#6A#6S"5#l w# 0i/~ 1<ʼ1!17@?2C:$ 1!l6# R2ĕ/!mN2!uN2lʤ1O!  ~#y#2~ 2>. 2: W:'<2> l1~*6?# R2#t2ѻ¡1ͺ,`i"5+ͫ#̫͉̀&_:Yڧ1!9N#F ̈́2!& >>>ͧ!'"* ̈́9$>>>#<#N#fi2 {9x ,2Z2Z21̈́:W_&4ů4ѯt2ʧ1¡1& G~,̓&ͺAͺS1̈́:Oڹ1ҹ1q#s#r 571̈́:ͺ̀#F~O#^#V5*/ʹҶ5*( ʹڶ5Y*+* ʹ5y͕"##s#r#^#V#^#Vyx5yGyO55~#55> 56x'"W"ß5ͫͺ$ͺ(͆&~,06ͫt2¡1l2ͺ)}'"b6͡]6w# C6͆W"Éz/ڭ1P6!CD9z6D99x:[ 69Ҕ6/<&969c9gA7!X 6!77#47.W77G~_#~W#~O-7hcGy6JTeox62[ )zWyO6x\E7![ w6:!Z ~w9og%:ʈ:8*X ||8*X *Z D9"X `i"Z !X ^#V#N#F#X Z9: Gw#Z9!Z ~7w?##wy7O!^ U9Ç9!^ V9X T x8!88y!Z yͭ9#x+y+z+{z|88}8!^ V9e 8!88O!Z y#ª9+998*X ʈ:G:!7:[ .:͍:"X >2 ͓9aj$:Z:ʈ:A9:xc9!W F7*X :|U8ʈ:Z:!"T "V >>*: $ GOW_A9c9g:>A7|7-7z< 8:9:8:ʈ::![ ~:X ~͍:6{y6![ ~:;O+~w6:S =!\ ~++w!T 4#=47+6 !^ <=>!^ T 2C=# B=~/w!S Oyw#V=qv=NsY+k=a= W~w+€=y=!Z }=~w# •=8͆85>q=G4=͋=x µ=¬=! qA>+=? >>+=:Z <==!T ͕=! ͓=x=![ 5=7y2d + ~q+@>́9+~7wf<476|:`h%:~&-ʆ>+ʆ>+ͫP?.?E£>ͫL>·>~% ?#?!?D>?!>ͫ-++ͫ?>_{-?=?>8!7.:B&@ Ap#6!f #:" ~ A*A+$Aͫ-+$0NA#ͫNA++wDAANA6%ArAC9A?+6%͓9iA8RBA_xBBCBB@_y;?A=?A{_xABBAByBOBGOCA*" =BPAZ:ѯB87RBy;?OzWO=? B.B/< m3m3s3s33z/*3"~3 ¦3z/ڦ3 ~3,ʦ3 ž3z/ڦ3 ʦ3*5% 46!{ ʹ38"ͫi>ɷw#ç3ë03:Y22+ͫ3ͺ,ͺR 2Y21!6"9. :22Y*7"9"5z/<…4*/*+ ʹa4 /w#4ͪ ##"( !Y~226A :22Y:1ʢ F͆ͼ-Õ . 3+ͫz4X4 21z/<ʡ1*5% ~ʽ 4ý *5|B$ Ë3+ͫʻ4ͺ,ͺAÚ&ͳ,>.*( */ʹX4~#.4-:Y44=4~,ͫ͆x![ 7F#~怩O69 4$ ~_#~W#~O!\ ~/woG}_}W}OP7CZQC7 o-yOzW{_xGS7V"vE88![ ~5pz68!e7t6!i7WEz6͸?1r8.͐8y27"7PX!6!7!X ~#8Wy7O|g}oxGz7CZQO&9!=398 .͐844+~2B8+~2>8+~2:8AOW_2E8}o|gxG>?S82E87y<=7{_zWyO)xG:E82E8y68![ 5687>.!d N#G.xʴ8}![ Gx8ƀw7c9w+8/67A9x7Gz6![ 47:[ :Z /<![ Op#6698<ʈ+;!%:yA9c9+6:;!Z >_==2S )ڡ)^; ڡ=P;|G.);)ұ; ;=£;|;x*<;]:&9]:ô7x%:]:9| "<. < <7>{_zW}o|g=<÷;|G)<|%:Ooyg%:*X .<|:8;g{o(:*6=!\ L=G:Z ?Æ> #>??=:i:8J>=8=yZ:7ҥ?t$͓9?ͻ8͸?}?s:J>́98s:f<}?&98z6{ ?0_2>! |"%:p@ @{"p@?6+9 @6-8#60: W: @@y@͜C!g F : _ =@x*=@Aqͫ]@E]@D]@0=@,=@.`@+60{i@+6${+p2 !g 6 WRB@Ҕ@B60K9C+~0ʣ@.K9@>"w#6+@6-/</ @:#p#w#6!g #zVAABzB͜C{̬8=,#TĆ9!C{9f<;C> B/>9=.C>9=p#=%C!T 39`Ck6<͍:69AD?BA9/{_#zW#yO++tC!7#69p#fC>âCGD>BN#F#*X /}o|gҵC"X p#=¢CBw1_cƤ~@zZrN vH Tʚ;@B''d GE(f կpD))))Dy=ʁDʍD0:ڊD ʚDlDjD!9&9!C39ñD=:8xDD 6yA9D:͓9|"Z "X ܝD9v7ʹ7&98;ʹ7:[ Ү8:ƀڮ8!e7n6ͮ7w69!6EfEJô7@.tpO.wnz*|P~&9;A9ʹ7&9~#39=ʹ7D9z6oE8!EE!F39!EȆw#O D9ʹ7:E<2E!FO n6A9{YOO6+F6!E4~֫Ew 6!FM9w+w+wE5Jʙ9v" GSљ e͘w>ROhFhiuh!mFn6&9I698&9:w6!qFt687YFk689!qFn69!uFWEId&X4#]I&9)F&969#F88D9:[ ڼFQY8!t6!FWE!mF J;xn{/|t1}=Z}~L~l */+6*Z~3â ; CP/M 2.0 disk re-definition library ; ; Copyright (c) 1979 ; Digital Research ; Box 579 ; Pacific Grove, CA ; 93950 ; ; CP/M logical disk drives are defined using the ; macros given below, where the sequence of calls ; is: ; ; disks n ; diskdef parameter-list-0 ; diskdef parameter-list-1 ; ... ; diskdef parameter-list-n ; endef ; ; where n is the number of logical disk drives attached ; to the CP/M system, and parameter-list-i defines the ; characteristics of the ith drive (i=0,1,...,tracks to skip (word) ; [0] is an optional 0 which forces 16K/directory entry ; ; for convenience, the form ; dn,dm ; defines disk dn as having the same characteristics as ; a previously defined disk dm. ; ; a standard four drive CP/M system is defined by ; disks 4 ; diskdef 0,1,26,6,1024,243,64,64,2 ; dsk set 0 ; rept 3 ; dsk set dsk+1 ; diskdef %dsk,0 ; endm ; endef ; ; the value of "begdat" at the end of assembly defines the ; beginning of the uninitialize ram area above the biotors endm ; disks macro nd ;; define nd disks ndisks set nd ;;for later reference dpbase equ $ ;base of disk parameter blocks ;; generate the nd elements dsknxt set 0 rept nd dskhdr %dsknxt dsknxt set dsknxt+1 endm endm ; dpbhdr macro dn dpb&dn equ $ ;disk parm block endm ; ddb macro data,comment ;; define a db statement db data comment endm ; ddw macro data,comment ;; define a dw statement dw data comment endm ; gcd macro m,n ;; greatest common divisor of m,n ;; u als&fsc ;same allocation vector size css&dn equ css&fsc ;same checksum vector size xlt&dn equ xlt&fsc ;same translate table else secmax set lsc-(fsc) ;;sectors 0...secmax sectors set secmax+1;;number of sectors als&dn set (dks)/8 ;;size of allocation vector if ((dks) mod 8) ne 0 als&dn set als&dn+1 endif css&dn set (cks)/4 ;;number of checksum elements ;; generate the block shift value blkval set bls/128 ;;number of sectors/block blkshf set 0 ;;counts right 0's in blkval blkmsk set 0 ;;fi!I"+" * ^#V"t"H##^#V"##^#V"h##^#V" !"-2*2 2##"%! " *" !~>2Y"ZGF#~+w##lG+p"Z!ͫG/ʟG+6""Z#/ʟGͫGGpͫMʮGF ͫͺ:Gz{2YG" +ͫGͺ/ãG* +"  +:Y!F"792Y<s#r# =H#"/Iʹ "+" {ozg ?!pH|"!|"" ! "F Owned by Microsoft Memory size Bytes free BASIC Rev. 4.51 [CP/M Version] Copyright 1977 (C) by Microsoft n-1) ; ; each parameter-list-i takes the form ; dn,fsc,lsc,[skf],bls,dks,dir,cks,ofs,[0] ; where ; dn is the disk number 0,1,...,n-1 ; fsc is the first sector number (usually 0 or 1) ; lsc is the last sector number on a track ; skf is optional "skew factor" for sector translate ; bls is the data block size (1024,2048,...,16384) ; dks is the disk size in bls increments (word) ; dir is the number of directory elements (word) ; cks is the number of dir elements to checksum ; ofs is the number of s, ; while the value of "enddat" defines the next location ; following the end of the data area. the size of this ; area is given by the value of "datsiz" at the end of the ; assembly. note that the allocation vector will be quite ; large if a large disk size is defined with a small block ; size. ; dskhdr macro dn ;; define a single disk header list dpe&dn: dw xlt&dn,0000h ;translate table dw 0000h,0000h ;scratch area dw dirbuf,dpb&dn ;dir buff,parm block dw csv&dn,alv&dn ;check, alloc vecproduces value gcdn as result ;; (used in sector translate table generation) gcdm set m ;;variable for m gcdn set n ;;variable for n gcdr set 0 ;;variable for r rept 65535 gcdx set gcdm/gcdn gcdr set gcdm - gcdx*gcdn if gcdr = 0 exitm endif gcdm set gcdn gcdn set gcdr endm endm ; diskdef macro dn,fsc,lsc,skf,bls,dks,dir,cks,ofs,k16 ;; generate the set statements for later tables if nul lsc ;; current disk dn same as previous fsc dpb&dn equ dpb&fsc ;equivalent parameters als&dn eqlls with 1's from right rept 16 ;;once for each bit position if blkval=1 exitm endif ;; otherwise, high order 1 not found yet blkshf set blkshf+1 blkmsk set (blkmsk shl 1) or 1 blkval set blkval/2 endm ;; generate the extent mask byte blkval set bls/1024 ;;number of kilobytes/block extmsk set 0 ;;fill from right with 1's rept 16 if blkval=1 exitm endif ;; otherwise more to shift extmsk set (extmsk shl 1) or 1 blkval set blkval/2 endm ;; may be double byte allocation if (dks) > 256 extmsk set (extmsk shr 1) endif ;; may be optional [0] in last position if not nul k16 extmsk set k16 endif ;; now generate directory reservation bit vector dirrem set dir ;;# remaining to process dirbks set bls/32 ;;number of entries per block dirblk set 0 ;;fill with 1's on each loop rept 16 if dirrem=0 exitm endif ;; not complete, iterate once again ;; shift right and add 1 high order bit dirblk set (dirblk shr 1) or 8000h if dirrem > dirbks dirrem set dirrem-dirbks elte the translate table nxtsec set 0 ;;next sector to fill nxtbas set 0 ;;moves by one on overflow gcd %sectors,skf ;; gcdn = gcd(sectors,skew) neltst set sectors/gcdn ;; neltst is number of elements to generate ;; before we overlap previous elements nelts set neltst ;;counter xlt&dn equ $ ;translate table rept sectors ;;once for each sector if sectors < 256 ddb %nxtsec+(fsc) else ddw %nxtsec+(fsc) endif nxtsec set nxtsec+(skf) if nxtsec >= sectors nxtsec set nxtsec-sectors endifnddat equ $ datsiz equ $-begdat ;; db 0 at this point forces hex record endm ; ͯ Un:_::9OY#9.3ͳ.:2 ͳ 6b&dn,%val&dn endm ; endef macro ;; generate the necessary ram data areas begdat equ $ dirbuf: ds 128 ;directory access buffer dsknxt set 0 rept ndisks ;;once for each disk lds alv,%dsknxt,als lds csv,%dsknxt,css dsknxt set dsknxt+1 endm e; FILE DUMP PROGRAM, READS AN INPUT FILE AND PRINTS IN HEX ; ; COPYRIGHT (C) 1975, 1976, 1977, 1978 ; DIGITAL RESEARCH ; BOX 579, PACIFIC GROVE ; CALIFORNIA, 93950 ; ORG 100H BDOS EQU 0005H ;DOS ENTRY POINT CONS EQU 1 ;READ CONSOLE TYPEF EQU 2 ;TYPE FUNCTION PRINTF EQU 9 ;BUFFER PRINT ENTRY BRKF EQU 11 ;BREAK KEY FUNCTION (TRUE IF CHAR READY) OPENF EQU 15 ;FILE OPEN READF EQU 20 ;READ FUNCTION ; FCB EQU 5CH ;FILE CONTROL BLOCK ADDRESS BUFF EQU 80H ;INPUT DISK BUFFER ADDRESS ; ; NON GRAPHse dirrem set 0 endif endm dpbhdr dn ;;generate equ $ ddw %sectors,<;sec per track> ddb %blkshf,<;block shift> ddb %blkmsk,<;block mask> ddb %extmsk,<;extnt mask> ddw %(dks)-1,<;disk size-1> ddw %(dir)-1,<;directory max> ddb %dirblk shr 8,<;alloc0> ddb %dirblk and 0ffh,<;alloc1> ddw %(cks)/4,<;check size> ddw %ofs,<;offset> ;; generate the translate table, if requested if nul skf xlt&dn equ 0 ;no xlate table else if skf = 0 xlt&dn equ 0 ;no xlate table else ;; genera nelts set nelts-1 if nelts = 0 nxtbas set nxtbas+1 nxtsec set nxtbas nelts set neltst endif endm endif ;;end of nul fac test endif ;;end of nul bls test endm ; defds macro lab,space lab: ds space endm ; lds macro lb,dn,val defds lb&dn,%val&dn endm ; endef macro ;; generate the necessary ram data areas begdat equ $ dirbuf: ds 128 ;directory access buffer dsknxt set 0 rept ndisks ;;once for each disk lds alv,%dsknxt,als lds csv,%dsknxt,css dsknxt set dsknxt+1 endm eIC CHARACTERS CR EQU 0DH ;CARRIAGE RETURN LF EQU 0AH ;LINE FEED ; ; FILE CONTROL BLOCK DEFINITIONS FCBDN EQU FCB+0 ;DISK NAME FCBFN EQU FCB+1 ;FILE NAME FCBFT EQU FCB+9 ;DISK FILE TYPE (3 CHARACTERS) FCBRL EQU FCB+12 ;FILE'S CURRENT REEL NUMBER FCBRC EQU FCB+15 ;FILE'S RECORD COUNT (0 TO 128) FCBCR EQU FCB+32 ;CURRENT (NEXT) RECORD NUMBER (0 TO 127) FCBLN EQU FCB+33 ;FCB LENGTH ; ; SET UP STACK LXI H,0 DAD SP ; ENTRY STACK POINTER IN HL FROM THE CCP SHLD OLDSP ; SET SP TO LOCAL STACK AREA (RESTORED AT FINIS) LXI SP,STKTOP ; READ AND PRINT SUCCESSIVE BUFFERS CALL SETUP ;SET UP INPUT FILE CPI 255 ;255 IF FILE NOT PRESENT JNZ OPENOK ;SKIP IF OPEN IS OK ; ; FILE NOT THERE, GIVE ERROR MESSAGE AND RETURN LXI D,OPNMSG CALL ERR JMP FINIS ;TO RETURN ; OPENOK: ;OPEN OPERATION OK, SET BUFFER INDEX TO END MVI A,80H STA IBP ;SET BUFFER POINTER TO 80H ; HL CONTAINS NEXT ADDRESS TO PRINT LXI H,0 ;START WITH 0000 ; GLOOP: PUSH H ;SAVE LINE POSITION CALL GNB POP H ;RECALLTHAT A JMP TO 0000H REBOOTS) CALL CRLF LHLD OLDSP SPHL ; STACK POINTER CONTAINS CCP'S STACK LOCATION RET ;TO THE CCP ; ; ; SUBROUTINES ; BREAK: ;CHECK BREAK KEY (ACTUALLY ANY KEY WILL DO) PUSH H! PUSH D! PUSH B; ENVIRONMENT SAVED MVI C,BRKF CALL BDOS POP B! POP D! POP H; ENVIRONMENT RESTORED RET ; PCHAR: ;PRINT A CHARACTER PUSH H! PUSH D! PUSH B; SAVED MVI C,TYPEF MOV E,A CALL BDOS POP B! POP D! POP H; RESTORED RET ; CRLF: MVI A,CR CALL PCHAR MVI A,LF CALL PC ; READ ANOTHER BUFFER ; ; CALL DISKR ORA A ;ZERO VALUE IF READ OK JZ G0 ;FOR ANOTHER BYTE ; END OF DATA, RETURN WITH CARRY SET FOR EOF STC RET ; G0: ;READ THE BYTE AT BUFF+REG A MOV E,A ;LS BYTE OF BUFFER INDEX MVI D,0 ;DOUBLE PRECISION INDEX TO DE INR A ;INDEX=INDEX+1 STA IBP ;BACK TO MEMORY ; POINTER IS INCREMENTED ; SAVE THE CURRENT FILE ADDRESS LXI H,BUFF DAD D ; ABSOLUTE CHARACTER ADDRESS IS IN HL MOV A,M ; BYTE IS IN THE ACCUMULATOR ORA A ;RESET CARRY BIT RET ; ; STACK AREA DS 64 ;RESERVE 32 LEVEL STACK STKTOP: ; END +GGW +GU!ͩ>̀+! @!!BH @@ABH B! "BHI$$BI$BI $ HI D$VI C,READF CALL BDOS POP B! POP D! POP H RET ; ; FIXED MESSAGE AREA SIGNON: DB 'FILE DUMP VERSION 1.4$' OPNMSG: DB CR,LF,'NO INPUT FILE PRESENT ON DISK$' ; VARIABLE AREA IBP: DS 2 ;INPUT BUFFER POINTER OLDSP: DS 2 ;ENTRY SP VALUE FROM CCP ; LINE POSITION JC FINIS ;CARRY SET BY GNB IF END FILE MOV B,A ; PRINT HEX VALUES ; CHECK FOR LINE FOLD MOV A,L ANI 0FH ;CHECK LOW 4 BITS JNZ NONUM ; PRINT LINE NUMBER CALL CRLF ; ; CHECK FOR BREAK KEY CALL BREAK ; ACCUM LSB = 1 IF CHARACTER READY RRC ;INTO CARRY JC FINIS ;DON'T PRINT ANY MORE ; MOV A,H CALL PHEX MOV A,L CALL PHEX NONUM: INX H ;TO NEXT LINE NUMBER MVI A,' ' CALL PCHAR MOV A,B CALL PHEX JMP GLOOP ; FINIS: ; END OF DUMP, RETURN TO CCP ; (NOTE HAR RET ; ; PNIB: ;PRINT NIBBLE IN REG A ANI 0FH ;LOW 4 BITS CPI 10 JNC P10 ; LESS THAN OR EQUAL TO 9 ADI '0' JMP PRN ; ; GREATER OR EQUAL TO 10 P10: ADI 'A' - 10 PRN: CALL PCHAR RET ; PHEX: ;PRINT HEX CHAR IN REG A PUSH PSW RRC RRC RRC RRC CALL PNIB ;PRINT NIBBLE POP PSW CALL PNIB RET ; ERR: ;PRINT ERROR MESSAGE ; D,E ADDRESSES MESSAGE ENDING WITH "$" MVI C,PRINTF ;PRINT BUFFER FUNCTION CALL BDOS RET ; ; GNB: ;GET NEXT BYTE LDA IBP CPI 80H JNZ G0 SETUP: ;SET UP FILE ; OPEN THE FILE FOR INPUT XRA A ;ZERO TO ACCUM STA FCBCR ;CLEAR CURRENT RECORD ; LXI D,FCB MVI C,OPENF CALL BDOS ; 255 IN ACCUM IF OPEN ERROR RET ; DISKR: ;READ DISK FILE RECORD PUSH H! PUSH D! PUSH B LXI D,FCB MVI C,READF CALL BDOS POP B! POP D! POP H RET ; ; FIXED MESSAGE AREA SIGNON: DB 'FILE DUMP VERSION 1.4$' OPNMSG: DB CR,LF,'NO INPUT FILE PRESENT ON DISK$' ; VARIABLE AREA IBP: DS 2 ;INPUT BUFFER POINTER OLDSP: DS 2 ;ENTRY SP VALUE FROM CCP ;;IOPAR.ASM DEC 4, 1979 ;MODIFIED BY DAVID L. HAVERTY 3-14-80 ;USER AREA I/O ROUTINES ; ;CP/M ON QUAD NORTH STAR SYSTEM ;AND FOR THE HORIZON COMPUTER ;USING PARALLEL INPUT FLASHWRITER I OUTPUT ; ;CHANGE MSIZE TO THE NOMINAL SYSTEM SIZE DESIRED MSIZE EQU 48 ;DISTRIBUTION SYSTEM ; BIOS EQU 5300H+(MSIZE-24)*1024 USER EQU BIOS+700H OFFSET EQU 2700H-USER ;TO OVERLAY SYSGEN IMAGE ; ORG USER ;ORIGIN OF THIS PROGRAM ; ;THE JUMP TABLE FOLLOWING MUST BE PRESENT ;THE SEQUENCE OF JUMPS MAY NOT BE C ; IN 4 ; GET THAT DATA ANI 7FH ; STRIP PARITY RET HORIN2: ;PARALLEL PORT IN 6 ;MOTHERBOARD STATUS ANI 2 JZ HORIN2 MVI A,30H OUT 6 ;RESET PI FLAG IN 0 ;READ KEYBOARD ANI 7FH RET ; ; OUTPUT ROUTINES ; HOROUT0: ;LEFT SERIAL PORT MOV A,C JMP 0F800H ; HOROUTP: IN 3 ANI 1 JZ HOROUTP ; WAIT TILL EMPTY IN 3 ANI 080H JZ HOROUTP ; WAIT TILL READY MOV A,C OUT 2 RET HOROUT2: IN 5 ; GET STATUS BITS ANI 1 ; wait till ready JZ HOROUT2 ; IN 5 E8H MVI D,PROMLOC TINKL: MOV A,H CMP D JNZ TINCP ADI 4 ;SKIP 400H OVER PROM MOV H,A JZ TINU TINCP: MOV A,M ;READ ALL MEMORY MOV M,A ;PUT BACK WITH PARITY SET INR L JNZ TINCP INR H JZ TINU MOV A,H ANI 3 JNZ TINCP JMP TINKL TINU: MVI A,41H OUT 0C0H ;NOW INIT MOTHERBOARD AND SET UP SERIAL PORTS NOPAR: ;HERE IF NO PARITY OPTION (CONFIG 123H=DEFAULT) XRA A OUT 6 OUT 6 OUT 6 OUT 6 MVI A,0C1H OUT 0C0H HSBIT: ;SET STOP BITS HERE ;CONFIG 121H=DEFAULT PROI A,4 ;OUTPUT CLEAR SCREEN JMP 0F800H ;TO VIDEO PROM ; HORLEN EQU $-USER ;LENGTH  CLOCK, 8BITS, NO PAR ;MVI A,0CEH ;FOR 2 STOP BITS MVI A,4EH ;FOR 1 STOP BIT OUT 3 ;TO FIRST SERIAL PORT OUT 5 ;TO SECOND SERIAL PORT MVI A,37H ;CMMD: RTS ER RXF DTR TXEN OUT 3 ;FIRST PORT OUT 5 ;SECOND PORT IN 2 ;CLEAR INPUT BUFFERS IN 4 ;ON BOTH SERIAL PORTS MVI A,30H OUT 6 ;RESET PARALLEL PORT PI FLAG MVI A,60H ;CODE TO SET PO FLAG OUT 6 MV;IOPAR.ASM DEC 4, 1979 ;MODIFIED BY DAVID L. HAVERTY 3-14-80 ;USER AREA I/O ROUTINES ; ;CP/M ON QUAD NORTH STAR SYSTEM ;AND FOR THE HORIZON COMPUTER ;USING PARALLEL INPUT FLASHWRITER I OUTPUT ; ;CHANGE MSIZE TO THE NOMINAL SYSTEM SIZE DESIRED MSIZE EQU 32 ;DISTRIBUTION SYSTEM ; BIOS EQU 5300H+(MSIZE-24)*1024 USER EQU BIOS+700H OFFSET EQU 2700H-USER ;TO OVERLAY SYSGEN IMAGE ; ORG USER ;ORIGIN OF THIS PROGRAM ; ;THE JUMP TABLE FOLLOWING MUST BE PRESENT ;THE SEQUENCE OF JUMPS MAY NOT BE CHANGED HCINIT JMP TINIT ;INIT I/O PORTS AND PARITY HCONST JMP HORST0 ;CONSOLE STATUS HCONIN JMP HORIN2 ;CONSOLE INPUT HCONOUT JMP HOROUT0 ;CONSOLE OUTPUT HLIST JMP HOROUTP ;PRINTER RIGHT SERIAL PORT HPUNCH JMP HOROUT2 ;PUNCH=CONS OUTPUT HREADER JMP HORIN0 ;READER=CONS INPUT HPRST JMP HORPRST ;PRINTER STATUS NOT IMPLEM DB 0,0,0 ;RESERVED DW HORLEN ;LENGTH OF THIS PROGRAM ; ; INPUT ROUTINES ; HORIN0: ;LEFT SERIAL PORT IN 5 ; RIGHT INPUT ANI 2 ;WAIT FOR DATA READY JZ HORIN0 ; get bits again ANI 080H ; check DTR JZ HOROUT2 ; wait till its ready MOV A,C ; get the data OUT 4 ; Output to port RET ; return ; STATUS ROUTINES ; HORST0: IN 6 ;LEFT SERIAL PORT ANI 2 RZ ;NO KEY MVI A,0FFH RET ;KEY HORPRST: HORWINIT: XRA A RET ;NOT IMPLEMENTED ; ;TINIT REWRITES ALL RAM TO SET PARITY CORRECT ; PROMLOC EQU 0E800H/256 AND 0FFH ;ADDR OF PROM TINIT: ;COME HERE IF PARITY OPTION (CONFIG 123H=1) LXI H,0 ;CONFIG 124H SETS PROMLOC, DEFAULT IS 0DUCES 1 STOP BIT ;CONFIG 121H=2 PRODUCES 2 STOP BITS ; ;0CEH SETS 2SBITS, 16X CLOCK, 8BITS, NO PAR ;04EH SETS 1SBIT, 16X CLOCK, 8BITS, NO PAR ;MVI A,0CEH ;FOR 2 STOP BITS MVI A,4EH ;FOR 1 STOP BIT OUT 3 ;TO FIRST SERIAL PORT OUT 5 ;TO SECOND SERIAL PORT MVI A,37H ;CMMD: RTS ER RXF DTR TXEN OUT 3 ;FIRST PORT OUT 5 ;SECOND PORT IN 2 ;CLEAR INPUT BUFFERS IN 4 ;ON BOTH SERIAL PORTS MVI A,30H OUT 6 ;RESET PARALLEL PORT PI FLAG MVI A,60H ;CODE TO SET PO FLAG OUT 6 MVHANGED HCINIT JMP TINIT ;INIT I/O PORTS AND PARITY HCONST JMP HORST0 ;CONSOLE STATUS HCONIN JMP HORIN2 ;CONSOLE INPUT HCONOUT JMP HOROUT0 ;CONSOLE OUTPUT HLIST JMP HOROUTP ;PRINTER RIGHT SERIAL PORT HPUNCH JMP HOROUT2 ;PUNCH=CONS OUTPUT HREADER JMP HORIN0 ;READER=CONS INPUT HPRST JMP HORPRST ;PRINTER STATUS NOT IMPLEM DB 0,0,0 ;RESERVED DW HORLEN ;LENGTH OF THIS PROGRAM ; ; INPUT ROUTINES ; HORIN0: ;LEFT SERIAL PORT IN 5 ; RIGHT INPUT ANI 2 ;WAIT FOR DATA READY JZ HORIN0 ; IN 4 ; GET THAT DATA ANI 7FH ; STRIP PARITY RET HORIN2: ;PARALLEL PORT IN 6 ;MOTHERBOARD STATUS ANI 2 JZ HORIN2 MVI A,30H OUT 6 ;RESET PI FLAG IN 0 ;READ KEYBOARD ANI 7FH RET ; ; OUTPUT ROUTINES ; HOROUT0: ;LEFT SERIAL PORT MOV A,C JMP 0F800H ; HOROUTP: IN 3 ANI 1 JZ HOROUTP ; WAIT TILL EMPTY IN 3 ANI 080H JZ HOROUTP ; WAIT TILL READY MOV A,C OUT 2 RET HOROUT2: IN 5 ; GET STATUS BITS ANI 1 ; wait till ready JZ HOROUT2 ; IN 5 E8H MVI D,PROMLOC TINKL: MOV A,H CMP D JNZ TINCP ADI 4 ;SKIP 400H OVER PROM MOV H,A JZ TINU TINCP: MOV A,M ;READ ALL MEMORY MOV M,A ;PUT BACK WITH PARITY SET INR L JNZ TINCP INR H JZ TINU MOV A,H ANI 3 JNZ TINCP JMP TINKL TINU: MVI A,41H OUT 0C0H ;NOW INIT MOTHERBOARD AND SET UP SERIAL PORTS NOPAR: ;HERE IF NO PARITY OPTION (CONFIG 123H=DEFAULT) XRA A OUT 6 OUT 6 OUT 6 OUT 6 MVI A,0C1H OUT 0C0H HSBIT: ;SET STOP BITS HERE ;CONFIG 121H=DEFAULT PROI A,4 ;OUTPUT CLEAR SCREEN JMP 0F800H ;TO VIDEO PROM ; HORLEN EQU $-USER ;LENGTH  CLOCK, 8BITS, NO PAR ;MVI A,0CEH ;FOR 2 STOP BITS MVI A,4EH ;FOR 1 STOP BIT OUT 3 ;TO FIRST SERIAL PORT OUT 5 ;TO SECOND SERIAL PORT MVI A,37H ;CMMD: RTS ER RXF DTR TXEN OUT 3 ;FIRST PORT OUT 5 ;SECOND PORT IN 2 ;CLEAR INPUT BUFFERS IN 4 ;ON BOTH SERIAL PORTS MVI A,30H OUT 6 ;RESET PARALLEL PORT PI FLAG MVI A,60H ;CODE TO SET PO FLAG OUT 6 MV START ORG D900H INITIALIZE RTTY LXI SP DFFF SET UP STACK AREA 2L MBASIC COM123456789DISKDEF LIB2:;<=DUMP ASM">?@USER48K ASMABUSER32K ASMCDJEFF ASMJEFF $$$ ; get bits again ANI 080H ; check DTR JZ HOROUT2 ; wait till its ready MOV A,C ; get the data OUT 4 ; Output to port RET ; return ; STATUS ROUTINES ; HORST0: IN 6 ;LEFT SERIAL PORT ANI 2 RZ ;NO KEY MVI A,0FFH RET ;KEY HORPRST: HORWINIT: XRA A RET ;NOT IMPLEMENTED ; ;TINIT REWRITES ALL RAM TO SET PARITY CORRECT ; PROMLOC EQU 0E800H/256 AND 0FFH ;ADDR OF PROM TINIT: ;COME HERE IF PARITY OPTION (CONFIG 123H=1) LXI H,0 ;CONFIG 124H SETS PROMLOC, DEFAULT IS 0DUCES 1 STOP BIT ;CONFIG 121H=2 PRODUCES 2 STOP BITS ; ;0CEH SETS 2SBITS, 16X CLOCK, 8BITS, NO PAR ;04EH SETS 1SBIT, 16X CLOCK, 8BITS, NO PAR ;MVI A,0CEH ;FOR 2 STOP BITS MVI A,4EH ;FOR 1 STOP BIT OUT 3 ;TO FIRST SERIAL PORT OUT 5 ;TO SECOND SERIAL PORT MVI A,37H ;CMMD: RTS ER RXF DTR TXEN OUT 3 ;FIRST PORT OUT 5 ;SECOND PORT IN 2 ;CLEAR INPUT BUFFERS IN 4 ;ON BOTH SERIAL PORTS MVI A,30H OUT 6 ;RESET PARALLEL PORT PI FLAG MVI A,60H ;CODE TO SET PO FLAG OUT 6 MV S  U START ORG D900H INITIALIZE RTTY U0000 01 LXI SP DFFF SET UP STACK AREA E0000 0000 2L USER32K ASMCDJEFF ASMJEFF $$$:03000000010000FC :0000000000 00 2L USER32K ASMCDJEFF ASMJEFF $$$