ASMB,R,B,L,X,N,C HED HP REMOTE JOB ENTRY STATION TO "IBM". NAM HPRJE ENT HPRJE EXT .IOC.,.STOP EXT AS2EB,EB2AS,CB2EB EXT B2ASC,AS2BI * * "N" VERSION IS FOR HOST SYSTEMS WITHOUT * "EM - END OF MEDIA" LOGIC (STRIPPING OFF OF * TRAILING BLANKS & REPLACING WITH EM CHAR). * * "Z" VERSION IF FOR THOSE WITH "EM" LOGIC. * * CARD EQU 16B LOGICAL UNIT OF THE CARD READER TBG EQU 11B LOGICAL UNIT OF THE TIME BASE DATA EQU 12B LOGICAL UNIT OF THE MODEM MAG EQU 14B LOGICAL UNIT OF THE MAG TAPE A EQU 0 B EQU 1 SUP * * *** THIS PROGRAM ALLOWS REMOTE JOB ENTRY * FROM A HP 2100 COMPUTER TO AN IBM * "HOST" COMPUTER. THIS PARTICULAR * VERSION IS GEARED AROUND "HASP" OPERATING * SYSTEM AT THE "HOST" CPU. *** * * * * *** DATE OF THIS VERSION: 30 AUG 73 * * SKP HPRJE NOP JSB .IOC. OCT 0 ABCD RSS JMP TBGST LDB =D26 JSB CNSL ASK FOR SIGN-ON CARD JSB RESP GET THE RESPONSE CPA =AOK CORRECT ANSWER? RSS YES JMP HPRJE+3 NO, ASK AGAIN JSB READC READ THE SIGN-ON CARD LDA READC+4 GET THE INPUT AREA STA SSTOR MOVE LDB DEFSG CHARACTERS INB PAST CONTROL CHARS RTATE LDA SSTOR,I TO STA B,I SIGN ISZ SSTOR ON INB AREA ISZ SCONT COUNT UP JMP RTATE NO, CARRY ON LDA DEFSO CONVERT INA SIGNOFF LDB =D40 CARD JSB AS2EB TO EBCDIC CLA IN CASE SOMEONE TRIES TO RESTART STA ABCD PROGRAM,DON'T RECONVERT SIGNON * TBGST JSB .IOC. START CLOCK ABS 20100B+TBG TICKING. JMP *-2 DEF STCLK DEC 2 * JSB .IOC. CLEAR D.50 DRIVER ABS DATA LIA 1 SLA IF SW#0 SET, OMIT FUNCTION LIST JMP MTS CLB PRINT HEADER. JSB CNSL MESSAGE. * HDR CLB,INB PRINT FUNCTION JSB CNSL LIST. * MTS LDB =D2 GET FUNCTION JSB CNSL DESIRED. JSB RESP CPA =A10 "10" ENTERED? JMP TOM1 TEST FOR DOS ALF,ALF AND =B17 CMA,INA INA,SZA,RSS JMP TO APPROPRIATE JMP HDR FUNCTION. INA,SZA,RSS JMP TRANS INA,SZA,RSS JMP RECVE INA,SZA,RSS JMP STAT INA,SZA,RSS JMP ADVN INA,SZA,RSS JMP CD2TP INA,SZA,RSS JMP PRINT INA,SZA,RSS JMP ASSGN INA,SZA,RSS JMP ONOFF * LDB =D16 INVALID RESPONCE. JSB CNSL TYPE "??" AND JMP MTS ASK AGAIN. SPC 4 STOP JSB .IOC. OCT 0 CLA JSB .STOP * * TOM1 JSB .IOC. OCT 0 LDB HPRJE CONTENTS OF ENTRY POINT SZB,RSS ANYTHING THERE HLT 77B NO, BCS SYSTEM JMP B,I YES, RETURN TO DOS SKP * * *** ROUTINE TO TRANSMIT ONE FILE FROM * MAG TAPE TO THE "HOST" CPU FOR PROCESSING. *** * TRANS LDB =D3 JSB CNSL TELL OPERATOR TO 'DIAL' REMOTE. * * *** HANDSHAKE WITH REMOTE. *** * HSHAK JSB SGNON SEND SIGN-ON CARD. * TRAN1 JSB .IOC. SEND "ENQ" TO ABS 30300B+DATA RECAPTURE CONTROL JMP *-2 OF LINE. JSB .IOC. CLEAR CARD ABS CARD READER DRIVER * * * *** SEND FILE TO REMOTE. *** * CLA SET UP LOGICAL BUFFER STA FF VARIABLE. STA CNTR3 ZERO RECORD COUNTER. STA EXTRA STA REC ZERO RECORD COUNTER. * LOOP LDB FF DECIDE WHICH LDA DEF4 BUFFER TO FILL. CMB,SZB,RSS LDA DEF3 STB FF STA DEF5 * JSB BLKUP GO FILL BLOCK. CMB,INB,SZB,RSS JMP EOF 0 CHAR CNT, EOF. STB DEF5+1 CONFIGURE DRIVER CALL. * JSB DSTAT WAIT FOR PREV * JSB .IOC. SEND BLOCK ABS 20000B+DATA TO JMP *-2 REMOTE. DEF5 NOP NOP * LDA FEND BLOCK TO BE SENT. SZA CHECK FOR END JMP EOF OF FILE ON TAPE. JMP LOOP LOOP. * EOF JSB DSTAT WAIT FOR LAST BLOCK TO FINISH. JSB .IOC. CALL DRIVER TO ABS 31100B+DATA SEND AN EOT. JMP *-2 * JSB DSTAT * JSB .IOC. WAIT FOR ABS 30600B+DATA ENQ FROM JMP *-2 REMOTE. JSB DSTAT * GETID JSB .IOC. GET I.D. HEADER. ABS 10000B+DATA JMP *-2 DEF BUF1 DEC -430 JSB DSTAT * ALF,ALF SSA JMP NOID EOT SENT! * LDA RSS CONFIGURE OUTPUT STA .RSS TO CONSOLE. ADB =D-5 LDA DEF4 INA JSB UNBLK GO UNBLOCK & PRINT LINE. JMP GETID LOOP. SPC 4 NOID LDB =D4 PRINT RECORD COUNTS. JSB CNSL SPC 4 * * *** WAIT FOR OUTPUT FROM HOST SYSTEM OR * SWITCH 15 FROM OPERATOR. *** * WAIT JSB DREC DISPLAY RECORD COUNTS. CLA SET UP RECEIVE LOGIC. STA FIRST STA REC STA .RSS LDA =B30400 SET UP CARRIAGE STA LASTC CONTROL WORD. LDB =D20 TELL OPERATOR THAT JSB CNSL SYSTEM IS WAITING OUTPUT. * JSB .IOC. WAIT FOR 'ENQ' ABS 30600B+DATA JMP *-2 LDA =D10 SET UP 10 JSB TIMIN MINUTE LOOP * WAITL JSB .IOC. ABS 40000B+DATA LIB 1 SWITCH 15 RBL,SLB SET? JMP NOWAT YES, SIGNOFF SYSTEM. RBL,SLB 14 SET? JMP SAGAN YES, SEND IN ANOTHER JOB. RBL,SLB 13 SET? JMP STAGN YES, GET JOB STATUS. SSA,RSS DRIVER STILL BUSY JMP DEF2-3 NO,GO RCV DATA JSB TIMER YES,CHECK TIME JMP WAITL LOOP * NOWAT JSB .IOC. CLEAR PREVIOUS FUNCTION. ABS DATA * CLA OTA 1 CLEAR SWITCH REGISTER. * DONE1 JSB SGNOF SIGNOFF SYSTEM AND JMP MTS GET NEXT COMMAND. SPC 4 SAGAN JSB .IOC. CLEAR ANSWER REQUEST ABS DATA TO D.50 CLA OTA 1 CLEAR SWITCH REGISTER. JMP TRAN1 GO SEND IN ANOTHER FILE. * STAGN JSB .IOC. CLEAR ANSWER REQUEST ABS DATA TO D.50 CLA SET LOGIC TO STA .RSS1 NOT SIGNON AGAIN. OTA 1 CLEAR SWITCH REGISTER. JMP STAT+2 GO GET HOST STATUS. SKP * * *** ROUTINE TO RECEIVE ONE FILE FROM REMOTE. *** * RECVE LDB =D3 TELL OPERATOR TO JSB CNSL DIAL REMOTE. * JSB SGNON SEND SIGN-ON CARD. * * RECV1 JSB .IOC. WAIT FOR 'ENQ' FROM REMOTE. ABS 30600B+DATA JMP *-2 CLA SET UP MAG TAPE STA .RSS OUTPUT LOGIC. STA FIRST STA REC LDA =D10 SET UP 10 JSB TIMIN MINUTE LOOP JMP WAITL GO WAIT FOR ENQ OR SWIT # 15 SET. * LOOP3 JSB DSTAT WAIT FOR DRIVER COMPLETION. ALF,ALF SSA END OF FILE? JMP EOFIN YES. STB MAX NO, SAVE TRANS LOG. * JSB .IOC. INITIATE READ ABS 10000B+DATA INTO BUFFER #1. JMP *-2 DEF2 DEF BUF1 DEC -430 * FIRST NOP (ON 1ST TIME THRU LOOP, JMP SECND OMIT NEXT SECTION). * LDB MAX RESET BLOCK LENGTH TO ALLOW ADB =D-5 FOR "PAD,STX", & LDA DEF3 "ETX,BCC,BCC" CHARACTERS. INA GO UNBLOCK BUFFER #2'S DATA. JSB UNBLK * SECND JSB DSTAT WAIT FOR DRIVER COMPLETION. ALF,ALF SSA END OF FILE? JMP EOFIN YES. STB MAX NO, SAVE TRANS LOG. * JSB .IOC. INITIATE READ ABS 10000B+DATA INTO BUFFER #2. JMP *-2 DEF3 DEF BUF2 DEC -430 * LDB MAX GO UNBLOCK ADB =D-5 BUFFER #1'S DATA. LDA DEF2 INA JSB UNBLK LDA RSS STA FIRST JMP LOOP3 LOOP. SPC 4 * * *** WRITE END OF FILE ON MAG TAPE. *** * EOFIN LDA OUTIO TAPE OUTPUT? RAR SLA,RSS JMP EJCT NO. * JSB .IOC. YES, WRITE A TAPE MARK. ABS 30100B+MAG JMP *-2 JSB MAGST * EJCT LDA OUTIO PRINTER OUTPUT? SLA,RSS JMP *+6 NO. * JSB .IOC. YES, DO A PAGE EJECT. OCT 20006 JMP *-2 DEF .EJCT DEC -1 LIA 1 CHECK SWITCH 12. AND =B10000 SZA SET? 24380-18014 1402