{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: WAIT867)}}
====== WAIT867 ======
(George Source)
**Macros used:** [[george:macro:ABANDCOM|ABANDCOM]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXU|BXU]], [[george:macro:CLOSE|CLOSE]], [[george:macro:COMERR|COMERR]], [[george:macro:DOFINDGV|DOFINDGV]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FJOCA|FJOCA]], [[george:macro:FOX|FOX]], [[george:macro:FREEBUFF|FREEBUFF]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HLSINFORM|HLSINFORM]], [[george:macro:HUNT|HUNT]], [[george:macro:LONGOFF|LONGOFF]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:LONGWAIT|LONGWAIT]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NIP|NIP]], [[george:macro:OPEN|OPEN]], [[george:macro:OUTPAR|OUTPAR]], [[george:macro:PARAFREE|PARAFREE]], [[george:macro:PARALYSE|PARALYSE]], [[george:macro:PARAPASS|PARAPASS]], [[george:macro:PARSPLIT|PARSPLIT]], [[george:macro:READ|READ]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPARANXT|SPARANXT]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:TESTHOOK|TESTHOOK]], [[george:macro:TESTREPNOT|TESTREPNOT]], [[george:macro:TRACE|TRACE]]
22FL #LIS K0WAIT>K0ALLGEO>K0GREATGEO
22N# ... SEG WAIT,867,SECTION CENT,,G400
22X2 ...[
235N ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982
23#B ...[
23H4 ...#UNS G400
23PQ ...# THIS CHAPTER IS FOR G3PLUS-IH MK 2
23T6 ...#
23YG SEGENTRY K1WAIT,SENTRY1
2435 ...[
245N ...[ SEGENTRY K50WAIT USED BY RESTORE-TIME MACRO
248? ...[ SEGENTRY K80WAIT, K81WAIT USED BY RT MACRO SGEXHOOK (INST HK
24=W ...[ SEGENTRY G400WAIT USED BY INSTALLATION HOOKS
24*F ...[
24D6 WDUMP 4HDUMP
24QG ...WNIPTIME 7HLPSTIME
24XQ WTYPE 4HSECS
25CB 4HMINS
25X2 4HHRS
26BL SIXTY +60
26W= PHON +FONINTP
26X? ...#UNS G400
26Y# ...(
26^* ... SEGENTRY G400WAIT
272B ...WTCT +120/FONINTP
273C ...WGLV 4H0GLV
274D ...WIP 4H00IP
275F ...#DEF VLOCK=A1+1 [LOCKOUT WORD
276G ...#DEF VDATALEN=A1+2 [POINTER TO END OF USED SPACE,RELAT
277H ...# ENTRY FORMAT
278J ...#DEF VHEADER=0 [ENTRY HEADER
279K ...#DEF REDTAPE2=1 [2ND WORD OF RED TAPE
27=L ...#DEF VNAME=2 [3 WORD VARIABLE NAME
27?M ...#DEF VDATA=5 [VALUE DATA
27#N ...)
27*W #
27TG # THIS SEGMENT OBEYS THE WAIT COMMAND.
28*6 # THE PARAMETER IS CONVERTED BY MACRO PARASPLIT AND IF NOT OF CORRECT
28SQ # FORMAT PROGRAM RETURNS TO COMMAND PROCESSING LEVEL.
29#B # OTHERWISE ACTIVITY IS PUT ON WAITING QUEUE AND TESTED EVERY FONINTP
29S2 # IF TIME HAS EXPIRED OR A BREAK-IN HAS BEEN MADE PROGRAM RETURNS TO
2=?L # COMMAND PROCESSING LEVEL.
2=R= #
2?=W # CODE TO MAKE JOB T/S IF IT WAS FULLY STARTED
2?QG #
2#=6 STYLE #31
2#PQ #32
2*9B SEGENTRY K50WAIT [SPECIAL MEND
2*P2 TENTS ANDN 0 #4000 [X0 CONTAINS COPY OF CONTEXT
2B8L BZE 0 NOTFS
2BN= LDN 0 #6000
2C7W ERS 0 CONTEXT(2) [SWITCH CONTEXT -> T/S
2CMG LDN 3 4
2D76 ANDX 3 CONTEXT(2) [SET X3=0 IF B/G JOB
2DLQ FJOCA 2
2F6B NGNC 0 1
2FL2 ANDS 0 JURGE(2)
2G5L LDX 2 FX2
2GK= LDN 0 1
2H4W BZE 3 XBG [ X3=1 IF MOP
2HJG LDN 3 1
2J46 XBG SBS 0 HLSCOUNT(3) [ADJUST APPROPRIATECCOUNTWWORD
2K3B SMO 3
2KH2 LDX 0 STYLE(1)
2L2L FOX 0 [WAKE UP ACTIVITIES IF PREHLS
2LG= NOTFS EXIT 7 0
2LMC ...[ ROUTINE TO INFORM HLS OF WAITCOM EVENT
2LP6 ...[ X5 CONTAINS WAITING STYLE
2LQT ...NOTIFYHLS
2LRN ... SBX 4 FX1
2LSJ ... HLSINFORM WINT,WAITCOM,JOBNO(2),5
2LTC ... ADX 4 FX1
2LW? ... EXIT 4 0
2LXF ...[
2LYM ...[
2L^W SENTRY1
2MFG PARAPASS [PUT PARAMETER IN A IN CPB/CUNI BLOC
2M^6 MHUNT 3,CPB,CUNI
2NDQ ... LDX 6 ANUM(3)
2NYB ... BZE 6 WNULL [J IF NULL
2PD2 LDX 5 AWAITEND [IF MISSING WAIT
2PXL ... BNG 6 WMINS [FOR WAITTIME IP
2QC= LDX 0 APARA(3)
2QDM ...#UNS G400
2QG4 ...(
2QHF ... SRL 0 6
2QJW ... TXU 0 WGLV(1)
2QL? ... BCC XGLV [J FOR GLOBAL VARIABLES
2QMN ... SRL 0 6
2QP5 ... TXU 0 WIP(1)
2QQG ... BCC XIP [J FOR IP
2QRX ... LDX 0 APARA(3)
2QT# ...)
2QWW TXU 0 WDUMP(1)
2RBG BCC XDUMP
2RCD ...[
2RDB ...[
2RF# ... LDX 4 ANIPSW
2RG= ... BZE 4 NOTNIP [J IF LPS NOT SWITCHED ON
2RH8 ... SBN 6 7
2RJQ ... BNZ 6 NOTNIP [CANT BE NIP PARAM UNLESS 7 CH LONG
2RL# ... BXU 0 WNIPTIME(1),NOTNIP
2RMW ... LDX 0 APARA+1(3)
2RPD ... BXE 0 WNIPTIME+1(1),NIP [J IF NIP PARAM
2RR2 ...NOTNIP
2RW6 PARSPLIT 4 [CONVERT PARAMETER
2S*Q [PARSPLIT : REPLY WORD = 0 MEANS NO LETTER STRING.
2STB [ =1MEANS NULL PARAMETER
2T*2 [ =2 MEANS PARAMETER ABSENT.
2TSL [ = 3 MEANS PARAMETER FORMAT ERROR(REPORTED BY PSPL
2W#= BNG 4 WCONT [J IF CHAR STRING
2WRW LDX 5 ACOMMUNE1(2)
2X?G BZE 5 WEND [END IF ZERO TIME
2XR6 BZE 4 WMINS [J IF NO CHAR STRING= MINS
2Y=Q BRN WEND [ERROR OTHERWISE (REPORTED BY PARSPLI
2YQB WNULL
2^=2 COMERR JPARNULL [ERROR MESSAGE :NULL PARAMETER
2^PL WERMCH
329= COMERR ERMCH
32NW WCONT
34MB LDX 5 ACOMMUNE1(2) [LOAD NUMBER
3572 BZE 5 WEND [J TO END IF ZERO WAIT
35LL STOZ 6
366= TXU 4 WTYPE(1)
36KW BCC WSECS1 [SECS
375G TXU 4 WTYPE+1(1)
37K6 BCC WMINS [MINS
384Q BXU 4 WTYPE+2(1),WERMCH [HRS?
38JB MPY 5 SIXTY(1) [CONVERT TO MINUTES
3942 LDX 5 6
39HL STOZ 6
3=3= WMINS BZE 5 WEND [J IF ZERO TIME
3=GW MPY 5 SIXTY(1) [CONVERT TO SECONDS
3?2G BRN WSECS
3?G6 WSECS1 STO 5 6
3?^Q LDN 5 0
3#FB WSECS
3#^2 DVR 5 PHON(1) [DIVIDE BY INTERRUPT INTERVAL
3*DL WWAIT MONOUT AWAIT [OUTPUT 'WAITING AS DIRECTED'
3*Y= LDXC 0 CONTEXT(2)
3BCW BCS SYSIS [J IF SYS ISSUED
3BXG CALL 7 TENTS
3CC6 SYSIS MFREE CPB,CUNI
3CWQ STO 6 AWORK1(2) [SAVE COUNT
3DBB BZE 6 WEND [OUT IF WAITTIME<3SECS
3DL7 ... LDN 5 #62
3DNQ ... CALL 4 NOTIFYHLS
3DS8 ... LDX 0 6 [ WAITIME IN SECS
3DSF ... SBN 0 4 [ IF NOT LONGER THAN 4 SECS DON'T FREEBUFF
3DSQ ... BNG 0 XFBSKIP
3DT3 ... FREEBUFF JOB [ FREES FURBS AND WRITES AWAY FUWBS TO WHOLE JOB
3DT# ...XFBSKIP
3DW2 XWAIT LONGWAIT WINT,#62 [SET ACTIVITY WAITING,WOKEN EACH FONI
3F*L TIME
3FT= #SKI K6WAIT>99-99
3G#W TRACE 6,X6/WAIT=
3GSG BCT 6 XWAIT
3H#6 WEND
3HRQ ENDCOM
3J?B WINT ABANDCOM [IF COMMAND IS BROKEN IN ON,
3JR2 # THE WAIT IS ABANDONED' (WITH COMBRKIN , IT MAY BE RE-INIT
3K=L XDUMP MONOUT HDUMPWT
3KQ= LDXC 0 CONTEXT(2)
3L9W BCS SYST [J IF SYSTEM ISSUED
3LPG CALL 7 TENTS
3M96 SYST MFREE CPB,CUNI
3M#^ ... LDN 5 +ASTTDUMP
3MB= ... CALL 4 NOTIFYHLS
3MDF ... FREEBUFF JOB [ FREES FURBS AND WRITES AWAY FUWB TO WHOLE JOB
3MN8 ...[
3MXX ...XK3
3N7L ... LONGWAIT WINT,ASTTDUMP [WAIT FOR START OF DUMP
3NC* ... LONGWAIT WINT,AFINDUMP [WAIT FOR DUMP TO FINISH
3NM4 ... BRN WEND
3NWR ...[
3P6J ...NIP
3P6L ...[ CHECK FOR SYS ISS
3P6N ... FREECORE 3 [FREE CUNI
3P6Q ... LDXC 0 CONTEXT(2)
3P6S ... BCS NIPOK
3P6W ... COMERR INCDUMP
3P6Y ...NIPOK MONOUT AWAIT
3P72 ...[ NO NEED FOR HLSINFORM COS SYS ISS
3P74 ... FREEBUFF JOB
3P76 ... LDN 7 60/FONINTP
3P78 ... LDN 6 0
3P7= ...NIP1 BXGE 6 INIPTIME,WEND [J IF TIME UP
3P7# ... LONGWAIT WINT,#62,,,7 [WAIT FOR A MINUTE
3P7B ... BUX 6 NIP1 [UPDATE COUNT &RECHECK
3PM2 ...#UNS G400
3Q6L ...(
3QBD ...XGLV
3QL= ...# WAIT FOR CHANGE IN GLOBAL VARIABLE
3QQ7 ... SEGENTRY K80WAIT
3QW4 ... TESTHOOK XGLV1 [J IF IN HOOK
3Q^^ ... COMERR HOOKONLY [GLV ONLY ALLOWED IN A HOOK
3R5W ...[
3R9R ... SEGENTRY K81WAIT
3R*N ...XGLV1
3RFK ... PARALYSE [SPLIT NAME FROM "GLV"
3RKG ... LDN 6 2
3S56 ... SPARANXT ,,6 [PASS NAME
3SJQ ... CHECKLFN2 XERRF,XERRF [CHECK FORMAT
3T4B ... LDX 0 ACES [SPACE-FILL AWORKS
3TJ2 ... STO 0 AWORK1(2)
3W3L ... STO 0 AWORK2(2)
3WH= ... STO 0 AWORK3(2)
3X2W ... MHUNT 3,CPB,CUNI
3XGG ... LDN 5 AWORK1(2)
3Y26 ... LDN 4 APARA(3)
3YFQ ... SMO ANUM(3)
3Y^B ... MVCH 4 0
3^F2 ... PARAFREE [TIDY UP
3^YL ... SPARANXT ,,6 [PASS VALUE
42D= ... CALL 7 XCHECKGV [CHECK VALUE
42XW ... BRN XGLVWT [WAIT IF UNCHANGED
43CG ... BRN WEND [END IF CHANGED
43X6 ...XERRF COMERR APFERR
44BQ ...XGLVWT
44WB ... MONOUT AWAIT
45B2 ... LDX 6 AWORK1(2)
45TL ... ADX 6 AWORK2(2)
46*= ... ADX 6 AWORK3(2)
46SW ... LDX 5 WTCT(1)
47#G ...XAGN1 LONGSET G400GVWT,XALRWT,6
47S6 ... LONGSTOP WINT,XTORS,,REENT,5
48?Q ... CALL 7 XCHECKGV
48RB ... BRN XAGN [J IF GV NOT CHANGED
49?2 ... BRN WEND [J IF IT HAS,WAIT LIFTED
49QL ...XAGN SMO FX2
4=== ... LDX 5 CLONG3
4=PW ... BRN XAGN1
4?9G ...# TIME OUT OR SPURIOUS DESUSPENSION
4?P6 ...XTORS CALL 7 XCHECKGV [CHECK IF CHANGED
4#8Q ... BRN XTORS1 [J IF NOT
4#NB ... BRN WEND [OTHERWISE END
4*82 ...XTORS1
4*ML ... SMO FX2
4B7= ... LDX 5 CLONG3
4BLW ... LDN 4 2
4C6G ... TXL 5 4
4CL6 ... BCC REENT
4D5Q ... LONGOFF
4DKB ...TOUT CALL 7 OUTPAR
4F52 ... +XMESSDO
4FJL ... COMERR GENERR [TIME OUT ERROR
4G4= ...XMESSDO +7
4GHW ... 28HMAXIMUM WAIT TIME EXCEEDED
4H3G ...XALRWT GEOERR 1,GLVWAIT
4HH6 ...# SUBROUTINES FOR GLOBAL VARIABLE WAIT
4J2Q ...OUTPAR
4JGB ... SMO 7
4K22 ... LDX 6 0 [LOAD ADDRESS OF TEXT
4KFL ... SBX 7 FX1
4K^= ... LDX 1 FX1
4LDW ... SMO 6
4LYG ... LDX 5 0(1)
4MD6 ... ADN 5 APARA-A1
4MXQ ... SETUPCORE 5,3,CPB,CUNI
4NCB ... SBN 5 APARA-A1
4NX2 ... SLL 5 2
4PBL ... STO 5 ANUM(3)
4PW= ... LDN 2 1
4Q*W ... STO 2 JPARNUM(3)
4QTG ... SMO 6
4R*6 ... LDN 2 1(1)
4RSQ ... ADN 3 APARA
4S#B ... SMO 5
4SS2 ... MVCH 2 0
4T?L ... ADX 7 FX1
4TR= ... EXIT 7 0
4W=W ...XCHECKGV
4WQG ... DOFINDGV AWORK1(2),3 [LOCATE RECORD
4X=6 ... MHUNT 2,CPB,CUNI [FIND QUOTED VALUE
4XPQ ... LDX 0 ANUM(2)
4Y9B ... BNG 3 XXGV1 [NULL VARIABLE
4YP2 ... BNG 0 XXGVX [NO VALUE
4^8L ... BZE 0 XXGVX [NULL VALUE
4^N= ... ANDN 0 #7777
527W ... LDX 4 VHEADER(3) [RECORD COUNT
52MG ... SBN 4 VDATA-VHEADER [-RED TAPE
5376 ... SLL 4 2 [RECORD COUNT(CHARS)
53LQ ... LDCH 5 REDTAPE2(3) [UNUSED CHARS
546B ... SBX 4 5
54L2 ... TXU 4 0
555L ... BCS XXGVX [J IF COUNTS DISAGREE
55K= ...XXGV2 LDCH 5 VDATA(3) [CHAR FROM VAR
564W ... LDCH 1 APARA(2) [CHAR FROM VALUE
56JG ... TXU 1 5
5746 ... BCS XXGVX [J IF DISAGREE
57HQ ... BCHX 2 £
583B ... BCHX 3 £
58H2 ... BCT 0 XXGV2 [LOOPFOR NEXT CHAR
592L ...XXGVOK EXIT 7 0 [EXIT OK
59G= ...XXGV1 BNG 0 XXGVOK [J NONEX
59^W ... BZE 0 XXGVOK [J NULL
5=FG ...XXGVX EXIT 7 1
5=^6 ...XFBSNB 12HSYSTEM
5?DQ ...#SKI G4
5?YB ... 12HPARAMINDEXG4
5#D2 ...#SKI G3
5#XL ... 12HPARAMINDEX
5*C= ... +0
5*WW ... +1
5BBG ... +0
5BW6 ...XIP LDN 4 1
5C*Q ... PARALYSE ,,4
5CTB ... LDN 4 2
5D*2 ... PARALYSE ,,4
5DSL ... PARAPASS
5F#= ...# LOCATE IP FROM PARAMINDEX
5FRW ... SETNCORE 10,3,FILE,FABSNB
5G?G ... LDN 4 10
5GR6 ... STO 4 A1(3)
5H=Q ... ADN 3 A1+1
5HQB ... LDN 2 XFBSNB(1)
5J=2 ... MOVE 2 9
5JPL ... OPEN WINT,READ,QUERY [OPEN SYSTEM,PARAMINDEX
5K9= ... TESTREPNOT OK,XERRF
5KNW ... MFREEW FILE,FABSNB
5L8G ... READ
5LN6 ... CLOSE
5M7Q ... HUNT 2,FILE,FRB
5MMB ... HUNT 3,CPB,CUNI
5N72 ... STO 2 4
5NLL ...STLOOP
5P6= ... LDN 1 0 [SEARCH PARAMINDEX FOR CORRECT
5PKW ... LDX 5 ANUM(3) [INSTALLATION PARAMETER
5Q5G ... ANDN 5 #7777
5QK6 ...TSTAGN
5R4Q ... SMO 3
5RJB ... LDCH 6 APARA(1)
5S42 ... SMO 2
5SHL ... LDCH 7 IPNAME(1)
5T3= ... TXU 6 7
5TGW ... BCC XCARON
5W2G ... ADN 2 IPLINE
5WG6 ... LDX 6 2
5W^Q ... SBX 6 4
5XFB ... ADN 6 IPNAME-A1
5X^2 ... SMO 4
5YDL ... TXL 6 ALOGLEN
5YY= ... BCC XERRF
5^CW ... BRN STLOOP
5^XG ...XCARON
62C6 ... BCHX 1 £
62WQ ... BCT 5 TSTAGN
63BB ... LDX 1 4
63W2 ... LDX 2 IPNUM(2)
64*L ... LDX 6 INSTPARAM(2)
64T= ... SMO FX2
65#W ... STO 2 AWORK1 [SAVE IP NUM
65SG ... PARAFREE
66#6 ... LDN 4 2
66RQ ... PARALYSE ,,4
67?B ... SPARAPAS
67R2 ... MHUNT 3,CPB,CUNI
68=L ... LDX 0 ANUM(3)
68Q= ... BNG 0 XERRF
699W ... BZE 0 XERRF
69PG ... ANDN 0 #7777
6=96 ... SBN 0 4
6=NQ ... BNZ 0 XERRF
6?8B ... LDX 0 APARA(3)
6?N2 ... STO 0 AWORK2(2)
6#7L ... TXU 6 AWORK2(2)
6#M= ... BCS WEND [ALREADY CHANGED
6*6W ... MONOUT AWAIT
6*LG ...YAGN1 LDX 5 WTCT(1)
6B66 ... LONGSET G400IPWT,XALRWT
6BKQ ... LONGSTOP WINT,YTORS,,REENTIP,5
6C5B ... SMO AWORK1(2)
6CK2 ... LDX 6 INSTPARAM
6D4L ... TXU 6 AWORK2(2) [CHECK VALUE
6DJ= ... BCC YAGN1 [VALUE UNCHANGED
6F3W ... BRN WEND [VALUE CHANGED-END WAIT
6FHG ...YTORS SMO AWORK1(2)
6G36 ... LDX 6 INSTPARAM
6GGQ ... TXU 6 AWORK2(2)
6H2B ... BCS WEND [END IF CHANGED
6HG2 ... LDX 5 CLONG3(2)
6H^L ... BNZ 5 REENTIP [RE-WAIT ,SPURIOUS WAKE
6JF= ... BRN TOUT [ELSE ERROR,MAX WT TIME E
6JYW ...)
6KDG ...#END
^^^^ ...73534673000300000000