{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: MULTIPLX864)}}
====== MULTIPLX864 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXE|BXE]], [[george:macro:COOR1|COOR1]], [[george:macro:COOR3|COOR3]], [[george:macro:DCA|DCA]], [[george:macro:DLCA|DLCA]], [[george:macro:DOWN|DOWN]], [[george:macro:ERROR|ERROR]], [[george:macro:FINDLCA|FINDLCA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FREELINK|FREELINK]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:GLPERI|GLPERI]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INFORM|INFORM]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LOCKC|LOCKC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEALL|MFREEALL]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MOPOUT|MOPOUT]], [[george:macro:NBREAKIN|NBREAKIN]], [[george:macro:NOTALIEN|NOTALIEN]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPACKC|OUTPACKC]], [[george:macro:PHOTO|PHOTO]], [[george:macro:READYON|READYON]], [[george:macro:REPEAT|REPEAT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TRANCHKN|TRANCHKN]], [[george:macro:TRANSBEG|TRANSBEG]], [[george:macro:TRANSDIE|TRANSDIE]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:UP|UP]]
22FL #SEG MULTIPLX8 [G CONSTANTINIDES
22^= #LIS K0MULTIPLX>K0ALLGEO>K0GREATGEO
23DW 8HMULTIPLX
23YG # ENTRY POINTS
24D6 SEGENTRY K1MULTIPLX,Z1MULTIPLX
24XQ SEGENTRY K3MULTIPLX,Z3MULTIPLX
25CB SEGENTRY K4MULTIPLX,Z4MULTIPLX
25M8 ... SEGENTRY K5MULTIPLX,Z5MULTIPLX
25X2 MENDAREA 20,K99MULTIPLX
26BL [
26W= [
27*W [
27TG # FOR USE BY THE LONGWAIT MACRO
28*6 [
28SQ Z1MULTIPLX
28T6 ... FSHCODE AORB
28TG ...(
28TW ... NOTALIEN XHOMEMOP,2 [J IF ON HOME MACHINE
28W= ... TRANSBEG FSHLONGMESS,MULTIPLX,1,CLB,,ACOMMUNE1,XIPBDOWN
28WL ... UP [RETURN FROM HOME MACHINE
28X2 ...XIPBDOWN
28XB ... TRANSDIE [KILL OFF ACTIVITY
28XQ ...XHOMEMOP
28Y6 ...)
28YM ... LDCT 0 #10
294J ... ANDX 0 CLONG1(2)
298F ... ERS 0 CLONG1(2)
29#B MOPOUT
29BK ... FSHCODE AORB
29DS ...(
29H3 ... TRANCHKN FSHLONGMESS,EQUAL,XHOMEUP,XHOMEUP [J IF NOT TRANSBEG'D TO
29K= ... TRANSFIN [RETURN TO OTHER MACHINE
29MF ...XHOMEUP
29PN ...)
29S2 UP
2=?L [
2=R= [
2?=W [THIS ENTRY POINT IS FROM THE MOPWAIT MACRO. IT SETS THE ACTIVITY
2?QG [WAITING IF A TRANSFER IS IN PROGRESS, AND IS WOKEN UP AGAIN AT THE END
2#=6 [OF THE TRANSFER
2#PQ [
2*9B REFIND
2*P2 MHUNTW 2,AMXOR,ALCB
2B8L EXIT 1 0
2BN= Z3MULTIPLX
2C7W MHUNTW 3,AMXOR,ALCB
2CMG LDX 0 GFAIL(3)
2D76 BNG 0 UDAVID [J IF INOPERABLE
2DLQ LDX 0 GLASTM(3)
2F6B BZE 0 TREPT [J IF NO TRANSFERS IN PROGRESS
2FL2 UJOHN
2G5L LDX 0 GSIGN
2GK= ORS 0 GWAIT(3) [SET WAITING BIT
2H4W PHOTO 4
2HJG COOR1 [WAIT FOR END OF TRANSFER
2J46 TESTMOVE 4,NOMOVE
2JHQ MHUNTW 3,AMXOR,ALCB
2K3B NOMOVE
2KH2 LDX 0 GFAIL(3)
2L2L BNG 0 UDAVID [J IF INOP.
2LG= UMARY LDX 0 BITS22LS [UNSET FAIL BITS IF TRANSFER OK.
2L^W ANDS 0 GFAIL(3)
2MFG TREPT LDX 0 GWAIT(3)
2M^6 ANDN 0 #4 [CHECK TO SEE IF READY REPEAT NEEDED
2NDQ BNZ 0 REPREADY [J IF SO
2NYB HUNTW 1,AMXOR,AOUT [REPEAT IF MORE THAN ONE OF THESE.
2PD2 BNG 1 UP
2PXL HUNT2B 2,AMXOR,AOUT,3
2QC= SBX 1 2
2QWW BNZ 1 REPT [J IF REPEAT NEEDED
2RBG UP UP
2RW6 REPT
2S*Q DOWN MOPOUT,3 [REPEAT OUTPUT
2STB BRN Z3MULTIPLX
2T*2 REPREADY [COME HERE IF NEED TO REPEAT READY OUTPUT
2TSL ERS 0 GWAIT(3) [UNSET 'REPEAT READY' BIT.
2W#= FREELINK [FREE THE OLD LINK TO MOPOUT AND GO
2WRW ACROSS MOPOUT,2 [TO K2MOPOUT TO REPEAT THE "READY".
2X?G # THIS ROUTINE DEALS WITH A LINE WHICH HAS GONE INOPERABLE
2XR6 # WHILE BEING USED. IT SETS THE PERIPHERAL TYPE IN THE CPA TO MCF
2Y=Q # SO THAT SUBSEQUENT MONOUTS ARE ROUTED TO K4MULTIPLX.
2YQB #
2^=2 #
2^PL #
329= XMASK #01000001
32NW ... SEGENTRY K60MULTIPLX
338G ...XERR +34
33N6 ... 34HTRANSMISSION ERROR - PLEASE REPEAT
347Q ...XERR1 +18
34MB ... 18HTRANSMISSION ERROR
36KW UDAVID
375G LDX 0 GLASTM(3) [J. IF BUFFER IS NOT YET FREE.
37K6 BNZ 0 UJOHN
384Q ... SEGENTRY K50MULTIPLX
38JB LDN 7 0 [TO CHANGE BY INOPTIME
3942 BZE 7 XINOP
39HL XAGAIN
3=3= SBN 7 1
3=GW COOR3 #62
3?2G BNZ 7 XAGAIN [NOT YET
3?G6 CALL 1 REFIND
3?^Q LOCKC 2,REFIND
3#FB MHUNTW 3,AMXOR,ALCB
3#^2 LDX 0 BIT11 [CANCEL DC1
3*DL ORS 0 GWAIT(3)
3*QD ... LDN 0 4 [TEST B21 = 1 REPEAT
3B4= ... ANDX 0 GWAIT(3)
3BB4 ... BNZ 0 XN1 [J. IF SET
3BMW ... ADN 1 XERR1 [TRANSMISSION ERROR
3B^N ... BRN XN2
3C?G ...XN1 ADN 1 XERR [TRANSMISSION ERROR - PLEASE REPEAT
3CK# ...XN2 LDN 4 GNLBUFF(3) [SET UP START OF MESS. CHARS.
3CX6 ... LDN 5 BUFFER(3)
3D8Y ... LDCH 6 CHARS(3) [LD. CT. NO. CHARS.
3DGQ ... SMO 6
3DSJ ... MVCH 4 0 [MOVE SOM.
3F6B ... LDN 4 1(1)
3FD8 ... SMO 0(1)
3FQ2 ... MVCH 4 0 [MOVE MAIN MESSAGE REQUIRED
3G3S ... LDN 4 GNLBUFF(3) [LD. END OF MESS. CHARS.
3G*L ... SMO GNOCHS(3)
3GMD ... MVCH 4 0 [MOVE END OF MESS. CHARS.
3G^= ... ADX 6 0(1) [ADD. IN CT. OF MAIN MESSAGE
3H?4 ... ADX 6 GNOCHS(3) [ADD. IN CT. OF EOM CHARS.
3HJW ... SLC 5 2
3HWN ... SBN 5 2
3J8G ... SRC 5 2 [X5 POINT TO LAST BUT ONE CHAR
3JG# ... LDN 0 #10
3JS6 ... LDX 1 5
3K5Y ... DCH 0 0(1) [REPLACE EOM WITH CANCEL
3KCQ ... LDX 1 FX1 [RESET X1=FX1 - TO BE SAFE.
3KQ= LDX 2 IDENTM(3) [AMOP PTR
3L9W LDX 5 GUNITNO(3) [LINE NO
3LPG FINDLCA ,5
3M96 SLL 5 15
3MNQ DCA ,STO,5,MODE
3N8B DLCA 1,DLA,6,COUNT
3NN2 LDN 4 BUFFER(3)
3P7L DLCA 1,STO,4,CTSA
3PM= LDN 0 #11
3Q6W STO 0 GLASTM(3) [JUST SEND NULL TO CHECK INOPER
3QLG DLCA 1,DLA,0,MODE
3R66 LDN 4 GREP1(3)
3RKQ DLCA 1,STO,4,CREP
3S5B GLPERI
3SK2 LDX 0 JTIME
3T4L STO 0 GTIM(3)
3TJ= LDCT 0 #400
3W3W ORS 0 GWAIT(3)
3WHG COOR1
3X36 MHUNTW 3,AMXOR,ALCB
3XGQ LDX 0 GREP1(3)
3Y2B BXE 0 XMASK(1),UMARY [J IF NOW OPERABLE
3YG2 XINOP [STILL INOPERABLE
3Y^L LDX 2 IDENTM(3)
3^F= STOZ A1+BPTR(3)
3^YW SMO A1+FPTR(3)
42DG STOZ BPTR [GET UNIT NO
42Y6 LGEOG ,6
43CQ LDX 7 GUNITNO(3)
43XB OUTBLOCN 4 [SET UP PARAMETER BLOCK.
44C2 LDN 5 7 [SET FUNNY
44WL DCH 5 JSOURCE1(2) [PERIPHERAL TYPE
45B= GEOPACK 6,6,6
45TW OUTPACKC 6,1,GEOPER
46*G BZE 7 UNIP [J IF UNIPLEXOR: NO LINE NO.
46T6 OUTNUM 7,0
47#Q INFORM 2,JINOP,1
47SB RET BRN THERE
48#2 UNIP INFORM 2,HUINOP,1
48RL BRN RET
49?= #
49QW #
4==G # THIS ROUTINE TRAPS MONOUTS OF AN ONLINE JOB FOR
4=Q6 # WHICH THE CONSOLE HAS GONE INOPERABLE. IT CHECKS IF
4?9Q # READY OUTPUT; IF IT IS IT SETS A BIT FOR THE READY
4?PB # MACRO TO CHECK AND GOES UP. OTHERWISE IT JUST GOES UP.
4#92 #
4#NL #
4#TS ...Z5MULTIPLX
4*32 ... MFREEALL AMXOR,IDATSG
4*8= Z4MULTIPLX
4*MW THERE
4B7G #SKI ANOUSER<1$1
4BM6 (
4C6Q LDX 0 JOBNO(2)
4CLB BZE 0 USER
4D62 )
4D*S ...XBRK
4DKL #SKI ANOUSER
4F5= ... NBREAKIN 2,16,XBREJ,XBOK
4FJW #SKI ANOUSER<1$1
4G4G DOWN PROCONTX,16
4G## ...XBOK
4GJ6 READYON [SET MARK FOR READY TO CHECK
4H3Q HUNTW 3,AMXOR,AOUT
4HHB BNG 3 USER
4J32 LDXC 0 AMOPTY(3)
4JGL BCC USER [J IF NOT READY
4K2= FREECORE 3
4KFW USER UP
4KJF ...XBREJ
4KK5 ... LDCT 0 #1
4KKP ... ANDX 0 JOBEVENTS(2)
4KL* ... BNZ 0 XBOK
4KM4 ... LDXC 0 JOBEVENTS(2)
4KPM ... BCC XBOK
4KS= ... STO 0 JOBEVENTS(2)
4KWT ... BRN XBRK
4K^G #END
^^^^ ...50465567000500000000