{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PERION867)}}
====== PERION867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ACROSSVAR|ACROSSVAR]], [[george:macro:AUTFAIL|AUTFAIL]], [[george:macro:AUTFIN|AUTFIN]], [[george:macro:AUTSTART|AUTSTART]], [[george:macro:BACKTRAN|BACKTRAN]], [[george:macro:BADBLOCK|BADBLOCK]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CHECKB|CHECKB]], [[george:macro:CHECKEXT|CHECKEXT]], [[george:macro:CHTRAN|CHTRAN]], [[george:macro:CONVERTX|CONVERTX]], [[george:macro:DOWN|DOWN]], [[george:macro:FADDRESS|FADDRESS]], [[george:macro:FDRMQUERY|FDRMQUERY]], [[george:macro:FOUTMOVE|FOUTMOVE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETWORD|GETWORD]], [[george:macro:HUNTW|HUNTW]], [[george:macro:ILLEGALX|ILLEGALX]], [[george:macro:JENG|JENG]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:JNOTFDRM|JNOTFDRM]], [[george:macro:KEEPMESS|KEEPMESS]], [[george:macro:LOCKCA|LOCKCA]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFINDEXOF|MFINDEXOF]], [[george:macro:MFINDSU|MFINDSU]], [[george:macro:OLPFIN|OLPFIN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PAIR|PAIR]], [[george:macro:PICKREP|PICKREP]], [[george:macro:PMODES|PMODES]], [[george:macro:PROGBRKIN|PROGBRKIN]], [[george:macro:RELSTX|RELSTX]], [[george:macro:RESTART|RESTART]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETREP|SETREP]], [[george:macro:SMUSEST|SMUSEST]], [[george:macro:STEPBACK|STEPBACK]], [[george:macro:SUSESTX|SUSESTX]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TESTREPX|TESTREPX]], [[george:macro:TOPCA1|TOPCA1]], [[george:macro:TRACE|TRACE]], [[george:macro:TRUSTED|TRUSTED]], [[george:macro:UNPLUG|UNPLUG]], [[george:macro:WORDFIN|WORDFIN]]
22FL ... SEG PERION,860,FRANK BLUNDELL,PERION
22T* ...#
2394 ...# COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23JR ...#
23YG #
24D6 SEGENTRY K1PERION,QK1PERION
24XQ
25CB ... SEGENTRY K2PERION,QK1PERION
25X2 #
26BL # PROGRAM ILLEGAL
26W= #
27*W XJMOD +JYMODE
27TG XJMR +JYMODER
28*6 XJRV +JYNOCA
28SQ #DEF XCA=EVENT2
29#B #DEF TREP=EXEC3 [REPLY FROM BSTS
29S2 #
2=?L #
2=R= PLINK
2?=W ZA PAIR PERION,1
2?QG #
2#=6 # CHECK IF S-TRUSTED AND MODES 4,5,6
2#PQ XST LDX 0 6 [MODE
2*9B ANDN 0 #4777
2*P2 SBN 0 7
2B8L BPZ 0 XRV [ILLEGAL IF MODE NOT 4,5 OR 6
2BN= TRUSTED APETADDR(2),PA3,S [J TO PA3 IF PROG NOT S-TRUSTED
2C7W LDX 0 EXMODE(2) [OPENING MODE
2CMG SBN 0 #200
2D76 BZE 0 PA4 [J IF ONLY OPEN FOR READING
2DLQ PA5 ACROSS SPERION,1 [DEAL WITH MODES 4,5,6
2F6B PA3 TRUSTED APETADDR(2),XRV,Q [ILLEGAL IF NOT Q-TRUSTED
2FL2 PA4 LDX 0 6 [MODE
2G5L SBN 0 5
2GK= BZE 0 PA5 [O.K IF ONLY CHECK READING
2H4W # PUT OLPA TO SLEEP WAKE UP PCA TO DO ILLEGAL
2HJG XRV TOPCA1 ZA(1)
2J46 UNPLUG
2JHQ ILLEGALX 3 [ILLEGAL
2K3B #
2KH2 # EXEC1 CONTAINS SUBPROGRAM NUMBER
2L2L # EXEC2 CONTAINS ADDRESS OF CONTROL AREA
2LG= #
2L^W #
2MFG QK1PERION
2M^6 LDX 1 APETADDR(2)
2NDQ LOCKCA 1,XCA(2) [LOCK CONTROL AREA
2NYB ... LDX 6 EVENT4(2)
2RW6 LDX 1 FX1
2S*Q #SKI K6PERION>99-99
2STB (
2T*2 LDX 0 6 [CHECK TYPE IF TRACING
2TSL SRL 0 15
2W#= ANDN 0 #377 [MUST BE 6,7,13 OR 26
2WRW SBN 0 6 [
2X?G BZE 0 XAA
2XR6 SBN 0 1
2Y=Q BZE 0 XAA
2YQB SBN 0 6
2^=2 BZE 0 XAA
2^PL SBN 0 13 [OR EDS 30
329= BZE 0 XAA
32NW GEOERR 1,WRNGTYPE
338G XAA
33N6 )
347Q ANDX 6 XM2(1) [MASK OUT TYPE
34MB LDX 4 6
3572 ANDX 4 XM1(1)
35LL BZE 4 XB [JUMP IF TRANSFER MODE
35MC ...#UNS CAFSINT
35N8 ...(
35N^ ...# FOR CAFS, WE SPLIT OUT THE SPECIAL CAFS MODE TRANSFERS
35PQ ...# AT THIS POINT. THE MODES IN QUESTION ARE #12 & #13.
35QH ...#
35R# ... LDX 0 CAFSPTR [MODES ARE ILLEGAL WITHOUT CAFS
35S5 ... BZE 0 SNOTCAFS [JIF NO CAFS SYSTEM
35SW ...#
35TM ... LDEX 4 6 [ISOLATE NON-ADDITIVE PART OF MODE
35WD ... SBN 4 #12
35X9 ... BZE 4 SCAFSMODE [JIF CAFS MODE #12
35Y2 ... SBN 4 1
35YR ... BNZ 4 SNOTCAFS [JIF NOT A CAFS MODE
35^J ...#
362* ...SCAFSMODE
3636 ... ACROSS CAFSPERI,1 [GO TO HANDLE CAFS PERI MODES
363X ...#
364N ...SNOTCAFS
365F ...)
366= LDX 3 XJMOD(1) [MODE IN ERROR INDENTIFIER
36KW LDX 4 6 [
375G ANDX 4 XM3(1) [
37K6 BNZ 4 XRV [JUMP IF ILLEGAL MODE
384Q LDX 4 6
38JB ANDN 4 #1777
3942 LDX 5 4
39HL SBN 4 #1600 [JUMP IF ILLEGAL MODE
3=3= BPZ 4 XRV
3=GW LDX 0 EXMODE(2) [OPENING MODE
3?2G SBN 0 #1600
3?G6 BZE 0 PA1 [J IF OPENING MODE #1600
3?^Q SBN 0 #100
3#FB BNZ 0 PA2 [J IF NOT #1700
3#^2 PA1 LDX 4 5 [ACTUAL MODE
3*DL SBN 4 #1000
3*Y= BZE 4 PA2
3BCW SBN 4 #400 [ONLY MODES #1000 AND #1400 ALLOWED
3BXG BNZ 4 XRV [IF OPENING MODES EITHER #1600 OR #17
3CC6 PA2 SRL 6 10
3CWQ ANDN 6 3 [ADDITIVE BITS IF ANY
3DBB LDX 4 5
3DW2 SBN 4 #401 [JUMP IF MODE #100-#400 (OPEN)
3F*L BNG 4 XC
3FT= SBN 4 #177 [JUMP IF #600-OPEN SCRATCH
3G#W BZE 4 XC
3GSG SBN 4 #400 [JUMP IF CREATE #1200
3H#6 BZE 4 XC
3HRQ LDCT 0 #400
3J?B ORS 0 GIVE(2) [SET OPEN ILLEGAL MARK
3JR2 BRN XD
3K=L XC LDCT 0 #400
3KQ= ANDX 0 GIVE(2)
3L9W BNZ 0 XRV [JUMP IF OPEN ILLEGAL
3LPG LDX 3 XJMR(1) [MODE INCOMPATIBLE
3M96 LDX 0 5
3MNQ SBN 0 #401
3N8B BNG 0 XE
3NN2 TXU 5 EXMODE(2) [JUMP IF MODE INCOMPATIBLE
3P7L BCS XRV
3PM= BRN XD
3Q6W XE LDX 0 EXMODE(2)
3QLG SBN 0 #401
3R66 BPZ 0 XRV [JUMP IF MODE INCOMPATIBLE
3RKQ XD LDX 2 5
3S5B #SKI K6PERION>199-199
3SK2 TRACE 2,PERIMODE
3T4L SBN 2 #400
3TJ= BPZ 2 XF
3W3W LDN 2 0 [SET X2 MODIFER TO PAIR TABLE
3WHG XF SRL 2 7-HLINK
3X36 ADX 2 FX1
3XGQ ACROSSVAR XLINK(2)
3Y2B #
3YG2 # LINK TABLE
3Y^L #
3^F= XLINK
3^YW PAIR ANTIC,2 [MODES 100-400 OPEN
42DG PAIR EXTEND,1
42Y6 PAIR ANTIC,3 [MODE 600 SCRATCH
43CQ PAIR RENAMEX,1
43XB PAIR CLOSBAC,1
44C2 PAIR READSPEC,2
44WL PAIR ANTIC,4 [MODE 1200 CREATE
45B= PAIR CLOSBAC,1
45TW PAIR READSPEC,1
46*G PAIR EXINONE,1 [EXTEND INTO(#1500)
46T6 #
47#Q #
47SB #
48#2 XM1 #47730
48RL XM2 #77777
49?= XM3 #70077
49QW #
4==G # CHECK TRANSFER MODE FOR LEGALITY
4=Q6 #
4?9Q #
4?PB XB LDX 3 XJRV(1)
4#92 LDN 4 5
4*8= CHECKEXT XCA(2),4,XRV,APETADDR(2),W,XBA,HLOCK1,,K1PERION
4BM6 XBA
4C6Q LDX 3 XJMOD(1)
4CLB LDX 4 6
4D62 ANDN 4 #47
4DKL SBN 4 4
4F5= BNG 4 YA [JUMP IF MODE 0,1,2,3
4FJW SBN 4 3
4G4G BZE 4 YA [OR 7
4GJ6 SBN 4 26
4H3Q BZE 4 YA
4HHB SBN 4 2 [OR #41 OR #43
4J32 BNZ 4 XST
4JGL YA LDX 5 6
4K2= ANDN 5 7 [X5 HOLDS BASIC MODE
4KFW LDX 4 6
4K^G SRL 4 9
4LF6 ANDN 4 #30 [MODES #20000,#30000
4LYQ ANDN 6 #40 [MODE #40
4MDB ORS 4 6
4MY2 SBN 4 #10
4NCL BZE 4 XRV [JUMP IF ADD MODE #10000ONLYSET
4NX= LDCT 0 #400
4PBW ORS 0 GIVE(2) [SET OPEN ILLEGAL BIT
4PWG LDX 0 5
4QB6 BZE 0 YB
4QTQ SBN 0 2
4R*B BZE 0 YB [JUMP IF READ
4RT2 SBN 0 5
4S#L BZE 0 YB [
4SS= LDX 0 EXMODE(2)
4T?W SBN 0 #200
4TRG BZE 0 XRV [JUMP IF FILE OPEN FOR READING
4W?6 SBN 0 #1500
4WQQ BZE 0 XRV [NO WRITING ALLOWED IF OPENED AS #170
4X=B BRN YB
4XQ2 #
4Y9L #
4YP= # TRANSFER ROUTINE
4^8W #
4^NG QMASK #777777
5286 RMASK #100000
52MQ TWO +2
537B TEN +10
53M2 SESS +CHWRITE
546L +CHREAD
54L= #
555W # MONITORING FILE MESSAGE IDENTIFIERS
55KG #
5656 NCT +JYCOUNT [COUNT OUT OF RANGE
56JQ NOBUF +JYNOBUF [BUFFER OUT OF PROGS RESERVATIONS
574B RFAIL +EWOWN [BLOCK N FAIL
57J2 #FID 1 1 1
583L PERF +JYPERFAIL [ONLINE %A FAIL
592W #DEF TAC1=EWORK6
5=FQ #DEF TAC2=TAC1+1
5=^B #DEF TAC3=TAC2+1
5?F2 #DEF TAC4=TAC3+1
5?YL #DEF TAC5=TAC4+1
5#D= #DEF TAC6=TAC5+1
5#XW #DEF PB=BSET+BONL+BOBJ
5*CG #
5*X6 # THE SUBROUTINE MERELY RELSTX'S THE SU
5BBQ #
5BWB RELSTX [IF SU SERIAL NO IS IN CA3 OF AOLPT
5CB2 LDX 6 EWORK3(2)
5CTL RELSTY [IF ALREADY IN X6
5D*= SBX 0 FX1
5DN^ ... STO 0 ACOMMUNE1(2) [DUMP LINK
5GRB ... RELSTX 6,PA6 [RELEASE SU
5H?2 BRN PBA6
5HQL PA6 LDX 1 FX1
5J== LDX 2 FX2
5JPW ...PBA6 LDX 0 ACOMMUNE1(2)
5K9G ADX 0 FX1
5KP6 EXIT 0 0
5L8Q #
5LNB #
5M82 # SUBROUTINE TO ISSUE AUTSTART MACRO
5MML #
5N7= # LINK X7 NO COORDINATION
5NLW #
5P6G XAUTS
5PL6 AUTSTART [MAKE AUTO
5Q5Q X1 EXIT 7 0
5QKB #
5R52 #
5RJL YB STOZ AWORK4(2) [CLEAR TO HOLD REPLYS TO PROG
5S4= STO 5 AWORK3(2) [REMEMBER TRANSFER MODE
5SHW STO 6 AWORK1(2) [AND ADDITIVE MODES
5T3G LDX 0 EWCHAN(2) [CHANNEL NO.
5TH6 STO 0 AWORK2(2) [REMEMBER
5W2Q LDX 6 XCA(2) [GET ADDRESS OF PROGS CONTROL AREA
5WGB STO 6 TAC1(2) [AND REMEMBER
5X22 #SKI K6PERION>199-199
5XFL TRACE 6,PERICAAD
5X^= LDN 4 5 [LENGTH OF PROGS CONTROL AREA
5YDW LDX 3 APETADDR(2) [LOAD ADDRESS OF ASSOCIATED PCA
5YYG LDN 7 EWORK1(2) [START OF AREA IN AOLPT TO MOVE CA TO
5^XQ FOUTMOVE 3,6,7,4,HLOCK1,2 [MOVE PROG'S CA TO EWORK1-5 OF AOLPT
63BL #SKI K6PERION>199-199
63W= (
64*W TRACE EWORK1(2),PERICA1
64TG TRACE EWORK2(2),
65*6 TRACE EWORK3(2),
65SQ TRACE EWORK4(2),
66#B TRACE EWORK5(2),
66S2 )
67?L LDX 1 ANM(3) [MEMBER NO OF PROG FROM PCA
67R= ANDN 1 #3 [BOTTOM TWO BITS
68=W PMODES 1,3 [GIVES ADDRESSING MODE OF PROG IN X1
68QG ANDN 1 #10 [SEE IF EXTENDED STORE MODE
69=6 BNZ 1 NP [AND JUMP IF IT IS
69PQ LDX 0 BSP16 [GET MASK FOR 15AM
6=9B BRN NP1
6=P2 NP LDX 0 BITS22LS [MASK FOR 22AM
6?8L NP1 ANDX 0 EWORK4(2) [FORGET ANY SPURIOUS BITS
6?N= STO 0 TAC4(2) [REMEMBER PROGS BUFFER ADDRESS
6#7W MFINDEXOF 3,EXNUM(2) [GET ADDRESS OF ASSOCIATED EWDAS/EXOF
6#MG LDCH 0 FIP+8(3) [GET FLAW INDECATOR FROM EXOF
6*76 ANDN 0 #2 [I.E B4=1 NO FLAW ACTION
6*LQ ORS 0 AWORK1(2) [AND REMEMBER
6B6B BNZ 0 NP2 [J IF NO FLAW ACTION
6BDR ... LDN 0 #10 [ ADD. MODE #30000 HAS PRECEDENCE
6BR8 ... ANDX 0 AWORK1(2) [ OVER FLAW ACTION
6C5K ... BZE 0 NP2 [J IF NO MODE #30000 ....
6CD2 ... LDN 0 #2 [ ... OTHERWISE IGNORE FLAW -ACTION-
6CQC ... ORS 0 AWORK1(2) [ -INDICATOR IN THE EXOF
6D4W NP2 LDCT 0 #200
6DJG ANDX 0 EXMAYBE(2)
6F46 BNZ 0 PA6A [J IF NOT S-TRUSTED WITH SYS FILE OFW
6FHQ LDX 0 EXMODE(2) [OPENING MODE
6G3B SBN 0 #1700
6GH2 BNZ 0 PA7 [J NOT #1700
6H2L PA6A LDN 0 #4002 [B12=S-TRUSTED AND OPENED IN #1700
6HG= ORS 0 AWORK1(2) [B22=NO FLAW ACTION REQUIRED
6H^W PA7 LDX 0 EWORK3(2) [GET LENGTH OF PROGS TRANSFER
6JFG LDX 1 FX1
6J^6 BZE 0 RONGLEN [ZERO LENGTH ILLEGAL
6KDQ TXL 0 RMASK(1) [TEST IF LENGTH -VE OR > 32767
6KYB BCC RONGLEN [ILLEGAL IF YES
6LD2 STO 0 TAC3(2) [REMEMBER LENGTH
6LXL LDX 7 EWORK5(2) [GET LOGICAL BUCKET NUMBER
6MC= BZE 7 RONGLBN [ILLEGAL IF ZERO
6MWW BNG 7 RONGLBN [OR NEGITIVE
6NBG LDX 0 EXMODE(2) [MODE FILE WAS OPENED
6NW6 SBN 0 #400
6P*Q BNZ 0 N400 [J IF NOT MODE #400
6PTB ADX 7 FIP+10(3) [JUGGLE WITH LBN
6Q*2 SBN 7 1 [TO MAKE COMPATABLE WITH OTHER MODES
6QSL N400 LDN 1 FDCELLS(3) [POINTER TO FD CELLS
6R#= SBN 1 7 [STEP BACK 7
6RRW LDEX 6 FIP+5(3)
6S?G NEXT BZE 6 RONGLBN [LBN OUT OF RANGE
6SR6 SBN 6 1 [REDUCE COUNT
6T=Q ADN 1 6 [UPDATE POINTER TO NEXT CELL
6TQB TXL 7 6(1) [LOOK AT NEXT CELL
6W=2 BCC NEXT [AND J IF SPECIFIED LBN NOT IN THIS C
6WPL SBX 7 0(1) [GET BUCKET NO. RELATIVE TO START OF
6X9= LDX 4 FIP+8(3)
6XNW ANDN 4 #77 [BUCKET SIZE FROM EXOF
6Y8G MPY 7 4 [BLOCK SIZE IN X7 AND X0
6YN6 DVD 7 5(1) [CONVERT TO CYLINDER X0 AND BLOCK X7
6^7Q ADX 0 2(1) [ADD ST CYL RELATIVE TO THE SU
6^MB STO 0 EWORK1(2) [REMEMBER IN EWORK1 OF AOLPT
7272 LDX 6 5(1) [BLOCKS/SEEK AREA FROM FDCELL
72LL SBX 6 7 [BLOCK REMAINING TO BE TRANSFERED
736= SLL 6 7 [X 128 TO GIVE MAX LENGTH (MODES 2 OR
73KW ADX 7 3(1) [ADD STARTING SEGMENT
745G STO 7 EWORK2(2) [AND STORE
74K6 LDX 0 1(1) [SERIAL NO. OF STORAGE UNIT
754Q STO 0 EWORK3(2)
773= ... SUSESTX 1(1),NOTON [SEE IF SU ONLINE
77GW LDX 0 ABSUN(1) [X1 POINTS TO ASTUC SO GET BSUN
782G LDX 2 FX2
78G6 STO 0 TAC2(2) [REMEMBER FOR BSTS
78^Q LDX 0 ASUBASE(1) [STARTING CYLINDER OF SU
79FB ADS 0 EWORK1(2) [AND ADD TO OTHER CYL
79GJ ...[
79HQ ...[ EMULATION CHANGE:
79JY ...[ STORE CYL*BLOCKS PER CYL+BLOCK PART INTO X7
79L6 ...[ CONVERTX THEN RETURNS IN X0 THE ABSOLUTE
79M# ...[ BLOCK ADDRESS WITH X0 SET
79NG ...[
79PN ... LDX 7 EWORK1(2) [CYL PART OF ADDRESS
79QW ... JENVNOT NEMU,MEEP [J IF NOT MEEP EMULATION
79S4 ... LDX 0 EWORK2(2) [BLOCK PART OF ADDRESS
79T= ... MPA 7 HBLOCK(1) [CALCULATE ABSOLUTE BLOCK ADDRESS
79WD ... STO 0 7 [FOR CONVERTX MACRO
79XL ...NEMU
79^2 LDX 0 HTYPE(1) [TYPE/SUBTYPE OF SU
7=DL STO 0 EWORK4(2)
7=Y= #SKI K6PERION>199-199
7?CW (
7?XG TRACE EWORK1(2),PERICYL
7#C6 TRACE EWORK2(2),PERIBLK
7#WQ TRACE EWORK3(2),PERISU
7*BB )
7*W2 ... CONVERTX 7,EWORK2(2),EWORK4(2) [GET BS HARDWARE ADDRESS
7B*L LDX 2 FX2
7BT= STO 0 TAC5(2) [STORE FOR BACKTRAN
7C#W LDX 1 FX1
7CSG TXL 5 TWO(1)
7D#6 BCS NP4 [JUMP IF MODES 0 OR 1
7DRQ SBN 5 7
7F?B BNG 5 NP5 [J IF MODES 2 OR 3
7FR2 LDX 3 TAC1(2) [REMEMBER CONTROL ADDRESS
7G=L CALL 7 XAUTS [MAKE AUTO IF NECESSARY
7GQ= BRN SEVEN [MUST BE MODE 7
7H9W NP4 LDN 6 128 [BLOCK SIZE
7HPG MPY 6 4 [MAX LENGLH ALLOWED
7J96 LDX 6 7
7JNQ NP5 TXL 6 TAC3(2) [COMPARE MAX LENGTH WITH LENGTH NEEDE
7K8B BCC NP6 [J IF MAX COUNT NOT EXCEEDED
7KN2 STO 6 TAC3(2) [SET NEW COUNT EQUAL TO MAX LENGTH
7L7L BPZ 5 NP6 [J IF MODES 0 OR 1
7LM= LDCT 0 #200 [END OF SEEK AREA REPLY
7M6W ORS 0 AWORK4(2)
7MLG NP6 LDX 6 TAC3(2) [COUNT
7N66 ADX 6 TAC4(2) [PLUS START ADDRESS TO
7NKQ ANDX 6 QMASK(1)
7P5B ORS 6 AWORK4(2) [REPLY WD
7P=J ...#SKI G4 [RELEASE SU IN G4 IN CASE QUOTA
7PCQ ... CALL 0 RELSTX [NEEDS TO BE INCREASED
7PK2 LDX 5 AWORK3(2) [MODE OF TRANSFER
7Q4L ANDN 5 1
7QJ= SMO 5 [USE AS MOD TO OBTAIN
7R3W LDX 7 SESS(1) [READ OR WRITE ACCESS IDENTIFIER
7RHG ... CHECKB TAC4(2),TAC3(2),OUT,APETADDR(2),7,NP8,HLOCK2,,QK2PERION
7T2B [^ CHECK BUFFER
7T=8 ...#SKI G4 [GET SU BACK ONLINE IN G4
7TG2 ...(
7TPS ...NP8 SUSESTX EWORK3(2),NOTON
7T^L ... LDX 1 FX1
7W9D ... LDX 2 FX2
7WF= ...)
7WP4 ...#SKI G3
7WYW ...NP8
7X8N ... LDX 0 AWORK1(2) [GET ADDITIVE MODES
7XDG ANDN 0 #40
7XY6 BZE 0 NP9 [J IF NOT WRITE WITHOUT CHECK READ
7YCQ LDN 5 9 [SET TO MODE 9
7YXB NP9 LDX 3 TAC1(2) [REMEMBER PROGS CONTROL AREA ADDRESS
7^C2 STO 5 TAC1(2) [STORE MODE AND DO BS TRANSFER
7^WL #SKI ADRMK7&G4
82B= (
82TW # STORAGE UNIT MAY HAVE GONE OFFLINE DURING CHECKA
83*G #
83T6 JNOTFDRM XGO
84#Q
84SB MFINDSU 3,EWORK3(2)
85#2 JENG HUNIT(3),XGO
85RL CALL 0 RELSTX
86?= BRN NOTONDRM
86QW XGO
87=G )
87D* ... CALL 7 XAUTS [MAKE AUTO IF NECESSARY
87L8 ... LDX 0 AWORK1(2) [GET ADDITIVE MODES IF ANY
87S3 ... ANDN 0 #30 [ISOLATE #20000 OR #30000
87^W ... SLL 0 9 [ENSURE X0 CONTAINS MODE
887P ... STO 0 4 [STORE ADD. MODE OR ZERO
88*J ... BACKTRAN TAC1(2),PB,TAC3(2),,TAC2(2),TAC5(2),TAC4(2),APETADDR(2),-
88HC ... EX4
88PB CHTRAN EWORK4(2),TFAIL,TFAIL [CHECK TRANSFER IS OK
8992 SEVEN CALL 0 RELSTX [RELEASE SU
89NL NP10
8=8= AUTFIN AWORK4(2) [ELSE SEE IF ANYTHING UP THE SPOUT
8=MW BRN K1PERION [AND GO FOR NEXT
8?7G #
8?M6 # TRANSFER HAS ILLEGAL LENGTH
8#6Q #
8#LB RONGLEN
8*62 LDX 7 NCT(1) [GET MONITORING FILE MESSAGE IDENTIFI
8*KL BRN PATH [JOIN ILLEGAL PATH
8B5= #
8BJW # BUFFER IS OUT OF PROGRAMS RESERVATIONS
8C4G #
8CJ6 OUT LDX 7 NOBUF(1) [RESERVATION VIOLATION MESSAGE
8D3Q CALL 0 RELSTX [RELEASE SU
8DHB PATH TOPCA1 PLINK(1) [CHANGE TO PCA
8F32 UNPLUG [UNPLUG PROG FROM EXEC
8FGL NP15 ILLEGALX 7 [PUMP OUT ILLEGAL MESSAGE
8G2= #
8GFW # PROGRAMS LOGICAL BUCKET NUMBER OUT OF RANGE
8G^G #
8HF6 RONGLBN
8HYQ LDCT 0 #10 [REPLY FOR LBN OUT OF RANGE
8JDB STO 0 AWORK4(2) [IN AWORK4 OF AOLPT
8JY2 LDX 3 TAC1(2) [PROGS CA ADDRESS
8KCL #SKI K6PERION>199-199
8KX= TRACE 7,PERIBLBN
8LBW CALL 7 XAUTS [MAKE AUTO IF NECESSARY
8LWG BRN NP10
8MB6 #
8MTQ # STORAGE UNIT NOT ONLINE
8N*B #
8NT2 NOTON LDX 2 FX2
8P#L #SKI ADRMK7
8PS= FDRMQUERY NOTONDRM [CHANNEL IN DRM
8Q?W LDX 3 AWORK1(2) [REMEMBER IF S-TRUSTED OR NOT
8QRG LDX 4 TAC1(2) [PROGS CONTROL AREA ADDRESS
8R?6 LDX 5 EWCHAN(2) [CHANNEL NO. OF FILE
8RQQ LDX 6 EWORK3(2) [REMEMBER SERIAL NO. OF SU
8S=B LDX 1 FX1
8SQ2 TOPCA1 PLINK(1) [CHANGE TO APET ACTIVITY
8T9L UNPLUG [UNPLUG PROG FROM EXEC
8TP= CAPCA [CHANGE TO CPAT I.E. SWAPOUT PROG
8XMQ ... SMUSEST 6,NONL,REAKIN [GET SU ONLINE
8Y7B CALL 0 RELSTY [RELEASE SU
8YM2 STEPBACK [STEP PROGS ONR BACK
8^6L RUNPROG [AND TRY AGAIN
8^L= #SKI ADRMK7
925W (
92KG # SU UNIT ONLINE WHEN CHANNEL IN DRM
9356 #
93JQ NOTONDRM
944B LDCT 0 #410 [1**M*1
94J2 STO 0 AWORK4(2) [REJECTED/INOPERABLE REPLY
953L LDX 1 APETADDR(2)
95H= LDX 3 EVENT2(2)
962W ADN 3 1
9726 FADDRESS 1,3,HLOCK1,2
98F2 # NOW HAVE PTR TO THE REPLY WD DESTINATION
98YL LDX 4 AWORK4(2) [GET REPLY
99D= STO 4 0(3) [INSERT REPLY WD
99XW OLPFIN APETADDR(2) [& CAPUT
9=CG BRN K1PERION [NEXT PLEASE
9=X6 )
9?BQ #
9?WB # BREAK IN OCCURRED WHILE WAITING FOR UNIT TO COME ONLINE
9#B2 #
9#TL REAKIN
9**= STEPBACK [STEP PROGS ONR BACK
9*SW PROGBRKIN [REPORT BREAKIN
9B#G #
9BS6 # OPERATOR TYPES CANDO LOAD STORAGE UNIT
9C?Q #
9CRB NONL ANDN 3 #4000
9D?2 BNZ 3 PA8 [J IF S-TRUSTED BS SET ALSO IN REPLY
9DQL LDCT 3 #40 [FAILED REPLY B3=1 NOT S-TRUSTED
9F== BRN PA9
9FPW PA8 LDCT 3 #50 [FAILED REPLY B3-1 B5=1 FOR S-TRUSTED
9G9G PA9 NGN 7 1 [INDICATE PROG NOT TO BE RESTARTED
9GP6 BRN ZMESS
9H8Q #
9HNB # FAILED OR OR INOPERABLE REPLY FROM BACKTRAN
9J82 #
9JML TFAIL LDX 4 3 [REMEMBER CONTROL AREA ADDRESS
9K7= MFINDSU 3,EWORK3(2) [GET POINTER TO ASTUC
9KLW LDX 5 AWORK2(2) [CHANNEL NUMBER
9L6G LDX 0 TREP(2) [REMEMBER REPLY
9LL6 STO 0 AWORK2(2) [FROM BSTS
9M5Q LDX 6 EWORK3(2) [SERIAL NO.
9MKB STO 6 EWORK5(2) [STORE FOR FLAW
9N52 LDX 7 EWORK1(2) [CYLINDER
9NJL SBX 7 ASUBASE(3)
9P4= MPY 7 HBLOCK(3) [MULTIPLY BY DEPTH OF UNIT
9PHW ADX 0 EWORK2(2) [ADD BLOCK NO
9Q3G STO 0 EWORK3(2) [ACTUAL BLOCK THAT FAILED
9QH6 NGN 7 1 [SET PROGRAM NOT TO BE RESTARTED MARK
9R2Q LDX 0 AWORK1(2)
9RGB ANDN 0 #2
9S22 BZE 0 RUG [J IF FLAW ACTION REQUIRED
9SFL CALL 0 RELSTY [RELEASE SU
9S^= BADBLOCK TAC2(2) [UNSET FAIL BIT IN BSA
9TDW KEEPMESS RFAIL(1),6,EWORK3(2) [OUTPUT FAIL MESSAGE TO MONITORING F
9TYG SETREP
9WD6 LDX 3 AWORK1(2) [ADDITIVE MODES
9WXQ LDN 0 0
9XCB ANDN 3 #4000
9XX2 BZE 3 PA10 [J IF NOT S-TRUSTED
9YBL LDX 0 AWORK2(2) [BSTS REPLY
9YW= SRL 0 18
9^*W ANDN 0 #14 [TEST BITS 2 AND 3
9^TG BNZ 0 PA10 [J IF SET
=2*6 ORN 0 1 [SET B5 IF OTHER THAN 2 OR 3
=2SQ PA10 ORN 0 4 [B3 OF REPLY
=3#B SLL 0 18 [SHIFT TO TOP
=3S2 NP13 STO 0 AWORK4(2) [SAVE REPLY TO PROG
=4?L LDX 0 AWORK1(2)
=4R= ANDN 0 #20 [SEE IF ADDITIVE MODE #20000
=5=W BNZ 0 RESTART [NO NEED TO STOP PROG
=5QG NP11 HUNTW 1,EWDAS,EWMESS [LOOK FOR MESSAGE BLOCK
=6=6 BNG 1 NP10 [BLOCK NOT THERE
=#K= STO 5 AWORK2(2) [REMEMBER CHANNEL NO
=*4W STO 7 AWORK3(2) [ & RESTART FLAG
=*JG AUTFAIL AWORK4(2) [TERMINATE
=B46 BRN K1PERION [NEXT PLEASE
=C3B ZMESS STO 4 AWORK1(2) [SAVE CONTROL AREA ADDRESS
=CH2 ...XPAR LDCT 4 #006 [ TYPE IN B0-8
=D2L ... ADX 4 EWCHAN(2) [ CHANNEL IN B9-23
=DG= ... OUTPACK 4,1,PERINAME,XPAR [ ASSEMBLE PARAM FOR ILLEGALX
=JC= LDX 4 AWORK1(2)
=Q=Q NP12
=QQB ADN 4 1 [X4 PTS TO REPLY WD REL TO PROG DATUM
=R=2 GETWORD 4,4 [REL TO GEORGE DATUM
=RPL TESTREP RESVIOL,RERR
=S9= SMO 4
=SNW STO 3 0 [REPLY INSERTED
=T8G WORDFIN
=W7Q BNG 7 NP16 [J IF PROG NOT TO BE RESTARTED
=WMB RUNPROG [CARRY ON RUNNING PROG
=X72 NP16 LDX 7 PERF(1) [
=XLL BRN NP15
=Y6= #
=YKW #
=^5G RUG DOWN FLAW,1 [DEAL WITH FAILED TRANSFER
=^K6 PICKREP 3 [PICKUP REPLY
?24Q CALL 0 RELSTY [RELEASE SU
?2JB TESTREPX 3,EXFAIL,SETREP
?342 TESTREPX 3,ACAFULL,REPLY
?3HL TESTREPX 3,OK,RESTART
?43= GEOERR 1,WRONGREP
?4GW RESTART
?52G LDN 7 0 [INDICATE PROG TO BE RESTARTED
?5G6 LDX 3 4
?5^Q BRN NP11
?6FB REPLY LDN 0 8 [B2 OF REPLY
?6^2 BRN PA10
?7DL #
?7Y= RERR GEOERR 1,RESVIOLA
?8CW #
?9C6 QK2PERION
?=BB BRN K1PERION
?=W2 #
??*L MENDAREA 1023-0?<50,K99PERION
??T= #END
^^^^ ...06622763000100000000