{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: OLMTD65)}}
====== OLMTD65 ======
(George Source)
**Macros used:** [[george:macro:BXGE|BXGE]], [[george:macro:BXU|BXU]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CHECKEXT|CHECKEXT]], [[george:macro:COOR1|COOR1]], [[george:macro:DCA|DCA]], [[george:macro:FPCACA|FPCACA]], [[george:macro:FPERENT|FPERENT]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GPERI|GPERI]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:INMOVE|INMOVE]], [[george:macro:JWPR|JWPR]], [[george:macro:LOCK|LOCK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MURDER|MURDER]], [[george:macro:OLPFIN|OLPFIN]], [[george:macro:PAIR|PAIR]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:STEPBAC1|STEPBAC1]], [[george:macro:TOPCA|TOPCA]], [[george:macro:UNPLUG|UNPLUG]]
22FL #LIS K0OLMTD>K0LIBRARY>K0ALLGEO
22^= #SEG OLMTD65 [N.R.BOULT
23DW 8HOLMTD65
23YG SEGENTRY K1OLMTD,QK1OLMTD
24D6 SEGENTRY K2OLMTD,QK2OLMTD
24XQ SEGENTRY K4OLMTD,QK4OLMTD
25CB [THIS SEGMENT DEALS WITH THE FIRST PERI ON AN ONLINED
25X2 [MAGNETIC TAPE CHANNEL.
26BL TL1 PAIR OLMTD,4
26W= TL2 PAIR OLMTD,2
27*W TPRB
27TG #HAL APERI+APERIRES,0
28*6 TOLP
28SQ #HAL AOLPT,0
29#B MASKMON #77077
29S2 OWNMON #34000
2=3S ...OWNMONA #7777
2=?L RENAME #500
2=R= SCRATCH #600
2?=W XB #77777000
2?QG XADR +5
2#=6 ONE +1
2#PQ X9 +9
2*9B WTM +5
2*P2 RASECON 261:8
2B8L #
2BN= #
2C7W [SUBROUTINE TO SET ADDRESS OF PCA IN X7
2CMG SPCAOLP
2D76 LDX 2 FX2
2DLQ ADN 2 ACTRING
2F6B SPC1
2FL2 LDX 2 1(2) [BACKWARD POINTER
2G5L LDX 7 2
2GK= SBN 7 ACTRING
2H4W LDCT 1 #770
2HJG SMO 7
2J46 ANDX 1 ATYPE
2JHQ SMO FX1
2K3B BXU 1 PCATYPE,SPC1
2KH2 LDX 1 FX1
2L2L LDX 2 FX2
2LG= EXIT 0 0
2L^W PCATYPE
2MFG #HAL +APET,0
2M^6 [THIS SUBROUTINE SEARCHES THE ACTIVITY CHAIN UNTIL AN AOLPT ACTIVITY
2NDQ [BLOCK IS FOUND. IF A NON ACTIVITY BLOCK IS FOUND A GEOERR XBLK IS GIVEN
2NYB SBLOC
2PD2 LDX 3 FPTR(3)
2PXL LDX 6 ATYPE(3)
2QC= TXU 6 TOLP(1)
2QWW BCS SB1
2RBG BCT 5 SBLOC
2RW6 EXIT 0 0
2S*Q SB1 BXGE 6 CACT,OERR
2STB BRN SBLOC
2T*2 #
2TSL #
2W#= [THIS SUBROUTINE SEARCHES THE ACTIVITY CHAIN UNTIL A PRB (APERI/APERIRES
2WRW [BLOCK IS FOUND. IF AN ACTIVITY BLOCK IS FOUND A GEOERR XPRB IS GIVEN
2X?G SPRB
2XR6 LDX 3 FPTR(3)
2Y=Q LDX 6 ATYPE(3)
2YQB BXGE 6 CACT,OERR2
2^=2 SMO FX1
2^PL BXU 6 TPRB,SPRB
329= EXIT 0 0
32NW #PAGE
338G #
33N6 # K1OLMTB
347Q #
34MB [ENTRY POINT FROM EXEC,WHEN THE FIRST PERI TO THE TAPE IS ENCOUNTERED
3572 [AFTER AN ONLINE COMMAND HAS BEEN GIVEN.
35LL [FOR AN OPEN PERI 1)THE REPLY FROM THE ONLINE COMMAND IS PASSED ACROSS
366= [TO THE USER PROGRAM
36KW [ 2)THE PROGRAM IS UNPLUGGED
375G [ 3)THE ONLINE BIT OF THE PRB ENTRY IS SET (I.E.B14)
37K6 [ 4)THE ALOPT ACTIVITY BLOCK AND ITS DATA BLOCK ARE
384Q [FREED
38JB [PERI OTHER THAN AN OPEN PERI.
3942 [ 1)STEPS BACK THE PROGRAM TO REPEAT THE PERI, THEN
39HL [FOLLOWS STEPS 2),3) AND 4) OF ABOVE.
3=3= QK1OLMTD
3=GW CALL 0 SPCAOLP [SET X7 = ADDRESS OF PCA
3?2G LDX 6 EVENT4(2)
3?G6 ANDX 6 MASKMON(1)
3?^Q BZE 6 PCM [OK IF ZERO
3#FB TXU 6 OWNMON(1) [OWN-MONITORING ?
3#^2 BCC PCM
3*DL LDX 0 AWORK3(2)
3*Y= BZE 0 PCM [NO
3B84 ... ANDX 6 OWNMONA(1) [IGNORE OWN MONITORING
3BCW TXU 6 ONE(1) [WRITE PERI?
3BXG BCC RASE
3CC6 TXU 6 WTM(1)
3CWQ BCS PCM
3DBB RASE LDX 0 RASECON(1)
3DW2 DCA ,STO,0,MODE
3F5S ... SEGENTRY K8OLMTD
3F*L LDN 0 #3777
3FT= DCA ,STO,0,COUNT
3G#W JWPR ,WPR
3GSG BRN PSB
3H#6 WPR GPERI ,2
3HRQ COOR1
3J?B BRN PSB
3JR2 PCM LDN 6 #700
3K=L ANDX 6 EVENT4(2)
3KQ= BZE 6 PSB [EXCLUDE MODE 0
3L9W TXU 6 RENAME(1) [AND MODE #500
3LPG BCC PSB
3M96 CHECKEXT EVENT2(2),X9(1),RESF,7,W,PGR,HLOCK1
3MNQ BRN PGR0
3N8B PGR CALL 0 SPCAOLP [SET X7 = ADDRESS OF PCA
3NN2 PGR0 MHUNT 3,FLIB,GOLMT
3P7L LDX 0 AWORK3(2)
3PM= BNZ 0 OMS [NONSTANDARD
3Q6W LDX 0 EVENT4(2)
3QLG ANDX 0 GSIGN
3R66 ORS 0 A1+2(3) [REPLACER BIT
3RKQ LDN 6 A1+2(3)
3S5B LDX 3 ALOGLEN(3)
3SK2 SBN 3 2
3T4L LDX 0 EVENT4(2)
3TJ= ANDN 0 #700
3W3W BXU 0 SCRATCH(1),PIR
3WHG LDN 3 2
3X36 PIR
3XGQ INMOVE 7,EVENT2(2),6,3 [INSERT REPLY INFORMATION
3Y2B LDN 6 0 [DO UNPLUG; NOT UNPLUG 1
3YG2 OM
3Y^L TOPCA TL1(1)
3^F= COOR1
3^YW BRN QK1OLMTD
42DG #
42Y6 OMS OLPFIN 7
43CQ BRN QK1OLMTD
43XB # K16OLMTB
44C2 #
44WL QK4OLMTD
45B= BNZ 6 PU1
45TW UNPLUG
46*G BRN PU
46T6 PU1 UNPLUG 1
47#Q PU
47SB CAPCA [CHANGE TO CPA AND
48#2 FPCACA 3,FX2
48RL CALL 0 SPRB [X3=ADDRESS OF PRB
49?= ADN 3 A1
49QW FPERENT 4,3,2,5 [FIND ENTRY
4==G BNG 2 OERR2 [ERROR NOT THERE
4=Q6 SBN 3 A1
4?9Q CALL 0 SBLOC [X3=ADDRESS OF AOLPT
4?PB LDX 0 ACOUNT(3)
4#92 SMO CPPTR(3) [TO BE REPLACED BY A
4#NL ... ADS 0 JK52H [MACRO: SETOBJPERIS
4*8= LDX 0 CPPTR(3)
4*MW STO 0 1(2)
4B7G LOCK 3
4BM6 MURDER 3 [KILL AOLPT
4C6Q RUNPROG [AND RUN
4CLB PSB STEPBAC1 ,7 [STEP BACK OBJECT PROGRAM
4D62 MHUNT 3,FLIB,GOLMT
4DKL LDN 6 1 [DO UNPLUG 1
4F5= BRN OM [GO TO REMOVE AOLPT
4FJW RESF [REPORT IF CONTROL AREA OUT OF
4G4G TOPCA TL2(1)
4GJ6 COOR1
4H3Q BRN QK1OLMTD
4HHB #
4J32 # K12OLMTB & K14OLMTB
4JGL #
4K2= [ENTRY POINT FOR REPORTING ILLEGAL FROM PCA
4KFW QK2OLMTD
4K^G ILLEGAL NOCA
4LF6 #
4LYQ #
4MDB #
4MY2 #
4NCL [GEORGE ERRORS
4NX= OERR GEOERR 1,XBLK
4PBW OERR2 GEOERR 1,XPRB
4PWG MENDAREA 50,K99OLMTD
4QB6 #END
^^^^ ...05627620000400000000