IMD 1.16: 2/09/2008 13:20:32 84-93719-01 a100 f71901 scout pic test program files  ž ªªž @0‚|†ø)®wÂwЀЀÎtQº®q¦l) ˆ " ž}‚gÿA ¢`œžúž½žä×_l M@’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’IOS4 €MÁÚF181121608371300811216083713 811216083713>F71901 VOLPARALLEL INTERFACE CONTROLLER TEST PROGRAM FILES   ’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’Ižúž½žä×_l M@†i¾øG€ÿìÆy†y ¾õG€ÿæG‚ÿñ‚ÿðGÿÜ`HÂZ@ †b G€ÿÚ`ú^žƒ¾ÿž©ÒY¾ü žáe‡ †IÂQ¾¤¾æ ¾ïÀˆÆBÆBp@€„†;€…†:€††9€ƒ †:Â7P@ G€ÿµÆ:à‰æÙ¾‹N¾Ò ¾ìžùž8‚!¢0ŸÐÆ.ž¶ *•¦ÿ C¦'¾¿Ÿx¢«„C# b# ž}€BŸÒª @0DAJ÷LÆ ¢w+™ЀЀΖQA1¹" ¦ † †¦†¤¾¥i€„Žœ žŸ} šŸ}ˆªªžö @¬E°E¨F¤F)¤D¾‘ÄE‚Û„Fž8 æÑŸ} ¦ÔŸ} ÆÌŸ} ž* `jUBˆB¾Œ I,Ÿv ¾‡°¾…€B¾ƒ I,žº ž# @ G€ÿ9Æáæ¬HÿÆàÆà@pÆÜ¾³ŸrâèCHùC €ˆC ˜GãTºà€q` †Lg€ÿ"žgÿò‘æEX¾C P¢Žâ‰+ì„s=è„胾Pž¿ÞžÂ+âc fžQ¾žN ‚¦p ž‹¾$R†¡ŸxÆn†j‚Ê ž¢žû Þž‚ÞÞ”žniæâZ悌¾ ތ⊞ì ¦Ÿ} ¦Ÿ}ÿÿŠHŠG¾Âž†§¾¬žÄ¾ë ¦¡ÂŸ@AúœLèSÃ)"$ C ž‰žkžëª2žâŠ0žjŠ.žžh†( ’ªÂ+¢$`îƒæ%ꂜ€\ÿö1 !¦Mž' ²y‚ žˆò%€À'+ò²oŸsæ…¾âƒ)žsžY ‡eÞdŸ|Ÿ{ @ž8 ož½ Ož¶ mž´ Jž² Kž° iž¿ gž½†N ž)V% tž¹ž%ì„sLè„n`" E¾  F.¹¾  F„ Dž>)žÿ ¾=`¾;nrgŸy ¾w"¾GÞ,ž{žK¾q1 ¾AÞ&ž}žE¾*`¾(t¾ž@¾% ²;¾c ¾ Þ7Þ6Þ5žy¦3ž4¾ž2¾ü¾(ž.OS:: SYSž¦ž"ªªiüþŒþ‹Âwþ‹þŠÂvc Bc A@6<# þIc B# ÞgIþjHÀc r‡ŸJEXCINIT:HFT:EXC O0SEGMENTBLANK ROM OTESTENTRJUMPTABLMESSAGE o«VKSYSERR LSINGLE SINGLE KLXTEND  XTEND LALRMBELKALRMBEL LERRLOOPERRLOOP KLERRHLT ERRHLT LAIDS KAIDS LSIGNOFFSIGNOFF KLDSHPRMTDSHPRMT LCNTPRMTKCNTPRMT LBRDPRMTBRDPRMT KENDTABL ENDMSG RTCSERV KYES:NO FLUSH O:IO KO:MSG im MACRO (F100) iigÿ‚`Pž}dÿÿiig @0‚¥p‚¤` P ) Hð„€ 4ÀT½ „C„0„1H€Ç––ǖƒ–Ž– „FP P`¤@ ‚„B€†„A‚‚°@ž‰COÿ@’t“tdÿÿ ÿ ¤‚ Ž  ž„ÿžÀCQEŸ˜¢™ €‚„Džy „CŒÜ¼„ P P `¤@ ‚‹„BƒŠ„A‚X°@žˆtˆtdÿÿÔt t  ÿwP P`¤@ °@žÿ“ ÁŸ’ žV ŸhP P`¤@ ‚ˆ„Bƒ‡„A‚2°@ž…tatt ÿT)IP P`¤@ ‚‚°@ ž‚CIÿ£ ž‚Iž¤y /Ÿf   žŸ ÐÍ ž‚ž‰@ @X  '€ž] P P`¤@ ‚^„A °@žƒt ÿ’ž7LI@ŒP P`¤@ ‚ˆ„Bƒ‡„A‚‚°@ž…COtt t  ÿP P`¤@ °@žÿ$ ÁŸ# ž_ @¬P P`¤@ ‚†„Bƒ…„A‚_°@žƒtt ÿˆP P`¤@ °@ž‚t ÿÁžê ž` @œP P` ¤@ ‚†„Bƒ…„A‚=°@žƒtt ÿfP P`¤@ °@žÿ“ žÉ ža @ÌP P`¤@ ‚‡„Bƒ†„A‚°@ž…ttt ÿCP P`¤@ °@ž ÿpg ž` @ÜP P`¤@ ‚‡„Bƒ†„A‚‚°@ž„COtt ÿ"P P`¤@ °@žÿO F ža @¼Ä ž§P P`¤@ ‚‚°@žƒCIÿy@ ž P  P`¤@ ‚q„A °@žƒt ÿ•LQŸ”LSIÄCŸ D1Á ŸŽP P`¤@ „A‚7°@ž…t>6 ÿa _Ç‘HüÓU… WT 6<‡P P`¤@ °@ž‚‘ ü€À @¿6AžQP P`¤@ ‚†„Bƒ…„A‚ °@žƒtt  ÿŠ? HþE¾T½ Ÿ‚½tiiÔ C @¢0( 0( o) Rp& ÿ”P „E„DP P`¤@  ‚‰„Bƒˆ„A‚‚°@ž†CO1Pttt ÿX«IÄAÄBP P`¤@  ‚‚°@ž‚CIÿ¤ žƒIÄAž¥y -žÆ ž  0žƒ 9žž‰  I G*Ð@"ÄAž[P P`¤@ ‚]„A °@ž„t ÿž2HÿÄBž×P P`¤@ ‚I„A °@žƒtŽ ÿ|P P`¤@ ‚†„Bƒ…„A‚"°@žƒtt ÿŒÐIÄBP P`¤@ ‚&°@ž‚t ÿH ž’IÄBž£P P`¤@ ‚„A °@ž‚ÿIž=y - ž[ ž 0žƒ 9žžf I  G*Ð@"ÄBžLI¢™C €€PŒA Ì „EC € ÿž‚ŒBÄC €‚„D ž†Kžm€EAž Ÿƒc # dÿÿæii SCOUT NM4/04 HARDWARE FUNCTIONAL TEST SYSTEM  (A300) **************** ************************ ********************  CONFIGURATION APPLICABLE FOR THE FOLLOWING BOARDS: iI’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’IJEXT:ITF:INT:TST:ISO:INT:JW1U:INT:W1L:INT:WZU:INT:JWZL:INT:EXT:ITT:MOD:ISO:JEXT:ITF INT:TST MOD:ISO JHFT:PIC:HFT:PIC O0SEGMENTBLANK ROM OMESSAGE JUMPTABLBRDENTR OTESTENTRo%$KLVERIFY VERIFY PRTHEX KLTECHTSTTECHTST LTSTRT2 KTSTRT2 LTSTRT TSTRT KBLINKER RTCSERV SYSERR KFLUSH O:IO O:MSG im MACRO (F100) ii #54120 - PAREL LEL INTERFACE CONTROLLER (<(C0) REV LEVELS TESTED>)iÿÿd@ÿÿiig Ÿ€dPÿÿii PIC MANUFACTURING DIAGO NOSTIC TEST (A0)-FOLLOW  TEST SPECIFICATION #58-54120-00 P+ WRONG DEVICE ADDRESS ON SAL ÿ€g  C @¢ª0( 0( o) Rp& ÿ¡P ž…„ þm`Pž}IÄAÂg ǖ–ǖÀ @¿6Až·P P`¤@ ‚Œ„B‚@„A‚‚°@ž‰CO1Pt ’t “ ÿP P`¤@ ‚‡„Bƒ†„A‚k°@ž„ttt ÿ{P P`¤@ ‚„„A °@ ž‚CIÿŸ A1C€ ý„ +€  #AŸ•¤A€ ü„ € 6òP  P`¤@ ‚ˆ„Bƒ‡„A‚9°@ž…t 3tt ÿHP P`¤@ €„A‚(°@ žÿP P`¤@ ‚‡„Bƒ†„A‚°@ž„ttt ÿ)*ÿ. €"„C)¤BIÈAC  f ––¸Cž…€BAžwf/ž•€BA žr‚‹„2P P`¤@ °@ž„ÿü) ÿ‹¡«P P`¤@ €ƒ°@ž‚ù ÿ‰P P`¤@ €ƒ°@ž‚ ÿ‰P P`¤@ €ƒ°@ž‚} ÿˆP P`¤@ °@ž‚Šÿ…Ÿ…c P`à@# t –igÿ‚`Pž}dÿÿii9 ***MODIFIED ISOLITE SUBROUTINE**"ÿ€–ª¾Òæú :<>@BDFHJLNPRTVX"6J^r†š ®:<>@BDFHJLNPRTVXÂÖêþ& INTERRUPT OCCURED WH EN DISABLED NO I NTERRUPT AFTER BIE/IIT S ET I/O DID NOT  CLEAR INTERRUPT REQUEST  NEITHER AB12/AB13 EN ABLED INTERRUPT NEIT HER AB12/AB13 DISABLE IN TERRUPT NEITHER AB12 /AB13 ENABLED INTERRUPTS  THE INTERNAL READBAC K ERROR BITS STAT US REG NOT SET CORRECTLY TO :1F INCORRECT WO RD ZERO INTERRUPT    WRONG INTERRUPTS SET IN STATUS REG STAT US REG NOT SET CORRECTLT TO :1F INCORRECT WO RD ONE INTERRUPT  WRONG INTERRUPTS SET IN STATUS REG STAT US REG NOT SET CORRECTLY TO :1F THE EXTERNAL READBACK ERROR BITS  EXTERNAL STATUS REGI STER ERROR EXTE RNAL STATUS TWO READBACK ERROR STATUS REG N OT SET CORRECTLY TO :1F  INCORRECT EXTERNAL I NTERRUPT WRON G INTERRUPTS SET IN STAT US REG STATUS REG N OT SET CORRECTLY TO :0F  00 01 02 03 04 05  06 07 08 09 10 11  12 13 14 15  2¨€¤2#  „C€AN)\ " B)S "  ! E1M¤BP P`¤@ €‚ °@žÿ¢§ ¸Cž„žž‚ÜCž^ „C€AN)S " B)\ "  ! E1N¤BP P`¤@ €‚°@ž‚ù ÿ}¦ ¸Cž„žž‚ÜCž]# igÿ‚`Pž}d¨ÿÿii¨ C @¢0( 0( o) Rp&ÿ‡P Oc # 1Pt igÿ‚`Pž}d½ÿÿii½ C @¢{0( 0( o) Rp&ÿrP Oc # i gÿ‚`Pž}dÐÿÿiiÐ C @¢h0( 0( o) Rp&ÿ_P Oc ,# igÿ‚`Pž}dãÿÿiiã C @¢U0( 0( o) Rp&ÿLP Oc <# igÿ‚`Pž}döÿÿiiö C @¢B0( 0( o) Rp&ÿ9P Oc L# igÿ‚`Pž}d ÿÿii  C @¢/0( 0( o) Rp&ÿ&P Oc \# g  C @¢0( 0( o) Rp& ÿP „A€ 6ÒP P`¤@ ‚†„Bƒ…„A‚„°@ž„9J COÿµ) €A ") "‚®„2 ) ëĀ ž‚+ž{¦Ä崀 ¤Ä£Ä¢Ä¡Ä _Ç”Hý Ó’U… WT6<‡_6ÖP P`¤@ °@ž‹‘tLK¨½Ðãö  ÿžœÿIp€A B _ÇkHý ÓiU… WT6<‡_6ÁžP P`¤@ °@ž„ùZ ÿ{žÿz€AIP B A  _ÇFHýÓDU… WT6<‡_ 6ÌP P`¤@ °@žÿZ  ÿY€AIp B !Õ _ Ç#HýÓ!U… WT6<‡„D€A  !×Å _ÇHýÓU… WT6<‡¸Dž  žÿ,P P`¤@ °@žƒÿ …žP P`¤@ °@ž‚ ÿAž6ÿ€A ! Õ  _Ç”HýÓ’U… WT6<‡ _6ÍP P`¤@ °@ž‚‘ ÿŸžÿž€A !×Ç _ ÇrHýÓpU… WT6<‡_6N P P`¤@ °@žƒùZ ÿ|žÿ{× ‹€Aÿ‰Â‰€Aÿ…c P`à@# ÿ^€igÿ‚`Pž}d}ÿÿiii ***INTERRUPT VECTORING SUBROUTINE** &g  C @¢0( 0( o) Rp& ÿ”P „A€ 6ÓP P`¤@ ‚ˆ„B‚c„A‚…°@ž…1Pt i COÿ“ÿ/€AI@ B AXL žŽP P`¤@ °@žƒt ÿ©ÿ€AIC B¢œ " IS B _Ç•HýÓ“U… W T6<‡6NP P`¤@  °@žƒ‘ÿ‘šÿ€A AX L žP P`¤@ °@ž„ùZ ÿ{«ÿz€A A !8, žP P`¤@ °@ž‚ ÿe«€AI@ B AXLžP P`¤@ °@ž‚ÿOª ÿN€AIL B¢3 "I\ B  _Ç,HýÓ*U… WT6<‡? 6LP P`¤@ °@žÿ* œÿ)€A AXLžP P` ¤@ °@ž‚ÿ­ÿ€A  A !8,žP P`¤@  °@ž‚ÿ«c P`à@# i gÿ‚`Pž}dŠÿÿiiw ***EXTERNAL INTERFACE SUBROUTINE**$g  C @¢0( 0( o) Rp& ÿ”P „A€ 6ÓP P`¤@ ‚ˆ„B‚c„A‚…°@ž…1Pt w COÿ¨ÿ¦Â§€Aþ…¤€Aþ žÕ€A)G " ! „C€AN)L  " B ! E1R¤BP P`¤@ €‚°@ž†Zt ÿ€ÿ¥¥ ¸Cž„žž‚ÜC ž\€A)A " ! „C€AN)C  " B ! E1N¤BP P`¤@ €‚°@ž‚ù ÿ}© ¸Cž„žž‚ÜCž`# ÿG þÆ€A) " A@_6Â@o6ÍP P`¤@ °@ž‚W ÿ\©€A) " A@_6B@o 6LP P`¤@ °@žÿF ªþ˜€A) " A@_6Â@o6L P P`¤@ °@žÿ/ª þž›€AIL B) " A@_ 6B@o6ÍP P`¤@ °@ž‚ ÿ¦# ÿ™ €A)€ " A @6Až‡) " A@6ÍP P`¤@ °@ž‚Z þê£ÿ{€A)W " ! ! 8,žŽP P`¤@ °@žƒù þЧÿa€AI B _Ç” HýÓ’U… WT6<‡6MP P`¤@ °@ž‚‘þ°¡ ÿA€A AXLžP P`¤@ °@ž‚þœ­ÿ-€AI  B !8,žP P`¤@  °@ž‚þ…ªc P`à@# iiù C @¢®0( 0( o) Rp& ÿ¥P À1Lžú„B)!,/ž„€€ÿ 6A4ºÜ€À€@üÄ€€ 6AžÌÏ 6ÒP P`¤@ „A‚‚°@ž†CO1Pt  ÿ˜€ ß6õÀ2@(€€„D  „C€„AP P`¤@ €„B („A‚c°@ž‚t  ÿ˜ÜC€CŒDX+€B „B6Ò€ „AP P`¤@ €„B „A‚H°@ž‚t ÿ}žd@(€ ¯6Á € Ÿ6Û€  6ÓP P`¤@ ‚†„Bƒ…„A‚,°@žƒtt ÿ` „1c P` à@# c P` à@# ÿÿI’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’IMACRO HFT:PIC(D=HFT,FI,L=) LINK THE PROGRAM? IF YES TYPE C, IF NO TYPE X. PAUSE DO LINK:PIC ’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I1PAGE 0001 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:02.00 PARALLEL INTERFACE CONTROLLER SI = DH00.HFT:PIC.ASM LO = DH00.HFT:PIC.LST 0003 **************************************************************  0004 * THIS IS THE MONITOR FOR THE 54120 BOARD.(PARALLEL INTERFACE CONTROLLER) 0005 * IT IS DESIGNED TO BE LINKED WITH THE HFT EXECUTIVE 0006 * AND LIBRARY MODULES TO CREATE A ROMMABLE DIAGNOSTIC  0007 * PROGRAM.THE HFT SYSTEM SO CREATED MAY ALSO INCLUDE 0008 * TEST MODULES FROM OTHER SCOUT BOARDS. 0009 ************************************************************** 0010 *  0011 * 0000 0002 0012 ROM REL 0040 0013 NAM HFT:PIC 0014 EXTR O:MSG,O:IO 0015 EXTR FLUSH,SYSERR 0016 EXTR RTCSERV,BLINKER 0017 EXTR TSTRT,LTSTRT 0018 EXTR TSTRT2,LTSTRT2  0019 EXTR TECHTST,LTECHTST 0020 EXTR PRTHEX 0021  EXTR VERIFY,LVERIFY 0000 0003 0022 MESSAGE REL 0000 0D0A 0023 BYTE :0D,:0A,' #54120  - PARELLEL INTERFACE CONTROLLER' 0018 283C 0024 BYTE '(<(C0) REV LEVELS TESTED>)' 0000 0004 0025 JUMPTABL REL 0000 0014 0026 WORD 20 BOARD NUMERICAL DESIGNATION 0001 FFFF 0027  WORD -1 -1 IF NO DASH NO. REQUIRED 0002 0040 0028 WORD HFT:PIC 0029 ************************************************************** 0030 * INITIALIZE TEST MONITOR  0031 * 0032 ************************************************************** 0033 *  0000 0002 0034 ROM REL 18E3 18E7 0035 BRD:DEF HFT:PIC 00000032 0036 MSGPTR EQU TEMP 0001 0037 CRNTBUT RES 1 0002 0038 TSTFLG RES 1 0003 0039 BUTDA RES 1  0000 0002 0040 ENDEF 0000 0C50 0041 PICCNFG BYTE :0C,'PIC MANUFACTURING DIAGONOSTIC TEST' 0012 2841 0042 PICREV BYTE '(A0)' 0014 2D46 0043 BYTE '-FOLLOW TEST SPECIFICATION #58-54120-00' 0028 0050 0044 LPICCNFG WORD $-PICCNFG*2 0029 0002 0045 SALM WORD 2,SALMSG 1PAGE 0002 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:03.75 PARALLEL INTERFACE CONTROLLER 002B 0D0A 0046 SALMSG BYTE :0D,:0A,' WRONG DEVICE ADDRESS ON SAL ' 003F FF80 0040 0047 JSKNEXT JSK *$+1 18E3 18E7 0048 HFT:PIC ENTRY 0055 4900 0049 COPY =0,Q 0056 C441 0001 0050 COPY Q,CRNTBUT(Y) INITALIZE CURRENT BUT-PTR  0051 *************************************************************** 0052 * VERIFY TEST CONFIGURATION WITH OPERATOR 0053 *************************************************************** 0054 * 0057 C267 003F 0055 COPY JSKNEXT,Q 0058 C796 006F 0056 COPY Q,:92 0059 C296 0070 0057  COPY =RTCSERV,Q 005A C796 0071 0058 COPY Q,:93 SET UP THE RTC VECTOR 005B C020 0020 0059 COPY MODEREG,Q 005C 40BF 0060 TBIT REPTFLAG,Q 005D 3641 005F 0061 JT OV,PIC0011 IF A BURN-IN SYSTEM,JUMP AROUND MSG ROUTINES 005E 9EB7 0096 0062 JMP PIC0100 18E3 18E7 0063 PIC0011 CALL O:MSG,=CO,LPICCNFG,=PICCNFG 18E3 18E7 0064 CALL O:MSG,=CO,LVERIFY,=VERIFY 0065 * WAIT FOR A CARRIAGE RETURN FROM THE OPERATOR 18E3 18E7 0066 CALL FLUSH,=:0D,=CI 1PAGE 0003 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:08.25 PARALLEL INTERFACE CONTROLLER 0068 ********************************************************************** 0096 A041 0001 0069 PIC0100 COPY CRNTBUT(Y),X FIND OUT WHO WAS LAST TESTED 0097 3143 009B 0070 JEQ X,PIC0101 IF 0 THEN THIS IS FIRST PASS 0098 80A0 0020 0071  COPY :20(X),A ELSE GET CURRENT STATUS REGISTER 0099 00FD 0072 RBIT 15,A RESET THE CURRENT-TEST-FLAG 009A 84A0 0020 0073 COPY A,:20(X) 0074 * 009B 2B01 0075 PIC0101 ADD  =1,X 009C 8020 0020 0076 COPY MODEREG,A 009D 180F 0077 AND =:F,A ISOLATE BUT COUNT 009E 0023 0078 SUB X,A COMPARE BUT-COUNT WITH CURRENT-BUT-COUNT 009F 1341 00A1 0079  JGE A,PIC0102 GO TEST THE NEXT BUT 00A0 9F95 00B6 0080 JMP PICEND ALL BUTS HAVE BEEN TESTED 0081 * 00A1 A441 0001 0082 PIC0102 COPY X,CRNTBUT(Y) SAVE CURRENT-BUT-PTR 00A2 80A0 0020 0083  COPY :20(X),A 00A3 00FC 0084 SBIT 15,A 00A4 84A0 0020 0085 COPY A,:20(X)   0086 * 0087 * COMPUTE THE DEVICE ADDRESS 0088 * 00A5 8020 0020 0089  COPY MODEREG,A 00A6 008F 0090 TBIT MODEFLAG,A INTERACTIVE OR NOT 00A7 36F2 00DA 0091 JF OV,PIC0103 18E3 18E7 0092 CALL O:MSG,=CO,LTSTRT,=TSTRT 18E3 18E7 0093 CALL PRTHEX,=CO,CRNTBUT 18E3 18E7 0094 CALL O:MSG,=CO,LTSTRT2,=TSTRT2 0095 * 00DA 2AFF 0096 PIC0103 SUB =1,X START COUNTING WITH 0 NOT 1 00DB 2E11 0097 SHIFT X,LO,2 MULTIPLY INDEX BY 4 00DC 0980 0098 COPY =:80,A BASE BUT DEVICE ADDRESS 00DD 0022 0099 ADD  X,A COMPUTE CURRENT DEVICE ADDRESS 00DE 8443 0003 0100 COPY A,BUTDA(Y) 0101 *  0102 ******************************************************** 0103 * 0104 * THIS TESTS THE DEVICE ADDRESS OF THE BOARD 0105 * BY USING THE SAL INSTRUCTION.IF THE TWO 0106 * DEVICE ADDRESS DO NOT MATCH THEN THERE 0107 * IS AN ERROR. 0108 *  0109 ***************************************************** 0110 * 1PAGE 0004 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:13.25 PARALLEL INTERFACE CONTROLLER 00DF 2900 0111 COPY =0,X 00E0 A442 0002 0112 COPY X,TSTFLG(Y) INITIALIZE THE TEST-TECH FLAG 00E1 4903 0113 COPY =3,Q 00E2 C841 0001 0114 ADD CRNTBUT(Y),Q 00E3 430A 0115 SAL:1 XNX Q 00E4 6620 0116 SAL  2,0 FILE 2 IS NULL OR A DATA FILE(NON-EXECUTABLE) *W* (0000/0000) ML *W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W 00E5 9696 00FC 0117 AND =:FFFC,A MASK OFF THE LEAST SIGNIFIANCET BITS 00E6 B843 0003 0118 CSK A,BUTDA(Y) COMPARE THE 2 DEVICE ADDRESSES 00E7 0000 0119 NOP 00E8 9E85 00EE 0120 JMP SAL:2 IF A < OR > BUTDA GO TO SAL:2 00E9 8042 0002 0121 COPY TSTFLG(Y),A IN TECH TEST MODE 00EA 1141 00EC 0122 JEQ A,SAL:END 00EB 9E77 00E3 0123 JMP SAL:1 CONTINUE TEST LOOP 00EC 662F 0124 SAL:END SAL 2,:F *W* (0004/0116) ML *W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W*W 00ED 9E95 0103 0125 JMP CALLSUB 00EE 8042 0002 0126 SAL:2 COPY TSTFLG(Y),A 00EF 1141 00F1 0127 JEQ A,SAL:ERR 00F0 9E72 00E3 0128 JMP SAL:1 000000F1 0129 SAL:ERR EQU $ 00F1 828B 00FD 0130 COPY =SALM,A 00F2 8432 0032 0131 COPY A,MSGPTR 18E3 18E7 0132 CALL TAKACTN,=0 0101 11A1 00E3 0133 JNE A,SAL:1 0102 11AB 00EE 0134 JNE A,SAL:2 18E3 18E7 0135 CALLSUB CALL MOD:ISO,BUTDA CALL THE MODIFIED ISOLITE SUBROUTINE 0000010F 0136 INT: EQU $ 18E3 18E7 0137 CA LL INT:TST,BUTDA CALL THE INTERRUPT VECTOR SUBROUTINE 0000011B 0138 EXT: EQU $ 18E3 18E7 0139  CALL EXT:ITF,BUTDA CALL THE EXTERNAL INTERFACE SUBROUTINE 00000127 0140 BLI EQU $ 18E3 18E7 0141 CALL BLINKER 0132 9F85 0138 0142 JMP PIC0100 18E3 18E7 0143 PICEND EXIT 1PAGE 0005 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:17.00 PIC MODIFIED ISOLITE SUBROUTINE 0145 *  0146 ************************************************************ 0147 * 0148 * THIS IS THE MODIFIED ISOLITE SUBROUTINE 0149 * 0150 ************************************************************* 0151 * 041C 0152 NAM MOD:ISO 0153  EXTR O:MSG,O:IO 18E3 18E7 0154 DEFINE MOD:ISO,DEVA 0001 0155 DEVAD RES 1 0002 0156 ERBIT RES 1 0003 0157 NTIME RES 1 0004 0158 ASAVE RES 1  0139 0002 0159 ENDEF 0139 0D0A 0160 ISOMSG BYTE :0D,:0A,'***MODIFIED ISOLITE SUBROUTINE**' 014A 0022 0161 LISOMSG WORD $-ISOMSG*2 0162 * 0163 *********************************************************** 0164 * 0165 * THESE ARE THE DIFFERENT ERROR MESSAGES  0166 * THEY ARE ALL THE SAME SIZE 0167 * 0168 *********************************************************** 0169 * 014B FF80 014C 0170 JSKNXT JSK *$+1 0000014C 0171 FIRSTMSG EQU $ 014C 0002 0172 MSG1 WORD 2,MT1 014E 0002 0173 MSG2 WORD 2,MT2 0150 0002 0174 MSG4 WORD 2,MT4 0152 0002 0175 MSG3 WORD 2,MT3 0154 0002 0176 MSG3A WORD 2,MT3A 0156 0002  0177 MSG5 WORD 2,MT5 0158 0012 0178 MSG7 WORD 18,MT7,B,C,D,E,F,G,H,I,J,M,N,O,R,T,T1,V 016A 0002  0179 MSG8 WORD 2,MT8 016C 0002 0180 MSG9 WORD 2,MT9 016E 0002 0181 MSGA WORD 2,MTA 0170 0002 0182 MSGB WORD 2,MTB 0172 0002 0183 MSGD WORD 2,MTD 0174 0002 0184 MSGE WORD 2,MTE 0176 0002 0185 MSGF WORD 2,MTF 0178 0012 0186 MSG10 WORD 18,MT10,B,C,D,E,F,G,H,I,J,M,N,O,R,T,T1,V 018A 0002 0187 MSG11 WORD 2,MT11 1PAGE 0006 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:18.50 PIC MODIFIED ISOLITE SUBROUTINE 018C 0002 0188 MSG12 WORD 2,MT12 018E 0002 0189 MSG13  WORD 2,MT13 0190 0002 0190 MSG14 WORD 2,MT14 0192 0002 0191 MSG15 WORD 2,MT15 0194 0002  0192 MSG16 WORD 2,MT16 0196 0D0A 0193 MT1 BYTE :0D,:0A,' INTERRUPT OCCURED WHEN DISABLED ' 01AA 0D0A 0194 MT2 BYTE :0D,:0A,' NO INTERRUPT AFTER BIE/IIT SET ' 01BE 0D0A 0195 MT4 BYTE :0D,:0A,' I/O DID NOT CLEAR INTERRUPT REQUEST ' 01D2 0D0A 0196 MT3 BYTE :0D,:0A,' NEITHER AB12/AB13 ENABLED INT ERRUPT ' 01E6 0D0A 0197 MT3A BYTE :0D,:0A,' NEITHER AB12/AB13 DISABLE INTERRUPT ' 01FA 0D0A 0198 MT5  BYTE :0D,:0A,' NEITHER AB12/AB13 ENABLED INTERRUPTS' 020E 0D0A 0199 MT7 BYTE :0D,:0A,' THE INTERNAL READBACK ERROR BITS ' 0222 0D0A 0200 MT8 BYTE :0D,:0A,' STATUS REG NOT SET CORRECTLY TO :1F ' 0236 0D0A  0201 MT9 BYTE :0D,:0A,' INCORRECT WORD ZERO INTERRUPT ' 024A 0D0A 0202 MTA BYTE :0D,:0A,' WRONG INTERRUPTS SET IN STATUS REG ' 025E 0D0A 0203 MTB BYTE :0D,:0A,' STATUS REG NOT SET CORRECTLT TO :1F ' 0272 0D0A 0204 MTD BYTE :0D,:0A,' INCORRECT WORD ONE INTERRUPT ' 0286 0D0A 0205 MTE BYTE  :0D,:0A,' WRONG INTERRUPTS SET IN STATUS REG ' 029A 0D0A 0206 MTF BYTE :0D,:0A,' STATUS REG NOT SET CORRECTLY TO :1F ' 02AE 0D0A 0207 MT10 BYTE :0D,:0A,' THE EXTERNAL READBACK ERROR BITS ' 02C2 0D0A 0208 MT11 BYTE :0D,:0A,' EXTERNAL STATUS REGISTER ERROR ' 02D6 0D0A 0209 MT12 BYTE :0D,:0A,' EXTERNAL STATUS TWO READBACK ERROR ' 02EA 0D0A 0210 MT13 BYTE :0D,:0A,' STATUS REG NOT SET CORRECTLY TO :1F ' 02FE 0D0A  0211 MT14 BYTE :0D,:0A,' INCORRECT EXTERNAL INTERRUPT ' 0312 0D0A 0212 MT15 BYTE :0D,:0A,' WRONG INTERRUPTS SET IN STATUS REG ' 0326 0D0A 0213 MT16 BYTE :0D,:0A,' STATUS REG NOT SET CORRECTLY TO :0F ' 00000028 0214 LEN1 EQU MT2-MT1*2 0215 * 0216 ************************************************************* 0217 * 0218 * THESE MESSAGES GO ALONG WITH MT7 AND MT10 0219 * THEY TELL US WHICH BITS ARE IN ERROR 0220 * 0221 ************************************************************* 0222 * 033A 2030 0223 B BYTE ' 00 ' 033C 2030 0224 C BYTE ' 01 ' 033E 2030 0225 D BYTE ' 02 ' 0340 2030 0226 E BYTE ' 03 ' 0342 2030 0227 F BYTE ' 04 ' 0344 2030 0228 G BYTE ' 05 ' 0346 2030 0229 H BYTE ' 06 ' 0348 2030 0230 I BYTE ' 07 ' 1PAGE 0007 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:20.75 PIC MODIFIED ISOLITE SUBROUTINE 034A 2030 0231 J BYTE ' 08 ' 034C 2030 0232 M BYTE ' 09 ' 034E 2031 0233 N BYTE ' 10 ' 0350 2031 0234 O BYTE ' 11 ' 0352 2031 0235 R BYTE ' 12 ' 0354 2031 0236 T BYTE ' 13 ' 0356 2031 0237 T1 BYTE ' 14 ' 0358 2031 0238 V BYTE ' 15 ' 00000004 0239 LEN2 EQU C-B*2 1PAGE 0008 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:21.00 INCREMENT MESSAGE AND INTERNAL READBACK ROUTINES  0241 * 0242 * 0243 **********************************************************  0244 * 0245 * THIS ROUTINE INCREMENTS THE MESSAGE POINTER TO 0246 * THE NEXT MESSAG E 0247 * 0248 *********************************************************** 0249 * 035A A032 0032 0250 INC:MSG COPY MSGPTR,X 035B A880 0000 0251 ADD 0(X),X UPDATE MESSAGE POINTER 035C A432 0032 0252 COPY X,MSGPTR 035D 2309 0253 RSK 0254 *  0255 * 0256 ************************************************** 0257 *  0258 * DATA OUTPUT/INPUT COMPARE ROUTINE 0259 * 0260 **************************************************** 0261 * 0262 * IN THIS ROUTINE THE INTERNAL READBACK FEATURE WILL  0263 * BE TESTED.BY OUTPUTTING A VALUE FROM WORD ZERO TO 0264 * A REGISTER,AND THEN INPUTTING THE VALUE IN WORD 0265 * ZERO TO ANOTHER REGISTER,IF THE REGISTER VALUES DO NOT 0266 * MATCH,THEN THERE IS AN ERROR IN ALL BITS NOT = 0 IN 0267 * THE REGISTER WHICH KEPT THE SUBSTRACTION RESULTS 0268 * 0269 **************************************************************  0270 * 0271 * 035E 0901 0272 DA:TST COPY =:1,A 035F 8443 0003 0273 COPY A,NTIME(Y) SET NTIME(Y)=1 0360 8041 0001 0274 ROT1 COPY DEVAD(Y),A 0361 4E03 0275 ROTATE Q,LO,1  SHIFT THRU THE OV BIT ONE BIT AT A TIME 0362 295C 0276 TL4 COPY =:5C,X 0363 030A 0277 XNX  A 0364 2201 0278 OUT X,1 SET MODE REGISTER TO :5C 0365 030A 0279 XNX A OUTPUT Q 0366 4200 0280 OUT Q,0 0367 2953 0281 COPY =:53,X 0368 030A  0282 XNX A 0369 2201 0283 OUT X,1 SET MODE REGISTER TO :53 1PAGE 0009 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:22.25 INCREMENT MESSAGE AND INTERNAL READBACK ROUTINES 036A 030A  0284 XNX A READ Q BACK IN 036B 2100 0285 IN 0,X 036C 2045 0286  XOR Q,X FINDS OUT WHICH BIT IS IN ERROR 036D 314D 037B 0287 JEQ X,SET:A IF = GO ON 036E A442 0002 0288 JABT1 COPY X,ERBIT(Y) THIS WILL POINT OUT WHICH BITS 18E3 18E7 0289 CALL TAKACTN,ERBIT ARE IN ERROR 037A 11A7 0362 0290 JNE A,TL4 IF IN TECH-LOOP GO TO TL4 037B 0911 0291 SET:A COPY =17,A DO THE SHIFT 17 TIMES 037C B843 0003 0292 CSK A,NTIME(Y) SEE IF WE HAVE FINISHED THE SHIFT 037D 9E84 0382 0293 JMP WORD:1 037E 9E81 0380 0294 JMP INCR 037F 9E82 0382 0295 JMP WORD:1 0380 DC43 0003 0296 INCR IMS NTIME(Y) INCREMENT NTIME(Y) 0381 9E5E 0360 0297  JMP ROT1 GO BACK TO TEST 0298 * 0299 ************************************************************** 0300 * 0301 * THE INTERNAL READBACK FEATURE FOR WORD ONE WILL   0302 * BE TESTED EXACTLY LIKE WE DID FOR WORD ZERO 0303 * 0304 *************************************************************** 0305 * 0382 0901 0306 WORD:1 COPY =1,A  0383 8443 0003 0307 COPY A,NTIME(Y) SET LOOP COUNTER 0384 8041 0001 0308 ROT2 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 0385 4E03 0309 ROTATE Q,LO,1 SHIFT THRU THE OV BIT ONE BIT AT A TIME 0386 2953 0310 TL5 COPY =:53,X 0387 030A 0311 XNX A 0388 2201 0312 OUT X,1 SET MODE REGISTER TO :53 0389 030A 0313 XNX A 038A 4202 0314 OUT Q,2  OUTPUT Q TO WORD 1 038B 295C 0315 COPY =:5C,X 038C 030A 0316 XNX A 038D 2201  0317 OUT X,1 SET MODE REGISTER TO :5C 038E 030A 0318 XNX A 038F 2102  0319 IN 2,X INPUT WORD 1 TO REGISTER X 0390 2045 0320 XOR Q,X FINDS OUT WHICH BIT IS IN ERROR 0391 314E 03A0 0321 JEQ X,AEQ IF = NO ERROR 0392 A442 0002 0322 COPY X,ERBIT(Y) ERBIT POINTS OUT WHICH BITS ARE IN ERROR 18E3 18E7 0323 CALL TAKACTN,ERBIT CALL ERROR MESSAGE 039F 11A6 0386 0324 JNE A,TL5 IF IN TECH-LOOP GO TO TL5 03A0 0911 0325 AEQ COPY  =17,A 03A1 B843 0003 0326 CSK A,NTIME(Y) ARE WE DONE WITH THE SHIFT? 1PAGE 0010 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:24.50 INCREMENT MESSAGE AND INTERNAL READBACK ROUTINES 03A2 9E84 03A7 0327 JMP RSK WE ARE DONE 03A3 9E81 03A5 0328 JMP INC GO INCREMENT NTIME AND SHIFT AGAIN 03A4 9E82 03A7 0329 JMP RSK WE ARE DONE 03A5 DC43 0003 0330 INC IMS NTIME(Y) INCREMENT LOOP COUNTER 03A6 9E5D 0384 0331 JMP ROT2 DO SHIFT AGAIN 03A7 2309 0332 RSK RSK  DONE 1PAGE 0011 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:24.75 INTERRUPT VECTOR ROUTINES  0334 * 0335 * 0336 ********************************************************  0337 * 0338 * THESE ROUTINES SERVE THE INTERRUPTS,THE PLAN IS 0339 * TO SET A BIT IN REGISTER A,AND AFTER THE INTERRUPT 0340 * CHECK TO SEE IF THE RIGHT BIT IS SET TO 1,  0341 * IF IT IS NOT SET TO 1,THERE IS AN ERROR. 0342 * 0343 ******************************************************** 0344 * 0345 * 0346 * THIS ONE SERVICES THE EXTERNAL INTERRUPTS 0347 * IT SETS BIT ZERO OF THE A REGISTER TO 1. 0348 *  18E3 18E7 0349 DEFINE EXT:ITT 03A8 0002 0350 ENDEF 18E3 18E7 0351 EXT:ITT ENTRY 03B7 0E4F 0352 SIN :5 03B8 6309 0353 POP 03B9 000C 0354 SBIT 0,A 03BA 2  309 0355 RSK 0356 * 0357 * 0358 * 0359 * THIS ONE SERVICES THE WORD ZERO LOWER BYTE INTERRUPT 0360 * IT SETS BIT ONE OF THE A REGISTER TO 1  0361 * 0362 * 18E3 18E7 0363 DEFINE WZL:INT 03BD 0002 0364  ENDEF 18E3 18E7 0365 WZL:INT ENTRY 03CC 0E4F 0366 SIN :5 03CD 6309 0367 POP 03CE 001C 0368 SBIT 1,A 03CF 2309 0369 RSK 0370 * 0371 *  0372 * THIS ONE SERVICES THE WORD ZERO UPPER BYTE INTERRUPT 0373 * IT SETS BIT TWO OF THE A REGISTER TO 1. 0374 * 0375 * 18E3 18E7 0376 DEFINE WZU:INT 1PAGE 0012 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:26.75 INTERRUPT VECTOR ROUTINES 03D0 0002 0377  ENDEF 18E3 18E7 0378 WZU:INT ENTRY 03DF 0E4F 0379 SIN :5 03E0 6309 0380 POP  03E1 002C 0381 SBIT 2,A 03E2 2309 0382 RSK 0383 * 0384  * 0385 * THIS ONE SERVICES THE WORD ONE LOWER BYTE INTERRUPT 0386 * IT SETS BIT THREE OF THE A REGISTER TO 1. 0387 * 18E3 18E7 0388 DEFINE W1L:INT 03E3 0002 0389  ENDEF 18E3 18E7 0390 W1L:INT ENTRY 03F2 0E4F 0391 SIN :5 03F3 6309 0392 POP 03F4 003C 0393 SBIT 3,A 03F5 2309 0394 RSK 0395 * 0396 * THIS ONE SERVICES THE WORD ONE UPPER BYTE INTERRUPT 0397 * IT SETS BIT FOUR OF THE A REGISTER TO 1.  0398 * 18E3 18E7 0399 DEFINE W1U:INT 03F6 0002 0400 ENDEF 18E3 18E7  0401 W1U:INT ENTRY 0405 0E4F 0402 SIN :5 0406 6309 0403 POP 0407 004C 0404  SBIT 4,A 0408 2309 0405 RSK 0406 * 0407 * THIS ONE SERVICES THE ISOLITE INTERRUPTS 0408 * IT SETS BIT FIVE OF THE A REGISTER TO 1. 0409 * 18E3 18E7 0410 DEFINE ISO:INT 0409 0002 0411 ENDEF 18E3 18E7 0412 ISO:INT ENTRY 0418 0E4F 0413 SIN :5 0419 6309 0414 POP 041A 005C 0415 SBIT 5,A 041B 2309 0416 RSK 1PAGE 0013 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:29.00 PIC MODIFIED ISOLITE SUBROUTINE 0418 * 0419 * 0420 ******************************************************* 0421 * 0422 * THE MOD:ISO SUBROUTINE SETS UP THE INTERRUPT VECTORS.IT TESTS  0423 * THE ISOLITE INTERRUPT;FIRST BY TESTING FOR AN INTERRUPT 0424 * WITH THE INTERRUPTS DISABLED,SECONDLY WITH THE INTERRUPT 0425 * ENABLED,AND FINALLY ISSUEING AN I/O TO CLEAR THE PENDING   0426 * INTERRUPT.THE STATUS BITS 12 AND 13 ARE ALSO TESTED,AND 0427 * FINALLY THE INTERNAL WRAPAROUNDIS TESTED. 0428 * 0429 ********************************************************  0430 * 18E3 18E7 0431 MOD:ISO ENTRY 042B 8441 0001 0432 COPY A,DEVAD(Y) SAVE THE DEVICE ADDRESS 042C 8020 0020 0433 COPY MODEREG,A 042D 008F 0434 TBIT MODEFLAG,A 042E 36D2 0441 0435 JF OV,SKIP1 18E3 18E7 0436 CALL O:MSG,=CO,LISOMSG,=ISOMSG 00000441 0437 SKIP1  EQU $ 0441 2920 0438 COPY =:20,X FORCE INTERRUPT WITH INTERRUPT DISABLED 0442 8041 0001 0439 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 0443 030A 0440 XNX A 0444 2201 0441  OUT X,1 0445 2901 0442 COPY =1,X SET VECTOR ADDRESS TO :0010 0446 030A 0443  XNX A 0447 2203 0444 OUT X,3 0448 82AE 0477 0445 COPY =FIRSTMSG,A 0449 8432 0032 0446 COPY A,MSGPTR INITIALIZE THE MESSAGE POINTER 0447 * 0448 ********************************************************* 0449 * 0450 * THE INTERRUPT VECTORS ARE SET UP HERE 0451 * 0452 **********************************************************  0453 * 044A 2910 0454 COPY =:10,X PUT VECTOR ADDRESS IN X 044B 091A 0455  COPY =:1A,A 044C C3AB 0478 0456 COPY JSKNXT,Q 044D C480 0000 0457 VECT2 COPY Q,0(X) PUT JSK *$+1 IN LOCATIONS :(10,12,14,16,18,1A) 044E 200A 0458 CSN A,X SEE IF WE HAVE STUFFED THE VECTORS YET 044F 9E82 0452 0459 JMP VECT3 0450 2B02 0460 ADD =2,X 1PAGE 0014 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:31.75 PIC MODIFIED ISOLITE SUBROUTINE 0451 9E7B 044D 0461 JMP VECT2 0452 C2A6 0479 0462 VECT3 COPY =EXT:ITT,Q 0453 C411 0011 0463 COPY Q,:11 0454 C2A5 047A 0464  COPY =WZL:INT,Q 0455 C413 0013 0465 COPY Q,:13 0456 C2A4 047B 0466 COPY =WZU:INT,Q  0457 C415 0015 0467 COPY Q,:15 0458 C2A3 047C 0468 COPY =W1L:INT,Q 0459 C417 0017 0469  COPY Q,:17 045A C2A2 047D 0470 COPY =W1U:INT,Q 045B C419 0019 0471 COPY Q,:19 045C C2A1 047E 0472 COPY =ISO:INT,Q 045D C41B 001B 0473 COPY Q,:1B 0474 *  0475 * 045E 0900 0476 TL6 COPY =:0000,A 18E3 18E7 0477 CLKDLY 3,:20 CHECK FOR INTERRUPT 046A 005F 0478 TBIT 5,A TRANSFER BIT 5 OF A TO OV BIT OF S 046B 36D6 0482 0479  JF OV,SET:INT IF NO INTERRUPT GO TO SET:INT 18E3 18E7 0480 CALL TAKACTN,=:0 CALL FOR ERROR MESSAGE 0481 119C 045E 0481 JNE A,TL6 IF IN TECH-LOOP GO TO TL6 0482 FF9D 04A0 0482 SET:INT JSK I  NC:MSG GET NEXT MESSAGE 0483 4970 0483 TL65 COPY =:70,Q SET INTERRUPT ENABLE AND TEST FLAGS 0484 8041 0001 0484 COPY DEVAD(Y),A RESTORE A 0485 030A 0485 XNX A 0486 4201 0486  OUT Q,1 0487 0900 0487 COPY =:0000,A 18E3 18E7 0488 CLKDLY 3,:20 CHECK FOR INTERRUPT 0493 005F 0489 TBIT 5,A 0494 36C1 0496 0490 JF OV,JABT4 IF NO INTERRUPT REPORT ERROR 0495 9E8F 04A5 0491 JMP VECT4 WE GOT AN INTERRUPT(CORRECT IN THIS CASE) GO TO VEC  18E3 18E7 0492 JABT4 CALL TAKACTN,=:0 CALL ERROR MESSAGE 04A4 119E 0483 0493 JNE A,TL65 IF IN TECH-LOOP GO TO TL65 04A5 FF7A 04A0 0494 VECT4 JSK INC:MSG GET NEXT MESSAGE 04A6 8041 0001 0495 TL7 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 04A7 4950 0496 COPY =:50,Q CLEAR FORCED INTERRUPT BIT 04A8 030A 0497 XNX A 04A9 4201 0498 OUT Q,1 04AA 030A 0499 XNX  A 04AB 4100 0500 IN 0,Q ISSUE I/O TO CLEAR PENDING INTERRUPT 04AC 0900 0501  COPY =:0000,A CLEAR A 18E3 18E7 0502 CLKDLY 3,:20 CHECK FOR INTERRUPT 04B8 005F 0503 TBIT 5,A 1PAGE 0015 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:34.50 PIC MODIFIED ISOLITE SUBROUTINE 04B9 36CC 04C6 0504 JF OV,UIS1 IF NOT INTERRUPTED GO TO UIS TESTS 18E3 18E7 0505  CALL TAKACTN,=:0 CALL ERROR MESSAGE 04C5 11A0 04A6 0506 JNE A,TL7 IF IN TECH-LOOP GO TO TL7 0507 * 0508 ************************************************************* 0509 * 0510 * UIS TESTS 0511 * 0512 *************************************************************** 0513 * 0514 * THIS ROUTINE CHECKS TO SEE IF BITS 12 AND 13 OF THE 0515 * STATUS REGISTER WORK CORRECTLY.IN THE PRODUCTION BOARDS 0516 * IF BIT 13 IS SET TO 0,THEN AN INTERRUPT SHOULD 0517 * OCCUR REGUARDLESS OF THE VALUE OF BIT 12.ON  0518 * THE OTHER HAND IF BIT 13 IS SET =1 NO INTERRUPT 0519 * SHOULD OCCUR REGUARDLESS OF THE VALUE OF BIT 12. 0520 * HOWEVER IN ACTUALITY EITHER BIT 12 OR 13 CAN 0521 * ENABLE INTERRUPTS.THIS WILL BE TESTED FOR BY COMPARING 0522 * BIT 13=0 AND BIT 12=1,TO THE CASE WHEN BIT 12=0 AND BIT 13=1; 0523 * IF THE INTERRUPT VALUES ARE EQUAL THERE IS AN ERROR. 0524 * 0525 **************************************************************** 0526 * 04C6 FF59 04A0 0527 UIS1 JSK INC:MSG GET NEXT MESSAGE 04C7 8041 0001 0528 TL8 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 04C8 4970 0529 COPY =:70,Q 04C9 030A 0530 XNX A 04CA 4201 0531 OUT Q,1   RESTORE FORCED INTERRUPT 04CB 030A 0532 XNX A 04CC 2100 0533 IN 0,X  DUMMY READ TO CLEAR INTERRUPT REQUEST 04CD 0ED5 0534 SBIT 13,S 04CE 0309 0535 UIS 04CF 0900 0536 COPY =:0,A CLEAR A 18E3 18E7 0537 CLKDLY 3,:20 CHECK TO SEE IF INTERRUPT OCCURED 04DB 8444 0004 0538 COPY A,ASAVE(Y) SAVE A 04DC 8041 0001 0539 UIS2 COPY DEVAD(Y),A RESTORE A 04DD 030A 0540 XNX A 04DE 2100 0541 IN 0,X DUMMY READ TO CLEAR INTERRUPT REQUEST 04DF 0ED7 0542 RBIT 13,S 04E0 0EC5 0543 SBIT 12,S SET BIT 12=1,BIT 13=0 IN S 04E1 0309 0544 UIS 04E2 0900 0545 COPY =:0,A CLEAR A  18E3 18E7 0546 CLKDLY 3,:20 CHECK TO SEE IF INTERRUPT OCCURED 1PAGE 0016 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:36.50 PIC MODIFIED ISOLITE SUBROUTINE 04EE B844 0004 0547 CSK A,ASAVE(Y)  CHECK TO SEE IF BOTH BIT 12 AND 13 0548 * ENABLE OR DISABLE INTERRUPTS(THE VALUES SHOULD BE DIFFERENT 04EF 0000 0549 NOP 04F0 9EA0 0511 0550 JMP INCC OK,BOTH BITS DO NOT DO THE SAME THING 04F1 0C00 0551 CLSN A,=:00 CHECK TO SEE IF BOTH INTERRUPTED 04F2 9E90 0503 0552 JMP UIS:ERI BOTH DID NOT INTERRUPT 04F3 FF2C 04A0 0553 B:INT JSK INC:MSG BOTH INTERRUPTED,GET NEXT ERROR MESSAGE 18E3 18E7 0554 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0501 1185 04C7 0555 JNE A,TL8  TECH-LOOP 0502 9E8F 0512 0556 JMP UIS3 18E3 18E7 0557 UIS:ERI CALL TAKACTN,=:0 PRINT ERROR MESSAGE 050F 1141 0511 0558 JEQ A,INCC IF NOT IN TECH-LOOP GO TO INCC 0510 9E36 04C7 0559 JMP  TL8 IN TECH-LOOP GO TO TL8 0511 FF0E 04A0 0560 INCC JSK INC:MSG GET PAST THE NEXT ERROR MESSAGE 0512 8041 0001 0561 UIS3 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 0513 030A 0562 XNX A 0514 2100 0563 IN 0,X DUMMY READ TO CLEAR INTERRUPT REQUEST 0515 0309 0564 UIS 0516 0900 0565 COPY =:0,A CLEAR A 0517 0ED5 0566 SBIT 13,S BOTH BIT 12 AND 13 =1 0518 0309 0567 UIS 0519 0900 0568 COPY =:0,A CLEAR A 18E3 18E7 0569 CLKDLY 3,:20 CHECK TO SEE IF INTERRUPT OCCURED 0525 005F 0570 TBIT 5,A 0526 36CD 0534 0571 JF OV,UIS4 IF FALSE NO INTERRUPT OCCURED,NO ERROR 18E3 18E7 0572 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0533 119E 0512 0573 JNE A,UIS3 TECH-LOOP? 0534 FF9E 0553 0574 UIS4 JSK INC:MSG GET NEXT MESSAGE 0535 8041 0001 0575 TL222 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 0536 030A 0576 XNX A 0537 2100 0577 IN 0,X DUMMY READ TO CLEAR INTERRUPT REQUEST  0538 0ED7 0578 RBIT 13,S 0539 0EC7 0579 RBIT 12,S BIT 12 AND 13 =0 053A 0309 0580 UIS 053B 0900 0581 COPY =:0,A CLEAR A 18E3 18E7 0582 CLKDLY 3,:20 CHECK TO SEE IF INTERRUPT OCCURED 0547 005F 0583 TBIT 5,A 0548 364E 0557 0584 JT OV,ADD:MSG NO ERROR GO TO ADD:MSG 18E3 18E7 0585 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0556 119E 0535 0586 JNE A,TL222 TECH-LOOP 0587 * 0588 * 0589 ************************************************************** 1PAGE 0017 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:40.00 PIC MODIFIED ISOLITE SUBROUTINE 0590 * 0591 * DATA TRANSFER TEST  0592 * 0593 ****************************************************************  0594 * 0595 * WE WILL CHECK THE DATA BY PUTTING ALL ONES EXCEPT ONE 0596 * IN A REGISTER AND GO TO THE DATA TEST ROUTINE,THE 0597 * SECOND CHECK WE PUT ALL ZEROES EXCEPT ONE IN A REGISTER  0598 * 0599 ***********************************************************************  0600 * 0601 * 0557 FF7B 0553 0602 ADD:MSG JSK INC:MSG GET NEXT MESSAGE 0558 0ED7 0603 RBIT 13,S RESET BIT 13 OF S TO 0 0559 0309 0604 UIS 055A C28B 0566 0605 DATA  COPY =:7FFF,Q PUT =:7FFF IN Q FOR DATA TEST 055B 8041 0001 0606 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 055C 0E15 0607 SBIT 1,S 055D FF89 0567 0608 JSK DA:TST GO TEST EACH BIT 055E C289 0568 0609 COPY =:8000,Q PUT =:8000 IN Q FOR DATA TEST 055F 0E17 0610 RBIT 1,S 0560 8041 0001 0611 COPY DEVAD(Y),A RESTORE THE DEVICE ADDRESS 0561 FF85 0567 0612 JSK DA:TST GO TEST EACH BIT TO SEE IF THEY ARE CORRECT 18E3 18E7 0613 EXIT 1PAGE 0018 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:41.00 PIC INTERRUPT VECTORING SUBROUTINE 0615 * 0616 *  0617 ********************************************************** 0618 * 0619 * THIS SUBROUTINE TESTS THE WORD ZERO INTERRUPT 0620 * BY SETTING THE MODE REGISTER APPROPIATELY,AND 0621 * THEN CHECKING FOR THE RIGHT INTERRUPT VECTORING 0622 * NEXT IT CHECKS TO SEE IF THE RIGHT BITS IN THE STATUS REGISTER 0623 * ARE SET( THE LAST FOUR BITS SHOULD = 1100).  0624 * LAST WE READ WORD 0 AND CHECK TO SEE IF THE STATUS 0625 * REGISTER IS SET PROPERTLY(LAST 5 BITS SHOULD BE 11111) 0626 * THE READ WORD 0 INSURES THE STATUS REGISTER IS SET. 0627 *  0628 *********************************************************** 0629 * 057D 0630   NAM INT:TST 0631 EXTR O:MSG,O:IO 18E3 18E7 0632 DEFINE INT:TST,DEV 0001 0633 DEVADD RES 1 0569 0002 0634 ENDEF 0569 0D0A 0635 INTTST BYTE :0D,:0A,'***INTERRUPT VECTORING SUBROUTINE**' 057C 0026 0636 LINTTST WORD $-INTTST*2 18E3 18E7 0637 INT:TST ENTRY 058C 8441 0001 0638 COPY A,DEVADD(Y) SAVE THE DEVICE ADDRESS 058D 8020 0020 0639 COPY MODEREG,A 058E 008F 0640 TBIT MODEFLAG,A 058F 36D3 05A3 0641 JF OV,SKIP2 18E3 18E7 0642 CALL O:MSG,=CO,LINTTST,=INTTST 000005A3 0643 SKIP2 EQU $ 05A3 FF2F 0553 0644 JSK  INC:MSG GET NEXT MESSAGE 05A4 8041 0001 0645 W0:INT COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 05A5 4940 0646 COPY =:40,Q 05A6 030A 0647 XNX A 05A7 4201 0648 OUT Q,1  SET MODE REGISTER =:40 05A8 030A 0649 XNX A 05A9 4101 0650 IN 1,Q  INPUT STATUS REGISTER IN Q 05AA 581F 0651 AND =:001F,Q 05AB 4C1F 0652 CLSN Q,=:1F  CHECK TO SEE IF Q =:1F 05AC 9E8E 05BB 0653 JMP ST:OK1 18E3 18E7 0654 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 05BA 11A9 05A4 0655 JNE A,W0:INT IF IN TECH-LOOP GO TO W0:INT 05BB FF17 0553 0656 ST:OK1 JSK INC:MSG GET NEXT MESSAGE 05BC 8041 0001 0657 TL10 COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 1PAGE 0019 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:44.50 PIC INTERRUPT VECTORING SUBROUTINE 05BD 4943 0658 COPY =:43,Q 05BE 030A 0659 XNX A 05BF 4201 0660 OUT Q,1 SET MODE REG =:43 05C0 A29C 05DD 0661 COPY =:0F0F,X 05C1 030A 0662 XNX A 05C2 2202 0663 OUT X,2 PUT 0F0F IN WORD 1 05C3 4953 0664 COPY =:53,Q 05C4 030A  0665 XNX A 05C5 4201 0666 OUT Q,1 ENABLE BIT 4 OF MODE REG (BIE) 05C6 0900 0667 COPY =:0000,A 18E3 18E7 0668 CLKDLY 3,:02 05D2 001F 0669 TBIT 1,A CHECK BIT 1 05D3 364E 05E2 0670 JT OV,CK:ST1 18E3 18E7 0671 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 05E1 119A 05BC 0672 JNE A,TL10 IF IN TECH-LOOP GO TO TL10 05E2 FF90 05F3 0673  CK:ST1 JSK INC:MSG GET NEXT MESSAGE 05E3 8041 0001 0674 TL11 COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 05E4 030A 0675 XNX A 05E5 4101 0676 IN 1,Q INPUT THE STATUS REGISTER INTO Q 05E6 580F 0677 AND =:000F,Q MASK OFF ALL BUT LAST 4 BITS 05E7 4C0C 0678 CLSN  Q,=:0C CHECK TO SEE IF RIGHT INTERRUPTS OCCURED 05E8 9E8F 05F8 0679 JMP IN:W1 CORRECT INTERRUPTS ENABLED JMP IN:W1 18E3 18E7 0680 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 05F7 11AB 05E3 0681   JNE A,TL11 IF IN TECH-LOOP GO TO TL11 05F8 FF7A 05F3 0682 IN:W1 JSK INC:MSG GET NEXT MESSAGE 05F9 8041 0001 0683 TL12 COPY DEVADD(Y),A REATORE THE DEVICE ADDRESS 05FA 030A 0684 XNX A 05FB 4100 0685 IN 0,Q READ WORD 0 05FC 030A 0686 XNX A 05FD 2101 0687  IN 1,X INPUT THE STATUS REGISTER TO X 05FE 381F 0688 AND =:001F,X MASK OFF ALL BUT LAST 5 BITS OF STATUS REG 05FF 2C1F 0689 CLSN X,=:1F CHECK TO SEE IF STATUS REGISTER IS CLEARED 0600 9E8D 060E 0690 JMP W1:INT IT WAS CLEARED 18E3 18E7 0691 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 060D 11AB 05F9 0692 JNE A,TL12 IF IN TECH-LOOP GO TO TL12 0693 *  0694 * 0695 ****************************************************** 0696 *  0697 * TEST WORD 1 INTERRUPTS,WE WILL OUTPUT WORD 0,CHECK TO SEE 0698 * IF THE INTERRUPT WAS SERVICED PROPERLY.NEXT IT CHECKS TO SEE 0699 * IF THE PROPER BITS IN THE STATUS REGISTER ARE SET  0700 * (THE LAST FOUR BITS SHOULD BE 0011).FINALLY READ WORD 1 1PAGE 0020 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:47.50 PIC INTERRUPT VECTORING SUBROUTINE 0701 * AND CHECK TO SEE IF THE STATUS REGISTER WAS CLEARED 0702 * 0703 ********************************************************  0704 * 0705 * 060E 8041 0001 0706 W1:INT COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 060F 4940 0707 COPY =:40,Q 0610 030A 0708 XNX A 0611 4201 0709 OUT Q,1 SET MODE REGISTER =:40 0612 030A 0710 XNX A 0613 4101 0711 IN 1,Q  INPUT THE STATUS REGISTER INTO Q 0614 581F 0712 AND =:001F,Q MASK OFF ALL BUT LAST 5 BITS IN STATUS REG 0615 4C1F 0713 CLSN Q,=:1F CHECK TO SEE IF STATUS REG IS CLEARED 0616 9E8D 0624 0714  JMP ST:OK2 IT IS CLEAR SO NO ERROR 18E3 18E7 0715 CALL TAKACTN,=:0 PRINT ERROR MESSAGE  0623 11AA 060E 0716 JNE A,W1:INT IF IN TECH-LOOP GO TO W1:INT 0624 FF4E 05F3 0717 ST:OK2 JSK INC:MSG GET NEXT MESSAGE 0625 8041 0001 0718 TL14 COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 0626 494C 0719 COPY =:4C,Q 0627 030A 0720 XNX A 0628 4201 0721 OUT Q,1 SET MODE REG =:4C 0629 A233 05DD 0722 COPY =:0F0F,X 062A 030A 0723 XNX A 062B 2200 0724 OUT X,0 OUTPUT X TO WORD 0 062C 495C 0725 COPY =:5C,Q 062D 030A 0726  XNX A 062E 4201 0727 OUT Q,1 ENABLE BIT 4 OF MODE REG (BIE) 062F 0900 0728  COPY =:0000,A CLEAR A 18E3 18E7 0729 CLKDLY 3,:08 CHECK FOR INTERRUPT 063B 003F   0730 TBIT 3,A 063C 364C 0649 0731 JT OV,ST:CK3 18E3 18E7 0732 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0648 119C 0625 0733 JNE A,TL14 IF IN TECH-LOOP GO TO TL14 0649 FF29 05F3 0734 ST:CK3 JSK INC:MSG GET NEXT MESSAGE 064A 8041 0001 0735 TL15 COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 064B 030A 0736 XNX A 064C 4101 0737 IN 1,Q INPUT THE STATUS REGISTER INTO Q 064D 580F 0738 AND =:000F,Q MASK OFF ALL BITS BUT LAST 4 064E 4C03 0739  CLSN Q,=:03 SEE IF RIGHT INTERRUPTS OCCURED 064F 9E8D 065D 0740 JMP FINE THE RIGHT ONES OCCURED 18E3 18E7 0741 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 065C 11AD 064A 0742 JNE A,TL15 IF IN TECH-LOOP GO TO TL15 065D FF15 05F3 0743 FINE JSK INC:MSG GET NEXT MESSAGE 1PAGE 0021 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:50.50 PIC INTERRUPT VECTORING SUBROUTINE 065E 8041 0001 0744 TL16  COPY DEVADD(Y),A RESTORE THE DEVICE ADDRESS 065F 030A 0745 XNX A 0660 4102 0746 IN 2,Q INPUT WORD 1 INTO Q 0661 030A 0747 XNX A 0662 2101 0748 IN 1,X INPUT THE STATUS REG INTO REG X 0663 381F 0749 AND =:001F,X MASK OFF ALL BUT LAST 5 BITS IN STATUS REG 0664 2C1F 0750 CLSN X,=:1F CHECK TO SEE IF THE STATUS REG WAS CLEARED 0665 9E8D 0673 0751 JMP GONE IT WAS CLEARED SO GO ON 18E3 18E7 0752 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0672 11AB 065E 0753 JNE A,TL16 IF IN TECH-LOOP GO TO TL16 18E3 18E7 0754 GONE EXIT 1PAGE 0022 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:51.50 PIC EXTERNAL INTERFACE SUBROUTINE  0756 * 0757 ************************************************************** 0758 *  0759 * THIS SUBROUTINE TESTS THE EXTERNAL INTERFACE 0760 * 0761 ************************************************************* 0762 * 0763 * 068A 0764  NAM EXT:ITF 0765 EXTR O:MSG,O:IO 18E3 18E7 0766 DEFINE EXT:ITF,DEVV 0001 0767 DEVADS RES 1 0002 0768 EBIT RES 1 0003 0769 LOOPCNT RES 1  0677 0002 0770 ENDEF 0677 0D0A 0771 EXTMSG BYTE :0D,:0A,'***EXTERNAL INTERFACE SUBROUTINE**' 0689 0024 0772 LEXTMSG WORD $-EXTMSG*2 18E3 18E7 0773 EXT:ITF ENTRY 0699 8441 0001 0774 COPY A,DEVADS(Y) SAVE THE DEVICE ADDRESS 069A 8020 0020 0775 COPY MODEREG,A 069B 008F 0776 TBIT  MODEFLAG,A 069C 36D3 06B0 0777 JF OV,SKIP3 18E3 18E7 0778 CALL O:MSG,=CO,LEXTMSG,=EXTMSG 000006B0 0779 SKIP3 EQU $ 06B0 FFA6 06D7 0780 JSK INC:MSG GET NEXT MESSAGE 06B1 C2A7 0 6D9 0781 SET:Q COPY =:7FFF,Q PUT :7FFF IN Q 06B2 0E15 0782 SBIT 1,S 06B3 8041 0001 0783  COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 06B4 FE85 06BA 0784 JSK EXT:WRP GO TEST 06B5 C2A4 06DA 0785 COPY =:8000,Q SET Q =:8000 06B6 0E17 0786 RBIT 1,S 06B7 8041 0001 0787  COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 06B8 FE81 06BA 0788 JSK EXT:WRP 06B9 9ED5 070F 0789 JMP EXT:STA 0790 * 0791 ************************************************************ 0792 * 0793 * THIS ROUTINE WILL TEST THE EXTERNAL WRAPAROUND FEATURE FROM  0794 * WORD 0 TO WORD 1.THIS WILL BE TESTED BY INPUTTING A VALUE 0795 * INTO WORD 0 AND THEN OUTPUTTING WHAT IS IN WORD 1 TO A 0796 * REGISTER,IF THE TWO VALUES ARE NOT EQUAL AN ERROR 0797 * OCCURS IN ALL BITS SET TO 1 IN Q. THIS WILL BE DONE 0798 * FOR ALL POSSIBILITES BY ROTATING THRU THE OVERFLOW BIT. 1PAGE 0023 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:54.50 PIC EXTERNAL INTERFACE SUBROUTINE 0799 * 0800 **************************************************************  0801 * 0802 * 06BA 8041 0001 0803 EXT:WRP COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 06BB 2947 0804 COPY =:47,X 06BC 030A 0805 XNX A 06BD 2201 0806 OUT X,1  SET MODE REGISTER =:47 06BE 030A 0807 XNX A 06BF 2102 0808 IN 2,X  DO A READ TO SET STATUS REG BITS CORRECTLY 06C0 0901 0809 COPY =:1,A 06C1 8443 0003 0810 COPY  A,LOOPCNT(Y) SET LOOP COUNTER TO 1 06C2 8041 0001 0811 ROTATE COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 06C3 4E03 0812 ROTATE Q,LO,1 SHIFT THRU THE OV BIT ONE BIT AT A TIME 06C4 294C 0813 TL17 COPY  =:4C,X 06C5 030A 0814 XNX A 06C6 2201 0815 OUT X,1 SET MODE REGISTER TO 4C 06C7 030A 0816 XNX A 06C8 4200 0817 OUT Q,0 OUTPUT Q TO WORD 0 06C9 030A 0818 XNX A 06CA 2102 0819 IN 2,X INPUT WORD 1 INTO REGISTER X 06CB 2045 0820 XOR Q,X FIND OUT WHICH BIT IS IN ERROR 06CC 3152 06DF 0821 JEQ X,SET:CNT 06CD A442 0002 0822 COPY X,EBIT(Y) ALL BITS =1 ARE IN ERROR 18E3 18E7 0823 CALL TAKACTN,EBIT PRINT ERROR MESSAGE 06DE 11A5 06C4 0824 JNE A,TL17 IF IN TECH-LOOP GO TO TL17 06DF 0911 0825 SET:CNT COPY =17,A 06E0 B843 0003 0826 CSK A,LOOPCNT(Y) HAVE WE DONE THE LOOP 17 TIMES 06E1 9E84 06E6 0827 JMP WD:ONE 06E2 9E81 06E4 0828 JMP NO WE HAVE NOT DONE IT 17 TIMES 06E3 9E82 06E6 0829 JMP WD:ONE WE HAVE DONE IT 17 TIMES 06E4 DC43 0003 0830 NO IMS LOOPCNT(Y) IN CREMENT LOOP COUNTER 06E5 9E5C 06C2 0831 JMP ROTATE 0832 * 0833 *  0834 *************************************************************** 0835 * 0836 *  THE EXTERNAL READBACK FEATURE FOR WORD ONE WILL 0837 * BE TESTED EXACTLY LIKE WE DID FOR WORD ZERO  0838 * 0839 *************************************************************** 06E6 8041 0001 0840 WD:ONE COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 06E7 2941 0841 COPY =:41,X 1PAGE 0024 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:56.25 PIC EXTERNAL INTERFACE SUBROUTINE 06E8 030A 0842 XNX A 06E9 2201 0843 OUT X,1 SET MODE REGISTER =:41 06EA 030A 0844 XNX A 06EB 2100 0845 IN 0,X DO A READ TO SET STATUS REG BITS CORRECTLY 06EC 0901 0846  COPY =1,A 06ED 8443 0003 0847 COPY A,LOOPCNT(Y) SET LOOP COUNTER TO 1 06EE 8041 0001 0848 ROT:TWO COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 06EF 4E03 0849 ROTATE Q,LO,1 SHIFT THRU THE OV BIT ONE BIT AT A TIME 06F0 2943 0850 TL18 COPY =:43,X 06F1 030A 0851 XNX A 06F2 2201 0852 OUT X,1 SET MODE REGISTER TO 43 06F3 030A 0853 XNX A 06F4 4202 0854  OUT Q,2 OUTPUT Q TO WORD 1 06F5 030A 0855 XNX A 06F6 2100 0856 IN  0,X INPUT WORD 0 TO REGISTER X 06F7 2045 0857 XOR Q,X FIND OUT WHICH BIT IS IN ERROR 06F8 314E 0707 0858 JEQ X,EQUAL IF = NO ERROR 06F9 A442 0002 0859 COPY X,EBIT(Y) ALL BITS IN X THAT =1 ARE IN ERROR 18E3 18E7 0860 CALL TAKACTN,EBIT PRINT ERROR MESSAGE 0706 11A9 06F0 0861 JNE A,TL18 IF IN TECH-LOOP GO TO TL18 0707 0911 0862 EQUAL COPY =17,A 0708 B843 0003 0863 CSK A,LOOPCNT(Y) ARE WE DONE WITH THE SHIFT 0709 9E84 070E 0864 JMP GET WE ARE DONE 070A 9E81 070C 0865 JMP INC:CNT 070B 9E82 070E 0866 JMP GET WE ARE DONE 070C DC43 0003 0867 INC:CNT IMS LOOPCNT(Y) INCREMENT LOOP COUNTER 070D 9E60 06EE 0868 JMP ROT:TWO 070E 2309  0869 GET RSK 0870 * 0871 * 0872 ********************************************************* 0873 * 0874 * THIS ROUTINE TESTS THE EXTERNAL STATUS REGISTER  0875 * BITS 0 AND 1 OF WORD ONE ARE TIED TOGETHER WITH 0876 * BIT 5 AND 6 OF THE STATUS REGISTER.BY READING A 0877 * VALUE INTO WORD ONE AND OUTPUTTING THE VALUE 0878 * FROM THE STATUS REGISTER,WE CAN CHECK TO SEE 0879 * IF THE STATUS REGISTER BITS ARE SET RIGHT. 0880 * 0881 ********************************************************* 0882 *   0883 * 070F FF47 06D7 0884 EXT:STA JSK INC:MSG GET NEXT ERROR MESSAGE 1PAGE 0025 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:33:58.00 PIC EXTERNAL INTERFACE SUBROUTINE 0710 FEC6 0757 0885 JSK EXT:ST0  GET NEXT MESSAGE 0711 8041 0001 0886 EXT:ST1 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 0712 2901 0887  COPY =:01,X 0713 030A 0888 XNX A 0714 2200 0889 OUT X,0 SET BIT 1 =1 AND BIT 2 =0,OF WORD 0 0715 030A 0890 XNX A 0716 4101 0891 IN 1,Q INPUT STATUS REGISTER TO REGISTER Q 0717 405F 0892 TBIT 5,Q CHECK BIT 5 0718 36C2 071B 0893  JF OV,ERR:ES1 IF =0 THERE IS AN ERROR 0719 406F 0894 TBIT 6,Q 071A 36CD 0728 0895  JF OV,EXT:ES2 18E3 18E7 0896 ERR:ES1 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0727 11A9 0711 0897 JNE A,EXT:ST1 IF IN TECH-LOOP GO TO EXT:ST1 0728 8041 0001 0898 EXT:ES2 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 0729 2902 0899 COPY =:02,X 072A 030A 0900 XNX A 072B 2200 0901  OUT X,0 SET BIT 0 =0,BIT 1 =1 OF WORD 0 072C 030A 0902 XNX A 072D 4101 0903  IN 1,Q INPUT STATUS REGISTER TO Q 072E 405F 0904 TBIT 5,Q 072F 3642 0732 0905  JT OV,ERR:ES2 IF BIT 5 =1 THERE IS AN ERROR 0730 406F 0906 TBIT 6,Q 0731 364C 073E 0907  JT OV,EXT:ST3 IF BIT 6 =1 THEN NO ERROR 18E3 18E7 0908 ERR:ES2 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 073D 11AA 0728 0909 JNE A,EXT:ES2 IF IN TECH-LOOP GO TO EXT:ES2 073E FE98 0757 0910 EXT:ST3 JSK EXT:ST0 DO TEST WITH BOTH BITS SET =0 073F 8041 0001 0911 EXT:ST4 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 0740 2903 0912 COPY =:03,X 0741 030A 0913 XNX A 0742 2200 0914 OUT  X,0 SET BIT 0 AND 1 =1 OF WORD 0 0743 030A 0915 XNX A 0744 4101 0916 IN 1,Q INPUT THE STATUS REGISTER TO Q 0745 405F 0917 TBIT 5,Q 0746 36C2 0749 0918 JF  OV,ERR:ES3 IF BIT 5 =0 THERE IS AN ERROR 0747 406F 0919 TBIT 6,Q 0748 364C 0755 0920 JT  OV,EXT:ST5 IF BIT 6 =1 NO ERROR 18E3 18E7 0921 ERR:ES3 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 0754 11AA 073F 0922 JNE A,EXT:ST4 IF IN TECH-LOOP GO TO EXT:ST4 0755 FE81 0757 0923 EXT:ST5 JSK EXT:ST0 DO TEST WITH BOTH BITS SET =0 0756 9E9B 0772 0924 JMP EXT:MDB 0925 * 0926 *  0927 * THIS ROUTINE DOES THE EXTERNAL STATUS CHECK WITH 1PAGE 0026 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:34:00.75 PIC EXTERNAL INTERFACE SUBROUTINE 0928 * BOTH DATAWORD 0 BITS SET =0  0929 * 0930 * 0757 8041 0001 0931 EXT:ST0 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 075 8 494C 0932 COPY =:4C,Q 0759 030A 0933 XNX A 075A 4201 0934 OUT Q,1 SET MODE REGISTER =:4C 075B 2900 0935 COPY =:00,X 075C 030A 0936 XNX A  075D 2200 0937 OUT X,0 SET BITS 0 AND 1 =0 OF WORD 0 075E 030A 0938 XNX A  075F 4101 0939 IN 1,Q INPUT STATUS REGISTER TO Q 0760 405F 0940 TBIT 5,Q 0761 3642 0764 0941 JT OV,ERR:ES0 IF BIT 5 =1 THEN THERE IS AN ERROR 0762 406F 0942 TBIT  6,Q 0763 36CD 0771 0943 JF OV,LEAVE IF BIT 6 =0 ,NO ERROR EXISTS 18E3 18E7 0944 ERR:ES0 CALL  TAKACTN,=:0 PRINT ERROR MESSAGE 0770 11A6 0757 0945 JNE A,EXT:ST0 IF IN TECH-LOOP GO TO EXT:ST0 0771 2309 0946 LEAVE RSK 1PAGE 0027 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:34:01.75 MODE REGISTER BIT 7 TEST 0949 * 0950 ************************************************** 0951 * 0952 * THIS ROUTINE TESTS BIT 7 OF THE MODE REGISTER. 0953 * BIT 7 OF THE MODE REGISTER IS TIED TOGETHER 0954 * WITH BIT 7 OF THE STATUS REGISTER. 0955 * 0956 ************************************************ 0957 * 0772 FF99 078C 0958 EXT:MDB JSK INC:MSG  GET NEXT MESSAGE 0773 8041 0001 0959 TL23 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 0774 2980 0960  COPY =:80,X 0775 030A 0961 XNX A 0776 2201 0962 OUT X,1 SET BIT 7 OF THE MODE REGISTER 0777 030A 0963 XNX A 0778 4101 0964 IN 1,Q INPUT THE STATUS REGISTER INTO Q 0779 407F 0965 TBIT 7,Q 077A 3641 077C 0966 JT OV,OK IF BIT 7 =1 THERE IS NO ERROR 077B 9E87 0783 0967 JMP MDB:ER JUMP AND CALL ERROR MESSAGE 077C 297F  0968 OK COPY =:7F,X 077D 030A 0969 XNX A 077E 2201 0970 OUT X,1  SET BIT 7 OF THE MODE REGISTER TO 0 077F 030A 0971 XNX A 0780 4101 0972 IN 1,Q  INPUT THE STATUS REGISTER TO Q 0781 407F 0973 TBIT 7,Q 0782 36CD 0790 0974 JF OV,EXT:INT IF BIT 7 =0 THEN NO ERROR 18E3 18E7 0975 MDB:ER CALL TAKACTN,=:0 PRINT ERROR MESSAGE 078F 11A3 0773 0976 JNE A,TL23 IF IN TECH LOOP GO TO TL23 1PAGE 0028 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:34:03.25 EXTERNAL INTERRUPT TEST 0978 * 0979 * 0980 ******************************************************** 0981 * 0982 * THIS ROUTINE WILL VERIFY THAT AN EXTERNAL INTERRUPT WILL 0983 * BE SERVICED CORRECTLY.BIT 6 OF THE MODE REGISTER IS 0984 * TIED TO THE EXTERNAL INTERRUPT REQUEST,SO TO ENABLE 0985 * AN EXTERNAL INTERRUPT ONE MUST SET MODE  REGISTER BIT 0986 * 6 TO 1.AFTER THE INTERRUPT THIS ROUTINE WILL CHECK TO 0987 * SEE IF THE RIGHT BITS IN THE STATUS REGISTER ARE SET 0988 * (THE LAST 5 BITS SHOULD BE =01111)  0989 * 0990 *************************************************************** 0991 *  0992 * 0790 FF7B 078C 0993 EXT:INT JSK INC:MSG GET NEXT MESSAGE 0791 8041 0001 0994 TL24 COPY  DEVADS(Y),A RESTORE THE DEVICE ADDRESS 0792 2957 0995 COPY =:57,X 0793 030A 0996 XNX  A 0794 2201 0997 OUT X,1 SET MODE REGISTER TO :57 0795 030A 0998 XNX A 0796 2102 0999 IN 2,X DO A DUMMY READ TO CLEAR STATUS REG BITS 0797 030A 1000  XNX A 0798 2101 1001 IN 1,X INPUT THE STATUS REGISTER INTO X 0799 381F 1002  AND =:001F,X MASK OFF ALL BUT THE LAST 5 BITS OF X 079A 2C1F 1003 CLSN X,=:1F SEE IF STATUS REGISTER =:1F 079B 9E8E 07AA 1004 JMP SET:EIT IT IS = TO :1F GO TO SET:EIT 18E3 18E7 1005  CALL TAKACTN,=:0 NOT =:1F,PRINT ERROR MESSAGE 07A9 11A7 0791 1006 JNE A,TL24 IF IN TECH-TEST LOOP JMP TO TL24 07AA FF61 078C 1007 SET:EIT JSK INC:MSG GET NEXT MESSAGE 07AB 8041 0001 1008 TL25 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 07AC 4910 1009 COPY =:10,Q 07AD 030A 1010 XNX A 07AE 4201 1011 OUT Q,1 ENABLE THE EXTERNAL INTERRUPT 07AF 0900 1012 COPY =:0000,A CLEAR A 18E3 18E7 1013 CLKDLY 3,:01 CHECK TO SEE IF INTERRUPT OCCURED 07BB 000F 1014 TBIT 0,A 07BC 364D 07CA 1015 JT OV,ST:CK7 IF CORRECTLY INTERRUPTED GO TO ST:CK7 18E3 18E7 1016 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 07C9 11A1 07AB 1017 JNE A,TL25  IF IN TECH-LOOP GO TO TL25 07CA FF41 078C 1018 ST:CK7 JSK INC:MSG GET NEXT MESSAGE 07CB 8041 0001 1019 TL26 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 07CC 030A 1020 XNX A 1PAGE 0029 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:34:05.50 EXTERNAL INTERRUPT TEST 07CD 4101 1021 IN 1,Q  INPUT THE STATUS REG INTO Q 07CE 581F 1022 AND =:001F,Q MASK OFF ALL BUT LAST 5 BITS 07CF 4C0F  1023 CLSN Q,=:0F CHECK TO SEE IF RIGHT BITS ARE SET 07D0 9E8D 07DE 1024 JMP SET:MD7  IF RIGHT BITS ARE SET GO TO SET:MD7 18E3 18E7 1025 CALL TAKACTN,=:0 WRONG BITS SET,PRINT ERROR MESSAGE 07DD 11AD 07CB 1026 JNE A,TL26 IF IN TECH-TEST-LOOP GO TO TL26 07DE FF2D 078C 1027 SET:MD7 JSK  INC:MSG GET NEXT MESSAGE 07DF 8041 0001 1028 TL27 COPY DEVADS(Y),A RESTORE THE DEVICE ADDRESS 07E0 4990  1029 COPY =:90,Q 07E1 030A 1030 XNX A 07E2 4201 1031 OUT Q,1   SET MODE REGISTER 07E3 030A 1032 XNX A 07E4 2101 1033 IN 1,X INPUT STATUS REG INTO X 07E5 381F 1034 AND =:001F,X MASK OFF ALL BUT LAST 5 BITS 07E6 2C0F 1035  CLSN X,=:0F CHECK TO SEE IF EXTERNAL INTERRUPT BIT IS CLEARED 07E7 9E8D 07F5 1036 JMP DONE  IF NO ERROR GO TO DONE 18E3 18E7 1037 CALL TAKACTN,=:0 PRINT ERROR MESSAGE 07F4 11AA 07DF 1038  JNE A,TL27 IF IN TECH-LOOP GO TO TL27 18E3 18E7 1039 DONE EXIT 1PAGE 0030 MACRO (F100) SCOUT HARDWARE TEST PROGRAM 1981/11/12 10:34:07.25 ERROR HANDLING SUBROUTINE NAMED TAKACTN 1041 ***************************************************** 1042 * 1043 * TAKACTN EXAMINES THE MODE REGISTER AND 1044 * TAKES APPROPRIATE ACTION 1045 * 1046 ***************************************************** 1047 EXTR SYSERR 1048 EXTR O:MSG,O:IO 1049 EXTR TECHTST,LTECHTST 18E3 18E7 1050 SYSDEF TAKACTN,FLAGS 0001  1051 PTR RES 1 0002 1052 FLAGWORD RES 1 0003 1053 COUNTER RES 1 0004  1054 BLKSIZ RES 1 07F9 0002 1055 ENDEF 18E3 18E7 1056 TAKACTN ENTRY 0808 C031 0031 1057 COPY TECHFLAG,Q 0809 4C01 1058 CLSN Q,=:01 080A 9EFA 0885 1059 JMP FLG03A 080B 8442 0002 1060 COPY FLAGS,FLAGWORD(Y) 1061 * FIND THE BOARD NOW BEING TESTED 080C 2921 1062 COPY =:21,X FIRST STATUS REGISTER 080D 2C2F 1063 FINDBRD CLSN X,=:2F  CHECKED ALL STATUS REGISTERS 080E 9E84 0813 1064 JMP FOUND 080F 8080 0000 1065 COPY 0(X),A  READ A STATUS REGISTER 0810 00FF 1066 TBIT 15,A TEST THE CURRENT-TEST-FLAG 0811 3641 0813 1067 JT OV,FOUND 0812 34BA 080D 1068 IJNE X,FINDBRD KEEP TRYING 00000813 1069 FOUND  EQU $ 0813 DC80 0000 1070 IMS 0(X) INCRENMENT FAILURE COUNT FOR THIS BOARD 0814 C080 0000 1071 COPY 0(X),Q 0815 40FC 1072 SBIT 15,Q 0816 C480 0000 1073 COPY Q,0(X) 0817 0000 1074 NOP IN CASE OF COUNT OVERFLOW 0818 8020 0020 1075 COPY MODEREG,A  TEST FLAGS FOR ACTION TO TAKE 0819 008F 1076 TBIT MODEFLAG,A IS IT AN INTERACTIVE TEST 081A 3641 081C 1077 JT OV,FLGG IF NOT,THEN BYPASS MSG OUTPUT 081B 9ECC 0868 1078 JMP FLG02 081C 00CF  1079 FLGG TBIT ALRMFLAG,A 081D 36D2 0830 1080 JF OV,FLG01 IF FLAG=0,THEN GO ON 18E3 18E7 1081 CALL O:IO,=CO,=:07 OTHERWISE RING BELL 0830 8020 0020 1082 FLG01 COPY MODEREG,A GET THE FLAG REGISTER BACK 0831 00DF 1083 TBIT MSGFLAG,A ARE MESSAGES WANTED 1PAGE 0031 MACRO (F100) SCOUT HAR DWARE TEST PROGRAM 1981/11/12 10:34:10.00 ERROR HANDLING SUBROUTINE NAMED TAKACTN 0832 36F5 0868 1084 JF OV,FLG02 0833 C032 0032 1085 COPY MSGPTR,Q 0834 4028 1086 EXCH X,Q SWAP POINTERS  0835 8080 0000 1087 COPY 0(X),A GET SIZE OF MSG POINTER BLOCK 0836 8444 0004 1088 COPY A,BLKSIZ(Y) AND SAVE IT 0837 0902 1089 COPY =2,A 0838 8443 0003 1090 COPY A,COUNTER(Y) BLOCK IS 2 LARGER THAN NO. OF FLAGS TO TEST 0839 8081 0001 1091 COPY 1(X),A GET ADDRESS OF FIRST MESSAGE 083A 8441 0001 1092 COPY A,PTR(Y) 18E3 18E7 1093 CALL O:MSG,=CO,=LEN1,PTR PRINT FIRST MESSAGE  084B DC43 0003 1094 FLG01:B IMS COUNTER(Y) 084C 8043 0003 1095 COPY COUNTER(Y),A 084D 8C44 0004 1096  SUB BLKSIZ(Y),A 084E 1258 0867 1097 JGT A,FLG01:C EXIT WHEN LOOP COUNTER > BLKSIZ 084F 2B01 1098 ADD =1,X INCREMENT MSG PTR INDEX 0850 8042 0002 1099 COPY FLAGWORD(Y),A 0851 0E09 1100 SHIFT A,RO,1 SHIFT NEXT BIT INTO OV FOR TESTING 0852 8442 0002 1101 COPY A,FLAGWORD(Y) 0853 36D2 0866 1102 JF OV,FLG01:A 0 -> OK, 1 -> ERROR 0854 8081 0001 1103 COPY  1(X),A GET ADDRESS OF NEXT MESSAGE IN BLOCK 0855 8441 0001 1104 COPY A,PTR(Y) 18E3 18E7 1105  CALL O:MSG,=CO,=LEN2,PTR PRINT BIT IN ERROR 0866 9E64 084B 1106 FLG01:A JMP FLG01:B LOOP BACK TO TEST NEXT FLAG 0867 4028 1107 FLG01:C EXCH X,Q SWAP POINTERS BACK 0868 8020 0020 1108 FLG02 COPY MODEREG,A 0869 00AF 1109 TBIT ACTNFLG2,A HALT OR CONTINUE TESTING 086A 36C1 086C 1110 JF OV,FLG03 086B 0E0D 1111 HLT I'VE BEEN TOLD TO STOP 086C 8020 0020 1112 FLG03 COPY MODEREG,A 086D 009F 1113 TBIT ACTNFLG1,A TECH TEST OR CONTINUE 086E 36DB 088A 1114 JF OV,FLG04 086F 8020 0020 1115 COPY MODEREG,A TEST FOR INTERACTIVE TEST AGAIN 0870 008F 1116 TBIT MODEFLAG,A 0871 36D3 0885 1117 JF OV,FLG03A IF NOT INTERACTIVE,THEN NO MESSAGE SENT 18E3 18E7 1118 CALL O:MSG,=CO,LTECHTST,=TECHTST 0883 0901 1119 COPY =1,A 0884 8431 0031 1120  COPY A,TECHFLAG 18E3 18E7 1121 FLG03A EXIT =1 TELL CALLER TO START TECH-TEST LOOP 18E3 18E7 1122 FLG04 EXIT =0 1123 END 0000 ERRORS (0000/0000) 0002 WARNINGS (0004/0124) ’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I1PAGE 0001 MULTI-TASKING LINKER (F1) 1981/11/12 11:25:18 FILE USAGE SUMMARY DH.HFT:PIC.BIN=DH.HFT:EXEC.OBJ(RELOCATABLE=1000)+ DH.HFT:PIC.OBJ(UNCONDITIONAL)+ DH.HFT.LIB 1PAGE 0002 MULTI-TASKING LINKER (F1,EB,E5,E3, --,E3,E1) 1981/11/12 11:26:30 ALL SYMBOLS THE TRANSFER ADDRESS IS 1000(ROM) MEMORY RELOCATABLE (1000 - 0FFF) 1000-R:LOW 1F76-R:HIGH SEGMENT ROM (1000 - 1EC8) RELOCATABLE - RAM (1000 - 1EC8) 1000-HFT:EXC 1BE8-YES:NO 1CC8-LSIGNOFF 1D0E-LALRMBEL 1D67-LTSTRT 12EB-HFT:PIC 1C34-BLINKER 1CC9-AIDS 1D0F-XTEND 1D68-TSTRT2 16C7-MOD:ISO 1C51-BRDPRMT 1CE1-LAIDS 1D27-LXTEND 1D89-LTSTRT2 1828-INT:TST 1C86-LBRDPRMT 1CE2-ERRHLT 1D28-SINGLE 1D8A-TECHTST 1935-EXT:ITF 1C87-CNTPRMT 1CEF-LERRHLT 1D3F-LSINGLE 1D97-LTECHTST 1B3A-PRTHEX 1CAE-LCNTPRMT 1CF0-ERRLOOP 1D40-VERIFY 1D98-O:MSG 1B8B-FLUSH 1CAF-DSHPRMT 1CFD-LERRLOOP 1D56-LVERIFY 1DDB-O:BY2H 1BCC-SYSERR 1CBB-LDSHPRMT 1CFE-ALRMBEL 1D57-TSTRT 1E0C-O:IO 1BE4-RTCSERV 1CBC-SIGNOFF SEGMENT TESTENTR (1EC9 - 1EF0) RELOCATABLE - RAM (1EC9 - 1EF0) 1EC9-EXCINIT: 1ED1-EXT:ITT: 1ED9-WZU:INT: 1EE1-W1U:INT: 1EE9-INT:TST: 1ECD-MOD:ISO: 1ED5-WZL:INT: 1EDD-W1L:INT: 1EE5-ISO:INT: 1EED-EXT:ITF: SEGMENT JUMPTABL (1EF1 - 1EF4) RELOCATABLE - RAM (1EF1 - 1EF4) 1EF4-ENDTABL SEGMENT MESSAGE (1EF5 - 1F72) RELOCATABLE - RAM (1EF5 - 1F72) 1F72-ENDMSG SEGMENT BRDENTR (1F73 - 1F76) RELOCATABLE - RAM (1F73 - 1F76) 1F73-HFT:PIC: NO WARNINGS I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’IAS LO=HFT:PIC.MAP LINK HFT:PIC.BIN=HFT:EXEC(R=1000)+ HFT:PIC(U)+ HFT JOB PRINT THE LINK MAP AND LISTING? IF YES TYPE C, IF NO TYPE X. PAUSE PRI HFT:PIC.MAP PRI HFT:PIC I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I’I TITL SCOUT HARDWARE FUNCTIONAL TEST SYSTEM TITL MACRO DEFINITIONS XMACRO BAR ************************************************************ ENDM BAR * * COPYRIGHT 1979, COMPUTER AUTOMATION, INC * ALL RIGHTS RESERVED * BAR BAR TITL BAR * * MACRO JLPOOL - GENERATE AN LPOOL WITH A JUMP AROUND IT * BAR XMACRO JLPOOL JMP !LPL: JUMP AROUND LPOOL LPOOL !LPL: EQU $ ENDM SPACE 4 BAR * * MACRO BRKPT - GENERATE A DEBUG DUMMY BREAKPOINT * BAR MACRO BRKPT JST *0 ENDM BAR * * MACROS DEFINE, RESERVE & ENDEF - * USED TO DEFINE THE Y-SCRATCHPAD AREA OF A SUBROUTINE * CALLING SYNTAX: *  DEFINE LABEL<,LABEL> . . . * OPERAND #1 - SUBROUTINE BEING DEFINED * OPERANDS #2 - #8 - OPTIONAL SUBROUTINE PARAMETERS * BAR MACRO DEFINE OPTIONS +:4 BRD:: SET FALSE IFT #(?)>1 #(2) EQU A ENDC LP OOL TESTENTR REL NAM #(1): #(1): JSK #1 COPY L,Y JMP $-2 ABS 0  RES 1 RESERVE A LOCATION FOR CALLER SCRATCH PTR DEF: SET #(?)-1 IFT DEF:>1 RESERVE  #3,#4,#5,#6,#7,#8,#9,#10 RESERVE SPACE FOR PASSED PARMAMETERS ENDC ENTRSIZ SET 4 ARGS: SET $-1 OPTIONS -:4  ENDM SPACE 4 MACRO RESERVE RES: SET $ #(RES:) RES 1 IFT $1 #(2) EQU A ENDC LPOOL BRDENTR REL NAM #(1): #(1): JMP *$+1 WORD  #(1)Z NOP NOP ABS 0 RES 1 RESERVE A LOCATION FOR THE CALLER SCRATCH PTR DEF: SET #(?)-1 IFT DEF:>1 RESERVE #3,#4,#5,#6,#7,#8,#9,#10 RESERVE SPACE FOR PASSED PARAMETERS ENDC ARGS: SET $-1 OPTIONS -:4 ENDM TITL BAR * * MACRO SYSDEF - SUBSTITUTE FOR THE DEFINE MACRO, * USED TO DEFINE THE SYSTEM ROUTINES * BAR MACRO SYSDEF OPTIONS +:4 BRD:: SET FALSE IFT #(?)>1 #(2) EQU A ENDC LPOOL ABS 0 RES 1 RESERVE A LOCATION FOR THH CALLER SCRATCH PTR DEF: SET  #(?)-1 IFT DEF:>1 RESERVE #3,#4,#5,#6,#7,#8,#9,#10 RESERVE SPACE FOR PASSED PARAMETERS ENDC ARGS: SET $-1 OPTIONS -:4 ENDM TITL BAR * * MACRO ENTRY - GENERATES CODE FOR A SUBROUTINE ENTRY * CALLING SYNTAX: *