{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SIMULPTR60)}}
====== SIMULPTR60 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHECKA|CHECKA]], [[george:macro:COMPQU|COMPQU]], [[george:macro:FADDRESS|FADDRESS]], [[george:macro:FDRMTEST|FDRMTEST]], [[george:macro:FOUTMOVE|FOUTMOVE]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:JNOTFDRM|JNOTFDRM]], [[george:macro:LOCKCA|LOCKCA]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:OLPFIN|OLPFIN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PAIR|PAIR]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:STEP|STEP]], [[george:macro:TEST|TEST]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TICKLES|TICKLES]], [[george:macro:TOPCA|TOPCA]], [[george:macro:TOPCA1|TOPCA1]], [[george:macro:UNPLUG|UNPLUG]]
22FL #
22^= #SEG SIMULPTR60 [LADISLAV KUTILEK
23DW #OPT K0SIMULPTR=0
23YG #LIS K0SIMULPTR>K0ALLGEO>K0GREATGEO>K0FILESTORE
24D6 8HSIMULPTR
24XQ SEGENTRY K1SIMULPTR,Z1SIMULPTR
25CB #
25X2 # THIS SEGMENT IMPLEMENTS OFFLINE *TR AND *CR (TYPE 0 AND 3),
26BL # IF ASSIGNED TO AN "OLD" TP LIKE FILE(PRE MARK 7)
26W= #
27*W # N=COUNT IN PERI,
27TG # R=SIZE OF RECORD
28*6 # C=CHARACTER POINTER TO NEXT CHAR.IN BUFFER,
28SQ # D=CHARACTER POINTER TO NEXT CHAR.IN BUFFER,
29#B # S=CURRENT SHIFT IN RECORD,
29S2 # E=CURRENT SHIFT ASSUMED BY READER.
2=?L # AWORK1=LAST LOADED CHAR
2=R= # AWORK2=B23=1 CR SIMULATION
2?=W # B0 =1 CR,CP,LP FILE
2?QG #
2#=6 MASK1 #3770000
2#PQ MASK2 #37777777
2*9B MASK3 #47777777
2*P2 MASK4 #60000077
2B8L MASK5 #74007777
2BN= MASK6 #57777777
2C7W MASK7 #20000000
2CMG MASK8 #17777777
2D76 MASK9 #40000000
2DLQ MASK10 #3777777
2F6B MASK11 #10000
2FL2 MASK12 #17770000
2G5L MASK13 #77770000
2GK= MASK14 #30000
2H4W RNO1 #02 [MODES
2HJG RNO2 #04
2J46 RNO3 #06
2JHQ RAC1 #20
2K3B RAC2 #22
2KH2 RAC3 #24
2L2L RAC4 #26
2LG= RGS1 #10
2L^W RGS2 #12
2MFG TW #2 [GRAPHIC SET
2M^6 TH #3 [PUNCH BLANKS
2NDQ ST #64 [T
2NYB SU #65 [U
2PD2 SV #66 [V
2PXL SW #67 [W
2QC= SX #70 [X
2QWW SALP #74 [ALPHA SHIFT
2RBG SBET #75 [BETA SHIFT
2RW6 SDEL #76 [DELTA SHIFT
2S*Q SUNA #77 [_
2STB SDLT #73 [DELETE
2T*2 SROT #20 [RUN-OUT
2TSL SSTP1 #21 [TC1
2W#= SSTP2 #40 [@
2WRW SSTP3 #32 [FE2-NEWLINE
2X?G SSTP4 #36 [SHIFT OUT
2XR6 MAX +129
2Y=Q MAXC +81
2YQB MAXCD +2037
2^=2 PLINK1
2^PL PAIR SIMULPTR,1
329= Z1SIMULPTR
32NW LDX 3 APETADDR(2) [PTR TO APET
338G LOCKCA 3,ACAP(2)
33N6 LDX 1 ACAP(2) [CA IN OBJ.PROG.
347Q LDN 2 ACA1(2) [CA IN OLPA
34MB LDN 7 4
3572 FOUTMOVE 3,1,2,7,HLOCK1 [MOVE CA TO OLPA
35LL LDX 1 FX1
366= LDX 2 FX2
36KW STOZ ACA2(2) [ZEROISE REPLY WORD
375G LDX 3 ACA3(2) [PERI COUNT
37K6 BZE 3 WC
384Q LDEX 0 AWORK2(2)
38JB BNZ 0 RCARD [J SIMULATE CR
3942 Z5 BXGE 3 MAX(1),WC [CHECK COUNT<129
39HL SLC 3 12
3=3= ANDX 5 MASK5(1)
3=GW ORX 5 3 [NEW N IN X5
3?2G ANDX 6 MASK5(1) [D=0
3?G6 LDX 3 ACA1(2) [PERI MODE
3?^Q ANDN 3 #7777
3#FB BZE 3 SHIFT [J IF #00
3#^2 BXE 3 RNO1(1),SHIFT [ #02
3*DL BXE 3 RNO2(1),RO1 [ #04
3*Y= BXE 3 RNO3(1),RO2 [ #06
3BCW BXE 3 RAC1(1),RC1 [ #20
3BXG BXE 3 RAC2(1),RC2 [ #22
3CC6 BXE 3 RAC3(1),RC3 [ #24
3CWQ BXE 3 RAC4(1),RC4 [ #26
3DBB BXE 3 RGS1(1),SHIFT [ #10
3DW2 BXE 3 RGS2(1),SHIFT [ #12
3F*L BRN MOPER
3FT= RCARD BXGE 3 MAXCD(1),WC [CHECK COUNT<2037
3G#W SLC 3 12
3GSG ANDN 5 #7777 [ZEROISE N IN X5
3H#6 ORX 5 3 [STORE NEW N IN X5
3HRQ ANDN 6 #7777 [D=0
3J?B BRN SHCR
3JR2 RO1 LDN 3 1
3K=L BRN SHIFT
3KQ= RO2 LDN 3 3
3L9W BRN SHIFT
3LPG RC1 LDN 3 4
3M96 BRN SHIFT
3MNQ RC2 LDN 3 6
3N8B BRN SHIFT
3NN2 RC3 LDN 3 5
3P7L BRN SHIFT
3PM= RC4 LDN 3 7
3Q6W SHIFT SRC 3 4
3QLG ANDX 6 MASK10(1) [ERASE PREVIOUS MODE
3R66 ORX 6 3 [STORE NEW MODE
3RKQ SHCR LDX 3 ACA3(2) [PERI COUNT
3S5B LDX 1 ACA4(2) [BUFFER ADDRESS
3SK2 ADN 3 3
3T4L SRL 3 2
3TJ= CHECKA 1,3,RESV,APETADDR(2),W,Z4,HLOCK2
3W3W Z4 LDX 0 ALIMEY(2) [CHECK IF FIRST PERI
3WHG LDX 4 AWORK1(2) [LAST LOADED CHAR.
3X36 BZE 0 PEFI [J IF IT IS
3XGQ LDX 1 5
3Y2B ANDN 1 #7777 [PICK UP R
3YG2 LDX 2 6
3Y^L ANDN 2 #7777 [PICK UP C
3^F= BXE 1 2,SGE [J IF END OF RECORD
3^YW BACKSPACE [SET POINTER
42DG STEP [TO RECORD
42Y6 SGE LDX 1 5
43CQ SLC 1 2 [PICK UP MODE OF RECORD
43XB BPZ 1 TESMO [J IF NORMAL OR ALCHAR
44C2 SLC 1 1
44WL BNG 1 PG [J IF BLANKS
45B= BRN PH [J IF GRAPHIC
45TW TESMO LDX 1 FX1
46*G BNG 6 PD [J IF READ IN GRAPHIC SET
46T6 SLC 6 3 [PICK UP SHIFT
47#Q BNG 6 PRSH [J IF READ IN PREVIOUS SHIFT
47SB SRC 6 3 [BITS OF X6 INTO NORMAL POSITION
48#2 ANDX 5 MASK2(1) [E=ALPHA
48RL BXE 4 SDEL(1),SONE [J IF LOADED CHAR.=DELTA
49?= BXE 4 SALP(1),SONE [ =ALPHA
49QW BXU 4 SBET(1),PA [ =BETA
4==G SONE ADN 6 1 [C=C+1,READER /2
4=Q6 BRN PA
4?9Q PRSH SRC 6 3 [BITS OF X6 INTO NORMAL POSITION
4?PB BXE 4 SDEL(1),PB [J IF LOADED CHAR.=DELTA
4#92 BRN PA
4#NL PEFI LDN 0 1
4*8= STO 0 ALIMEY(2) [SWITCH FOR FIRST PERI
4*MW LDX 1 FX1
4B7G ANDX 5 MASK12(1) [E=S=ALPHA,R=0
4BM6 ANDX 6 MASK13(1) [C=0
4C6Q BNG 6 PD [J IF READ GRAPHIC SET MODE
4CLB #
4D62 # RECORD IN A SHIFT MODE.
4DKL #
4F5= PA
4FJW CALL 1 SRGNC [GET FIRST CHARACTER
4G4G LDX 1 FX1
4GJ6 BXE 4 SALP(1),SA [TEST LOADED CHAR.,J IF IT IS ALPHA
4H3Q BXE 4 SBET(1),SB [J IF IT IS BETA
4HHB BXE 4 SDEL(1),SD [J IF IT IS DELTA
4J32 LDX 0 5
4JGL SLC 0 1 [PICK UP S FROM X5
4K2= BNG 5 TEST
4KFW BNG 0 UNEQ [J IF E=ALPHA,S=BETA
4K^G BRN SAME [J IF E=S=ALPHA
4LF6 TEST BNG 0 SAME [J IF E=S=BETA
4LYQ ANDX 5 MASK2(1) [E=BETA,S=ALPHA,MAKE E=S
4MDB SMO FX2
4MY2 STO 4 AWORK1 [STORE LOADED CHAR
4NCL LDX 4 SALP(1) [LOAD ALPHA
4NX= BRN TCH
4PBW UNEQ ORX 5 MASK9(1) [MAKE E=S
4PWG SMO FX2
4QB6 STO 4 AWORK1 [STORE LOADED CHAR
4QTQ LDX 4 SBET(1) [LOAD BETA
4R*B TCH CALL 0 SRTCH [TRANSFER SHIFT CHARACTER
4RT2 SMO FX2
4S#L LDX 4 AWORK1 [RELOAD CHAR
4SS= SAME CALL 0 SRTCH [TRANSFER CHARACTER
4T?W BRN PA
4TRG SA ANDX 5 MASK6(1) [S=ALPHA
4W?6 BRN PA
4WQQ SB ORX 5 MASK7(1) [S=BETA
4X=B BRN PA
4XQ2 SD LDX 2 6
4Y9L SLC 2 1 [TEST IF READ ALL CHARACTERS
4YP= BNG 2 YES [J IF IT IS
4^8W LDX 2 6 [PICK UP C
4^NG ANDN 2 #7777
5286 SRC 2 2 [X2 AS CHARACTER COUNTER-MODIFIER
52MQ SMO 3
537B LDCH 0 2(2) [LOAD NEXT CHARACTER
53M2 LDX 1 FX1
546L BXE 0 SDLT(1),SIG [TEST IF IT IS DELETE
54L= BXE 0 SROT(1),SIG [OR RUN-OUT
555W YES CALL 0 SRTCH [TRANSFER DELTA SHIFT
55KG PB CALL 1 SRGNC [GET NEXT CHARACTER
5656 CALL 0 SRTCH [TRANSFER CHARACTER
56JQ LDX 0 6
574B SLC 0 2 [TEST IF READ TO STOP CHARACTER
57J2 BNG 0 TOST [J IF IT IS
583L BRN PA
58H= SIG ADN 6 1 [C=C+1
592W BRN PA
59GG TOST BXE 4 RAC3(1),QUIT [J IF LOADED CHAR.=TC4
5=26 BXL 4 SSTP3(1),PA [J IF NOT STOP CHAR.
5=FQ BXGE 4 SSTP4(1),PA [J IF NOT STOP CHAR.
5=^B QUIT LDX 1 FX1
5?F2 SMO FX2
5?YL LDEX 2 AWORK2
5#D= BNZ 2 SETCR [J IF *CR
5#XW LDX 3 5
5*CG ANDX 3 MASK1(1) [PICK UP N
5*X6 LDX 2 6
5BBQ ANDX 2 MASK1(1) [PICK UP D
5BWB SBX 3 2
5CB2 SRL 3 12 [REMAINDER COUNT
5CTL BRN REPWO
5D*= SETCR
5DSW SET2 LDX 2 6
5F#G SRL 2 14 [POINTER IN BUFFER
5FS6 SMO FX2
5G?Q LDX 3 ACA4 [BUFFER ADDRESS
5GRB ADX 3 2 [ADDRESS OF LAST TRANSFERRED WORD
5H?2 REPWO LDX 2 FX2
5HQL STO 4 AWORK1(2) [STORE LOADED CHAR
5J== OLPREP
5JPW LDX 1 APETADDR(2) [PTR TO APET
5K9G LDX 2 ACAP(2) [PTR TO PERI CA
5KP6 ADN 2 1
5L8Q FADDRESS 1,2,HLOCK1
5LNB STO 3 0(2) [REPLY WORD
5M82 OEND
5MML LDX 2 FX2
5N7= JNOTFDRM XNDRM [J IF NOT DRM
5NLW TICKLES 2,3
5P6G XNDRM LDX 2 APETADDR(2)
5PL6 OLPFIN 2
5Q5Q BRN K1SIMULPTR
5QKB #
5R52 # PERI IN GRAPHIC SET MODES(#10,#12),
5RJL # RECORD IN A SHIFT MODE.
5S4= #
5SHW PD
5T3G CALL 1 SRGNC [GET NEXT CHARACTER
5TH6 LDX 1 FX1
5W2Q SMO FX2
5WGB LDEX 0 AWORK2
5X22 BNZ 0 READC [J SIMULATE CR
5XFL ANDX 5 MASK2(1) [E=ALPHA
5X^= BXE 4 SALP(1),SAL [J IF LOADED CHAR.IS ALPHA
5YDW BXE 4 SBET(1),SBE [J IF LOADED CHAR.IS BETA
5YYG XSDE BXE 4 SDEL(1),SDE [J IF LOADED CHAR.IS DELTA
5^D6 CALL 0 SRTCH [TRANSFER CHARACTER
5^XQ BRN PD
62CB READC BXE 4 SALP(1),PD [J IF LOAD.CHAR.IS ALPHA
62X2 BXE 4 SBET(1),PD [J IF LOAD.CHAR.IS BETA
63BL BRN XSDE
63W= SAL ANDX 5 MASK6(1) [S=ALPHA
64*W BRN PD
64TG SBE LDX 0 MASK9(1)
65*6 SRC 0 1 [B1=1
65SQ ORX 5 0 [S=BETA
66#B BRN PD
66S2 SDE CALL 1 SRGNC [NEXT CHARACTER
67?L LDX 1 FX1
67R= BXL 4 ST(1),STOGR [J,IT COULD BE A STOP CHAR
68=W ADN 4 4
68QG BXGE 4 SALP(1),NATCH [J IF A NATIONAL CHAR
69=6 ADN 4 4
69PQ TRNAT CALL 0 SRTCH [TRANSFER CHAR
6=9B BRN PD
6=P2 NATCH BXGE 4 SUNA(1),PD [JIF NOT A NATIONAL CHAR
6?8L BRN TRNAT
6?N= STOGR SBN 4 #21
6#7W BNG 4 PD [J IF NOT A STOP
6#MG SBN 4 #17
6*76 BPZ 4 PD [IGNORE IF NOT A STOP
6*LQ ADN 4 #40 [RESTORE CHAR
6B6B SMO FX2
6BL2 LDEX 0 AWORK2
6C5L BNZ 0 TCOUN [SPACEFILL IF CR
6CK= BRN QUIT
6D4W #
6DJG # RECORD IN GRAPHIC MODE.
6F46 #
6FHQ PH
6G3B SMO FX1
6GH2 ANDX 5 MASK8 [E=S=ALPHA
6H2L BNG 6 RGM [J IF READ IN GRAPHIC
6HG= PE CALL 1 SRGNC [GET CHARACTER
6H^W SREXIT
6JFG LDX 1 FX1
6J^6 BXL 4 SALP(1),TRACH [J IF IT IS NOT A FUNY CHAR.
6KDQ SMO FX2
6KYB STO 4 AWORK1 [STORE SHIFT
6LD2 LDN 4 #76 [DELTA
6LXL CALL 0 SRTCH [TRANSFER DELTA
6MC= SMO FX2
6MWW LDX 4 AWORK1 [RESTORE SHIFT
6NBG SBN 4 #10 [CONVERT SHIFT
6NW6 TRACH CALL 0 SRTCH [TRANSFER CHARACTER
6P*Q BRN PE
6PTB RGM CALL 1 SRGNC
6Q*2 CALL 0 SRTCH [TRANSFER CHAR
6QSL BRN RGM
6R#= #
6RRW # TP FILE WRITTEN IN MODE #20(PUNCH BLANKS).
6S?G #
6SR6 PG
6T=Q SLC 6 1 [TEST MODE OF PERI
6TQB BNG 6 MACH [J IF READ ALL CHARS.
6W=2 SRC 6 1 [BITS OF X6 INTO NORMAL POSITIONS
6WPL LDX 1 FX1
6X9= ANDX 5 MASK13(1) [R=0
6XNW ANDX 6 MASK13(1) [C=0
6Y8G NEXRE CALL 1 SRGNC [BRING DOWN NEXT RECORD
6YN6 BRN PG
6^7Q MACH SRC 6 1 [BITS OF X6 INTO NORMAL POSITION
6^MB SMO FX1
7272 ANDX 5 MASK8 [E=S=ALPHA
72LL PI LDX 0 5
736= ANDN 0 #7777 [R
73KW LDX 1 6
745G ANDN 1 #7777 [C
74K6 BXE 1 0,NEXRE [J IF R=C
754Q LDN 4 #76 [^
75JB ADN 6 1 [C=C+1
7642 CALL 0 SRTCH [TRANSFER ^
76HL LDX 0 5
773= ANDN 0 #7777 [R
77GW LDX 1 6
782G ANDN 1 #7777 [C
78G6 BXE 1 0,NEXRE [J IF R=C
78^Q LDN 4 #20 [SPACE
79FB ADN 6 1 [C=C+1
79^2 CALL 0 SRTCH [TRANSFER SPACE
7=DL BRN PI
7=Y= #
7?CW MOPER CALL 4 SRER
7?XG ILLEGAL MODE,,3 [PRINT MESSAGE AND MEMBER NUMBER
7#C6 RESV
7#WQ CALL 4 SRER
7*BB ILLEGAL RESVIOL,,3 [PRINT MESSAGE AND MEMBER NUMBER
7*W2 WC
7B*L CALL 4 SRER
7BT= ILLEGAL COUNT,,3 [PRINT MESSAGE AND MEMBER NUMBER
7C#W NORE
7CSG COMPQU NORE1
7D#6 BRN K1SIMULPTR
7DRQ NORE1
7F?B LDX 2 FX2
7FR2 LDX 0 ACA1(2) [TYPE/MODE
7G=L SRL 0 6 [IGNORE A MAID MODE
7GQ= ANDN 0 #777
7H9W SBN 0 #300 [TEST IF MONITORING MODE #30000
7HPG BNZ 0 XBACK [J IF NOT
7J96 LDX 0 5 [PERI COUNT
7JNQ SBX 0 6 [SUBTRACT NO. OF TRANSFERED CHARS.
7K8B SRL 0 12
7KN2 ANDN 0 #377 [REMAINDER COUNT
7L7L LDCT 7 #50
7LM= ORX 7 0 [SET B3 & B5
7M6W LDX 1 APETADDR(2)
7MLG LDX 3 ACAP(2) [PTR TO PERI CA
7N66 ADN 3 1
7NKQ FADDRESS 1,3,HLOCK1
7P5B STO 7 0(3) [REPLY WORD
7PK2 BACKSPACE
7Q4L BRN OEND
7QJ= XBACK BACKSPACE
7R3W LDX 7 FTYPNO(2) [PERIPHERAL TYPE/NO
7RHG CALL 4 SRER
7S36 OUTPACK 7,1,PERINAME
7SGQ ILLEGAL FILE,,3 [PRINT MESSAGE AND MEMBER NUMBER
7T2B SRER
7TG2 SBX 4 FX1 [SUBTRACT FX1 FROM LINK
7T^L LDX 2 FX2
7WF= LDX 3 AMEMNO(2) [MEMBER NO.
7WYW TOPCA CALL 0 SRPCA [CHANGE TO PCA
7XDG UNPLUG [UNPLUGS OBJECT PROGRAM FROM EXECUTIV
7XY6 ADX 4 1 [ADD NEW FX1 TO LINK
7YCQ EXIT 4 0
7YXB WAIT
7^C2 LDN 3 1
7^WL WAIT2
82B= FDRMTEST STEPWAIT,NODRM [TEST FOR DRM
82TW BNZ 3 WAIT3
83*G LDCT 3 #410 [REJECTED INOPERABLE
83T6 BRN OLPREP
84#Q WAIT3
84SB LDCT 3 #420 [REPLY WORD
85#2 BRN OLPREP
85RL NODRM
86?= BZE 3 NORE [J IF NO RECORDS
86QW CALL 0 SRPCA [CHANGG TO PCA
87=G ACROSS OLPODD,3
87Q6 #
889Q SRPCA [ROUTINE TO DUMP X3-X7 & CHANGE TO PC
88PB LDX 1 APETADDR(2)
8992 STO 0 AWORK1(1) [STORE LINK IN PCA
89NL LDN 1 3
8=8= ADN 2 ACC3
8=MW MOVE 1 5 [DUMP X3-X7
8?7G LDX 1 FX1
8?M6 TOPCA1 PLINK1(1) [CHANGE TO PCA
8#6Q LDX 0 AWORK1(2) [RESTORE LINK
8#LB EXIT 0 0
8*62 #
8*KL # INSERT N/L IF RECORD IN GRAPHIC
8B5= #
8BJW NLINSERT
8C4G LDX 0 5
8CJ6 ANDN 0 #7777 [R
8D3Q BZE 0 NEWRC [R=0
8DHB SMO FX1
8F32 ANDX 5 MASK13 [R=0
8FGL NLINS SMO FX2
8G2= LDEX 2 AWORK2
8GFW BNZ 2 TCOUN [J IF CR
8G^G BNG 6 TESTO [J IF PERI IN GRAPHIC
8HF6 LDN 4 #76 [^
8HYQ CALL 0 SRTCH
8JDB LDN 4 #32 [*
8JY2 CALL 0 SRTCH
8KCL LDN 7 SREXIT(1) [LINK
8KX= TESTO LDX 0 6
8LBW SLL 0 2
8LWG BNG 0 QUIT [J IF READ TO STOP
8MB6 LDX 1 7 [RESTORE LINK FOR SRGNC
8MTQ BRN NEWRC [J IF READ N CHARS
8N*B #
8NT2 # SPACE-FILLING IF SIMULATION OF CR
8P#L #
8PS= SPACEFILL
8Q?W LDN 4 #20
8QRG PUTSP CALL 0 SRTCH
8R?6 BRN PUTSP
8RQQ #
8S=B TCOUN LDX 2 5
8SQ2 SRL 2 12 [PERI COUNT
8T9L LDX 1 FX1
8TP= ANDX 5 MASK13(1) [R=0
8W8W BXL 2 MAXC(1),SPACEFILL [J IF PERI COUNT<80
8WNG LDX 0 6
8X86 SRL 0 12 [D
8XMQ LDN 2 80
8Y7B BXGE 0 2,TWORD [J IF PERI COUNT>80
8YM2 LDCT 5 #12 [N=80
8^6L BRN SPACEFILL
8^L= TWORD LDX 2 6
925W ANDX 2 MASK14(1) [TEST IF WHOLE LAST WORD HAS BEEN TRA
92KG BZE 2 SET2 [J IF YES
9356 LDX 4 #20 [LOAD SPACE
93JQ CALL 0 SRTCH [TRANSFER SPACE
944B BRN TWORD [J TO TEST
94J2 #
953L # SUBROUTINE: GET NEXT CHARACTER
95H= #
962W # X0 UNDEFINED
96GG # X1 LINK
9726 # X2 UNDEFINED
97FQ # X3 POINTER TO RECORD
97^B # X4 LOADED CHARACTER
98F2 # X5 B0 =E=CURRENT SHIFT IN RECORD
98YL # B1 =S=CURRENT SHIFT ASSUMED BY READER
99D= # B2-3 =RECD.MODE=0=SHIFT MODE
99XW # 2=GRAPHIC
9=CG # 3=PUNCH BLANKS
9=X6 # B4-11 =N=COUNT IN PERI
9?BQ # B12-23=R=SIZE OF RECORD
9?WB # X6 B0-3 =MODE OF PERI
9#B2 # B4-11 =D=CHAR.POINTER TO NEXT CHAR.IN BUFFER
9#TL # B12-23=C=CHAR.POINTER TO NEXT CHAR.IN RECORD
9**= #
9*SW SRGNC
9B#G LDX 0 5 [PICK UP R
9BS6 ANDN 0 #7777
9C?Q LDX 2 6 [PICK UP C
9CRB ANDN 2 #7777
9D?2 STO 1 7 [STORE LINK
9DQL BXL 2 0,R6 [J IF C