PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

PC-SIG Diskette Library (Disk #379)

[PCjs Machine "ibm5160"]

Waiting for machine "ibm5160" to load....

Information about “WORDSTAR AIDS”

An all-star collection of useful WordStar utilities to enhance your
usage of this valuable word processor.  The collection includes
keyboard redefinitions, printer patches, color, and editing features.
Among others: WS2000.DIR gives you a full description of that versions
keyboard defintions.  Also here is ST -- the SuperTyper program -- an
improved version of the DOS "TYPE" command.

System Requirements: WordStar

How to Start: Consult the files suffixed .DOC, .KEY and .TXT for
documentation.  To run a program with the suffix .COM or .EXE, just
type its name, i.e., for ST.COM, type ST and hit <ENTER>.

File Descriptions:

MODWS1   ASM  Strips underline from WS files
MODWS1   EXE  "
ST       DOC  Documenatation for ST.COM
ST       COM  Supertyper for WordStar
WS2      KEY  Keyboard redefinition
WS-PROKY KEY  Function key redefinitions
WS--3-24 PAT  WS printer patches
UNWS     EXE  Removes high-order bits from WS
WSNUM    EXE  Numbers paragraphs in ws files
WSMX80G  WS   Patches for MX-80G
WSMOD    COM  Adds color to WS
WSFXNEC  TXT  Function key redefinitions
WSFIX3   TXT  Function key redefinitions
WS3530   WS   Printer patches for NEC3530
WS2KEY   DOC  Keyboard redefinition
WS2000   DIR  Keyboard redefinition
WSPNEC35 BAS  Patches for various printers
WSUNNUM  EXE  Unnumbers paragraphs in WS files

FILES379.TXT

------------------------------------------------------------------------
Disk No 379   WORDSTAR Aids                                     V1 DS
------------------------------------------------------------------------
A WORDSTAR collection of useful utilities to enhance your usage of this
valuable text editor.  The collection includes keyboard redefinitions,
printer patches, color, and editing features.

MODWS1   ASM  Strips underline from WS files
MODWS1   EXE                  "
ST       COM  Supertyper for WORDSTAR
ST       DOC  Documentation for ST.COM
UNWS     EXE  Removes high-order bits from WS
WS--3-24 PAT  WS printer patches
WS-PROKY KEY  Function key redefinitions
WS2      KEY  Keyboard redefinition
WS2000   DIR  Keyboard redefinition
WS2KEY   DOC  Keyboard redefinition
WS3530   WS   Printer patches for NEC3530
WSFIX3   TXT  Function key redefinitions
WSFXNEC  TXT  Function key redefinitions
WSMOD    COM  Adds color to WS
WSMX80G  WS   Patches for MX-80G
WSNUM    EXE  Numbers paragraphs in ws files
WSPNEC35 BAS  Patches for various printers
WSUNNUM  EXE  Unnumbers paragraphs in WS files


PC Software Interest Group (PC-SIG)
1030 E Duane, Suite J
Sunnyvale, CA 94086
(408) 730-9291

MODWS1.ASM

TITLE MODWS1 - ASSEMBLER PROGRAM TO STRIP UNDERLINING FROM WORDSTAR FILES
SUBTTL DESCRIPTION OF THE STACK SEGMENT
	PAGE
STACK	SEGMENT PARA STACK 'STACK'
	DB	64 DUP('STACK   ')
STACK	ENDS
SUBTTL DESCRIPTION OF THE DATA SEGMENT
	PAGE
WORKAREA SEGMENT PARA PUBLIC 'DATA'
LOGO    DB      '     ***********************************************************************',10,13
	db	'     *        Program is a modification by Herb Stratemeyer of the         *',10,13
	db	'     *                            UN - Wordstar                            *',10,13
	db	'     *       written as an assembler language example by Gene Plantz.      *',10,13
	db	'     *         You are prompted for the input and output file names.       *',10,13
	db	'     *         The modified program removes 13h and 93h, the toggle        *',10,13
	db	'     *          control codes for underlining from Wordstar files.         *',10,13
	db	'     ***********************************************************************',10,10,10,10,13,'$'
donem   db	10,10,13,'     -------->    DONE    <-------------',10,13,'$'
crlf	db	10,13,'$'	;issue carriage return-linefeed after input
fcb1	db	40 dup(0)	;input file  only needs to be 36 (but safe)
fcb2	db	40 dup(0)	;file control block for output
err0	db	7,7,'--->  ERROR Opening INPUT file  <--------',10,13,'$'
err1	db	7,7,'--->  ERROR.. not enough disk space for output <---',10,13,'$'
err2	db	7,7,'--->  ERROR.... bad file name given. <----',10,13,'$'
parms	db	15		;max size of reply
repson  db	?		;size of what they typed
name1	db	20  dup(' ')	;this is where the users reply goes
parms2	db	15		;max size of input
resp2	db	?		;size of what they really typed in
name2 	db	20  dup(' ')	;this is where the reply goes
ask1	db	10,10,13,'     Please Enter the name of the input file:   $'
ask2	db	'     Please Enter the name of the output file:  $'
msg	db	10,13,'     Searching for specified characters  $'
buf	db	20H		;record  buffer (only one byte!)
workarea ends
;
subttl desciption of dos interfaces
cseg	segment para public 'CODE'
start	proc	far
	assume cs:cseg,ds:workarea,ss:stack,es:workarea
	org	100h
	push	ds			;set up starting linkage as per dxample
	sub	ax,ax			;zero this and place on stack
	push	ax			;so that when we do a RET we go to
	mov	ax,workarea		;location 0;  point to our workarea
	mov	ds,ax			;move the workarea address into DS
	mov	es,ax			;also into ES for the function 29H
	call	cls			;call subroutine to clear the screen
	mov	dh,3 			;set cursor to row 8
	mov	dl,0 			;set cursor to column 0
	mov	bh,0			;use screen number 0
	mov	ah,2			;function 2 to locate cursor
	int	10h			; go do it
	mov	dx,offset logo 		;display the logo where we put cursor
	mov	ah,9			;function 9 is print string
	int	21h			;call dos to do it
;
	mov	dx,offset ask1 		;point to message to display
	mov	ah,9 			;tell DOS what function (print string)
	int	21h			;call DOS
;
	mov	dx,offset parms		;point to console input buffer
	mov	ah,10  			;read console buffer
	int	21h			;do it
;
	mov	si,offset name1		;put address of name1 into SI
        mov 	di,offset fcb1		;put address of file control block DI
	mov	ah,29h			;tell DOS to parse filename
	int	21h			;do it
;
	mov    dx,offset crlf		;do a carriage return-line feed
	mov	ah,9			;after the reply
	int	21h			;to DOS
;
	mov	al,[di+1] 		;if DI+1 = blank, no file name
	cmp	al,20h			;if blank, error
	jnz     isok
	jmp	error2
;
isok:
	mov	dx,offset ask2  	;ask user for name of new file
	mov	ah,9			;display question
	int	21h			;DOS
;
	mov	dx,offset parms2	;put address of input buffer into DX
	mov	ah,10			;get input from user
	int	21h			;DOS
;
	mov	dx,offset crlf		;another cr,lf
	mov	ah,9
	int	21h
;
	mov 	si,offset name2		;SI = address of field NAME2
	mov	di,offset fcb2		;DI = address of second file control
	mov	ah,29h			;ask DOS to parse filename
	int	21h			;DOS
;
	mov 	al,[di+1] 		;if DI+1 = blank, error
	cmp	al,20h			;is it blank??
	jne	open1			;no, continue
	jmp	error2			;yes, tell him and leave
;
open1:	mov	dx,offset fcb1   	;point to first fcb
	mov	ah,15			;open the input file
	int 	21h			;call dos to do it
;
	cmp	al,0			;see if ok
	jz	open2			;yes, continue
	jmp	error0			;no, tell him and leave
;
open2:	mov	dx,offset fcb2		;address of fcb2
	mov	ah,16h			;create output file
	int	21h			;this does open, too
;
	mov	dx,offset buf		;point to record buffer
	mov	ah,1ah			;tell DOS to put disk data there
	int	21h			;DOS
;
	mov  word ptr fcb1+0eh,0001h	;set input  record length to ONE!
	mov  word ptr fcb2+0eh,0001h	;set output record length to ONE!
;
;-----------------------------------------------------------------------------
;
                                        ;added by HPS
	mov	dx,offset msg		;tell the user its working
	mov	ah,9			;display message
	int	21h			;DOS
;
rdbyt:
	mov	dx,offset fcb1		;read from file 1
	mov	ah,14h			;sequential read from disk
	int	21h			;DOS
	cmp	al,0			;see if normal return
	jne	closeall		;end-of-file, wrap it up and leave
;
	mov	al,buf			;get data byte from memory
;
;************** START OF PROCESSING SECTION **********************************
; At this point, the next input BYTE is in the AL register.		     ;
;	a) To throw byte away, just JMP back to 'RDBYT'.		     ;
;	b) To output this byte (or any other byte in the AL register), just  ;
;	   CALL 'WRTBYT' before jumping back to 'RDBYT'.		     ;
;	c) Everything else is automatic !!!				     ;
;*****************************************************************************

