Blitz!64 & Blitz!128 Reprinted from ?SYNTAX March 1989 Article by Bob Rish, CHUG Central Chapter A BASIC compiler will examine a program written in BASIC, and then prepare a translated version that will run faster than the original BASIC program. In the case of very large BASIC files, the compiled version may occupy fewer blocks as well. BLITZ!64 by Skyles Electric Works has been available for several years. Its continuing popularity belies its age, and indicates that BLITZ!64 still delivers the goods as well or better than newer releases in a simple and effective manner. Now BLITZ!128 is available with full support for programming in ghte C128['s built-in 7.0 BASIC language. Compilers increase a program['s running speed by re-writing the original BASIC commands and statements in "P-Code[1;34m".[0;37m This is a special programming language that takes a middle ground between tru Machine Language (ML) and BASIC. ML programs are in the computer['s "native" language, requiring a minimum of processing time to handle. When a program written in BASIC is run, a portion of the computer called the BASIC interpreter has to process each line of the program, one at a time, convert it to an equivalent series of ML commands, complete those ML operations, and then return to the BASIC program to process the next program line. When a P-Code file is run, there are several operating differences from the BASIC interpreter. Where BASIC will repeatedly search for variables, strings, GOTO and GOSUB target lines, the BLITZ!ed program stores the information so search time is reduced. The handling of numerical values is also optimized by making appropriate conversions once and storing the new value, rather than processing it over and over as the BASIC interpreter will do each time the value is manipulated by the program. There are also some processing changes that reduce intermediate data storage required when evaluating mathematical expressions. There is no free lunch. The evaluation and storage of variable, target line and numeric value information takes memory and storage space. To any given compiled file for the C64, approximately 6000 bytes of supplementary information if appended to the file (11K for the C128). If the original file is small, the compiled version may be larger. Depending upon the type and number of BASIC commands comprising the source program, a BASIC file might need to be 16,000 bytes (35K for the C128) before compiling would result in a smaller file. Larger source files may compile to 60% of original size. Skyles Electric Works sells BLITZ! for the 64 and the 128 separately, as well as in a combined set. I think the original 64 version was protected with a dongle, but the one provided in the 64/128 package uses a form of drive-knocking copy protection. The BLITZ!128 program is stored on a second disk and uses dongle copy protection. Either version allows you to use a single drive, two drives, or a dual drive. Skyles has long provided interfaces to allow the use of IEEE devices like the 8050 an 8250 CBM disk drives with C64/128 computers, and that may be the reason for the dual drive option. I don['t see how the copy-protected C64 version could be used on a non-1541, with the possible exception of an MSD-2 drive. Potential C64 users might first check whether the protected version is compatible with the MSD-2, 9r whether the congle-protected version is still available for use on non-1541 drives. Use of the program is similar in any case. Copy your BASIC program (ualwaysu use back-ups to a fresh disk. Then load and run BLITZ! You will be prompted for the name of the program to be compiled. If the compiled version is to be written to the same disk, you must have sufficient free space. The BLITZ! program will then analyze the source file line by line, making the conversions that will enhace processing speed. At the same time, the BASIC program will be checked for syntax, type mismatch and undefined statement errors. When the BLITZ! processing is completed, it will write to the disk a compiled file as well as a reference file that will assist in debugging if you discover logic errors that the BLITZ!ing does not flag. The compiled file may be renamed, saved, loaded and run like any BASIC program. It cannot be listed like its BASIC source file. This can be used to protect the information within a file. There are some limits upon the size and characteristics of the BASIC source file. Maximum number of lines is 1600 (C128-5000). Maximum length of any line is 255 bytes. Number of jumps (GOTO, GOSUB, FOR-NEXT) cannot exceed 2500 (C128-60000. Maximum number of variables is 1000, and arrays cannot exceed 255. Skyles Electric Works sells BLITZ!64 for $29.95, BLITZ!128 for $49.95, and the BLITZ!64/128 Combo for$59.95. You can call 800-227-9998 to order or request a catalog of their fine products.