ÿ-` *** INITILIZE ROUTINES FOR MAID-III (I/O BOARD) ***q` *** INITILIZE PROGRAMMABLE PERIPHERAL INTERFACE (PPI) ***¨`dˆ CTRLWRD1$ ð ÿš(€) : HEX 80=PORTS(A,B,C=OUTPUT)Þ`nˆ CTRLWRD2$ ð ÿš(›) : HEX 9B=PORTS(A,B,C=INPUT)axˆ CTRLWRD3$ ð ÿš(¾) : HEX BE=PORTS(A,B=INPUT & C=INTR.)Ua}ˆ CTRLPRT0$ ð ÿš(#) : HEX 23=CNTRLPORT(PPI0,IC10)Ža‚ˆ CTRLPRT1$ ð ÿš(') : HEX 27=CNTRLPORT(PPI1,IC11)ÇaŒˆ CTRLPRT2$ ð ÿš(+) : HEX 2B=CNTRLPORT(PPI2,IC12)b–ˆ CTRLPRT6$ ð ÿš(G) : HEX 47=CNTRLPORT(PPI6,IC56)9b ˆ CTRLPRT7$ ð ÿš(K) : HEX 4B=CNTRLPORT(PPI7,IC57)rbªˆ CTRLPRT8$ ð ÿš(O) : HEX 4F=CNTRLPORT(PPI8,IC58)¤b´ˆ CTRLWRD1 ð € : HEX 80=PORTS(A,B,C=OUTPUT)Õb¾ˆ CTRLWRD2 ð › : HEX 9B=PORTS(A,B,C=INPUT)cȈ CTRLWRD3 ð ¾ : HEX BE=PORTS(A,B=INPUT & C=INTR.)Bc͈ CTRLPRT0 ð # : HEX 23=CNTRLPORT(PPI0,IC10)vcÒˆ CTRLPRT1 ð ' : HEX 27=CNTRLPORT(PPI1,IC11)©c܈ CTRLPRT2 ð + : HEX 2B=CNTRLPORT(PPI2,IC2)ÝcሠCTRLPRT5 ð C : HEX 43=CNTRLPORT(PPI5,IC55)dæˆ CTRLPRT6 ð G : HEX 47=CNTRLPORT(PPI6,IC56)Edðˆ CTRLPRT7 ð K : HEX 4B=CNTRLPORT(PPI7,IC57)ydúˆ CTRLPRT8 ð O : HEX 4F=CNTRLPORT(PPI8,IC58)©dþˆ PPI0A ð  : HEX 20=DATAPORTA(PPI0,IC10)Ùdÿˆ PPI0B ð ! : HEX 21=DATAPORTB(PPI0,IC10) eˆ PPI0C ð " : HEX 22=DATAPORTC(PPI0,IC10)9eˆ PPI1A ð $ : HEX 24=DATAPORTA(PPI1,IC11)ieˆ PPI1B ð % : HEX 25=DATAPORTB(PPI1,IC11)™eˆ PPI1C ð & : HEX 26=DATAPORTC(PPI1,IC11)Ée"ˆ PPI2A ð ( : HEX 28=DATAPORTA(PPI2,IC12)ùe,ˆ PPI2B ð ) : HEX 29=DATAPORTB(PPI2,IC12))f6ˆ PPI2C ð * : HEX 2A=DATAPORTC(PPI2,IC12)Yf9ˆ PPI5A ð @ : HEX 40=DATAPORTA(PPI5,IC55)‰f;ˆ PPI5B ð A : HEX 41=DATAPORTB(PPI5,IC55)¹f=ˆ PPI5C ð B : HEX 42=DATAPORTC(PPI5,IC55)éf@ˆ PPI6A ð D : HEX 44=DATAPORTA(PPI6,IC56)gJˆ PPI6B ð E : HEX 45=DATAPORTB(PPI6,IC56)IgTˆ PPI6C ð F : HEX 46=DATAPORTC(PPI6,IC56)yg^ˆ PPI7A ð H : HEX 48=DATAPORTA(PPI7,IC57)©ghˆ PPI7B ð I : HEX 49=DATAPORTB(PPI7,IC57)Ùgrˆ PPI7C ð J : HEX 4A=DATAPORTC(PPI7,IC57) h|ˆ PPI8A ð L : HEX 4C=DATAPORTA(PPI8,IC58)9h†ˆ PPI8B ð M : HEX 4D=DATAPORTB(PPI8,IC58)ihˆ PPI8C ð N : HEX 4E=DATAPORTC(PPI8,IC58)hšˆ EF ð € : INPUT TAG (MAID-III)µh¤ˆ IA ð  : INPUT TAG (MAID-III)Ûh®ˆ OA ð ‚ : INPUT TAG (MAID-III)i¸ˆ EI ð  : OUTPUT TAG (MAID-III)+iˆ ODR ð @ : OUTPUT TAG (MAID-III)Sï IDR ð  : OUTPUT TAG (MAID-III)ci¼ˆ DATA1 ð siƈ DATA2 ð ‹iè CTRLPRT1,CTRLWRD1£iò CTRLPRT2,CTRLWRD1»i÷ CTRLPRT5,CTRLWRD3Óiü CTRLPRT6,CTRLWRD2ëi CTRLPRT7,CTRLWRD2j CTRLPRT8,CTRLWRD3j CTRLPRT8,DATA1-j$ CTRLPRT8,DATA2Bj) CTRLPRT5,DATA1Wj+ CTRLPRT5,DATA2kj.ˆ X ð ÿ(PPI8A)j8ˆ X ð ÿ(PPI8B)“j:ˆ X ð ÿ(PPI5A)§j;ˆ X ð ÿ(PPI5B)Øj< *** INITILIZE WAIT-STATE GENERATOR ***k>ˆ MEMIO ð  : HEX 03=NO WAIT-STATES FOR MEMORY & I/O*kB CTRLPRT0,CTRLWRD1: ERR ANLYS + RECOVERYÇràWEF ð : RESET TIMERÍräŽìr *** IN ROUTINE (AFW) ***s  ),@: RAISE ODRs!S ð : STATE 2 = AFW(s# ¼4Hs* 4,: POLL ON NEXT READZs4ˆ IR ð ÿ(4)rs; E: COUNT POLLS†s>‹ IR ñ € Ï *°sH‹ IR ð € Ï R :¢ ˜ : LOOK FOR EFÁsRAFA ð ÿ(D)Òs\AFB ð ÿ(E)ãsfAFC ð ÿ(F)ôspAFD ð ÿ(H)tzAFE ð ÿ(I)t} ­6t~X ð ÿ(@)-tX ð ÿ(A)?t 4, : EOIVt„ ),: LOWER ODR`t‡  5vt‰ †B: COUNT AFWt‹WAF ð : RESET TIMER–tŽޱt˜ ¸B: CNT TOTAL ERRSút¢‘"I WAS EXPECTING AN ADDRESS FUNCTION INTERRUPT (EF - CONTROL TAG) "u§ €>: ERR ANLYS + REC0u©WAF ð : RESET TIMER6u¬Ž_u; *** MAID-III IN ROUTINE (DATA) ***wu@ ),@: RAISE ODR‘uAS ð : STATE 3 = IDW›uC ¼4»uJ 4,: POLL ON NEXT READËuTIR ð ÿ(4)ãuY jE: COUNT POLLS÷u^‹ IR ñ € Ï J!vh‹ IR ð ‚ Ï r :¢ º : LOOK FOR OA1vrDA ð ÿ(D)Av|DB ð ÿ(E)Qv†DC ð ÿ(F)avDD ð ÿ(H)qvšDE ð ÿ(I){v 13ŠvŸX ð ÿ(L)™v X ð ÿ(M)«v¡ 4, : EOIÂv¤ ),: LOWER ODRÌv§  5âv® šB: COUNT IDWüv³WID ð : RESET TIMERw¸Žwº ¸B: CNT TOTAL ERRShw‘"I WAS EXPECTING AN OUTPUT ACKNOWLEDGE INTERRUPT (OA - CONTROL TAG) "„wÇ €>: ERR ANLYS + RECžwÉWID ð : RESET TIMER¤wÌŽÎwÖ *** MAID-III OUT ROUTINE (DATA) ***îwà 4,: POLL ON NEXT READxäS ð : STATE 4 = ODWxêIR ð ÿ(4)Qxô‹ IR ñ € Ï þ :¢  : SHOULD NOT HAVE INTERRUPTS^xþ $,ODAkx %,ODBxx &,ODC…x (,ODDœx! ODEIDR ð ODE ø IDRÄx& ),ODEIDR: OUT ODE AND RAISE IDRÎx3 ¡8îx: 4,: POLL ON NEXT READþxD IR ð ÿ(4)yH ÄE: COUNT POLLS*yN ‹ IR ñ € Ï : TyX ‹ IR ð  Ï [ :¢   : LOOK FOR IA^y[ l9myb X ð ÿ(L)|yl X ð ÿ(M)Žyv 4, : EOI¥y€ ),: LOWER IDR¯yƒ Ð9Åy… B: COUNT ODWßy‡ WOD ð : RESET TIMERåyŠ Žz ¸B: CNT TOTAL ERRS+z” ‘"I RECEIVED AN UNEXPECTED INTERRUPT "oz™ ‘"I WAS ABOUT TO RAISE INPUT DATA REQUEST (IDR - CONTROL TAG) "“z› ‘"AND TRANSMIT A DATA WORD = ";zœ J3µz €>: ANLYS + REC»zž ŽÖz  ¸B: CNT TOTAL ERRS{£ ‘"I WAS EXPECTING AN INPUT ACKNOWLEDGE INTERRUPT (IA - CONTROL TAG)"7{¨ €>: ANLYS + RECQ{« WOD ð : RESET TIMERW{­ Žƒ{4! *** MAID-III OUT ROUTINE (STATUS) ***£{>! 4,: POLL ON NEXT READÀ{A!S ð : STATE 5 = STATUSÐ{H!IR ð ÿ(4) |R!‹ IR ñ € Ï \! :¢  " : SHOULD NOT HAVE INTERRUPTS|\! $,SA!|f! %,SB-|p! &,SC9|z! (,SDE|„! ),SE\|Ž! ),: RAISE EIf|˜! ’3†|¢! 4,: POLL ON NEXT READ–|¬!IR ð ÿ(4)®|±! F: COUNT POLLSÂ|¶!‹ IR ñ € Ï ¢!ì|À!‹ IR ð  Ï Ê! :¢   : LOOK FOR IAö|Ê! l9}Ô!X ð ÿ(L)}Þ!X ð ÿ(M)&}è! 4, : EOI<}ò! ),: LOWER EI„}÷! OUT 41,64 - RAISE ODR, DONT MISS EF IF MAID-II IS IN RECYCLE MODE}ù! ),@š}ü! Ì3¹}" ¤B: COUNT STATUS WORDSÓ}"WST ð : RESET TIMERÙ}"Žô} " ¸B: CNT TOTAL ERRS~"‘"I RECEIVED AN UNEXPECTED INTERRUPT "b~"‘"I WAS ABOUT TO RAISE EXTERNAL INTERRUPT (EI - CONTROL TAG) "ˆ~$"‘"AND TRANSMIT A STATUS WORD = ";’~." ˜:ª~3" €>: ANLYS + RECÄ~5"WST ð : RESET TIMERÊ~8"Žë~Ã2 *** PRINT ROUTINE (EF) *** Å2‹ PTG$ ð "Y" Ï È2 :¢ Ï2NÈ2‘"I RECEIVED AN EXTERNAL FUNCTION INTERRUPT (EF - CONTROL TAG) "jÊ2‹ PEF$ ð "Y" Ï Í2 :¢ Ž‚Í2‘ "ALONG WITH AN ";ŒÎ2‰ Ò2¨Ï2‹ PEF$ ð "Y" Ï Ð2 :¢ Ž¿Ð2‘"I RECEIVED AN ";çÒ2‘"EXTERNAL FUNCTION WORD (EFW) = ";€Ü2‹ B$ ð "H" Ï æ2 :¢ ú28€æ2‘ ÿš(EFE);ÿš(EFD);ÿš(EFC);ÿš(EFB);ÿš(EFA);" HEX">€ð2ŽD€ú2s€,3 *** PRINT ROUTINE (MAID-III IN DATA) ***‘€13‹ PTG$ ð "Y" Ï 63 :¢ >3×€63‘"I RECEIVED AN OUTPUT ACKNOWLEDGE INTERRUPT (OA - CONTROL TAG) "ó€83‹ POD$ ð "Y" Ï ;3 :¢ Ž ;3‘"ALONG WITH AN ";=3‰ @30>3‹ POD$ ð "Y" Ï ?3 :¢ ŽG?3‘"I RECEIVED AN ";i@3‘"OUTPUT DATA WORD (ODW) = ";…J3‹ B$ ð "H" Ï T3 :¢ h3µT3‘ ÿš(DE);ÿš(DD);ÿš(DC);ÿš(DB);ÿš(DA);" HEX"»^3ŽÁh3å3 *** PRINT ROUTINE (CE,DE) ***‚’3‹ PST$ ð "Y" Ï •3 :¢ ¡3Q‚•3‘"I SENT OUT CHANNEL END & DEVICE END STATUS (CE,DE - BITS 10,11,27,28) "h‚—3‘"STATUS WORD = ";r‚›3 ˜:Ž‚œ3‹ PTG$ ð "Y" Ï ž3 :¢ Ž¥‚ž3‘"ALONG WITH AN ";¯‚Ÿ3‰ ¤3Ë‚¡3‹ PTG$ ð "Y" Ï ¢3 :¢ ŽÝ‚¢3‘"I RAISED "; ƒ¤3‘"EXTERNAL INTERRUPT (EI - CONTROL TAG) "ƒ®3Ž8ƒÂ3 *** PRINT ROUTINE (LOWER EI) ***TƒÌ3‹ PTG$ ð "Y" Ï Ö3 :¢ ŽŒƒÖ3‘"I LOWERED EXTERNAL INTERRUPT (EI - CONTROL TAG) "’ƒà3Žºƒ·4 *** PRINT ROUTINE (RAISE ODR) ***Öƒ¼4‹ PTG$ ð "Y" Ï Á4 :¢ Ž„Á4‘"I RAISED OUTPUT DATA REQUEST (ODR - CONTROL TAG) "„Æ4Ž9„5 *** PRINT ROUTINE (LOWER ODR)U„ 5‹ PTG$ ð "Y" Ï *5 :¢ Ž„*5‘"I LOWERED OUTPUT DATA REQUEST (ODR - CONTROL TAG) "•„>5Ž·„«6 *** PRINT ROUTINE (AFW) ***Õ„­6‹ PTG$ ð "Y" Ï °6 :¢ ¶6…°6‘"I RECEIVED AN ADDRESS FUNCTION INTERRUPT (EF - CONTROL TAG) "5…²6‹ PAF$ ð "Y" Ï ´6 :¢ ŽL…´6‘"ALONG WITH AN ";V…µ6‰ º6r…¶6‹ PAF$ ð "Y" Ï ·6 :¢ މ…·6‘"I RECEIVED AN ";°…º6‘"ADDRESS FUNCTION WORD (AFW) = ";Ì…Ä6‹ B$ ð "H" Ï Î6 :¢ Ø6†Î6‘ ÿš(AFE);ÿš(AFD);ÿš(AFC);ÿš(AFB);ÿš(AFA);" HEX"†Ø6Ž †â6=†Ÿ8 *** PRINT ROUTINE (MAID-III OUT DATA) ***[†¡8‹ PID$ ð "Y" Ï ¤8 :¢ Ç8y†¤8‘"I SENT A DATA WORD = ";•†®8‹ B$ ð "H" Ï ¸8 :¢ à8ʆ¸8‘ ÿš(ODE);ÿš(ODD);ÿš(ODC);ÿš(ODB);ÿš(ODA);" HEX"憽8‹ PTG$ ð "Y" Ï Â8 :¢ Žý†Â8‘"ALONG WITH AN ";‡Ä8‰ Ì8#‡Ç8‹ PTG$ ð "Y" Ï É8 :¢ Ž5‡É8‘"I RAISED ";d‡Ì8‘"INPUT DATA REQUEST (IDR - CONTROL TAG) "j‡Ö8Žp‡à8™‡g9 *** PRINT ROUTINE (RECEIVE IA) ***µ‡l9‹ PTG$ ð "Y" Ï v9 :¢ Žú‡v9‘"I RECEIVED AN INPUT ACKNOWLEDGE INTERRUPT (IA - CONTROL TAG) "ˆ€9Ž(ˆË9 *** PRINT ROUTINE (LOWER IDR) ***DˆÐ9‹ PTG$ ð "Y" Ï Ú9 :¢ Ž}ˆÚ9‘"I LOWERED INPUT DATA REQUEST (IDR - CONTROL TAG) "ƒˆä9޵ˆ*: *** PRINT ROUTINE (MAID-III OUT STATUS) ***Óˆ/:‹ PST$ ð "Y" Ï 4: :¢ p:÷ˆ4:‘"I SENT OUT A STATUS WORD = ";‰>:‹ B$ ð "H" Ï H: :¢ \:C‰H:‘ ÿš(SE);ÿš(SD);ÿš(SC);ÿš(SB);ÿš(SA);" HEX"_‰R:‹ PTG$ ð "Y" Ï \: :¢ Žv‰\:‘"ALONG WITH AN ";€‰f:‰ „:œ‰p:‹ PTG$ ð "Y" Ï z: :¢ Ž®‰z:‘"I RAISED ";܉„:‘"EXTERNAL INTERRUPT (EI - CONTROL TAG) "≎:ŽŠ—: *** PRINT STATUS WORD ***Š˜:‹ B$ ð "H" Ï ¢: :¢ ¶:NŠ¢:‘ ÿš(SE);ÿš(SD);ÿš(SC);ÿš(SB);ÿš(SA);" HEX"TЬ:ŽZж:ŠÊ: *** PRINT ROUTINE (COUNTS) ***ŠÏ:‘" ":‘" "ÁŠÞ:‘"TOTAL EXTERNAL FUNCTION WORDS = ";CEF;" DEC "ôŠè:‘"TOTAL ADDRESS FUNCTION WORDS = ";CAF;" DEC "-‹ò:‘"TOTAL OUTPUT DATA WORDS (MAID-III) = ";COD;" DEC "e‹ü:‘"TOTAL INPUT DATA WORDS (MAID-III) = ";CID;" DEC "Ž‹;‘"TOTAL STATUS WORDS = ";CST;" DEC "±‹;‘"TOTAL PACKETS = ";CP;" DEC "Õ‹;‘"TOTAL ERRORS = ";CERR;" DEC "Œ$;‘"TOTAL RECOVERY RETRIES = ";CRET;" DEC " Œ-;Ž6Œ7; *** PRINT ROUTINES (ERROR SECTION) ***„Œ`;‘"INSTEAD, I RECEIVED AN EXTERNAL FUNCTION INTERRUPT (EF - CONTROL TAG) "ŠŒj;ŽØŒt;‘"INSTEAD, I RECEIVED AN INPUT ACKNOWLEDGE INTERRUPT (IA - CONTROL TAG) "ÞŒ~;Ž-ˆ;‘"INSTEAD, I RECEIVED AN OUTPUT ACKNOWLEDGE INTERRUPT (OA - CONTROL TAG) "3’;Žpœ;‘"INSTEAD, I RECEIVED AN INTERRUPT THAT IS NOT IN USE. "š°;‘"POLL VALUE OF IR = ";IR;" DECIMAL " Ä;ŽÈö;‘" ":‘" * * * TIME-OUT * * * ":‘" "Î<ŽŽ <‘"I SHOULD HAVE RECEIVED AN EXTERNAL FUNCTION INTERRUPT (EF - CONTROL TAG) "CŽ<‘"AFTER WAITING ";WEF;" TIMES "IŽ<Ž™Ž(<‘"I SHOULD HAVE RECEIVED AN ADDRESS FUNCTION INTERRUPT (EF - CONTROL TAG) "¼Ž2<‘"AFTER WAITING ";WAF;"TIMES "ÂŽ<<ŽF<‘"I SHOULD HAVE RECEIVED AN OUTPUT ACKNOWLEDGE INTERRUPT (OA - CONTROL TAG) "8P<‘"AFTER WAITING ";WID;" TIMES ">Z<Žd<‘"I SHOULD HAVE RECEIVED AN INPUT ACKNOWLEDGE INTERRUPT (IA - CONTROL TAG) "³n<‘"AFTER WAITING ";WOD;" TIMES "¹x<Ž ‚<‘"I SHOULD HAVE RECEIVED AN INPUT ACKNOWLEDGE INTERRUPT (IA - CONTROL TAG) ".Œ<‘"AFTER WAITING ";WST;" TIMES "4–<Žj¾<‘" ":‘NAM$;" - PUSH THE START BUTTON ON MAID-II "pÈ<ަÒ<‘" ":‘"RECOVERY SOFTWARE IS NOT YET IMPLEMENTED "¬Ü<ŽÙð<‘"FURTHER RECOVERY IS NOT YET POSSIBLE "ßú<Ž‘€> *** RUN-TIME ANALYSIS AND RECOVERY ROUTINES ***@‘ø>‹ IR ð € Ï `; :¢ ?: IS IT AN EF[‘ý> ˆ@: GOSUB RECOVERY~‘?Ž: WILL GOTO RECOVERY ROUTINE©‘?‹ IR ð  Ï t; :¢  ?: IS IT AN IAÄ‘? ˆ@: GOSUB RECOVERYç‘ ?Ž: WILL GOTO RECOVERY ROUTINE’ ?‹ IR ð ‚ Ï ˆ; :¢ ?: IS IT AN OA-’? ˆ@: GOSUB RECOVERYP’?Ž: WILL GOTO RECOVERY ROUTINEt’? œ;: INTERRUPT IS NOT IN USE’? ˆ@: GOSUB RECOVERY²’ ?Ž: WILL GOTO RECOVERY ROUTINEÉ’o@ *** RECOVERY ***ï’t@‹ CEF ð  ÷ CERR ñ  Ï u@ :¢ ƒ@“u@CRET ð CRET ò “v@TEF ð è: WAIT LONGER)“w@ ¾</“~@ŽK“ƒ@‹ CRET ð  Ï ˆ@ :¢ °@|“ˆ@ Ò<: DISPLAY-RECOVERY NOT YET IMPLEMENTEDš“’@ Ê:: DISPLAY XFER CNTS²“œ@ : NO PLACE TO GO¸“¦@Žò“°@ ð<: DISPLAY-FURTHER RECOVERY NOT YET IMPLEMENETED”º@ Ê:: DISPLAY XFER CNTS(”Ä@ : NO PLACE TO GO.”Î@Žx”hB *** COUNTING ROUTINES (EFW,AFW,ODW,IDW,STATW,PAC,ERRS,RET) SOFT ***˜”|BCEF ð CEF ò :Ž: COUNT EFW¸”†BCAF ð CAF ò :Ž: COUNT AFWã”BCOD ð COD ò :Ž: COUNT ODW (MAID-III)•šBCID ð CID ò :Ž: COUNT IDW (MAID-III)7•¤BCST ð CST ò :Ž: COUNT STATUS WORDS[•®BCP ð CP ò :Ž: COUNT PACKETS†•¸BCERR ð CERR ò :Ž: COUNT TOTAL ERRORSµ•ÂBCRET ð CRET ò :Ž: COUNT RECOVERY RETRIESÕ•\D *** TIME-OUT ROUTINES ***ð•»D *** TIME-OUT EFW *** –ÊD‹ WEF ï LEF Ï LEF ð WEF)–ÔD‹ WEF ñ TEF Ï ÞD :¢ èD;–ÞDWEF ð WEF ò A–ãDŽ^–èD ¸B: INC. TOTAL ERRS.€–òD ö;: DISPLAY TIME-OUT MSG.ž–üD  <: DISPLAY ERR. MSG.¾–E t@: GOSUB ERR. RECOVERYÄ–EŽß–E *** TIME-OUT AFW ***û–$E‹ WAF ï LAF Ï LAF ð WAF—.E‹ WAF ñ TAF Ï 8E :¢ BE*—8EWAF ð WAF ò 0—=EŽM—BE ¸B: INC. TOTAL ERRS.o—LE ö;: DISPLAY TIME-OUT MSG.—VE (<: DISPLAY ERR. MSG.­—[E ˆ@: GOSUB ERR. RECOVERY³—`EŽÙ—jE *** TIME-OUT IDW (MAID-III) ***õ—~E‹ WID ï LID Ï LID ð WID˜ˆE‹ WID ñ TID Ï ’E :¢ œE$˜’EWID ð WID ò *˜—EŽG˜œE ¸B: INC. TOTAL ERRS.i˜¦E ö;: DISPLAY TIME-OUT MSG.‡˜°E F<: DISPLAY ERR. MSG.§˜µE ˆ@: GOSUB ERR. RECOVERY­˜ºEŽÓ˜ÄE *** TIME-OUT ODW (MAID-III) ***ï˜ØE‹ WOD ï LOD Ï LOD ð WOD ™âE‹ WOD ñ TOD Ï ìE :¢ öE™ìEWOD ð WOD ò $™ñEŽA™öE ¸B: INC. TOTAL ERRS.c™F ö;: DISPLAY TIME-OUT MSG.™ F d<: DISPLAY ERR. MSG.¡™F ˆ@: GOSUB ERR. RECOVERY§™FŽÅ™F *** TIME-OUT STATUS ***á™2F‹ WST ï LST Ï LST ð WSTþ™!žŒP PB ð Ëž Pƒ PAÖž´PPA ð àžÈP‰ àQŸÜP *** OUTPUT PACKET (MAID-III) ***ŸQ‚ PA ð  Î RP8Ÿ Q ®B: UPDATE PACKET CNT.VŸQ‘" ":‘"PACKET # ";PA:‘" "bŸ,Q XnŸ@Q  „ŸTQ ‚ PB ð  Î WC”ŸhQ ࡟|Q ƒ PB­ŸQ >!ºŸ¤Q PB ð ߸Qƒ PAΟÌQPA ð ìŸàQ Ê:: DISPLAY XFER CNTS' ãQWEF ð :WAF ð :WOD ð :WID ð :WST ð : RESET TIMERSp åQTEF ð ô:TAF ð :TID ð :TOD ð :TST ð : SET TIME LIMIT FOR WAITSàæQCEF ð :CAF ð :COD ð :CID ð :CST ð :CP ð :CERR ð :CRET ð : RESET CNTS.Ì ôQ‘" "Õ R‘" "ó R‘"TEST PACKET COMPLETED "3¡0R…"TYPE R OR N (R = REPEAT SAME PACKET,N = NEW PACKET) ";ZZ$I¡DR‹ ZZ$ ð "R" Ï $OS¡XR‰  Np¡lR *** INITILIZE USER ***|¡€R‘ÿ–( )…¡”R‘" "¨¡¨R…"HI, WHAT IS YOUR NAME ";NAM$µ¡¼R‘ ÿ–( )î¡ÐR‘" MAID-II TEST PROGRAM "¢äR‘" ":‘" ":‘" ":¢øR‘ NAM$;",":‘" ":‘" TYPE CTRL - H :TO BACK SPACE. "k¢ S‘" TYPE CTRL - S :TO STOP SCROLL (XOFF). "œ¢ S‘" TYPE CTRL - Q :TO START SCROLL (XON). "Ý¢4S‘" TYPE CTRL - C :TO START PROGRAM OVER, THEN ENTER RUN. "£HS…" TYPE RETURN TO CONTINUE ";XX$£\S‘ ÿ–( )"£pSIP$ ð "DONE"(£„SŽ\£èS *** GET USER SPEC. OUTPUT DATA WORD (DEC) ***„£òS‘"ENTER THE OUTPUT DATA WORD ":‘" "¬£üS…"INPUT BITS 0 - 7 IN DECIMAL ";ODAÕ£T…"INPUT BITS 8 - 15 IN DECIMAL ";ODBÿ£T…"INPUT BITS 16 - 23 IN DECIMAL ";ODC)¤T…"INPUT BITS 24 - 31 IN DECIMAL ";ODDS¤$T…"INPUT BITS 32 - 35 IN DECIMAL ";ODEY¤.TŽ_¤8TTS 16 - 2