IDENT INTINIT * * ENTRY INTINIA,INTINIB ENTRY INTINIC ENTRY MC.INT * * EXT CALLSYS,CAPAB EXT MAKEOBJ,S.ECSER LIST X INTSYS XTEXT ECSACT XTEXT PROCSYM XTEXT TYPES XTEXT OBBITS XTEXT EJECT * * MACROS FOR READ AND WRITE ECS * RECS MACRO CNT RE CNT RJ S.ECSER ENDM * WECS MACRO CNT WE CNT RJ S.ECSER ENDM * * MACRO TO PUT THE ADDRESS OF THE APPROPRIATE OPTION BIT MASK IN M.ADDR * OPTPTR MACRO ADDRESS SX7 ADDRESS SA7 M.ADDR ENDM EJECT * * COMPUTE MASTER CLIST NEEDS * * THIS IS THE FIRST CALL ON INTINIT DURING INITIALIZATION. * M.ADDR IS INITIALIZED TO POINT TO A MASK OF ALL ONES * * INTINIC BSSZ 1 OPTPTR M.ALL .. INITIALIZE M.ADDR SX1 S.NUMTT+1 BX2 X1 LX2 1 IX6 X1+X2 TTY NEEDS SA1 SDVCCNT BX2 X1 LX2 1 IX1 X1+X2 IX6 X1+X6 SDVC NEEDS SX1 1+11 IX6 X1+X6 DISK NEEDS SX1 DSPSCRN IX6 X6+X1 LX1 1 IX6 X6+X1 . DISPLAY DRIVER STUFF SX1 DSPCLKN IX6 X6+X1 . CLOCK EVENT CHANNELS SA6 MC.INT JP INTINIC * MC.INT BSSZ 1 * * * * INITIALIZE INTERRUPT OBJECTS * INTINIA BSSZ 1 SX6 NITYPES RJ MFILE CREATE FILE FOR C LIST INDEXES BX6 X0 SA6 DVCFILE JP INTINIA * * INTINIB BSSZ 1 SX6 NITYPES*2 RJ MFILE CREATE FILE FOR INTERRUPT QUEUES BX6 X0 SA6 INTQS SA1 B1+P.PARAM+2 SX6 X1-1 SA6 B1+P.PARAM+2 DESTROY C LIST ENTRY FOR QUEUES * RJ MMUX CREATE OBJECTS FOR MUX RJ MSDVC CREATE OBJECTS FOR SIMPLE DEVICES RJ MDISK CREATE OBJECTS FOR DISK RJ MDSP . MAKE DISPLAY STUFF RJ MCLOCKS . MAKE CLOCKED EVENT CHANNELS * JP INTINIB * * DVCFILE BSSZ 1 INTQS BSSZ 1 DVCTYPE DATA 0 * * NITYPES EQU 10 EJECT * * * ERROR PS JP ERROR EJECT * * CREATE MUX DEVICES * * EXT MUXQADD EXT MUXPNTS EXT S.TTY EXT S.NUMTT EXT MUXWRBT EXT PROTEK * MUXWRBIT EQU MUXWRBT * * MUXINTX EQU 1 * * MMUX BSSZ 1 SB2 PQUEUE SB3 MUXPNTS SB4 MUXQADD SB5 MUXINTX SB6 MUXWRBIT+1 RJ NEWCLASS * SA1 B1+P.PARAM+2 PUTCLIST INDEX OF SX6 X1+1 SPECIAL TTY IN IPROC SA6 S.TTY * SX6 MUXWRBIT SA6 INADDR RJ MMUXDVC MAKE SPECIAL TTY * SX6 B0 SA6 INADDR * MMUX1 RJ MMUXDVC SA1 INADDR SX6 X1+1 SA6 INADDR SX2 S.NUMTT IX2 X6-X2 NG X2,MMUX1 * JP MMUX EJECT * * CODE TO CREATE ECS OBJECTS FOR MUX DEVICE WHOSE * INPUT PHYSICAL ADDRESS IS AT INADDR * MMUXDVC BSSZ 1 SX6 TTYFSIZE RJ MFILE CONSTRUCT THE FILE BX1 X0 LX1 18 SA2 FILEADDR PLACE FILE ADDR IN P PROC MX3 60-22 LX3 18 BX6 X2*X3 BX1 -X3*X1 BX6 X1+X6 SA6 FILEADDR SA0 PFILE WECS TTYDTA WRITE FILE DATA BLOCK * OPTPTR M.SENDE .. ADDRESS OF OPTION BIT MASK FOR PROTECTING * EVENT CHANNELS (OB.SENDEV+OB.CHNAM) * * SX6 ECOUTCNT MAX EVENTS IN OUTPUT E C RJ MEC CONSTRUCT THE OUTPUT EVENT CHANNEL SA7 OUTCHN * OPTPTR M.GETE .. ADDRESS OF OPTION BIT MASK FOR PROTECTING * EVENT CHANNELS (OB.GETEV+OB.CHNAM) * * SX6 ECINCNT MAX EVENTS IN INPUT E C RJ MEC CONSTRUCT INPUT EVENT CHANNEL SA7 INCHN * SB2 PPROCSZ SIZE OF PSEUDO PROCESS RJ MPS BX6 X4 SA6 PMOT SAVE P PROC UNIQUE NAME AND MOT INDEX BX0 X5 SA0 PPROC WECS PPROCSZ WRITE P PROC DATA TO P PROC SX0 X6 SA0 TEMP RECS 1 GET POINTER TO THIS P PROC SA1 MUXPNTS SA2 INADDR IX0 X1+X2 SA0 TEMP WECS 1 WRITE POINTER OF THIS DEVICE TO ECS * JP MMUXDVC EJECT * * CREATE OBJECTS FOR SIMPLE DEVICES * EXT SDVCPNT,SDVCQPT * SDVCINTX EQU 2 * * MSDVC BSSZ 1 SB2 SPQUEUE SB3 SDVCPNT SB4 SDVCQPT SB5 SDVCINTX SA1 SDVCCNT SB6 X1 RJ NEWCLASS * MSDVCLP SA1 SDVCDPNT SA1 X1 BX6 X1 OPTPTR M.FILE .. PROTECT FILES (OB.RDFIL+OB.WFILE+OB.PLMAP) SA6 SFILESZ SAVE DATA BLOCK SIZE RJ MFILE MAKE FILE BX6 X0 SA6 SFILE SAVE POINTER TO DATA BLOCK OF FILE * SA1 SDVCDPNT SA1 X1+1 BX6 X1 OPTPTR M.SENDE .. PROTECT EVCHS (OB.SENDEV+OB.CHNAM) RJ MEC MAKE REQUEST EVENT CHANNEL SA7 SECREQ SAVE MOT AND NUIQUE NAME OF EC * SA1 SDVCDPNT SA1 X1+2 BX6 X1 OPTPTR M.GETE .. PROTECT EVCHS (OB.GETEV+OB.CHNAM) RJ MEC MAKE RESPONSE EVENT CHANNEL SA7 SECRSP SAVE MOT AND UNIQUE NAME OF EC * SB2 SPPROCSZ RJ MPS MAKE PSEUDO PROCESS BX6 X4 SA6 SMOT SAVE MOT AND UNIQUE NAME OF PPROC * BX0 X5 SA0 SPPROC WECS SPPROCSZ WRITE PSEUDO PROCESS DATA TO ECS SX0 X6 SA0 TEMP RECS 1 GET MOT ENTRY SA1 SDVCPNT SA2 SDVCNUMB IX0 X1+X2 SA0 TEMP SA1 TEMP MX6 60-21 BX6 -X6*X1 SA6 TEMP REMOVE UNIQUE NAME WECS 1 WRITE DEVICE POINTER TO ECS SX6 X2+1 SA6 SDVCNUMB STEP S DEVICE NUMBER * SA1 SDVCCNT SX6 X1-1 SA6 SDVCCNT ZR X6,MSDVC ALL S DEVICES COMPLETED * SA1 SDVCDPNT SB2 X1 SA1 B2+3 SX6 X1-1 SA6 A1 NZ X6,MSDVCLP * SX6 B2+4 GO TO NEXT TYPE OF S DEVICE SA6 SDVCDPNT JP MSDVCLP * * * S DEVICE DESCRIPTIONS * * IN FORM FILE SIZE * REQUEST EC SIZE * RESPONSE EC SIZE * NUMBER OF THIS TYPE * * * SDVCCNT MUXT AGREE WITH TOTAL NUMBER OF S DEVICES * * BSS 0 SDVCDPNT VFD 60/*+1 DATA 4012B,6,6,1 TAPE DRIVE DATA 1000B,4,4,1 PRINTER DATA 1000B,4,4,1 . CARD READER * SDVCCNT DATA 3 EJECT * * CREATE OBJECTS FOR DISK * EXT DSKPNT,DSKINTQ * DSKINTX EQU 3 * * MDISK BSSZ 1 SB2 DPQUEUE SB3 DSKPNT SB4 DSKINTQ SB5 DSKINTX SB6 9 RJ NEWCLASS MAKE A NEW CLASS WITH 9 PSEUDO PROCESSES * THE PPROC POINTER FILE WILL NOT BE USED * * MAKE DISK PSEUDO PROCESSES * SX1 -1 SX2 8 RJ DSKPP SX1 3 LX1 18 SX3 1 BX1 X1+X3 MDISK1 SX2 X2-1 SX3 X2-3 ZR X3,MDISK2 RJ DSKPP SA4 MDISKX IX1 X1-X4 STEP SZX FIELD JP MDISK1 MDISK2 SX1 3 LX1 18 MDISK3 NG X2,MDISK4 RJ DSKPP SA4 MDISKX IX1 X1-X4 STEP SZX FIELD SX2 X2-1 JP MDISK3 * * MDISKX DATA 1000000B INCREMENT FOR SZX FIELD * * MAKE USER FILE * EXT DISKRB0,DISKRB1,DISKRB2,DISKRB3 EXT DISKWB0,DISKWB1,DISKWB2,DISKWB3 EXT DISKUF * * MDISK4 SX6 DISKRB0 COMPUTE SIZE NEEDED SX6 X6+DISKWB0 LX6 6 SX1 DISKRB1 SX1 X1+DISKWB1 IX6 X1+X6 LX1 7 IX6 X1+X6 SX1 DISKRB2 SX1 X1+DISKWB2 IX6 X1+X6 LX1 8 IX6 X1+X6 SX1 DISKRB3 SX1 X1+DISKWB3 IX6 X1+X6 LX1 9 IX6 X1+X6 SX1 256+1 SPACE FOR BUFFER POINTERS AND USER THIS IX6 X1+X6 RJ MFILE BX6 X0 SA6 DISKUF * * MAKE UP 11 EVENT CHANNELS * * DODBUF MACRO COUNT,X SX6 COUNT+1 RJ MEC SA7 DISKBUF+X ENDM * * * EXT DISKREQ,DISKRSP,DISKBUF,DISKSLT EXT DISKRQC * SX6 DISKRQC+1 RJ MEC SA7 DISKREQ SX6 DISKRQC+1 RJ MEC SA7 DISKRSP * DODBUF DISKRB0,0 DODBUF DISKRB1,1 DODBUF DISKRB2,2 DODBUF DISKRB3,3 DODBUF DISKWB0,4 DODBUF DISKWB1,5 DODBUF DISKWB2,6 DODBUF DISKWB3,7 * SX6 DISKRQC+1 RJ MEC SA7 DISKSLT * * MAKE UP PRIVATE FILE * EXT DISKSF * SX6 256+64+512 RJ MFILE BX6 X0 SA6 DISKSF SA1 B1+P.PARAM+2 SX6 X1-1 SA6 A1 DESTROY C LIST ENTRY FOR THIS FILE * JP MDISK EJECT * * * MAKE UP A DISK PSEUDO PROCESS * * X1 DATA WD * X2 INDEX OF PPROC * * THESE WILL BE RETURNED * EXT DISKMOT,DISKADR * DSKPP BSSZ 1 BX6 X1 SA6 DDATA BX6 X2 SA6 DSKPPSV SB2 DPPROCSZ RJ MPS BX6 X4 SA6 DMOT SA1 DDATA SA2 DSKPPSV SA6 DISKMOT+X2 BX6 X5 SA6 DISKADR+X2 BX0 X6 SA0 DPPROC WECS DPPROCSZ JP DSKPP * DSKPPSV BSSZ 1 EJECT * * * MAKE DISPLAY FILES, EVENT CHANNELS AND P-PROCS * * MDSP BSSZ 1 * EXT DSPPNT,DSPQPNT,DSPKPNT,DSPPPNP,DSPSCRN * DSPINTX EQU 4 * SB2 DSPQUEUE . CHAIN WD SB3 DSPPNT . FILE FOR PTRS SB4 DSPQPNT . INT QUEUE HEADER SB5 DSPINTX . INTERRUPT INDEX SB6 DSPSCRN . NUMBER RJ NEWCLASS . MAKE NEW CLASS OF DEVICE * * SX6 DSPSCRN RJ MFILE BX6 X0 . FILE ADDRESS SA6 DSPKPNT . PTR FILE FOR EVCH SA1 B1+P.PARAM+2 SX6 X1-1 SA6 A1 . KILL C-LIST ENTRIES * SX6 DSPSCRN RJ MFILE BX6 X0 SA6 DSPPPNP . FILE FOR P-PROC MOT^S * SA1 B1+P.PARAM+2 SX6 X1-1 SA6 A1 . KILL C-LIST ENTRIES * * MDSPLP SX6 8*32 . FILE SIZE RJ MFILE . MAKE USER SCREEN FILE BX6 X0 SA1 MDSPT . INDEX SA2 DSPPNT . ECS ADDRESS SA6 TEMP IX0 X1+X2 SA0 TEMP WECS 1 . WRITE ADDRESS INTO POINTER FILE * * SX6 4 . REQUEST EVCH SIZE RJ MEC . MAKE REQUEST EVCH SA7 DSPECREQ . PUT EVCH IN P-PROC * * SX6 12 . KEYBOARD EVCH SIZE RJ MEC SA1 DSPKPNT . ECS ADDRESS OF POINTER FILE SA2 MDSPT . INDEX SA7 TEMP . SA0 A7 IX0 X1+X2 WECS 1 . WRITE POINTER TO POINTER FILE * * SB2 DSPPROCL . P-PROC LEN RJ MPS . MAKE P-PROC BX6 X4 SA6 DSPMOT . PUT MOT IN P-PROC SA1 DSPPPNP SA2 MDSPT BX7 X2 IX0 X1+X2 SA7 DSPSCREN . SCREEN INDEX IN P-PROC SA6 TEMP SA0 TEMP WECS 1 . SAVE MOT IN DSPPPNP FILE * BX0 X5 . ECS ADDRESS OF P-PROC BX6 X0 SA6 DSPPROCA SA0 DSPPROC WECS DSPPROCL . WRITE P-PROC TO ECS * * * SX7 X7+1 . BUMP COUNTER SX6 DSPSCRN SA7 A2 IX7 X7-X6 . CHECK FOR END * NG X7,MDSPLP . LOOP IF MORE EQ MDSP . ELSE RETURN * * * MDSPT BSSZ 1 EJECT * * * * * MAKE CLOCK EVENT CHANNELS * * MCLOCKS DATA 0 * EXT DSPCLKN,DSPCLKP,INTSCR * SB2 DSPQUEUE . DUMMY SB3 DSPCLKP SB4 INTSCR SB5 DSPINTX+1 SB6 DSPCLKN . COUNT RJ NEWCLASS . MAKE NEW CLASS OF DEVICE * * SX6 0 SA6 TEMP MCLOCKS1 SX6 2 OPTPTR M.GETE .. PROTECT EVCHS (OB.SENDEV+OB.CHNAM) RJ MEC . MAKE EVENT CHANNEL * SA1 TEMP SA7 A1 SA0 A1 SA2 DSPCLKP IX0 X2+X1 SX7 X1+1 WECS 1 SA7 A1+0 SX6 DSPCLKN IX7 X7-X6 NG X7,MCLOCKS1 . LOOP JP MCLOCKS . RETURN * * MAKE AN EVENT CHANNEL TO HOLD NUMB OF EVENTS IN X6 * RETURN WITH ABS ECS ADDRESS IN X7 * LOOKS AT M.ADDR TO FIND ADDRESS OF OPTION BIT MASK TO BE USED BY * PROTEK. PROTEK IS A ROUTINE IN INITL WHICH PRESERVEES * SELECTED OPTION BITS ON A CAPABILITY. * OBJECT SINCE IT USES THE ACTUAL PARAMETER LIST TO FIND THE INDEX * PROTEK SHOULD BE CALLEDDIMMEDIATELY AFTER CREATING AN * OF THE OBJECT IN THE MASTER CLIST. M.ADDR IS RESET TO POINT * TO AN OPTION BIT MASK WITH ALL BITS ^ON^. * (AFTER THE EVCH IS CREATED AND ITS SPECIFIED OPTION * BITS ARE TURNED OFF) * MEC BSSZ 1 SA6 B1+P.PARAM+3 SA1 B1+P.PARAM+2 SX6 X1+1 STEP C LIST INDEX SA6 A1 SB5 J.MKEC SB6 MEC1 JP CALLSYS * MEC1 SA1 M.ADDR SB6 X1 RJ PROTEK OPTPTR M.ALL .. RESET M.ADDR (NOT EVERYONE WANTS * TO TURN OFF OPTION BITS) SA1 CAPAB+1 SX0 X1 SA0 MEC2 RECS 1 GET ABS ECS ADDRESS SA1 MEC2 MX0 60-21 BX7 -X0*X1 JP MEC * MEC2 BSSZ 1 EJECT * * CREATE PSEUDO PROCESS OF SIZE GIVEN IN B2 * MAKE NO C LIST ENTRY * RETURN WITH ABS ADDRESS OF TH P PROC IN X5 * MOT INDEX IN X4 * MPS BSSZ 1 SB4 MPS1 SA5 B1+P.PARAM+1 GET U NAME AND MOT OF ALLOC BLK SX7 AT.PROC JP MAKEOBJ * MPS1 SA4 CAPAB+1 SX4 X4 STRIP OFF UNIQUE NAME JP MPS EJECT * * ROUTINE TO CREATE A 1 LEVEL FILE WITH DATA BLOCK OF * SIZE GIVEN IN X6 * RETURNS WITH ECS ADDRS OF THE DATA BLK IN X0 * * OPTION BITS FOR THE FILE ARE MASKED ACCORDING TO THE PTR * STORED IN M.ADDR. (A CALL IS MADE TO ^PROTEK^) * M.ADDR IS RESET TO POINT TO A MASK WITH ALL BITS ON. * MFILE BSSZ 1 SA6 BSIZE SX6 1 SA6 B1+P.PARAM+3 SET NUMBER OF LEVELS = 1 SX6 BSIZE SA6 B1+P.PARAM+4 POINT TO BLOCK SIZE SA1 B1+P.PARAM+2 SX6 X1+1 STEP CLIST INDEX SA6 A1 SB5 J.CREFIL SB6 MFILE1 JP CALLSYS * MFILE1 SB2 B1+P.PARAM SB3 3 FIRST 3 ACTUAL PARAMETERS MFILE2 SA1 B2 BX6 X1 SA6 B3+TEMP SB2 B2+1 SB3 B3-1 NE B3,B0,MFILE2 * SA1 CAPAB SET UP FILE CAPABILITY BX6 X1 IN ACTUAL PARAM AREA SA6 B1+P.PARAM SA1 CAPAB+1 BX6 X1 SA6 B1+P.PARAM+1 SA6 FPOINT SAVE MOT INDES OF FILE SX6 0 SA6 B1+P.PARAM+2 PLACE AN ADDRS OF A WORD IN BLOCK SB5 J.CREBLK IN ACTUAL PARAM AREA SB6 MFILE3 AND CALL FOR BLOCK CREATION JP CALLSYS * MFILE3 SB2 B1+P.PARAM SET UP TO RESTORE FIRST SB3 3 3 ACTUAL PARAMS MFILE4 SA1 B3+TEMP BX6 X1 SA6 B2 SB2 B2+1 SB3 B3-1 NE B3,B0,MFILE4 * SA1 M.ADDR .. NOW THAT WE HAVE CREATED THE FILE BLOCKS SB6 X1 TURN OFF THE OPTION BITS. RJ PROTEK OPTPTR M.ALL * SA1 FPOINT NOW COMPUTE BLOCK ADDRESS SX0 X1 COMPUTE MOT INDEX OF THE FILE SA0 FPOINT RECS 1 READ IN MOT ENTRY SA1 FPOINT MX2 60-21 BX0 -X2*X1 COMPUTE ADDRS OF FILE DESC BLOCK SA0 FPOINT RECS 1 SA1 FPOINT MX2 60-21 BX0 -X2*X1 COMPUTE ADDRESS OF DATA BLOCK JP MFILE EXIT * * TEMP BSSZ 4 FPOINT BSSZ 1 BSIZE BSSZ 1 EJECT * * INITIALIZE A NEW CLASS OF OBJECTS * * B2 LOCATION OF PROTOTYPE P PROC INT QUEUE POINTER * B3 LOCATION OF POINTER TO P PROC POINTERS * B4 LOCATION OF POINTER TO INTERRUPT QUEUE * B5 INTERRUPT INDEX * B6 NUMBER OF DEVICES IN CLASS * * NEWCLASS BSSZ 1 SX6 B2 SA6 NEWC2 SX6 B3 SA6 NEWC3 SX6 B4 SA6 NEWC4 SX6 B5 SA6 NEWC5 SX6 B6 SA6 NEWC6 * SB2 NITYPES-1 LT B2,B5,ERROR CHECK SIZE OF INTERRUPT INDEX * SX6 B6 NUMBER OF DEVICES IN CLASS RJ MFILE FILE TO CONTAIN POINTERS TO P PROCS BX6 X0 SA1 NEWC3 SA6 X1 SAVE POINTER TO P PROC POINTERS SA1 B1+P.PARAM+2 SX6 X1-1 SA6 A1 DESTROY C LIST ENTRY FOR THIS FILE * SA1 INTQS COMPUTE ADDRESS OF INTERRUPT QUEUE SA2 NEWC5 LX2 1 IX6 X1+X2 SA1 NEWC4 SA6 X1 LX6 18 SA3 NEWC2 SA1 X3 MX2 60-22 LX2 18 BX1 X2*X1 BX6 -X2*X6 BX6 X1+X6 SA6 X3 PLACE QUEUE POINTER IN P PROC DATA * SA1 DVCTYPE SX6 X1+1 SA6 DVCTYPE SX2 X1-NITYPES PL X2,ERROR CHECK DEVICE TYPE SA2 B1+P.PARAM+2 SX6 X2+1 FIRST C LIST INDEX FOR THESE OBJECTS SA6 TEMP SA2 DVCFILE IX0 X1+X2 SA0 TEMP WECS 1 SAVE FIRST C LIST INDEX * JP NEWCLASS * * NEWC2 BSSZ 1 NEWC3 BSSZ 1 NEWC4 BSSZ 1 NEWC5 BSSZ 1 NEWC6 BSSZ 1 M.ADDR BSS 1 HOLDS ADDRESS OF CURRENT OPTION BIT MASK * (FOR USE WHILE CREATING OBJECTS) M.ALL DATA -0 M.GETE VFD 60/OB.GETEV+OB.CHNAM M.SENDE VFD 60/OB.SNDEV+OB.CHNAM M.FILE VFD 60/OB.PLMAP+OB.CHNAM+OB.RDFIL+OB.WFILE EJECT * * PROTOTYPE OF MUX DEVICE PSEUDO PROCESS * PPROC VFD 3/1,3/1,6/0,12/1,18/FIELD1,18/0 BSSZ 1 DATA 0 PQUEUE VFD 20/0,22/FIELD2,18/MUXINTX BSSZ 2 * FILEADDR VFD 22/0,20/FIELD3,18/TTYFSIZE VFD 60/7 VFD 60/7 VFD 60/7+TTYOSIZE VFD 60/7+TTYOSIZE VFD 60/TTYFSIZE OUTCHN VFD 60/FIELD4 INCHN VFD 60/FIELD5 INADDR VFD 60/FIELD6 PMOT VFD 60/FIELD7 VFD 60/FIELD8 * PPROCSZ EQU *-PPROC * * * DESCRIPTION OF FIELDS WHICH RECIEVE VALUES DYNAMICALY * FIELD1 EQU 0 MOT INDEX FIELD2 EQU 0 QUEUE ADDRESS FIELD3 EQU 0 ECS ADDR FILE DATA BLOCK FIELD4 EQU 0 MOT, UNIQUE MAME OUT EVENT CHANNEL FIELD5 EQU 0 MOT, UNIQUE NAME OF IN EVENT CHANNEL FIELD6 EQU 0 INPUT PHYSICAL ADDRESS FIELD7 EQU 0 MOT, UNIQUE NAME OF THIS P PROC FIELD8 EQU 0 HOLDS BROADCAST IN PROGRESS FLAG, AND COUNT ETC EJECT * * PROTOTYPE FILE DATA FOR MUX DEVOCE * PFILE VFD 60/7 VFD 60/7 VFD 60/7+TTYOSIZE VFD 60/7+TTYOSIZE VFD 60/TTYFSIZE VFD 60/TTYDTA VFD 60/7+TTYOSIZE * DATA 00150012012401230123B CR LF TSS DATA 02400116011701270240B NOW DATA 01250120001500124001B UP CR LF EOM * * DATA 00150012010701170240B CR LF GO * DATA 01010127010101310241B AWAY! * DATA 02410241001500124001B !! CR LF EOM TTYDTA EQU *-PFILE EJECT * * COMPUTE TTY FILE AND EVENT CHANNEL CONSTANTS * TTYOSIZE EQU 5 TTYISIZE EQU 5 TTYFSIZE EQU 7+TTYOSIZE+TTYISIZE ECOUTCNT EQU 10 ECINCNT EQU 3 * * EJECT * * PROTOTYPE OF S DEVICE PSEUDO PROCESS * SPPROC VFD 3/1,3/1,6/0,12/1,36/0 BSSZ 1 DATA 0 SPQUEUE VFD 22/0,20/SFIELD1,18/SDVCINTX BSSZ 2 * SFILE BSSZ 1 BUFFER FILE DATA BLOCK ADDRS SFILESZ BSSZ 1 SIZE OF BUFFER FILE DATA BLOCK SECREQ BSSZ 1 REQ EVENT CHANNEL SECRSP BSSZ 1 RESPONSE EVENT CHANNEL SMOT BSSZ 1 SPPROC MOT AND UNIQUE NAME SDVCNUMB BSSZ 1 NUMBER OF THIS DEVICE * SEFLAG BSSZ 1 SREQLEFT BSSZ 1 SREQDONE BSSZ 1 SBUFPOS BSSZ 1 SBUFSZ BSSZ 1 SACTION BSSZ 1 SUSERREQ BSSZ 1 * SPPROCSZ EQU *-SPPROC * * DESCRIPTIONS OF SOME FIELDS WHICH RECIEVE VALUES * SFIELD1 EQU 0 QUEUE ADDRESS EJECT * * PROTOTYPE OF DISK PSEUDO PROCESS * DPPROC VFD 3/1,3/1,6/0,12/1,36/0 BSSZ 1 DATA 0 DPQUEUE VFD 22/0,20/SFIELD1,18/DSKINTX BSSZ 2 * DMOT BSSZ 1 DISK PPROC MOT AND UNIQUE NAME DDATA BSSZ 1 DISKDATA WORD * DPPROCSZ EQU *-DPPROC EJECT * * * * PROTOTYPE FOR DISPLAY PSEUDO-PROCESSES * * DSPPROC VFD 3/1,3/1,6/0,12/1,36/0 BSSZ 1 DATA 0 DSPQUEUE VFD 22/0,20/0,18/DSPINTX BSSZ 2 . EVENT WORDS * DSPECREQ BSSZ 1 DSPMOT BSSZ 1 DSPPROCA BSSZ 1 DSPSCREN BSSZ 1 * * DSPPROCL EQU *-DSPPROC END