CREATION OF CMD FILES FROM SYS LIB BY EARLE ROBINSON 70135,141

THERE HAS BEEN SOME CONFUSION ENGENDERED ABOUT MY SUGGESTION ON
THE LDOS BOARD RECENTLY ABOUT THE POSSIBILITY OF CREATING CMD
FILES FROM INDIVIDUAL LIBRARY ROUTINES.  I PROBABLY ASSUMED A
GREATER UNDERSTANDING OF THE SYSTEM THAN WAS JUSTIFIED.  THERE
FORE, THESE REMARKS ARE AN ATTEMPT TO EXPLAIN HOW YOU MAY
CREATE CMD FILES, THE ONLY PURPOSE FOR WHICH IS TO HAVE MORE
DISK SPACE AVAILABLE FOR DATA FILES OR WHATEVER.
USING CMDFILE YOU MERELY CALL FOR SYS6 OR SYS7, DEPENDING WHERE
THE ROUTINE YOU WISH IS LOCATED, AND THEN GIVE THE OVERLAY
NUMBER WHEN REQUESTED.  THESE NUMBERS MAY BE FOUND BY READING
A DOWNLOAD OF SYS1 WITH THE EXTENDED DEBUGGER. TO MAKE IT
EASIER I AM LISTING THEM BELOW:
          APPEND    31                  ATTRIB    51
          AUTO      11                  BOOT      A9
          BUILD     33                  CLOCK     17
          COPY      32                  CREATE    13
          DATE      15                  DEBUG     14
          DEVICE    61                  DIR       21
          DO        91                  DUMP      71
          FILTER    66                  FREE      22
          KILL      18                  LIB       19
          LINK      62                  LIST      41
          LOAD      81                  MEMORY    1E
          PROT      52                  PURGE     72
          RENAME    53                  RESET     63
          ROUTE     64                  RUN       82
          SET       65                  SPOOL     A2
          SYSTEM    A1                  TIME      16
          TRACE     1A                  VERIFY    1B
          XFER      73
I'LL LEAVE IT TO YOU TO FIGURE OUT TO WHICH SYS FILE EACH OF
THESE BELONGS, REMINDING YOU THAT IT IS OBLIGATORILY SYS6 OR
SYS7.  LET'S ASSUME YOU WISH TO CREATE A CMD FILE OF THE COPY
COMMAND.  MERELY ENTER THE NUMBER 32 WHEN YOU ARE REQUESTED.
IT IS NOT NECESSARY TO CHANGE ADDRESSES OR TRANSFER ADDRESSES,
SINCE YOU WILL BE USING THE COMMAND FILE EXACTLY AS YOU WOULD
HAVE USED THE LIBRARY ROUTINE.  SAVE THE FILE WITH A DIFFERENT
NAME SINCE IF YOU CALL 'COPY' THE PARSING ROUTINE WILL LOAD THE
ROUTINE FROM SYS6 AND NOT YOUR COPY/CMD FILE.  IN ANY CASE, YOU
WOULD ONLY WISH TO CREATE THESE CMD FILES TO REPLACE SYS6 AND
SYS7, REDUCING THE OVERHEAD ON YOUR DISK.  THIS IS ESPECIALLY
USEFUL FOR USERS WITH ONLY DISK DRIVE.  SINCE THESE ROUTINES,
WHEN CHANGED INTO CMD FILES, WILL OCCUPY A FULL GRAN OF 5 SEC-
TORS (6 ON DOUBLE DENSITY), IT IS CLEAR THAT IF YOU CREATE TOO
MANY SUCH FILES, YOU WILL HAVE DEFEATED THE PURPOSE OF ELIMIN-
ATING THE SYS6 & SYS7 FILES!  AS FOR NAMES OF THE CORRESPONDING
FILES, I SHOULD OPT FOR NAMES SIMILAR ENOUGH TO THE LIBRARY
COMMANDS TO AVOID CONFUSION WITH YOURSELF, CCOPY FOR COPY, DDIR
FOR DIR, ETC.
FINALLY, FOR THOSE WHO WISH TO BETTER UNDERSTAND THE PRINCIPLE
EMPLOYED WITH THE LIBRARY, I WILL EXPLAIN HOW A ROUTINE IS
PARSED AND THEN LOADED AND RUN FROM ITS SYS FILE.  WHEN YOU
ENTER A COMMAND, IT IS PARSED BY SYS1, AND A TABLE WITH THE
NAMES OF ALL THE LIB ROUTINES, EACH FOLLOWED BY THE INDEX NO.
SHOWN ABOVE.  FOLLOWING THAT NUMBER IS AN 80 OR A C0, WHICH
TELLS THE SYSTEM TO LOOK FOR THE IN SYS6 OR SYS7.  WITHIN THE
SYS6 OR SYS7 FILE A SEARCH IS MADE FOR THE INDEX NUMBER. THIS
NUMBER IS FOLLOWED BY THE STARTING ADDRESS OF THE ROUTINE ONCE
LOADED AND THE RELATIVE SECTOR NUMBER AND RELATIVE BYTE WHERE
THE ROUTINE IS LOCATED WITHIN THE SYS FILE.  THE ROUTINE IS
LOADED AND EXECUTED.
I HOPE THESE REMARKS WILL ASSIST ANY INTERESTED USERS IN BETTER
UNDERSTANDING BOTH MY IDEA OF CREATING COMMAND FILES TO SAVE
SPACE, AND OF THE LIBRARY ROUTINES THEMSELVES.
 