/FUTCCL.PA--FUTIL V6 CCL MODS 12/4/76 /BY: / JIM CRAPUCHETTES / MENLO COMPUTER ASSOCIATES, INC. / (FORMERLY: FRELAN ASSOCIATES) / P.O. BOX 298 / MENLO PARK, CALIF. 94025 / (415) 323-3009 / THESE MODIFICATIONS SIMPLY MAKE USE OF VARIOUS / HOLES IN CCL VERSION D (**** NOTE THIS ****) LEFT BY / ZBLOCK'S OR OTHER MEANS. THEY IMPLEMENT THE FOLLOWING / ADDITIONAL CCL COMMAND FOR FUTIL: / / /L [MODE=LOAD,DEFAULT EX="LD"] / .F(UTIL) DEV:FILE.EX/E/O=NNNN [MODE=OFFSET,EX AS BELOW] / /S [MODE=SAVE,DEFAULT EX="SV"] / / THIS COMMAND CHAINS TO FUTIL WHICH THEN LOADS THE / HANDLER FOR THE SPECIFIED DEVICE, SETS THE OPTION(S) / SPECIFIED BY THE SWITCHES AND THEN SIMULATES A "FILE" / COMMAND FOR THE SPECIFIED FILE. ONLY ONE FILE NAME / MAY BE SPECIFIED AND IT MAY CONTAIN THE CHARACTERS "?" / AND "*", BUT THESE WILL NOT BE USED AS WILD CARD CHAR- / ACTERS, BUT AS ACTUAL CHARACTERS IN THE FILE NAME AND / EXTENSION. THE COMMAND LINE IS REMEMBERED IN AN UNUSED / REMEMBRANCE LINE, ALLOWING CONVENIENT RECALL. / / SWITCHES: FOUR (4) SWITCHES ARE DECODED BY FUTIL-- / / /E SET SHORT ERROR MESSAGES / /L SET MAPPING MODE TO "LOAD", SET EXTENSION TO "LD" / IF NONE WAS SPECIFIED (& IGNORE FOLLOWING TWO / SWITCHES). / /O SET MAPPING MODE TO "OFFSET", SET OFFSET VALUE TO / LOW 12 BITS OF "=NNNN" OPTION (& IGNORE FOLLOWING / SWITCH). / /S SET MAPPING MODE TO "SAVE", SET EXTENSION TO "SV" / IF NONE WAS SPECIFIED. / / EXTENSIONS: FUTIL PERFORMS FILE LOOKUPS WITH 3 / DEFAULT EXTENSIONS, "SV", "LD" AND NULL. THE FIRST THAT / SUCCEEDS WILL BE OUTPUT. THIS IS ALSO TRUE FOR THE FILE / SPECIFIED TO THE CCL COMMAND. HOWEVER, IF AN EXTENSION / IS SPECIFIED, ONLY ONE TRY WILL BE MADE, WITH THAT EXTEN- / SION. NOTE THAT USING THE "/S" OR "/L" SWITCHES ABOVE / ARE THE SAME AS SPECIFYING AN EXTENSION AND ONLY ONE / LOOKUP ATTEMPT WILL BE MADE. /SOME DEFINITIONS FROM CCL: NAME1= 10023 /TWO OF FOUR NAME.EX WORDS NAME2= 10024 DEV1= 10030 /TWO WORDS OF DEVICE NAME DEV2= 10031 STAR= 13224 /"*" EXTENSION LOCATION ARLOC= 15741 /SAVED POINTER TO "<" REMEM= 17000 /REMEMBER SUBROUTINE FILLP1= 17320 /LABEL IN PATCHED SUBROUTINE FIELD 1 /ORDER AS IN CCL SOURCE *13120 /ADD OVER "ZBLOCK 30" XFUTIL, 4470 /DO CD; ADD "<"; REMEMBER STAR /DO SPECIAL MODE DECODE ++ 0;0;0 /NO DEFAULT SWITCHES FUTSUB /SUB. TO DO--REMEMBER & SETUP YFUTIL /CHAIN TO IT / ++ NOTE: BECAUSE "<" IS ADDED TO COMMAND AND A SPECIAL / MODE DECODE IS DONE (ALLOWING ONLY 1 OUTPUT), ONLY ONE / (1) FILE MAY BE SPECIFIED OR A SYNTAX ERROR WILL OCCUR! *13220 /ADD OVER "ZBLOCK 4" XFUTIL /POINT TO ABOVE ENTRY *16330 /ADD IN HOLE AFTER 'NUMC' FUTSUB, 0 TAD I ARLOCI /GET SAVED POINTER DCA ARLOCI CDF 0 DCA I ARLOCI / & ZAP BACKARROW CDF 10 JMS I REMEMI /REMEMBER COMMAND LINE 6 TAD I SDEV1I DCA I A7606 /MOVE DEVICE NAME TO C.D. TAD I SDEV2I DCA I A7607 / SAVE AREA. JMP I FUTSUB REMEMI, REMEM A7606, 7606 A7607, 7607 ARLOCI, ARLOC SDEV1I, SDEV1 SDEV2I, SDEV2 /FREE SPACE THRU 16355 *17341 /PATCH 'GETSPC' JMP FILLP2 /AC= C(NAME2) *17345 /USE SPACE FILLP2, DCA SDEV2 /SAVE DEVICE NAME TAD NAME1 / FOR "FUTIL ..." DCA SDEV1 TAD NAME2 /CONTINUE AS BEFORE JMP FILLP1 / PATCHED. SDEV1, 0 SDEV2, 0 /FREE SPACE THRU 17355 FIELD 0 *553 /ADD KEYWORD TO COMMAND TABLE OVER "ZBLOCK 600-." 0665 /F UTIL ["F" IS ONLY REQUIRED CHAR] 6451 5400 *7016 /ADD TO END OF CODE YFUTIL, FILENAME FUTIL.SV $=$=$=$=$ /THE END