;this section was modified to remove underlining - 13h and 93h

	cmp	al,13h			;is it a 13h (Ctrl-Q) ?
	je	rdbyt			;if yes, throw it away and get next

	cmp	al,93h			;is it a 93h ? - same, high-bit set
	je	rdbyt			;if yes, get next

 	call	wrtbyt			;if its still around, keep it
	jmp	rdbyt			;this ones saved, get the next

;end of modification - rest is original

;************** END OF PROCESSING SECTION ************************************
;
wrtproc	proc	near
wrtbyt:
	mov	buf,al			;put data byte into memory buffer

	mov	dx,offset fcb2		;write to file 2
	mov	ah,15h			;sequential write
	int	21h			;DOS
	cmp	al,1			;was disk full?
	je	error1			;yes
wbex:	ret				;subroutine exit
wrtproc	endp
;
;------------------------------------------------------------------------------
;
closeall:
	mov	dx,offset fcb2		;close output file
	mov	ah,10h
	int	21h
;
	mov	dx,offset donem		;issue DONE message
	mov	ah,9
	int	21h
	jmp	exit
;
error1:	pop	ax			;clean-up stack, JMPed to here from ...
					; ... middle of a subroutine.
	mov	dx,offset err1		;point to error mess number 1
	jmp	errorm
error2:	mov	dx,offset err2		;err mess 2
	jmp	errorm
error0:	mov	dx,offset err0
errorm:
	mov	ah,9			;print it
	int	21h
	jmp	closeall
exit:	ret
start	endp
;
;
subttl clear screen routine
cls	proc	near
	mov	cx,0
	mov	dx,2479h
	mov	bh,7
	mov	ax,600h
	int	10h
	ret
cls	endp
;
;
cseg	ends
	end	start

ST.DOC

ST -- the SuperTyper program -- an improved version of the DOS type command.

This program provides three significant enhancements to the type command:

 1) the display is paged, not scrolled, and thus is much easier to read.

 2) Previously displayed pages are saved and can be accessed by use of the
    PgUp and PgDn keys.

 3) Wordstar's 'funny' characters are converted to normal display characters.
    (as all WordStar users know, 'type'ing a WordStar file creates a strange
     display)

