This is a list of the labels used in WS 3.3. These labels
are described in the WS 3.0 manual & configuration guides, but
have different addresses from 3.0. However, if you combine the
manuals, this list, and a debugger (such as DDT, SID or ZSID),
you should be able to patch WS 3.3 with no problem. The
definitions haven't changed, but Micropro has compacted the code
and gotten rid of the useless 'reserved' patch areas they kept
leaving in 2.x and 3.0. This list was extracted from WS.INS using
ZSID and a small MBASIC utility I whipped up for the occasion.
One handy thing about the list in this form; if you want to
write assembly language patches that you can zap in with DDT,
just write your code or DB statements preceded by the appropriate
ORG. For example, if you wanted to write some special startup
sequence and put it into the MORPAT area, you could write some
code...
(the address equate list goes here)
ORG TRMINI ; location for terminal init jump
JMP MYINIT ; patch it to jump into my code
ORG MORPAT
MYINIT: MVI A,2 ; start of my init code
.
.
.
RET ; end of my init code
END
...then assemble with ASM or MAC. Before you patch your
Wordstar, you will want to have installed it so you won't have to
worry about some of the more mundane aspects of Wordstar
initialization. After you have installed Wordstar and assembled
the code, you will need DDT or something like that. Say your code
was called WSPAT.ASM; now just zap in the hex file without a
displacement...
A>DDT WS.COM
DDT VERS. 2.2
NEXT PC
4600 0100
-IWSPAT.HEX
-R
NEXT PC
4600 0100
-G0
A>SAVE 69 WSNEW.COM
...or whatever you want to call it. This is a much nicer way
to create large or complicated patches than using the INSTALL
facility or even DDT.