{{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