Directions:
Type ST for directions and to be prompted for a filename to be listed.
Type ST <filename> to list a file.
PgUp and PgDn move through the display pages in the file.
The '+' toggles the display of page number in each page.  This display
is convenient for keeping your place in big files -- especially files
that are bigger than memory and only part of the file can be kept in memory.
This display is normally off, it is toggled on when "buffer wrap-around"
occurs.  If it bugs you, hit the '+' key and turn it off.



WS2KEY.DOC

WORDSTAR NEWKEY DEFINITIONS   BY MICHAEL DREW

FOR USE WITH THE WORDSTAR WORD PROCESSING PROGRAM AND NEWKEY. THE FOLLOWING
CHANGES WILL HELP YOU IN YOUR WORDSTAR USE. ALL DOUBLE AND TRIPLE KEYSTROKES
HAVE BEEN REVISED TO REQUIRE ONLY ONE KEY STROKE (NOT COUNTING CTRL AND ALT)
IT WILL TAKE YOU A WHILE TO GET USED TO THE NEW KEYS, BUT ONCE YOU HAVE
YOU WILL FIND YOUR WORDSTAR TYPING TIME WILL BE GREATLY REDUCED!
FEEL FREE TO REVISE THIS ANY WAY YOU WISH FOR YOUR OWN USE, BUT PLEASE DO
NOT REVISE THIS PROGRAM IN THE BBS!

KEY    DEFINITION               COMPOSITION

ALT 3  CANCEL COMMAND           ^U
ALT 7  LEFT OF TEXT             ^QS
ALT 8  RIGHT OF TEXT            ^QD
ALT 9  TOP OF SCREEN            ^QE
ALT 10 BOTTOM OF SCREEN         ^QX
^-     O MENU                   ^O
^Q     Q MENU                   ^Q
^W     DELETE LINE RIGHT        ^QY
^E     DELETE WORD RIGHT        ^T
^R     DELETE LINE              ^Y
^T     P MENU                   ^K
^Y     PAGE UP                  ^R
^U     CURSOR LINE UP           ^E
^I     CURSOR LINE DOWN         ^X
^O     SCREEN SCROLL UP         ^Z
^P     SCREEN SCROLL DOWN       ^W
^A     REFORM PARAGRAPH         ^B
^S     UNDERLINE                ^PS
^F     DELETE CHARACTER         ^G
^G     NON BREAK SPACE          ^PO
^H     CURSOR WORD LEFT         ^A
^J     CURSOR WORD RIGHT        ^F
^K     CURSOR LEFT              ^S
^L     CURSOR RIGHT             ^D
^\     J MENU                   ^J
^Z     K MENU                   ^K
^X     OVER PRINT               ^PH
^C     CENTER TEXT              ^OC
^V     FEED                     ^N
^B     BOLD TEXT                ^PB
^N     PAGE DOWN                ^C

NOTE THAT THE ABOVE APPLY TO ALL COMBINATIONS. FOR EXAMPLE, ^A IS NOW USED
TO REFORM A PARAGRAPH INSTEAD OF ^B. IN ORDER TO DO MASS REFORM (^QQ^B)
YOU WILL USE INSTEAD ^QQ^A.


WSFIX3.TXT


Judy Epstein, COMPTICS, 3303 Dato Ave., Highland Park, Ill., 60035
April 4, 1983

To use debug to make the same patches to WordStar as INSTALL.BAS+WSPATCH3.BAS
DOS in A:    WS diskette in B:	[V.3.24]

DEBUG B:WS.COM
  [just enter the numbers and letters from the left column]
F 077F L4 03 1B 53 00			^PQ  SUPERSCRIPT
F 0784 L4 03 1B 53 01			^PW  SUBSCRIPT
F 0789 L2 01 1B 			^PE  ESCAPE
F 078E L5 04 1B 48 1B 54		^PR  OFF EACH SCRIPT
F 076B L4 03 1B 57 01			^PA  DOUBLE WIDTH ON
F 0770 L4 03 1B 57 00			^PN  DOUBLE WIDTH OFF
F 0793 L2 01 0F 			^PY  CONDENSED ON
F 0798 L2 01 12 			^PY  CONDENSED OFF
F 079D L3 02 1B 40			     INITIALIZE PRINTER [PSINIT]
F 07AE L3 02 1B 40			     FINALIZE PRINTER	[PSFINI]
F 0775 L4 03 1B 2D 01			^PT  UNDERLINE ON  [continuous]
F 077A L4 03 1B 2D 00			^PT  UNDERLINE OFF
F 0670 L5 04 0B 53 11 50		F1   [^KS ^QP]
F 0679 L6 05 11 52 11 51 02		F2   [^QR ^QQ ^B]
F 0682 L4 03 0F 4C 1B			F3   [^OL <ESC>]
F 068B L4 03 0F 52 1B			F4   [^OR <ESC>]
F 0694 L3 02 10 54			F5   [^PT]
F 069D L6 05 0B 44 50 12 1B		F6   [^KD P ^R <ESC>]
F 06A6 L3 02 0B 42			F7   [^KB]
F 06AF L3 02 0B 4B			F8   [^KK]
F 06B8 L3 02 11 52			F9   [^QR]
F 06C1 L3 02 11 43			F10  [^QC]

To change default values :		[space bar to keep]

E 02CF				  DEL1-short [screen display time delay]
  01.				    put in 00 for shorter
E 02D0				  DEL2-med short
  04.				    put in 00 for shorter
E 02D1				  DEL3-med long
  08.				    put in 00 or 04 for shorter
E 02D2				  DEL4-long
  10.				    put in 00,04 or 08 for shorter
E 02D3				  DEL5-Full screen refresh
  09.				    put in 00,04,08 for shorter
E 02DB				  DISK RESET
  00.				    put FF to prohibit disk reset
