(George Source)
Macros used: ACROSS, ADDMODE, BXE, BXGE, BXL, BXU, CATMASK, CHECKLFN, CHNUMCOD, CLOSE, CLOSETOP, COMBRKIN, COMERR, COMERRX, ENDCOM, FON, FREECORD, FREECORE, FSHENTRY, GEOERR, HUNT2, IPBACKJAM, IPCONT, IPUSEX, LONGON, MENDAREA, MFREE, MHUNT, MONOUT, OPENSYSX, OUTBLOCK, OUTNUM, OUTPARAM, PARABEG, PARANOTX, PARANUMB, PARAPASS, RUNJSA, SEGENTRY, SETBIT, SETMODE, SETNCORE, SPARAPAS, STEP, STEPAGAIN, STEPREWRITE, SYNTHMON, TAB, TANAMONST, TESTREP, TRACE, UNSET, UP, UPPLUS, VFREE
22FL #LIS K0INSTPARA>K0COMMAND>K0ALLGEO>K0GREATGEO 22^= #SEG INSTPARA82 [OWEN N. JOHN 2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23DW 8HINSTPARA 23L4 ...#UNS G400 23R= ...# THIS CHAPTER MODIFIED FOR G3PLUS-IH 23YG SEGENTRY K1INSTPARA,XK1 24D6 SEGENTRY K2INSTPARA,XK2 24J3 ... FSHENTRY K3INSTPARA,XK3,XK3,XK3 24MY ... FSHENTRY K4INSTPARA,XK4,,XK4 24RT ... FSHENTRY K5INSTPARA,XK5,,XK5 24XQ [ THIS SEGMENT IMPLEMENTS THE INSTPARA COMMAND (SURPRISE!SURPRISE!) 25CB [ THE FIRST PARAMETER IS COMPARED WITH THE TABLE OF NAMES IN FILE 25X2 [ :SYSTEM.PARAMINDEX. IF A MATCH IS ACHIEVED AND THERE IS 'NO SECOND 26BL [ PARAMETER,THE CURRENT VALUE OF THE INSTALLATION PARAMETER IS O/P 26W= [ TO THE OPERATOR'S CONSOLE 27*W [ IF A 2ND PARAMETER IS SUPPLIED,AND IF 27TG [ IT LIES BETWEEN THE LIMITS LAID DOWN IN THE TABLE,IT IS SUBSTITUTE 28*6 [ FOR THE CURRENT VALUE,AND THE NEW VALUE IS O/P TO THE OPERATORS' C 28SQ [ TO CONFIRM THAT THE CHANGE HAS BEEN EFFECTED 29#B [ THERE ARE TWO SPECIAL TYPES OF IP:- TRACE AND CONTEXT 29S2 # 29SP ...#UNS IPEXTENSION+1*IPEXTENSION 29TD ...#DEF XIPEXT=1 29W7 ...#UNS IPEXTENSION+1*IPEXTENSION 29WW ...#SKI 29XK ...#DEF XIPEXT=0 2=?L [ THE FOLLOWING IP'S VALUES ETC, CANNOT BE CONVERTED BY CHNUMCON 2=R= ZALL 4HALL 2?=W XJOB +JOBTRACE-INSTPARAM [PARAM NUMBERS 2?QG +IMINTRACE-INSTPARAM [OF TRACE TYPE 2#=6 +IMOPTRACE-INSTPARAM [I-PS 2#PQ XOPTR +IOPTRACE-INSTPARAM 2#Y2 ...XCON +ICONTEXT-INSTPARAM 2*6= ...XFORCE [THIS IS FOR RU120-OPTRACE BUG 2*#G ... CATMASK FORCEPRI 2*GQ ...[ 2*P2 PJCONA +JCONTEXTA 2B8L +JCONTEXTB 2BN= +JCONTEXTC 2C7W 2CMG XBKJM +BSJAM - INSTPARAM [REL ADDR OF BACKJAM 2D76 XJOBL +JOBLIMIT - INSTPARAM [REL ADDR OF JOBLIMIT 2DLQ XBACJ +BACKJOBS - INSTPARAM [REL ADDR OF BACKJOBS 2F6B XBACG +BACKGROUND - INSTPARAM [REL ADDR OF BACKGROUND 2FL2 XMOPJ +IMOPJOBS - INSTPARAM [REL ADDR OF MOPJOBS 2G5L XMOPL +IMOPLIMIT - INSTPARAM [REL ADDR OF MOPLIMIT 2G*D ...XMOPT +IMOPTOTAL-INSTPARAM [REL ADD OF MOPTOTAL 2GK= UNS +5 2H4W UNSET 5HUNSET 2HJG MISTAKE 2J46 SBX 3 FX1 [RELATIVISE 2JHQ CLOSETOP 2K3B ADX 3 FX1 [RESET PTR 2KH2 ODEAR NGN 7 1 2L2L OUTER COMERRX 0(3),7 2LG= OUTSIDE 2L^W BZE 4 OUTS [J IF COMMAND 2MFG GEOERR 1,OUTSIDE 2M^6 OUTS 2NDQ CALL 3 MISTAKE 2NYB +INSTPAROUT 2PD2 NULLABS 2PXL BNG 5 PABS 2QC= PNULL CALL 3 ODEAR 2QWW +JNAMISS 2RBG PABS CALL 3 ODEAR 2RW6 +JPARMIS 2S*Q MISTAKE1 2STB LDX 7 1(3) [SUBMESSAGE 2T*2 SBX 3 FX1 2TSL CLOSETOP 2W#= ADX 3 FX1 2WRW BRN OUTER 2X?G # 2XR6 [ ENTRY FOR MACRO 2Y=Q # 2YQB XK2 [K2 MACRO ENTRY 2^=2 LDN 4 1 2^PL SETNCORE 5,3,CPB,CUNI [STORE IP NAME IN A CUNI BLOCK 329= LDN 0 12 [AND IN THE AWORK WORDS 32NW STO 0 ANUM(3) 338G LDN 6 ACOM2(2) 33N6 LDN 7 APARA(3) 347Q MOVE 6 3 34MB LDN 7 AWORK2(2) 3572 MOVE 6 3 35LL LDX 5 ACOMMUNE1(2) 366= STO 5 AWORK1(2) 36KW BRN XJOIN 375G # 37K6 [ ENTRY FOR COMMAND 384Q # 38JB XK1 [K1 COMMAND ENTRY 3942 SPARAPAS [PASS 1ST PARAM 39HL HUNT2 3,CPB,CUNI,2 [GET POINTER TO CPB/CUNI BLOCK. 3=3= LDX 5 ANUM(3) [EXAMINE 'TYPE/NO.OF CHARACTERS'-WORD 3=GW BNG 5 PABS 3?2G BZE 5 PNULL 3?G6 LDX 0 APARA(3) 3?^Q LDCT 4 #400 [MARKER 3#FB SETMODE 3,READ 3#^2 TXU 0 ZALL(1) 3*DL BCC XALL [IS IT ALL CASE 3*Y= LDN 4 0 3BCW CHECKLFN NULLABS,REN2 3BXG MHUNT 1,CPB,CUNI 3CC6 TAB LDX 0 ACES 3CWQ STO 0 AWORK2(2) [SPACE 3DBB STO 0 AWORK3(2) [FILL AWORK 3DW2 STO 0 AWORK4(2) [WORDS 3F*L ANDN 5 #7777 3FT= LDN 6 APARA(1) 3G#W LDN 7 AWORK2(2) [MOVE IN PARAMETER 3GSG SMO 5 3H#6 MVCH 6 0 3HRQ XJOIN 3J?B SETMODE 3,CLEAN 3JR2 XALL 3K8X ...[ USE SUPPLEMENTARY MODE 'QUERY' TO PREVENT 3K9T ...[ GEOERR IF FILE ALREADY OPEN TO JOB - B9083 & B2034 3K=R ...[ 11.02.82 3K?P ... ADDMODE 3,QUERY 3K#M ... OPENSYSX XBREAK,PARAMINDEX,3 3K*K ...[ TEST REPLY 3KBH ... TESTREP OK,XOPENOK 3KCF ... TESTREP CLUDGE,XOPENERR [ FILE ALREADY OPEN 3KDC ... GEOERR 1,IPNOFILE [ UNEXPECTED REPLY 3KF* ...XOPENERR 3KK5 ... BZE 4 XCMND [ J IF COMMAND 3KL3 ... GEOERR 1,JSYSPAR [ FAIL IF MACRO 3KL^ ...XCMND CALL 3 ODEAR [ REPORT COMMAND ERROR 3KMX ... +JSYSFILE 3KNT ...XOPENOK 3KQ= [ TO PREVENT A NASTY MESS IF GEORGE BREAKS WHILE FILE OPEN IN 3L9W [ GENERAL MODE 3LPG BNG 4 XLIST [J IF 'ALL' CASE 3M96 STEP [READ RECORD 3MB# ... BNZ 3 XOK 3MHG ...[ WE CAN BRANCH TO THIS GEOERR FROM APPROX ADDRESS 580 3MNN ...[ IF THIS ROUTE IS TAKEN X7=0,ELSE X3=0 3MTW ...XEMP GEOERR 1,PARAEMPT [IF PARAMINDEX EMPTY-GEOERR 3MTY ...# 3MW2 ...XLIST ACROSS IPALL,1 ['IP ALL' COMMAND DONE IN IPALL 3MW4 ...# 3MW8 ...#SKI XIPEXT 3MWG ...( 3MWS ...XOK 3MX6 ...MLOOP2 3MXD ... STEP [READ NEXT RECORD 3MXQ ... BZE 3 NFOUND [J IF REACHED END OF FILE 3MY4 ... SBN 3 IPNAME-IPHEAD-1 [PTR TO IPHEAD 3MYB ... LDX 0 IPNAME-A1(3) [NAME OF IP 3MYN ... BXU 0 AWORK2(2),XOK [J IF NOT REQUIRED IP 3M^2 ... NGS 3 1 3M^# ... BRN MATCH [FOUND IT! 3M^L ...NFOUND 3M^Y ...) 3N2= ...#SKI XIPEXT<1$1 3N2J ...( 3N34 ...XOK NGS 3 1 3N8B LDEX 6 FRH(3) [REC HEADER 3NN2 STOZ 5 [CLEAR X 3P7L LDN 7 IPLINE 3PM= DVR 5 7 [RESULT=LOOP COUNT IN X6 3Q6W MLOOP 3QLG LDX 0 IPNAME-A1(3) 3R66 #SKIP K6INSTPARA>99-99 3RKQ ... TRACE 0,TABLE 3S5B TXU 0 AWORK2(2) 3SK2 BCC MATCH [1ST 4 CHARACTERS MATCH 3T4L MLOOP2 3TJ= ADN 3 IPLINE 3W3W BCT 6 MLOOP 3W?N ...) 3WHG #SKIP K6INSTPARA>99-99 3WPQ ... TRACE 3,NO MATCH 3XGQ BZE 4 UNKN [J IF COMMAND 3Y2B GEOERR 1,IPUNKNWN 3YG2 UNKN 3Y^L CALL 3 MISTAKE 3^F= +IPUNKNOWN 3^YW [ NOT EXIST 42DG MATCH 42Y6 LDX 0 IPNAME+1-A1(3) 43CQ LDX 5 IPNAME+2-A1(3) 43XB TXU 0 AWORK3(2) 44C2 TXU 5 AWORK4(2) 44WL BCS MLOOP2 45B= #SKI K6INSTPARA>99-99 45TW ... TRACE AWORK2(2),MATCHED 46*G ADS 3 1 46T6 LDX 6 IPMAX-A1(3) 47#Q LDX 7 IPMIN-A1(3) 47JJ ...#SKI XIPEXT<1$1 47SB LDX 3 IPNUM-A1(3) 48#2 [WORD 0.I.E. INSTPARAM. 48RL [INSTPARAM 48T8 ...#SKI XIPEXT 48WQ ...( 48Y# ... LDXC 3 IPNUM-A1(3) 48^W ... BCC OLDIP [J IF NOT IN EXTENSION TABLE 493D ... BXGE 3 IPEXTCOUNT,OUTSIDE [J IF NOT IN RANGE OF EXTENSION TABLE 4952 ... ORX 3 GSIGN [RESET EXTENSION TABLE BIT 496J ... BRN NUMOK 4986 ...OLDIP 499N ...) 49?= LDN 0 INSTPARL 49QW TXL 3 0 4==G BCC OUTSIDE [CHECK WITHIN FIXED CORE TABLE 4=G# ...NUMOK 4=Q6 STO 1 AWORK2(2) 4=SG ... [INSTALLATION PARAMETER AREA. 4=WW ...[ 4=^= ...[ THE FOLLOWING TWO(2) LINES ARE INSERTED DUE TO G5467(B 0969) 4?3L ...[ THIS IS DUE TO THE FACT THAT IF WE ARE OBEYING THE 4?62 ...[ INSTPARA MACRO ENTRY WE MUST -NOT- LOOK FOR THE 4?8B ...[ 'UNSET' PARAMETER AS WE WOULD READ OVER 4?=Q ...[ THE FOLLOWING ACTIVITY !!!!! 4?*6 ...[ DONE 17.SEPT.74 (:CENT) 4?CG ...[ 4?FW ... STO 4 AWORK3(2) [STORE INDICATOR 4?J= ... BNZ 4 PARA2 [JUMP IF THIS IS MACRO ENTRY 4?LL ...[ 4?PB [ 4#92 [ CHECK IF ONE OF THE PARAMETERS IS -- UNSET 4#NL [ 4*8= LDX 1 FX1 4*MW PARABEG 1,UNS(1) 4B7G MHUNT 1,CPB,CUNI 4C6Q LDX 4 JPARNUM(1) 4CLB LDX 5 ANUM(1) 4D62 FREECORE 1 4DKL BNG 5 PARA2 [J IF NO UNSET 4F5= BZE 5 YNST [J IF JUST UNSET 4FJW [ 4G4G [ UNSET EXISTS BUT HAS INCORRECT FORMAT 4GJ6 [ 4H3Q [ MOVE THIS BELOW +APFERR WHEN WE MIND A MESSAGE 4HHB YERR 4J32 PARANOTX 4 [RE-READ 4JGL CALL 3 MISTAKE [SO NOW COMMERX 4K2= +APFERR 4KFW YNST LDN 0 2 [CHECK THAT UNSET IS 2ND PARAMETER 4K^G BXL 0 4,YERR 4LF6 LDX 4 GSIGN [LOAD UNSET INDICATOR VALUE 4LYQ STOZ AWORK3(2) 4MDB BRN STORE 4MY2 # 4NCL [2ND PARAMETER 4NX= # 4PBW PARA2 4PWG LDX 4 AWORK3(2) 4QB6 LDN 1 XCON-XJOB [NR OF TRACE-TYPE IPS. 4QTQ RJH ADX 1 FX1 4R*B TXU 3 XJOB-1(1) 4RT2 BCC TRACE [J IF TRACE TYPE IP 4S#L SBX 1 FX1 4SS= BCT 1 RJH 4T?W LDX 1 FX1 4TRG TXU 3 XCON(1) 4W?6 BCC TEXT [J IF CONTEXT 4WQQ LDN 5 0 [CLEAR MARKER-NOT TRACE TYPE 4X=B BZE 4 XCOM [J IF COMMAND 4XQ2 LDX 4 AWORK1(2) 4Y9L BRN OK1 4YP= XCOM 4^8W PARAPASS 4^NG HUNT2 2,CPB,CUNI [GET A POINTER TO THE CPB/CUNI BLOCK. 5286 LDX 0 ANUM(2) [TEST WORD CONTAINING: TYPE/NR OF CHA 52MQ BNG 0 REQUEST [NO SECOND PARAMETER=REQUEST FOR CURR 537B BNZ 0 THERE 53M2 CLOSE [IF WILL CLOSE PARAMINDEX 546L BRN WOE [AND COMERR 54L= THERE 555W [VALUE OF NAMED PARAMETER. 55KG CHNUMCOD ,2 [CONVERT NUMBER 5656 TESTREPN OK,WOOPS 56JQ OK MFREE CPB,CUNI 574B LDX 4 ACOMMUNE1(2) 57J2 OK1 583L TXL 4 7 [J.IF PARAM<MIN 58H= BCS OUTRANGE 592W TXL 6 4 [J.IF PARAM>MAX 59GG BCS OUTRANGE 59JW ...STORE 59M= ...[ 59PL ...[ THE FOLOWING 'LDX' WAS INSERTED DUE TO G5465(B 0968) 59S2 ...[ THE BUG IS A RESULT OF JOBWELL NOT RUNNING JOBS !!! 59WB ...[ CAUSED BY THE FACT THAT PREVIOSLY INSTPARA DID A RUNJSA 59YQ ...[ ONLY IF THE NEW VALUE(VIA IP) WAS GREATER THAN OLD FILE VALUE 5=36 ...[ THIS WAS WRONG !! WE MUST COMPARE NEW VALUE WITH CURRENT 5=5G ...[ FIXED CORE VALUE....(THE LINE LOADING X7 WITH FILE VALUE 5=7W ...[ HAS BEEN DELETED) 5=== ...[ DONE 26.SEP.74 :CENT 5=#L ...[ 5=#X ...#SKI XIPEXT 5=*8 ...( 5=*F ... IPUSEX LDX 7,3 [LOAD CURRENT FIXED VALUE 5=*Q ... IPUSEX STO 4,3 [STORE NEW VALUE 5=B3 ...) 5=B# ...#SKI XIPEXT<1$1 5=BK ...( 5=C2 ... LDX 7 INSTPARAM(3) [LOAD CURRENT FIXED VALUE 5=FQ STO 4 INSTPARAM(3) 5=PJ ...) 5=^B #SKI K6INSTPARA>99-99 5?3K ... TRACE 4,STORED 5?YL LDX 6 3 [SAVE X3 : PTR TO IP IN FIXED 5#D= STEPAGAIN 5#XW STEPREWRITE 5*CG 5*X6 ADX 3 AWORK2(2) [LOCATION IN PARAMINDEX 5B9H ...#SKI XIPEXT 5BHY ... SBN 3 1 [GET PTR CORRECT FOR EXTENSION VERSN 5BWB STO 4 IPVAL-A1(3) [CHANGE VALUE 5CB2 LDX 3 6 5CTL BXE 4 7,NOTPRE [IF NO CHANGE NOTHING TO DO 5D*= SETBIT 2,HLSWAIT 5DQS ...XK4 5DSW FON #33 [KICK HLS - TO CHECK B2 OF HLSWAIT 5F24 ...#UNS G400 5F7= ... LONGON G400IPWT [KICK WT ON IP 5F#G BXE 3 XJOBL(1),YES [IS IT JOBLIMIT 5FS6 ... BXU 3 XMOPT(1),RUNS [IF IT IS NOT BACKJOB--JUMP 5GDY ...YES LONGON #44 [GENERAL KIICK-- WAKE UP FOLKS 5GXG ... BRN YNO 5HB4 ...RUNS BXE 3 XMOPJ(1),RUNDO 5HSL ... BXU 3 XBACJ(1),YNO 5J?8 ...RUNDO 5JPW RUNJSA [KICK ANY JOBS WAITING ON BACK MOP JO 5JX# ...YNO 5KCL ... BXU 3 XBACG(1),YNCH [JUMP IF NOT BACKGROUND 5KK8 ...[ 5KR3 ...[ THE FOLLOWING TWO 'FON'S HAVE BEEN ALTERED TO CURE B2368 5KYW ...[ CAUSED BY ME GETTING #31,#32 THE WRONG WAY ROUND !! 5L6P ...[ DONE 26 MARCH 75 :CENT 5L#J ...[ 5LCF ...WAKEUP32 5LGC ... FON #32 [WAKE UP JOBS WAITING ON BACKGROUND 5LNB BRN NOTPRE 5LTJ ...YNCH 5M*6 ... BXU 3 XMOPL(1),NOTPRE [PREHAPS MOPLIMIT ???? 5MG# ...WAKEUP31 5MML ... FON #31 [WAKEY-WAKEY OMPLIMIT TYPE JOBS 5N7= NOTPRE 5NLW BRN VALUENOW 5P6G # 5PL6 [ THIS SECTION CHECKS A TRACE TYPE IP,USING TANAMONST MACRO 5Q5Q # 5Q8W ...TRACE 5Q^W ... NGN 5 1 [SET TRACE TYPE MARKER 5R52 BZE 4 TRAC1 [J IF COMMAND 5RJL LDX 4 AWORK1(2) 5S4= BRN TEXTRANGE 5SHW TRAC1 5T3G PARANUMB 4 5TH6 SBN 4 1 5W2Q BZE 4 VALUENOW [J IF ONLY 1 PARAM = REQUEST FOR 5WGB TANAMONST WOOPS [CURRENT VALUE 5X22 LDX 4 ACOMMUNE1(2) 5X49 ...TEXTRANGE 5X6D ...[ 5X8M ...[ THE FOLLOWING LINES OF CODE WERE INSERTED DUE TO RU120 5X=W ...[ WHICH MEANT THAT OPTRACE WAS UNALTERABLE 5X*5 ...[ THIS WAS BECAUSE TANAMONST ADDED THE FORCEPRI BIT 5XC# ...[ AND OPTRACE IS NOT ALLOWED THE FORCEPRI BIT- SO THE 5XFH ...[ FOLLOWING LINES REMOVE FORCEPRI BIT IF IP IS OPTRACE 5XHQ ...[ DONE 16.JAN.75 :CENT 5XK^ ...[ 5XN8 ... BXU 3 XOPTR(1),XNOTOPTR 5XQC ... ERX 4 XFORCE(1) [REMOVE FORCEPRI BIT 5XSL ...XNOTOPTR 5XWT ...[ 5X^= LDX 0 4 5YDW ERX 0 6 5YYG ANDX 0 4 5^D6 BNZ 0 OUTRANGE [J IF >MAX 5^XQ LDX 0 4 62CB ERX 0 7 62X2 ANDX 0 7 63BL BNZ 0 OUTRANGE [J IF <MIN 63W= BRN STORE 64*W [ IF CONTEXT THEN OTHER PARAMETERS ARE A,B OR C 64TG [ S/R TO CONVERT AND O/P CONTEXT TYPE PARS 65*6 TEXTCON 65SQ SBX 6 FX1 66#B IPCONT 7,3 [CONVERT PARAMETER 66S2 OUTPARAM 3,ACOMMUNE1 67?L ADX 6 FX1 67R= EXIT 6 0 68=W # 68QG [ THIS SECTION CHECKS A CONTEXT PARAMETER AND IF VALID JOINS 69=6 [ AT TEXTRANGE LABEL TO CHECK WITHIN RANGE 69PQ # 6=9B TEXT 6=P2 LDN 5 1 6?8L BZE 4 XTEX1 [J IF COMMAND 6?N= LDX 4 AWORK1(2) 6#7W BRN TEXTRANGE 6#MG XTEX1 6*76 STO 7 AWORK1(2) 6*LQ PARANUMB 7 6B6B SBN 7 1 6BL2 BZE 7 VALUENOW [J IF NO OTHER PARAMETERS 6C5L T4 PARAPASS 6CK= MHUNT 2,CPB,CUNI 6D4W LDN 5 3 6D8* ...T2 6DYL ... LDCH 0 APARA(2) 6F46 BZE 0 TT1 6FHQ SMO 5 6G3B SBN 0 #40 6GH2 BZE 0 T3 [J IF MATCH 6H2L BCT 5 T2 6HG= CALL 3 MISTAKE 6H^W +APFERR 6JFG T3 SMO 5 6J^6 ORX 4 PJCONA-1(1) [OR IN NEW VALUE 6KDQ TT1 6KYB FREECORE 2 6LD2 BCT 7 T4 [COUNT OF PARAMETERS 6LXL LDX 7 AWORK1(2) 6MC= BRN TEXTRANGE 6MWW REQUEST 6NBG [NO SECOND PARAMETER IS INTERPRETED AS A REQUEST THAT THE CURRENT VALUE 6NW6 [NAMED INSTALLATION PARAMETER BE OUTPUT TO THE OPERATORS' CONSOLE. 6P*Q [FORMAT:-INSTALLATION PARAMETER 'FRED'=999 6PTB FREECORD 2 [FREES THE CPB/CUNI BLOCK BUT DOES NO 6Q*2 [UP OTHER ACTIVITIES WAITING FOR CORE 6QSL VALUENOW 6R#= CLOSETOP 6RRW TXU 3 XBKJM(1) 6S?G BCS XNOTBKJM 6SP4 ...XK5 6SR6 IPBACKJAM 6T=Q XNOTBKJM 6TQB LDN 4 7 6W=2 OPT 6WPL OUTBLOCK 4 [ET UP A BLOCK OF CORE FOR O/P PARAM. 6X9= [WHERE X4=TOTAL NO.OF WORDS OCCUPIED BY THE PARAMS. OF THE BASIC M 6XNW [PLUS ONE WORD FOR EACH PARAMETER. 6Y8G MHUNT 2,CPB,CUNI 6YN6 LDEX 4 ANUM(2) 6^7Q OUTPARAM 4,APARA,CPB,CUNI [OUTPUT PAR NAME 6^MB MFREE CPB,CUNI 723Q ...#SKI XIPEXT 724R ... IPUSEX LDX 4,3 [LOAD VALUE OF IP 725S ...#SKI XIPEXT<1$1 7272 LDX 4 INSTPARAM(3) 72LL CALL 7 SUNSET [IS IP UNSET 736= BRN OUT 73KW BPZ 5 NUMB [J IF NOT TRACE 73PR ...#SKI XIPEXT 73TN ... IPUSEX LDX 0,3 [LOAD VALUE OF IP 73^K ...#SKI XIPEXT<1$1 745G LDX 0 INSTPARAM(3) 74K6 CALL 6 SYNTH 754Q BRN OUT 75JB NUMB 7642 BNZ 5 T6 [J IF CONTEXT 76HL XNUM 76KT ...#SKI XIPEXT 76N4 ...( 76Q? ... IPUSEX LDX 7,3 76SG ... OUTNUM 7,0 [3RD PARAM OF MESSAGE IPRM IS THE CUR 76WP ...) 76YY ...#SKI XIPEXT<1$1 773= OUTNUM INSTPARAM(3),0 [2ND PARAM OF MESSAGE IPRM IS THE CUR 77GW OUT 782G MONOUT IPRM [O/P RESULTING MESSAGE TO THE OP.S' 78G6 REND 78^Q LDX 0 AWORK3(2) 79FB BZE 0 REN2 79^2 UPPLUS 2 [SUCCESSFUL END OF MACRO 7=DL REN2 7=Y= ENDCOM 7?CW XBREAK 7?XG BZE 4 XGEO 7#C6 BNG 4 XGEO 7#FP ...[ 7#J# ...[ THIS CURES B2129 WHICH MEANS IF MACRO EXIT WE FREE CPB-CUNI 7#LX ...[ 7#PG ... VFREE CPB,CUNI 7#S5 ...[ 7#WQ UP [MACRO BREAKIN 7#^W ...XGEO 7*52 ...[ 7*86 ...[ THIS IS A REQUESTED JOBWELL PHASE N ENHANCEMENT 7*?= ...[ SEE R.J.D. GRIMEWADE (CENT) 7*BB ...[ DONE UNDER DEVELOPEMENT GEDIT 7.OCT.74 *CENT 7*FG ...[ 7*JL ...#SKI JSKI15 7*MQ ... COMBRKIN 7*QW ...#SKI JSKI15<1$1 7*W2 GEOERR 1,IP BRKIN [OPERATORS'DIRECTIVES CANNOT BE BROKE 7B*L [ CONVERT NUMBER TO FORM A,B,C 7BFH ...#SKI XIPEXT 7BKD ...T6 IPUSEX LDX 7,3 7BP* ...#SKI XIPEXT<1$1 7BT= T6 LDX 7 INSTPARAM(3) 7C#W BZE 7 XNUM 7CSG CALL 6 TEXTCON 7D#6 BRN OUT [JOIN O/P ROUTINE 7DRQ OUTRANGE 7F?B LDX 0 AWORK3(2) 7FR2 BZE 0 YFWD 7G=L CLOSETOP 7G*9 ...[ 7GCS ...[ THIS CURES B2129 WHICH MEANS IF MACRO EXIT WE FREE CPB-CUNI 7GGC ...[ 7GK2 ... MFREE CPB,CUNI 7GMK ...[ 7GQ= UPPLUS 1 7H9W YFWD 7HPG LDN 0 14 7J96 OUTBLOCK 0 [SET UP PARAM BLOCK 7JNQ BPZ 5 NO1 [J IF NOT TRACE 7K8B LDX 0 6 7KN2 CALL 6 SYNTH 7L7L LDX 0 7 7LM= CALL 6 SYNTH 7M6W BRN OPT1 7MLG NO1 7N66 BZE 5 NUMX [J IF NUMBER 7NKQ BZE 6 NUMX 7P5B LDX 5 7 7PK2 LDX 7 6 [CONTEXT TYPE PARAMETER 7Q4L CALL 6 TEXTCON [CONVERT MAX 7QJ= LDX 7 5 7R3W BZE 7 NO2 7RHG CALL 6 TEXTCON [CONVERT MIN 7S36 BRN OPT1 7SGQ NUMX 7T2B OUTNUM 6,0 [OUTPUT MAX 7TG2 NO2 7T^L OUTNUM 7,0 [AND MIN AS DEC NUMBERS 7WF= OPT1 CALL 3 MISTAKE 7WYW +IOUTRANGE 7XDG WOOPS CLOSE 7XY6 BRN REND 7YCQ WOE COMERR JPARMIS,JVALUE 94J2 SUNSET 953L BXE 4 GSIGN,SSUNS 95H= EXIT 7 1 95MN ...SSUNS 95S6 ...[ THIS CURES B2928 - I.E. AS OUTPARAM MAY COORDINATE 95YJ ...[ WE MUST RELITIVIZE THE LINK (X7) 9652 ...[ DONE 4TH JUNE 75 :CENT 969D ...[ 96*W ... SBX 7 FX1 96GG LDX 0 UNSET(1) [CASE WHEN IP UNSET 9726 STO 0 ACOMMUNE5(2) 97FQ LDX 0 UNSET+1(1) 97^B STO 0 ACOMMUNE6(2) 98F2 LDN 4 7 98NS ... OUTPARAM 4,ACOMMUNE5 98YL ... ADX 7 FX1 998D ...[ 99D= EXIT 7 0 9JML [ S/R TO CONVERT TRACE TYPE IPS 9K7= SYNTH 9KLW SBX 6 FX1 9L6G SYNTHMON 0 9LL6 ADX 6 FX1 9M5Q EXIT 6 0 9MKB MENDAREA 30,K99INSTPARA 9N52 #END ^^^^ ...61651256000200000000