perm filename N.NEW[GEM,BGB]1 blob
sn#047849 filedate 1973-06-07 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002 LINK MACROS
00004 00003 NAMES OF NODE DATA WORDS.
00006 00004 TYPE BIT OPERATIONS.
00007 00005 PROPERTY-TYPE BITS.
00009 ENDMK
⊗;
;LINK MACROS
DEFINE LEFT $(NAM,WRD,Z){
IFIDN<><Z><DEFINE NAM(A,Q)<CAR A,WRD(Q)>>
IFDIF<><Z><DEFINE NAM(A,Q)<NIP A,WRD(Q)>>
DEFINE NAM$.(A,Q)<DIP A,WRD(Q)>}
DEFINE RIGHT $(NAM,WRD,Z){
IFIDN<><Z><DEFINE NAM(A,Q)<CDR A,WRD(Q)>>
IFDIF<><Z><DEFINE NAM(A,Q)<NAP A,WRD(Q)>>
DEFINE NAM$.(A,Q)<DAP A,WRD(Q)>}
;DEFINE GEM LINK NAMES.
LEFT(X1DC,-3,N)↔ RIGHT(Y1DC,-3,N)
LEFT(X2DC,-2,N)↔ RIGHT(Y2DC,-2,N)
LEFT(IIIDX,-2,N)↔ RIGHT(IIIDY,-2,N)
LEFT(TCW,-1)↔ RIGHT(TCCW,-1)
LEFT(YNF,-1)↔ RIGHT(YPF,-1)
LEFT(TYPE,0)
DEFINE $TYPE(Q,E)<LDB Q,[POINT 4,(E),35]>
LEFT(NFACE,1)↔ RIGHT(PFACE,1)
DEFINE XDC (Q,E)<HLLE Q,1(E)>↔DEFINE YDC (Q,E)<HRLE Q,1(E)>
DEFINE XDC.(Q,E)<HLLM Q,1(E)>↔DEFINE YDC.(Q,E)<HLRM Q,1(E)>
LEFT(NED,2)↔ RIGHT(PED,2)
LEFT(PY,2)↔ RIGHT(NY,2)
LEFT(NCNT,2,N)
LEFT(NVT,3)↔ RIGHT(PVT,3)
LEFT(PTEXT,3)↔ RIGHT(DPSIZ,3,N)
LEFT(PARRW,3)↔
LEFT(NCW,4)↔ RIGHT(PCW,4)
LEFT(DAD,4)↔ RIGHT(SON,4)
LEFT(NCCW,5)↔ RIGHT(PCCW,5)
LEFT(BRO,5)↔ RIGHT(SIS,5)
LEFT(ALT,6)↔ RIGHT(ALT2,6)
RIGHT(FRAME,6)↔ RIGHT(POTEN,6)
LEFT(CW,7)↔ RIGHT(CCW,7)
DEFINE YCODE(Q,E)<LDB Q,[POINT 6,7(E),5]>
DEFINE YCODE.(Q,E)<DPB Q,[POINT 6,7(E),5]>
; NAMES OF NODE DATA WORDS.
↓AA ←← ↓XWC ←← -3
↓BB ←← ↓YWC ←← -2
↓CC ←← ↓ZWC ←← -1
↓QQ ←← 7
↓KK ←← 3
↓OFFSET←←-2
↓YREL←← 7
↓XPP ←← 4↔ ↓YPP ←← 5↔ ↓ZPP ←← 6
↓IX←←0↔ ↓IY←←1↔ ↓IZ←←2
↓JX←←3↔ ↓JY←←4↔ ↓JZ←←5
↓KX←←6↔ ↓KY←←7↔ ↓KZ←←8
;NODE SERIAL TYPE NUMBERS.
↓$FRAME ←← 0
↓$EMPTY ←← 1
↓$UNIVERSE ←← 2
↓$SUN ←← 3
↓$CAMERA ←← 4
↓$WORLD ←← 5
↓$WINDOW ←← 6
↓$IMAGE ←← 7
↓$TEXT ←← 10
↓$XNODE ←← 11
↓$YNODE ←← 12
↓$ZNODE ←← 13
↓$BODY ←← 14
↓$FACE ←← 15
↓$EDGE ←← 16
↓$VERT ←← 17
↓$TEXTHD ←← 1
↓$ARROW ←← 2
↓.RLTXT ←← $TEXTHD*1B5+0140B17+0040 ;LIKE A VERTEX
↓.RLARW ←← $ARROW*1B5+0144B17+0044 ;LIKE A VERTEX
;TYPE BIT OPERATIONS.
DEFINE MARK(Q,BITS){
IFE BITS⊗-22,{LACI BITS}
IFN BITS⊗-22,{SLACI(BITS)}
IORM(Q)}
DEFINE MARKZ(Q,BITS){
IFE BITS⊗-22,{LACI BITS}
IFN BITS⊗-22,{SLACI(BITS)}
ANDCAM (Q)}
DEFINE TEST(Q,BITS){
LAC(Q)
IFE BITS⊗-22,{TRNN BITS }
IFN BITS⊗-22,{TLNN(BITS)}}
DEFINE TESTZ(Q,BITS){
LAC(Q)
IFE BITS⊗-22,{TRNE BITS }
IFN BITS⊗-22,{TLNE(BITS)}}
;PROPERTY-TYPE BITS.
↓PBIT ←← 1B30 ;PART.
↓TBIT3←←1B20
↓TBIT2←←1B19
↓TBIT1←←1B18
↓BBIT ←← 1B17
↓FBIT ←← 1B16
↓EBIT ←← 1B15
↓VBIT ←← 1B14
↓PZZ ←← 1B1
↓NZZ ←← 1B10
↓FOLDED ←← 1B11
↓VISIBLE ←← 1B12
↓POTENT ←← 1B13
↓DARKEN ←← 1B3
↓NORTH ←← 1B5
↓SOUTH ←← 1B6
↓EAST ←← 1B7
↓WEST ←← 1B8
↓NSEW ←← 17B8
↓JUTBIT ←← 1B3
↓JOTBIT ←← 1B4
↓CONBIT←←JOTBIT ;Text to be continued in next node.
DEFINE HIDE(Q){
SLACI(3B13)↔ANDCAM(Q)}
↓TMPBIT ←← 1B2
↓BDLBIT ←← 1B1 ;BODY OPERATION DISABLE LOCOR ACTION.
↓BDVBIT ←← 1B3 ;BODY OPERATION DISABLE VERTEX ACTION.
↓BDPBIT ←← 1B4 ;BODY OPERATION DISABLE PARTS ACTION.
↓TXTBIT ←← 1B24 ;TEXT VERTEX.