E 02DC				  DRIVE FOR COMMAND FILES if not on logged
  01.				    put 1,2,3,4 for A,B,C,D.   WS looks here
E 02DD				  SCROLL SIZE
  14.				    amount of screen scroll.
E 0360				  HELP LEVEL 3
  03.				    put in 00,01, or 02
E 0361				  HELP LEVEL MESSAGE
  FF.				    put in 00 to produce initial message

E 0362				  INSERT ON
  FF.				    put in 00 for OFF
E 0363				  DIRECTORY DISPLAY ON
  FF.				    put in 00 for OFF
E 037F				  INITIAL LEFT MARGIN col. number -1
  00.				    put in 00 to INITRM -3
E 0380				  INITIAL RIGHT MARGIN col. number -1
  40.				    put in 2 to screen width -4
E 0385				  WORD WRAP
  FF.				    put in 00 for OFF
E 0386				  JUSTIFICATION
  FF.				    put in 00 for ragged right
E 0387				  VARIABLE TABS
  FF.				    put in 00 for OFF
E 0388				  SOFT HYPHEN
  00.				    put in FF for ON
E 0389				  HYPHEN HELP
  FF.				    put in 00 for OFF
E 038A				  PRINT CONTROL DISPLAY
  FF.				    put in 00 for OFF
E 038B				  RULER DISPLAY
  FF.				    put in 00 for OFF
E 038C				  PAGE BREAK DISPLAY
  FF.				    put in 00 for OFF
E 038D				  PAGE BREAK SUPPRESS
  FF.				    put in 00 for OFF
E 038E				  LINE SPACING
  01.				    put in 2 to 9
E 038F				  COLUMN MOVE MODE
  00.				    put in FF for ON
E 0392				  DOCUMENT MODE
  00.				    put in FF for non-document
E 0393				  DECIMAL POINT CHARACTER
  2E.				    normally "." put in 2C for ","
E 0395				  DOT COMMAND CHARACTER
  2E.				    normally "." Put in 25 for "%"
E 0396				  NON BREAK SPACE CHARACTER
  0F.				    normally ^O.  Put in 26 for "&"
E 039A				  HYPHEN CRITERION
  04.				    # columns short of right margin that
				    hyphen help activitated
E 03B3				  SOFT CR.  Line does not end paragraph. CR
  20.				    at end of line can be moved by ^B.
				    Normally " ".  Put 5C for "\"
E 03B4				  HARD CR.  End of line is paragraph end.
  3C.				    Normally "<".  Put in 20 for " ".
E 3D3				  PAGE NUMBERING ON
  00.				    put in FF for OFF
E 0747				  BOLDFACE STRIKES
  02.				    put 3,4,5 for darker
E 0748				  DOUBLE STRIKE
  02.				    put 3,4,5 for darker
E 07C1				  STRIKEOUT CHARACTER IS "-"
  2D.				    put in 2F for "/"
E 07C2				  UNDERSCORE CHARACTER
  5F.				    normally "_".
W, then Q

		     When using WordStar, you can now use

  F1	  SUPER SAVER,CONT    [SAVE FILE, MOVE CURSOR TO PREVIOUS POSITION]
  F2	  SUPER REFORMER      [CURSOR TO BEGINNING, REFORM EACH PARAGRAPH]
  F3	  LEFT MARGIN	      [SET  LEFT MARGIN AT CURSOR POSITION]
  F4	  RIGHT MARGIN	      [SET RIGHT MARGIN AT CURSOR POSITION]
  F5	  UNDERLINE TOGGLE    [CONTINUOUS UNDERLINE]
  F6	  SUPER PRINT	      [SAVE FILE, CALL UP PRINT WITH DEFAULTS]
  F7	  MARK BLOCK BEGINNING
  F8	  MARK BLOCK ENDING
  F9	  BEGINNING OF FILE
  F10	  END OF FILE

 ^PQ  SUPERSCRIPTS ON	  ^PW  SUBSCRIPTS ON	    ^PR SHUT OFF
 ^PA  DOUBLE WIDTH ON	  ^PN  DOUBLE WIDTH OFF
 ^PY  CONDENSED ON	  ^PY  CONDENSED OFF
 ^PT  UNDERLINE ON	  ^PT  UNDERLINE OFF
 ^PE4 ITALICS ON	  ^PE5 ITALICS OFF
 ^PEE EMPHASIZED ON	  ^PEF EMPHASIZED OFF
 ^PEG DOUBLE STRIKE ON	  ^PEH DOUBLE STRIKE OFF
 ^PE8 IGNORE PAPER OUT	  ^PE9 ENABLE PAPER OUT
 ^PE< UNIDIRECTIONAL ONE LINE
 ^PE0 LINE SPACING 1/8"   ^PE1 7/72"                ^PE2 1/6"[DEFAULT]


  To work properly,  the controls should be nested in proper order.   Also,
WS  does  not  count  ^PE  as a place  in  line,  but  it  does  count	the
4,5,E,F,G,H,8,9 ,<,0,1,2.   Since these are printer controls,  they are not
printed.   Thus  the  line  is missing these characters and is	too  short.
Therefore,  whenever one of these characters is used, insert an extra space
for each one used if using right justification.
  And  remember  to  CHECK this if the paragraph  is  REFORMED.   The  last
printing  character should be at the right margin column number.   If  not,
insert extra spaces in the line.
  F1  will  save  the file and resume at the  cursor  position	before	the
command (instead of placing it at the beginning of the file).
  Before using F2, make sure the margins and line spacing are set properly.
This  will  remove spaces that you put in for ^PEx,  so remember to  do  it
again,	or  be	sure to do it after this command.   If you do not  want  to
reform the whole file, then do not use F2.
  Before  using F6,  be sure the paper is properly positioned.	 Be careful
