.TITLE BMUX -GENERAL SCIENTIFIC CORP. .IDENT /000001/ ; GAITHERSBURG, MARYLAND ; ; COPYRIGHT (C) 1979,1980,1981 ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A SINGLE ; COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION OF THE ABOVE ; COPYRIGHT NOTICE AND THE EXPRESSED, WRITTEN PERMISSION OF GENERAL ; SCIENTIFIC CORPORATION. TITLE TO AND OWNERSHIP OF THIS SOFTWARE SHALL ; REMAIN WITH GENERAL SCIENTIFIC CORPORATION. COPIES OF THIS SOFTWARE ; MAY NOT BE PROVIDED TO OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON ; EXCEPT FOR USE ON A GENERAL SCIENTIFIC CORPORATION SUPPLIED SYSTEM. ; ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND ; SHOULD NOT BE CONSTRUED AS A COMMITMENT BY GENERAL SCIENTIFIC CORPORATION. ; .NLIST ; ; ; .PAGE .SBTTL NOTES ; ; (LATER) ; .PAGE .SBTTL MACRO CALLS AND DEF'S ; .MCALL .SPND,.TWAIT,.REGDEF,..V2.. ; ..V2.. ; VERSION 2 MACRO CALLS .REGDEF ;MAKE LIFE EASIER ; .PAGE .SBTTL DLV11-J EQUATES ; ; RCSR: ; RCSR=0 ;DEVICE ADR REG OFFSET R.DONE=200 ;RCVR DONE BIT R.IE=100 ;INTERRUPT ENABLE BIT R.RE=1 ;RCVR ENABLE (CLEARS R.DONE) R.KILL=101 ;RCVR STOP BITS ; ; RBUF: ; RBUF=2 ;DEV ADR OFFSET R.ER=100000 ;ERROR BIT R.OV=40000 ;OVER-RUN ERROR R.FR=20000 ;FRAMING ERROR R.PA=10000 ;PARITY ERROR ; ; XCSR: ; XCSR=4 ;DEV ADR OFFSET X.RDY=200 ;XMTR READY BIT X.IE=100 ;INTERRUPT ENABLE BIT X.BR=1 ;XMTR BREAK (SET TO BREAK XMIT) ; ; XBUF: ; XBUF=6 ;DEV ADR OFFSET ; DATA IN LOWER BYTE ; .PAGE .SBTTL SYSTEM EQUATES ; MAXPRT=24. ;MAX # OF PORTS DEF'D CONSOL=2 ;PORT # OF CONSOLE DEVICE CONVEC=60 ;CONSOLE VECTOR TRKA=0 ;PCB FOR TRUNK A TRKB=1 ;PCB FOR TRUNK B STA=MAXPRT ;STATUS POLL FOR TRUNK A STB=MAXPRT+1 ; SAME FOR B STALL=MAXPRT+2 ;BOX STATISTICS POLL PCB # TRAVEC=300 ;TRUNK A VECTOR TRBVEC=310 ;TRUNK B VECTOR CMDL=4 ;LEN OF ASCII CMD IN BYTES NCMD=7 ;NUMBER OF CONSOLE COMMANDS CTABL=6 ; LEN OF CMD TABLE ENTRY TIMOUT=100. ;10. SECOND MAX TIME-OUT NUMBUF=54. ;# BUFFERS IN EACH (OF TWO) POOLS BUFSIZ=170. ;SIZE OF DATA PORTION OF BUFFER BUFLEN=BUFSIZ+6 ;LEN OF EACH BUFFER ; ;************************************************ ; .SBTTL RELEASE 20 EQUATES ; BDCAST=MAXPRT+10 ;DEFINED FOR BROADCAST MSGS ; BRKCHR=17 ;IF DEF'D, CTRL-O GENERATES ?BRK TO BURROUGHS ; HLFDUP=1 ;IF DEF'D, WRITES TO PORTS ARE DELAYED IF INPUT ACTIVE ; OVFLOW=1 ;IF DEF'D, TRUNK READS TRUNCATED @LINE SIZE W/MSG ; INIPRO=1 ;IF DEF'D, SOFTWARE INIT'S TO PROCEED MODE ; DELMSG=1 ;IF DEF'D, DEL CHAR GENERATES MSG INSTEAD OF BELL ; ;**************************************************** ; .PAGE .SBTTL CHAR RECOGNITION EQUATES ; ; TERMINAL ASCII: ; ESC=33 ;ESCAPE CR=15 ;CARRIAGE RETURN LF=12 ;LINE-FEED FF=14 ;FORM-FEED NULL=0 ;NULL BS=10 ;BACK-SPACE DEL=177 ;LINE DELETE SYNC=26 ;SYNC (CMD FLAG CHAR) CNTLX=30 ; CONTROL-X (CANCEL OUTPUT) FOR 'BREAK' FUNCTION ; ; BURROUGHS ASCII: ; ENQ=5 ;ENQUIRE POL=160 ;PORT-TO-B SELECT SEL=161 ;B-TO-PORT SELECT CON=7 ;CONTENTION MODE (BELL) BELL=7 EOT=4 ;END-OF-XMIT ETX=3 ;END-OF-TEXT ACK=6 ;ACKNOWLEDGE NAK=25 ;NEGATIVE ACKNOWLEDGE SOH=1 ;START OF HEADER STX=2 ;START OF TEXT ; RVI=40 ;REVERSE INTERRUPT USED TO STOP OUTPUT FROM HOST .PAGE .SBTTL PCB DEFINITION ; P.SOU=0 ;PCB INDEX TO POLTAB FOR THIS PORT P.DST=1 ;PCB INDEX TO POLTAB FOR DESTINATION FROM HERE P.PST=2 ;PORT STATUS BYTE PS.RF=1 ;READ FINISHED BIT PS.WF=2 ;WRITE FINISHED BIT PS.RB=4 ;READ BUFFER NEEDED PS.JS=10 ;JOURNAL STATS HOLD WD TO BUFFER PS.CMD=20 ;PROCESS COMMAND FROM CONSOLE PS.TQ=40 ;TRAFFIC QUEUED FOR TRUNK PS.FLH=100 ;BUFFER FLUSH (IF OPTION) WHEN SET P.DELF=3 ;DELAY FLAG (0=>INACTIVE) PD.CR=1 ;CR DELAY FLAG PD.FF=2 ;FF DELAY FLAG P.BAUD=4 ;PORT BAUD RATE (INFO ONLY) P.TYPE=5 ;PORT TERM TYPE P.LSIZ=6 ;LINE LENGTH (BYTES) P.ECHO=7 ;ECHO FLAG (0=>NO) P.CRD=10 ;CR DELAY VALUE (0=NONE) P.FFD=11 ;FF DELAY VALUE (0=NONE) P.STAT=12 ;STATS FLAG (0=NONE) PST.E=1 ;ERROR STATS PST.T=2 ;TFC STATS P.WIND=13 ;STATS WINDOW (.1 SEC 'TICKS') P.ERR=14 ;ERROR STATS COUNTER P.TFC=15 ;TFC STATS COUNTER P.RST=16 ;READ STATUS BYTE P.WST=17 ;WRITE STATUS BYTE PS.DOR=300 ;RD: OVER-RUN PS.FRA=240 ;RD:FRAMING PS.PAR=220 ;RD: PARITY PS.TMO=210 ;WR: TIME-OUT PS.OK=1 ;R/W: OK P.RC=20 ;READ CHAR CNT P.WC=21 ;WRITE CHAR CNT P.RBFA=22 ;READ BUFFER ADR P.RBP=24 ;READ BUFFER PTR (CURRENT) P.WBFA=26 ;WRITE BUFFER ADR P.WBP=30 ;WRITE BUFFER PTR (CURRENT) P.SHLD=32 ;STATS HOLD WD P.STIM=34 ;STATS WINDOW TIMER P.WTIM=35 ;WRITE I/O TIMER P.DC=36 ;DELAY CNTR P.ECH=37 ;ECHO CHAR AWAITING OUTPUT ; PCBLEN=40 ;LEN OF PCB IN BYTES ; .PAGE .SBTTL BUFFER DEF'S ; ; 150. BYTE BUFFERS, 2 SPECIAL WDS ; RQ=0 ;READ Q BYTE: -1=AVAIL,ELSE PORT # WQ=1 ;WRITE Q BYTE: SAME AS RQ SZ=2 ;R/W CHAR SIZE (MAX 146.) AFL=3 ;ACTIVE FLAG (0=INACT, 1=ACT) TDATA=6 ;START OF TRUNK READ PDATA=10. ;START OF PORT READ DATA ; IF XM# USED, PDATA SHOULD BE 11. BCC=4 ;BCC COMPUTATION WD ; TFQN=4 ;*** SPECIAL CASE: TRUNK READ BUFFERS DESTINED FOR PORTS ARE GIVEN ; A SPECIAL ONE-UP, "WRAP-AROUND" SEQUENCE NUMBER (8 BITS) TO PREVENT ; MIS-SEQUENCING BY THE PORT TRAFFIC DEQUEUING PROCESS DUE TO BUFFER ; POOL USAGE IN THE PRESENCE OF SLOW-SPEED PORT TERMINALS ; ; THE TRUNK READ ISR ASSIGNS THIS NUMBER FROM A TABLE, PBN (PORT BUFFER ; NUMBER) AND THE PORT TRAFFIC DEQUEUING ROUTINE SEQUENCES THE BUFFERS ; ON THE BASIS OF ANOTHER TABLE, PDQ (PORT DEQUEUE). EACH TABLE BEGINS ; AT A VALUE OF ZERO IN EACH BYTE (1 BYTE PER PORT IN PCB # ORDER) AND ; "WRAPS-AROUND" AFTER VALUE 377 OCTAL (255 DECIMAL) TO ZERO. ; BAD0=7 ;START OF TWO-BYTE POLL ADR IN HEADER ; NOTE: AREA FROM TDATA TO PDATA CONTAINS BURROUGHS HDR ; ; .LIST