Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_1_19910112
-
5-galaxy/lsrmac.mac
There are no other files named lsrmac.mac in the archive.
UNIVERSAL LSRMAC - COMMON DEFINITIONS USED THROUGHOUT LSRSPL
COMMENT ^
BILLY BROWN
UNIVERSITY OF TEXAS AT AUSTIN
JUNE, 1983
FILES NEEDED FOR THE SPOOLER:
LSRMAC.MAC THIS ONE
LSRSPL.MAC IS INTERFACE
LSRGLX.MAC GALAXY INTERFACE
IS.C IMAGEN SUPPLIED SPOOLER
PC.C IMAGEN SUPPLIED PACKET HANDLER
IO.MAC IMAGEN SUPPLIED LOW LEVEL IO ROUTINES
CLIB.REL C LIBRARY ROUTINES
TO LOAD:
@LINK
*IS, PC, IO, LSRSPL
*CLIB/GO
THE CARD PUNCH QUEUE (OBJECT TYPE 5) IS USED TO SERVICE THE LASER PRINTER.
THIS DOES NOT REQUIRE ANY CHANGES TO GALAXY, BUT THINGS LOOK BETTER TO THE
USER IF SOME MODS ARE MADE.
THE FOLLOWING CHANGES ARE RECOMMENDED:
QSRQUE.MAC OUTPUT STRING FOR NOTIFICATION MESSAGE
QDRDSP.MAC OUTPUT STRING FOR STATUS MESSAGE FOR "INFO OUTPUT"
OPRCMD.MAC KEYWORD CHANGES IN OPR COMMAND TABLES
ORNMAC.MAC KEYWORD CHANGES IN OPR COMMAND TABLES
GLXMAC.MAC CHANGE SOME TEXT STRINGS
QSRMAC.MAC DEFINE SOME NEW BITS
EXECCA.MAC LASER-PRINT COMMAND ADDITION TO THE EXEC
EXECQU.MAC LASER-PRINT COMMAND
EXECGL.MAC NEW GLOBAL EXEC DEFINITIONS
THESE ARE NOT LARGE MODIFICATIONS.
CHANGES TO IS, PC, AND IO ARE ALSO NEEDED. THESE ARE SMALL TOO.
THE SPOOLER EXPECTS THE FOLLOWING CHANGES IN THE FP BLOCK OF THE EXTERNAL
QUEUE ENTRY. IF THESE CHANGES ARE NOT MADE, THE SPOOLER WILL NOT PROCESS
ASCII FILES: (LIFTED FROM QSRMAC.MAC)
!=======================================================!
.FPLEN ! LENGTH OF FILE-PARAM AREA ! !
!-------------------------------------------------------!
.FPINF !FILE FMT !PAPR FMT!SPACING ! FLAGS ! COPIES !
!-------------------------------------------------------!
.FPFST ! STARTING INFORMATION !
!-------------------------------------------------------!
.FPFR1 ! FORMWIDTH ! FORMLENGTH !
!-------------------------------------------------------!
.FPFR2 ! TOPMARGIN ! LEFTMARGIN !
!=======================================================!
FILE FORMAT:
.FPASC==1 ASCII FORMAT
.FPFFO==2 FORTRAN .DAT FORMAT (NOT IMPLIMENTED YET)
.FPFAI==4 TEKTRONIX FORMAT (NOT IMPLIMENTED YET)
.FPFIM==7 IMPRESS FORMAT
NEW FLAGS IN .FPINF:
FP.REV==1B24 PAGEREVERSE YES
FP.COL==1B25 PAGECOLLATION YES
FP.2PG==1B26 FORMSPERPAGE 2
SUPPORT FOR ASCII FILES ALSO REQUIRES EXEC CHANGES.
IF EXEC MODS ARE NOT MADE, THE FILE FORMAT CODE WILL BE ZERO, WHICH
DEFAULTS TO IMPRESS FORMAT.
IMPRESS FILES MUST BEGIN WITH A DIGIT TO PASS A "GOOD FORMAT" TEST.
USER HEADERS ON ASCII FILES ARE NOT SENT TO THE PRINTER.
TEXT UTILITIES
A GALAXY TEXT UTILITY LOOK-ALIKE IS USED. THE FORMAT IS:
TEST (ROUTINE,<STRING>)
WHERE ROUTINE IS THE SUBROUTINE WHICH WILL RECEIVE THE CHARACTERS
FROM THE STRING IN AC1. THIS ROUTINE MAY MESS WITH AC1-AC16 AND
SHOULD RETURN WITH A POPJ P,.
THE STRING MAY USE CODES OF THE FORM "%Xn" WHERE "n" IS 1..5 TO SPECIFY
AC1..AC5 AND "X" IS ONE OF THE FOLLOWING:
"U" USER NAME STRING FOR USER NUMBER IN AC.
"F" FILE NAME FOR JFN IN AC.
"N" DECIMAL NUMBER IN AC.
"O" OCTAL DUMPER IN AC.
"6" SIXBIT WORD IN AC.
"T" TIME FOR UDT IN AC.
"D" DATE FOR UDT IN AC.
"E" ERROR STRING FOR ERROR NUMBER IN AC.
"S" STRING BEGINNING AT ADDRESS IN AC.
"_" ADD CRLF AND QUIT
"%" "%"
A CRLF IS NOT ADDED TO THE END OF THE STRING UNLESS %_ IS USED.
WTO'S
WTO'S HAVE THE FORMAT:
WTO (<FIRST STRING>,<SECOND STRING>)
THE FIRST STRING MUST EXIST, THE SECOND DOES NOT HAVE TO.
WTO, WTOJ, LOG, AND ACK ARE DEFINED. WTOR IS NOT.
^
; AC DEFINITIONS
F==0 ;FLAG WORD
A==1 ;GENERAL ACS
B==2
C==3
D==4
P1==10
P2==11
P3==12
P==17 ;STACK POINTER
; FLAGS
F%UP== 1B0 ;DEVICE IS STARTED
F%JOB== 1B1 ;JOB IS ASSIGNED
F%HDR== 1B2 ;JOB CAN'T BE REQUEUED OR ABORTED
F%ABT== 1B3 ;JOB HAS BEEN ABORTED
F%REQ== 1B4 ;JOB HAS BEEN REQUEUED
F%OFF== 1B5 ;DEVICE IS OFF LINE
F%F1== 1B18 ;LOCAL FLAGS
F%F2== 1B19
F%F3== 1B20
DEFINE TEXT (X1,X2) < ;TEXT UTILITY
CALL TEXT.
SKIPA
Z X1
SKIPA
[ASCIZ \X2\]
>
DEFINE WTO (X1,X2) < ;WRITE TO OPERATOR
CALL .WTO.
SKIPA
[ASCIZ \X1\]
SKIPA
IFB <X2>, <0>
IFNB <X2>, <[ASCIZ \X2\]>
>
DEFINE ACK (X1,X2) < ;ACKNOWLEDGE OPRATOR
CALL .ACK.
SKIPA
[ASCIZ \X1\]
SKIPA
IFB <X2>, <0>
IFNB <X2>, <[ASCIZ \X2\]>
>
DEFINE WTOJ (X1,X2) < ;WRITE TO OPERATOR - JOB MESSAGE
CALL .WTOJ.
SKIPA
[ASCIZ \X1\]
SKIPA
IFB <X2>, <0>
IFNB <X2>, <[ASCIZ \X2\]>
>
DEFINE LOG (X1,X2) < ;WRITE TO OPERATOR - LOG MESSAGE
CALL .LOG.
SKIPA
[ASCIZ \X1\]
SKIPA
IFB <X2>, <0>
IFNB <X2>, <[ASCIZ \X2\]>
>
END