{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: UNPLUG867)}}
====== UNPLUG867 ======
(George Source)
**Macros used:** [[george:macro:BBS|BBS]], [[george:macro:BBUS|BBUS]], [[george:macro:BC|BC]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BS|BS]], [[george:macro:BSOFF|BSOFF]], [[george:macro:BSXD|BSXD]], [[george:macro:BXGE|BXGE]], [[george:macro:CHECKFLAG|CHECKFLAG]], [[george:macro:CLFAIL|CLFAIL]], [[george:macro:COBJUSRT|COBJUSRT]], [[george:macro:CONCISBY|CONCISBY]], [[george:macro:COOR3|COOR3]], [[george:macro:DATUMA|DATUMA]], [[george:macro:DISENGPER|DISENGPER]], [[george:macro:FCAJO|FCAJO]], [[george:macro:FINDLINK|FINDLINK]], [[george:macro:FINDPUC|FINDPUC]], [[george:macro:FINDTP|FINDTP]], [[george:macro:FJOCA|FJOCA]], [[george:macro:FJOPCA|FJOPCA]], [[george:macro:FJOTP|FJOTP]], [[george:macro:FPCACA|FPCACA]], [[george:macro:FPCAJO|FPCAJO]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNT2B|HUNT2B]], [[george:macro:JAUTFAIL|JAUTFAIL]], [[george:macro:JAUTOFF|JAUTOFF]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JBSC|JBSC]], [[george:macro:JBUSY|JBUSY]], [[george:macro:JCAFSBSY|JCAFSBSY]], [[george:macro:JCANTENG|JCANTENG]], [[george:macro:JCBB|JCBB]], [[george:macro:JFAIL|JFAIL]], [[george:macro:JMBAS|JMBAS]], [[george:macro:JSBUSY|JSBUSY]], [[george:macro:LA|LA]], [[george:macro:LINK|LINK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:MBI|MBI]], [[george:macro:MBS|MBS]], [[george:macro:MBSXD|MBSXD]], [[george:macro:MELUNRING|MELUNRING]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:PAIR|PAIR]], [[george:macro:PCATEST|PCATEST]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:STEPBAC1|STEPBAC1]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL ...#SEG UNPLUG850 [DEK BEASLEY :CENT
22KH ...[
22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
22T* ...[
22^= #OPT K0UNPLUG=0
23DW #LIS K0UNPLUG>K0ALLGEO>K0LLS
23YG 8HUNPLUG
24D6 #
24XQ # THIS SEGMENT IMPLEMENTS THE UNPLUG,NOTBUSY,UNPLUGRT AND UNPLUGRT
25CB # 'PUC' MACROS
25X2 #
26BL # THE ENTRY POINTS ARE AS FOLLOWS:
26W= #
27*W # K1,K2 : THE NOTBUSY MACRO,WHICH MERELY UNBUSIES A PROGRAM'S
27TG # PERIPHERALS
28*6 # K3 : THE UNPLUGRT MACRO
28SQ # K4 : THE UNPLUGRT 'PUC' MACRO
29#B # K5 : ENTRY TO UNPLUG FOR SPEC SWAPOUT NO SFWT REQUIRED
29S2 # K7 : ENTRY TO UNPLUG FOLLOWED BY SWAPOUT(IN PCA)
2=?L # K8,K18,K28,K38 : THE UNPLUG MACRO
2=R= # K9 : ENTRY TO UNBUSY AND UNPLUG FOR MOVE
2?=W #
2?QG SEGENTRY K2UNPLUG,XX2U
2#=6 SEGENTRY K3UNPLUG,XX3U
2#PQ SEGENTRY K4UNPLUG,XX4U
2*9B SEGENTRY K5UNPLUG,XX5U
2*P2 SEGENTRY K7UNPLUG,XX7U
2B8L SEGENTRY K8UNPLUG,XX8U
2BN= SEGENTRY K18UNPLUG,XX18U
2C7W SEGENTRY K28UNPLUG,XX28U
2CMG SEGENTRY K38UNPLUG,XX38U
2D76 SEGENTRY K9UNPLUG,XX9U
2DLQ SEGENTRY K10UNPLUG,XX10U
2F6B [
2FL2 [
2G5L [ BITS TO DEFINE TYPE OF UNPLUG,HOPEFULLY MNEMONIC
2GK= [
2H4W BITDEFS AWORK1,0,RETURN,NOTBUSY,STEPBAC,NOSFWT,SWAPOUT,REPLY
2HJG BITDEFS AWORK1,6,TIMEOUT
2J46
2JHQ [
2K3B [
2KH2 #
2L2L #
2LG= TON +100
2L^W PK9 +K9
2MFG THOUSK9 1000/K9
2M^6 P17 PAIR PERFAIL,2 [FOR ON-LINE PERIPHERAL FAILURE
2NDQ P18 PAIR EVENTS,5 [FOR PROGRAM TIMEUP
2NYB SPECLINK
2PXL LINK SWAP,4
2RBG SWAPLINK
2T*2 LINK SWAP,2
2TSL #
2W#= #
2WRW UGEO3 MELUNRING 3
2X?G #SKI K6LLSTEST>499-499
2XR6 (
2Y=Q LDX 0 ABW1(3)
2YQB ADX 0 ABW2(3)
2^=2 ADX 0 ABW3(3)
2^PL ADX 0 ABW4(3)
329= BNZ 0 (GEOERR) [QUICK CHECK THAT DERINGED
32NW )
338G EXIT 4 0
33N6
347Q #
34MB # SUBROUTINE TO SET FAIR WAIT TIME AND TIME LAST RUN,X3-> JOBBLOCK
3572 # LINK X0,USES X4,5,6,7,ON EXIT X1=FX1 X2=FX2
35LL #
35P9 ...[ WITH IGNOREFWT RESTORE TIME MACRO SWAITCHED ON (WHICH IS AALSO
35RS ...[ THE DEFAULT); JCFWT IS SET TO ZERO RATHER THAN CALCULATED(WHICH
35WC ...[ IMPLIES FWT NOT USED WHEN SELECTING PROGRAM TO SWAP IN) UNLESS
35^2 ...[ HLS IS OFF FOR TYPE OF JOB WHOSE PROGRAM IS BEING UNPLUGGED AND
363K ...[ CPIFORTIMES IS IN USE.
366= #
36KW SFWT STO 0 GEN0
375G LDX 1 FX1
37K6 LDX 5 HTIMES(3)
384Q ADN 5 K9-1 [ROUND UP
38JB DVS 4 PK9(1) [X5 HAS RESULT
3942 LDX 7 JCPI(3)
3?7= ... JBS XBACK,3,JBOFFL [J IF BACKGROUND JOB
3?7D ... SEGENTRY K44UNPLUG
3?7S ... JBS XK42,,HLSMFS
3?9L ... LDX 7 IMOPCPI [HLS OFF FOR MOP
3?=S ... LDN 2 0
3?#2 ... BRN MOP
3?*8 ...XBACK
3?*B ... SEGENTRY K45UNPLUG
3?*Q ... JBS XK42,,HLSBFS
3?CJ ... LDX 7 IMOPCPI [HLS OFF FOR BACKGROUND
3?G6 LDN 2 1
3?^Q SBN 7 100
3#FB NGX 7 7 [=100-MOPCPI
3#^2 MOP
3*4X ... SEGENTRY K40UNPLUG
3*#P ... BSOFF CPIBIT,XK42 [J IF CPIFORTIMES NOT IN USE
3*DL DVS 6 HLSCOUNT(2)
3*Y= LDX 6 7 [ MAKE FRACTION
3BCW LDN 7 0
3BXG DVD 6 TON(1)
3C25 ... SEGENTRY K41UNPLUG
3C7? ...ONHLS BXGE 5 7,XK42
3CWQ ... LDCH 0 APROCNO [NO OF PROCESSORS
3DBB ... DVS 4 0 [> 1 PROCESSOR,CPI MULTIPLE EFFECTI
3DW2 ... [DIVIDEND + QUOTIENT IN X5
3FT= ONE STO 7 JCPI(3)
3FWH ... SEGENTRY K42UNPLUG
3G2B ...XK42
3G3M ... NULL
3G4Y ... NULL
3G69 ... LDN 6 0 [SET FWT = 0 TO IGNORE
3HRQ MEET STO 6 JCFWT(3) [SET FAIR WAITING TIME
3J?B LDX 0 APROCTIME
3JR2 STO 0 JCTLR(3) [AND TIME LAST RUN
3K=L LDX 2 FX2
3KQ= BRN (GEN0)
3L24 ... SEGENTRY K43UNPLUG
3L9W SMALL LDX 6 5
3LPG LDX 5 HOLDUP [ADJUST BY HOLDUP
3M96 MPA 5 THOUSK9(1)
3MNQ BRN MEET
3N8B #
3NN2 # UNPLUG THE PROGRAM WHOSE JOB BLOCK ADDRESS IS IN X3 ON ENTR
3P7L # LINK X7.NO COORDINATION.ON EXIT,X1=FX1,X2=FX2,X3 IS UNCHANGED.
3PM= # OTHER ACCUMULATORS ARE DESTROYED.
3Q6W #
3QLG SUNPLUG1
3R66 LDX 5 3 [STORE JOB BLOCK ADDR
3RKQ FPCAJO 3
3S5B PCATEST 3,NORMAL,TP,PUC
3SK2 TP FINDPUC 3,3
3T4L PUC CALL 4 UGEO3 [DERIND PUC
3TJ= FINDTP 3,3
3W3W NORMAL
3WHG CALL 4 UGEO3 [DERING TP/NORMAL
3X36 XM4
3XGQ TRACE JOBNO(3),UNPLUGGD
3Y2B LDX 3 5 [RESTORE JOBLOCK ADDR
3YG2 EXIT 7 0
3Y^L #
3^F= #
3^YW # SUBROUTINE TO UNLOCK THE PRB AND ANY OLPAS.LINK X7.ON EXIT,X1=FX1,
42DG # X2=FX2,ALL OTHER ACCUMULATORS ARE DESTROYED.
42Y6 #
43CQ SUNPLUG2
43XB LDX 5 3 [PRESERVE JOB BLOCK ADDR
44C2 FPCAJO 3 [FIND PCA
44WL LDX 2 3
45B= HUNT2 1,APERI,APERIRES,3 [X1 ->PRB
45TW PCATEST 3,NORM,TP1,PUC1
46*G TP1 FINDPUC 2,2 [X2 ->PUC
46T6 PUC1 LDN 0 A1(1)
47#Q SBS 0 APRB(2) [ADJUST PUCS PRB PTR
47SB FINDTP 2,3 [X3 -> TP
48#2 NORM UNLOCK 1 [UNLOCK PRB
48RL BRN PUN3
48^W ...PUN2
4986 ...#UNS CAFSINT
49BB ... JCAFSBSY 3,PUN3 [OMIT UNLOCK FOR BUSY CAFS CHANNEL
49JL ... UNLOCK 3
49QW PUN3 LDX 3 ACTRING(3)
4==G SBN 3 ACTRING
4=Q6 LDCH 0 ATYPE(3)
4?9Q SBN 0 AOLPT/64
4?PB BZE 0 PUN2 [UNLOCK ANY OLPAS
4?^8 ... LDX 3 5 [RELOAD JOB BLOCK ADDR.
4#92 EXIT 7 0
4#NL #
4*8= #
4*MW # ROUTINE TO JBUSY AN ONLINE PERIPHERAL.ENTERED WITH X4 -> DEVICE
4B7G ...# LIST.X6 IS LINK.DOES JBUSY AND EXITS 0 IF BUSY.IF FAILED,EXIT 1 IS
4BM6 # OBEYED.EXIT 2 IS OBEYED IF THE
4C6Q # PERIPHERAL IS NOT BUSY AND HAS NOT FAILED.
4CLB # NO COORDINATION. ON EXIT, X1=FX1,X2=FX2;X0,X5,X6 ARE DESTROY
4D62 #
4DKL UNBUSY
4F5= LDX 1 FX1
4FJW LDX 2 FX2
4G4G ... JBUSY 4,(6) [EXIT 0 IF BUSY
4GJ6 ... JSBUSY 4,(6)
4H3Q ... ADN 6 1
4HHB ... JFAIL 4,(6) [EXIT 1 IF FAILED
4J32 EXIT 6 1 [EXIT 2 IF OK
4JGL #
4K2= #
6=R= ...[ SUBROUTINE TO DECANT PROGRAM TIMERS, CONVERT TO MILLISECONDS,ACCUMULAT
6=RS ...[ AND UPDATE TIME USED FOR EACH MEMBER.
6=SB ...[ X1 -> PCA, LINK X7 (MOVED), [ X1 -> PCA, LINK X7 (MOVED), X4,X5,X6,X7
6=SY ...TIMERS
6=TG ... STO 7 GEN2 [REMEMBER LINK
6=W4 ... [STARTING AT LAST MEMBER
6=WL ... LDN 7 ATM4-ATM1 [-> MEL RELATIVE TO ATM1
6=X8 ... LDN 6 4 [NUMBER OF MEMBER
6=XQ ...TM1 SMO 7
6=Y# ... LDXC 5 ASU1(1)
6=YW ... BCS TM2 [NULL MEMBER
6=^D ... SMO 7
6?22 ... LDX 5 ATM1(1) [TIME USED
6?2J ... DVS 4 BEATTIME [CONVERT TO MILLISECONDS
6?36 ... SMO 7
6?3N ... STO 4 ATM1(1) [LEAVE REMAINDER
6?4= ... SMO 6
6?4S ... ADS 5 ATU1-1(1) [TIME USED
6?5B ... ADS 5 GEN1 [ACCUMULATE TIME USED
6?5Y ...TM2 SBN 7 ATM2-ATM1 [UPDATE TO NEXT MEL
6?6G ... BCT 6 TM1 [NEXT MEMBER
6?74 ... BRN (GEN2)
6?7N ...#
6?7P ...# FOR B0233: S/R TO ZEROISE POINTER IN DEVICE LIST,FOR EXEC
6?7Q ...# TO TEST TO SEE IF PROGRAM UNPLUGGED, SO AVOIDING TROUBLE
6?7R ...# FROM SPURIOUS INTERRUPTS - SEE B9610.
6?7S ...# UNNECCESSARY BUT HARMLESS FOR NOTBUSY MACRO.
6?7Y ...#
6?82 ...SDPTR
6?86 ... SMO 4
6?88 ... STOZ JCCA5
6?8= ... EXIT 6 0
6?8# ...#
6?8L [
6?N= [
6#7W [ SUBROUTINE TO UNBUSY AND CHECK FOR TIMEUP AND PORFAIL
6#MG [ LINK X7,EXPECTS X7-> PCA,USES X6,X3,X5
6*76 [
6*LQ [
6B6B NOTBUSY1
6BL2 SBX 7 FX1
6C5L PCATEST 2,NBNORM,NBNORM
6CK= FINDTP 2,2 [X2 -> TP
6D4W NBNORM
6DJG LDX 3 APRB(2) [X3 ->1ST ENTRY IN PRB
6F46 SMO FX2
6FHQ STO 2 AWORK2
6FMM ... LDX 2 FX2
6FRJ ...[
6FXF ...[ THE FOLLOWING CORRECTS B3341 WHICH MEANT WE ONLY TRIED
6G3B ...[ TO UNBUSY A PERIPHERAL ONCE
6G7? ...[
6G?8 ...NEXT
6GC5 ... LDX 5 IREVIEW
6GH2 ...[
6GLX ...NEXT1
6GQS ... LDXC 0 0(3)
6GWP ...[
6H2L BCS PRBEND
6HG= LDXC 1 1(3)
6H^W BCC ONLINE1 [J IF ONLINE
6JFG ANDX 1 BITS22LS
6JK5 ... SBN 1 CHAINADD [X1 -> OLPA
6K4P ... JCBB 1,XIPCCHECK [J IF IPC AND CHANNEL BUSY
6K*Y ...#UNS CAFSINT
6KM7 ... JCAFSBSY 1,XCAFSCHECK [JIF CAFS CHANNEL BUSY
6KYB LDX 0 0(3)
6LD2 SLC 0 9
6LXL ANDN 0 #177
6MC= SBN 0 #30
6MWW BNZ 0 NOTIPB
6NBG CONCISBY 1,NBACK [J IF CONC IPB NOT BUSY
6NL# ... BRN XIPBCHECK [FOR B8179
6NW6 ...WAIT
6PTB UNPL COOR3 #41 [WAIF K9MS
6Q*2 ... JBC NEXT1,2,TIMEOUT [IF NO TIMEOUT WE LOOP TILL
6QSL ... BCT 5 NEXT1
6R#= BRN NBUP [IF NOTBUSY INFORM THEM OF BUSY PER
6R#Q ...#UNS CAFSINT
6R*= ...XCAFSCHECK
6R*S ...XIPBCHECK
6RCB ...XIPCCHECK
6RDY ... JBS WAIT,2,NOTBUSY [J IF NOT UNPLUG MACRO
6RGG ... FJOPCA 1,FX2
6RKL ... JBS NBACK,1,JBREEF [OK IF PROG IS REALTIME
6RNQ ... BRN WAIT
6RRW NOTIPB
6S?G JAUTOFF 1,NBACK
6SR6 JAUTFAIL 1,NBACK
6T=Q BRN WAIT
6TQB ONLINE1
6W=2 ANDX 1 BITS22LS
6WPL CHECKFLA 1,NOTFLAG [WE IGNORE FLAG WAVERS
6X9= NBACK BDX 3 NEXT [GET NEXT PER
6XNW NOTFLAG
6Y8G JCANTENG 1,NBACK [IGNORE NON ENGAGEABLES
6YN6 LDX 4 1
6^7Q CALL 6 UNBUSY
6^L4 ... BRN WAIT [BUSY
724B ... BRN PHAIL [FAILED
72GP ...# THE FOLLOWING LINES INVOLVING NPTR DEAL WITH B9610
72WD ... BRN NPTR
73=7 ...PHAIL JBC NPTR,2,RETURN
73KW CLFAIL 4 [CLEAR FAILURE COUNT
73TN ...NPTR
745G ... CALL 6 SDPTR
74*# ... BRN NBACK
74K6 PRBEND
754Q LDX 1 FX1
75JB JBC STOP,2,RETURN
7642 JBC NOCHECK,2,REPLY
76HL STOP [CHECK FOR PERFAIL & TIME UP
773= LDX 2 AWORK2(2) [X2 ->PCA(TP IF RCTP)
77?4 ... LDX 3 2
77GW PCATEST 2,USUAL,,(GEOERR)
782G FINDPUC 2,3 [X3 -> PUC
78G6 LDEX 0 ASTOP(3)
78^Q BNZ 0 PERFAIL
79FB USUAL LDEX 0 ASTOP(2)
79^2 BZE 0 NOPF
7=DL PERFAIL
7=Y= LDN 3 P17(1) [PERFAIL LINK
7?CW BRN MEET1
7?MN ...NOPF BBS 1,ASTOP(3),TIMEUP
7?XG ... BBUS 1,ASTOP(2),NOCHECK [J IF NO TIME UP
7#7# ...TIMEUP
7#C6 LDN 3 P18(1) [FOR ILLEGAL TIMEUP
7#WQ MEET1 JMBAS UP,FX2,REPLY,NOTBUSY [J IF TO BE REPORTED TO CALLING
7*BB ... JBSC XLINK,FX2,REPLY [CLEAR REPLY SWITCH TO REMMBER FAIL
7B*L SMO FX2
7BT= LDX 2 AWORK2
7C#W JBS USEPCA,FX2,SWAPOUT
7CSG FINDLINK 2
7D#6 USEPCA
7DRQ LINKSET 2,0(3)
7DW* ... BRN XTEST
7DYY ...XLINK
7F3H ... LDX 0 0(3)
7F66 ... STO 0 ACOMMUNE1(2)
7F8P ...XTEST
7F?B JBC NOSB,FX2,STEPBAC [J IF NO STEPBAC REQD
7FR2 DATUMA 3
7G=L STEPBAC1 ,3 [ADJUST ONR
7GQ= TRACE 8(3),WORD8ALT
7H9W NOCHECK
7HPG ...NOSB LDX 1 FX1
7J96 LDX 2 FX2
7JNQ ADX 7 FX1
7K8B EXIT 7 0 [AT LAST !
7KN2 [
7L7L [ ENTRIES FOR NOTBUSY
7LM= [
7M6W XX10U
7MLG STOZ AWORK1(2)
7N66 MBS 2,RETURN,REPLY,NOTBUSY
7NKQ BRN NBJOIN
7P5B XX2U STOZ AWORK1(2)
7PK2 MBS 2,RETURN,NOTBUSY,REPLY,TIMEOUT
7Q4L NBJOIN
7QJ= LDX 2 ACOMMUNE1(2) [X2-7 PCA
7R3W CALL 7 NOTBUSY1
7RHG UPPLUS 1 [OK
7S36 UP LDX 0 0(3)
7SGQ STO 0 ACOMMUNE1(2)
7T2B NBUP UP [REPORT TO CALLING ROUTINE
7TG2 [
7T^L [ ENTRY FOR VARIOUS UNPLUGS SEE PRM
7WF= [
7WYW XX8U
7XDG BSXD 0,STEPBAC
7XY6 BRN XJOIN
7YCQ XX18U LDN 0 0
7YXB BRN XJOIN
7^C2 XX28U BSXD 0,RETURN
7^WL BRN XJOIN
82B= XX38U MBSXD 0,RETURN,REPLY
82TW XJOIN STO 0 AWORK1(2)
83*G FJOPCA 3,2
85#W ...[ EMPTY PROGRAM MILL TIMERS
85*5 ... STOZ GEN1 [TO ACCUMULATE TIME YSED
85*# ... LDX 1 2 [ADDRESS OF PCA
85*H ... PCATEST 2,NORM3,,PUC3 [CHECK RCTP
85*Q ... FINDPUC 1,1 [OBEYED IF TP
85*^ ...PUC3 CALL 7 TIMERS [DECANT FOR PUC PCA
85B8 ... FINDTP 1,1 [SET UP FOR TP PCA
85BC ...NORM3 CALL 7 TIMERS [DECANT TIMERS
85BL ... LDX 5 GEN1 [TOTAL MIL USED
85BT ... LDN 4 0
85C4 ... ADSC 5 GPROGTIME+1 [STEP TOTAL OBJECT PROGRAM TIME
85C? ... ADS 4 GPROGTIME
85CG ... ADSC 5 HCLOCKTIME+1(3)
85CP ... ADS 4 HCLOCKTIME(3)
85CY ...[
85D7 ...[ CHARGE TIME SPENT IN PCA AND OLPAS
85DB ... LDN 6 0
85DK ... PCATEST 2,NORM1,TP2,PUC2
85DS ...TP2 FINDPUC 2,2
85F3 ...PUC2 ADX 6 ACTCHCH(2)
85F= ... STOZ ACTCHCH(2)
85FF ... FINDTP 2,2
85FN ...NORM1 ADX 6 ACTCHCH(2)
85FX ... STOZ ACTCHCH(2) [CHARGE FOR PCAS
85G6 ... LDX 1 APRB(2) [X1 -> PRB
85G* ...TOUR LDXC 0 0(1)
85GJ ... BCS PEND
85GR ... LDXC 2 1(1)
85H2 ... BCC ONLINE [J IF ONLINE PERI
85H9 ... ADX 6 ACTCHCH-CHAINADD(2)
85HD ... STOZ ACTCHCH-CHAINADD(2)
85HM ...ONLINE
85HW ... BDX 1 TOUR [BACK FOR NEXT
85J5 ...PEND FCAJO 2,3 [X2 -> CPA
85J# ...PEND1 LDX 7 ATUSE(2)
85JH ... MPA 6 CHAPTIME
85JQ ... DVD 6 BEATTIME [CONVERT
85J^ ... ADX 5 7 [TOTAL
85K8 ... STO 6 ATUSE(2) [REMAINDER
85KC ... FPCAJO 2,3 [X2 -> PCA
85KL ...[
85KT ...[ UPDATE TIMERS IN JOB BLOCK AND SET STOP WORD IF TIME-UP CONDITION
85L4 ... LDN 4 0
85L? ... ADSC 5 HTIMEJ+1(3)
85LG ... ADS 4 HTIMEJ(3) [STEP JOB TIME
85LP ... SBSC 5 APROGTIME+1(3)
85LY ... SBS 4 APROGTIME(3) [STEP PROGRAM TIME
85M7 ... ADS 5 HTIMES(3) [STEP SLOT TIME
85MB ...#SKI G4
85MK ... SBS 5 HRTIMES(3) [REDUCE TIME LEFT TO END OF SCI
85MS ... LA ASTOPTIM,5 [SET PROGRAM TIMEUP
85N3 ... LDX 6 APROGTIME(3) [TEST IF PROGRAM TIMEUP
85N= ... BNG 6 TC3 [YES
85NF ... LA ASTOPJOB,5 [SET JOB TIME UP
85NN ... LDXC 7 HTIMEJ+1(3)
85NX ... LDX 6 HTIMEJ(3)
85P6 ... TXL 7 ATIMEJ+1(3) [TEST IF TIME UP FOR JOB
85P* ... TXL 6 ATIMEJ(3)
85PJ ... BCC TC3 [YES
85PR ... LDN 5 0 [SET NO TIMEUPS
85Q2 ...TC3
85Q9 ... ORS 5 ASTOP(2) [SET ANY TIMEUP STOP BIT
85RL CALL 7 NOTBUSY1
86?= FJOTP 3,2 [X3 -> JOBBLOCK
86QW CALL 0 SFWT
87=G BS 3,JBSTOP
87Q6 BC 3,JBPLUG
88PB JBS REAL,3,JBREEF
8992 CALL 7 SUNPLUG1 [ONLY DERING NON REALTIME
89NL REAL CALL 7 SUNPLUG2 [UNLOCK BLOX
8=8= JBS UPPL,2,REPLY
8=MW UP
8?7G UPPL UPPLUS 1
8?M6 [
8#6Q [ ENTRIES FOR UNPLUG PRIOR TO SWAPOUT
8#LB [
8*62 XX7U STOZ AWORK1(2)
8*KL BS 2,SWAPOUT
8B5= BRN SPEC
8BJW XX5U STOZ AWORK1(2)
8C4G MBS 2,SWAPOUT,NOSFWT
8CJ6 SPEC
8D3Q CALL 7 NOTBUSY1 [DO UNBUSY ETC
8DHB FJOTP 3,2
8F32 BS 3,JBSTOP
8FGL BC 3,JBPLUG
8G2= JBS NOFWT,2,NOSFWT
8GFW CALL 0 SFWT
8G^G BRN NOTSPEC
8HF6 NOFWT
8HYQ MBI 3,JBSTOP,JBPISO
8JDB NOTSPEC
8JY2 JBS (GEOERR),3,JBREEF
8KCL CALL 7 SUNPLUG1
8KX= CALL 7 SUNPLUG2 [DO ACTUAL UNPLUG
8LBW LDN 3 SPECLINK(1)
8LWG JBS SPECO,2,NOSFWT
8MB6 LDN 3 SWAPLINK(1)
8MTQ SPECO ACROSSVA 0(3) [DO SWAPOUT
8N*B [
8NT2 [ ENTRY FOR USE BY ASWINT TO UNPLUG AND NOTBUSY A PLUGGED IN
8P#L [ PROGRAM PRIOR TO PROGRAM MOVE
8PS= [
8Q?W [
8QRG XX9U STOZ AWORK1(2)
8R?6 MBS 2,RETURN,NOTBUSY,TIMEOUT
8RQQ STO 3 AWORK4(2) [KEEP PCA PTR
8S=B LDX 2 3
8SQ2 CALL 7 NOTBUSY1
8T9L FJOTP 3,AWORK4(2)
8TP= CALL 7 SUNPLUG1
8W8W CALL 7 SUNPLUG2
8WNG MBI 3,JBPLUG,JBSTOP [SET UNPLUGGED
8X86 UPPLUS 1
8XMQ # THIS SECTION IMPLEMENTS THE UNPLUGRT MACRO TO ACTUALLY
8Y7B # UNPLUG (MELUNRING) A REALTIME PROGRAM
8YM2 #
8^6L XX3U
8^L= FPCACA 2
8^LP ... LDX 5 2 [SAVE PCA PTR
8^M9 ... HUNT2 2,APERI,APERIRES
8^N8 ... LDX 1 2
8^NM ... LDN 7 0 [SET OLPA COUNT
8^P7 ...UPRTX0
8^Q6 ... LDXC 0 A1(2)
8^R5 ... BCS UPRTX1 [J IF END OF PRB
8^S4 ... LDXC 0 A1+1(2)
8^T3 ... BCC UPRTX2
8^TC ... ADN 7 1 [UPDATE OLPA COUNT
8^TR ... LDX 6 7
8^TT ... [FIND NTH OLPA
8^TX ... LDX 3 5
8^T^ ... [ADDRESS OF APET
8^W3 ...NOLPA
8^W5 ... LDX 3 ACTRING+FPTR(3)
8^W7 ... SBN 3 ACTRING
8^W9 ... TXU 3 FX2
8^W? ... BCC (GEOERR)
8^W* ... LDCH 0 ATYPE(3)
8^WC ... SBN 0 AOLPT/64
8^WF ... BNZ 0 NOLPA
8^WH ... BCT 6 NOLPA [X3->OLPA
8^W^ ... JCBB 3,UPRTX3 [J IF IPC AND CHANNEL BUSY
8^X3 ...#UNS CAFSINT
8^X5 ... JCAFSBSY 3,UPRTX3 [JIF CAFS CHANNEL BUSY
8^X8 ...# [FOR B8179
8^X9 ... LDX 0 A1(2) [CHECK IF THIS AN IPB DEVICE
8^X= ... SLC 0 9
8^X? ... ANDN 0 #177
8^X# ... SBN 0 #30 [JIF NOT AN IPB - CAN'T DO A
8^X* ... BNZ 0 UPRTX2 ['CONCISBY' FOR OTHER DEVICES!!!
8^XC ... CONCISBY 3,UPRTX2 [J IF CONC IPB NOTBUSY
8^XL ... BRN UPRTX3
8^XY ...UPRTX2
8^YX ... BDX 2 UPRTX0
8^^W ...UPRTX3
922T ... COOR3 #41
923S ... BRN XX3U
924R ...UPRTX1
9356 ... HUNT2B 2,AOBJPROG,0,1
93JQ LDX 0 ALOGLEN(2) [DECREMENT CORE USED FOR REALRIME PRO
944B SBS 0 COBJUSRT
94J2 NGNC 0 1
953L ANDS 0 JRETI(2) [ERASE 'REALTIME' MARK IN PROGRAM BLO
962W ... LDX 2 1
96GG UPRT1 LDX 0 A1(2)
9726 BNG 0 UPRT3 [JUMP IF NO MORE ENTRIES
97FQ LDXC 4 A1+1(2)
97^B BCS UPRT2 [JUMP IF OFFLINE
98F2 ANDX 4 BITS22LS
98YL JCANTENG 4,UPRT15
99D= CHECKFLAG 4,UPRT2 [JUMP UNLESS FLAGWAVER
99XW UPRT15
9=CG DISENGPER 4
9=M# ... CALL 6 SDPTR [FOR B9610
9=X6 UPRT2 BDX 2 UPRT1 [BACK FOR NEXT
9?BQ UPRT3
9?WB FJOCA 3,FX2
9#B2 CALL 7 SUNPLUG1 [UNPLUG AND FREE EXEC SOCKET
9#TL BC 3,JBREEF [UNSET REALTIME EFFECTED MARKER
9**= UP
9*SW XX4U
9B#G FINDPUC 2,3
9BS6 CALL 4 UGEO3 [UNPLUG THE PUC
9C?Q UP
9CRB MENDAREA 50,K100UNPLUG
9D?2 #END
^^^^ ...600434500003