DOCUMENTATION FOR CHGLIB22 Revision 2.2 3/12/84 Original 2/82 by Tony Ribeiro Revised 2/83 by Bruce Ratoff for MODEM79x Revised 5/83 by Dave Holmes to work with MDM707 Revised 5/83 by Mark Pulver added LIBLEN Equate Revised 6/83 by Mark Pulver added real case conversion Revised 7/83 by Dennis Recla for Automatic Space Testing Revised 8/83 by Mark Pulver file cleanup, modifiable search ranges Revised 2/84 by Robert Moroney allow 36 entries in number list Revised 2/84 by Charlie Polete allow 26 or 36 entries in list Revised 2/84 by Dennis Recla... Fully automatic universal version Revised 3/84 by Sigi Kluger.. Fixed POP bug with a patch Revised 3/84 by Dennis Recla.. Fixed POP and setup single input file The purpose of CHGLIB is to make insertions and deletions to the dial library of MODEM7 without having to reassemble the entire file. The program uses and changes the COM file and does not touch or use the ASM file at all. NOTE: This program will function properly only if the dial library is faithfully constructed as spelled out in the MODEM7 documentation. It will search for the first character A and then do a test for spacings of 30-40, (See below for more on this), between the letters A, B, and C of the Number library. These spacing values will meet most of the various MODEM7 programs that have been written to now and including MDM724. The newer versions of MDM7xx since MDM722 have larger number lists which include the numbers 0 to 9 to add an additional 10 phone numbers available. This revised version will check to see if it is an OLD version of Modem7 or one of the newest versions of MDM7xx and only allow the proper entry of alphabetic characters and or numbers. This program will also replace M7LIB.COM as was found with later versions of MDM7xx. It is universal in that it works with both the earlier versions and the more recent versions of MDM7xx or MODEM7. Note: When the directory of numbers appears on the screen it may vary from what appears when you use the CAL or NUM command when in MDM7xx. The later versions of MDM7xx added a subroutine to organize the numbers on the screen in order from A to 9 going in a top to bottom sequence replacing the original left to right sequence of phone numbers. This utility program was not modified, since it is only used when it is necessary to modify the phone number listing. CHGLIB operates by loading the present COM version of MODEM7 into ram,allows you to make your changes to the library, and then saves the new COM file on disk. It does not delete your orig MODEM7 COM file. For example... CHGLIB MODEM7.COM B:MODEM7A.COM Note that two(2) arguments can be used when invoking CHGLIB. The first is the current file name, the second is the file name you assign to the new version. As for the second argument CHGLIB will not accept any file name that is currently active on that disk. If you wish to keep the same file name, you must delete the old version and then 'REN' the new version after using CHGLIB. This new version as of Ver. 2.2 now only requires a single input file be named. It will take the input file as the file to bring into memory for changes and before it writes the modified file to the disk it will rename the original file that exists on the disk to a .BAK extension. This will improve the ease that the program can be used. If you require the newfile to be on a different drive then use the original method of entry. CHGLIB MODEM7.COM CHGLIB will do an automatic test to find the proper spacing search for the start of the dial library.NOTE--CHGLIB searches only the first 4K bytes of the MODEM7 file as this is where the library is generally located. When CHGLIB beleives that it has found the library it will display the start address and the library on the console. It will then ask you if the library looks ok(in other words,has CHGLIB found the correct start).If you answer no,then the program will continue the search. If you answer 'Y',CHGLIB will keep track of the address and jmp to the command function.After the start address has been established you will then get a command prompt. The COMMANDS are as follows. NOTE: * denotes a valid char A-Z 1)^C Exit to CP/M, (with file change checking). 2)D* Delete one phone number line 3)I* Insert one phone number line 4)P Prints dial library on list device 5)R Rereads source file(current changes are lost) 6)V* View one line 7)V? View entire library 8)W Write new file to disk NOTE: User can leave INSERT mode without changes if a CR is typed with no characters entered on command line. For example,if user has started to type in chars and decides not to make any changes, just delete chars typed in and hit a CR. If user enters 'I' but has not typed in any chars,then just hit a CR.The program will return to the command mode. Follow the the format shown on the INSERT mode command line. You must enter exactly 30 chars.Align your input with the guide chars located above the cursor. I have been using this program for awhile and find it very satisfactory. It makes changes to the library very fast. TRY IT,YOU WILL LIKE IT TONY RIBEIRO AVENEL NJ FEB 1982 And Others........ ----------------------- ; Modification Note: ; ----------------------- Starting with version 1.6 of this program, it is possible to change the number library search ranges without having to re- assemble the program. There are two bytes up front in the memory image, the first occurs at address 0103H and holds the lower limit, while the next byte, 0104H, holds the upper spacing limit. You can use DDT to make the mods as in the following example, ( lowercase text is what you type in )... A>DDT CHGLIB.COM ; load CHGLIB into memory DDT VERS 2.2 ; DDT signon NEXT PC 0C80 0100 -s103 ; the lower limit is at 0103H 0103 1E xx ; 'xx' is the HEX value for the ; lower limit 0104 28 xx ; 'xx' is the HEX value for the ; upper limit 0105 31 . ; a '.' will get you out of set mode -^C ; a control C will put you at CP/M A>save 12 chglib.com ; and save the file to disk The program will now search, in 1 byte increments, the range that you have specified.