{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: MODEA65)}}
====== MODEA65 ======
(George Source)
**Macros used:** [[george:macro:COMERR|COMERR]], [[george:macro:COOR3|COOR3]], [[george:macro:DFJUMPS|DFJUMPS]], [[george:macro:DFSET|DFSET]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:FPCACA|FPCACA]], [[george:macro:FPERENT|FPERENT]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT|HUNT]], [[george:macro:JALLOC|JALLOC]], [[george:macro:JNOTMT21S|JNOTMT21S]], [[george:macro:JUNBUSY|JUNBUSY]], [[george:macro:JWRONG|JWRONG]], [[george:macro:LCAP|LCAP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LMODEQ|LMODEQ]], [[george:macro:LPROP|LPROP]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MTINFORM|MTINFORM]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PERCON|PERCON]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETMODEQ|SETMODEQ]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SMODE|SMODE]], [[george:macro:SPARABEG|SPARABEG]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:SWITRACE|SWITRACE]], [[george:macro:TESTREP|TESTREP]]
22FL #LIS K0MODEA>K0LIBRARY>K0ALLGEO
22^= #SEG MODEA65 [M.C.MACDONALD
23DW 8HMODEA65
23YG # THIS SEGMENT IS ENTERED FROM THE MODE SEGMENT
24D6 # FOR THE SWITCH ALL DECKS AND USER CONTEXT CASES
24XQ #
25CB SEGENTRY K1MODEA,QK1MODEA
25X2 SEGENTRY K2MODEA,QK2MODEA
26BL #
26W= # CONSTANTS
27*W #
27TG #
28*6 # CONSTANTS
28SQ #
29#B SNA +1
29S2 4H*
2=?L TFIVE +5
2=R= TEN +10
2?=W TPRB
2?QG #HAL APERI+APERIRES,0
2#=6 TOLP
2#PQ #HAL AOLPT,0
2*9B #
2*P2 SMON +10
2B8L SMODE +0
2BN= +4
2C7W +8
2CMG +12
2D76 +16
2DLQ +20
2F6B +24
2FL2 +28
2G5L +32
2GK= +36
2GMT ...#UNS JMT21
2GQD ...(
2GT3 ... +40
2GXL ... +44
2H29 ...)
2H4W #
2HJG # SUBROUTINES
2J46 #
2JHQ # SCVM
2K3B # SUBROUTINE SDECC
2KH2 SDECC LDX 0 A1(3) [NR OF CHARS
2L2L BZE 0 SD1
2LG= ADN 0 1
2L^W SD1 LDX 1 3
2MFG SLC 1 2
2M^6 ADX 1 0
2NDQ SRC 1 2
2NYB LDX 5 A1+1(2) [DECK NR
2PD2 SMO FX1
2PXL DVS 4 TEN
2QC= BZE 5 SD2 [UNITS ONLY
2QWW DCH 5 A1+1(1) [TENS
2RBG BCHX 1 £
2RW6 SD2 DCH 4 A1+1(1) [UNITS
2S*Q BCHX 1 £
2STB LDN 0 #34 [','
2T*2 DCH 0 A1+1(1)
2TSL SLC 1 2
2W#= SLC 3 2
2WRW SBX 1 3
2X?G SRC 3 2 [RESTORE POINTER
2XR6 STO 1 A1(3) [NEW BLOCK COUNT
2Y=Q EXIT 7 0
2YQB SWITCHQA
2^=2 LPROP 3,0
2^PL #SKI K6MODE>199-199
329= SWITRACE 0,MOAPROPS
32NW ANDN 0 #200 [9 TRACK TAPE?
338G BZE 0 SWQ1
33N6 LDX 0 GSIGN
347Q EXIT 7 0
34MB SWQ1 LCAP 3,0 [CAPABILITIES
3572 #SKI K6MODE>199-199
35LL SWITRACE 0,MOACAPS
366= STO 0 AWORK2(2) [SAVE THEM
36KW ANDN 0 #10 [DENSITY SWITCHABLE BY PROCESSOR?
375G BNZ 0 SWQ5 [J. IF NOT 1974
37K6 LDN 0 #14
384Q ANDS 0 AWORK3(2) [ADJUST DENSITY TO PRESENT SETTING
38JB #SKI K6MODE>299-299
3942 SWITRACE 0,MOANSWD
39HL LMODEQ 3,0
3=3= ANDN 0 #60 [CURRENT DENSITY
3=GW ORS 0 AWORK3(2)
3?2G BRN SWQ3
3?G6 SWQ5 LDN 0 #40
3?^Q ANDX 0 AWORK3(2) [HIGH DENSITY REQUIRED?
3#FB BZE 0 SWQ3 [J. IF NOT
3#^2 #SKI K6MODE>299-299
3*DL SWITRACE 0,MOAHDEN
3*Y= LDN 0 4
3BCW ANDX 0 AWORK2(2) [J. IF NOT AVAILABLE
3BXG BZE 0 SWQ2
3B^9 ...#UNS JMT21
3C2Y ...(
3C4M ... LDN 0 8 [
3C6B ... ANDX 0 AWORK3(2) [J IF SHORT GAP NOT REQUIRED
3C85 ... BZE 0 SWQ6 [ WITH HIGH DENSITY
3C9S ... JNOTMT21S 3,SWQ2
3C?H ... BRN SWQ4
3C*= ...)
3CC6 SWQ3 LDN 0 8
3CWQ ANDX 0 AWORK3(2) [SHORT GAP REQUIRED
3C^W ...#UNS JMT21
3D52 ... BZE 0 SWQ6
3D86 ...#UNS JMT21
3D?= ...#SKI
3DBB BZE 0 SWQ4
3DW2 #SKI K6MODE>299-299
3F*L SWITRACE 0,MOASGAP
3FT= LDN 0 2
3G#W ANDX 0 AWORK2(2) [J IF AVAILABLE
3GSG BNZ 0 SWQ4
3H#6 SWQ2 NGN 0 1
3HRQ EXIT 7 0
3HTJ ...#UNS JMT21
3HXB ...(
3H^8 ...SWQ6
3J32 ... JNOTMT21S 3,SWQ4
3J4S ... HUNT 1,CPAR,GPERCON
3J6L ... BNG 1 SWQ7
3J8D ... LDN 0 1
3J== ... ANDX 0 A1+3(1)
3J#4 ... BZE 0 SWQ7
3J*W ... ANDX 0 A1+2(1)
3JCN ... BNZ 0 SWQ2 [WRITE WITH LONG GAP ON MT21S
3JFG ...SWQ7
3JH# ... LDN 0 8
3JK6 ... ORS 0 AWORK3(2) [SET SHORT GAP FOR MT21S
3JLY ...)
3JNQ ...SWQ4 LDX 0 AWORK2(2)
3JR2 SRL 0 3 [SWITCHABLE BIT
3K=L LDX 1 FX1
3KQ= EXIT 7 0
3L9W #
3LPG # ENTRY POINT 1
3M96 # USER CONTEXT CASE
3MNQ # THE MODE SEGMENT LEAVES THE MODE SPECIFIED IN X4
3N8B # AND AS A BIT PATTERN IN AWORK3
3NN2 #
3P7L QK1MODEA
3PM= #SKI K6MODE>99-99
3Q6W SWITRACE 0,MOUSER
3QLG SPARABEG 1,SNA(1) ['*' PARAM
3R66 MHUNT 3,CPB,CUNI
3RKQ LDX 0 ANUM(3)
3S5B BPZ 0 PU1 [EXISTS
3SK2 PU2 COMERR JPARMIS,APER [NON-EXISTENT PARAMETER
3T4L PU1 BZE 0 PU2 [NULL PARAMETER
3TJ= LDX 6 JPARNUM(3) [PARAM. NR
3W3W PERCON
3WHG TESTREP OK,PU3 [OK
3X36 ENDCOM [NOT VALID
3XGQ PU3 SPARANOX 6 [FOR ERROR MESSAGE,IF ANY
3Y2B MHUNT 3,CPAR,GPERCON
3YG2 LDX 0 A1(3)
3Y^L SRL 0 15
3^F= TXU 0 TFIVE(1)
3^YW BCC PU4 [MT
42DG PU14 COMERR HNOTOL [NOT ONLINE MT
42Y6 PU4 STO 4 AWORK4(2) [REMEMBER MODE
43CQ LDX 4 A1(3)
43XB LDX 0 CONTEXT(2)
44C2 SLL 0 14
44WL BNG 0 PU5 [CORE IMAGE
45B= PU9 COMERR JXEXIST [DOES NOT EXIST
45TW PU5 FPCACA 3,FX2 [FIND APET
46*G PU7 LDX 3 FPTR(3) [NEXT BLOCK
46T6 LDX 0 ATYPE(3)
47#Q ANDX 0 HALFTOP
47SB TXU 0 TPRB(1)
48#2 BCC PU6 [PRB FOUND
48RL TXL 0 CACT
49?= BCS PU7 [NOT AN ACTIVITY BLOCK
49QW GEOERR 1,XPRB [PRB LOST
4==G PU6 LDN 2 A1(3)
4=Q6 #SKI K6MODE>199-199
4?9Q SWITRACE 3,MOAPRB
4?PB FPERENT 4,2,2,4 [FIND ENTRY
4#92 BNG 2 PU9
4#NL PU8 LDX 1 1(2) [PRB ENTRY
4*8= BNG 1 PU11 [NOT ONLINE
4*MW ANDX 1 BITS22LS [GET DEVICE LIST POINTER
4B7G BRN PU20
4BM6 PU11 LDX 3 FPTR(3) [NEXT BLOCK
4C6Q LDX 0 ATYPE(3)
4CLB TXL 0 CACT
4D62 BCS PU11 [NOT ACTIVITY
4DKL LDX 1 FX1
4F5= ANDX 0 HALFTOP
4FJW TXU 0 TOLP(1)
4G4G BCC PU12 [AOLPT
4GJ6 GEOERR 1,XPROG
4H3Q PU12 BCT 4 PU11
4HHB #SKI K6MODE>199-199
4J32 SWITRACE 3,MOAOLPT
4JGL LDX 0 ATMARK(3)
4K2= SBN 0 2
4KFW BNZ 0 PU14 [NOT OL MT
4K^G PU13
4LF6 LDX 1 CPPTR(3) [DEVICE LIST POINTER
4LYQ BNZ 1 PU20
4MDB LDX 1 AWORK4(3)
4MY2 BNZ 1 PU20
4NCL GEOERR 1,DLISTPTR
4NX= PU20 LDX 3 1
4PBW LDX 2 FX2
4PWG #SKI K6MODE>99-99
4QB6 SWITRACE 3,MOADLPTR
4QTQ CALL 7 SWITCHQA [SWITCHABLE ?
4R*B BPZ 0 PU16
4RT2 OUTNUM AWORK4(2),OCTAL [MODE
4S#L COMERR HMNAV [NOT AVAILABLE
4SS= PU16
4T?W JUNBUSY 3,PU10
4TRG COOR3 #41 [CO-ORDINATE IF DECK BUSY
4W?6 BRN PU16
4WQQ PU10 SETMODEQ 3,AWORK3(2) [RESET CURRENT MODE
4X=B #SKI K6MODE>199-199
4XQ2 SWITRACE AWORK3(2),MODEA
4Y9L ENDCOM [FINISHED !
4YP= # ENTRY POINT 2
4^8W # SWITCH ALL DECKS CASE
4^NG #
5286 QK2MODEA
52MQ LDX 0 AWORK3(2) [MODE
537B #SKI K6MODE>99-99
53M2 SWITRACE AWORK3(2),MODEALL
546L ANDN 0 #60 [DENSITY BITS
54L= SBN 0 #40 [IF HIGH DENSITY SPECIFIED
555W BNZ 0 PA1 [2ND CHOICE AVAILABLE
55KG # SET UP SECOND CHOICE WHEN 800 RPI
5656 LDX 0 AWORK3(2)
56JQ SBN 0 #20 [2ND CHOICE -556 RPI
574B STO 0 AWORK4(2)
57J2 BRN PA3
583L # NOTE NO SECOND CHOICE - NOT 800 RPI
58H= PA1 NGN 0 1
592W STO 0 AWORK4(2)
59GG # SWITCH DECKS,SETTING UP LIST AS WE GO
5=26 PA3
5=FQ LDN 0 6 [CALCULATE NO OF MT DECKS
5=^B SMO 0 [ON THE INSTALLATION
5?F2 LDX 6 JPTI
5?YL SBN 0 1
5#D= SMO 0
5#XW SBX 6 JPTI
5*CG ADX 6 6 [DOUBLE
5*X6 ADN 6 1 [PLUS 1
5BBQ #SKI K6MODE>99-99
5BWB SWITRACE 6,MOADCKS
5CB2 SETUPCORE 6,3,FLIB,FDECKS [FOR LIST OF DECKS
5CTL LDN 0 1
5D*= STO 0 A1(3) [INITIALISE
5DSW # LOOK DOWN DEVICE LIST AT MT RECORDS
5F#G FINDPEREC 3,APFOTY,TFIVE(1),REENT
5FS6 BNG 3 PAM [END OF LIST
5G?Q JWRONG 3,REENT [DECK WRONGED
5GRB JALLOC 3,REENT [ALLOCATED
5H?2 DFJUMPS 3,LOAD,REENT [TAPE LOADED
5HQL #SKI K6MODE>199-199
5J== SWITRACE 3,MOADVCE
5JPW LDN 6 0
5K9G STO 4 AWORK3(2) [RESET MODE AS SPECIFIED
5KP6 CALL 7 SWITCHQA [CHECK IF MODE AVAILABLE
5L8Q TXU 0 GSIGN [GSIGN IF 9 TRACK TAPE
5LNB BCC REENT
5M82 BZE 0 REENT [ZERO IF DENSITY NOT SWICHABLE
5MML BPZ 0 PA7 [MODE OK
5N7= # TRY SECOND CHOICE
5NLW LDX 0 AWORK4(2)
5P6G BNG 0 REENT [NO 2ND CHOICE
5PL6 LDX 6 AWORK3(2) [FIRST CHOICE
5Q5Q STO 0 AWORK3(2) [REPLACE BY 2ND CHOICE
5QKB CALL 7 SWITCHQA
5R52 BNG 0 REENT [NOT AVAILABLE
5RJL PA7 SETMODEQ 3,AWORK3(2) [RESET CURRENT MODE
5S4= #SKI K6MODE>199-199
5SHW SWITRACE AWORK3(2),MODEAQ
5T3G LDX 0 AWORK1(2)
5TH6 BNZ 0 PA8 [TEMPORARY SWITCH?
5W2Q LDX 0 AWORK3(2)
5WGB DFSET 3,SMODE,0
5X22 #SKI K6MODE>199-199
5XFL SWITRACE 0,SMODEA
5X^= PA8 BZE 6 PA10
5YDW STO 6 AWORK3(2)
5YYG PA10 MHUNT 2,FLIB,FDECKS
5^D6 LGEOG 3,5
5^XQ SMO A1(2)
62CB STO 5 A1(2) [LIST DECK NR
62X2 SMO A1(2)
63BL STO 6 A1+1(2) [0 IF 1ST CHOICE OK
63W= LDN 0 2
64*W ADS 0 A1(2) [FOR NEXT RECORD
64TG LDX 2 FX2
65*6 BRN REENT
65SQ # OUTPUT MESSAGES
66#B PAM STO 4 AWORK1(2) [FIRST CHOICE
66S2 MHUNT 2,FLIB,FDECKS
67?L LDX 7 ALOGLEN(2)
67R= SRL 7 1
68=W SETUPCORE 7,3,AONBS,GROT [MESSAGE BUFFER
68QG STOZ A1(3)
69=6 MHUNT 2,FLIB,FDECKS [LIST OF DECKS
69PQ LDX 0 A1(2)
6=9B SBN 0 1
6=P2 BZE 0 PAM7 [NO DECKS SWITCHABLE
6?8L LDX 6 A1(2)
6?N= ADX 6 2 [LIST LIMIT
6#7W SBN 6 1
6#MG PAM3 LDX 0 A1+2(2)
6*76 BNZ 0 PAM2 [NOT OK
6*LQ CALL 7 SDECC [CONVERT AND STORE
6B6B PAM2 ADN 2 2
6BL2 TXL 2 6
6C5L BCS PAM3 [NEXT - IF ANY
6CK= LDX 0 A1(3)
6D4W BZE 0 PAM4 [NO MESSAGE
6DJG OUTPARAM A1(3),A1+1,AONBS,GROT
6F46 OUTNUM AWORK1(2),OCTAL
6FHQ MTINFORM HMODE
6G3B PAM4 LDX 0 AWORK4(2)
6GH2 BNG 0 PAM7 [NO 2ND CHOICE
6H2L MHUNT 3,AONBS,GROT
6HG= MHUNT 2,FLIB,FDECKS
6H^W STOZ A1(3)
6JFG LDX 6 A1(2)
6J^6 ADX 6 2 [LIST LIMIT
6KDQ SBN 6 1
6KYB PAM5 LDX 0 A1+2(2)
6LD2 BZE 0 PAM6 [1ST CHOICE
6LXL CALL 7 SDECC [CONVERT & STORE
6MC= PAM6 ADN 2 2
6MWW TXL 2 6
6NBG BCS PAM5
6NW6 LDX 0 A1(3)
6P*Q BZE 0 PAM7 [NO MESSAGE
6PTB OUTPARAM A1(3),A1+1,AONBS,GROT
6Q*2 OUTNUM AWORK4(2),OCTAL
6QSL MTINFORM HMODE
6R#= PAM7 ENDCOM [FINISHED !!
6RRW MENDAREA 50,K99MODEA
6S?G #END
^^^^ ...23326645000300000000