ASMB,R,L,C
      HED PRMPT - MTM PROMPTER
*     NAME:   PRMPT 
*     SOURCE: 92067-18003 
*     RELOC:  PART OF 92067-16003 
*     PGMR:   G.A.A.,C.M.M. 
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
       NAM PRMPT,1,5 92067-16003 REV.1926 790506
       SUP PRESS ALL EXTRANEOUS  LISTING
       EXT EXEC,TRMLU,$LIBR,$LIBX,IDGET,$RNTB,$BMON 
       EXT $LIBR,$LIBX,$MTM 
* 
* THIS INTERRUPT ROUTINE REPLACES (AUXTY IN RTE) WITH (PRMPT IN RTE II).
* IT IS SCHEDULED ON INTERRUPT BY DVR00 IF THAT TERMINAL HAS BEEN 
* PROPERLY ENABLED (ON,CNTRL,LU,20) 
* PRMPT : DETERMINES LU IN ASCII & BINARY 
*         OUTPUTS A ZERO LENGTH RECORD
*         OUTPUTS "LU>_"
*         REQUESTS A CLASS READ TO THE INTERRUPTING LU
*         SCHEDULES R$PN$,2,10 WITH :CLASS #,EQT4,LU,ASCII LU 
*                   W/O WAIT
*         TERMINATES,SAVING RESOURCES 
* 
PRMPT EQU * 
      STB EQT4      SAVE INTERRUPTING DEVICE'S EQT WORD 4 ADDRESS 
      JSB TRMLU      OBTAIN LU IN BINARY & ASCII
      DEF *+1 
      SZA,RSS       FOUND ONE ? 
      JMP EXIT      NO,TERMINATE. 
      STA LU        YES,SAVE LU <BINARY>
      IOR B400      READY PRINT BACK
      STA RLU       SAVE READ LU + CNTRL IN RLU 
      XOR B2500     FORM CONTROL WORD...
      STA CONWD 
* 
      STB ASCLU     SAVE ASCII LU 
      BLF,BLF       ROTATE FOR NAME 
      STB PNAM+2    FORM NAME OF FMGR FOR THE TERMINAL
* 
      SPC 1 
*     CHECK IF DEVICE IS OPERABLE 
      SPC 1 
      LDB DRT       GET START OF DEV REF TAB
      ADB LU        INDEX TO PROPER ENTRY 
      ADB DM1 
      STB LU1       SAVE THE ADDRESS
      ADB LUMAX     GET TO DRT PART 2 
      LDA B,I       PULL IT IN
      SSA           IS THE LU DOWN ?
      JMP EXIT      YES SO FORGET IT
* 
      LDB EQT4      NOW GET 
      INB           EQT 5 
      LDA B,I 
      AND MEQT      GET THE EQT TYPE FOR
      STA DVTYP     DVR07 CHECK 
* 
      LDA B,I       GET IT AGAIN
      RAL,RAL       GET STATUS BITS 
      AND D3
      CPA D1        IS EQT DOWN ? 
      JMP EXIT      YES SO FORGET IT
* 
      LDA LU1,I     GET THE DRT ENTRY 
      AND M3700     NOW THE LOCK BITS 
      SZA,RSS       IS THE DEVICE LOCKED ?
      JMP DISAB     NO, SO WRITE OUT THE PROMPT.
* 
      ALF,ALF       YES SO CONFIGURE A RN BYPASS WORD 
      RAL,RAL 
      STA RN# 
      ADA RNTB      NOW GO TO RN # TABLE
      XLA A,I 
      AND B377      GET THE OWNER TO
      ALF,ALF       TO UPPER END
      IOR RN#       CONFIGURE THE WORD
DISAB STA RN# 
* 
      LDA DVTYP     GET THE DRIVER TYPE 
      CPA DVR07     IS IT DVR07 ? 
      JMP DVR7A     YES 
* 
      JSB EXEC      DISABLE THE TERMINAL TO AVOID 
      DEF *+10      MULTIPLE PROMPTS....
      DEF D3
      DEF CONWD 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF RN# 
