Wormp)DExecOV DGfidOV  DDfn1OV DDfn2OV DDfn3OV$ DEmsgOV, DEfunOV4 DEditGO<22DPrntOV[ CSioPSc00DPackOVe ESetupGOm 22DAmsgOVy DXrefOV ECacheZOdAsmbGO722fSYSTEMSYdPdatSYeARISEGO22dSZAPGO22(WORM-SRCTX!$WORMGO 22$MAKETXExec6 (Exec 96 11/23/82) *-!d"-Gfid"-=#@"*-!9:-X ("X #""-:9 "2--@ʖ ! ‘ *-!-' # 9#!-~w#~ G:-w!-~@6 :-+' *'!@-@'x=ʖ !@-~? !-~ w#"-*-)&:- %F%!+J""-! !-~*-->@ "J""-!-~_V#^͜%E!:-@ ":-&o-~# X!*-|p!7Ú!*-O*-:-":-@!!-~wÖ !-~#2-~_-"-!-w# º!>2-Ö !-~w!"* * !:->2-!!-~w!"-Ö !""*-Emsg#"Ö > $ |}6"."~# ʖ%,ʖ%6"a"J" a"6"a"X"+!">&2-> < > < *-~ ~< ~# ‚"*-'.+."""ʦ"é"."ڵ""æ"++~""#6:'.02-<>!*"!-"!i"-*->16+"!-~w"G>@">@w ">#">Dfn1"">/#>Dfn1"2-!6"-!-~w:- ̄$~EditGO!W#:-$ "!Pack"">Ü#>Ü#>Ü#>Ü#>Ü#>Ü#> Dfn2"">#>#>#>#>#>Dfn3">Auth9#*->Prnt"!2#!2:-$:-$ "!!/' *-:$#'.*$$ $ *-> $ # !2~/wS$/w#D$++"-CacheZOAuthOVPrntOVINITIAL VmgrOV:-!2->2'.!-~w*-|ʦ$*E ("$A$!X$:-$ھ$>!w$~$$>Vmgr!`$~$$Auth!7"4 "8 "< !g$:-!%>Prnt!n$:-!"%!-~`w!-~w#- >2-@-~# 2%!-~w."ږ%+h%ڙ%N#F#h%Ҙ%ʕ%6"ʁ%Gځ%v ~ *'~# ʕ ʕ ,ʕ +"'*'~#"' , +. ȷ*'"'ë <>*'G p#"'*'# V'!!!!!!!! ! ! *'+7*'"'+#6,!:'Y!! "-*'!j'"'"'!d"-͒ ͫ ̫ G͉ x«!?ʪ$#ʙ!1!:!0 *'#"'ͫ !"*'"'!'."'ͫ m! ʸ!*'+"':- *'#"'"*'#"'f !Ox !!wy.!f !Ox!y">D !>X !y*'*'!"'f "." "'"'!*'+*'\'+V'!*'#"'f !Ox !!w*'*'\'++}*'#wy."f !x!*'>w*'+:'@#ڲ"*'#G'*'+ѷ!V'"*'#~_*.s#r*'+:' *'">wÑ":' !:' !Ê""'*'~2'#~O #y+r#"'2'!"':'#2-*.(:'O>"'!3G:( 2-:'2-*'$ Þ$#ʆ#O~_#x2'*'\'"'E:-#:'#:'W:-#*'##.##¾##*."'2'Æ$*'##"':'G:'x#!!"'* (".>2.ږ$:'ʞ$=2'o&^#V"'(:'O2->!:'2-3G:( 2-*'~_"'*'\'DM*'##.6*':'Œ$:'Í$$ $:'͞$7*'".*'+:'@!:-*'+$0w"'*'"'$!$2(.>?w (OGyB%%~#%x &o%O.% #>% .%%7>2'w#f%!V'!:'!Ý%:'!*'*'G'*'#~O:'@> ʗ%/Ø%ws&!"':'%G*'##!.“&#·%~!* (!e'$V' *'*'G'*'#~ w+V'&2- !" (6* (#" (!^#V*'"':-R&s&!*'".>2.*'~!e'!R&!V'!* (*.V' *'"." (!"'s&32(2-:-O*'(>!* (~G_+V'x !L'*'#~_^#V*'*.s#r#6#6#6#&" (6* (#" (s&!^#V"'!.#~'~L'!(6#|,'!(" (32(2-*'"':-2-ã%~ G~#M'|}z/W{/_Dfn1â"*-!d"-Gfid"-!!@-'x$ ~#C :-00 $ $ ~ _|}32(2-:X.O*.|z >2->(^$!!!* (".{72-!d"-L!Emsg *S."-:-> $ 6<#('6<#6#6!e.~< > +->@ !!\ ž ž *.(:-O2X.>^$2-ɯ2-:-͉ C!!\ !6" ! "Y! !:(G:U. !!!Y!L! :-0$ !!"  m!$ O!!^yx!! :) Which drive? Disk name (up to 8 characters)?(Cleaning disk) From To Insert a System disk in drive Insert a disk in drive and press RETURN...No disk or door open! System file-not renamed! renamed to Which directory?Same disk! Initialize it? ?_*-!"X.9"S.! "-:(2U.2-!"^#Vɷ #"'$':- ! 2X.G:-y#!d"-!! :X.!OL#!\ ž yx!:X.O!D>[$\ >-#}_>[$!!( '>,6#Z#!" (!(" (!".b L!! "Y! !""!@-'~*NL!Y…#"2-!! ! 2Y.͉ ڞ *."[.!! ! 2X.G:-ʞ :Y.ʞ !d"-*[.:X.x!\ ڞ *-!2z2].!"^.*[.|$:].G}!$:].G:Y.Ox*^.[$:X.O[$_"^./_*[."[.| $L!2Þ ><$ :d.0$ ><$ *\.|ʖ$!.Vͯ$###><$ ~…$~Wͯ$#>.$ ~$ #~$ #~$ ¯$!d"-*-"b.d.>@ >2`.2a."-&%!\ $!\ %Þ !e.~_~*ž >2`.*%!e.~g~*ž >2a.*%"Z.*."\.*-->@ қ !\ W%!\ ž :a.ʞ *."^.!*\.*^.\ ž :-o:d.ž :`.‡&:a.'*Z.~@ž ~O!-~=#ʺ%G~o>gxå%#~*+~%Þ F&&*Z.e$!h" *Z.~,ʞ *Z.#w+y5&z5&%*Z.e$G~G/_* (" (*Z.#*Z.#H ~#>,p&*Z.~Gw%:d.ž :-ž !(~ʫ&R Ý&!e.~@ e'!\ Þ "Z.!*Z.~ʞ @ʳ'e$!M" R ~'ʷ Ge.¯'#¯' 'r'Ç'"Z.͍%Ç'u"!d. !(~b @wR 'u"!d. !(~b wR 'Dfn2"*-!d"-Gfid"-~ o>g* (>,6#3 32(2-:-O>*.(ڟ !(~p j ! ` zO!!^y!x! :)|}!d"-Emsg *_.2-"-:-> $ ~# :-2h.*- :h.&! ͏!3!#3!13!:3!02h. 3!:h.!"!&!!͙ Ÿ * (".!". 6!++~͏!H!#6<#6#6*-->@ j!!͙ Ÿ Ÿ *.|(:-}!!2-2h.O>S <>u.|͝!}ͦ!u.!!!!!!u.!!~!{ ## !~Ɛ'@' ## !><"}o|g ?_2-"a.*-!9"_.! !;"^#V*a.'#%$ & #''!# Disk Directory has deleted files on it. sectors in use, deleted, sectors free. Size Name Size Addr La Sa Name << deleted. undeleted. ~ ##"#~+~ ##"G:s.x$ < *#*# x2t.y2s.:-Z#!Q""!(~f# ##J#f#!W""*-"!b"":t.™#* (ͫ!>!!p""*.ͫ!>!!""!(~##! â#O N#F ê#:t.#`iͫ!>!!h""|$ͫ!>!!"":-s *.|/g}/o#ͫ!>!!"":-!")$!""!(> 2W.~$$:t.­$~@P$:-ʭ$~_ͳ$:-}$~_Ϳ$###Ϳ$#Ϳ$O"[%:s.­$:W.=2W.­$>2W.>.$ >$ :t.P$! 4$$ͫ!>$$͕!> !> #> #^#V >2f.!d"-!(~$%! $2f.w2s.:h.G"'%$:f.- #~ #%>< #x0 #>< #*.|[%!.V%###>< #~H%~O#̀% `%#~z%>. #̀%#̀%"~ #*-+#~ ʊ% ʊ%->@ >2f.%Ÿ !͙ %!͙ Ÿ !-~g~*Ÿ 2f.:-2-É&!-~o>g~*&ß b&~#,ʋ% ʋ%!-~ j!!-~_V#^"f.!(~%8&! *&*f.~@^&~g~^&#~2&g&2&j!~@Ÿ ~w- 2s.":-G'%*- .Œ&+6*-->@ ҳ&zŸ {Ÿ %b&×& 2-2-2I'*.|+(:h.Ox''>/$ ':I'<2I''2I'> '> $ :-&z'{'Ɛ'@'$ :h.2-:-2-2-2 Boot2UDfn3U"*-!d"-Gfid"-z& {/ Ɛ'@'< !d"-EmsgZ *S."-:-> $ *_.|r :c.G}u :c.G:a.Ox*d.*[.: :b.O*].: _"]."[./<_"_.|` :e.2 !-> : 2*-z6# *-Y.>@ : "@-!Y.~#~@: ~<_ ~#D!~X: #^#V# !F#N*@-~,:!#->` K!: {: z: !-~O ~*!-~! _r+s+r!V+^"].##^#V"_."[.2a.:-2b.<$Ҭ!>2-!!>"d.2c.:b.*_.*].&": ` *-%#! "!%#!+~ "!##+*@-%#! ""%#!+~ "!##+%# "!Z.~<_,!<>/"#O!!^y!x! :)?"U."W.*-!9"S.!J !"_^#V*W.*U.J "Z# #$$%~< #Ô" to ! !"͔"! > < ͔"DM! > < ~& > < #"> < # "". # "#"-#! "#"|}~# ,J%#*G0 O# ))))o7#*-~ : %#z# : f#: +3#t#%## t#Â#+3#t#+~ ʣ##Ù##6 #6å"Which drive? New disk name: %: 2b.!!#@':b.!#!{: !(! $w# $$w# $32(2-:-O!(>>2-: 2*-+#[$|D$}D$!2z=7*[.,"[.o$~]$*_.|J +"_.*].#"].+!:-O>: h$>P!>T2@-*-->@ : !!"[.!-~@: ~_^#V#"].^#V"_.:@-P$]$< $]$$ $ $>.$ *X>$ $#!@-'x%~#8%:-00 %%"g.!@- '@-! }%0J% s%J%J%))))oY%|}From address = Start address = Load address = # of sectors (1-7F) = File name (1 to 31 characters) = %G%"e.%G%"c.%G%"a.%G%&&&"_.!% !OG-> 6&: !#: !-~ w_^#V"]."i.!-~_].w#k&*e.*i.:-O:_.: !-> : Emsg :- *-"-"-:-@@2-|< }< < & ~{ Q #~\ +##~R #@ # d? No message for error !c dDIO says: Bad parameters!Hard error! Preamble bad!Checksum error!Verify error!Write protected!No disk in drive, or door open!No controller for that device.Data transfer error! No such drive. Seek error!System PROMS must be version 74 or later!I can't do that to the System drive!I can't, too much data for destination disk.That unit is already connected.That volume is already connected.I can't find that volume.No volumes available.Only 1 volume on that device.No device driver.Device definition block bad.I can't run that fileNothing to run!What?I don't know what to do with that fileI don't have enough memory to do that!I can only pack entire disks.I can't find that fileI can't access that device!Preamble error - directory unreadable!Checksum error - directory unreadable!Disk directory destroyed!Bad disk identifierName too longIllegal extensionName null or weird!The directory is fullI can't write: the disk is fullI can't rename across directories: use copyNo new extension givenI can't do that to a system file! "" is not allowed here I can't copy directoriesThat file already existsThat file does not existOutput file not specifiedOutput file already existsInput file not specifiedI can't edit that file!Input file does not existI can't have two OUTPUT files open on the same drive!That drive already has an output file opened to it! Printer has not been defined That printer has already been defined Please specify a printer name! I can't change that! I can't find that overlay!ޭSYSTEM FAILURE: CHECKSUM CHANGED!EfunՇ_! ^#V 5 !!!!"I"^"##!2fP͝ ! '͝ :2° * |ʤM."Q!X"Q!\"Q6 #"Q*-"Q6 +" Q2Qͽ?>2HS::Sa45 ~G#|Ÿ }Ÿ 7!S>͏$ !͂$ *.*T͂$!$ 7!$ ͭ2? ?!͂$!$^#V "R+"RI?" Q:Mw#"Q*R"R@ͭ2ʀ!c!GI,!p#*R*R͂$,!p#"R"Q,!*Q* Q#͂$,!+"Q*R+"R,!* Q"Q*R+*Q* Q͈$#͈$!*Q "Q*Q "Q*Q "Q͈$DM+zL#!կM!>͌!b<"QT"ST"UT"OT2YTʹ5*Q* Q͈$||G}Ot"5* Q*Q+͈$||G}O* Q"* Q͈$* Q͈$E"!" Qʹ5*Q* Q͈$|DMt"5* Q*Q+͈$|DM"*Q#ڟ"* Q͂$ʟ"+~# ʟ"#"DMbkz¯"{ʼ"w#¥"+å""Q* Q#x"~"6# "ͷ#*Q͂$+#~ ##~##"" Q:S2# *Q͂$#*S,9#x"S~ !#>2S7x*S|2#X͂$BT#zʉ#*S:SO{ڜM_G*S"S*S͈$"S*S:SOxVڜM*S+"S*S#"S!V"S%#:T7* Txw ," T#*T*T͂$H#*T:SOW>ڜM*T#"T* T#" T!W" Tx#X*T+*T͂$8$*T͈$#ѯB$J$H$*T:SO{_*T"T* T" TgxG#H$z{}o|gGfid$9%%%V&='q'' Hit any key to continue... REENTER not allowed now! WARNING: The entire input file will not fit on the output drive. (control-Y to abort) WARNING: The current input file was not entirely read into memory! (control-Y to abort) The current input file is empty! WARNING: You can't move any further, but you still have more text to read from the disk. Use control-A to read some of it into memory. When the question mark appears type one of the following: Ctrl-Y quits global search/replace, ESC skips this change and continues, RETURN makes remaining changes, does this change and continues. Hit RETURN to abort (any other key to continue)... Edit aborted---FILE NOT UPDATED (Type REENTER to resume editing) 2I2 Edit 4.1 (11/12/82) !2 *-!c2!9"Q!X"Q}DڤM2ڤMo2!*-!c2!9"Q2o2*Q"-*Q!2"-2YT2Q?3:Qdo2 =}M!M ͘8|G>2I2*Q $ *-:->2>2>2>2>2>2>2>2> 2> 2> 2> 2> EfunU?:BT3+3 3i?:Q2Q@+33ͭ2!g3N3!3^#Vͭ2!3N3G!373O~a3#T3y7 <4a456556<4<4<4<4<4<4<4\64t6k56544 6B6&66<4<4>3<4<4<4<45 ":=?_:::682:297F:8K;T7F8G84466 @98;}8::>3::::"8;<::76 P4:MP4> P4> GIp#"Q[C:Q7:Sw4!}?7͍?2å?:Q7!"Q͍?2å?͜4û2ͶHʨ4[C:Mʽ4:S½4!}?4û2͊HͶCͶH444C͊H45444͊H4 DC*Q+N:My VL5 * Q#N:My _L35 <5û2*R͜4*R|@55h5*R!Mh5͜4N5q5û2 KHK*Q3MH DID*R!"R5ʫ5*R!Mҫ5͜4‘5ʹ5C* Q#*Q3MH?5C*Q*Q+3MH?5*QC5~ +~ 5*Q*Q+!M"Q*Q~P45*QC465*Q+~0:&6_A[&6*Q* Q#!MN:My-wI6>2R<5o6c62R>2Rq5ʇ6{62R!R"R"R@2"R"R3I*R"R*R"R3I:MP4:MP4*Q:MI$J:MI6$JD͝I6 767*FS++MD*Q*BS#47"QC*BS#*Q3MMD47* Q#*DS3MMD7* Q3M-Mx~L7# xE7i7CCD7͝I~7ʥ7ʶ77*BS+* Q#L*DS*BSLL*FSH>* Q*DS3MH>*DS*BSL*Q+*DS#LL!"Q>i7*FS*Q3M"Q!"QD @ 8 7:M?:Q2Qͻ2>?\Mͳ28:Q2Qͭ2 O:3"8!HS~>D8w?ͭ2*Fs8Cs8Ps8Wx8Sx8y2My2M}M!2ͻ2 !2è2:S«82ګ82ß82!"QC*Q:MIYM##I*Q!M~8O:M8< :->2-8:Q*Q:MIYM##I*Q!M~9O:M82:->2-8:Q2Q}M!O !R"RO@'+"R!S"R O@'+"R!?O92AS~9!22? @U?ͤ69:ASʱ9 @ 8 ʄ9 «92AS:M?*R*R#!M95õ9*R*R#!Mʄ9<49i? :!R':R*N:Y9ɯ (Y or N): 2$2k<"UT*ST2k<*STDM'Mڵ:~#^—:~#^ʗ: ×:PY>*ST"STs#r:Q2Q> Ͱ2> <2_*OT^#V*OT3M:Ͱ2!.N !25>> Ͱ2:>.Ͱ2 >Ͱ2:*OTY:*ST+6#6#6"ST!R6*OT^#V͌<:Q2Q:Q2Q:BT“;}M!N͆M!JSO('!JS%=ڍ;:Q2QZ>3?@ͤM2!N 2:Q2Q:BT“;}M!N͆M!JSO('!JSc=ڍ;:Q2Q><<_*OT^#V*OT3M;>^͂<>[͂<:3͂<͂>^͂<>[͂<> ͂<;=2ɯ2BT*S:S5<*S!Mr#s+%=:Q2QZ>3!N !M !N !M 2!Me`Gfid!T~#2CT~_V"DT!FTw# T=>2BTɯ2BTTDE>`Gfid~=7!'M|=!T~2CTG:S¬=* T||=>2AT#~_^#V"FT!"HT!U"DT>2BTɯ2BTU*DT'M= ?=!T~_*HTs#r#w=z.>!T>GfidڤM:AT->*FT"T"T2AT!dN͆M^D>Y>R> R>>^Y>@Y>5>*2"JT!>"2*-"LT!v>"-ͨ>|>d2BT*LT"-*JT"2ͨ>^ͨ>^_¥>>:NTͺ>ҵ>|>2NT*DT>V>~#"DT ڻ>*HT|>>2BT7+"HT!U"DT*FT#"FT+:CTO>û>*DTw#"DTV'MG?*FTU:CTO>M?*FT#"FT*HT#"HT!U"DTͤM7I?>@a?>a?>!Qw>u?>u?>!Qw:HS}M22:Q*Q#*Q3M" QZ?:Q5* QH>2%Qn??*Q@6# ??ɯ2R>2R!"R>2%Q!"Q"#Q*Q"!Q*#QB*!QC:Q:%QmJ%C*Q~6%@*Qw>B*Q:MbA*Q*Q|Ay?h@ ڛ@b@w*Q w# F@y@:Mʀ@BL@:ML@PBL@"!Q*Qi"#Q* Q:MR@ ʸ@ @ AR@hLʆ@R@:QW?@@ B:M> @>C@z BF@_L@AK"A:M > R@:M,A_L@A:M > R@:M,A_L@A:M_y@8A{CWA:@:MPAWA͈AWAPA>@ BB:Q=sAWAgA>C>_>͞A>CB>C>_:S͞A>CB>@ʩABWBACzB *MORE TEXT ON DISK* >CA B*Q# ByAxA* Q#A $B 4B FBBAyOyxAy DB:M B:M By@cB~B>C:ML!M   ڍB >@~B ʢB ʤB ʶB ÆB7 ʴB:M žB:M žB: Q<g.B"QMl&))))))*Q"Q7ɷW{Bw*Q w# BCC"Cw*Q w# :M!WC*Q*R'MQC@ +'M@3M#WC|WC+"Q:Q@*Q+*R ҟC ʄC ʔC ʌC#àC}o#àCKʬC> O:M€CìC#}ڲC:MʲCD!"R:Q* Q#*R|C C C C C+CKC> O:MCID K+"R>2R K>2%Q*Q*Q!M"Q:MGCD:R1D<2RxCD:RCD>2R>2%Q:MGwD:R_D=2RxwD:RwD!"Q>2R>2%Q*-"SEҡD!'MWE!O XT*SD*S:M> D*.:S@HDD2!S~w+>Gfid!P *SDM> *SͨE*SDM> ͨE*TD*S+*T'M!27lG!O SXT>`GfidKE!'MWES>@Gfid!S~@YE7~_#V#^#"T"SS~#rE#}EʌE7*S"T>2S!V"S!O 2SͱE͔F2S2T2T!P SGfid:S @SGfidE7!'MWE!S~_~*sF+~sF##^#V#F!S~_+SG3Fw#2F r+s+@F!S~w:SG#~=w+>GfidE!'MWE!S~_#V#^#" T"S^#VzE!S~2T* T^#V"T"T!" T!W" T>2T:T@H!O }M:SF!2:Q2Q!JSO('lG!JS{H!JSE2ͤMF:Q2Q}M!JSmO('!aP !P |G5GͤM;G!.P !JS{H2!\P *SDM> !JSͨE2ͤM!JSO('JG2S>2S!"S:T* T}ʙGw,ŠG-" T2* T|G*T* Ts#r#s#r#w´G!S>GfidG!'MœMͤM H:SO:TG!O ÙG!6P G!" T2T}M͙G!UO  H͔F2!rSO('*SDM> !rSͱEͤM HLH+"TO!>y!^!>! :)~# {H {H ͜H  ͜H*Q*Q+!M~"Q* Qw+" QH  H*Q* Q#!M~" Q*Qw#"QMD* Q*Q+zL#"Q" QMD*Q* Q#ͥL+" Q"Q*Q* Q'M*Q* Q#3M*Q!M* Q#* Q*QMD*R{ʉI@I*R'MoI#{fIzkIMI=I* Q3M@HC@×IzEI>2R@7!R6*Q:MI"BS:MI"DS*BS3M#"FS*Q!MI>*DS!MII*FS3M"FS>>O*Q'M*Q'MJ*Q!MFqyL!Mx7ȷJ* Q#*QJ!"Q*Q!M*Q'MMJ*Q+"Q3MMDkb#åL*Q'M* Q!M#" Q3MMDkb+zL2%Q K:M:RJ>2ROJ:MJ*QzŸJ{ڻJ{OzG*Q*QxJK íJ*Q*Q!MJ*QyO:MJ*Q!MJHKJ ‰J"Q:MK2Q:R2Ry2Q*Q+̓KK`i"R*Q}BK~# 'K 'K yO'K|,K+VL\KͫK̓K#:ML͸K*Qz^KG:MLxdK:M^KjK"QKҤKÖK`i"Q ´KKVLK KK_LKhLK VLKqLK @} L~# L yK7|K (L 0L GL Ly ?!2͆M?:Q G:Qxð2> Ͱ2Emsg> Ͱ27 ??def Exiting... TILT! System error!!! Not enough room to define key! You cannot define control keys! : SYSTEM ERROR: Gnomus was told to eat a command! No definitions exist, library file not created. Library LOAD/WRITE already in progress! (Key Definition Library loaded) Key Definition Library name: Enter the search string: Enter the replacement string: Validate each change? Output disk is full. New output file name (RETURN if none): New input file name (RETURN to close): New output file name: Input file: opened not found Creating output file: (Old input file deleted) New closed Must be on the same drive as before! New Old BPrnt*-!9"%!] "-!-~w8 "-(Printer/43) =d =o =ʪ!=ʅ!=!=Y"= "=-" 7*%$ *''ó !%q$ґ !'q$Қ <$K$Z ^#V`i+ͤ !* :/!&0ͪ!&!/1$"Z !11$ !1 1$0212-!4 6#6#6/##6#6 #6/##6#6#6/:1*!!/6#6#6/:1 4 :-vi!~!#s!0*% 1+$"1>21!< "1>21!1"% *% 1+$¼!*1"% !$ !%;!:1#!%;!:1#!@%;!:1#!U%;!:1G:1=#!m%;!:1#E"x2%y2%z2%{2%|2%ͭ"Ҟ"Z E":%G:%O:%W:%_:%g1!%1$E"!% ͙#2%!% ͙#2%!@% ͙#2%!U% ͙#2%!m% ͙#2%ͭ"Y"%!11$ :%G:%=:%G:%O:%=ع2%~"!%q#w# "6P#6SY#0>] #~=#B ##!01$ɯ7O07*% "@0>2?0y #0?0 > ?0y>?0y >.?0 y:-!o&^#V:-O!% #͵$s#}#*Yʖ#Ns#>>#͵$#ʝ#!͵$##0 #)DM)) #o|ʪ#!% Ù#}!%$'!%!$#!$ l$Od $ $ $l$/yO $z1 $ $$ >2%z{w x#1$!$ !%W$!$ !'~l$ #!$ W$> $ ͵$q$~ڱ$͵$ʓ$G~#ʣ$ʁ$~~#•$£$ʫ$ y$7 72 9 1? YesNo : Commands: Known printers: Lines per page (form size)Characters per line (page width)Lines for TOP marginLines for BOTTOM marginOffset for left EDGEERROR Type a number (0-255) ERROR Answer Y or N LOG!NOLOG!SETY"SHOW!R//!d R/ R/!1:1> R/!1:1G/P/7/ R/R/> O^/&1ro~ ʗ/=ʈ/=ʲ/=ʸ/=//21!/w:1:1w/!14:16> R/:1—//!1~w:1 P/:1¸//21!/~/5 //!1y/5 /&2->!d" !d~0O:1n021:11*1l1"1@ʫ01B*1}1ʗ0"1ʗ0>62-͗0vҮ0>'2-!1# ]1# ]1# ]1#]1O!-~0>7w:1*1_y0:1*1:11{21>21:1O*1:1:1O*11B*1l1B1"1!15v*1v1*1}1G1"1F0:1_1|͎1y$|z1&|}͎1,}‹1.Ƀ_Pack*-*-:-!d"-"-2-!9" '2-/2-%!2"'*-"'r+s+"']%* ("''!(~ʴ ¨ ~_*'͉%"'*'͔%%!D¨ X¨ *'w+w+"'~ _Q *'*'͔% ]%N >*'w#w#"'"' ##~# !^#V#N#F# !2N#F͡%+ ͡%!#### *'s#r#!"%'!2N#F###͡%!!!!͡%Q!*%'PY͔%L!"%'!!*%'͔%ʀ!͚%DMq#p#"'*'͔%% 6#6++V+^+V+^+++͡%ʥ!͚%Ñ!")'*'^#V#͡%°!͚%DM2͉%!2 "+'!2"'*'͚%|2$'*2͔%L"*2"'*''͚%"'':$'_͔%'"'":$'."*'"'*''͚%"''!}."L"*+'*':'O!& %*-"'*'V+^(:'O>>"3!(ʉ"|ʧ%>ù%!(~""~_^#V!"'*'N#F#͡%"N#F#*' "'í"*'͚%r+s~ _Ì"!(~I#=#~ _! (^#VOPY͚%! (r+s+V+^s#r!(͚%͚%#DM͉%"~ _"* (>,6#N#32(*'V+^+"'|y#*)'" (32((:'O>>ڹ%*'*'͔%R"*+'*-͚%|2$'*'^#V#"'N#F#͡%&$""' "':$'O*+'" '*"'^#V*'͚%y_͔%ʗ$$:'O}* '*'Gxڹ%W" 'Gz$#x$:-h$!-:'h$*-!"'*'N#F#͡%^$N#F#*' "'D$*'͚%"-2-"-"->2-*"'^#V#^#V#͡%""'"':'O* '*'Gxڹ%:$'$z$&$#:'O* '*'Gxڹ%:$'$O "'#G*'O "'*+':'Oxڹ%*-~# % % /%:-Y%#7%:'.0% %O~<%>% %y2'*'V+^+"'(:'O>ڧ%3!(§%x~# É%|}}o|gxy!]& # %!% # #_ # * 'h$* 'Emsg> $ h$Fatal error encountered while packing disk. Error occured while doing sectors starting at . Error encountered while reading directories. No data on the disk has been altered. There is a bad sector of data on your disk. You must fix this sector before I can pack. 2(Setup/2.0 - 07/09/82) !2 *-">w7h7!@-8@'!;@-ͬ7d2!j2^#V`i+:>2Q7G6!=]78$ 2=6E8^883w#|?&32 |?&36#=]7#6 ">Q76u8G6ʓ8*>> W7ʱ8!*>> }O|G]7 ">Q7 !8 2ʓ8!&9 2!8 !:f3:=7!:f3:=7!:f3: =7!9f3:=D7!*:f3:=74!?:f3:=7:=3!q:f3:=7!:f3:=7!:f3:=7@4!;f3:=7!;f3:=7!7;f3:=7!O;f3:=7!h;f3:=7 !09 !]9f3:=7!x9f3: =7!9f3: =7!9f3: =G:==7!9f3: =76!9 6<6!9 q62=4!: q62 =!: q62=Þ5686>2=!: q62=!: q62=!: q62 =!9 62=!*: q6[5!?: ͚62=!Z: q62=@5!q: ͚62=!: ͚62=!: ͚62=Þ5!; ͚62=!; ͚62=!7; ͚62=: =ʒ5!O; ͚62=!h; ͚62=!09 !]9 ͚62=!x9 ͚62 =!9 ͚62 =!9 ͚62 =!9 ͚62 =5ڞ5!; 2: =x:==: =G: =O:==ع2 =!=w# 6=6E8^8!=6#.6!K9 !>ì7!>ͬ7^8.8:-!o&^#V:-O68ڑ6u6*Yʎ6N‘6>>!; q6686ʞ6!86606 6)DM)) 6o|ʫ6!; Ú6}6!,<ͬ7!; ͆76!<8'!2Ò7!9 !<~ʧ7 #!8 Ò7> $ 8ʬ7~787?754777#ʼ7~~#7777x7 ô77 7~"8#~8"8# 8 > $ 7!48$8No such printer!!K8$8Name already used!!d8$8No printer name!!{8$8No room for definition!!8$8System device, Illegal!!8$8Default device, Illegal!PrntOVWhGOSio##? YesNo : Commands: Known printers: Valid baud rates: Printer DEFAULT page parameters Printer setup: Lines per page (form size)Characters per line (page width)Lines for TOP marginLines for BOTTOM marginOffset for left EDGEDriver nameUse standard dialogSpeed of printer (in Baud)Similar to a DiabloBlocking type deviceDevice buffer size (0-255)Send a Start characterASCII code for START characterASCII code for END characterASCII code for ACKNOWLEDGE characterUnderstand Form FeedsUnderstand TAB charactersASCII code for PAD characterNumber of pads after CRNumber of pads after LFNumber of pads after TABNumber of pads after BSERROR. Give speed in BAUD units. ERROR. Give a decimal number (0 to 255) ERROR. Answer yes or no Printer defined. NEW4CUSTOM4VIEWo3DEFAULT2DELETE,3EXIT250-075-0110-0134.5-0150-0300-0600-0900-01200-0 1800-0 2400-0 3600-0 4800-0 7200-09600-05075110134.51503006009001200180024003600480072009600Amsg T !T " !T " ~# ~ ## +~# yK K w# : y/ 36 PRINT FIELD ERR IN @NUM!! Number has value > 65535LABEL HAS NO SYMTAB ENTRY!!ENDM without previous MACROBAD POP CODE SUBTYPE!!Backwards ORG/ late RELOC ignoredUndefined symbol referenceIllegal symbol type referencedByte value truncatedSigned value truncatedValue out of rangeCan't redefine asmb symbolDoubly defined symbolCannot SET a defined LABELCannot use a SET VAR as a LABELPhase error - value changedLABDEF LOST A VAR!!ENDIF/ELSE/ELSEIF without IFStatements after ENDDefinition error by REFREF without REFSREF LOST DEF BETWN PASSES!!Symbol not in REF fileDEF CAN'T FIND SYMBOL!!DEF given an undefined symbolDEF given a doubly defined symbolDEF without DEFSDEF without symbol nameUnmatched bracketsUnmatched quotes MSTACK overflow!! MACPEEK buffer too short!! MACPOP on DE=0!!!Line too long !"Illegal char after '#'XrefjN}! S>I2f>2f>2u!TS &T0 >2u!2t!y0O?A :~ Sx T?% A02t!~ y;W x[U :u!<2u!S ;UZR*g~++"r!+ ʁ "¬ ʁ "œ Ë ʁ ʱ ± Ë ‹ Á ~+++ ~+ y:l!#~0 :l!~$:u! !l!!l!:t!<2t!-! L!>2t!ZRL!QRZRx;Qy:ľQ:u!>$̾QZRv!VU*f \vS> ;Q Ë *r!͏S!"g>:S-Vz?{??2g! :<6#:2!!2 6#6#p#6#=!!"""&"$ ønʐ*&#"&a:a*(#"(:x:?˯22: wOeR*i>2i:*:**] <?#=|*"#"":O!*V`.#  {G!3:!O~ +6#6##6n :!* $=W!5]T:!O ~####3~T] (+V++q#p#r#p:g*]>22 !*>6#=†:G*xʳҪ2í2 #Õ!5:!G~5½:7?: 72:! _ W => `i445+++7?z{x2!)3 *-!@-͑52~^!I332^!h33/2^!332^5͏Tͷ7>2^!3 3>2^!3 :~^m26Ò23!Z'!ZͲ5Ғ2Emsg!5; m23:^ʥ2!3H͝;7!3 :^ʽ2!3͝;*p^!h[ > $@> 2m[2n[!h[ :^2!h[͝;:A\26͕I:^8 !Z3':Z*Y&3 $3N3>Macro-88 version 5.1: 06/10/81 Hardcopy? (else video display)Full listing? (else errors only)Symbol table printout? (Y or N):Pass one. Pass two. Re-specify original input file please: Error total = 2.]2/]2^2^2^2^2^2^>2^>2b^2^!"p^"x^"|^"z^"\"\<^="8Y2~^!Z4'!ZͲ5<4:C\Emsg> $ B4B҅4%:7;7:^4:^¯4:^¯4:^¾4:b^ʯ4G:4*r^|*t^4%:*t^7;*r^7;X7:^<4Y<47;Y<4No END found. Continuation file = 28\>2:\y22\:^€5:2\=22\:8\@~;5$ P5 r5:8\<28\#&528\::\j5>.$ >$ >=2:\#&5:8\28\#&5:2\=22\~#< À5>7‘52@\2A\Ͳ5~ OG6"\> +O7#B\>@GfidR7>2@\!C\~_"\\~#5*\"\*\"\!`"\> # 6*\n\>`GfidL7!BR>2A\!o\~_"\\~#~!"\!a"\[6طP67?:@\O7*\,t6"\~*\|€67p6+"\*\#"\+:B\O>`G!`"\o6G:A\6*\p,"\6*\:n\Oa>*\#"\*\#"\x*\"\*\"\!`"\:A\*\-,7ͧ6 7:o\ 2o\*\##\w#&7!n\>Gfid~# ,!!7:^R=ڙ7=ڙ7*x^ͼB"C]͋=͕=ڙ7ͪ7:n^ʏ7*C]ͼ7*C]#"C]x7*v^|ͪ7+Þ7*|^"|^{ç62o^:o^*z^##"z^++ͼBz7z7͊87>͊8دÊ8>͊8>Ê8:o^*z^*x^"\ͼB|W}_z=8͊88*X####"=]"?]! "A]2;]:;]J8 7;*=]++++*XBa8 7;͊8*A]}a8*=]*?]ͼB*=]z~#ͧ6}8͒8G*A]-¸8|*-*?]w#Bڲ8>2;]"?]!x|g"A]!9%>8!v9>8!9>8!9>8!9%>8!5;Ý;2O]W_Wg9͝;>2N]!5;͝; ::O]E9W:^@O:^G>0!h[$@!h[͝;!t9͝;:O]W_͊WR:N]=2N]99z͝;7; Undefined symbols: Doubly defined symbols: Set variables used: Labels defined in this assembly: Macros defined in this assembly: h[bk H6 # :V!h[ Ý;͋=̈́:͝;͝;̈́:͝;!5;͝;5:͋=̈́:_::b^ʁ:ʁ:͝;:b^v:͝;̈́:͝;!5;͝;o:!h[:^¾:*^:^ҥ:>2^:^G@O>0$@1;G>O:6 # y Ҿ:2L]:^G@x<;=͕=;O>0$@0;GyO:L]<2L]*^#"^:y!;6 # ;*^^|!;+6+!h[:L]RR7; B;z*p^#"p^ !;͝;y;!;͝;!h[Amsg͝;!;͝;!h[>0$@!h[Ý; ** ERROR : ** 5"P]y2R]͗<1<#;L;O;A;1;:< ͈H!;9<1<#*Z^9<1<*\^9<1<*X^9O͟<*^^|P6U*`^#"`^PV*R^Z=V^ ="R^ß7+~2n^+V+^"X]".\`i"2\/>a>/>a>=:n^͈Hѷ".\`i"2\=a>:n^G=a>:n^O*2\DM*.\7*2\DM*.\~>33==7*2\DM*.\ڙ>33ü=ͼ=7B>x‡>l>͈Hl>B>ͼBy>xʇ>l>xl>͈Hl>>DḾBbkl>>zl>}o|g>>zl>|g}o>>_Bl>>DḾB`il>/>z/W{/_=/>z/W{/_=>zg{o7?l>>zg{o7?l>>zg{o7?l>>p?>BҤ?ë?>Ã?>Bڤ?ë?>Bʤ?ë?>B¤?ë?!l>!l>=?=?zù?7x$? 7?B?0?#B@*7? 7h&_B@ o&?yR 724\".\"0\`i"2\24\25\M@:5\*2\MD*0\*.\:3\%?]@! "0\V@*.\ ".\+"6\*0\DMx~@>0æ@y‰@:4\æ@:5\<25\:3\_́B{ Ҥ@0æ@7*6\:2\ʾ@=22\w+"6\~@x@! "0\7%?!@@@###@#~#F7?  (xw# AWxAr# Az~w# xA".\y24\2E]WA:E]QA:4\O*.\77?~zAyjA>2E]#WAtA>2E] #WA#yʌAR# 7?7xyʧAxʪA?# ÏAT]#BA>_|AA>@|AA>?|AAA?#BB>_|A>?|A>@|AyR~# A A A A+ 7?yR~0# :?+ 7yR~A[;Ba{;B7# 7?yR~# A A A A@BDM!>)yOxGuB=iB7?{ʶBz/W{/_!>ҙByOxG}o|g=“B|W}_7}o|g|}!"v^"r^"t^^=>2^2e^2^2^2^*CC=B=z C>2^*x^"x^! BC7"t^^==>;|A@C:^rD>2^:^MC@BaCͭAaC"c^x2e^>:|AA>;|AqCyC:^rD>2^:e^:^R2^KͭA"f^x2h^:^0D>2^:h^C-AENDIFC:^=2^R2^:h^C-AIFC:^<2^:^R:^R:h^D-AELSEIFD2^kG:h^R-AELSE?Я2^:^<2^:^ʓD>2^:h^ZD-AENDMrD:^=2^rDrD-AMACROrD:^<2^:^RZͼB}O!Zy~̈́U# ÆDͫDAR>;|A͈H*MڴDK!BD7PVD_E7PV5FFFGʅFFF F F G LG kGʐGʲGʫGH4HfHvH IʪIHI KʙFʏFG7"i^y2k^>2^*R^V^ <"R^!"X^"Z^"\^"`^U"^^*T^#"T^"V^:b^ʣE>2^/2^:^2b^*i^:k^O͠RF!<"X^"i^y2U]A>,|A͠RE͈HF:U]F!2^2^>2^7>2^>2^:^½F*c^:e^GT>̈́UN=:n^KͽKN="v^*x^"x^ͽKaSͽKN͢HGA>,|AF==7ͽKN=zCG{CG%CG"^"^"^ 7N=>2^!BeG{2b^N="^2^zʉG:^<2^>2^>2^2^:^¥G7=2^N=͐G>2^2^ͽKN="\HN="\"^>2^N=!BG{2^>2^:^R:b^:^:^R>2^!3H͝; >2^aS܈HGH>2^͋=![@͕=RxUH s#UHN="x^K:^ʂH7>2o^͐H*r^|"r^܈H7?=:n^ʷHzͼ=þHz=_=HÜHN=:n^Hz=<==͈H͈HI ÈHA>,|A:^&I͑KAͲ5͑K/I>2.]>2^͝;Emsg> $ :^ŒI͕I͝KA+YS6:n\25\͝K/I:A\ʌI:n\G:5\ŒI/I>2/]:/]͝K6͝K:.]¶I7AͭARJIbk"0]x22]:^I͑K6JUIPVI7R7~J/J*0]:2]GT>̈́Uد̈́Uد̈́Uد̈́UJh[:4]G*0]:2]O͏AIJͮJJJIJJ:^RbJ͑K6~JzJͮJhJ͈HhJJ[6o[6gR++"7]J24]!h[OJw#ʬJ žJh[:4]GUJ>V! BRh[:4]GTJ26]̈́UJJ:6]ȯÄU͑K*7]+"7]#|[6R:^R:/]K7AͭA+K3Kbk"0]x22]UFK*X^#V#͝KPVcK7mK7yKyK{ͧ6zͧ6~ͧ6#zƒKÝK!`bæK!acA!@\\tAKÜH*x^:o^KKK2I]"J]x2G]"^2^:e^:^L*c^:e^GU6LPVfLsLʏLʗL͈H! BR*c^:e^GT:G]̈́U:J]̈́U:K]̈́U:I]ÄU:G]VßL>V:G]ʊL͈H͈H:G]»L*J]}V|V:I]V͈H*c^:e^GUPVLʗL%MʏLʏL͈H:G]M͈HW*J]BM͈H:I]V7AͭA8M7UCM7PVSM7PV_=PVʟMʷMMMM NN(N .N FN7YN=>HSNA|A=>C|A=>E|A=>L|A=>M|A=A-APSW=-ASP=>H|A=A>B|A=>D|A== 7NÜH2l^2m^v= ONÄ=l=̈́=_Q7:OA-AOR%O:OOA-ANOTtOAtOyO!?yOOA-A<=ڐOOf?><|AڟOOÀ?-A>=گOOm?>>|AھOOy?>=|AOOÌ?-A!=ROØ? POA>+|AO P͢>O>-|AR P͸>OzPA>*|A'PzP ?P>/|A:PzP?P-AMODOPzP>P-ASHLdPzP>P-ASHRRzP>PA>+|AzP>-|AڧP>-|AzPͧP!?=â>A>(|APR O$RA>)|A7>$|AP*x^ü=>%|AP*|^=-ALEN[2R-ANULL[iR-ACOUNT[қRͭAQ:^jQURQ! B5Q7T>̈́Uد̈́Uد̈́Uد̈́U_QPV‰Q>2m^ü=UtQPV‰Q͈H_QʫQʫQʫQʫQʫQ͈H_QWPVQѷ=ü=7͹SR=!BR!BQ=͈HQ=C=SX=zRT77?7:l^<2l^?:l^R=2l^7?v=aSaR=aRl==aRA>]|A\R#aR̈́=̈́=7͠RxvR=A>]|A>;|AҖRI͠RyzR#7#7ɯ2T]T]îR# yR~!ګR[R>2T]# R:T]=2T]R:T]<2T] #yS~'*S:T]SR~]ZS~[R]RR:T];SUS~[;S,;S];S;;SR# yPS~'R*S+BS+x^S~!@S^S77# v=͹SڎS{ʎS̈́==͢>=íSl=̈́=HڤSíS=7AIdS=A>'|AS7>'|ASyS^# =S==7>'|AT=S'=SSB%T7B%T#B%T+ ~*HCTqTBMTqTQWTqTDaT qTB qTi`"2\:2\/WBtV 7*X~7?*X^#V#~_>WBҤV 7*Xw7?*X"X7?V*X^#V+##*X+B"X*X##N#x23\VyV~# V:3\G7?PVWPVW_W7?724\"0\ͯV*X ͖WͺVpWPVyWG:4\[W:0\[W:1\6W*XͣW yWX6WW~W7"XWHXpW"Z!"ZͫW*Z#)*Z*-++Bs#r*Z#"Z*Z|7W!)*Z^#VW*Z|7)*Z^#V!)*Zs#r*Z+"Z*Z+X]T|g}o|͏XFXͼX+X!VX"Z)*ZB*ZBzX͏XzX*Z͏XҌXͼXVX)*Z"Z^#V)*Z"Z~#foN#G͏A*Zs#r*Zq#p MOV@ PUSH POP LXI LHLD* SHLD" LDA: STA2 JMP JNZ JZ JNC JC JPO JPE JP JM PCHL CALL CNZ CZ CNC CC CPO CPE CP CM RET RNZ RZ RNC RC RPO RPE RP RM INX DCX  DAD  XCHG ADD ADC SUB SBB ANA XRA ORA CMP DCR INR MVI ADI ACI SUI SBI ANI XRI ORI CPI LDAX STAX IN OUT DAA' CMA/ STC7 CMC? XTHL SPHL HLTv DI EI RLC RRC RAL RAR RST NOP EQU ORG IDNT PAGE TITLE END SETDSDB DW PRBASE LIST IF ENDIF ELSE ELSEIF REFS REF DEFS DEF MACLIST MACRO ENDM LOC RELOCdb#L DB #A dw#L DW #A rorg#L EQU #1 rpc SET #1 !rds#L EQU rpc rpc SET #1+rpc 5ralignrpc SET (rpc+#1) AND NOT (#1-1) #L EQU rpc -ALIGN ORG ($+#1) AND NOT (#1-1) #L EQU $ 6giveup IF USERS=2 #L CALL Giveup ELSE #L EI HLT ioret#L JMP 40H +rddef#L EQU rpc DEF #L rpc SET #1+rpc )vect#L EQU rpc DEF #L rpc SET rpc+3 dequ#L EQU #1 DEF #L Goverlay ORG OVRLY IDNT $,$ DB #1 IF NOT NULL[#2] JMP #2 ENDIF ioverto#L EQU $ IF NOT NULL[#2] MVI A,#2 ENDIF CALL Ovrto DB '#1' IF NOT NULL[#3] JC #3 ENDIF hgover#L EQU $ IF NOT NULL[#2] MVI A,#2 ENDIF CALL Gover DB '#1' IF NOT NULL[#3] JC #3 ENDIF fgfid IF USERS=2 #L CALL Gfid ELSEIF $>2800H #L CALL Ovrto DB 'Gfid' ELSE #L CALL OVGFID ENDIF USERS Version OVRLY OVENT SBUF1( CBUF, KBUF- CMND@- MEMTOP- KBIP- KBIG- KBEX- CMDF- CMDD- CMDP- CMDA- CMDN- DONT- SBRK- SYSRES- PVEC- UVEC- UBRK- SCHR- UCHR- ERROR- LERR- JOBST- NDRIVES- NFDIR- NFCK- MTO- MUNG1- MUNG2- MUNG3- MUNG4- EXECSP- USTATS- SINT- OVNM- OVHL- OVDE- OVBC- OVPSW- ONCE- LUSER- CMPTR- EFLG1- EFLG2- EIC EERR@ DBARF DEVMASK FILE- BUGS- NFA. DirAddr. PATH. DEFPATH'. OVMEMS. USER2 KBD SCREEN TIMER POS SRA1 SRA2 SRA3 SRA4 SRA5 WAKEUP SRA7 SCEND SCRHM WH0 WH1$ WH2( WH3, WH40 WH54 WH68 WH7< WH8@ WH9D MemAddI Pages1K CommandL VCBTABc DioAf DioHLg DioDrvi DioDnk DioBsyl BUSIESn DRVADTAB~ Ioretd DEOUT Deout STACK Warm Dio Dhalt  Msg  Err Ovrto Gover Rtn Killi Flush Look! Runr$ Rlwe' Fold* Flip- Rlgc0 Ckdr3 Iexec6 VERLOC9 PRbase2 Hole1 lpos1 cpos1 WHbase1 lpp1 cpl1 top1 bottom1 edge1 tabflg1 ffflg1 devtyp1 WHlen DDbase1 speed1 padchr1 crpad1 lfpad1 tabpad1 bspad1 blim1 stxflg1 stxchr1 etxchr1 ackchr1 DDlen KMAGIC REF Hole REF lpos REF cpos REF WHbase REF lpp REF cpl REF top REF bottom REF edge REF tabflg REF ffflg REF WHlen REF DDbase REF devtyp REF speed REF padchr REF crpad REF lfpad REF tabpad REF bspad REF blim REF stxflg REF stxchr REF etxchr REF ackchr REF DDlen REF WHtab REF DDtab REF PRbase WHtab@WHbase DS WHlen @lpp EQU lpp-WHbase+@WHbase @cpl EQU cpl-WHbase+@WHbase @top EQU top-WHbase+@WHbase @bottom EQU bottom-WHbase+@WHbase @edge EQU edge-WHbase+@WHbase @tabflg EQU tabflg-WHbase+@WHbase @ffflg EQU ffflg-WHbase+@WHbase @devtyp EQU devtyp-WHbase+@WHbase DDtab@DDbase DS DDlen @speed EQU speed-DDbase+@DDbase @padchr EQU padchr-DDbase+@DDbase @crpad EQU crpad-DDbase+@DDbase @lfpad EQU lfpad-DDbase+@DDbase @tabpad EQU tabpad-DDbase+@DDbase @bspad EQU bspad-DDbase+@DDbase @blim EQU blim-DDbase+@DDbase @stxflg EQU stxflg-DDbase+@DDbase @stxchr EQU stxchr-DDbase+@DDbase @etxchr EQU etxchr-DDbase+@DDbase @ackchr EQU ackchr-DDbase+@DDbase [2t2(Arise/2.2) undeleted.~ o>gD2|}xOGGEmsg> $ *3"-*3!9"3!2 *-"3!K2"-*-"3~0ڇ2–2#~+<ʔ2>–2+w->@Gfidګ2D2!22D2"-*.|(:-222-O>+2!-~#=N2 2"3*-~ 3#~0 3822x3>23!(~-3'323D2O*3\3#:-G3 \3# G3:3=23`3!3~w32(*.(:-O>+2*-w*3 !2 K216t3* 2!9U26# 52}?M26#A232^2Ɛ'@'w#* 209ʂ2> w# y2}o0w2.: g9w#>=¦2!M *G020 2 22))))o ø2x*2*2~226 G:2w:2¬3x*G=456.5 4T5ʀ5 B5ʯ5/ʹ5I3:5!ʠ3Z33'ʹ3!a3!Mû2y2222 2}*2w5:2'2!49: 2U2#:2U2: 2U2#zU2{U2<5:2/22_W{3x¼3222 *2w>222 2225*2^#V: 24.4*26,3>225* 2#: 2O>>2#?2#@2!=#G|Ax42=>22* 24!8 I4:2L4> $ : 2s4* 2|e4}x4x4=: 2O>222(!: 2O>2#)2#*2+#2!(: 2g=w,©432(2-: 22-O(!>2s4* 2: 24+4%:2L4" 2"2.: g"2: 25O* 2="2" 2>25" 2'2!49: 2U2#:2U2: 2U2:2k2͛22* 2: 2P5#4$4*2}2 252*2}4+"2*2}0055:-!" 2"2" 29"222222 2222 2.: g"2!.4"-!v6 >222 SuperZap version 3.0 02/24/81- Commands are: ^E - Exit . - Display ^C - Checksum next 4 sectors ! - Toggle error flag Z - Zero from cursor I - Display indirect :n - Use device n /n - Display frame n ' - Enter text LF - Display prev. frame CR - Display next frame - Move cursor right - move cursor left - Move cursor up - Move cursor down nn - Enter data at cursor and move right ESC - Toggle text display, terminate text entry nn = Hexadecimal number If you don't know what you're doing, don't do anything! Control Y - exiting without writing current display page! ; ; WORM: expanding worm game ; by Bob Bybee, 11/85 ; ; Idea stolen from Sun Microsystems UNIX program "worm" ; REFS SYSTEM REF SCRMEM EQU 1800H ;screen memory ; ; Macro to store entry (HL) into WTBL table at (DE)+ ; Store MACRO #L PUSH PSW MOV A,L STAX D INX D MOV A,H STAX D INX D POP PSW ENDM ; ; Macro to enter key into Ktab table: ; ; Kmac key, addr-offset, rep-count ; Kmac MACRO #L DB #1 DW #2 DB #3 ENDM ; ; constants for rep-count ; vert EQU 3 horz EQU 8 ORG USER IDNT $,$ MACLIST 0 JMP Start JMP Warm Start CALL Initscr ;set up screen CALL Irand ;seed rnd #s ; see if command line contained a "speed" value 1-9. LHLD CMPTR MOV A,M CPI '1' JC Iworm ; < 1, invalid CPI '9'+1 JNC Iworm ; > 9, invalid SUI '0' STA SPEED ;save as speed control ; install initial worm. Iworm LHLD WORM ;get addr of head LDA LENGTH MOV B,A DCR B ;B = L-1 MOV E,A MVI D,0 ;DE = length CALL SubDH INX H ;HL = WORM-L+1 LXI D,WTBL ;point to worm table Iworm1 MVI M,'o'+128 ;put body Store INX H DCR B JNZ Iworm1 MVI M,'@'+128 ;put head Store CALL Putval ;put initial $ ;------------------------------- ; Main loop. ;------------------------------- Main XRA A STA NEWKEY ;no key hit recently LXI H,REPCNT ;repeat in progress? ORA M JZ Main0 ;if not DCR M ;drop count CALL Delay ;wait just a bit JMP Proc ;and re-process earlier key Main0 LDA TIMER ;set timer for auto-move. MOV B,A LDA ALARM ADD B MOV B,A ;alarm time in B Main1 LDA TIMER CMP B JZ Proc ;time expired, do it CALL Keyin ;else see if key hit JZ Main1 ;no key, try again STA KEY ;save it & process it STA NEWKEY ;remember it's new. ; Process last key hit. Could be a repeat of earler key. ; If NEWKEY, this is a new keystroke, else is a repeat ; due to REPCNT, or a timer repeat. Proc LDA KEY MOV B,A CPI 27 ;is esc? JNZ Proc0 STA ESCFLG ;set ESC flag JMP Main Proc0 LXI H,Ktab ;look for key in Ktab Proc1 MOV A,M ORA A JZ Main ;not found - end of table. CMP B JZ Proc2 ;got it INX H INX H INX H INX H JMP Proc1 ;try next one ; move by the address offset. Proc2 INX H ;bump to addr offset MOV C,M INX H MOV B,M ;BC = address offset INX H LDA NEWKEY ORA A ;first use of this keystroke? JZ Proc20 ;no MOV A,M ;get rep count STA REPCNT ;if was arrow key && ESC prefix set, ;amplify the move. Proc20 LDA ESCFLG ;see if ESC prefix ORA A JZ Proc22 ;if not LDA KEY SUI 'Q'-'@' ;make into 0-3 if was arrow CPI 4 JNC Proc22 ;convert ^Q^R into vert, ^S^T into horz. CPI 2 MVI A,vert JC Proc21 ;if ^Q^R, vert MVI A,horz ;else must be horz Proc21 STA REPCNT Proc22 XRA A STA ESCFLG ;clear ESC flag now LHLD WORM ;get old address ; BC still = address offset for move. DAD B ;make new screen address MOV A,M ;see what's there. CPI 127 JZ Proc3 ;if blank, is OK to move there CPI '*'+128 JZ Die CPI 'o'+128 JZ Die ;must be a $ (value 1-8) there. SUI '0'+128 ;make it 1-8 STA XLEN ;save as extra length MVI M,127 ;blank it now PUSH H ;save new head addr LHLD SCORE MOV C,A MVI B,0 DAD B ;add into score SHLD SCORE PUSH H LXI H,Mscore CALL Msg POP H CALL Prt10 ;display score LHLD POS ;kill cursor MVI M,' '+128 XRA A STA REPCNT ;kill maxi-move CALL Putval ;put next $ ;speed up the game! LDA SPEED MOV B,A ;get speed control LDA ALARM CPI 10 ;speed up until 6/sec JZ Proc23 SUB B ;increase speed STA ALARM Proc23 POP H ;get screen addr again JMP Proc3 ;now move to the space Mscore DB 11,'Score: ',0 ; move to a blank space (HL). Proc3 PUSH H ;save addr LHLD WORM ;put 'o' at old head MVI M,'o'+128 POP H MVI M,'@'+128 ;put new head SHLD WORM ;save new head address LDA XLEN ORA A ;see if need to expand worm JNZ Proc31 ;yes ; blank old tail. LHLD MOD ;look up WTBL(MOD) DAD H ;x2 for WTBL LXI D,WTBL DAD D MOV E,M INX H MOV D,M XCHG MVI M,127 ;blank it ; enter new head into WTBL(MOD+LENGTH) Proc31 LHLD MOD LDA LENGTH MOV E,A MVI D,0 DAD D ;HL = MOD + LENGTH MOV A,H ANI 3 ;mod 1024 MOV H,A DAD H ;x2 for WTBL LXI D,WTBL DAD D ;HL->WTBL(MOD+LENGTH) XCHG LHLD WORM ;store new head addr here Store LDA XLEN ;see if expanding ORA A JZ Proc32 ;no, go dink the MOD DCR A STA XLEN ;xfer one count from XLEN to LENGTH LDA LENGTH INR A STA LENGTH JMP Main ; MOD = (MOD+1) mod 1024 Proc32 LHLD MOD INX H MOV A,H ANI 3 ;mod 1024 MOV H,A SHLD MOD JMP Main ; ; He hit '*' or 'o' (himself), so he dies. ; Die LXI H,SCRMEM+63 SHLD POS LXI H,Mdie1 CALL Msg LHLD SCORE CALL Prt10 MVI A,'.' CALL WH1 LHLD POS MVI M,127 ;kill cursor LXI H,SCRMEM+1023 SHLD POS ;move to lower left MVI A,'X'-'@' CALL WH1 ;clear bottom line CALL Flush RET ;to Exec. Mdie1 DB 'X'-'@','Sorry, you died! ' DB 'Your final score was ',0 ; ; Init screen, put border of *'s ; Initscr LXI H,Minit CALL Msg ;clear screen, sign on LHLD POS MVI M,' '+128 ;kill cursor LXI H,SCRMEM+64 ;top line MVI B,64 LXI D,1 CALL Star LXI H,SCRMEM+64*15 ;bottom line MVI B,64 LXI D,1 CALL Star LXI H,SCRMEM+64*2 ;left edge MVI B,13 LXI D,64 CALL Star LXI H,SCRMEM+64*2+63 ;right edge MVI B,13 LXI D,64 Star MVI M,'*'+128 DAD D DCR B JNZ Star RET ; ; Keyboard reader ; Keyin CALL Keystat ;see if any in buffer RZ ;ret/nope! CALL WH0 ;if so, get one ORA A ;return NZ RET ; ; Check keyboard buffer status. Destroys AF. ; Returns Z if no keys available. ; Keystat PUSH H DI LHLD KBIP LDA KBIG EI CMP L POP H RET ; ; Delay for 3 ticks. ; Delay LDA TIMER ADI 3 MOV B,A Delay1 LDA TIMER CMP B JNZ Delay1 RET ; ; Compare DE/HL for equal/not equal ; CmpDH PUSH B MOV B,A MOV A,H CMP D JNZ CmpDH9 MOV A,L CMP E CmpDH9 MOV A,B POP B RET ; ; Subtract DE from HL ; SubDH PUSH B MOV B,A MOV A,L SUB E MOV L,A MOV A,H SBB D MOV H,A MOV A,B POP B RET ; ; Prt10: print HL in decimal, no padding ; Prt10 PUSH PSW ;save all regs. PUSH B PUSH D PUSH H XRA A STA PrtdecD ;nothing got printed yet LXI D,-10000 CALL Prtdec1 LXI D,-1000 CALL Prtdec1 LXI D,-100 CALL Prtdec1 LXI D,-10 CALL Prtdec1 MOV A,L ;get last part ADI '0' CALL WH1 ;print it, always JMP Ioret ;and split Prtdec1 MVI B,-1 ;init digit Prtdec2 INR B DAD D JC Prtdec2 ;continue until goes minus CALL SubDH ;back off by one D value MOV A,B ORA A ;see if value is zero JNZ Prtdec3 ;jmp/no, go print it LDA PrtdecD ;see if we have printed anything ORA A RZ ;ret/nope, so don't print leading 0 MOV A,B ;else get digit again Prtdec3 ADI '0' STA PrtdecD ;remember that we printed one JMP WH1 ;print a digit PrtdecD DS 1 ;digit flag ; ; Place random value at random screen location ; Putval CALL Rand LDA RNUMH ;get top 2 bits of rnd # ADD A ;x2: 0000.0xx0 MOV B,A ;save in B LDA RNUM ;get next bit RLC ;put into ls bit ANI 1 ;peel it out: 0000.000x ADD B ;add other: 0000.0xxx ADI 1 ;make 1..8 STA VALUE Putval1 CALL Rndscr MOV A,M ;see if empty CPI 127 JNZ Putval1 ;repeat if not LDA VALUE ADI '0'+128 MOV M,A ;place value on screen RET ; ; Return pseudorandom screen location in HL ; Rndscr CALL Rand PUSH D LHLD RNUM LXI D,SCRMEM DAD D POP D RET ; ; Iterate the 10-bit random # generator ; Save all regs. ; Rand PUSH PSW PUSH B LDA RNUM ANI 9 ;XOR bits 7,10 from left JZ Rand0 CPI 9 JZ Rand0 MVI B,4 JMP Rand2 Rand0 MVI B,0 Rand2 LDA RNUMH ADD B ;add new bit on left RAR ;shift it MOV B,A ;save ms byte in B LDA RNUM RAR STA RNUM MOV A,B ANI 3 ;mask ms byte for 10 bit # STA RNUMH POP B POP PSW RET ; ; Init random # generator from real-time clock ; Irand LHLD TIMER MOV A,H ANI 3 MOV H,A MOV A,L ORI 1 ;ensure non-zero MOV L,A SHLD RNUM RET ; ; Storage & misc. data ; Minit DB 12 DB ' ' ;32 DB ' (Worm/1.0 - 11/22/85)' ;64 DB 11 DB 0 ; ; Table of key-directions as: ; Key.B ; address-offset.W ; rep-count.B ; Ktab Kmac 'Q'-'@',-64,0 ;arrows Kmac 'R'-'@',64,0 Kmac 'S'-'@',1,0 Kmac 'T'-'@',-1,0 Kmac 'k',-64,0 ;hjkl Kmac 'j',64,0 Kmac 'l',1,0 Kmac 'h',-1,0 Kmac 'K',-64,vert ;HJKL Kmac 'J',64,vert Kmac 'L',1,horz Kmac 'H',-1,horz Kmac 0,0,0 ;end of table RNUM DS 1 RNUMH DS 1 WORM DW SCRMEM+64*10+20 LENGTH DB 7 XLEN DB 0 MOD DW 0 SCORE DW 0 VALUE DS 1 KEY DB 0 ALARM DB 60 SPEED DB 1 ESCFLG DB 0 REPCNT DB 0 NEWKEY DB 0 WTBL DS 2048 END 234*-~12:2025*5:5G_J4#56}|#126}|͜425!5_2504{2: G:5G: {24h22525:5GŠ225M2!K5~M2ʝ2####Í2#N#F#:5ʭ2~25:52:52>2>2525*5 ~(3ʋ3ʋ3ְ256*5O "5!3 U4* 625͜4:5G:5 325(3 Score: *566"5:5I3*5)5^#V6*5:5_|g)5*5}|:5}3=25:5<25M2*5#|g"5M2!?" !3 *5U4>.$ * 6!" >$ Sorry, you died! Your final score was !5 * 6!@@4!@4! @4! @64$4 *-:-: G: 64G|G4}xG}o|gx24~4~4~4~4}0$ dڀ4J4x“4:4x024$ 4:5G:5254~°4:5ưw4*5:5 4 44:5G:525x25* |g}o"5 (Worm/1.0 - 11/22/85) @kj@lhKJ@LH<?DEL WORM Asmb WORM-SRC WORM