home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
PROGRAMS
/
WSTAR
/
WSSCRIPT.PZT
/
WSSCRIPT.PAT
Wrap
Text File
|
2000-06-30
|
5KB
|
97 lines
WSSCRIPT.PAT
------------
Wordstar Super/Subscript Patch
for recent Dot Matrix Printers
E.Meyer - 7/87
Wordstar is a fine program, but an old one that dates from the days of
simple printers; unfortunately, it's often a challenge to get it installed to
take advantage of all the neat features of recent printers. One problem is
that there just aren't enough installable codes; the other is that not all of
them are fully generic, like the ^Y toggle and the User Codes ^Q/W/E/R. For
example, you can install ^A and ^N for any codes you want; but since they're
"really" intended for alternate pitch, Wordstar will ignore ^N if it wasn't
preceded by ^A.
Similarly, ^S is supposed to underline -- but it does it by overstriking
an underline character, whereas many modern printers have a nicer continuous
underline that should be used instead, and overstriking will foul up with
proportional spacing. (Often the ^Y toggle is sacrificed for this purpose...
but then, what about italics? color?)
THE PRESENT PROBLEM relates to super/subscripts. Wordstar thinks these
are done by moving the paper down and up (printing up and down), respectively,
so it has two installable code areas, ROLUP and ROLDOW. It assumes that the
ROLUP sequence will start a superscript OR end a subscript, and ROLDOW vice
versa. This works with some dot matrix printers, like Okidatas, which have a
symmetric code sequence that must have been designed with just this in mind.
But my new printer, and presumably other Epson compatibles, use:
ESC S 0 - superscript on
ESC S 1 - subscript on
ESC T - either script off!!
After spending a few minutes imagining appropriate punishments for whoever
designed this, I found that I could go ahead and put in ESC S 0 as ROLUP and
ESC T as ROLDOW, and superscripts (^T) would work fine... but I'd have to
avoid subscripts (^V). This was unacceptable, so I got to work with a
debugger and figured out a patch to get around it.
PATCHING WS.COM AND WSOVLY1.OVR
The following information gives addresses for Wordstar 3.3. For versions
2.26-3.0, WS.COM has MORPAT at 02E0, and ROLUP/DOW at 06BF and 06CF, instead.
I don't know where the relevant code in the overlay is; you'll have to find
it, as I did, by searching for the ROLUP/DOW addresses.
This patch changes the printing code in WSOVLY1.OVR to make the existing
ROLUP and ROLDOW the codes for beginning superscript and subscript, respec-
tively; and it creates a new pair of codes in the MORPAT area to function as
UNROLUP and UNROLDOW. I found room for these at 02D3 and 02D8; if you already
have code in the MORPAT area you may have to put them someplace else.
Use DDT, SID, EDFILE, DU, or your favorite patching utility.
STEP 1. Install ROLUP, ROLDOW in WS.COM.
ROLUP 06C5 03 ;this is "ESC S 0" for superscript
06C6 1B
06C7 53
06C8 30
ROLDOW 06CA 03 ;this is "ESC S 1" for subscript
06CB 1B
06CC 53
06CD 31
STEP 2. Add "UNROLUP, UNROLDOW" to WS.COM.
UNROLUP 02D3 00 ---> 02 ;this is "ESC T"...
02D4 00 1B ;use whatever you need
02D5 00 54
UNROLDOW 02D8 00 ---> 02 ;for me, this is the same
02D9 00 1B
02DA 00 54
STEP 3. Change print code in WSOVLY1.OVR.
73FF LXI B,06CA ---> LXI B,02D3
7402 LXI D,06C5
7405 LXI H,3AB4
7408 CPI 14
740A JZ 42BD
740D PUSH D ---> MVI C,D8 ;change 02D3 to 02D8
740E MOV D,B
740F MOV E,C ---> MVI E,CA ;change 06C5 to 06CA
7410 POP B
7411 LXI H,3AB5
7414 CPI 16
7416 JZ 42BD
Obviously I can't guarantee that you won't have trouble, but I have found
the patch to work. You may want to remove it if you ever reinstall Wordstar
for a different printer, especially a daisy wheel that may be using ROLUP/DOW
for other things as well.
----- Eric Meyer, 427 N. Washington, Bloomington, IN 47401 -----