This file describes the procedure for modifying PRINT to suit your own printer.
CONTROL CODES:
Any character from A-Z except C,I,J,M,P,W,X,Y, and Z can be set up as a user defined control sequence. I,J,M,Z are used by M100 and C,P,W,X,Y by PRINT. In addition, each character actually stands for two codes.
VERY IMPORTANT: A user defined control character embedded in a text file MUST be followed by a + sign or a - sign! You won't crash the program if you don't do that, but you may get strange results.
Most user defined codes will be for Bold Print On/Off, Underline On/Off, etc. That's the reason for the +/- following the control character. However, PRINT won't mind if a ^A+ is totally different from a ^A-. This should give you maximum flexibility to tailor PRINT to your needs. It is permissible to leave the + or - undefined.
CONTROL SEQUENCE STORAGE:
The computer stores the control sequences in the following manner:
First, the control character itself. Next, the control sequence for +. Next, the value 255 to indicate the end of the + code Next, the control sequence for -. Last, a 255 to end the minus sequence.
The pattern repeats for each control character that you define. After the last control sequence, an extra 255 is added to end the table. Here's what a simple table would look like:
Addrs Code Description
59900 1 Code for ^A
59901 27 ^A+ = 27,87
59902 87
59903 255 End of ^A+
59904 27 ^A- = 27,38
59905 38
59906 255 End of ^A-
59907 19 Code for ^S
59908 255 ^S+ is not used
59909 27 ^S- = 27,31,9
59910 31
59911 9
59912 255 End of ^S-
59913 255 End of Control Code Table
Fortunately, you don't need to understand any of this to set up your copy of PRINT. Download PRN100.BAS and you will have a program that will ask you for your control sequences and then store them in the proper format. Right now, PRINT has set aside 60 storage locations for your control codes. If that isn't enough, edit line 20 of PRN100.BAS and change I=59900 to a lower value. To determine your space requirement:
1. A = # of user-defined control characters.
2. Multiply A*3
3. Count all the numbers used in all your control sequences
4. Add results from #2 with results from #3
5. Add #1 to results from #4
6. If your answer is less than 60, then you are OK. Otherwise, change Line 20 as described earlier.
FONT SPECIFICATIONS:
In PRINT, one of the user options is [F]ont Code. The font code can be any integer from 1-254. You can select any code that is meaningful to you, I use characters/inch. Set-up is similar to the Control Codes. The Fonts have 40 bytes available starting at 59960. A sample look at the memory would be:
Addrs Code Description
59960 10 Font Code #10
59961 27 Sequence is 27,45,0
59962 45
59963 0
59964 255 End of Sequence
59965 12 Font Code #12
59966 27 Sequence is 27,31,13
59967 31
59968 13
59969 255 End of Sequence
59970 255 End of Font Table
To see if 40 bytes is enough for all your Font Codes, do this:
1. Multipy the number of codes by 2
2. Add 1
3. Add the total count (not the sum) of all your Sequence Numbers.
If you come up with 40 bytes or less, then you are OK. Otherwise, you need to edit line 20 in PRN100.BAS and change J=59960 to a lower number. You may also have to change I=59900 to a lower number if you change J.
USING PRN100.BAS
The program allows you to inspect the status of your stored control characters and Fonts. It also allows you to input a new SET of Control characters or a new SET of Font codes. I didn't program the capability to modify one specific code, I did include all kinds of error checking in the program. You can't overwrite PRINT, the Control characters won't overwrite the Font codes and vice versa. Unfortunately if an error like that occurs you lose all your input. You have to type in your control sequence again.
So, now is the time to dust off your Printer Manual and find your Control Sequences and Font Sequences. I recommend you get organized before you enter the PRN100.BAS program. Know what your + and/or - codes are going to be and know your Font codes and sequences.
To run PRN100.BAS:
1. Download PRN100.BAS as PRNMOD.DO
2. Using TEXT, delete any leading or trailing garbage.
3. Go to BASIC
4. Load"PRNMOD"
5. At the OK prompt, Kill"PRNMOD.DO"
6. Save"PRNMOD"
7. Run
CAUTION: If you are saving PRINT to RAM complete SAVEM"PRINT",59900,62959,60503 then make sure you LOADM"PRINT" before you run PRNMOD and SAVEM again after running PRNMOD.
The program is really pretty easy to use. I think you will be delighted with the results once you get PRINT configured to your specifications. I hope you enjoy using PRINT as much as I enjoyed writing it!