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 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