{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: ENGAGE867)}}
====== ENGAGE867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BUTTONUP|BUTTONUP]], [[george:macro:BXGE|BXGE]], [[george:macro:BXU|BXU]], [[george:macro:CLALLOC|CLALLOC]], [[george:macro:CLRGROP|CLRGROP]], [[george:macro:COMERRX|COMERRX]], [[george:macro:COOR3|COOR3]], [[george:macro:DEMANDY|DEMANDY]], [[george:macro:DFJUMPS|DFJUMPS]], [[george:macro:DISENGPER|DISENGPER]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ENGPER|ENGPER]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:FPUT|FPUT]], [[george:macro:FPUTCHA|FPUTCHA]], [[george:macro:FREEPER|FREEPER]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:GETACTOP|GETACTOP]], [[george:macro:GETACTXOP|GETACTXOP]], [[george:macro:GROPEREC|GROPEREC]], [[george:macro:INFORMX|INFORMX]], [[george:macro:JANON|JANON]], [[george:macro:JBGROP|JBGROP]], [[george:macro:JDISENG|JDISENG]], [[george:macro:JDRM|JDRM]], [[george:macro:JENG|JENG]], [[george:macro:JENV|JENV]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:JFREE|JFREE]], [[george:macro:JMT|JMT]], [[george:macro:JNANON|JNANON]], [[george:macro:JNRGROP|JNRGROP]], [[george:macro:JONL|JONL]], [[george:macro:JRGROP|JRGROP]], [[george:macro:JSBUSY|JSBUSY]], [[george:macro:JWRONG|JWRONG]], [[george:macro:LADDP|LADDP]], [[george:macro:LAMOP|LAMOP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LINT|LINT]], [[george:macro:LJOBNO|LJOBNO]], [[george:macro:LONGON|LONGON]], [[george:macro:LONGON1|LONGON1]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LPROP|LPROP]], [[george:macro:LPUNSET|LPUNSET]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PAIR|PAIR]], [[george:macro:PARABEG|PARABEG]], [[george:macro:RMDIS|RMDIS]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETALLOC|SETALLOC]], [[george:macro:SETCODE|SETCODE]], [[george:macro:SETWTBWR|SETWTBWR]], [[george:macro:SIX|SIX]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TESTCODE|TESTCODE]], [[george:macro:TICKLE|TICKLE]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL #SEG ENGAGE [LEN WAGSTAFF
22^= # (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982.
23DW #OPT K0ENGAGE=0
23YG #OPT K6ENGAGE=K6PERI
24D6 #LIS K0ENGAGE>K0PERI>K0ALLGEO
24XQ 8HENGAGE
25CB #
25X2 # THIS SEGMENT IS PART OF THE PERIPHERAL CONTROLLER AND HAS ENTRY
26BL # POINTS AS FOLLOWS:-
26W= #
27*W # K1 SERVICES ENGAGE BUTTON INTERRUPTS NOTIFIED BY SPRING CLEAN
27TG # K10 ENGPER MACRO
28*6 # K30 DISENGAGE COMMAND
28SQ #
29#B # ENTRY POINTS
29S2 #
2=?L SEGENTRY K1ENGAGE,X1ENGAGE
2=R= SEGENTRY K10ENGAGE,X10ENGAGE
2?=W SEGENTRY K11ENGAGE,X11ENGAGE
2?QG SEGENTRY K30ENGAGE,X30ENGAGE
2#=6 #UNS CFMDME
2#PQ SEGENTRY K31ENGAGE,X31ENGAGE
2*9B #
2*P2 #
2B8L TYPESIZE
2BN= #HAL CPAT,CPATLEN [TR
2C7W #HAL CENTRAL+ACTLF,CENTRALLEN+ACTLFLEN [TP
2CMG #HAL CENTRAL+ACTLF,CENTRALLEN+ACTLFLEN [LP
2D76 #HAL CPAT,CPATLEN [CR
2DLQ #HAL CENTRAL+ACTLF,CENTRALLEN+ACTLFLEN [CP
2F6B #HAL ACTDOC,ACTDOCLEN [MT
2FL2 #HAL ACTDOC,ACTDOCLEN [EDS
2G5L PLINKS
2GK= PAIR COMPROA,1 [TR
2H4W PAIR LISTINTC,5 [TP
2HJG PAIR LISTINIT,5
2J46 PAIR COMPROA,1 [CR
2JHQ PAIR LISTINTC,5
2K3B PAIR LIBLOAD,1 [MT
2KH2 PAIR CARTCONT,1
2L2L #UNS EPLOM
2LG= PAIR LIBREQ,4
2L^W #UNS CFMDME
2MFG (
2M^6 PLINKS8
2NDQ PAIR ENGAGE,31
2NYB )
2PD2 PLINKS9
2PXL PAIR ENGAGE,11
2QC= XJRRWI +JRRWI
2QWW [
2RBG #UNS CFMDME
2RW6 (
2S*Q XOUTPACK [ SUBROUTINE TO 'OUTPACKX' 1 PARAM.
2STB SBX 7 FX1
2T*2 OUTPACKX 4,5,6
2TSL ADX 7 FX1
2W#= EXIT 7 0
2WRW )
2X?G [
2XR6 SIX +6
2Y=Q NINE +9
2YQB THIRTEEN +13
2^=2 XIPB +24
2^PL XDRUM +25
329= XEMDS +26
32NW XIPC +28
338G XJPROP +JUNPROP
33N6 #UNS CFMDME
347Q (
34MB X34 +34 [PSEUDO DEVICE FOR CONTROLLER FAIL
3572 )
35BS ...X24 +24
35LL TP +1
366= XLP +2
36KW XCR +3
375G XCP +4
37K6 MT +5
384Q #
38JB #UNS CFMDME
3942 (
39HL PCODES [ TABLE OF DEVICE CODES FOR DME
3=3= #1 [ GPC
3=GW #5 [ DFC
3?2G #42 [ (=X"B")
3?G6 #43 [ (=X"C")
3?^Q #46 [ (=X"F") CSC
3#FB #100 [ (=X"10") CSC
3#^2 +0 [ END OF TABLE
3*DL XTYPES [ TABLE OF CONTROLLER NEMONICS
3*Y= 4H??? [ DEVICE CODE UNKNOWN
3BCW 4HGPC [ = X"01XX" !
3BXG 4HDFC [ = X"05XX" !
3CC6 ... 4HDCU2
3CWQ ... 4HDCU1
3DBB 4HCSC [ = X"0FXX" !-- REPLY FROM '153
3DW2 4HCSC [ = X"10XX" !
3F*L XFAILED 8H FAILED
3FT= XRELOAD 20H: PLEASE RELOAD IT
3G#W XRECVRD 16H BEEN RECOVERED
3GSG )
3H#6 #SKI JSKI38 [GLASGOW SPECIALS
3HRQ (
3J?B PARS 4HCODE
3JR2 ZCODE 4H1900
3K=L 4HEBCD
3KQ= 4HKDF9
3L9W +0
3LPG ZPT #40000000
3M96 +3
3MNQ +0
3N8B )
3NN2 #
3P7L # THIS ROUTINE SERVICES ENGAGE BUTTON INTERRUPTS FOR ALL DEVICES
3PM= # OTHER THAN OPERATORS CONSOLE. ENTERED FROM SEGMENT CHARGESC WITH
3Q6W # THE DEVICE LIST POINTER OF THE ENGAGED DEVICE IN X3. ACTION TAKEN
3QLG # VARIES ACCORDING TO DEVICE TYPE, BUT IN GENERAL AN ACTIVITY WILL
3R66 # BE CREATED AND FPUT IF DEVICE WAS UNALLOCATED, ELSE LONGON WILL BE
3RKQ # USED TO WAKE ACTIVITIES WAITING FOR THEIR PERIPHERAL TO BE ENGAGED
3S5B # THE CURRENT ACTIVITY IS BLANKET.
3SK2 #
3T4L X1ENGAGE
3TJ= JWRONG 3,XIT [IGNORE INTERRUPT IF DEVICE WRONGED
3W3W LTYPE 3,4 [GET DEVICE TYPE
3WHG JANON 3,XANON
3X36 TXU 4 XLP(1)
3XGQ BCS NOGROP
3Y2B JRGROP 3,XANON
3YG2 NOGROP
3Y^L JONL 3,ONLINE [BR IF DEVICE ONLINE
3^F= NOTDRM
3^YW [TREAT AS UNALLOCATED IF IT IS A FILE DEVICE
42DG TXU 4 SIX(1)
42Y6 BCC TOK
43CQ TXU 4 NINE(1) [IS IT DRUM
43XB BCC TOK [EDS
44C2 TXU 4 THIRTEEN(1) [ OR FDS?
44WL BCC TOK [IF SO JUMP,OTHERWISE
45B= TXU 4 XDRUM(1) [IS IT HIGHSPEED DRUM?
45TW BCC TOK
46*G TXU 4 XEMDS(1)
46T6 BCC TOK [J IF EDS(30)
47#Q TXU 4 XIPC(1)
47SB BCC TIPC [BR IF TYPE 28 IPB
48#2 [SPECIAL TREATMENT FOR IPB
48RL TXU 4 XIPB(1)
49?= BCS NIPB [J NOT IPB
49QW LAMOP 3,2 [ADDRESS OF AMOP/IPBIN
4==G LDX 0 CHAINADD(2)
4=Q6 BPZ 0 XGEOG [J TO AWAKE IT IF ALREADY ACTIVE
4?9Q JSBUSY CPPTR(2),XGEOG [J IF READ UP (IF AMOP...
4?PB [ ...RECOVERED FROM INOPERABILITY)
4#92 FPUT [ELSE ACTIVATE IT
4#NL BRN XIT
4*8= NIPB [SPECIAL TREATMENT FOR 96 COLUMN CR(CS5556)
4*MW [IF 96 COLUMN CR IS NOT ONLINED JUST
4B7G [DISENGAGE IT.
4BM6 BXU 4 XCR(1),TLP [NOT CR
4C6Q [B15 OF CR PROPERTY CODE INDICATES A
4CLB [96 COLUMN CR (THAT ONLY ACCEPTS
4D62 [CARD IMAGE MODE PERI'S).
4DKL LPROP 3,0
4F5= ANDN 0 4 [B15 NOW B21
4FJW BZE 0 TLP [NOT 96 COL CR
4G4G JONL 3,TLP [ONLINED : PROCEED AS USUAL
4GJ6 DISENGPER 3
4H3Q BRN XIT
4HHB TLP [TREAT AS ALLOCATED IF NOT MT OR BASIC DEVICE
4J32 BXGE 4 SIX(1),XGEOG
4JGL TXU 4 XLP(1)
4K2= BCS NLP [J NOT LP
4KFW LPUNSET 3 [ENSURE PAPER ALIGNED MARKER IS UNSET
4K^G NLP [WAKEN ACTIVITY UNLESS DEVICE UNALLOCATED
4LF6 JFREE 3,UNALL
4LYQ XGEOG
4MDB LGEOG 3,5
4MY2 TXU 4 MT(1)
4NCL BCS WAKE [J NOT MT
4NX= #UNS EPLOM
4PBW DFJUMPS 3,LOAD,XPLOM [J IF TAPE MARKED OFFICIALLY LOADED
4PWG LONGON #65,5
4QB6 BRN XIT
4QTQ #UNS EPLOM
4R*B (
4RT2 XPLOM
4S#L GETACTOP TOCHARG,ACTDOC,,1 [SET UP LONGLOCK ACTDOC IF POSSIBLE
4SS= LDX 2 BPTR(2)
4T?W STO 3 CPPTR(2) [STORE DEVICE LIST POINTER
4TRG LDN 4 7
4W?6 SMO 4
4WQQ LDN 1 PLINKS(1) [SET LINK TO LIBREQ,4
4X=B LINKSET 2,0(1)
4XQ2 FPUT
4Y9L BRN XIT
4YP= )
4^8W WAKE
4^NG #UNS CFMDME
5286 (
52MQ JENVNOT X1900A,DME [ JIF NOT IN DME ENVIRONMENT
537B TXU 4 X34(1) [ SEE IF PSEUDO DEVICE (CTLR FAILURE)
53M2 BCC XCONTFAIL [ JIF IT IS
546L X1900A
54L= )
555W #SKI IPL
55KG (
5656 SEGENTRY K98ENGAGE
56JQ NULL
574B )
57J2 LONGON1 #77,5 [WAKE UP ACTIVITY AWAITING ENGAGE
583L XIT
58H= SMO FX2
592W LDX 0 ATYPE
59GG SRL 0 12
5=26 SBN 0 BAT
5=FQ BZE 0 XITA [J IF IN BLANKET
5=^B SUICIDE
5?F2 XITA
5?YL ACROSS CHARGESC,1
5#D= [CREATE ACTIVITY FOR UNALLOCATED DEVICE
5#XW TOK LDN 4 6 [SET TYPE=6 FOR ALL FILE DEVICES
5*CG UNALL SETALLOC 3 [MARK DEVICE ALLOCATED
5*X6 JMT 3,XMT [BR IF MAG TAPE
5BBQ SMO 4 [USE TYPE AS TABLE MODIFIER
5BWB LDX 7 TYPESIZE(1) [GET ACTIVITY BLK TYPE AND LENGTH
5CB2 LDEX 6 7 [GET LENGTH
5CTL ERS 6 7 [REMOVE LENGTH TO LEAVE TYPE IN B0-11
5D*= GETACTXOP NGIVEN,7,6 [OPTIONAL
5DSW BRN MACT [J GIVEN
5F#G NGIVEN
5FS6 CLALLOC 3 [UNSET DEVICE ALLOCATED MARKER
5G?Q TOCHARG
5G#P ... SMO FX2
5G*N ... LDX 0 ATYPE
5GBM ... SRL 0 12
5GCL ... SBN 0 BAT
5GDK ... BZE 0 TOCHARGA
5GFJ ... LINT 3,0
5GGH ... SMO FX1
5GHG ... DVS 7 X24
5GJF ... LDCT 5 #400
5GKD ... SMO 7
5GLC ... SRL 5 0
5GMB ... LDX 7 0
5GN* ... BUTTONUP 5,7
5GP# ... SUICIDE
5GQ? ...TOCHARGA
5GRB ACROSS CHARGESC,2
5H?2 MACT
5HQL #SKI K6ENGAGE>99-99
5J== TRACE 3,ALLOTPER
5JPW LDX 2 BPTR(2) [GET ADDR OF NEW ACTIVITY
5K9G STO 3 CPPTR(2) [STORE DEVICE LIST POINTER
5KP6 TXL 4 MT(1)
5L8Q BCC NBASIC [J IF MT OR FILE DEVICE
5LNB DCH 4 JSOURCE1(2) [B0-5=TYPE
5M82 LGEOG 3,0 [B6-14=ZERO
5MML DEX 0 JSOURCE1(2) [B15-23=GEOG.NO.
5N7= NBASIC
5NLW #SKI CLONK<1$1
5P6G SLL 4 1
5PL6 SMO 4
5Q5Q LDN 1 PLINKS(1)
5QKB LINKSET 2,0(1)
5R52 FPUT
5RJL BRN XIT
5S4= TIPC [TYPE 28 IPB (IPC)
5SHW FPUTCHA 3 [WAKE UP ACTIVITY IF REQUIRED
5T3G BRN XIT
5TH6 ONLINE
5W2Q TXU 4 MT(1)
5WGB BCC NOTDRM [IF MT NO DRM TEST WANTED
5X22 JDRM 3,XINDRM [BR IF ONLINE IN DRM
5XFL BRN NOTDRM
5X^= XINDRM
5YDW LJOBNO 3,6 [LOAD JOB NO
5YYG TRACE 3,DRM ENG!
5^D6 TICKLE 6 [TICKLE PROGRAM
5^XQ BRN XGEOG
62CB XMT
62X2 # LONGLOCK AREA GETACT FOR MAG TAPE
63BL GETACTOP NGIVEN,ACTDOC,,1
63W= BRN MACT [REJOIN MAIN PATH
64*W #
64TG XANON
64XD ... JENVNOT XANON1,CMESTAR
64^B ... JNANON 3,XANON1
653# ... JBGROP 3,XANON1
655= ... JDISENG 3,XITA
6578 ... DISENGPER 3
6596 ... BRN XITA
65?4 ...XANON1
65*6 GETACTOP TOCHARG,ACTCDT,,1
65SQ LDX 2 BPTR(2)
66#B STO 3 CPPTR(2)
66S2 LDN 1 PLINKS9(1)
67?L LINKSET 2,0(1)
67R= FPUT
68=W BRN XITA
68QG #
69=6 #UNS CFMDME
69PQ ( [ ENTRY FOR PSEUDO DEVICE TYPE 34
6=9B XCONTFAIL [ (CTLR FAILURE IN DME ENVIRONMENT
6=P2 # CREATE ACTIVITY TO OUTPUT CTLR FAIL MESSAGE
6?8L GETACTOP TOCHARG,ACTCDT
6?N= LDX 2 BPTR(2)
6#7W STO 4 AWORK1(2)
6#MG LDN 1 PLINKS8(1)
6*76 LINKSET 2,0(1)
6*LQ FPUT
6B6B BRN XIT
6BL2 #
6C5L #
6CK= # ENTRY FOR OUTPUTTING CTLR FAILED MESSAGE
6D4W #
6DJG X31ENGAGE
6F46 LDX 4 AWORK1(2)
6FHQ FINDPEREC 2,APFOTY,4
6G3B LDN 3 0 [ INDICATE ENQUIRY ABOUT CTLR FAIL
6GH2 '153 3 2 [ X-CODE TO GET INFO ABOUT FAIL
6H2L LDX 2 FX2
6HG= [ NOW REMEMBER REPLY FROM EXTRACODE
6H^W STO 3 AWORK3(2) [ BIT 9 INDICATES WHETHER RECOVERED
6JFG [ BITS 12-23 PORT/TRUNK OF CTLR.
6J^6 STO 4 AWORK4(2) [ DEVICE CODE FOR CONTROLLER TYPE
6KDQ [ (SEE TABLE AT 'PCODES'
6KYB SRL 4 12 [ GET CODE INTO L.S. 12 BITS
6LD2 LDN 2 1 [ TABLE MODIFIER
6LXL SNEXTCODE
6MC= SMO 2
6MWW LDX 0 PCODES-1(1) [ GET NEXT TABLE ENTRY
6NBG BZE 0 SNOTYPE [ JIF END OF TABLE
6NW6 TXU 0 4 [ SEE IF THIS IS FAILED TYPE
6P*Q BCC STHISTYPE [ JIF IT IT IS ELSE....
6PTB BUX 2 SNEXTCODE [ ...LOOP FOR NEXT TABLE ENTRY
6Q*2 SNOTYPE
6QSL LDN 2 0 [ MODIFIER FOR "???" IF NOT FOUND
6R#= STHISTYPE
6RRW SMO 2
6S?G LDN 4 XTYPES(1) [ => CTLR. TYPE
6SR6 LDN 5 1 [ NO. OF WORDS
6T=Q LDN 6 JPDVARCHAR [ P.D.C.
6TQB CALL 7 XOUTPACK [ SET UP %A
6W=2 [
6WPL JENV XCME1,CME
6X9= SLL 3 12 [
6XNW ADN 3 #2020 [ SET UP PORT/TRUNK IN CHARS 1,2
6Y8G SRC 3 6 [ SPACES IN 0,3
6YN6 LDN 4 3 [ => PORT/TRUNK
6^7Q CALL 7 XOUTPACK [ SET UP %B
6^MB BRN XRECD [ J TO TEST FAIL RECOVERED
7272 XCME1
72LL SRL 3 6 [ SCU IN 3
736= LDX 4 ACES
73KW SLL 34 18
745G SRC 3 6 [ SCU IN 1,SPACES IN 0,2,3
74K6 LDN 4 3 [ => SCU
754Q CALL 7 XOUTPACK [ SET UP %B
75JB LDX 3 AWORK3(2) [ PORT IN 3
7642 LDX 4 ACES
76HL SLL 34 18
773= SRC 3 6 [ PORT IN 1,SPACES IN 0,2,3
77GW LDN 4 3 [ => PORT
782G CALL 7 XOUTPACK [ SET UP %C
78G6 [
78^Q XRECD
79FB LDX 4 AWORK3(2) [ NOW SEE IF FAIL WAS RECOVERED
79^2 ANDX 4 BIT9
7=DL BNZ 4 XNOTRECD [ JIF IT WAS NOT
7=Y= LDN 4 XRECVRD(1) [ => "BEEN RECOVERED"
7?CW LDN 5 4 [ NO. OF WORDS
7?XG CALL 7 XOUTPACK [ SET UP %C OR %D FOR RECOVERED CASE
7#C6 BRN XTEND [ J. TO DO MONOUT
7#WQ [
7*BB XNOTRECD
7*W2 LDN 4 XFAILED(1) [ => "FAILED"
7B*L LDN 5 2 [ NO. OF WORDS
7BT= CALL 7 XOUTPACK [ SET UP %C OR %D FOR FAILED CASE
7C#W [
7CSG LDX 0 AWORK4(2) [ NOW SEE IF IT WAS A CSC
7D#6 SRL 0 12
7DRQ SBN 0 6
7F?B BNG 0 XTEND [ JIF NOT A CSC ELSE.....
7FR2 LDN 4 XRELOAD(1) [ ... GET => ": PLEASE RELOAD IT"
7G=L LDN 5 5 [ NO. OF WORDS
7GQ= CALL 7 XOUTPACK [ SET UP %D OR %E IF REQUIRED
7H9W [
7HPG XTEND
7J96 JENV XCME2,CME
7JNQ MONOUT CONTFAILDME [ SEND CONTROLLER FAILED MESSAGE
7K8B BRN XSUI
7KN2 XCME2
7L7L MONOUT CONTFAILCME [ SEND CONTROLLER FAILED MESSAGE
7LM= [
7M6W XSUI
7MLG SUICIDE
7N66 [
7NKQ )
7P5B [ ENTRY TO GROPE FOR ANON DEVICE
7PK2 X11ENGAGE
7Q4L LDX 3 CPPTR(2)
7Q5S ... JENVNOT XGROPE,CMESTAR
7Q72 ... JNANON 3,XGROPE
7Q88 ...XGRWT
7Q9B ... COOR3 GROPEWS
7Q=J ... JBGROP 3,XGRWT
7Q?Q ... JANON 3,WDIS
7Q#Y ... LTYPE 3,4
7QB6 ... TXU 4 XLP(1)
7QC# ... BCS WEG
7QDG ... CLRGROP 3
7QFN ... BRN WEG
7QGW ...XGROPE
7QJ= LTYPE 3,4
7R3W TXU 4 XLP(1)
7RHG BCS XGET
7S36 JNRGROP 3,XGET
7SGQ LPROP 3,0
7T2B STO 0 AWORK2(2)
7TG2 LDN 7 160
7T^L SRC 0 5
7WF= BNG 0 YWID
7WYW LDN 7 132
7XDG SLC 0 3
7XY6 BNG 0 YWID
7YCQ LDN 7 120
7YXB SRC 0 2
7^C2 BNG 0 YWID
7^WL LDN 7 96
82B= YWID
82TW LDN 0 65
83*G SLL 0 12
83T6 ADX 7 0
84#Q LADDP 3,1
84SB LDX 0 AREPERT(1)
85#2 LDX 1 FX1
85RL TXU 0 7
86?= BCS YSTOW
86QW LDN 0 0
87=G YSTOW
87Q6 STO 0 AWORK1(2)
889Q XGET
88PB LINT 3,0
8992 GROPEREC 3,APINT,0
89NL BNG 3 WDIS [J IF GROPED FAILED
8=8= LTYPE 3,4
8=MW TXU 4 XLP(1)
8?7G BCS WEG
8?M6 JNRGROP 3,WEG
8#6Q CLRGROP 3
8#LB LDX 0 AWORK1(2)
8*62 BZE 0 WPROP
8*KL LADDP 3,1
8B5= LDEX 6 AWORK1(2)
8BJW LDEX 5 AREPERT(1)
8C4G TXL 5 6
8CJ6 BCS REPCH
8D3Q STO 0 AREPERT(1)
8DHB LDX 1 FX1
8F32 BRN WPROP
8FGL REPCH
8G2= DEX 5 0
8GFW STO 0 AREPERT(1)
8G^G STO 0 AWORK1(2)
8HF6 LGEOG 3,4
8HYQ OUTNUM 4,0
8JDB LDX 4 AWORK1(2)
8JY2 OUTPACK 4,1,NUMA
8KCL LDX 6 XJRRWI(1)
8KX= MONOUTX 6
8LBW WPROP
8LWG LDX 0 AWORK2(2)
8MB6 BZE 0 WEG
8MTQ LPROP 3,0
8N*B TXU 0 AWORK2(2)
8NT2 BCC WEG
8P#L LGEOG 3,4
8PS= OUTNUM 4,0
8Q?W LDN 5 0
8QRG LDX 6 XJPROP(1)
8R?6 INFORMX 5,6,1
8RQQ WEG
8S=B JDISENG 3,WSUI
8SG8 ... LTYPE 3,4
8SJ6 ... TXU 4 MT(1)
8SL4 ... BCS NOGROP
8SN2 ... JWRONG 3,WSUI
8SQ2 BRN NOGROP
8T9L WDIS
8TP= JDISENG ,WSUI
8W8W DISENGPER
8WNG WSUI
8X86 SUICIDE
8XMQ #
8Y7B [
8YM2 # ENGPER
8^6L #
8^L= # THIS ROUTINE GETS THE SPECIFIED PERIPHERAL ENGAGED. IF DISENGAGED
925W # WHEN FIRST ENTERED OUTPUTS SPECIFIED MESSAGE (%D) ON RELEVANT
92KG # CONSOLE. REPEATS MESSAGE EVERY 'N' MINS UNTIL OPERATOR ENGAGES.
9356 #
93JQ XMSGE +JMARY [PLEASE ENGAGE
944B #HAL 1,0
94J2 +JRESET [PLEASE ENGAGE FOR ERROR RESTART
953L #HAL 1,0
95H= +JKEN [PLEASE LINE UP...
962W #HAL 1,0
96GG +JKEN
9726 #HAL 1,1
97FQ #SKI JSKI38 [GLASGOW SPECIALS
97^B (
98F2 +JPLSWIT [PLSE SWITCH...TO...CODE...
98YL #HAL 1,0
99D= )
99XW #SKI JSKI38<1$1
9=CG 0,0
9=X6 +JCORRUPT [PLEASE ENGAGE UNIT N IF COMPLETION
9?BQ #HAL 1,0 [OF CORRUPT LISTING IS REQUIRED
9?WB X10ENGAGE
9#B2 LDX 3 ACOMMUNE7(2) [GET DEVICE LIST POINTER
9#TL LDX 4 ACOMMUNE8(2) [GET MESSAGE MODIFIER
9**= #SKI K6ENGAGE>99-99
9*SW TRACE 3,ENGPER
9B#G JENG 3,PENG [J IF ALREADY ENGAGED
9BS6 LGEOG 3,5 [LOAD GEOG NO
9C?Q LONGSET #77,PLWAIT,5
9CRB GEOPACK 5,5,5 [PACK PDC (GEOPER)
9D?2 OUTPACK 5,1,GEOPER [OUTPUT MESSAGE PARAMETER
9DQL #SKI JSKI38 [GLASGOW SPECIALS
9F== (
9FPW LDN 0 4 [IF %D=4, CODE TYPE..
9G9G TXU 4 0 [..MUST BE OUTPARAMED
9GP6 BCS NOT4
9H8Q MHUNT 2,CPB,CUNI
9HNB LDEX 7 ANUM(2)
9J82 OUTPARAM 7,APARA,CPB,CUNI
9JML )
9K7= NOT4 ADX 1 4
9KLW ADX 1 4 [MAKE POINTER TO RELEVANT MESSAGE
9L6G LDX 7 XMSGE(1) [GET MESAGE IDENTIFIER
9LL6 LDX 6 XMSGE+1(1) [TIME,DELAY
9M5Q LDN 0 1 [ROUTE TO CENTRAL CONSOLE
9MKB DEMANDY 0,7,NF6,NF5,NF7,6
9N52 JENG 3,PENGD [J IF NOW ENGAGED
9NJL LONGSET #77,PLWAIT,5
9P4= BRN NF7 [RE-ENTER DEMANDY
9PHW PENGD
9Q3G DEMANDQUIT
9QH6 PENG UPPLUS 2 [ENGAGED EXIT
9R2Q NF5 UP [BREAKIN EXIT
9RGB NF6 LTYPE 3,5 [GET DEVICE TYPE
9S22 TXU 5 TP(1)
9SFL BCC TBWR [J IF TP
9S^= TXU 5 XLP(1)
9TDW BCC TBWR [J IF LP
9TYG TXU 5 XCP(1)
9WD6 BCS XCD [J NOT CP
9WXQ TBWR SETWTBWR 3 [MARK TO BE WRONGED WHEN NEXT FREED
9XCB XCD UPPLUS 1 [CANTDO EXIT
9XX2 PLWAIT GEOERR 1,LONGWAIT [LONGWAIT FIELD ALREADY NONZERO
9YBL #
9YW= #
9^*W # DISENGAGE COMMAND
9^TG #
=2*6 # TERMINATES A CR OR TR AT DIRECTIVE LEVEL
=2SQ #SKI JSKI38 [GLASGOW SPECIALS
=3#B (
=3S2 #
=4?L ZPAREM +JPAREM [THIS PARAM NOT ALLOWED IN REMOTE
=4R= ZCOMIS +JCOMIS [CODE TYPE MISSING
=5=W ZCODNO +JCODNO [CODE NOT ALLOWED ON THIS DEVICE
=5QG #
=6=6 XER1 LDX 1 FX1
=6PQ LDX 6 ZPAREM(1)
=79B BRN ZER
=7P2 XER2 LDX 1 FX1
=88L LDX 6 ZCOMIS(1)
=8N= BRN ZER
=97W XER3 LDX 1 FX1
=9MG LDX 6 ZCODNO(1)
==76 BRN ZER
==LQ #
=?6B ZER COMERRX 6
=?L2 #
=#5L PARA PARABEG 1,4,PARS(1),,0 [LOOK FOR 'CODE' OR 'CO'
=#K= MHUNT 3,CPB,CUNI
=*4W LDX 0 ANUM(3)
=*JG BNG 0 P1
=B46 BZE 0 XER2 [NO TYPE GIVEN
=BHQ EXIT 7 1 [CODE PARA FOUND
=C3B P1 MFREE CPB,CUNI
=CH2 SBN 4 2
=D2L BNZ 4 PARA
=DG= EXIT 7 0 [CODE PARA NOT PRESENT
=D^W #
=FFG WHATCODE
=F^6 LDX 0 ZCODE(1)
=GDQ BZE 0 W1 [J IF END OF TABLE
=GYB SBX 0 APARA(3)
=HD2 BZE 0 W2
=HXL BUX 1 WHATCODE
=JC= W1 BRN XER3 [J IF TYPE NOT RECOGNISED
=JWW W2 EXIT 7 0 [CODE TYPE OK- X1 IS PTR
=KBG #
=KW6 )
=L*Q #
=LTB X30ENGAGE
=M*2 #
=MSL #SKI JSKI38 [GLASGOW SPECIALS
=N#= (
=NRW LDN 4 4 [FOR SUBR PARA
=P?G CALL 7 PARA
=PR6 BRN NOCOD [J IF NO 'CODE' PARAM
=Q=Q LDEX 0 CONTEXT(2)
=QQB ANDN 0 #200
=R=2 BNZ 0 XER1 [J IF REMOTE CONTEXT
=RPL CALL 7 WHATCODE
=S9= LDX 4 ZPT(1) [IF CODE='1900', DONT..
=SNW BNG 4 TAPIA [..CHECK DEVICE TYPE
=T8G LDCH 5 JSOURCE1(2)
=TN6 TXU 4 5
=W7Q BCS XER3 [J IF WRONG DEVICE TYPE
=WMB TAPIA TESTCODE ,READER,ORD,SPEC
=X72 ORD BNG 4 NOCH [NO CHANGE SINCE APIA..
=XLL # [..AND COMMAND BOTH SAY '1900'
=Y6= BRN CH [ELSE J TO CHANGE CODE
=YKW SPEC BPZ 4 NOCH [NO CHANGE SINCE APIA..
=^5G # [..AND COMMAND BOTH SAY 'SPECIAL'
=^K6 CH DISENGPER
?24Q ENGPER NOCH,,ZCD,4 ['PLSE SWITCH..'
?2JB SETCODE ,READER
?342 NOCH ENDCOM
?3HL )
?43= #
?4GW NOCOD RMDIS ['DISENGAGE'REMOTE DEVICE
?52G ZCD FREEPER [FREE THE (REMOTE/LOCAL) DEVICE
?5G6 ACROSS LOGOUT,7 [CLOSE FILES, FREE JOBLOCK & SUICIDE
?5^Q #
?6FB #
?6^2 MENDAREA 20,K100ENGAGE
?7DL #SKI IPL
?7Y= (
?8CW MENDAREA 20,K99ENGAGE
?8XG )
?9C6 #END
^^^^ ...435717760012