when using this command.   If there was a previous file printed,  then that
is  the name that will be restored,  and not necessarily the filename  that
was just saved.  (This is the way WordStar works)  If no previous file	was
printed, then the file saved will be selected.


WSFXNEC.TXT


Judy Epstein, COMPTICS, 3303 Dato Ave., Highland Park, Ill., 60035
May   1, 1983

To use debug to make the same patches to WordStar as INSTALL.BAS+WSPNEC35.BAS
DOS in A:    WS diskette in B:	[V.3.24]

DEBUG B:WS.COM
  [just enter the numbers and letters from the left column]
F 077F L5 04 0F 00 00 00		^PQ  SHIFT IN - STANDARD CHARS
F 0784 L5 04 0E 00 00 00		^PW  SHIFT OUT - OTHER CHARS
F 0789 L5 04 1B 00 00 00		^PE  ESCAPE
F 078E L5 04 00 00 00 00		^PR  not used now
F 076B L5 04 1B 48 00 00		^PA  ENTER 12 CPI,PROPORTIONAL
F 0770 L5 04 1B 49 00 00		^PN  EXIT TO SETTING OF DIP SW
F 079D L9 10 1B 34 1B 4B 1B 4F 1B 40	     INITIALIZE PRINTER [PSINIT]
F 07A6 L8 1B 37 1B 3D 1B 28 0D 0D
F 07AE L9 10 1B 34 1B 4B 1B 4F 1B 40	     FINALIZE PRINTER	[PSFINI]
F 07B7 L8 1B 37 1B 3D 1B 28 0D 0D
F 0670 L5 04 0B 53 11 50		F1   [^KS ^QP]
F 0679 L6 05 11 52 11 51 02		F2   [^QR ^QQ ^B]
F 0682 L4 03 0F 4C 1B			F3   [^OL <ESC>]
F 068B L4 03 0F 52 1B			F4   [^OR <ESC>]
F 0694 L3 02 10 53			F5   [^PS]
F 069D L6 05 0B 44 50 12 1B		F6   [^KD P ^R <ESC>]
F 06A6 L3 02 0B 42			F7   [^KB]
F 06AF L3 02 0B 4B			F8   [^KK]
F 06B8 L3 02 11 52			F9   [^QR]
F 06C1 L3 02 11 43			F10  [^QC]

To change default values :		[space bar to keep]

E 02CF				  DEL1-short [screen display time delay]
  01.				    put in 00 for shorter
E 02D0				  DEL2-med short
  04.				    put in 00 for shorter
E 02D1				  DEL3-med long
  08.				    put in 00 or 04 for shorter
E 02D2				  DEL4-long
  10.				    put in 00,04 or 08 for shorter
E 02D3				  DEL5-Full screen refresh
  09.				    put in 00,04,08 for shorter
E 02DB				  DISK RESET
  00.				    put FF to prohibit disk reset
E 02DC				  DRIVE FOR COMMAND FILES if not on logged
  01.				    put 1,2,3,4 for A,B,C,D.   WS looks here
E 02DD				  SCROLL SIZE
  14.				    amount of screen scroll.
E 0360				  HELP LEVEL 3
  03.				    put in 00,01, or 02
E 0361				  HELP LEVEL MESSAGE
  FF.				    put in 00 to produce initial message
E 0362				  INSERT ON
  FF.				    put in 00 for OFF

E 0363				  DIRECTORY DISPLAY ON
  FF.				    put in 00 for OFF
E 037F				  INITIAL LEFT MARGIN col. number -1
  00.				    put in 00 to INITRM -3
E 0380				  INITIAL RIGHT MARGIN col. number -1
  40.				    put in 2 to screen width -4
E 0385				  WORD WRAP
  FF.				    put in 00 for OFF
E 0386				  JUSTIFICATION
  FF.				    put in 00 for ragged right
E 0387				  VARIABLE TABS
  FF.				    put in 00 for OFF
E 0388				  SOFT HYPHEN
  00.				    put in FF for ON
E 0389				  HYPHEN HELP
  FF.				    put in 00 for OFF
E 038A				  PRINT CONTROL DISPLAY
  FF.				    put in 00 for OFF
E 038B				  RULER DISPLAY
  FF.				    put in 00 for OFF
E 038C				  PAGE BREAK DISPLAY
  FF.				    put in 00 for OFF
E 038D				  PAGE BREAK SUPPRESS
  FF.				    put in 00 for OFF
E 038E				  LINE SPACING
  01.				    put in 2 to 9
E 038F				  COLUMN MOVE MODE
  00.				    put in FF for ON
E 0392				  DOCUMENT MODE
  00.				    put in FF for non-document
E 0393				  DECIMAL POINT CHARACTER
  2E.				    normally "." put in 2C for ","
E 0395				  DOT COMMAND CHARACTER
  2E.				    normally "." Put in 25 for "%"
E 0396				  NON BREAK SPACE CHARACTER
  0F.				    normally ^O.  Put in 26 for "&"
E 039A				  HYPHEN CRITERION
  04.				    # columns short of right margin that
				    hyphen help activitated
E 03B3				  SOFT CR.  Line does not end paragraph. CR
  20.				    at end of line can be moved by ^B.
				    Normally " ".  Put 5C for "\"
E 03B4				  HARD CR.  End of line is paragraph end.
  3C.				    Normally "<".  Put in 20 for " ".
E 3D3				  PAGE NUMBERING ON
  00.				    put in FF for OFF
E 0747				  BOLDFACE STRIKES
  02.				    put 3,4,5 for darker
E 0748				  DOUBLE STRIKE
  02.				    put 3,4,5 for darker
E 07C1				  STRIKEOUT CHARACTER IS "-"
  2D.				    put in 2F for "/"