* 
      JMP ZEROL     GO SEND ZERO LENGTH RECORD
* 
DVR7A LDA LU        SEND EDIT MODE REQUEST TO DVR07 
      IOR B2300 
      STA CONWD 
      JSB EXEC
      DEF *+10
      DEF D3
      DEF CONWD 
      DEF IM
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF RN# 
* 
ZEROL JSB EXEC      RESPOND WITH
      DEF *+10       ZERO LENGTH RECORD 
      DEF DS2 
      DEF LU
      DEF BUFF
      DEF D0
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF RN# 
      NOP 
* 
      LDA PNAM+2    FINISH NAME SET UP
      AND B377      KEEP LOW CHAR. ONLY 
      IOR "G"       ADD HIGH ORDER G FOR FMGXX
      STA PNAM+1    SET 'GX'
      SKP 
* 
      JSB IDGET    LOOK UP THE ID ADDRESS 
      DEF *+2 
      DEF PNAM
      SEZ 
      JMP PROMT     NO GO DO PROMPT 
* 
      ADA D8        GET POINT OF SUSP.
      XLB A,I       GET ADDRESS 
      SZB           IF NOT ZERO 
      JMP PROMT     DO STD. PROMPT
* 
      ADA D12       GET ADDRESS OF SESSION BIT WORD 
      STA IDA       SAVE IT FOR LATER 
      ADA D12       GET THE SESSION WORD
      STA SESWD     SAVE IT FOR LATER TOO 
* 
*     *1926DLS* FROM G.M. FOR RTE-IVB         
* 
      DLD DEFAD     *DEFINE LOCATION OF 
      DST LISEV     * LIST AND SEVERITY PARMS 
      LDA $BMON     *FETCH FILE MANAGER TYPE FLAG 
      SZA,RSS       *IF IVA VERSION 
      JMP OK!       *GO SCHEDULE HIM
* 
      DLD DEFAD     *ELSE REVERSE 
      SWP           *THE ORDER OF LIST AND SEVERITY 
      DST LISEV     *FOR FILE MANAGER TURN-ON 
* 
OK!   JSB EXEC      TRY TO SCHEDULE 'FMGLU' 
      DEF *+1+9 
      DEF DS10      (NO ABORT)
      DEF PNAM
      DEF LU        PASS IT THE TERMINAL LU 
      DEF LU         LOG LU 
LISEV DEF LU         LIST LU
      DEF D1        SEVERITY OF ONE 
      DEF D1        DUMMY 
      DEF STNG      TURN ON STRING
      DEF D4        LENGTH IS 4 
      JMP PROMT     IF ERROR - DO PRMPT-R$PN$ THING!
      SZA           A=0 IF ALL'S WELL...
      JMP PROMT     ELSE, DO PRMPT-R$PN$ AS NORMAL. 
* 
*       *1926DLS* END CHANGES 
      JSB $LIBR     GO PRIV 
      NOP 
      XLA IDA,I     GET THE SESSION BIT WORD
      IOR SESS
      XSA IDA,I       SET SESSION BIT   IN ID 
      LDB LU          GET OUR LU #
      CMB,INB         MAKE NEG
      XSB SESWD,I     AND SET UP FMGR'S LOG LU
      JSB $LIBX 
      DEF *+1 
      DEF *+1 
      LDA ASCSP     SET UP PROMPT BUFFER... 
      STA ASCLU+1 
      JSB EXEC      OUTPUT "LU> FMGLU"
      DEF *+10
      DEF DS2 
      DEF LU
      DEF ASCLU 
      DEF N9
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF RN# 
* 
      NOP 
* 
      LDA DVTYP     GET THE DEVICE TYPE 
      CPA DVR07     IS IT DVR07 ? 
      JMP EXIT      YES, SO JUST EXIT 
      LDA CONWD     RE-ENABLE THE TERMINAL
      AND B77 
      IOR B2000 
      STA CONWD 
      JSB EXEC
      DEF *+10
      DEF D3
      DEF CONWD 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF RN# 
      JMP EXIT
