CHARM
                     *  *  CHARM  *  *

             A Programmable Character Generator

           Copyright (C) 1982,  Allen S. Jacobson

     Reproduction in any part or form of the contents of
this document or its accompanying diskette, except for the
personal use of the original purchaser, is strictly
forbidden without the expressed consent and permission of
the author.

     LNW Research Corporation and/or the author shall have
no liability or responsibility to the purchaser or any
other person for any loss or damage caused by this program.

                      *  *  *  *  *  *
     INTRODUCTION

     CHARM is a programmable character generator designed
to provide the LNW80, user a maximum of ease and flexibility
in designing character sets, symbols and graphics
characters, and displaying them on the video screen.  A
diskette is provided formatted as a 35-track data disk in
single density.  The diskette contains the following files:

     1.  CHARM641/CMD-The character design program and
video driver with the standard 64-column by 16-line screen
format.

     2.  CHARM801/CMD-The same with an 80-column by 16-line
screen format.

     3.  CHARM802/CMD-The same with an 80-column by 24-line
screen format.

     4.  PATCH/CMD-A patch program described below. (missing)

     5.  MAINSET/CHR-The standard character set.

     6.  OLDTIME/CHR-A character set resembling old style
block characters.

     7.  FUTURA/CHR-A stylish futuristic character set. (missing)

     8.  SUBKILL/BAS-A sample game program in BASIC,
illustrating the use of CHARM for designing graphics
characters and using them for fast high resolution
graphics. (missing)

