
(Confused 4023 Characters continued from Page 9)
The Commodore dot matrix printers work fine in the
capitals/graphics mode, which is the mode that they start up in.
There are two ways to enter the lower/upper case mode: (1)
Print a chr$(17) (cursor down), which causes it to temporarily
go into the lower/upper case mode, until either the end of the
line is printed, or until a chr$(145) (cursor up) is printed. (2)
Issue the following commands:
open 7,4,7: print#7: close 7
which will cause it to stay in lower/upper case mode.
Once in the lower/upper case mode, there are four ways to
go back into the capitals/graphics mode:
(1) Print a chr$(17) (undone by chr$(145) or end of the line)
(2) Issue the commands:
open 8,4,8: print#8: close 8
(which is not available on the older Commodore dot matrix
printers, such as the 2022 or 2023).
(3) Reset the power to the printer.
(4) Issue a command to the printer to reset using
open 10,4,10: print#10: close 10
Superscript assumes that you haven’t issued commands to the
printer to change it to lower/upper case mode. So it sends a
cursor down prior to each line it prints, if printing to a Commo
dore dot matrix printer. (This is what causes the q at the
beginning of each line of a Superscript output file read back in.
It was actually a cursor down transformed to a q.)
Regardless of how it gets into lower/upper case mode, the
printer confuses certain CBM ASCII codes as long as it is in
this mode. In particular, it prints the character represented by
a chr$(219) when given a chr$(91) (the left bracket) and a
chr$(91) when given a chr$(219). It prints a chr$(220) when
given a chr$(92) and a chr$(92) when given a chr$(220). And
so on to a chr$(223) when given a chr$(95) and vice versa. That
is, these 5 characters were inadvertently switched in the
lower/upper case mode section of the character generator ROM.
There are 2 ways to unconfuse these characters: (1) go back
to capitals/graphics mode temporarily just when printing the
confused characters, or (2) deliberately use the "wrong" char
acter for each confused character and let the printer confuse it
back to the right character. The programming trick we used
above did the latter, but only when printing to a Commodore dot
matrix printer. So does the utility program described below.
A USEFUL UTILITY:
On the Swan’s Utility disk is a program named "copy" which
copies files from any (readable) device to any (writable) device.
When sending data to the printer the program asks whether it is
one of the Commodore printers in lower/upper case mode. If
you answer positively, it sets a flag for the machine language
portion of the program to deliberately confuse the 5 confused
characters on the way to the printer, which re-confuses them
back to what they should be. The data can be anything -
Something you downloaded from a BBS, a Superscript output
file - any CBM ASCII data. Happy printing!
4023 GRAPHICS IN SUPERSCRIPT n by Neil Cumfer
SuperScript can indeed print graphic characters, including
hearts, spades, diamonds, clubs, but only on the 4023 printer,
not on the screen. A word of caution: this may not be worth
the trouble, as the appearance of the text on the screen will be
vastly different from what will be printed out.
There are at least two methods to print graphics. The first
one is suitable when you want large areas of graphics/upper case
characters. Lower case/upper case can also be used, but the two
modes cannot be mixed on the same print line.
The second method is suitable when you only want a small
number of graphics, and it allows for graphics and lower case
to coexist on the same line. The first method is very easy. All
you have to do is to select "1. Epson or Other matrix" from
the start-up menu, instead of "0. CBM Matrix Printers." At
the secondary menu which appears when you choose Epson,
select options c (for cbm, not ASCII) and i (for IEEE).
When you choose CBM Matrix Printers, SuperScript will
automatically supply a cursor-down to the printer at the start of
each line, thus allowing only lower case/upper case to be printed.
But when you choose Epson, the cursor-down is not inserted;
thus the printer will operate in either graphics/upper case (its
power-on default) or in lower case/upper case, whichever mode
it is in when SuperScript outputs text to the printer.
To change the print mode within SuperScript, use the secon
dary address command described on page 132 of the SuperScript
manual. *sa8 (return) will put the printer in graphics/upper
case mode, while *sa7 (return) will put it in lower case/upper
case mode. Note that the secondary address command must be
the last item on a line, like the right margin command, or on a
line by itself, so that graphics cannot appear on the same line as
lower case letters. Of course, a few graphics are always avail
able—those that can be generated with the control key in con
junction with the non-alphabetic keys. Once a mode has been
established, the printer will remain in that mode until the
alternate secondary address command is encountered.
When the printer is in graphics/upper case, as it is when first
turned on, all letters which are in lower case on the screen will
be printed out in upper case, and all letters which are in upper
case on the screen will print as the corresponding graphics on
the keyboard. (But the graphics which normally print wrong,
such as the right bracket, will still print wrong.) So it is best to
begin with a secondary address and not leave things to chance,
especially since Superscript’s normal operation conditions you
to think the printer will start out in lower case.
The second method requires some advance preparation
(once), and a different methods of loading SuperScript (each
time). Insert the SuperScript disk in drive 0, and any other disk
in drive 1. Load the basic program "ss2 maketables" into
memory from the SuperScript disk with this command:
load"ss2 maketables"
List line 3030 with this command:
list 3030
It should appear as follows: 3030 data 0,0,0 Change the
screen to read
3030 data 17,0,0 (but read the last paragraph) and push while
the cursor is somewhere on that line. (This last step will change
the program in memory as well as on the screen.)
10
Northwest Computer News
Comentarios a estos manuales