* 
PROMT LDA ASCBK     SET BACK-ARROW IN PROMPT
      STA ASCLU+1   MESSAGE 
* 
      JSB EXEC
      DEF *+10       "LU>_" 
      DEF DS2 
      DEF LU
      DEF BUFF
      DEF D2
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF NOP 
      DEF RN# 
      NOP 
      SPC 1 
      LDA $MTM      GET ANY PREVIOUS CLASS # ALLOCATED
      STA CLASS     AND USE IT. 
      SPC 1 
      JSB EXEC      PERFORM CLASS I/O READ
      DEF *+10
      DEF DS17
      DEF RLU 
      DEF * 
      DEF DM80                 *1926DLS*
      DEF LU
      DEF EQT4
      DEF CLASS 
      DEF NOP 
      DEF RN# 
      NOP 
      SSA           ERROR RETURN? 
      JMP EXIT      YES-BEAT IT ! 
* 
ZAPIT JSB SVMTM     NO, SO SAVE CLASS # 
      SPC 1 
      JSB EXEC      SCHEDULE R$PN$ W/O WAIT 
      DEF *+1+3     IGNORE SCHEDULE ERRORS SINCE
      DEF D10       R$PN$ IN CLASS 'GET' SUSPEND
      DEF R$PN$ 
      DEF CLASS 
* 
* 
* 
EXIT  JSB EXEC      TERMINATE 
      DEF *+1+3      & SAVE 
      DEF D6          RESOURCES 
      DEF D0
      DEF D1
      JMP PRMPT     RESTART HERE ON INTERRUPT 
* 
* 
* 
* 
* 
SVMTM NOP 
      JSB $LIBR     GO PRIV 
      NOP 
      LDA CLASS     GET CLASS # 
      STA $MTM      AND SAVE IN TABLE AREA 1
      CLA           NEVER DO THIS SUB AGAIN 
      STA ZAPIT 
      JSB $LIBX 
      DEF SVMTM     RETURN
* 
* 
      SKP 
****************2 WORD VALUE DON'T TOUCH******
DEFAD DEF LU                   *1926DLS*  FROM G.M. 
      DEF D1                   *1926DLS*  FROM G.M. 
**********************************************
IDA   NOP 
"G"   OCT 43400 
B377  OCT 377 
SESS  OCT 20000 
EQT4  BSS 1 
LU    BSS 1 
B77   OCT 77
B400  OCT 400 
B2000 OCT 2000
B2500 OCT 2500
RLU   BSS 1 
DS2   OCT 100002
D2    OCT 2 
D3    OCT 3             *1926DLS* DEL NEXT LINE 
CONWD NOP 
LU1   NOP 
DRT   EQU 1652B 
LUMAX EQU 1653B 
BUFF  EQU * 
ASCLU ASC 2,00>_    PROMPT MESSAGE
PNAM  ASC 3,FMGXX   FMGR FOR THE TERMINAL 
ASCSP ASC 1,>       * 
ASCBK ASC 1,>_      * 
N9    DEC -9
D6    DEC 6 
D0    DEC 0 
D1    DEC 1 
DM1   DEC -1
M3700 OCT 3700
D4    DEC 4 
D8    DEC 8 
D12   DEC 12
STNG  ASC 4,::HI::-2    TR TO 'HI' TO START UP
CLASS NOP 
NOP   NOP 
DM80  DEC -80 
D10   DEC 10
DS10  OCT 100012
R$PN$ ASC 3,R$PN$ 
DS17  OCT 100021
RNTB  DEF $RNTB+0 
RN#   NOP 
MEQT  OCT 37400 
B2300 OCT 2300
IM    OCT 71401 
DVR07 OCT 3400
DVTYP NOP 
SESWD NOP 
A     EQU 0 
B     EQU 1 
      END PRMPT 
  