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
/
WSPAT-33.DQC
/
WSPAT-33.DOC
Wrap
Text File
|
2000-06-30
|
9KB
|
263 lines
WordStar (c) * user-patchable area documentation:
PatcΦ location≤ fo≥ termina∞ contro∞ sequences¼ dela∙ value≤ anΣ ì
othe≥ miscellaneou≤ user-patchablσ area≤ a≤ listeΣ iε thσ "USER1║ ì
TERMINA╠ PATC╚ AREAó oµ WordStar«á (3.▓ value≤ takeε froφ IBM/MS-ì
DO╙á version¼á bu⌠á arσ thσ samσ a≤ CP/M-8░ version╗á 3.│á value≤ ì
baseΣá oε Kaypr∩ bundleΣ versioε oµ 3.3¼á bu⌠ shoulΣ bσ thσá samσ ì
fo≥ generiπ CP/M-8░ versioε anΣ possibl∙ 16-bi⌠ versioε a≤ well.)
┴á mucΦ faste≥ versioε oµ WordSta≥ caε bσ madσ oεá system≤á whicΦ ì
suppor⌠á inser⌠á anΣá deletσ linσ (NO╘ thσ samσá a≤á erasσá line¼ ì
deletσ erase≤ linσ anΣ theε scroll≤ u≡ thσ followinτ line≤ oε thσ ì
screen)«á Lowerinτ thσ dela∙ value≤ (o≥ eliminatinτ theφ entirel∙ ì
wheεá possible⌐ wil∞ als∩ speeΣ u≡ screeε updatσ timσ anΣ improvσ ì
keyboarΣ response.
Als∩á listeΣá i≤á ßá recommendeΣá patcΦá (witΦá samplσá code⌐á t∩ ì
implemen⌠á printe≥ bus∙ statu≤ cal∞ fo≥ mos⌠ CP/═á system≤á whicΦ ì
havσá thσá "LISTSTó (lis⌠ devicσ status⌐ functioε implementeΣá iε ì
thei≥á BIO╙á (no⌠á al∞ BIO╙ imple- men⌠ thi≤á functioεá whicΦá i≤ ì
optional)«á Installinτá thi≤ patcΦ oε system≤ whicΦá suppor⌠á thσ ì
LISTS╘á BIO╙ functioε wil∞ improvσ keyboarΣ responsσ TREMENDOUSL┘ ì
wheε printinτ ß filσ usinτ thσ W╙ prin⌠ functioε whilσ editinτ a⌠ ì
thσ samσ time«á (Notσ tha⌠ iε m∙ example¼á thσ routinσ start≤á a⌠ ì
2D7╚ becausσ therσ i≤ codσ iε MORPA╘ froφ 2CB-2D6¼á yo⌡ ma∙ star⌠ ì
thσá codσ a⌠ 2C┬ (v3.3⌐ iµ yo⌡ havσ al∞ zeroe≤ therσ (n∩ codσá iε ì
MORPAT).)
Therσá arσ othe≥ area≤ iε USER▒ patcΦ areß whicΦ caε bσ se⌠á froφ ì
thσá WordSta≥ option≤ men⌡ oµ WINSTALL¼á anΣ mos⌠ oµ thσá "USER4║ ì
PRINTE╥á PATC╚á AREAóá caεá bσ se⌠ u≡ usinτ thσá selectioεá oµá ß ì
printe≥á froφ thσ standarΣ supporteΣ printe≥ men⌡ and/o≥á settinτ ì
u≡ usinτ thσ custoφ set-u≡ routines.
Fo≥ morσ information¼ consul⌠ you≥ WordSta≥ v3.▓ referencσ manua∞ ì
appendi° ├ o≥ thσ v3.│ Installatioε Manual.
Patch locations are one of five types:
B = Byte value F = Flag byte (00 or FF)
J = JMP or NOP/NOP/RET P = Patch space (00 if unused)
S = String (1 byte length value + string data area)
(String≤ arσ storeΣ witΦ singlσ bytσ indicatinτ length¼á followeΣ ì
b∙á strinτ data«á Makσ lengtΦ ╜ zer∩ fo≥á non-applicablσá contro∞ ì
sequence≤á whicΦá wil∞á theε bσ donσ usinτá softwarσá insteaΣá oµ ì
termina∞ hardware.)
¬ (WordSta≥ i≤ ß registereΣ trademarδ oµ MicroPr∩ International
Corporation╗ Saε Rafael¼ California)
è
LABEL 3.2 ADDR 3.3 ADDR LENGTH TYPE
===== ======== ======== ====== ====
HITE 248 232 1 B
(Number of lines on screen)
WID 249 233 1 B
(Number of columns per line)
CLEAD1 24A 234 9 (1+8) S
(Cursor addressing lead in)
CLEAD2 253 23D 5 (1+4) S
(Character(s) separating row/col)
CTRAIL 258 242 5 (1+4) S
(Ending character(s) for cursor address string)
CB4LFG 25D 247 1 F
(Column before line flag, 0=line/col, FF=col/line)
LINOFF 25E 248 1 B
(Line offset, 1st line=0)
COLOFF 25F 249 1 B
(Column offset, 1st column=0)
ASCUR 260 24A 1 B
(ASCII/binary cursor addr, 0=binary, 2=2 digit, 3=3 digits)
ERAEOL 26D 250 7 (1+6) S
(Erase to end of line)
LINDEL 274 257 7 (1+6) S
(Delete line)
LININS 27B 25E 9 (1+8) S
(Insert line)
IVON 284 267 7 (1+6) S
(Inverse video on)
IVOFF 28B 26E 7 (1+6) S
(Inverse video off)
TRMINI 292 275 9 (1+8) S
(Terminal initialization (clear screen usually))
TRMUNI 29B 27E 9 (1+8) S
(Terminal de-initialization (also clear screen usually))
INISUB 2A4 287 3 J
(NOP/NOP/RET or JMP to user initialization subroutine)
è
LABEL 3.2 ADDR 3.3 ADDR LENGTH TYPE
===== ======== ======== ====== ====
UNISUB 2A7 28A 3 J
(NOP/NOP/RET or JMP to user de-initialization subroutine)
USELST 2AA 28D 1 F
(Use last line on CRT, 00=don't, FF=OK) (usually 00)
DELCUS 2AE 28E 1 B
(Delay after cursor addressing) (appox. # of MSECs)
DELMIS 2AF 28F 1 B
(Delay after other misc. functions) (appox. # of MSECs)
UCNSTA 2BA 29A 3 J
(0/NOP/RET or JMP to user console status routine)
UCONI 2BD 29D 3 J
(0/NOP/RET or JMP to user console input routine)
UCONO 2C0 2A0 3 J
(0/NOP/RET or JMP to user console output routine)
DEL1 2CF 2AF 1 B
(short delay: cursor blink "on" portion of cycle during replace)
DEL2 2D0 2B0 1 B
(medium-short delay: cursor blink "off" portion of cycle)
DEL3 2D1 2B1 1 B
(medium-long delay: prefix key till menu, delay till filename help)
DEL4 2D2 2B2 1 B
(long delay: time messages displayed, pause for screen refresh)
DEL5 2D3 2B3 1 B
(horizontal scrolling keystroke delay)
SCRLSZ 2DD 2BA 1 B
(horizontal scrolling scroll amount)
MORPAT 2E0 2CB 256 P
(area available for user patches)
è
Printer status routine:
Implementinτ thi≤ patcΦ fo≥ system≤ whicΦ suppor⌠ thσ LISTS╘ BIO╙ ì
functioεá wil∞ improvσ keyboarΣ anΣ printe≥ responsσ timσá durinτ ì
print≤á whilσá editing«á (Seσ note≤ abovσ fo≥ morσ info.⌐á (Afte≥ ì
assemblinτ thσ patch¼ usσ DD╘ t∩ overla∙ .HE╪ filσ ont∩ installeΣ ì
versioεá oµ WordStar¼á theε usσ ß SAV┼ 6╣ WSNEW.CO═ anΣá tes⌠á i⌠ ì
out¼á (includinτ editinτ ß filσ durinτ print⌐ beforσ erasinτ you≥ ì
origina∞á WS.CO═á anΣ renaminτ WSNEW.CO═ t∩ WS.COM«á (Bσ surσá t∩ ì
savσ ß backu≡ cop∙ oµ thσ original¼ maste≥ version¼ though...)
;
ORG 02D7H ; (in MORPAT area (USER1))
;
; (Area to use in MORPAT may be different, see notes above.)
;
USRPST: ; (User printer status routine)
LHLD 0001H ; Get addr of JMP WBOOT in BIOS table
LXI D,42 ; +42 (decimal) gives JMP LISTST addr
DAD D ; HL = addr of JMP LISTST
LXI B,USRP2 ; return addr after LISTST "call"
PUSH B ; (push ret. addr on stack)
PCHL ; (JMP to HL location)
USRP2: ; (return location)
CPI 0FF ; is printer ready?
RZ ; if so, return with carry = 0
STC ; else set carry flag
RET ; and return (printer busy/not ready)
;
;
ORG 0718H ; (in USER4 area)
HAVBSY: DB 0FFH ; set=FF to indicate have busy
;
ORG 0719H ; (in USER4 area)
LIBSY: JMP USRPST ; JMP to user status routine
;
END
;