############################################################################## # # # I hereby release QwikFont.COM, QwikKpro.COM & QwikFont.DOC to the Public # # Domain for NON-Commercial usage. No profits should result from the sale # # or any transaction of the prior mentioned programs in any form without the # # consent of the author, (Keith I. Smith) as stated on this seventh day of # # October, 1985. # # # ############################################################################## # Version 3.0 October 7, 1985 # ################################## QwikFont.COM QwikKPro.COM QwikFont.DOC The two programs, QwikFont.COM & QwikKPro.COM are assembler versions of FastFont.COM (TURBO Pascal version). They include just about all of the same features, with the exception of a Help utility and the File Read to Console & Write to Printer functions (KEYs: W,w). For those that haven't seen the pascal version, this program was designed to set up your printer's font & type styles (dot matrix) at the touch of a key. It includes a quick-print label maker for mailing labels and disk labels, etc. The version QwikFont.COM is UN-installed and may be used on any Z-80 based CP/M system, provided that it has some sort of sendable BACKSPACE key. It may be installed to utilize those terminal features that your computer provides. Currently, I have not written an installer program, so you must use some type of disk editor (SuperZAP, DDT, etc.) to make any changes. I have already included the installed version QwikKPro.COM for those lucky owners of late model Kaypro's with graphics (II,IV,X-84) and EPSON LX-80 type printers. Both programs are identical with the exception of graphics. This program, QwikFont.COM allows you to put a string on the Command line when you first run the program. You have the option to continue into the program once completed or terminate back to CP/M. The Command Line will accept lower case letters, but automatically translates them to UPPER case. This limits you to turning things ON mostly, but then again, RESET will turn everything OFF so you can always start out with that key in the string. (i.e.- QWIKFONT REXID. will RESET, turn on the Elite, Expanded, Italic, and Double-strike modes before returning to CP/M. Leaving off the period will allow you to re-enter the program after completion of string execution.) Since the programs are menu-driven, there really is very little to tell you about how to use them, but I will review some of the functions. Generally, the capital letter keys will turn a function ON and the lower case will turn it OFF. Here is a summary of those keys which may give you problems or ques- tions: A: Allows you to turn on the Justification feature on the printer. If your printer supports these functions, you may print out a document with either one or both of the edges justified. You may also center text. a: Turns justification OFF G: Turns on the graphics character section of your printer from 128d to 159d. g: Turns them OFF. H: Sets up the distance between HORIZONTAL tabs on your printer. h: Sends a horizontal TAB to your printer. J: Sets up the formlength of your page and number of lines to skip over after t reaches that length. j: Turns OFF the Jump-Over feature. L: Allows you to reset the LEFT margin on your printer. l: Allows you to reset the RIGHT margin on your printer. R: Master reset code is sent to the printer. Redefines the default font modes and resets the top of page mark for future formfeed commands. r: Special reset code is based on the summation of the numbers shown on the Prompt line. Add up the numbers for the functions that you need and input the total. Your printer will reset all modes to your new specification based on that one number. S: Allows you to reset the line-spacing based on 72nds of an inch. 12/72's is the default number (12 dots/line). s: Resets the line-spacing to the default of 12/72's. V: Allows you to set the number of LineFeeds that you want sent to the printer upon receipt of the vertical tab command. v: Sends the vertical tab command. W: Resets to Pica mode, Left margin=0, and Jumpover 3 lines. w: Resets to Compressed Elite mode, Left Margin=15, & Jump 3 lines. Y: Resets to Compressed mode, Left Margin=15, and Jumpover 3 lines. y: Resets to Elite mode, Left Margin=10, and Jumpover 3 lines. Z: Prints out a normal line of text for your approval. z: Prints out the special graphics characters from the G key. ^L: Go to the Label-Maker menu. ESC: Quit to CP/M. Label-Maker: E: Enter a label's lines. You have 78 characters maximum per line that you may enter. If you press RETURN, you will save all characters on the LEFT side of the CURSOR. (EXCEPTION: when the cursor is physically positioned on the 1st character of a line, NO CHANGES will be made. The line is saved as shown.) If you press ESCAPE, you will save the line exactly as shown. I have tried to make the keys respond horizontally in the method that Wordstar uses (i.e.- ^S= char. left ^D= char right ^A= word left ^F= word right). The ^X key will erase the line that you are on and allow a fresh start on THAT line. After six lines have been entered, the menu will again be shown. You may patch the editor to change the cursor control keys if you wish. Hex addresses are shown later in this document. You may include a trigger character which will invoke the font-menu on an automatic basis. The default character is the ~ key. (i.e.- ~R~N~X will RESET the printer to defaults, turn on the Near-Letter-Quality mode and the Expanded mode, before printing out the remainder of the Label line. These modes will remain in place until you write in some other mode change or turn them off ~n~x or ~R again.) You may turn these modes on and off around particular words in order to high-lite them or to control a complete label or label-line. You may patch the trigger character also. All functions are accessable. D: Display the label buffer. This will show you exactly what will be sent to the printer. C: Clear the label buffer. Press this and kiss off the contents of the current buffer. The buffer will not be deleted until you press this key. You may go back to the Font menu at anytime and return to the Label-Maker without losing the buffer's contents. Of course the buffer is cleared upon 1st entry into the program when you first start out. P: Print the label buffer.You will be prompted to enter the number of labels that you wish to print. Pressing RETURN alone will print out 255 labels or until you press any key to abort. The only problem with this is the size of your printer buffer. The LX-80's buffer is almost 2K in size. The contents of all 255 labels can almost be dumped before you can press a key to abort. Of course there's always the ON-OFF switch on the printer.... ESC: Go back to the Font menu. When you get tired of playing with labels you can always go back to playing with the font's ..... Obviously, all of you don't own an Epson LX-80 printer or a new model Kaypro. But I have tried to make it easy for you to set up your own printer's ESCAPE codes for different features and different terminal characteristics. The following table of HEX addresses reflect the location of bytes which may be patched for your particular equipment: HVideo 023E -> 10 byte string for High-Inverse video. LVideo 024C -> 10 byte string for Low-Inverse video. NVideo 025C -> 10 byte string for Normal video. ClrScr 026E -> 10 byte string for Clear Screen & Home Cursor. ClrLin 0280 -> 10 byte string for Clear Line (CR,string,CR,0). BackSp 028E -> One byte value for BACKSPACE key value. Wait 0297 -> One byte value for DELAY value. Trig 02A2 -> One byte value for Label TRIGGER character PBell 02AA -> One byte value for printer bell. Allows you to remove it if you don't like it. FGraph 02B7 -> 77 byte string for Font Graphics. Begin with CR to use graphics string. Use 0h to skip it. LGraph 0311 -> 27 byte string for Label Graphics. Begin with CR to use graphics string. Use 0h to skip it FMenu 0337 -> start of Font menu. LMenu 082D -> start of Label menu. Cntl-A 1217 -> Key to perform Word LEFT function. Cntl-D 119B -> Key to perform Char RIGHT function. Cntl-F 11E0 -> Key to perform Word RIGHT function. Cntl-S 1202 -> Key to perform Char LEFT function. Cntl-X 117F -> Key to perform Clear Line function. DelKey 11B2 -> Key to perform DELETE function. Table 0E3A -> Beginning of Font table. TblEnd 115A -> End of Font table All strings must terminate with a zero byte (0h). To change a string within the Font Table (0E3Ah -> 115Ah), simply find the matching letter for the beginning of that particular string (i.e.- each entry in the table begins with the ASCII character and is followed by the appropriate string which matches the key pressed: 'B',string,0). Each table entry must be exactly 10 bytes in length including the key, string and zero terminator. Be sure to terminate with a zero byte (0h) and do not overrun the next entry in the table. Several keys in the Table have multiple references (i.e.- H,J,L,l,r,S,V,W,w,Y,y,Z,z) to allow more than 10 bytes to be sent to the printer. The ones that require a numerical input (you are prompted for those) have at least two references. The 1st reference is the Prefix string. The 2nd reference's 2nd byte is where the numerical input is stored. The bytes that may follow that byte reflect a suffix string if your printer requires one. Always leave room for that 1st byte after the key on the 2nd reference for the numerical input. If you are using SuperZAP to patch the program, don't forget that most versions have an offset of 100h. Find the right address and change a copy of the program. I will make the source available for a fee if you can't manage the patching method enough to make it work well for you. Write me at the below address if you need further assistance. Keith I. Smith 216 Pond Ridge Road, East Columbia, SC 29223 (803) 736-3797 evenings October 7, 1985