IPBLISTE867

(George Source)

Macros used: ACROSS, ALTLEN, CHAIN, COOR1, FPUT, HUNT2, HUNTW, LFBBS, LFBBUS, LFBITCLR, MHUNT, MHUNTW, PHOTO, SEGENTRY, SETNCORE, STEP, STEPAGAIN, TESTMOVE

IPBLISTE867.txt
22FL    #SEG  IPBLISTE  
22PD ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS 1982
22^=    #LIS  K0IPBLISTE>K0IPB>K0ALLGEO 
23DW                   8HIPBLISTE   
23YG    [   
24D6          SEGENTRY K1IPBLISTE,SK1IPBLISTE   
25CB          SEGENTRY K3IPBLISTE,SK3IPBLISTE   
25X2          SEGENTRY K4IPBLISTE,SK4IPBLISTE   
26BL    [   
26W=    #DEF  SAFETMARGIN=5 
27*W    SDEL           #76  
27TG    SHIFT          #74  
28*6    PRINT          #76327632,#76207620,#76207620
28SQ    STESC          #76130075
29#B    RECHE                              [SEE IF READ ERROR ON STEP   
29S2          LFBBUS   M,2,(7)             [J IF NO READ ERROR  
2=?L          STO   4  IWORK15(2)   
2=R=          LDN   3  0
2?=W          BRN      WOBL                [J TO CLEAR IOUT 
2?QG    [   
2#=6    [     RE-FIND BLOCK IF IT MOVES DURING ALTLENG  
2#PQ    [   
2*9B    RFND  MHUNTW   2,ADATA,ACONV
2*P2          EXIT  1  0
2B8L    [   
2BN=    [     GET AMXOR/IOUT BLOCK FOR OUTPUT ; WORD COUNT IN X3 ON ENTRY   
2C7W    [   
2CMG    SAMIO LDXC  3  AWORK1(2)
2D76          SRL   3  12   
2DLQ          LDX   6  3
2F6B          SBN   6  SAFETMARGIN  
2FL2          SRL   3  2
2G5L    SETU  SBX   7  FX1  
2GK= ...      SETNCORE IDATA-A1(3),2,AMXOR,IOUT 
2H4W          SMO      FX2  
2HJG          STO   2  ACOMMUNE2           [PRESERVE AMXOR/IOUT ADDRESS 
2J46          LDN   0  1
2JHQ          SMO      FX2  
2K3B          ADS   0  AWORK1              [COUNT OF BLOCKS FOR OUTPUT  
2KH2          STOZ     IMOPTY(2)           [MADE NON-ZERO IF OUTPUT ALONE   
2L2L          LDN   0  IDATA
2LG=          SLL   3  2
2L^W          STO   0  IBSW(2)             [START ADDRESS FOR DEPOSITING
2MFG          SBN   3  SAFETMARGIN  
2M^6          SMO      FX2  
2NDQ          LDX   0  JSOURCE1            [IDENTIFIER NUMBER   
2NYB          ORX   3  GSIGN
2PD2          ANDN  0  #7777
2PXL          STO   0  IPBIDE(2)           [IDENTIFIER NUMBER   
2QC=          ADX   7  FX1  
2QWW          STO   3  IPBIDE+1(2)         [INITIAL ROOM IN BLOCK   
2RBG          EXIT  7  0
2RW6    [   
2S*Q    [              TEST FOR MOP OFF OR FINISH   
2STB    [   
2T*2    TMF   MHUNTW   3,AMXOR,ADCB 
2TSL          LDX   1  A1+FPTR(3)   
2W#=          LDX   0  FOURTHWD(1)  
2WRW          ORX   0  FINISH   
2X?G          SLL   0  2
2XR6          BPZ   0  (7)  
2Y=Q          ACROSS   IPBLISTC,5   
2YQB    [   
2^=2    [     IF SEND 2000 CHARACTER RECORD TO TAPE , DON'T ADD NEWLINE/RUNOUT  
2^PL    [   
329=    TWOTH LDEX  6  FRH(3)   
32NW          SBN   6  502  
338G          BNZ   6  TEXB                [NOT 1997-2000 CHARS 
33N6          LDX   6  CACT 
347Q          ANDX  6  FRH+1(3)            [ISOLATE CHAR POS OF 1ST UNUSED CHAR 
34MB          BNZ   6  TEXB                [NOT 2000 CHARS  
3572          LDCT  5  #300                [SET 'CONCATENATE NEXT RECORD' MARKER
35LL          ORS   5  IWORK11(2)          [AND ENFORCE WHOLE RESTART   
366=          BRN      START               [AVOID RESTART SECTION UPDATE
36KW    TEXB
375G          LDCT  5  #100 
37K6          ORS   5  IWORK11(2)   
384Q          ERS   5  IWORK11(2)          [UNSET 'CONCATENATE' MARKER , IF SET 
38JB          EXIT  7  0
3942    SK4IPBLISTE 
39HL          CALL  7  TMF                 [CHECK FOR MOP OFF ETC.  
3=3=          CALL  7  SAMIO               [GET NEW IOUT
3=GW          STEPAGAIN                    [REFIND RECORD   
3?2G          LDX   4  IWORK15(2)   
3?G6          BZE   4  REOK                [J TO CONTINUE LISTING   
3?^Q          LDX   5  IWORK1(2)           [RESET X5 IF NOT REACHED START REC.  
3#FB          BRN      STEPOK              [AND GO TO FIND IT   
3#^2    [   
3*DL    [     ENTRY FROM IPBLISTA TO LISTFILE TO A 7020 BULK DEVICE VIA THE IPB 
3*Y=    [     STEP RECORDS TO START RECORD NUMBER , OR TO NEXT RECORD   
3BCW    [     AWORK2 IS UNTOUCHED AS IT CONTAINS GMODE FOR ENTERING LISTEND 
3BXG    [   
3CC6    [   
3CWQ    [     K1 ENTRY FOR LISTING MAINFILE 
3DBB    [   
3DW2    SK1IPBLISTE 
3F*L          CALL  7  SAMIO
3FT=          STEPAGAIN 
3G#W    STEPOK  
3GSG          LDX   0  IWORK9(2)
3H#6          CALL  7  TWOTH               [2000 CHARS TO TAPE? 
3HRQ          BRN      START
3J?B    [   
3JR2    NEWS
3K=L          CALL  7  TMF  
3KQ=          CALL  7  SAMIO               [GET NEW IOUT BLOCK  
3L9W    NXREC LDN   4  0
3LPG          STEP  
3M96          CALL  7  RECHE
3MNQ    REOK                               [RETURN LABEL FROM READ ERROR
3N8B          BZE   3  WOBL                [END OF FILE REACHED 
3NN2          LDX   0  IWORK9(2)           [RESTART SECTION=2 RECS FOR TP   
3P7L          CALL  7  TWOTH               [2000 CHARS TO TAPE? 
3PM=          BPZ   0  VERT                [THIS IS SECOND RECORD OF SECTION
3Q6W          LDCT  4  #10  
3QLG          ADX   0  4                   [ADD 1 TO RESTART SECTION NUMBER 
3R66          BPZ   0  START               [OVERFLOW HAS ALREADY INVERTED B0
3RKQ    VERT  ERX   0  GSIGN
3S5B    [   
3SK2    START LDX   7  IWORK13(2)   
3T4L          STO   3  IWORK15(2)          [SAVE INITIAL RECORD POINTER 
3TJ=          ANDN  7  4
3W3W          BZE   7  NOMON               [NOT MONFILE 
3WHG          LDX   7  1(3)                [MONFILE CATEGORY WORD   
3X36          ANDX  7  IWORK14(2)          [MONFILE DISCARD MASK
3XGQ          BNZ   7  NOMON               [DON'T DISCARD THIS RECORD   
3Y2B          LDN   7  1
3YG2          ADS   7  IWORK10(2)          [UPDATE RECORD NUMBER
3Y^L          BRN      NXREC
3^F=    [   
3^YW    NOMON STO   0  IWORK9(2)
42DG          LDCH  5  IWORK9(2)
42Y6          MHUNTW   2,AMXOR,IOUT 
43CQ          LDX   1  FX2  
43XB          LDCT  6  4
44C2          ANDX  6  IWORK9(1)
44WL          ERS   6  IWORK9(1)           [UNSET FIRST REC OF SECTION BIT IFSET
45B=          BZE   6  NSOS                [NOT FIRST REC OF SECTION
45TW          ANDN  5  #37  
46*G          BCHX  2  £
46T6          DCH   5  IPBIDE+1(2)         [RESTART NO. IN CHAR 1   
47#Q          ANDX  2  BITS22LS 
47SB    NSOS  LDX   6  IPBIDE+1(2)  
48#2          STO   2  ACOMMUNE2(1)        [PRESERVE AMXOR/IOUT ADDRESS 
48RL          ANDN  6  #7777
49?=          ADX   2  IBSW(2)             [POINTER TO DEPOSIT NEXT CHARACTER   
49QW          LDCT  4  #400 
4==G          ANDX  4  IWORK13(1)          [B0 SET IF PERI-TYPE FILE
4=Q6          LDX   5  4
4?9Q          BZE   4  SPON 
4?PB          LDCT  4  #600 
4#92          ANDX  4  1(3)                [POSITION OF LAST CHARACTER  
4#NL          BNZ   4  SPLAS               [LAST WORD OF RECORD SPACE-FILLED
4*8=    SPON  ADN   4  1
4*MW    SPLAS ADX   4  0(3)                [WORD COUNT OF RECORD
4B7G          SLC   4  2
4BM6          SBN   4  12                  [RECORD HEADER AND LAST WORD 
4C6Q    PERY  BPZ   4  PER1 
4CLB          LDN   4  0
4D62    PER1  STO   4  ACOMMUNE5(1)        [NO OF CHARS IN RECORD   
4DKL    [   
4F5=    [     OUTPUT TO REMOTE TAPE PUNCH : GRAPHIC FILE TREATED AS CARD OR LINE
4FJW    [     PRINTER FILE ; DIFFERENT ROUTINE FOR NORMAL OR ALLCHAR TAPE FILE  
4G4G    [   
4GJ6    TOUT  BZE   4  TANL                [NULL RECORD (MAYBE END OF CARD FILE)
4H3Q          LDX   0  5                   [NON-ZERO IF PERI TYPE FILE  
4HHB          ADN   3  1
4J32          LDX   5  4                   [RECORD CHARACTER COUNT  
4JGL          BZE   0  TSTO                [TREAT NON-PERI FILE AS GRAPHIC  
4K2=          ORX   3  GSIGN
4KFW          LDCH  0  0(3)                [MODE INDICATOR  
4K^G          ANDX  3  BITS22LS 
4LF6          LDX   1  FX1  
4LYQ          ADN   3  1
4MDB          TXL   0  SHIFT(1) 
4MY2          BCC      TSTO                [SHIFT : NORMAL MK6 FILE 
4NCL          LDN   4  4
4NX=          ANDX  4  0
4PBW          BNZ   4  SHIN                [B21 SET : PREVIOUS SHIFT MK5 FILE   
4PWG          SMO      FX2  
4QB6          LDX   4  IWORK5   
4QTQ          BNZ   4  TNTP                [ZERO IF TAPE PUNCH TYPE FILE
4R*B          ERN   0  #10                 [TP GRAPHIC MODE IS #10  
4RT2    TNTP  BZE   0  TSTO                [GRAPHIC FILE
4S#L          SBN   0  #12  
4SS=          BZE   0  TSTO                [TR GRAPHIC MODE IS #12  
4T?W          SBN   0  #16  
4TRG          BZE   0  TRUN                [TP MODE #20 : RUNOUT
4W?6          LDN   0  #74                 [MODE 0(TP) ,2 OR 22 : ALPHA MK5 FILE
4WQQ    TSTO  LDX   1  FX2  
4X=B          STO   0  AWORK3(1)           [INITIAL SHIFT   
4XQ2    TJUM  BZE   0  TGRAP               [GRAPHIC TAPE FILE   
4Y9L    [   
4YP=    [     FILE IN 3-SHIFT MODE ; TRANSMIT CONTROL CHARACTERS IN ESCAPE MODE 
4^8W    [   
4^NG          LDX   1  FX1  
5286    SHIN  LDN   4  #75  
52MQ          SMO      FX2  
537B          TXU   4  AWORK3   
53M2          BCS      SLOOP               [INITIAL SHIFT ALPHA 
546L          DCH   4  0(2)                [DEFAULT SHIFT IS ALPHA : STORE BETA 
54L=          BCHX  2  £
555W          SBN   6  1
55KG    SLOOP LDCH  0  0(3) 
5656          SBN   5  1
56JQ          TXL   0  SHIFT(1)            [#74 
574B          BCS      SLOP                [DEPOSIT ORDINARY CHARACTER  
57J2          TXL   0  SDEL(1)             [#76 
583L          BCS      SREM                [REMEMBER ALPHA OR BETA SHIFT
58H=          BZE   5  TANL                [END OF RECORD : ADD NEWLINE 
592W          ADN   5  1
59GG          LDX   0  6
5=26          SBN   0  SAFETMARGIN  
5=FQ          BNG   0  NPUND               [J IF NOT ROOM FOR EXPANDED CHAR 
5=^B          SBN   5  1
5?F2          BCHX  3  £
5?YL          LDCH  0  0(3) 
5#D=          SBN   5  1
5#XW          SBN   0  #14  
5*CG          BNG   0  SESC                [ESCAPE #7600 - #7613
5*X6          SBN   0  5
5BBQ          BNG   0  SNORM               [TRANSFER #7614 - #7620 UNCHANGED
5BWB          SBN   0  6
5CB2          BNG   0  SESC                [ESCAPE #7621 - #7626
5CTL          SBN   0  3
5D*=          BNZ   0  SNORM               [NOT NEWLINE 
5DSW          LDX   1  FX2  
5F#G          SMO      ACOMMUNE2(1)        [START ADDRESS OF ANXOR-IOUT 
5FS6          DSA   6  IPBIDE+1            [IN CASE END OF NPU BEFORE NEXT NL   
5G?Q          LDX   1  FX1  
5GRB    SNORM LDN   0  #76  
5H?2          DCH   0  0(2)                [STORE DELTA PAIR UNCHANGED  
5HQL          BCHX  2  £
5J==          SBN   6  1
5JPW          LDCH  0  0(3) 
5K9G          BRN      SLOP 
5KP6    [   
5L8Q    SESC  LDCH  4  0(3) 
5LNB          ERN   4  #60                 [IN ALPHA SHIFT #7603 BECOMES #761363
5M82          SLL   4  6                   [BUT IN BETA SHIFT #7476136375   
5MML          ADX   4  STESC(1)            [#76130075   
5N7=          LDN   1  4
5NLW          LDN   7  2                   [NO. OF CHARS TO MOVE -1 
5P6G          LDN   0  #74  
5PL6          SMO      FX2  
5Q5Q          TXU   0  AWORK3   
5QKB          BCC      SALP                [ALREADY ALPHA SHIFT 
5R52          DCH   0  0(2)                [ESCAPE CHARS MUST BE SENT IN ALPHA  
5RJL          BCHX  2  £
5S4=          SBN   6  1
5SHW          BPZ   6  SALP                [ONLY ROOM FOR 3 CHARS   
5T3G          LDN   7  3                   [MOVE ALSO #75 TO RESET BETA SHIFT   
5TH6    SALP  SMO      7
5W2Q          MVCH  1  1                   [INSERT ESCAPE CHARACTERS
5WGB          SBX   6  7
5X22          LDX   1  FX1  
5XFL          BRN      SUP3 
5X^=    [   
5YDW    SREM  SMO      FX2  
5YYG          STO   0  AWORK3              [REMEMBER SHIFT  
5^D6    SLOP  DCH   0  0(2) 
5^XQ          BCHX  2  £
62CB    SUP3  BCHX  3  £
62X2          SBN   6  1
63BL          BZE   5  TANL                [END OF RECORD   
63W=          BNG   6  NPUND
64*W          BZE   6  NPUND               [AMXOR/IOUT FULL 
64TG          BRN      SLOOP
65*6    [   
65SQ    TRUN  ADN   1  PRINT+1  
66#B          SLL   5  1                   [N RUNOUTS = 2N LINE CHARS   
66S2          MVCH  1  4                   [#76207620   
67?L          SBX   6  5
67R=          LDX   1  2
68=W          LDX   0  6
68QG          BPZ   6  NUFRM               [ENOUGH ROOM IN IOUT BLOCK   
69=6          ADN   0  SAFETMARGIN         [CAN RUN INTO SAFETY MARGIN HERE 
69PQ          BPZ   0  NUFRM               [ENOUGH NOW  
6=9B          ADX   5  0                   [STORE AS MUCH AS POSSIBLE   
6=P2    NUFRM SBN   1  1
6?8L          SBN   5  5
6?N=          BNG   5  PEND                [NO MORE CHARACTERS NEEDED   
6#7W          SMO      5
6#MG          MVCH  1  1                   [RUNOUT CHARACTERS   
6*76          BPZ   0  PEND                [END OF RECORD   
6*LQ          LDX   2  FX2  
6B6B          NGX   5  0                   [NO. OF CHARS STILL TO STORE 
6BL2          LDXC  6  AWORK1(2)
6C5L          SRL   6  12   
6CK=          MHUNTW   1,AMXOR,IOUT 
6D4W          DSA   6  IPBIDE+1(1)         [OUTPUT CHAR. CT. : BLOCK FULL   
6DJG          CALL  7  SAMIO               [GET NEW AMXOR/IOUT BLOCK
6F46          SRL   5  1
6FHQ          ADN   2  IDATA
6G3B          BRN      TRUN 
6GH2    [   
6H2L    [     FILE IN GRAPHIC MODE ; CONVERT INTO LINE CODE & ADD NEWLINE AT END
6HG=    [   
6H^W    TGRAP LDX   1  FX1  
6JFG    TLOOP LDCH  0  0(3) 
6J^6          SBN   5  1
6KDQ          TXL   0  SHIFT(1)            [#74 
6KYB          BCS      TLOP 
6LD2          LDN   4  #76                 [CONVERT INTO LINE CODE  
6LXL          DCH   4  0(2)                [E.G. #74 BECOMES #7664  
6MC=          BCHX  2  £
6MWW          SBN   0  #10  
6NBG          SBN   6  1
6NW6          DCH   0  0(3)                [IN CASE JUMP TO NPUND   
6P*Q          BNZ   6  TLOP                [NOT END OF NPU  
6PTB          ADN   5  1                   [HAVEN'T DCH CONVERTED RECORD CHAR   
6Q*2          BRN      NPUND
6QSL    TLOP  DCH   0  0(2) 
6R#=          BCHX  2  £
6RRW          BCHX  3  £
6S?G          SBN   6  1
6SR6          BNZ   5  TNOT 
6T=Q    TANL  SMO      FX2                 [ENTRY FROM TOUT FOR NULL RECORD 
6TQB          LDX   0  IWORK5              [ZERO IF PAPER TAPE PUNCH TYPE FILE  
6W=2          BZE   0  PEND                [NEWLINES ALREADY PROVIDED   
6WPL          LDX   1  FX1  
6X9=          SMO      FX2  
6XNW          LDX   0  IWORK11             [B2 SET IF THIS WAS 2000-CHAR RECORD 
6Y8G          SLL   0  2
6YN6          BNG   0  PEND                [CONCATENATE NEXT RECORD 
6^7Q          LDX   0  6
6^MB          SBN   0  SAFETMARGIN  
7272          ADN   1  PRINT
72LL          BNG   0  TULL                [LESS THAN 8 CHARS  SPACE IN IOUT
736=          LDN   0  0                   [ROOM FOR FULL SEPARATOR : NL+3 ROS  
73KW    TULL  ADN   0  8
745G          ORX   1  GSIGN               [POINT TO CHAR 2 
74K6          ANDN  0  #76                 [MAKE COUNT EVEN 
754Q          SBX   6  0                   [UPDATE ROOM LEFT IN AMXOR/IOUT  
75JB          SMO      0
7642          MVCH  1  0                   [NEWLINE + RUNOUTS   
76HL          BRN      PEND 
773=    TNOT  BNZ   6  TLOOP
77GW    [   
782G    [     AMXOR/IOUT BLOCK FULL : END OF NPU ; SEND WHOLE BLOCK IF IT DOES  
78G6    [     NOT CONTAIN NEWLINE ; IF IT DOES , COPY CHARACTERS SINCE LAST 
78^Q    [     NEWLINE INTO NEW AMXOR/IOUT AND SHORTEN OLD ONE   
79FB    [   
79^2    NPUND LDX   1  FX2  
7=DL          LDX   0  IWORK18(1)          [SAVE OLD VALUE OF IWORK18   
7=Y=          SBX   0  IWORK15(1)          [RELATIVE TO START OF BLOCK  
7?CW          STO   0  ACOMMUNE6(1)        [IN ACOMMUNE6
7?XG          STO   3  IWORK18(1)          [PRESERVE RECORD POINTER 
7#C6          LDX   2  ACOMMUNE2(1)        [START ADDRESS OF AMXOR/IOUT 
7#WQ          LDX   0  IWORK15(1)          [INITIAL RECORD POINTER  
7*BB          SBS   0  IWORK18(1)   
7*W2          PHOTO    0
7B*L          STO   0  ACOMMUNE7(1) 
7BT=          LDX   0  6                   [NO PREV. NL SO TAKE FULL BLOCK  
7C#W          STO   7  ACOMMUNE4(1) 
7CSG          STO   5  ACOMMUNE5(1)        [CURRENT REMAINDER COUNT 
7D#6          LDX   6  IPBIDE+1(2)         [CHAR. REM. CT. AT LAST NEWLINE  
7DRQ          LDXC  5  AWORK1(1)
7F?B          SRL   5  12                  [INITIAL CHAR COUNT  
7FR2          ORX   6  CACT 
7G=L          STOC  6  IPBIDE+1(2)  
7GQ=          ANDN  6  #7777
7H9W          LDX   3  5                   [PRESERVE FOR SETUPCORE  
7HPG          SBN   5  SAFETMARGIN  
7J96          SRL   3  2
7JNQ          SBX   5  6                   [EQUAL IF NO NL IN BLOCK 
7K8B          SBX   6  0                   [NO OF CHAR SINCE NL OR START
7KN2          BNZ   5  WHOB 
7L7L          LDX   5  6                   [NO OF CHARS DEPOSITED SINCE START   
7LM=          LDN   6  0
7M6W    WHOB  DSA   5  IPBIDE+1(2)         [CHAR. COUNT FOR OUTPUT  
7MLG          CALL  7  SETU                [GET NEW AMXOR/IOUT  
7N66          LDX   3  6
7NKQ          LDN   7  IDATA(2) 
7P5B          LDX   1  2
7PK2          HUNT2    1,AMXOR,IOUT        [FIND OVERFLOWED BLOCK   
7Q4L          BZE   6  OWFUL
7QJ=          LDX   6  5
7R3W          SRC   6  2
7RHG          ADN   6  IDATA(1)            [POINT TO FIRST CHAR TO REPLACE  
7S36          MVCH  6  0(3)                [MOVE CHARS SINCE NL INTO NEW BLOCK  
7SGQ    OWFUL ADN   5  IDATA-A1*4+3 
7T2B          SBX   7  2
7TG2          SRL   5  2
7T^L          STOZ     IBSW(1)             [SET BLOCK STATUS WORD FOR DATA SEG  
7WF=          ALTLEN   1,5                 [SHORTEN OLD BLOCK   
7WYW          LDX   1  FX2  
7XDG          LDXC  6  AWORK1(1)
7XY6          SRL   6  12   
7YCQ          SBN   6  SAFETMARGIN(3)      [ROOM LEFT IN BLOCK  
7YXB          LDX   5  ACOMMUNE5(1)        [RECORD REMAINDER COUNT  
7^C2          LDX   0  ACOMMUNE7(1) 
7^WL          TESTMOVE 0,NSTL   
82B=          HUNTW    3,ADATA,ACONV
82TW          ADN   3  A1   
83*G          BPZ   3  NST  
83T6          LDX   0  ACOMMUNE4(1) 
84#Q          STO   0  IWORK15(1)   
84SB          STEPAGAIN 
85#2          LDX   1  2
85RL          LDX   0  IWORK15(1)   
86?=          STO   0  ACOMMUNE4(1) 
86QW          BRN      NST  
87=G    NSTL  LDX   3  IWORK15(1)   
87Q6    NST   STO   3  IWORK15(1)   
889Q          ADX   3  IWORK18(1)   
88PB          MHUNTW   2,AMXOR,IOUT 
8992          STO   3  IWORK18(1)   
89NL          STO   2  ACOMMUNE2(1) 
8=8=          ADX   2  7
8=MW          LDX   0  AWORK3(1)           [PREV SHIFT IF 3-SHIFT ; 0 IF GRAP   
8?7G          BRN      TJUM 
8?M6    [   
8#6Q    [     END OF RECORD : OUTPUT IF END OF RESTART SECTION ; GET NEXT RECORD
8#LB    [   
8*62    PEND  LDX   1  FX2  
8*KL          LDX   4  2
8B5=          LDX   2  ACOMMUNE2(1)        [START ADDRESS OF AMXOR/IOUT 
8BJW          LDX   0  IWORK11(1)          [B2 SET IF THIS WAS 2000-CHAR RECORD 
8C4G          SLL   0  2
8CJ6          BNG   0  NOWTH               [QUEUE THIS 2000-CHAR TP RECORD AND  
8D3Q                                       [CONCATENATE NEXT RECORD 
8DHB          LDN   0  1
8F32          ADS   0  IWORK10(1)          [UPATE LINE NUMBER   
8FGL          LDX   3  IWORK12(1)   
8G2=          BNG   3  RESEC               [ALL RECORDS 
8GFW          SBN   3  1
8G^G          STO   3  IWORK12(1)   
8HF6          BZE   3  NOTF                [END OF LISTING  
8HYQ    RESEC LDX   5  IWORK9(1)
8JDB          BNG   5  NOTF                [END OF RESTART SECTION  
8JY2    PNOW  LDX   0  6
8KCL          SBN   0  12   
8KX=          BNG   0  NOWTH               [NOT WORTH STARTING RECORD HERE  
8LBW          DSA   6  IPBIDE+1(2)         [ROOM LEFT IN BLOCK  
8LWG          SBX   4  2
8MB6          STO   4  IBSW(2)             [POINTER TO DEPOSIT NEXT CHAR.   
8MTQ          BRN      NXREC               [GET SECOND RECORD   
8N*B    [   
8NT2    WOBL  LDX   1  FX2  
8P#L          MHUNTW   2,AMXOR,IOUT 
8PS=          LDX   6  IPBIDE+1(2)         [ROOM LEFT IN BLOCK AFTER FIRST  
8Q?W          ANDN  6  #7777               [RECORD INSERTED 
8QRG    NOTF  LDCT  0  4                   [INDICATE END OF RESTART SECTION 
8R?6          ORS   0  IPBIDE+1(2)  
8RQQ          ORS   0  IWORK9(1)           [SET "FIRST REC OF SECTION" BIT  
8S=B    NOWTH LDXC  5  AWORK1(1)           [NPU SIZE IN CHARS IN B1-11  
8SQ2          SRL   5  12   
8T9L          SBN   5  SAFETMARGIN         [REPLACE SAFETY MARGIN   
8TP=          STOZ     IBSW(2)  
8W8W          SBX   5  6                   [X5 = CT. OF CHARS DEPOSITED 
8WNG          DSA   5  IPBIDE+1(2)  
8X86          ADN   5  IDATA-A1*4+3 
8XMQ          SRL   5  2                   [REQUIRED AMXOR/IOUT BLOCK LENGTH
8Y7B          TXU   5  ALOGLEN(2)   
8YM2          BCC      PREN 
8^6L          ALTLEN   2,5  
8^L=    PREN  BZE   3  OUDEL               [END OF LISTING  
925W    SK3IPBLISTE 
92KG          CALL  7  TMF                 [TEST MOP OFF OR FINISH  
9356          LDXC  5  ISTATUS(3)   
93JQ          BCS      TINOP               [IDENTIFIER INOPERABLE   
944B          LDCH  0  ISTATUS(3)   
94J2          ANDN  0 2 
953L          BNZ   0  TINOP               [FAIL STILL SET  
95H=          LDCT  0  #400 
962W          ADXC  5  5
96GG          BCC      NOWAR
9726          ADN   0  #2000
97FQ          ORS   0  IWAIT(3) 
97^B          COOR1 
98F2          BRN      SK3IPBLISTE         [TRY AGAIN   
98YL    [   
99D=    NOWAR ORS   0  IWAIT(3) 
99XW          LDX   3  IADIN(3)            [ADDRESS OF IPBIN ACTIVITY   
9=CG          LDX   3  IPBRING(3)   
9=X6          SBN   3  IPBRING  
9?BQ          LDX   2  ACTRING(3)   
9?WB          SBN   2  ACTRING             [FIND ACTIVITY AFTER IPBOUT  
9#B2          LDX   4  BPTR(2)  
9#TL          LDX   2  FX2  
9**=          LDEX  5  AWORK1(2)
9*SW          SEGENTRY K53IPBLISTE  
9B#G          ADS   5  ALFTRANS(2)         [UPDATE TRANSFER COUNT   
9BS6          MHUNTW   1,AMXOR,IOUT        [THIS WILL BE THE LAST OUTPUT
9C?Q          LDN   0  1
9CRB          ERS   0  IMOPTY(1)           [WAKE ME AFTER OUTPUT
9D?2          BRN      NOWCH
9DQL    NEBO  MHUNTW   1,AMXOR,IOUT 
9F==    NOWCH LDX   0  ALOGLEN(1)   
9FPW          SBN   0  IDATA-A1 
9G9G          ADS   0  ALFWORDS(2)         [COUNT OF WORDS TRANSFERRED  
9GP6          CHAIN    1,4  
9H8Q          BCT   5  NEBO 
9HNB          DEX   5  AWORK1(2)           [CLEAR COUNT OF OUTPUT BLOCKS
9J82    [   
9JML          LDCT  0  #100 
9K7=          ANDX  0  IPBSW(3)            [B2 SET IF IPBOUT ASLEEP 
9KLW          BZE   0  WAKE 
9L6G          ERS   0  IPBSW(3)            [INDICATE ON LIST
9LL6          LDX   2  3
9M5Q          FPUT  
9MKB    WAKE  COOR1 
9N52          BRN      NEWS 
9NJL    [   
9P4=    TINOP LDN   7  0                   [INDICATE LISTING NOT FINISHED   
9PHW          LDCH  0  ISTATUS(3)          [B4 SET IF UNAV RATHER THAN HELD 
9Q3G          LDX   2  FX2  
9QH6          ANDN  0  2
9R2Q          DEX   0  AWORK4(2)           [0 IF HOLD BUTTON ; 2 IF STOP BUTTON 
9RGB          LDCT  0  #030 
9S22          ORS   0  ISTATUS(3)   
9SFL          ERS   0  ISTATUS(3)   
9S^=          ACROSS   IPBLISTC,2   
9TDW    [   
9TYG    OUDEL LDX   2  FX2  
9XX2          MHUNT    2,AMXOR,IOUT 
9YBL          LDCT  0  #40  
9YW=          ORS   0  IPBIDE+1(2)         [REPORT OUTPUT SENT  
=2*6          LDX   2  FX2  
=2SQ          LFBBS    M,2,SAYCOR          [J IF READ ERROR 
=3S2          ACROSS   IPBLISTC,1   
=4?L    [   
=4R=    SAYCOR  
=5=W          LFBITCLR M,2  
=5QG          ACROSS   IPBLISTC,3   
=6=6    #END
=79B
^^^^ ...547216120002
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1