E 07C2				  UNDERSCORE CHARACTER
  5F.				    normally "_".
W, then Q

		     When using WordStar, you can now use

  F1	  SUPER SAVER,CONT    [SAVE FILE, MOVE CURSOR TO PREVIOUS POSITION]
  F2	  SUPER REFORMER      [CURSOR TO BEGINNING, REFORM EACH PARAGRAPH]
  F3	  LEFT MARGIN	      [SET  LEFT MARGIN AT CURSOR POSITION]
  F4	  RIGHT MARGIN	      [SET RIGHT MARGIN AT CURSOR POSITION]
  F5	  UNDERLINE TOGGLE    [ UNDERLINE]
  F6	  SUPER PRINT	      [SAVE FILE, CALL UP PRINT WITH DEFAULTS]
  F7	  MARK BLOCK BEGINNING
  F8	  MARK BLOCK ENDING
  F9	  BEGINNING OF FILE
  F10	  END OF FILE

 ^PQ  STANDARD CHARACTERS ^PW  SHIFTED CHARACTERS
 ^PA  12 CPI PROPORTIONAL ^PN  BACK TO SETTING OF DIP SWITCH
 ^PY  RIBBON COLOR TOGGLE
 ^PE  + DESIRED CODES AS PER MANUAL
 ^PR not used now

  To work properly,  the controls should be nested in proper order.   Also,
WS  does  not  count  ^PE  as a place  in  line,  but  it  does  count	the
 characters afterward.	    Since these are printer controls,  they are not
printed.   Thus  the  line  is missing these characters and is	too  short.
Therefore,  whenever one of these characters is used, insert an extra space
for each one used if using right justification.
  And  remember  to  CHECK this if the paragraph  is  REFORMED.   The  last
printing  character should be at the right margin column number.   If  not,
insert extra spaces in the line.
  F1  will  save  the file and resume at the  cursor  position	before	the
command (instead of placing it at the beginning of the file).
  Before using F2, make sure the margins and line spacing are set properly.
This  will  remove spaces that you put in for ^PEx,  so remember to  do  it
again,	or  be	sure to do it after this command.   If you do not  want  to
reform the whole file, then do not use F2.
  Before  using F6,  be sure the paper is properly positioned.	 Be careful
when using this command.   If there was a previous file printed,  then that
is  the name that will be restored,  and not necessarily the filename  that
was just saved.  (This is the way WordStar works)  If no previous file	was
printed, then the file saved will be selected.

WSPNEC35.BAS

