SIMULPTR60
(George Source)
Macros used: ACROSS, BACKSPACE, BXE, BXGE, BXL, BXU, CHECKA, COMPQU, FADDRESS, FDRMTEST, FOUTMOVE, ILLEGAL, JNOTFDRM, LOCKCA, MENDAREA, OLPFIN, OUTPACK, PAIR, SEGENTRY, STEP, TEST, TESTREP, TICKLES, TOPCA, TOPCA1, UNPLUG
- SIMULPTR60.txt
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<R 9F== SMO FX2 9FPW LDEX 2 AWORK2 9G9G BZE 2 TESTG [J IF NOT CR 9GP6 BNZ 0 TCOUN [J IF CR TO CHECK PERI COUNT 9H8Q BRN NEWRC [BRING DOWN RECORD 9HNB TESTG LDX 2 5 9J82 SLL 2 2 [PICK UP MODE 9JML BPZ 2 NEWRC [J IF NORMAL OR ALLCHAR 9K7= SLL 2 1 9KLW BPZ 2 NLINSERT [J IF GRAPHIC 9L6G NEWRC SBX 1 FX1 [SUBTRACT FX1 FROM LINK 9LL6 LDX 4 1 9M5Q STEP [SET POINTER TO HEADER OF NEXT RECORD 9MKB TESTREP STEPWAIT,WAIT [J IF END COMMUNICATION FILE 9N52 BZE 3 WAIT2 [END OF FILE 9NJL LDX 2 FX1 [PICK UP NEW FX1 9P4= ADX 4 2 [MAKE NEW LINK 9PHW STO 4 7 [STORE IN X7 9Q3G ANDX 6 MASK13(2) [L=0 9QH6 LDX 0 0(3) [PICK UP NUMBER OF WORDS IN RECORD 9R2Q SBN 0 2 [SUBTRACT RED TAPE 9RGB SLL 0 2 [MULTIPLY BY 4=NUMBER OF CHARACTERS 9S22 LDX 1 1(3) [PICK UP SECOND WORD OF RED TAPE 9SFL SLC 1 2 [PICK UP NUMBER OF USED CHARACTERS 9S^= ANDN 1 #3 [IN LAST WORD 9TDW BZE 1 OK 9TYG SBN 0 4 [SUBTRACT FOUR CHARACTERS 9WD6 ADX 0 1 [AND ADD NUMBER OF CHAR.IN LAST WORD 9WXQ OK DSA 0 5 [PUT SIZE OF RECORD INTO X5 9XCB LDX 0 5 [PICK UP MODE 9XX2 SLC 0 4 [OF PREVIOUS RECORD 9YBL ANDN 0 #3 9YW= SMO FX2 9^*W LDEX 1 AWORK2 9^TG BNZ 1 RDCRD [J IF CR SIMULATION =2*6 LDX 1 1(3) [PICK UP MODE OF NEW RECORD =2SQ SRL 1 6 =3#B ANDN 1 #77 =3S2 BZE 1 R11 [J IF #00 =4?L BXE 1 RNO1(2),R12 [J IF #02 =4R= BXE 1 RNO2(2),R1 [J IF #04 =5=W BXE 1 RAC2(2),R12 [J IF #22 =5QG BXE 1 RGS1(2),R2 [J IF #10 =6=6 BXE 1 RGS2(2),R2 [J IF #12 =6PQ BXE 1 RAC1(2),R3 [J IF #20 =79B BRN R1 [J IF NEW TYPE OF FILE =7P2 RDCRD LDX 1 1(3) [PICK UP MODE OF NEW RECORD =88L SRL 1 6 =8N= ANDN 1 #77 =97W BZE 1 XC [J TO TEST TYPE OF FILE =9MG BXE 1 RGS1(2),RGM [J IF RECORD MODE IS #10 ==76 BXE 1 RGS2(2),RGM [J IF RECORD MODE IS #12 ==LQ BRN PD [J IF OTHER MODES =?6B XC SMO FX2 =?L2 LDX 2 AWORK2 =#5L BNG 1 RGM [J IF CR,CP OR LP FILE =#K= BRN PD =*4W R11 SMO FX2 =*JG LDX 1 AWORK2 [PICK UP INFORMATION ABOUT TYPE OF FI =B46 BNG 1 R2 [J IF CR,CP.OR LP FILE =BHQ R12 ANDX 5 MASK6(2) [S=ALPHA =C3B R1 LDN 1 0 [A SHIFT MODE =CH2 BRN R4 =D2L R2 LDN 1 2 [GRAPHIC =DG= ANDX 5 MASK6(2) [S=ALPHA =D^W BRN R4 =FFG R3 LDX 1 5 =F^6 SLL 1 1 =GDQ DSA 1 5 [R=R.2 =GYB LDN 1 3 =HD2 R4 BXE 1 0,R5 [J IF EQUAL TO MODE OF PREVIOUS RECOR =HXL SLC 5 2 [MODE INTO B0-1 =JC= SLL 5 2 [ERASE MODE,B23-24 FILLED WITH ZEROES =JWW ORX 5 1 [PUT NEW MODE INTO X5 =KBG SRC 5 4 [SHIFT BITS OF X5 INTO NORMAL POSITIO =KW6 BXE 1 TH(2),PG [J IF #20 =L*Q BXE 1 TW(2),PH [J IF #10 =LTB BNG 6 PD [J IF READ IN GRAPHIC MODE =M*2 BRN PA [J IF NOT =MSL R5 BXE 1 TH(2),PG [J IF NEW MODE IS #20 AGAIN =N#= LDX 0 6 [PICK UP MODE OF READING =NRW SLC 0 3 =P?G BNG 0 R7 [J IF IN PREVIOUS SHIFT =PR6 LDX 0 6 =Q=Q SRL 0 12 =QQB ANDN 0 #377 [PICK UP D =R=2 BNZ 0 R7 [J TO READ IN PREVIOUS =RPL [IF PREV.PERI IS NOT FINISHED =S9= ANDX 5 MASK6(2) [S=ALPHA,IF READ IN ALPHA SHIFT =SNW R7 LDX 0 5 =T8G ANDN 0 #7777 [R =TN6 BZE 0 NLINS [R=0 =W7Q LDX 2 6 =WMB ANDN 2 #7777 [PICK UP C =X72 R6 SRC 2 2 [X2 AS CHARACTER COUNTER-MODIFIER =XLL SMO 3 =Y6= LDCH 4 2(2) [LOAD NEXT CHARACTER =YKW ADN 6 1 [C=C+1 =^5G LDX 1 7 [RESTORE LINK =^K6 EXIT 1 0 ?24Q # ?2JB # SUBROUTINE: TRANSFER CHARACTER ?342 # ?3HL # X0 LINK ?43= # X1-X2 UNDEFINED ?4GW # X3-X7 SEE SRGNC ?52G # ?5G6 SRTCH ?5^Q STO 0 7 [STORE LINK ?6FB LDX 2 6 [PICK POINTER ?6^2 SRC 2 12 [TO NEXT CHARACTER JN BUFFER ?7DL ANDN 2 #377 ?7Y= SMO FX2 ?8CW LDX 0 ACA4 [BUFFER ADDRESS ?8XG SLC 0 2 ?9C6 ADX 2 0 [AND ADD TO POINTER TO NEXT CHAR. ?9WQ SRC 2 2 [X2 AS CHARACTER COUNTER-MODIFIER ?=BB SMO FX2 ?=W2 LDX 1 APETADDR ??*L FADDRESS 1,2,HLOCK2 [CONVERT BUFFER ADD. ??T= DCH 4 0(2) [MOVE CHAR.INTO OBJ.PROGRAM AREA ?##W LDX 1 FX1 ?#SG ADX 6 MASK11(1) [D=D+1 ?*#6 SMO FX2 ?*RQ LDEX 2 AWORK2 ?B?B BNZ 2 TCR [J IF CR SIMULATION ?BR2 LDX 0 MASK1(1) ?C=L LDX 2 0 ?CQ= TETRA ANDX 0 6 [PICK UP D ?D9W ANDX 2 5 [PICK UP N ?DPG BXE 2 0,QUIT [J IF N=D ?F96 BRN RELIN ?FNQ TCR LDX 0 MASK13(1) ?G8B LDX 2 0 ?GN2 ANDX 0 6 [D ?H7L ANDX 2 5 [N ?HM= BXU 2 0,RELIN ?J6W ANDX 5 MASK13(1) [R=0 ?JLG BRN TWORD ?K66 RELIN LDX 0 7 [RESTORE LINK ?KKQ EXIT 0 0 ?L5B MENDAREA AOLPGAP,K99SIMULPTR ?LK2 #END ^^^^ ...02131607000200000000