home *** CD-ROM | disk | FTP | other *** search
- ENCODE CP/M Version 1.06 3/2/86
-
- Copyright (C) 1985,1986 by Merlin R. Null
-
-
- ENCODE is a pseudo compiler for dBASE II version 2.4 or higher
- command files. Programs encoded with ENCODE will run with the
- regular version of dBASE II version 2.4 or higher. Ashton-Tate's
- RUNTIME is not required, although it could be used. RUNTIME is
- simply an amputated version of dBASE II that only has the ability
- to run programs, not edit them.
-
-
- The ENCODE library should contain the following files:
-
- ENCODE.COM ENCODE, pseudo compiles dBASE II command files
- to run up to 30% faster.
- ENCODE.BAS The MBASIC source for the above program.
- ENCODE.HLP Help file for ENCODE.
- ENCODE.DOC This documentation.
- ENCODE.CRC CRC and other stats on ENCODE6.LBR
-
- ************ ENCODE.COM is a stand alone compiled MBASIC
- * NOTE * program. BRUN.COM, the Microsoft compiled basic
- ************ runtime package is NOT required. ENCODE.BAS
- requires the MBASIC interpreter to run. The
- compiled version is in 8080 code. It should run
- on most 8080 or Z80 machines, provided your TPA
- is 52K or greater. If it is less, you will have
- to recompile ENCODE.BAS or run it under the
- MBASIC interpreter.
-
-
- Installation
-
- To install ENCODE, just run the program. It is self installing.
- If the clear screen data file, CLS.DAT, is missing on the disk
- with ENCODE, a new one will be generated. You will be asked for
- the decimal values of your clear screen sequence. For example,
- on a KayPro or Osborne CP/M machine just enter:
-
- Clear screen character 1? 26
- Clear screen character 2? <RETURN>
-
- CLS.DAT will then be written and you will go directly to
- operation of ENCODE. If the title screen is preceeded by a clear
- screen, the installation was successful. If the title screen
- scrolls on, it failed. If it fails, exit the program, erase
- CLS.DAT, and run ENCODE again. If you don't like the clear screen
- function, simply enter 10 when asked for your clear screen
- sequence. For each 10 you enter ENCODE will scroll one line in
- place of the clear screen. My older program, CLEARSET, will
- still generate a correct CLS.DAT for this version of ENCODE.
-
-
- Calling a Directory Listing
-
- To call a directory from the title screen simply enter the drive
- you wish to list.
-
- Filename.[SRC] or Drive:? A:
-
- This will list the directory of drive A and give the prompt
- again.
-
- Directory of drive A:
- FOO .CMD DBSOURCE.BAS DBSOURCE.COM TEST2 .CMD A10 .CMD
- ENCODE .BAS ENCODE .COM MBASIC .COM D .COM SAMPLE .CMD
- BOOKS .DBF BOOKS .FRM DBASE .COM CLS .DAT CLEARSET.BAS
- CLEARSET.COM DBASEMSG.TXT DBASEOVR.COM B4 .CMD R2D2 .CMD
- DBINDENT.BAS DBINDENT.COM ELIZA .BAS A10 .SRC A10 .BAK
- CLONE .CMD TEST .CMD CLONE .SRC A10 .OLD DBSRC2 .BAS
- DBSRC2 .COM
- Filename.[SRC] or Drive:?
-
- The ZCPR like drive call of A; will also work to call the
- directory, even if you are not running ZCPR. The Filename.CMD
- may be entered here or a <RETURN> will redisplay the start
- screen.
-
-
- Encoding a File
-
- A file to be encoded MUST have the extension .SRC. This protects
- your source file from being overwritten. Just rename your source
- file to <filename>.SRC. Then enter the <filename>.[SRC] at the
- ENCODE prompt. The use of the extension .SRC at the prompt is
- optional.
-
- Filename.[SRC] or Drive:? SAMPLE.SRC
-
- ENCODE requires all characters in the input file have the 8th bit
- set low. You might have to run your source file through a
- filter, like UNSOFT.
-
- ENCODE creates a partially tokenized file that can not be listed
- with anything but DBSOURCE or a commercial decoder. It is also
- hard to modify a command file protected with ENCODE. The file is
- reduced in size as all indenting and comments preceded by * are
- removed. In addition comments after the END statements are
- removed. Example:
-
- ENDIF .NOT. green
-
- Becomes a single byte for the reserved word ENDIF. The ".NOT.
- green" is purely a comment that repeats the conditions that began
- the IF statement that should read:
-
- IF .NOT. green
-
- Such comments make a program easier to read but will slow down
- operation as dBASE II reads program lines from the disk as they
- are executed. The latest versions of Ashton-Tate's DBCODE that I
- have seen leave these comments in.
-
- You can label a file by enclosing a message between TEXT and
- ENDTEXT. This leaves all lines between TEXT and ENDTEXT as in
- the source file. ENDTEXT may be abbreviated to ENDT. Example:
-
- TEXT
- (C) 1985 by Croggle Software, Inc.
- ENDTEXT
-
- Caution should be taken that the ENDTEXT (or ENDT) is included.
- If omitted, all of the remaining file will not be encoded. The
- command TEXT shuts off encoding, ENDTEXT turns it on again.
- Indentation within the TEXT area will be left as in the source
- file. Use this feature as little as you can. The extra lines
- will slow down the program a little for each line added.
-
- ENCODE also requires that you name the source file with the
- extension .SRC. This keeps the programmer from mistaking the
- pseudo compiled (.CMD) file for the source (.SRC) file. If a
- file is requested and the .CMD file already exists, you will be
- warned:
-
- []=========[]
- [] WARNING []
- []=========[]
-
-
- SAMPLE.CMD already exists! If you answer NO, the old SAMPLE.CMD
- will be renamed to SAMPLE.OLD
-
-
- Do you wish to overwrite SAMPLE.CMD (Yes/No/Quit)?
-
- If you choose not to overwrite SAMPLE.CMD, the old file will be
- renamed SAMPLE.OLD. The .OLD extension is used to keep the
- encoded backup files distinct from the source backup which would
- have a .BAK extension. The quit option exits to CP/M.
-
-
- Macro Support
-
- Unlike Ashton-Tate's DBCODE, ENCODE provides full macro support.
- It is recommended that macros be used only when other means are
- not available. Macro operation is usually slower. A line
- starting with a macro will not be encoded. This will slow the
- program even more. You must retain the "&" as the macro symbol
- if you want to start a line with a macro. ENCODE will not
- recognize a different symbol at the start of a line, even if
- dBASE II can be configured to do so. If macros are confined to
- locations other than the start of a line, the "&" may be changed.
- If you do plan on using ENCODE to create a file for Ashton-Tate's
- RUNTIME, do not use an initial macro. RUNTIME will not accept
- it.
-
-
- Sub Files
-
- ENCODE requires separate encoding of any sub files you wish to
- use in a dBASE II program package. It is not required that all
- sub programs be encoded when operation is with dBASE II, but it
- should be done for speed. Only the command files with the
- extension .CMD are encoded.
-
-
- Continuation Lines
-
- Continuation lines will be work with ENCODE, but are not
- recommended. They tend to add extra bytes to the file. The
- usual reason for the broken line is to handle 80 columns of
- display. A pair of lines like the following:
-
- @ 6,0 SAY '-----------------------------------------------------------------';
- +'---------------'
-
- Could be written:
-
- @ 6,0 SAY '-------------------------------------------------------------------
- -------------'
-
- The line is allowed to wrap (without a <RETURN>) and be longer
- than 80 columns. This is only possible if you use a word
- processor to generate the command file. dBASE II will amputate
- the lines at 80 columns. This method produces the shortest
- output. Another way to handle it is as follows:
-
- @ 6,0 SAY '----------------------------------------'
- @ 6,40 SAY '----------------------------------------'
-
- This is 14 bytes longer than the previous example and 11 bytes
- longer than the first, when encoded.
-
-
- Abbreviated Reserved Words
-
- Reserved words may be abbreviated to four letters in your
- source file. For example:
-
- DO WHIL = DO WHILE
- OTHE = OTHERWISE
- STOR = STORE
- ENDI = ENDIF
-
- This produces a source file that is a little harder to read, but
- it allows faster code writing. You may also want to encode files
- already written in this style. It is often used to produce a
- dBASE II command file that will run slightly faster because of
- the shorter length of the file. There is no gain in ENCODE to
- abbreviate the initial reserved word in each line. ENCODE
- converts it to a single byte token anyway. Please note that only
- the full reserved word and the four letter abbreviation are
- supported by ENCODE for initial reserved words. OTHE for
- OTHERWISE is ok, but OTHER or OTHERW will not work.
-
- You can gain a little more speed from encoded files by running
- them through a compression program like DBSQUASH or DTUNE to
- remove extra spaces and abbreviate reserved words prior to using
- ENCODE. The removal of indentation and abbreviation of initial
- reserved words that these programs do will not do anything extra
- for ENCODE. The only gain is in the abbreviation of reserved
- words after the start of the line and removal of extra internal
- spaces.
-
-
- Help File
-
- The help file may be called from ENCODE by entering a "?" at the
- title screen.
-
- Filename.[SRC] or Drive:? ?
-
- Or by entering "ENCODE ?" at the CP/M command line.
-
-
- Option
-
- N No console display of input file. This is the only
- option. The N option must preceded by a space:
-
- Filename.[SRC] or Drive:? SAMPLE.SRC N
-
-
- MS-DOS
-
- Although the CP/M version of ENCODE.COM will not run under
- MS-DOS, most encoded command files will run with a 16 bit version
- of dBASE II. They will not run uner dBASE III or BASE III+.
- Not all dBASE programs written under CP/M will run under MS-DOS.
- As with any high level language, it is possible to write
- operating system specific code or machine specific code.
-
-
- History
-
- Rev. 1.06 3/2/86 Added CP/M command line input of filename to
- encode. Spaces or tabs now allowed for on otherwise blank lines.
- Made the extension .SRC the default.
-
- Rev. 1.05 3/20/85 Fixed bug that doubled encoded bytes for
- reserved words with a length of 4. WAIT was encoded to WAIT =.
- In hex: C2 C2. Bug present from version 1.02 thru 1.04.
-
- Rev. 1.04 2/28/85 Minor correction to installation routine.
-
- Rev. 1.03 2/27/85 Changed to remove comments starting with
- NOTE and fixed bug in abbreviations of DO WHILE and DO CASE.
-
- Rev. 1.02 2/24/85 Added the ability to recognize four letter
- abbreviations of initial reserved words. Clear screen self
- installation added. ENCODE.COM distributed as a stand alone COM
- file, BRUN.COM no longer required.
-
- Rev. 1.01 2/17/85 Modified for compatibility with MBASIC 5.20
- under Apple CP/M. This required changing TEXT$ to TXT$ as TEXT
- is a reserved word in the Apple CP/M basic. Added the ability
- to accept initial reserved words in lower case. Also modified
- to handle continuation lines and remove indentation at the start
- of the continued line. Blank lines will no longer abort the
- encoding, provided they contain no spaces or tabs.
-
- ENCODE version 1.00 released 1/6/85
-
-
- LEGAL NOTICE
-
- ENCODE is NOT "Public Domain." Copyright is held by the author:
-
- Merlin R. Null
- P. O. Box 9422
- N. Hollywood, CA 91609
- (818) 762-1429
-
- Permission is given only for private, nonprofit use of ENCODE.
- Feel free to make copies of the program for your own use or for
- your friends. However, ENCODE may NOT be sold or included with
- any collection of programs for sale or used as an inducement to
- buy another product or program without the written permission of
- the author. Permission is also given for nonprofit computer
- clubs to include this program in distribution disks, provided
- total charges for the entire disk of programs, copying and
- shipping do not exceed $20.00. My vote of thanks goes to those
- clubs that have kept their charges under $10.00.
-
-
- Donation
-
- If you like the program and use it, a small donation of about
- $10.00 would be appreciated, though it is not required to use
- ENCODE. I will do my part to keep ENCODE maintained.
-
- Please report any bugs to me at the above address or phone
- number. I can also be reached by leaving a message on the
- Glendale Literaria RCP/M (818) 956-6164.
-
-
- Other dBASE Utilities
-
- I have two other programs that may be of interest to dBASE II
- users. They are: DBSOURCE, a program to return encoded dBASE II
- command files to source code. And DBINDENT, to pretty print or
- filter dBASE II source code. The current versions as of the date
- of this release are in DBSRC102.LBR and DBINDNT1.LBR.
-
- MBASIC and BRUN are Trademarks of Microsoft.
- dBASE II, dBASE III, dBASE III+, DBCODE and RUNTIME are
- Trademarks of Ashton-Tate.
- CP/M is a Trademark of Digital Research
- 20.00. My vote of thanks goes to those
- clubs that have kept their charges under $10.00.
-
-
- Donation
-
- If you