File MACROS.LI

Directory of image this file is from
This file as a plain text file

/MACRO LIBRARY FOR HUME COMPANYS.
.TITLE MACROS FOR RASBOL
.DISABL FILL
EXPUNGE LAS,ION,IOF,KSF,KCC,KRS,KRB,TSF
EXPUNGE TCF,TPC,TLS,RIB,RMF,SCA,SCL,MUY
EXPUNGE DVI,NMI,SHL,ASR,LSR,SKON,SRQ,SGT
EXPUNGE RPE,RSF,RRB,RFC,PCE,PSF,PCF,PPC
EXPUNGE PLS,KCF,KIE,TFL,TSK,SPF,SPI,OSR
IFNDEF WAIT <.INCLUDE ESTRAS.LI 
XFILEX=XFILES >
XOPENC=0
IFDEF WAIT < .START .,XFLD >
XLIST
PRINTA=PRINTC 1
/
.MACRO IFWAIT
IFDEF WAIT <WAIT >
.ENDM IFWAIT
/
/
/
.MACRO READS F,R,E,C,CN
.IF NB CN <GOTO;A$
CN:	0;0
A$,
>
.IF NB C < LOADIM;1
ADDTO2;C
LOAD2;C >
IFWAIT
READSQ;F
GONEG;E
GETREC;R
GOWDEQ;E;R+1;-1
.ENDM READS
/
/
/
.MACRO SFORMS A,B
PRINTW;A$;5
GOTO;B$
A$:	ESCAPE;"[;"A;"B;"t
B$,
.ENDM SFORMS
.MACRO DISPLAY A
PRINT!<B$-.-1^2>;TEXT "A"
B$,
.ENDM DISPLAY
/
IFDEF $ASK <.MACRO ASK Q,K,Z,PN,ST,NW
DISPLAY "Q"
TYPIN K
.IF NB Z < GOZERO;Z >
.IF NB PN < PRINT'PN >
.IF NB ST < STORE'NW;ST >
.ENDM ASK
/
/
.MACRO ASKOK AD
A$:	PRINT 4;TEXT " OK="
TYPIN K10
GOZERO;Y$
GOIFEQ;N$;99
PRINTA;BELL
GOTO;A$
N$:	PRINT 4;TEXT "NO**"
GOTO;AD
Y$,	PRINT 4;TEXT "YES "
.ENDM ASKOK 
>
/
/
.MACRO DISPCO
IFDEF COMPNO <  PRINTC 1;SPACE
LOADX1;COMPNO
MULTX1 4
PRINTX;CONAME;8. >
.ENDM DISPCO
/
IFNDEF WAIT <	.MACRO OPENS D,F,$N,E,LK,CO,Q
$N=XFILEX
IFNDEF HQ <
.IF NB CO <
LOAD1;COMPNO
ADDTO1;.+7	> >
OPEN;DEVICE D
F$:	FILENA F;$N
GONEG;E
.PUSH F$
Z$,
XFILEX=XFILEX+9.
.PUSH $N
ABORT;E
Y$,
XOPENC=XOPENC+1
.ENDM OPENS
>
IFDEF WAIT <	.MACRO OPENS D,F,$N,E,LK,CO,Q
 WAIT
.IF NB CO <	LOAD1;COMPNO
ADDTO1;$N+6 >
CHANNEL;$N;$N+1;OPEN'LK
GONEG;E
GOTO;D$
$N: -1; DEVICE D
F$:	FILENA F
XINDIC=0
.IF NB Q <XINDIC=1 >
.PUSH XINDIC
D$:
.PUSH $N
ABORT;E
Y$,
XOPENC=XOPENC+1
.ENDM OPENS
>
/
.MACRO CLOSALL 
.REPT XOPENC
.POP $N,FA
IFNDEF WAIT <
MOVE;FA;.+3;4
CLOSE;FILENA X.X;$N  >
IFDEF WAIT < CHANNEL;$N;$N+1
IFZERO FA <CLOSE >
IFNZRO FA <CLOSEQ >  >
.ENDR
.ENDM CLOSALL

/ IFDEF COMPNO <$C=COMPNO> $O=OPENER .MACRO OPENGL LK IFDEF $CRSW < OPENS DK1,GLMAST.MA,GLMAST,$O,LK,$C > IFNDEF $CRSW < OPENS DSK,GLMAST.MA,GLMAST,$O,LK,$C > .ENDM OPENGL IFDEF $CR < .MACRO OPENCR LK OPENS DK1,CRMAST.MA,CRMAST,$O,LK,$C .ENDM OPENCR .MACRO OPENCD LK OPENS DK1,CDETAL.DA,CDETAL,$O,LK,$C,Q .ENDM OPENCD > IFDEF $DR < .MACRO OPENDR LK OPENS DK1,DRMAST.MA,DRMAST,$O,LK,$C .ENDM OPENDR .MACRO OPENDN LK OPENS DK1,DNAMES.MA,DNAMES,$O,LK .ENDM OPENDN .MACRO OPENDD LK OPENS DK1,DDETAL.DA,DDETAL,$O,LK,$C,Q .ENDM OPENDD > .MACRO OPENGD LK IFDEF $CRSW < OPENS DK1,GDETAL.DA,GDETAL,$O,LK,$C,Q > IFNDEF $CRSW < OPENS DSK,GDETAL.DA,GDETAL,$O,LK,$C,Q > .ENDM OPENGD .MACRO OPENPD LK OPENS DK1,PRODUC.MA,PRODUC,$O,LK,$C .ENDM OPENPD .MACRO OPENSA LK OPENS DK1,SALESA.MA,SALESA,$O,LK,$C .ENDM OPENSA .MACRO OPENDO OPENS DK1,DOCNUM.DA,DOCNUM,$O .ENDM OPENDO / / / .MACRO OPENR OPENER, GONEG;OPNF DISPLAY "_ABORTED_" GOTO;B$ OPNF: DISPLAY "_FILE ERROR_" B$, .ENDM OPENR / .MACRO CLOSES F,N,Q,CO IFNDEF WAIT < .IF NB Q < .IF NB CO < IFNDEF HQ < LOAD1;$C ADDTO1;.+5 > > CLOSE;FILENA F;N > > IFDEF WAIT < WAIT CHANNEL;N ;N+1 ;CLOSE'Q > .ENDM CLOSES / .MACRO READR F,REC,ER,K,L .IF NB K < LOAD'L;K > READ;F GONEG;ER GETREC;REC .ENDM READR / .MACRO WRITEN F,REC,ER CLEAR READSQ;F GONEG;ER PUTREC;REC WRITSQ GONEG;ER .ENDM WRITEN / .MACRO WRITEB F,REC,ER,K,L .IF NB K < LOAD'L;K READ;F GONEG;ER > PUTREC;REC WRITE GONEG;ER .ENDM WRITEB
/ IFDEF $DSORT < .MACRO DSORT FIL,A,B,C,D,E,F,G,H IFDEF WAIT < LOAD1;FIL > IFNDEF WAIT <LOADIM;FIL > .IF NB A < MOVE;A$;KEYS;8 GOTO;B$ A$: 0A;0B;0C;0D;0E;0F;0G;0H B$, > GOSUB;SORT .ENDM DSORT > / XLIST



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search