PMDUMPMT85

(George Source)

Macros used: DCA, DUMP, FINDPEREC, GPERI, JBUSY, JENG, JPMFAIL, JWPR, LINT, LTYPE, MTREAD, MTREW, MTSKIP, ON, PMCOUNT, PMOVE, SEGENTRY, T

PMDUMPMT85.txt
22FL    #   
22^=    #OPT  K0PMDUMPMT=0  
23DW    #LIS  K0PMDUMPMT>K0POST>K0ALLGEO
23YG    #   
24D6    #SEG  PMDUMPMT85                    [M.C.D. MANN
24XQ    #   
25CB    #     THIS SEGMENT ASKS THE OPERATOR FOR POSTMORTEM DUMP TAPE,CHECKS
25X2    #     THAT IT IS A VALID TAPE AND IF SO POSITIONS THE TAPE READY FOR A  
26BL    #     POST DUMP 
26W=    #   
27*W                   8HPMDUMPMT   
27TG    #   
28*6    #     ENTRY POINT TABLE 
28SQ    #   
29#B     SEGENTRY K1PMDUMPMT,XK1PMDUMPMT
29S2     SEGENTRY  K2PMDUMPMT,XK2PMDUMPMT   
2=?L    #   
2=R=    MESSC          +2,2H^*  
2?=W    MESSD          +27,27H^*DUMP TAPE TSN,DECK NO.?^*   
2?QG    MESSE          +48,48H  ^*TAPE ON DECK     NON-STANDARD HEADER LABEL^*  
2#=6    MESSF          +42,42H^*TAPE            INCORRECT HEADER LABEL^*
2#PQ    MESSG          +28,28H^*TAPE            LOAD WPR^*  
2*9B    MESSH          37,37H^*PLEASE LOAD          ON UNIT     ^*  
2*P2    MESSI          +19,19H^*INVALID MESSAGE^*   
2B8L    MESSJ          +22,22H  ^*UNIT     FAIL   ^*
2BN=    MESSK          +34,34H^*           IS NOT ON DECK     ^*
2C7W    MESSL          +30,30H  ^*START OF DUMP NUMBER    ^*
2CMG    MESSM          +42,42H^*TAPE            INCORRECT SUBFILE NAME^*
2CX# ...MESSN          27,27H  ^*UNIT     FORMAT ERROR^*
2D76    TWEN4          +24  
2DLQ    XFOUR          +4   
2F6B    XFIVE          +5   
2FL2    SEVEN          +7   
2G5L    XEIGHT         +8   
2GK=    THREE          +3   
2H4W    NINE           +9   
2HJG    TEN            +10  
2J46    TWO            +2   
2JHQ    ONE28          128:0
2K3B    SIXTY3         +63  
2KH2    XTWBIT         +0                  [MEMORY T/W ENGAGE BUTTON BIT?   
2L2L    XMTBIT         +0                  [BIT POS CT/WORD REL EBA,ALSO MT BIT 
2LG=    TSNX           #20202020
2L^W                   #20202020
2MFG    TSN            #20202020           [TO HOLD TSN IN  
2M^6                   #20202020           [CHARACTER FORM  
2NDQ    SPACE          #20  
2NYB    SPACEFIL       #20202020
2PD2    X1STORE        +0                  [ TO SAVE X1 
2PXL    X3STORE        +0   
2QC=    WLINK          +0   
2QWW    XBOTIND        +0                  [SET POS. IF POSTDUMPS TO START AT   
2RBG                                       [BOT 
2RW6    XSCRIND        +0                  [SCRATCHING INDICATOR
2S*Q    MIND           +0                  [SET 0 IF NOT NECESSARY TO OUTPUT
2STB                                       ['LOAD WPR' MESSAGE  
2T*2    PMCOUNT        +0   
2TSL    POSTDUMP       12HPOSTDUMP  
2W#=    TEA            #64  
2WRW    SCRA           12HSCRATCH TAPE  
2X?G    XMT            4HMT00   
2XR6    XDA            4HDA00   
2Y=Q    XBOT           4HBOT0   
2YQB    XSCR           4HSCR0   
2^=2    XCOMMA         #34  
2^PL    XLINK2         +0   
329=    XLINK3         +0   
32NW    XLINK4         +0   
338G    XLINK5         +0   
33N6    #   
347Q    #     BLOCK FORMAT OF MT HEADER LABEL   
34MB    #   
3572    THDDR          4HHDDR              [IDENTITY
35LL                   +0                  [TSN 
366=                   12HGEORGEPMTAPE     [TAPE NAME   
36KW                   +0                  [REEL SEQ. NO.   
375G                   +0                  [FILE GEN. NO.   
37K6                   +999                [SECURITY BIT / RETENTION PERIOD 
384Q                   +0                  [DATE WRITTEN
38JB                   +0                  [BITS 0-8=GEOG NO OF DECK
3942    #   
39HL    #     MAG, TAPE PERI. CONTROL AREAS 
3=3=    #   
3=GW    MTREAD         261:0,+0,+512,+MTBUF    [READ A BLOCK
3?2G    MTWRI          261:1,+0,+20,+MTBUF     [WRITE BLOCK (HDDR ONLY) 
3?G6    MTBACK         261:3,+0,+0,+0          [BACKSPACE ONE BLOCK 
3?^Q    MTSKIP         261:4,+0,+0,+0          [SKIP TO TAPE MARK   
3#FB    MTREW          261:7,+0,+0,+0          [REWIND TAPE 
3#^2    #   
3*DL    #   
3*Y=    #   
3BCW    #     MAG TAPE PERI ROUTINE,REPLY WORD CHECKED FOR TAPE FAILURE 
3BXG    #     IF MT FAILS CONSOLE OUTPUT-'UNIT NN FAIL N' AND EXIT 0
3CC6    #     IF SUCCESSFUL EXIT 1  
3CWQ    #     ENTRY    X3=START ADDRESS OF PCA  
3DBB    #           ALWAYS ASSUMES 4 WORD CONTROL AREA  
3DW2    # EXIT  
3F*L    #              X0,X3,X5,X6=UNDEFINED
3FT=    #                       X7=LINK 
3G#W    #   
3GSG    MTPERI  
3H#6          LDX   6  0(3)                [GET MODE
3HRQ          SMO      FXPMDR   
3J?B          LDX   1  JMTPTR              [KEEP DEV REC PTR
3JR2    MT2   JBUSY 1,MT2                  [LOOP TIL UNBUSY 
3K=L          DCA   1,DLA,6,MODE           [STORE MODE  
3KQ=          LDX   6  2(3) 
3L9W          DCA   1,STO,6,COUNT          [STORE COUNT 
3LPG          LDX   6  3(3)                [STORE BUFFER ADDRESS
3M96          DCA   1,STO,6,CTSA
3MNQ          SMO      FXPMDR   
3N8B          LDN   3  JMTPTR-CPPTR        [GET 'BLOCK START'   
3NN2          GPERI 1,3,NC                 [DO PERI 
3P7L    MTERR   
3PM=          SMO      FXPMDR   
3Q6W          LDX   6  JMTPTR   
3QLG ...MTRR  JBUSY    6,MTRR              [LOOP IF BUSY
3R66 ...      JPMFAIL  6,MT1               [GO TO MT1 IF FAIL   
3RKQ          EXIT  7  1                   [EXIT IF PERI SUCCESSFUL 
3S5B    MT1   SMO      FXPMDR   
3S*8 ...      LDX   6  JMTRW1              [LOAD THE REPLY WORD 
3SG4 ...      SMO      FXPM1
3SLY ...      STO   7  WLINK               [SAVE THE LINK   
3SRS ...      SLC   6  5                   [LOOK AT BIT 5   
3SYN ...      BNG   6  MT1A                [NO CODE IF DECK INOPERABLE  
3T5J ...      SRC   6  2                   [LOOK AT BIT 3   
3T=D ...      BPZ   6  MT1B                [J IF LONG BLOCK DETECTED (BIT 1)
3TC# ...      SRC   6  3
3TJ=          SMO      FXPM1
3W3W          DCH   6  MESSJ+5             [DUMP FAIL NO.:- 0,1,2 OR 3  
3WHG ...MT1A  SMO      FXPMDR   
3X36          LDX   6  JMTGEOG  
3XGQ ...      CALL  7  (JGNO1)             [CONVERT DECK GEOG. NO. TO CHARS.
3Y^L          SMO      FXPM1
3^F=          STO   5  MESSJ+3  
3^YW          SMO      FXPM1
42DG          LDN   3  MESSJ
42Y6 ...      CALL  7  (JCONOUT)           [OUTPUT FAIL MESSAGE ON CONSOLE  
43CQ          BRN      MT3  
43F# ...MT1B  SMO      FXPMDR   
43GW ...      LDX   6  JMTGEOG             [UNIT NUMBER OF MT DECK  
43JD ...      CALL  7  (JGNO1)             [CONVERT IT TO CHARACTER FORM
43L2 ...      SMO      FXPM1
43MJ ...      STO   5  MESSN+3             [AND INSERT IT IN THE MESSAGE
43P6 ...      SMO      FXPM1
43QN ...      LDN   3  MESSN               [PRINT ON THE CONSOLE:   
43S= ...      CALL  7  (JCONOUT)           ["UNIT NN FORMAT ERROR"  
43TS ...      BRN      MT3  
43XB    #   
44C2    #     ROUTINE TO REWIND MT  
44WL    #     EXIT 0
45B=    #           X7=LINK 
45TW    #     X0,X3,X6=UNDEFINED
46*G    #   
46T6    MTREWIND
47#Q          SMO      FXPM1
47SB          STO   7  WLINK
48#2    MT3   SMO      FXPMDR   
48RL          LDX   1  JMTPTR              [GET PTR,
49?=          LDN   6  7
49QW          DCA   1,DLA,6,MODE
4==G          SMO      FXPMDR   
4=Q6          LDN   3  JMTPTR-CPPTR        [BLOCK START 
4?9Q          GPERI 1,3,NC                 [DO REWIND   
4?PB          SMO      FXPM1
4#92          LDX   7  WLINK
4#NL          EXIT  7  0                   [EXIT 0  
4*8=    #   
4*MW    #      ROUTINE TO EXTRACT A SPECIFIED PARAMETER 
4B7G    #      FROM A GIVEN FIELD OF PARAMETERS ADDRESSED BY JCCBUF 
4BM6    #   
4C6Q    #      ON ENTRY  X5 CONTAINS NUMBER OF PARAMETER
4CLB    #                X6 CONTAINS TOTAL NUMBER OF CHARS IN FIELD 
4D62    #   
4DKL    #      ON EXIT   X3 CONTAINS MODIFIER POINTING TO FIRST CHARACTER   
4F5=    #                   OF REQUIRED PARAMETER   
4FJW    #                X7 CONTAINS NUMBER OF CHARACTERS IN PARAMETER  
4G4G    #                   IF ZERO  NULL PARAMETER 
4GJ6    #   
4H3Q    #      LINK X0  
4HHB    #   
4J32    #      ACCS  1,2,4,5 UNCHANGED  
4JGL    #   
4K2=    PMPAR STO   5  XLINK4(1)           [ PARAMETER NUMBER   
4KFW          STO   6  XLINK2(1)           [ CHARS IN FIELD 
4K^G          STOZ     XLINK5(1)
4LF6          LDN   7  1
4LYQ    PAR6  LDCH  6  0(3)                [ GET NEXT CHAR  
4MDB          TXU   6  SPACE(1) 
4MY2          BCC      PAR                 [ J IF SPACE 
4NCL          STO   3  XLINK3(1)
4NX=    PAR3  TXU   6  XCOMMA(1)
4PBW          BCC      PAR1                [ J IF COMMA 
4PWG          ADS   7  XLINK5(1)           [ INCREMENT CHAR. COUNT  
4QB6          BCHX  3  £
4QTQ    PAR5  SBS   7  XLINK2(1)
4R*B          LDX   6  XLINK2(1)
4RT2          BZE   6  PAR2                [ ALL FIELD EXAMINED ? J IF YES  
4S#L          LDCH  6  0(3)                [ LOAD NEXT CHAR 
4SS=          BRN      PAR3                [ LOAD NEXT CHAR 
4T?W    PAR1  SBS   7  XLINK4(1)
4TRG          LDX   6  XLINK4(1)
4W?6          BZE   6  PAR4                [ J IF PARAMETER WANTED  
4WQQ          STOZ     XLINK5(1)           [ INITIALISE CHARS. IN THIS PARAMETER
4X=B          BCHX  3  £
4XQ2          STO   3  XLINK3(1)
4Y9L          BRN      PAR5                [ COUNT CHARS. IN THIS PARAMETER 
4YP=    PAR   BCHX  3  £
4^8W          SBS   7  XLINK2(1)
4^NG          LDX   6  XLINK2(1)
5286          BNZ   6  PAR6                [ J IF MORE CHARS TO CHECK   
52MQ    PAR2  SBS   7  XLINK4(1)
537B          LDX   6  XLINK4(1)
53M2          BZE   6  PAR4                [ J IF PARAMETER WANTED  
546L          STOZ     XLINK3(1)
54L=          STOZ     XLINK5(1)
555W    PAR4  LDX   7  XLINK5(1)           [ SET UP EXIT CONDITIONS 
55KG          LDX   3  XLINK3(1)
5656          EXIT  0  0                   [ OUT AGAIN. 
56JQ    #   
574B    #   
57J2    #   
583L    #     ROUTINE TO CHECK VALIDITY OF PARAMETERS IN CONSOLE INPUT MESSAGE  
58H=    #     IF NO. VALID :NO. STORED IN OCTAL FORMAT IN THDDR+1   
592W    #                       STORED IN CHAR. FORMAT IN TSN AND TSN+1 
59GG    #                   EXIT 0 1
5=26    #     IF INVALID :  EXIT 0 0
5=FQ    #     ENTRY  X3=START ADD. OF MESSAGE   
5=^B    #            X5=NO. OF CHARS IN MESSAGE 
5?F2    #     EXIT   X2,X3,X4,X5,X6,X7=UNDEFINED
5?YL    #            X0=LINK
5#D=    #   
5#XW    VALID   
5*CG          SMO      FXPM1
5*X6          STO   0  WLINK               [STORE LINK  
5BBQ          SMO      FXPM1
5BWB          STO   3  X3STORE  
5CB2          SMO      FXPM1
5CTL          STOZ     XSCRIND  
5D*=          SMO      FXPM1
5DSW          STOZ     XBOTIND  
5F#G          SMO      FXPM1
5FS6          LDX   7  SPACEFIL 
5G?Q          SMO      FXPM1
5GRB          STO   7  TSNX 
5H?2          SMO      FXPM1
5HQL          STO   7  TSNX+1   
5J==          STO   5  2                   [FOR PMPAR.  
5JPW          LDN   4  1                   [MEANS PARA 1
5K9G    V5    LDX   5  4
5KP6          LDX   6  2
5L8Q          LDX   1  FXPM1
5LNB          LDX   3  X3STORE(1)   
5M82          CALL  0  PMPAR               [GET NEXT PARAMETER  
5MML          SBN   4  1
5N7=          BZE   4  V1                  [J TO VALIDATE PARA 1
5NLW          SBN   4  1
5P6G          BZE   4  V2                  [J TO VALIDATE PARA 2
5PL6    #   
5Q5Q          BZE   7  V3                  [ELSE J IF PARA 3 NULL   
5QKB          SMO      FXPM1
5R52          TXU   7  THREE               [INVALID IF NOT  
5RJL          BCS      XEXIT               [3 CHARACTERS
5S4=          LDN   6  0
5SHW          LDN   4  6                   [ELSE CHECK FOR  
5T3G          MVCH  3  3                   [BOT 
5TH6          SMO      FXPM1
5W2Q          TXU   6  XBOT 
5WGB          BCC      V3   
5X22          SMO      FXPM1
5XFL          TXU   6  XSCR                [OR SCR  
5X^=          BCS      XEXIT               [INVALID IF NEITHER  
5YDW          SMO      FXPM1
5YYG          STO   7  XSCRIND             [SET SCR INDICATOR   
5^D6          BRN      V7   
5^XQ    V3    SMO      FXPM1
62CB          STO   7  XBOTIND             [SET INDICATOR   
62X2    V7    SMO      FXPM1
63BL          LDN   3  MESSC
63W=          CALL  7  (JCONOUT)           [PRINT A NEW LINE
64*W          SMO      FXPM1
64TG          LDN   6  TSNX                [COPY
65*6          SMO      FXPM1
65SQ          LDN   7  TSN                 [TSN 
66#B          MOVE  6  2
66S2          SMO      FXPM1
67?L          LDX   0  WLINK               [AND EXIT VALID  
67R=          EXIT  0  1
68=W    #   
68QG    #   
69=6    V1    BZE   7  XEXIT               [EXIT IF PARA 1 NULL 
69PQ          SMO      FXPM1
6=9B          TXL   7  NINE                [CHECK NO OF CHARS<9 
6=P2          BCC      XEXIT               [INVALID IF NOT  
6?8L          LDCH  4  0(3) 
6?N=          TXL   4  XEIGHT(1)
6#7W          BCS      V1A  
6#MG          SBN   7  3
6*76          BPZ   7  XEXIT               [J IF MORE THAN 4 CHARACTERS: ERROR  
6*LQ          ADN   7  3
6B6B          LDN   5  0
6BL2          LDN   4  5
6C5L          SMO      7
6CK=          MVCH  3  0                   [MOVE INTO THE TOP OF X5 
6D4W          TXU   5  XDA(1)   
6DJG          BCC      XDADUMP             [J IF "DA" : A DISC DUMP IS WANTED   
6F46          TXU   5  XMT(1)   
6FHQ          BCS      XEXIT               [ERROR IF NOT "MT"   
6G3B          SBN   2  3
6GH2          LDX   3  X3STORE(1)          [IF THE FIRST PARAMETER IS "MT" ...  
6H2L          SLC   3  2
6HG=          ADN   3  3                   [ ...  WE SIMPLY MAKE "MT" DISAPPEAR 
6H^W          SRC   3  2
6JFG          STO   3  X3STORE(1)          [ ...  FROM THE INPUT MESSAGE!   
6J^6          BNG   2  XEXIT               [ERROR IF THERE ARE  ... 
6KDQ          BZE   2  XEXIT               [   ...  NO MORE CHARACTERS LEFT 
6KYB          LDN   4  1
6LD2          BRN      V5   
6LXL    V1A   SMO      FXPM1
6MC=          LDN   4  TSNX                [COPY TSN
6MWW          STO   3  6                   [SAVE ADDRESS
6NBG          SMO      7
6NW6          MVCH  3  0
6P*Q          LDX   3  6                   [RESET START ADDRESS 
6PTB          LDN   5  0
6Q*2    V4    LDCH  6  0(3) 
6QSL          SMO      FXPM1
6R#=          TXL   6  XEIGHT   
6RRW          BCC      XEXIT               [EXIT IF INVALID 
6S?G          SRC   6  3                   [MOVE OCTAL CHAR TO M.S END  
6SR6          SLL   56 3                   [AND SET UP NO IN X5 
6T=Q          BCHX  3  £
6TQB          BCT   7  V4                  [LOOP TIL DONE   
6W=2          SMO      FXPM1
6WPL          STO   5  THDDR+1             [SET TSN IN HDDR,
6X9=          LDN   4  2                   [SET PARA NO 
6XNW          BRN   V5                     [TO 2 AND GET IT.
6Y8G    #   
6YN6    V2    BZE   7  XEXIT               [EXIT INVALID IF PARA 2 NULL 
6^7Q          SMO      FXPM1
6^MB          TXL   7  XFOUR               [INVALID IF NOT <4 CHARS 
7272          BCC   XEXIT                  [ EXIT INVALID   
72LL    #   
736=    #     NOW CONVERT TO BINARY 
73KW    #   
745G          LDN   4  0
74K6          LDN   5  0                   [RECEIVES ANSWER 
754Q    V6    CDB   4  0(3) 
75JB          BCS   XEXIT                  [EXIT IF INVALID 
7642          BCHX  3  £                   [STEP ADDR   
76HL          BCT   7  V6                  [LOOP TIL DONE   
773=          SMO      FXPMDR   
77GW          STO   5  JMTGEOG             [STORE ANSWER
782G          LDN   4  3
78G6          BRN   V5  
78^Q    XEXIT   
79FB          SMO      FXPM1
79^2          LDX   0  WLINK
7=DL          EXIT  0  0
7=Y=    #   
7?CW    #   DA DISCOVERED IN INPUT.SINCE WE ARE NOT WANTED,WE   
7?XG    #   YIELD TO PMDUMPDA.  
7#C6    #   
7#WQ    XDADUMP 
7*BB          LDN   4  64+128   
7*W2          SMO      FXPMDR   
7B*L          ERS   4  ALLPOST  
7BT=          PMOVE    PMDUMPDA,FXPM1,2 
7C#W    #   
7CSG    #   
7D#6    XK1PMDUMPMT 
7DRQ    #   
7F?B    #     CODING REQUESTING DUMP TAPE NO. AND DECK NO OF SAME   
7FR2    #     VALIDITY OF REPLY ALSO CHECKED
7G=L    #   
7GQ=          LDX   1  FXPM1
7H9W          ADS   1  MTREAD+3(1)         [DATUMISE TAPE PERI CONTROL AREAS
7HPG          ADS   1  MTWRI+3(1)   
7J96    T     SMO      FXPM1
7KN2          LDN   3  MESSD
7L7L          CALL  7  (JCONOUT)           [ASK FOR TSN/DECK NO 
7LM=    TZ2   CALL  7  (JCTWIN)            [READ I/P
7M6W          BRN   TZ2                    [NOT OK  
7MLG    TZ1   LDN   3  FCINBUF             [SET X3 FOR VALID
7N66          ANDN  6  #777                [COUNT   
7NKQ          NGX   5  6                   [CHARS READ  
7P5B          ADN   5  64                  [IN X5   
7PK2          BZE   5  T                   [J IF INVALID
7Q4L    TZ3      LDX   1  FXPM1 
7QJ=          CALL  0  VALID               [IS REPLY VALID? 
7R3W          BRN      T                   [J IF INVALID
7R94 ...      SMO      FXPM1
7RB= ...      STOZ     MIND                [STOZ MESSAGE O/P INDICATOR  
7RHG          LDX   1  JCTWPTR             [NOW REQUIRE TO UNSET
7S36          LINT  1,6                    [T/W ENGAGE BUTTON BIT   
7SGQ          SMO      FXPM1
7T2B          DVS   5  TWEN4               [SO CALCULATE POSN   
7TG2          STO   5  0                   [REMEMBER
7T^L          STO   6  2                   [RESULT  
7WF=          SLL   6  9                   [SET RESULT IN  REMAINDE/QUOTIENT
7WYW          SRL   56 9                   [FORM IN XTWBIT  
7XDG          SMO      FXPM1
7XY6          STO   6  XTWBIT   
7YCQ          LDCT  6  #400                [SET UP MASK IN ORDER TO UNSET BIT   
7YXB          BZE   0  TS1                 [J WHEN GOT RIGHT POSN   
7^C2    TS2   SRL   6  1
7^WL          BCT   0  TS2  
82B=    TS1   ORS   6  EBA(2)              [UNSET   
82TW          ERS   6  EBA(2)              [T/W BIT 
83*G    #   
83T6    #     CODING TO CHECK SPECIFIED DECK FOR SPECIFIED TAPE,
84#Q    #     REWIND IT AND LOOK AT HEADER LABEL
84SB    #   
85#2    T3    SMO      FXPMDR   
85RL          LDX   5  JMTGEOG             [GET DECK GEOG NO.   
86?=          FINDPEREC 1,APGEOG,5         [AND FIND RELEVANT DEV RECORD
86QW          BNG   1  T                   [REPEAT MESS IF NON-EXISTENT 
87=G          LTYPE 1,5                    [CHECK   
87Q6          SMO      FXPM1
889Q          TXU   5  XFIVE               [ITS A MT
88PB          BCS   T                      [TCH! TCH!   
8992          SMO      FXPMDR   
89NL          LDX   5  JMTPTR              [IS THIS THE FIRST MT?   
8=8=          BZE   5  T2                  [J IF SO 
8=MW          TXU   5  1                   [ELSE IS IT DIFFERENT TO LAST
8?7G          BCC   T1                     [TIME, J IF SAME 
8?M6          SMO      FXPMDR   
8#6Q          LDN   4  JMTREC              [ELSE UNDUMP OLD DEV REC 
8#LB          MOVE  4  K53-K50  
8*62    #   
8*KL    T2    SMO      FXPMDR   
8B5=          STO   1  JMTPTR              [STORE NEW PTR   
8BJW          SMO      FXPMDR   
8C4G          LDN   2  JMTREC              [AND NEW DEV REC 
8CJ6          MOVE  1  K53-K50  
8D3Q    #   
8DHB    T1    SMO      FXPMDR   
8F32          LDX   1  JMTPTR              [CHECK IF DECK ENGAGED   
8FGL          JENG  1,M1                   [J IF SO 
8G2=          SMO      FXPM1
8GFW          LDX   6  MIND                [ELSE IF INDICATOR NOT SET   
8G^G          BNZ   6  T1   
8HF6          SMO      FXPM1
8HYQ          LDN   5  TSN                 [ASK FOR OUR TAPE TO BE LOADED   
8JDB          LDCT  6  #400 
8JY2          SMO      FXPM1
8KCL          ORN   6  MESSH+4  
8KX=          MVCH  5  8                   [MOVE TSN INTO MESSAGE   
8LBW          SMO      FXPMDR   
8LWG          LDX   6  JMTGEOG             [PICK UP THE DECK NUMBER 
8MB6          CALL  7  (JGNO1)             [CONVERT IT TO CHARACTERS
8MTQ          LDN   6  5
8N*B          LDCT  7  #600 
8NT2          SMO      FXPM1
8P#L          ORN   7  MESSH+8             [AND PUT IT INTO THE MESSAGE 
8PS=          MVCH  6  4
8Q?W          SMO      FXPM1
8QRG          LDN   3  MESSH
8R?6          CALL  7  (JCONOUT)
8RQQ          LDN   7  7                   [AND SET INDICATOR   
8S=B          SMO      FXPM1
8SQ2          STO   7  MIND 
8T9L          BRN   T15                    [J CHECK T/W AND MT  
8TP=    #   
8W8W    M1    SMO      FXPM1
8WNG          STOZ  MIND                   [UNSET INDICATOR 
8X86          SMO      FXPM1
8XMQ          LDN   3  MTREW
8Y7B          CALL  7  MTPERI              [REWIND MT   
8YM2          BRN   T                      [FAIL SO START AGAIN.
8^6L          SMO      FXPM1
8^L=          LDN   3  MTREAD              [READ HEADER 
925W          CALL  7  MTPERI   
92KG          BRN   T                      [FAIL.   
9356    #   
93JQ    #     NOW CHECK HEADER...   
944B          SMO      FXPM1
94J2          LDX   6  MTBUF
953L          SMO      FXPM1
95H=          TXU   6  THDDR
962W          BCC      T17                 [J IF STANDARD HDDR LABEL
96GG          SMO      FXPMDR   
9726          LDX   6  JMTGEOG             [GET DECK NO AND CONVERT TO  
97FQ          CALL  7  (JGNO1)               [CHARACTERS
97^B          SMO      FXPM1
98F2          STO   5  MESSE+5  
98YL          SMO      FXPM1
99D=          LDN   3  MESSE              [-STANDARD HEADER LABEL   
99XW          CALL  7  (JCONOUT)              [CONSOLE MESSAGE 'TAPE ON DECK NN 
9=CG          SMO      FXPMDR   
9=X6          LDX   1  JMTPTR              [SET UP  
9?BQ          LDN   6  7                   [C.A 
9?WB          DCA   1,DLA,6,MODE           [TO REWIND   
9#B2          SMO      FXPMDR   
9#TL          LDN   2  JMTPTR-CPPTR        [OUR MT  
9**=          GPERI 1,2,NC                 [DO IT.  
9*SW          BRN   T                      [START OVER AGAIN
9B#G    T17   SMO      FXPM1
9BS6          LDX   6  MTBUF+1  
9C?Q          SMO      FXPM1
9CRB          TXU   6  THDDR+1  
9D?2          BCC      T18                 [J IF TSN CORRECT
9DQL    T60   SMO      FXPM1
9F==          LDN   5  TSN                 [OUTPUT MESSAGE: 
9FPW          SMO      FXPM1
9G9G          LDN   6  MESSK+2             ['TSN NOT ON DECK N'...  
9GP6          MOVE  5  2
9H8Q          SMO      FXPMDR   
9HNB          LDX   6  JMTGEOG  
9J82          CALL  7  (JGNO1)  
9JML          SMO      FXPM1
9K7=          STO   5  MESSK+8  
9KLW          SMO      FXPM1
9L6G          LDN   3  MESSK
9LL6          CALL  7  (JCONOUT)
9M5Q          SMO      FXPM1
9MKB          LDN   3  MTREW
9N52          CALL  7  MTPERI              [REWIND MT   
9NJL                   NULL 
9P4=          BRN   T                      [TRY AGAIN   
9PHW    T18 
9Q3G          SMO      FXPM1
9QH6          LDX   5  XSCRIND  
9R2Q          BNZ   5  T13                 [J IF SCR SPECIFIED  
9RGB          SMO      FXPM1
9S22          LDX   4  MTBUF+2  
9SFL          SMO      FXPM1
9S^=          LDX   5  MTBUF+3  
9TDW          SMO      FXPM1
9TYG          LDX   6  MTBUF+4  
9WD6          SMO      FXPM1
9WXQ          TXU   4  THDDR+2  
9XCB          SMO      FXPM1
9XX2          TXU   5  THDDR+3  
9YBL          SMO      FXPM1
9YW=          TXU   6  THDDR+4  
9^*W          BCS      T14                 [J IF HDDR LABEL NOT 'G3POSTMORTEM'  
9^TG          SMO      FXPMDR   
=2*6          LDX   1  JMTPTR   
=2SQ          JWPR  1,T20                  [J IF OUR MT HAS WPR 
=3#B    T15 
=3S2          SMO      FXPMDR   
=4?L          LDX   1  JMTPTR          [NOW FIND MT 
=4R=          LINT  1,6                [ENGAGE BUTTON BIT   
=5=W          SMO      FXPM1
=5QG          DVS   5  TWEN4           [AND UNSET IT.   
=6=6          STO   5  0
=6PQ          STO   6  2
=79B          SLL   6  9
=7P2          SRL   56 9
=88L          SMO      FXPM1
=8N=          STO   6  XMTBIT              [REMEMBER POSN   
=97W          LDCT  6  #400 
=9MG          BZE   0  TT1  
==76    TT2   SRL   6  1
==LQ          BCT   0  TT2  
=?6B    TT1   ORS   6  EBA(2)   
=?L2          ERS   6  EBA(2)   
=#5L          SMO      FXPM1
=#K=          LDX   5  MIND                [MESSAGE ALREADY O/P?
=*4W          BNZ   5  T30                 [J IF SO 
=*JG          SMO      FXPM1
=B46          LDN   5  TSN                 [ELSE WE 
=BHQ          SMO      FXPM1
=C3B          LDN   6  MESSG+3  
=CH2          MOVE  5  2                   [INSERT TSN IN CONSOLE MESSAGE   
=D2L          SMO      FXPM1
=DG=          LDN   3  MESSG              [OUTPUT 'LOAD WPR' MESSAGE
=D^W          CALL  7  (JCONOUT)
=FFG          BRN      T30  
=F^6    T14   SMO      FXPM1
=GDQ          TXU   4  SCRA 
=GYB          SMO      FXPM1
=HD2          TXU   5  SCRA+1   
=HXL          SMO      FXPM1
=JC=          TXU   6  SCRA+2   
=JWW          BCC      T13                 [J IF SCRATCH TAPE   
=KBG          SMO      FXPMDR   
=KW6          LDX   1  JMTPTR              [REWIND  
=L*Q          LDN   6  7                   [THE 
=LTB          DCA   1,DLA,6,MODE           [MT  
=M*2          SMO      FXPMDR   
=MSL          LDN   2  JMTPTR-CPPTR 
=N#=          GPERI 1,2,NC                 [PERI.   
=NRW          SMO      FXPM1
=P?G          LDN   5  TSN  
=PR6          SMO      FXPM1
=Q=Q          LDN   6  MESSF+3  
=QQB          MOVE  5  2                   [INSERT TSN IN CONSOLE MESSAGE   
=R=2          SMO      FXPM1
=RPL          LDN   3  MESSF              [INCORRECT HEADER LABEL   
=S9=          CALL  7  (JCONOUT)              [CONSOLE MESSAGE 'TAPE NNNNNNNN   
=SNW          BRN   T                      [REQUEST NEW MT  
=T8G    T13   SMO      FXPMDR   
=TN6          LDX   1  JMTPTR   
=W7Q          JWPR  1,M3                   [J IF WPR
=WMB          BRN   T15 
=X72    M3    SMO      FXPM1
=XLL          LDN   3  MTREW
=Y6=          CALL  7  MTPERI              [REWIND MT   
=YKW          BRN   T                      [START AGAIN IF FAIL 
=^5G          SMO      FXPMDR   
=^K6          LDX   6  JMTGEOG  
?24Q          SRC   6  9
?2JB          SMO      FXPM1
?342          STO   6  THDDR+9             [WORD 9 OF TAPE HEADER LABEL 
?3HL          LDX   6  EDATE               [STORE 'DATE WRITTEN'
?43=          SMO      FXPM1
?4GW          STO   6  THDDR+8             [IN HEADER   
?52G          SMO      FXPM1
?5G6          LDN   5  THDDR
?5^Q          SMO      FXPM1
?6FB          LDN   6  MTBUF               [MOVE HDDR LABEL INTO MT WRITE BUFFER
?6^2          MOVE  5  10   
?7DL          SMO      FXPM1
?7Y=          LDN   3  MTWRI
?8CW          CALL  7  MTPERI              [WRITE HDDR LABEL
?8XG          BRN   T                      [FAIL SO REQUEST NEW MT. 
?9C6                                       [NO  
?9WQ          SMO      FXPM1
?=BB          STOZ     PMCOUNT  
?=W2          BRN      W
??*L    #   
??T=    #     CODING TO POSITION 'G3POSTMORTEM' TAPE BEFORE TRAILER LABEL   
?##W    #   
?#SG    T20 
?*#6          SMO      FXPM1
?*RQ          STOZ     PMCOUNT  
?B?B          SMO      FXPM1
?BR2          LDX   0  XBOTIND             [J IF POSTDUMP TO BE WRITTEN 
?C=L          BNZ   0  W                   [AFTER BOT   
?CQ=    M4    SMO      FXPM1
?D9W          LDN   3  MTSKIP   
?DPG          CALL  7  MTPERI              [SKIP TO TM  
?F96          BRN   T   
?FNQ          SMO      FXPM1
?G8B          LDN   3  MTREAD   
?GN2          CALL  7  MTPERI              [READ NEXT BLOCK 
?H7L          BRN   T   
?HM=          SMO      FXPM1
?J6W          LDCH  6  MTBUF
?JLG          SBN   6  6
?K66          BNZ   6  M2                  [J IF NOT START OF S/F SENTINEL  
?KKQ          LDN   3  3
?L5B    SSFS  SMO      FXPM1
?LK2          LDX   4  MTBUF+1(3)          [S/F NAME
?M4L          SMO      FXPM1
?MJ=          TXU   4  POSTDUMP-1(3)
?N3W          BCS      M5                  [J IF NOT 'POSTDUMP' S/F 
?NHG          BCT   3  SSFS 
?P36          LDN   4  1
?PGQ          SMO      FXPM1
?Q2B          ADS   4  PMCOUNT             [UPDATE DUMP COUNT   
?QG2          BRN      M4   
?Q^L    M2    SBN   6  1
?RF=          BNZ   6  M4                  [J IF NOT TRAILER LABEL  
?RYW          SMO      FXPM1
?SDG          LDN   3  MTBACK   
?SY6          CALL  7  MTPERI              [BACKSPACE   
?TCQ          BRN   T                      [PAST
?TXB          SMO      FXPM1
?WC2          LDN   3  MTBACK              [PRECEDING   
?WWL          CALL  7  MTPERI              [TM  
?XB=          BRN   T   
?XTW          SMO      FXPM1
?Y*G          LDN   3  MTBACK   
?YT6          CALL  7  MTPERI              [BACKSPACE AND   
?^#Q          BRN   T                      [THEN READ A BLOCK- UNDER
?^SB          SMO      FXPM1
#2#2          LDN   3  MTREAD              [GEORGE EXEC A WRITE CANNOT FOLLOW   
#2RL          CALL  7  MTPERI              [IMMEDIATELY AFTER A BACKSPACE   
#3?=          BRN   T   
#3QW          BRN      W
#4=G    M5    SMO      FXPM1
#4Q6          LDN   6  MESSM+2  
#59Q          SMO      FXPM1
#5PB          LDN   5  TSN  
#692          MOVE  5  2                   [STORE TSN IN CONSOLE MESSAGE
#6NL          SMO      FXPM1
#78=          LDN   3  MESSM              [INCORRECT SUBFILE NAME'  
#7MW          CALL  7  (JCONOUT)              [CONSOLE MESSAGE 'TAPE NNNNNNNN   
#87G          CALL  7  MTREWIND            [REWIND MT   
#8M6          BRN      T                   [REQUEST NEW MT  
#96Q    #   
#9LB    #     CODING TO LOOK AT PERIPHERAL ENGAGE BUTTON AREA TO CHECK IF   
#=62    #     CONSOLE T/W ENGAGED BIT SET OR IF MT ENGAGED  
#=KL    #   
#?5=    T30 
#?JW          LDN   4  0
##4G          SMO      FXPM1
##J6          LDX   5  XTWBIT   
#*3Q          LDCH  2  5                   [GET EBA MODIFIER IN X2  
#*HB          SLL   45 9                   [GET COUNT OF BIT POSN IN X4 
#B32          LDCT  3  #400                [SET BIT IN X3 TO REQD POSN...   
#BGL          BZE   4  T31  
#C2=    T35   SRL   3  1
#CFW          BCT   4  T35  
#C^G    T31   ANDX  3  EBA(2)              [CHECK T/W BIT   
#DF6          BNZ   3  T32                 [J IF SET
#DYQ          SMO      FXPM1
#FDB          LDX   5  XMTBIT              [ELSE CHECK MT BIT   
#FY2          LDCH  2  5
#GCL          SLL   45 9
#GX=          LDCT  3  #400 
#HBW          BZE   4  T33  
#HWG    T34   SRL   3  1
#JB6          BCT   4  T34  
#JTQ    T33   ANDX  3  EBA(2)   
#K*B          BZE   3  T30                 [RESUME SEARCH IF NOT SET
#KT2          ERS   3  EBA(2)              [ELSE UNSET IT   
#L#L          BRN   M1                     [AND RESUME SEARCH   
#LS=    #   
#M?W    #     T/W BIT SET SO CLEAR AND READ INPUT   
#MRG    #   
#N?6    T32   ERS   3  EBA(2)              [CLEAR IT
#NQQ    T38   CALL  7  (JCTWIN)              [READ I/P  
#P=B          BRN   T38                    [LOOP IF NOT 
#PQ2          ANDN  6  #777                [GET NO. 
#Q9L          NGX   5  6                   [OF  
#QP=          ADN   5  64                  [CHARS   
#R8W          LDN   3  FCINBUF             [READ IN X5  
#RNG          BZE   5  T30                 [IGNORE MESSAGE IF NONE OR ALL SPACES
#S86          BRN      TZ3  
#SMQ    #   
#T7B    #   
#TM2    #   PMDUMPDA WAS RUDELY INTERRUPTED & SO WE ARE TAKING OEVR 
#W6L    #   
#WL=    XK2PMDUMPMT 
#X5W          LDX   1  FXPM1
#XKG          ADS   1  MTREAD+3(1)         [DATUMISE TAPE PERI CONTROL AREAS
#Y56          ADS   1  MTWRI+3(1)   
#YJQ          STOZ     MIND(1)             [STOZ MESSAGE O/P INDICATOR  
#^4B          SMO      FXPMDR   
#^J2          LDX   6  JPCONREPLY             [LOAD CONSOLE REPLY WORD  
*23L          BRN      TZ1  
*2H=    #   
*32W    #     CODING TO INITIATE TRANSFER TO #SEG PMDUMPA WHERE THE POSTMORTEM  
*3GG    #     DUMP WILL TAKE PLACE  
*426    #   
*4FQ    W     SMO      FXPM1
*4^B          LDX   6  PMCOUNT  
*5F2          ADN   6  1                   [NO. INCLUDING PRESENT DUMP  
*5YL          CALL  7  (JGNO1)               [CONVERT TO DECIMAL
*6D=          SMO      FXPM1
*6XW          STO   5  MESSL+7             [STORE COUNT IN MESSAGE  
*7CG          SMO      FXPM1
*7X6          LDN   3  MESSL
*8BQ          CALL  7  (JCONOUT)
*8WB          PMOVE     PMDUMP,FXPM1,1            [ OFF WE GO   
*9B2    #   
*9TL    MTBUF                              [MAG. TAPE BUFFER
*=*=    #END
^^^^ ...554711620005
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1