Exploit your printers capabilities with simple commands

Model III, Scripsit 3.2

Gary A. Shade, Arlington Hts., IL

There have been numerous articles detailing patches to Scripsit, for use with various printers. None of the patches that I have seen modifies Scripsit 3.2, a version for the Model III. While the Model I Scripsit can be used on the Model III, I would prefer to use the latest revision for my machine. All of the patches have one common goal and that is to give the user the ability to exploit the capabilities of the many printers on the market.

This article details a patch to the Model III Scripsit 3.2 that will allow you to embed printer commands in the body of a document. You will be able to switch between normal print width or double-size characters, change pitch, sound bells, or other printer-specific functions. All of this can be accomplished on the same line. By the end of this article, you should have enough knowledge of the routine and driver to enable you to create your own command tables for your printer (or typesetter).

The Program

The program expects a command character to be immediately after the pound sign (#). A table is searched for a match to the command character. If one is found, special printer codes are sent to the printer instead of the character that was in text. If the driver does not find a match, the pound sign and the character are sent to the printer.

The sign was chosen because Scripsit uses the greater-than symbol for its own formatting functions. I chose the pound sign to

42 Basic Computing avoid ambiguity. The original character that was in register A, on entry to the driver, must be in register A on exit from the routine.

Lines 210 to 300 of the program labeled PARLEL, load Scripsit into memory and change the parts of Scripsit that call the printer driver in the Model III ROM. No permanent changes are made to your copy of Scripsit, as the changes to it are made in memory and not on the disk. By loading the address of PARLEL-1 into memory location 5321H, we fool Scripsit into thinking that this is the end of memory. This protects the driver program from being clobbered. It is similar to answering the memory size question in BASIC. It protects a machine language program that you have loaded into high memory.

If this part of the code looks familiar to some of you, it is because the code can be found in the back of your Scripsit manual. The only problem is that the suggested patch is for the Model I version of Scripsit, not the Model III version.

Table 1 contains all the command letters used by the program. You can assign any keyboard character as a command character. It's up to you. Be sure to terminate the entries in the table with OFF (hex). Table 2 is the table that actually contains the printer control codes. There are three bytes per entry. If only one

0 0

Post a comment