ASMB,Z,L,T,C,R ***RTE 2640\2644\2645 DRIVER (HARDWIRE)** * NAME: DVR05 * SOURCE: HP 264X RTE DVR05 92001-18026 * * PRMR: B.B. * * SOURCE FILE &DVR05 * RELOC. FILE %4DV05 92001-16027 (CTU AND PRINTER OPERATION) * RELOC. FILE %0DV05 92001-16028 (KEYBOARD\DISPLAY ONLY) * ***************************************************************** * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1976. ALL RIGHTS * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * REPRODUCED OR TRANSALATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * ***************************************************************** * ****DVR05 WILL WORK WITH 2640A,B\2644\2645\2648 * * *2.1 INPUT/OUTPUT INTERFACE * * DVA 05 WILL COMMUNICATE WITH THE 26XX VIA THE 12966 BUFFERED * ASYNCHRONOUS DATA COMMUNICATION INTERFACE CARD. DVA 05 WILL ALSO * FUNCTION WITH A 2640A FOR THOSE APPLICATIONS WHERE THE CTU IS * NOT REQUIRED. COMMUNICATION FROM THE 2644A/2640A KEYBOARD MAY BE * IN EITHER CHARACTER OR BLOCK MODE. THE TERMINAL CAN BE USED WITH * "LINE STRAPPING", OR "PAGE STRAPPING" AND HENCE A SINGLE LINE OR * THE ENTIRE DISPLAY MEMORY CAN BE TRANSMITTED AFTER BEING ENABLED. * * *2.2 MAJOR FUNCTIONS * * DVA 05 PROVIDES THE FOLLOWING MAJOR FUNCTIONS: * 1. I/O CONTROL OF CARTRIDGE TAPE UNIT (CTU),CRT,AND TERMINAL PRINTER. * 2. READ OR WRITE REQUEST TO CTU WITH BINARY OR ASCII DATA. * 3. READ OR WRITE REQUEST TO KEYBOARD AND DISPLAY. * 4. STATUS REQUEST TO CTU AND KEYBOARD. * 5. CONSOLE OR TERMINAL USE. * 6. WRITE REQUEST TO TERMINAL PRINTER (2644 2645 ONLY) * * *2.2.1 CTU CONTROL REQUEST * *ICNWD (CONTROL LEFT OR RIGHT CTU AS SELECTED BY LOGICAL UNIT NUMBER) * 01-WRITE END OF FILE * 02-BACKSPACE 1 RECORD * 03-FORWARD SPACE 1 RECORD * 06-DYNAMIC STATUS * 14-BACKSPACE 1 FILE * 13-FORWARD SPACE 1 FILE * 4,5-REWIND * 27-LOCATE FILE. THIS IS AN ABSOLUTE FILE NUMBER. * 26-WRITE END OF VALID DATA (EOV) * 10-WRITE EOF IF NOT JUST WRITTEN OR NOT AT BOT * * *NOTES ON CTU CONTROL REQUEST * * A. A REWIND, BACKSPACE RECORD, OR BACKSPACE FILE WILL PERFORM * NO ACTION IF THE TAPE UNIT IS AT LOAD POINT. THIS CONDITION * WILL BE SET IN THE STATUS WORD (BIT 6 SET). * B. IF THE END-OF-TAPE MARK IS SENSED DURING A WRITE OPERATION, * AN END OF VALID DATA MARK WILL BE RECORDED AUTOMATICALLY. IF * A WRITE REQUEST WAS BEING PROCESSED, THE CURRENT RECORD WILL * BE RECORDED. IF A READ REQUEST WAS IN PROCESS THE CURRENT * RECORD WILL BE READ. THIS CONDITION WILL BE SET IN THE STATUS * WORD. * C. FOR FILE MOTION COMMANDS THE TAPE IS POSITIONED AFTER THE * FILE MARK. * D. READ REQUESTS WILL BE REJECTED IF THE TAPE IS AT EOV. THE * EOV MAY BE OVERWRITTEN WITH DATA OR A FILE MARK UNLESS THE * TAPE IS AT END-OF-TAPE. * E. AN INVALID FUNCTION CODE WILL CAUSE THE DRIVER TO EXIT WITH * A REG.=2 THRU I.05. IF THE FUNCTION CODE IS VALID, EXIT IS * THRU C.05 WITH A REG.=0. * * F. DYNAMIC STATUS PUTS THE STATUS OF THE LAST LEFT OR RIGHT * CTU OPERATION IN EQT 5. * * *2.2.2 CRT CONTROL REQUEST * *ICNWD * 11-SPACE "IPRM" LINES -IPRM PG. EJECT 9871 ONLY * 20-ENABLE TERMINAL. ALLOWS TERMINAL TO SCHEDULE PROGRAM WHEN KEY IS * STRUCK. * 21-DISABLE TERMINAL. INHIBIT SCHEDULING OF TERMINAL'S PROGRAM. * 22-SET NEW TIME OUT (IN OPTIONAL PARAMETER) * 23-CLEAR THE OUTPUT QUEUE (BUFFER FLUSH). * 24-RESTORE OUTPUT PROCESSING. REQUIRED ONLY IF SOME OF BUFFER IS * TO BE SAVED. * 25-UPDATE TERMINAL STATUS * 30-TERMINAL MODEM CONTROL * 31-LINE CONTROL FOR MODEMS * 32-AUTOANSWER FOR MODEMS *2.2.3 CTU READ/WRITE REQUEST * * -READ/WRITE FROM LEFT OR RIGHT CTU AS SELECTED BY LOGICAL UNIT * NUMBER. * -IF THE OPERATION FAILED, RETURN WILL BE THROUGH C.05 WITH A=1 * AND B=O. *ICNWD * * 6 -0/1 IS ASCII/BINARY * 10-0/1 IS NOT HONEST/HONEST * * -BINARY INPUT IS A STRING OF CHARACTERS SPECIFIED BY THE BUFFER * LENGTH PARAMETER IN THE REQUEST. IF THE REQUIRED LENGTH IS FILLED * BEFORE A END-OF-RECORD (EOR) IS ENCOUNTERED, THE REMAINING DATA * IS IGNORED AND THE CTU WILL STOP AT THE NEXT EOR. IF A EOR IS * ENCOUNTERED BEFORE THE REQUIRED LENGTH IS FILLED THE CTU WILL * HALT IN THE EOR. BINARY EOR IS DETECTED BY THE REQUEST TO SEND * LINE MOMENTARILY GOING NOT READY. IF BUFFER LENGTH=0, THEN SKIP * ONE RECORD. * -BINARY OUTPUT IS A STRING OF CHARACTERS SPECIFIED BY THE BUFFER * LENGTH PARAMETER IN THE REQUEST. MAXIMUM RECORD LENGTH IS 128 * WORDS. THIS LIMIT IS SET BY THE CTU DATA BUFFER. IF THIS LENGTH * IS EXCEEDED, OR IF BUFFER LENGTH=0, RETURN IS A REG.=1 THRU I.05. * -ASCII INPUT IS A STRING OF CHARACTERS TERMINATED BY A CARRIAGE * RETURN (CR). IF THE REQUIRED LENGTH IS FULFILLED BEFORE A CR * IS INPUT, THE REMAINING CHARACTERS ARE IGNORED. IN ANY CASE, A * CR CODE MUST BE INPUT. * -ASCII OUTPUT IS A STRING OF CHARACTERS SET BY THE BUFFER LENGTH. * MAXIMUM RECORD LENGTH IS 127 WORDS (CR IS SENT BY DVA 05). THE * DRIVER WILL TERMINATE THE REQUEST IF IT SEES A "CR", "LF" OR "RS". * THE DRIVER USES THE "CR" AS A RECORD TERMINATOR ON INPUT * AND THE 26XX USES THE "LF" AS RECORD TERMINATOR ON OUTPUT.A "RS" * IS PASSED TO THE DRIVER WHEN THE CTU ENCOUNTERS A FILE GAP. * * *2.2.4 ASCII OUT TO DISPLAY * * -ASCII OUTPUT IS A STRING OF CHARACTERS, THE NUMBER OF WHICH IS * DESIGNATED BY THE BUFFER LENGTH. THE STRING IS TERMINATED BY A * CARRIAGE RETURN AND LINE FEED (BOTH SUPPLIED BY DRIVER). * -IF AN UNDERSCORE (ASCII 137) IS THE LAST CHARACTER IN THE NEW * BUFFER, THE CARRIAGE RETURN, LINE FEED AND UNDERSCORE CODES ARE * NOT OUTPUT TO THE CRT. * -BUFFER LENGTH SHOULD BE LIMITED TO 80 DISPLAYABLE CHARACTERS. * -THE CURSOR WILL REMAIN IN COLUMN 80 IF CURSOR END-OF-LINE WRAP * AROUND STRAP IS NOT IN. OTHERWISE AN AUTOMATIC CR LF ARE GENERATED. * -HONEST MODE WRITE THE CR AND LF ARE NOT OUTPUT. AN UNDERSCORE * WILL ALWAY BE OUTPUT TO DISPLAY IF IN BUFFER. * * -BINARY WILL STRIP "ESC" * *2.2.5 ASCII INPUT FROM KEYBOARD CHARACTER MODE * * THE DRIVER DETECTS WHETHER A CHARACTER MODE OR BLOCK MODE REQUEST * WILL FOLLOW BY EXAMINING THE FIRST CHARACTER. IF IT IS A DC2 * THEN THE DRIVER ASSUMES THE ENTER KEY HAS BEEN PRESSED AND A * BLOCK TRANSMISSION IS PENDING. THE DRIVER RESPONDS WITH A DC1 TO * TRIGGER THE BLOCK TRANSFERS. IF THE FIRST CHARACTER IS NOT A DC1 * THEN THE DRIVER ASSUMES A CHARACTER TRANSFER IS PENDING. * IN CHARACTER MODE THE TERMINAL TRANSMITS A CHARACTER AT A TIME AS * THE KEY IS DEPRESSED. THE RECORD TERMINATION IS A CR OR RS. THE * DRIVER ECHOS A LF. * A RECORD TERMINATOR MUST BE ENTERED TO COMPLETE REQUEST, EVEN IF THE * USERS BUFFER IS FULL. TRANSMISSION LOG IS RETURNED IN B REG. * THERE ARE TWO TYPES OF CHARACTER MODE PROCESSING: HONEST AND NON-HONEST * A. HONEST * ALL CHARACTERS EXCEPT CR AND RS SENT TO USERS BUFFER. * B. NON-HONEST * THE DRIVER WILL PROCESS THE BELOW SPECIAL CHARACTERS: * *DEL (RUBOUT) ASCII 177 * ENTERING DEL WILL DELETE THE CURRENT RECORD AND CAUSE (\, * CRLF)TO BE OUTPUT. THIS IS USED TO DELETE THE CURRENT LINE * AND START A NEW LINE. * *BACKSPACE ASCII 10 * ENTERING BACKSPACE WILL DELETE THE LAST CHARACTER. THE * TERMINAL WILL LOCALLY MOVE THE CURSOR BACK ONE POSITION. * *LINEFEED ASCII 12 * THIS WILL NOT BE SENT TO USER'S BUFFER. * * CNTROL D ASCII 40 * ENTERING CONTROL D WILL CAUSE BIT 5 TO BE SET IN TERMINAL * STATUS WORD AND TRANSMISSION TERMINATED WITH B REG. = 0. THIS * BIT WILL BE CLEARED UPON NEXT ENTRY. * * *2.2.6 ASCII INPUT FROM KEYBOARD BLOCK MODE * * IN BLOCK MODE THE TERMINAL TRANSMITS EITHER A LINE AT A TIME (LINE * STRAPPING) ON A PAGE (PAGE STRAPPING). THE DRIVER DETERMINES TYPE * OF STRAPPING BY A TERMINAL STATUS REQUEST. * A. LINE STRAPPING * THE TERMINATOR IS A CR WHICH IS NOT PASSED TO USER'S * BUFFER. IMBEDDED RS'S ARE NOT PASSED. * B. PAGE STRAPPING * THE TERMINATOR IS A RS WHICH IS NOT PASSED TO USER'S BUFFER. THE * LINE SEPARATORS CR, LF ARE PASSED TO USER'S BUFFER. * C. A "US"OR "RS" IS NEVER PASSED TO BUFFER UNLESS TRANS. READ * D. BLOCK READS ARE OF 2 TYPES: * 1. TERMINAL ENABLED (ENTER PRESSED) * 2. USER ENABLED ("ESC" SMALL "D" SENT BY USER) * * *2.2.7 CTU STATUS REQUEST (RETURNED IN EQT5) * * BIT * 7 -END OF FILE SENSED. A FILE MARK HAS BEEN DETECTED DURING A PRIOR * READ OPERATION OR A FILE MARK HAS JUST BEEN RECORDED. * 6 -LOAD POINT SENSED. CARTRIDGE TAPE IS AT OR BEFORE LOAD * POINT MARKER. MEANINFUL ONLY IF CARTRIDGE IS INSERTED. * 5 -END OF TAPE SENSED. THE CARTRIDGE TAPE HAS PASED OVER EARLY * WARNING MARKER IN THE TAPE AND AN END-OF-VALID DATA MARK HAS BEEN * RECORDED AUTOMATICALLY. COMMANDS DIRECTING FORWARD MOTION OF TAPE * WILL BE REJECTED. THIS STATUS ONLY HAS MEANING IF A CARTRIDGE IS * INSERTED. * 4 -READ\WRITE ERROR.WRITE 2645 ONLY * A READ ERROR EXISTS IF THREE SUCCESSIVE ATTEMPTS FAILED TO READ * THE DATA IN THE RECORD. THE TAPE IS POSITIONED AFTER THE BAD * RECORD. * 3 -LAST COMMAND ABORTED. THE LAST COMMAND INITIATED FROM THE CPU OR * KEYBOARD WAS UNSUCCESSFULLY PERFORMED. OTHER STATUS CONDITIONS * MAY BE CHECKED FOR CAUSE. * 2 -WRITE PROTECTED. THE FILE PROTECT TAB ON THE CARTRIDGE IS IN THE * POSITION TO PROHIBIT RECORDING OF DATA. THIS STATUS ONLY HAS * MEANING IF A CARTRIDGE IS INSERTED AND A RECORDING OPERATION HAS * BEEN ATTEMPTED. * 1 -END OF VALID DATA. THE CARTRIDGE TAPE DETECTED AN END-OF-VALID * DATA MARK DURING A PRIOR READ OR SEARCH OPERATION OR HAS JUST * COMPLETED RECORDING AN END-OF VALID DATA MARK. IN EITHER CASE, * THE TAPE IS POSITIONED BEFORE THE END-OF VALID DATA MARK. RECORDING * OPERATIONS MAY BE EXECUTED TO OVERWRITE THIS MARK WITH DATA * OR A FILE MARK, UNLESS THE TAPE IS AT END OF TAPE. * 0 -CARTRIDGE NOT INSERTED OR UNIT BUSY. * * *2.2.8 CRT STATUS REQUEST (RETURNED IN EQT5) * * BIT * 1 -TERMINAL ENABLED. IF THE STATUS WORD IS FOR A TERMINAL (NOT A * SYSTEM CONSOLE) TYPING ANY KEY WILL SCHEDULE THE TERMINAL'S * PROGRAM (IF IT HAS ONE). * 5 -CONTROL D ENTERED. THE USER HAS HIT THIS KEY. * 7 -BUFFER FLUSH IN PROGRESS * * * *2.2.9 CONSOLE OR TERMINAL USAGE. * * IF AT GENERATAION THE 26XX IS IDENTIFIED AS A TERMINAL (VIA THE * INTERRUPT TABLE) THEN STRIKING A KEY WILL SCHEDULE THE PROGRAM * ASSOCIATED WITH THAT TERMINAL IF THE TERMINAL HAS BEEN ENABLED * VIA A CONTROL REQUEST. * IF THE 26XX IS A CONSOLE THEN STRIKING A KEY WILL GET THE SYSTEM'S * ATTENTION AND A "*" PROMPT WILL BE WRITTEN. * ****************************************** * SUBROUTINE IS ALWAYS ENTERED TO * * INITIALIZE A SYSTEM OR USER REQUEST TO * * ANY 264X SUBSYSTEM. * ****************************************** * * REV.1805 FIXES SPURIOUS INTERRUPT PROBLEM AFTER * REV.1806 FIXED T BIT ON KEYBOARD ENTRY * POWER UP. ALSO CHANGED WRITE T.O. TO 3.5 SEC * * REV. 1913 FIXED INTERMITTENT HANGUP PROBLEM * THIS CHANGE USES EXTENDED COMM. CARD * REV. 1926 FIXED "TERST" RE-ENTRANT PROBLEM * IFN NAM DVR05 92001-16028 REV. CODE 1926 4-27-79 XIF * IFZ NAM DVR05 92001-16027 REV.1926 4-27-79 XIF ENT I.05,C.05 EXT $LIST,$OPSY I.05 NOP STA TEM12 SAVE SELECT CODE CLB STB TEMP5 SET I.05 C.05 POINTER.DO NOT MOVE JSB SETIO OR Y O U ' L L L O S E CLB DO NOT MOVE THIS BEFORE "SETIO" !!!!! STB EQT20,I "DO'NT SAY I DID'NT TELL YOU SO!!!" * ** DVA ** SFS01 SFS CARD IF FLAG SET THEN POWER FAIL JMP I.055 FLAG NOT SET I.054 JSB XMIT SET UP TO CLR INTERRUPT LDA BN5 CLR ALL CARD INTERRUPTS I.053 JSB OUT2 (0-377) CPA BN7 IS THIS ALL? JMP I.055 YES! FINISHED INA JMP I.053 DO IT AGAIN I.055 LDA EQT16,I FOR BINARY CTU READ AND BN1 CLR SELECTED BITS STA EQT16,I BIT 0 (0\1=TERM.STAT. READ NO\YES) * * * LDA EQT17,I GET THE SCHEDULE FLAG. SZA IS IT DEFINED? JMP I.051 YES, CONTINUE LDA TEM12 SET UP SCHEDULE FLAG . ADA B.6 INDEX INTO INTERRUPT TABLE ADA INTBA GET SCHEDULE WORD.IF WORD NEG. LDB A,I THEN ID SEG. OF PROG. TO SCHED. CMB,SSB,INB CHANGE SIGN OF WORD. CCB NO PROG. TO BE SCHED. (INT. POINTS TO EQT) STB EQT17,I SAVE FOR FURTURE REFERENCE. LDB EQT1 SET EQT ADDRESS IN INTERRUPT STB A,I TABLE LDA EQT4,I SET THE "I WILL HANDLE IOR BN4 TIME OUT" BIT IN STA EQT4,I EQT4.RESTORE WORD. JMP I.054 GO CLEAR ALL SPECIAL INTERRUPTS * * ***************************************************** * "B.X" IS NEG. BINARY NO., "D.X" IS NEG. DECIMAL NO* * "BN" IS SOME BINARY NO. * * SEE BELOW. * ***************************************************** * BN1 OCT 137767 BN4 OCT 10000 BN7 OCT 60377 BN5 OCT 60000 BN70 OCT 173777 * B.6 OCT 177772 B100 OCT 100 * * TEM13 NOP CARD STATUS ON INTERRUPT TEM12 NOP SELECT CODE * * I.051 JSB CDINT * IFZ * SWH1A NOP SWITCH CRT \CTU ,LP= RSS\NOP * JMP I.251 YES! A CTU OR LP REQUEST XIF LDA TEMP4 GET REQUEST TYPE RAR THIS IS A CRT REQUEST SSA,SLA JMP I.05C THIS IS A CONTROL REQUEST. ** DVA ** LDA TEMP4 GET REQUEST TYPE SLA,RSS JMP I.05W THIS IS A WRITE REQUEST JMP I.05R THIS IS A READ REQUEST * ****************************************************************** * SUBROUTINE INITIALIZES THE COMPLETION SECTION * * FOR ALL COMPLETION INTERRUPTS. * * ****************************************************************** * * C.05 NOP ISZ TEMP5 SET CONT. FLAG JSB SETIO CONFIGURE IO ** DVA ** CLC01 CLC CARD GET CARD STATUS LIA01 LIA CARD STA TEM13 STORE CARD STATUS AND B40 CHECK FOR BUFFER OVERFLOW ** DVA SZA HAS IT OVER FLOWED? ** JMP EOOP9 HARD OVERFLOW (B=3,XMISSON ERROR) *** LDA TEM13 CHECK FOR BREAK INT. TO AVOID AND B100 SPURIOUS INT. AFTER POWERUP SZA JMP EXIT5 THIS IS A BREAK INT. *** LDA EQT1,I GET QUE WORD SZA IS A REQUEST IN PROCESS? JMP *+4 YES! JSB SCHED NO REQUEST IN PROCESS JSB SETEM SET FOR ANOTHER INTERRUPT JMP EXIT5 LDA EQT4,I ALF CHECK FOR TIME OUT ENTRY SSA IS THIS TIME OUT (BIT 11) ? JMP TIMOT YES! LDB EQT11,I GET INTERRUPT ADDRESS JMP B,I GOTO IT * ********************************************* * IS CALLED FOR ALL TIMEOUT * * PROCESSING * ********************************************* * ** DVA TIMOT JSB CDINT REINITIALIZE IO CARD JSB SETEM GO ENABLE CONSOLE *** LDA B4 LDB TEM10 GET DEVICE TYPE. IF CRT/GRAPHICS ADB B.60 DO NOT DOWN SZB,RSS CLA CRT JMP C.05,I *** * ***************************************************** * IS CALLED WHENEVER AN INTERRUPT OCCURS AND* * NO PROGRAM IS SCHEDULED (I.E. USER HITS A KEY TO * * GET THE SYSTEM'S ATTENTION * ***************************************************** * * SCHED NOP JSB CLRCD GET CHAR. OFF CARD CLA STA EQT15,I SET T.O. TO 0 LDB EQT1 IS THIS THE SYSTEM CONSOLE? CPB SYSTY JMP OPFLG YES! GO SET OPERATOR FLAG LDB EQT17,I GET TERMINAL ID ADD. LDA EQT28,I IS TERMINAL ENABLED? RAR,SLA SSB YES! IT IS ENABLED JMP SCHED,I IT IS NOT STB TEMP1 *** LDB EQT4 GET ADDRESS OF THIS TERMINAL'S EQT4 STB TEM7 JSB $LIST GO SCHEDULE IF POSSIBLE OCT 601 SCHEDULE PARAMAETER TEMP1 NOP TEM7 NOP JMP SCHED,I RETURN *** OPFLG ISZ OPATN SET OPER. ATTN. FLAG JMP SCHED,I EXIT * ************************************************* * DOES CONTROL REQUEST PROCESSING FOR * * THE KEYBOARD\DISPLAY. * ************************************************* * *******TERMINAL STATUS****************************** * BIT STATUS * * 1 TERMIAL ENABLED * * 5 "CONTROL D" ENTERED * * 7 BUFFER FLUSH ENABLED * * * **************************************************** * * *******CRT CONTROL********************************** * EXEC CODE CRT CONTROL REQUEST * * 11 SPACE LINES * 20 ENABEL TERMINAL * * 21 DISABLE TERMINAL * * 22 SET TIME OUT * * 23 SET BUFFER FLUSH * * 24 REMOVE BUFFER FLUSH * * 25 UPDATE TERM. STATUS * * **************************************************** * I.05C LDA EQT6,I GET CONTROL WORD LSR 6 SHIFT LDB EQT7,I SSB,RSS CMB,INB COMPLEMENT OPTIONAL PARAMETER AND B37 ISOLATE CON TROL PARAMETER * CPA B11 JMP CN11 GO SPACE LINES CPA B20 JMP CN20 GO ENABLE TERMINAL CPA B21 JMP CN21 GO DISABLE TERMINAL CPA B22 JMP CN22 GO SET TIME OUT CPA B23 JMP CN23 GO SET BUFFER FLUSH CPA B24 JMP CN24 GO REMOVE BUFFER FLUSH *** CPA B25 GET TERMINAL STATUS JMP CN25 *** ********************REJECT REQUEST****************** CLA JMP IOR19 ** * * B11 OCT 11 LF OCT 12 B37 OCT 37 B20 OCT 20 B21 OCT 21 B22 OCT 22 B23 OCT 23 B24 OCT 24 B25 OCT 25 B2 OCT 2 B.3 OCT 177775 B200 OCT 200 B17 OCT 17 B70 OCT 70 BN73 OCT 77776 BN68 OCT 163777 B.60 OCT -60 * **SPACE LINES***** **MAX NO. IS 55** * CN11 SZB,RSS CHECK FOR 0 VALUE CCB CHANGE TO -1 STB EQT7,I ADB B70 MAX NO. OF (CR,LF'S) IS 55 SSB BECAUSE CARD BUFFER IS 128 JMP REJ2 JSB CDINT MASTER RESET JSB EORP OUTPUT (CR,LF) JSB EXIT1 !!!!!!!!!!!!!!!!! JSB ENAK GIVE TERM. TIME TO PROCESS ISZ EQT7,I JMP *-5 * CN11B CLA STA EQT19,I SET A REG. EXIT JMP EOOP4 JMP EOOP4 DVA * * * **GO ENABLE TERMINAL(BIT 1 OF EQT 19)** * CN20 LDA EQT17,I IF -1 THEN NO PROG. TO SCHED. INA,SZA OR "0" INTO EQT28 IF NO PROG. LDA B2 SET BIT 1 (TERM. ENABLED) IOR19 IOR EQT28,I CONSTRUCT NEW STATUS WORD ST19 STA TEM8 STA EQT28,I RESTORE JSB STPUT PUT IT IN EQT5 JMP REJ2 GO EXIT A=2 * **GO DISABLE TERMINAL** * CN21 LDA B.3 AND19 AND EQT28,I REMOVE BIT 1 JMP ST19 * **GO SET NEW TIME OUT** * CN22 STB EQT14,I B REG. HAS NEW TIME OUT.STORE IT. JMP REJ2 * **GO SET BUFFER FLUSH (BIT 7 OF EQT28)** *