10 'SAVE"a:wspnec35",A       PINSTALL
11 ' This program installs various printers for WordStar 3.02
12 ' MicroPro International Corporation, May 24, 1982
13 ' Revised for WordStar 3.2 - June 16, 1982
14 ' Revised for WordStar 3.21 - August 12,1982 -ewg
15 ' Revised for WordStar 3.24 - November 5,1982 -ewg
16 ' Revised for NEC 3550 Printer - December 1, 1982 - cws
17   '----------------------------------------------------------------------------------------------------------------------------
18 ' Revised on  4- 4-83 for function key settings and miscellaneous locations
19 ' Revised on  5- 1-83 for NEC 3530 printer.
20 ' By Judy Epstein,COMPTICS,3303 Dato Ave.,Highland Park, Ill.60035
21   '----------------------------------------------------------------------------------------------------------------------------
22 '    F1      ^KS ^QP         Super saver--Save and resume.  Cursor to position before this command
23 '    F2      ^QR ^QQ^B       Super reform--Cursor to beginning of file.  Reform every paragraph.
24 '                            Make sure margins and line spacing set properly.
25 '                            This removes spaces you should have put in for ^PEx, so remember to do it again (or now)
26 '    F3      ^OL <esc>       Left  margin set at cursor column.
27 '    F4      ^OR <esc>       Right margin set at cursor column.
28 '    F5      ^PS             Underline toggle
29 '    F6      ^KD P ^R <esc>  Super print--Saves file.  Then selects P to print a file with all defaults as given.
30 '                            Be sure paper is properly positioned before pressing F6.  Be careful when using this command.
31 '                            If a previous file was printed, then that is the name that will be restored with ^R, not this one.
32 '                            If no previous file was printed, then the file that was just saved will be selected with ^R.
33 '    F7      ^KB             Mark block beginning
34 '    F8      ^KK             Mark block end
35 '    F9      ^QR             Cursor to beginning of file
36 '    F10     ^QC             Cursor to end of file
37 ' ------------------------------------------------------------------------
38 ' These patches are of the form:  Address of key,# bytes,1  and then for each of # bytes,     the consecutive address,byte,1
39 ' At most, # bytes = 6  .  The values are in hex.
40 '
47   '----------------------------------------------------------------------------------------------------------------------------
48 '         characters:        ^PQ standard             ^PW remaining shifted characters
49 '         spacing:           ^PA 12 cpi proportional  ^PN turns off, back to dip switch setting
50 '         ribbon:            ^PY toggle between red and black
51 '
52 '   use ^PE for escape, followed by desired uppercase codes to printer as described in manual
53 '   ^PR not used yet
54 '
55 '
56 ' USE NEC 55xx OPTION WHEN ASKED
57 '
58 '
59   '----------------------------------------------------------------------------------------------------------------------------
1070 RESTORE 1405
1230 '
1231 '----------------------------------------------------------------------------------------------------------------------------
1240 ' Unconditional patch data.  These bytes will be patched no matter what
1250 ' printer is selected.
1260 '
1261 ' address,byte,# of bytes
1270 DATA &H7CD,&H90,2
1280 DATA &H7DD,&H90,8
1290 DATA &H2D4,&HFF,1
1300 DATA &H2D6,&HFF,1
1310 DATA &h81b,&h90,2
1320 DATA &h82d,&h90,5
1330 DATA &h83a,&h90,47
1331 'USR1   standard characters  ************************************  ^PQ **
1332 DATA &H077F,4,1,  &H0780,&H0F,1,  &H0781,  00,1,  &H0782,  00,1,  &H0783,  00,1
1336 'USR2    shifted characters  ************************************  ^PW **
1337 DATA &H0784,4,1,  &H0785,&H0E,1,  &H0786,  00,1,  &H0787,  00,1,  &H0788,  00,1
1341 'USR3  escape ***************************************************  ^PE **
1342 DATA &H0789,4,1,  &H078A,&H1B,1,  &H078B,  00,1,  &H078C,  00,1,  &H078D,  00,1
1344 'USR4  NOT USED  ************************************************  ^PR **
1345 DATA &H078E,4,1,  &H078F,&H00,1,  &H0790,  00,1,  &H0791,  00,1,  &H0792,  00,1
1350 'PALT  alternate pitch 12 cpi proportional **********************  ^PA **
1351 DATA &H076B,4,1,  &H076C,&H1B,1,  &H076D,&H48,1,  &H076E,  00,1,  &H076F,  00,1
1355 'PSTD return to setting of spacing dip switch *******************  ^PN **
1356 DATA &H0770,4,1,  &H0771,&H1B,1,  &H0772,&H49,1,  &H0773,  00,1,  &H0774,  00,1
1370 'SOCHR strike out character.  Is 2d for "-".  Put in 2f for "/" *********
1371 DATA &h07c1,&h2d,1
1372 'DEL4 Time delay   Put in 08 or 04 for shorter [was &h10] ***************
1373 DATA &H02d2,&h04,1
1374 ' Function key patches  *************************************************
1375 DATA &h0670,&h04,1,        &h0671,&h0b,1, &h0672,&h53,1, &h0673,&h11,1, &H0674,&h50,1
1376 DATA &h0679,&h05,1,        &h067a,&h11,1, &h067b,&h52,1, &h067c,&h11,1, &h067d,&h51,1, &h067e,&h02,1
1377 DATA &h0682,&h03,1,        &h0683,&h0f,1, &h0684,&h4c,1, &h0685,&h1b,1
1378 DATA &h068b,&h03,1,        &h068c,&h0f,1, &h068d,&h52,1, &h068e,&h1b,1
1379 DATA &h0694,&h02,1,        &h0695,&h10,1, &h0696,&h53,1
1380 DATA &h069d,&h05,1,        &h069e,&h0b,1, &h069f,&h44,1, &h06a0,&h50,1, &h06a1,&h12,1, &h06a2,&h1b,1
1381 DATA &h06a6,&h02,1,        &h06a7,&h0b,1, &h06a8,&h42,1
1382 DATA &h06af,&h02,1,        &h06b0,&h0b,1, &h06b1,&h4b,1
1383 DATA &h06b8,&h02,1,        &h06b9,&h11,1, &h06ba,&h52,1
1384 DATA &h06c1,&h02,1,        &h06c2,&h11,1, &h06c3,&h43,1
1385 ' ITHELP initial help level.  Can be 0,1,2,or 3 *************************
1386 DATA &h0360,&h00,1
1387 ' Hyphen help. ff for on ,00 for off ************************************
1388 DATA &h0389,&h00,1
1389 ' room here for more patches to line 1398 *******************************
1390 ' This line must be used or else a comment left here *****************
1398 DATA 0,0,0
1399 ' --------------------------------------------------------------------
1400 ' PRINTER NAME DATE AREA
1401 '
1405 DATA "NEC 3550 Spinwriter"
1410 DATA "IBM Parallel Printer"
1411 DATA "NEC 5510/5520 Spinwriter"
1412 DATA "Qume Sprint 5 Printer"
1413 DATA "C. Itoh Starwriter"
3169 'PSINIT
3170 DATA &H10, &H1B,&H34,  &H1B,&H4B,  &H1B,&H4F,  &H1B,&H40,  &H1B,&H37,  &H1B,&H3D,  &H1B,&H28, &H0D,&H0D
3179 'PSFINI
3180 DATA &H10, &H1B,&H34,  &H1B,&H4B,  &H1B,&H4F,  &H1B,&H40,  &H1B,&H37,  &H1B,&H3D,  &H1B,&H28, &H0D,&H0D
5110 RESTORE 5450       'this was restore 7460 in install.bas, a mistake!
10000 '****************************************************************************************************************************
10001 '****************************************************************************************************************************
10005 ' Oct. 5, 1982
10010 'from manual, there are two user areas that can be modified.
10020 'in ws.com , user area 1 from line 1 to 861+
10030 '                        locations 0100 to 035EEFF
10035 ' these are for user subroutines
10040 'INISUB  02A4
10050 'UNISUB  O2A7
10060 'MORPAT  02E0
10070 'PBGMEN  035C
10080 'PRINT (:F4:USER1.LST) NOOJ XREF  PAGEWIDTH (132)
10090 '
10100 'in ws.com , user area 4 from line 1 to 722+
10110 'these are where the user printer funcitons come in
10120 '
10130 'USR1    077F     DB  # of bytes
10140 '        0780     DB  byte1,byte2,byte3,byte4
10150 'USR2    0784     DB  # of bytes
10160 '                 DB  BYTE1,BYTE2,BYTE3,BYTE4
10170 'USR3    0789     DB  # of bytes
10180 '                 DB  byte1,byte2,byte3,byte4
10190 'USR4    078E     DB  # of bytes
10200 '                 DB  byte1,byte2,byte3,byte4
10210 ' examples
10220 '                 DB '='
10230 '                 DB 9        ;THIS IS DECIMAL
10240 '                 DB 0AH      ;THIS IS HEX
10250 '                 DB 177Q     ;THIS IS OCTAL , OR 177O
10260 '                 DB 13       ;THIS IS CARRIAGE RETURN
10270 'How to use the codes I have selected for WS
10271 '----------------------------------------------------------------------------------------------------------------------------
10600 '----------------------------------------------------------------------------------------------------------------------------
10610 ' When using ^PE and then another character,     make sure to insert spaces in text
10620 ' WS doesn't count ^P,^E as places in line, but does count the other characters.  Since they don't print, the line gets smaller.
10630 ' If right justifying text, insert spaces for each one used.
10635 'Also be sure to use capital letters so the proper code is sent!
10640 'When combining many options, be sure to nest them in the proper order.  If not, they are not always shut off properly.
10700 '----------------------------------------------------------------------------------------------------------------------------
10710 '     OTHER USEFUL LOCATIONS
10720 ' 0746     POSMTH  FF              printer overstrike method, =  FF if overprint by CR without LF
10730 '                                  = 0 if overprint by BS and/or CR, = 1 for daisy wheel
10760 ' 0747     BLDSTR  DB 2            # strikes for boldface. Set 3,4,5 for darker
10770 ' 0748     DBLSTR  DB 2            # strikes for double strike
10790 ' 07c1     SOCHR   DB '-'          character for strikeout
10800 ' 07c2     ULCHR   DB '_'          underscore character
10810 ' 02d8     NMOFUS  DB 1,1          # users on system
10840 ' 02dc     DEFDSK  DB 1            #  of default drive. 1=A,2=B,3=C,4=D  This drive searched if programs not on logged drive.
10850 ' 02cf     DEL1    DB 1            Screen display time delay - short
10851 ' 02d0     DEL2    DB 4                                      - med short
10852 ' 02d1     DEL3    DB 8                                      - med long
10853 ' 02d2     DEL4    DB 16           [&h10]                    - long
10854 ' 02d3     DEL5    DB 9            Full screen refresh
10860 ' 0360     ITHELP  DB 3            Initial help level. Change to 0,1,2 for help level at boot-up  ^JH3
10870 ' 0361     NITHLF  DB ffH          Initial help message.  Change to 0 for message if level is 1 or 2
10880 ' 0362     ITTOGF  DB ffH          Insert. Change to 0 for off  ^V
10890 ' 0363     ITDSDR  DB ffH          Directory display.  Change to 0 for off  ^KF, F
10900 ' 037f     ITITLM  DB 0            Initial left margin column number - 1.  Valid values are 0 to INITRM -3  ^OL1
10910 ' 0380     ITITRM  DB 40H          Initial right margin column number - 1.  Valid values are 2 to screen width - 4  ^OR65
10920 ' 0385           DB ffH          Word wrap.      0 for off.          ^OW
10921 ' 0386           DB ffH          Justify.        0 for ragged right  ^OJ
10922 ' 0387           DB ffH          Variable tabs.  0 for off.          ^OV
10923 ' 0388           DB 0            Soft hyphen.    ff for on.          ^OE
10924 ' 0389           DB ffH          Hyphen help.    0 for off.          ^OH
10925 ' 038a           DB ffH          Print control display. 0 for off.   ^OD
10926 ' 038b           DB ffH          Ruler display.  0 for off.          ^OT
10927 ' 038c           DB ffH          Page break display. 0 for off.      ^OP
10928 ' 038d           DB ffH          Page break suppress.  0 for off.    ^OP
10929 ' 038e           DB 01H          Single spacing.  Change to 2,3,..9  ^OS
10930 ' 038f           DB 00H          Column mode.    ff for on.          ^KN
10931 ' 0392           DB 00H          Document mode.  ff for non-document   N
10932 ' 0393           DB 2eH          Decimanl point  character.  Usually "."
10933 ' 0395           DB 2eH          Character that begins dot commands.  Usually "."
10934 ' 0396           DB 0fH          Non-break space character.  Usually ^O
10935 ' 039a           DB 04H          Hyphen criterion.  # columns short of right margin for hyphen help active
10940 ' 03b3           DB 20H          Soft Cr.  Line does not end paragraph.  CR at end can be moved by ^B.
10941 '                                Usually " ".  Change to "\" [5cH]
10950 ' 03b4           DB 3cH          Hard Cr.  End of line is paragraph termination.  Usually "<" Can change to " " [20H]
10951 '                                Then can use ^B to reform program source files, where each line ends in CR

Directory of PC-SIG Library Disk #0379

 Volume in drive A has no label
 Directory of A:\

WS--3-24 PAT     39713   6-29-83   7:44p
WS-PROKY KEY     26752   8-05-83   8:35a
WSMOD    COM      9344   6-11-83  12:26a
WS2      KEY      1024   1-01-80   2:00a
WS2KEY   DOC      2048   6-16-84   8:55p
MODWS1   ASM      7040   1-15-84  10:57p
MODWS1   EXE      2688   1-15-84  10:58p
UNWS     EXE      2816  11-28-82   8:48a
WSFIX3   TXT      6407   6-30-83   8:43a
WSMX80G  WS       4992   8-03-82
WS3530   WS       3840   8-02-82
WSFXNEC  TXT      6102   6-30-83   8:14a
WSPNEC35 BAS     12800   6-24-83   8:17a
WS2000   DIR      5888  11-05-84  12:44p
WSNUM    EXE     35200   9-14-84  10:46p
WSUNNUM  EXE     33024   9-14-84  10:46p
ST       DOC      1048   1-10-84  10:41a
FILES379 TXT      1241   2-24-86  12:48p
ST       COM     14336   1-09-84   8:44a
       19 file(s)     216303 bytes
                       98304 bytes free