9. SUBKlLL/CHR-The special character set to be used with the game SUBKILL/BAS. BACKING UP THE MASTER DISKETTE It is suggested that the first thing you do is make a backup copy of the master CHARM diskette. This can be accomplished if you have two disk drives by using your BACKUP utility. If you have only one disk drive, most operating systems offer a single drive copy utility such as COPY1 with DOSPLUS. Using this utility, you can copy the programs onto a diskette which has your operating system on It. NOTE: If you don't have either of these capabilities, contact Balaclava, using the address listed at the end of this manual, and arrangements will be made to furnish the progroms in the best form suitable to your needs. After you have made a backup copy, put the master away in a safe place. OPERATING SYSTEMS The CHARMnnn programs are designed to run as is with the DOSPLUS and NEWDOS/80 operating systems. If you run them with any operating system for which the DUMP command syntax is: DUMP Filespec (START=X'NNNN’,END=X'NNNN',TRA=X'NNNN'), you will need to use PATCH/CMD. In these cases, simply LOAD CHARMnnn/CMD, end then execute PATCH, and your program will run normally. RUNNING THE PROGRAMS Select the screen format you want, and execute CHARMnnn. The initial display will ask if you want to modify the character set (Y), or go immediately to the video driver (N). Note that when the driver portion of the program is in operation, you can load any character set of your choice, at any time. Just type in LOAD Filespec <ENTER$gt;, and the new character set is immediately in effect. If you want to modify the character set or create a new character set, press Y, and the display will change immediately to the character design display. The commands available to you in this mode are prominently displayed at all times, and will be described below. You can exit the design portion of the program and go to DOS at any time, with the character set you have designed intact. THE COMMANDS In the character design portion of the program, there are two sets of commands available to you. Each set is displayed as it becomes operational. The first set is:
G-Get a character to the magnified display (MD). When this command is entered, you will be asked for the ASCII code of the character you want to modify. The code must be entered in Hex and may be gotten by looking at the character table in the right half of the display. For instance, referring to the table, the letter 'A' has ASCII code 41; the letter 'a', code 61. Many of the characters available to you for design are graphics characters which can be executed in BASIC using the CHR$(nnn) function. M-Modify the character in the magnified display. When this command is entered, a cursor appears in the MD, and a new set of command options is displayed and described. This is the second set discussed below. S-Save the character set to disk. When this command is entered, you will be asked for the Filespec. The rules of syntax which apply to writing a filespec under your operating system, will apply in this program. Once a set is saved to disk, it can be called back to the design program by entering L (described below), or it can be loaded directly at any time you are operating with the CHARM video driver in effect. L-Load a character set from disk. After entering this command, you will once more be asked for the Filespec. Entering it will cause the specified character set to be loaded into the character display for further modification or redesign. X-Exit to DOS. When this command is entered, the design display will dissappear, and your DOS Ready message will appear, with the CHARM video driver automatically in operation. It will remain in operation until you reset your machine. THE CHARACTER MODIFICATION COMMANDS <ARROWS>-The keyboard arrows move the cursor to any position within the boundaries of the MD. <ENTER>-Pressing this key will turn on the pixel under the cursor. If it's already on, there will be no effect. <SPACE>-Pressing the 'SPACE' bar will turn off the pixel under the cursor. If it's already off, there will be no effect. P-Put the character into the set. It will appear immediately in the character table, and possibly at several places in the display. Executing this command also returns you to the regular command mode of the design program, ready to work on the next character, or exit, as you choose.
Attempting to execute any commands other than the valid ones will result in a diagnostic message. You then just enter a valid command, and continue. THE VIDEO DRIVERS You will notice that when you are in the video driver mode, the scroll will appear to be somewhat different. This is because it is now under software control, and not under hardware control as it normally is. You also now have screen display formats available to you other than the 64-column by 16-line format in your standard machine. These new formats have presented some options in dealing with the BASIC functions PRINT 0, and PRINT TAB(nn). We have selected from among the options in a way which may require some modifications to your BASIC programs which have used these functions for formatted output. The 64-column by 16-line driver responds to these functions just like the standard hardware driver, so no changes are required when using it. For the 80-column drivers, you now have 80 tab positions in a line. For most purposes this should not affect your previous programs, but you probably will want to take advantage of this for new programs. The PRINT 0 function works differently for each of the 80-column drivers. In the 80x16 driver, the positions are numbered consecutively from 0 through 79 on the first line, from 80 through 159 on the second line, and so on through 1280 positions. In the 80x24 driver, a different scheme is used. The positions in the graphics extension region are addressed only after the positions in the main graphics region. Specifically, positions 0 through 63 are in the first line. Positions 64 through 127 are in the second line, and so on, through 1536 positions. Then position 1536 is back in line one at the beginning of the extension region. The remaining positions in line one are numbered 1536 through 1551. This may seem somewhat awkward, but in fact makes your formatted programs more likely to be compatible with the 80x24 driver than with the 80x16 driver. The method used for the 80x16 driver was chosen to give the greatest ease in using this driver for fast animation associated with game programs. When using the video drivers, in place of the double size print available when you print CHR$(23), or press <SHIFT><RIGHT ARROW>, you now have inverse video. Every letter printed after you execute PRINT CHR$(23), or <SHIFT><RIGHT ARROW> will be in inverse video. This condition will last until you once more issue PRINT CHR$(23), or press <CLEAR>. APPLICATIONS As an example of the many things you can do, now that the character set is under your complete control, we have
included a sample game called SUBKILL/BAS. It is designed to run only under CHARM801. After you have executed this program, and have entered the design portion, then issue the command L, with SUBKILL/CHR as the filespec, and you will see the character set. You can see that many of the characters are portions of graphics symbols, which, when assembled and printed as a string constant, will give you an entire drawing. For instance, in a BASIC program, if you let A$=CHR$(143)+CHR$(144)+CHR$(145)+CHR$(146)+CHR$(147) +CHR$(148)+CHR$(149), then by simply printing A$, you get the drawing of a destroyer. To animate it, you use PRINT @nn or PRINT TAB(nn) statements successively to display the drawing at different positions on the screen. This will open whole new vistas to you for creating your own games. Next, exit to DOS, and execute BASIC, and the program SUBKILL/BAS. The instructions for playing the game are available in the program. TECHNICAL INFORMATION CHARM resides in high memory, and you needn’t set memory size as the video drivers are self-protecting. It is worthwhile to note that if you are in BASIC, and under the control of one of the video drivers, you cannot execute CMD "CHARMnnn/CMD" because the operating system won't see the protected memory, so the program is likely to bomb. The character set resides in memory location F000H (61440) through F77FH (63359). If at any time, and for any reason you are booted out of the design portion of the program before you have completed your set design, you can rescue the character set by executing DUMP Filespec (START=F00H,END=F77FH) or its equilavent for your operating system. Then execute CHARMnnn once more, and reload the character set in the design portion of the program to continue your redesign. Those of you who must use PATCH/CMD, can reenter the program by executing PATCH, and the character set you were working on will remain intact. When executing DEBUG, you will see that the position for the display of input commands has shifted from the left-hand side of the screen to the right-hand side of the screen. This is normal for CHARM, and DEBUG will function normally. CHARMnnn supports SCREEN DUMP programs provided they begin execution at memory location FE00H (65024), and are
loaded after you are in the video driver portion of the program. Once your SCREEN DUMP program is loaded, then any time you press <SHIFT><F1>, the contents of the screen will be dumped to the printer driven by your program. If you want to see the characters you have designed, remember, your printer must be capable of printing high resolution graphics. Please address all questions or enquiries to: Balaclava P.O. Box 281 Altadena, CA 91001 Phone (213) 794 4796 * * * * * *
If you wish to be kept up to date on any modifications to CHARM, fill out the registration form below, and mail it in. ------------------------------------------------------------ Mail to: Balaclava P.O. Box 281 Altadena, CA 91001 Name:__________________________________________________ Address:_______________________________________________ City:___________________________State:_______ZIP:______ We would appreciate any comments or suggestions you might have to improve CHARM _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ ------------------------------------------------------------
Fild, staple, and mail ------------------------------------------------------------ ------------- | | | affix | | postage | | | ------------- Balaclava P.O. Box 281 Altadena, CA 91001 ------------------------------------------------------------