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