WSBIBLE.DOC ..WSBIBLE.DOC RULER #1 (Put cursor on line and hit ^OF to create new ruler) ---------------------------------------------------------------------------- The "Bible" on WordStar(r) Patching (ver 2.26, 3.0 & 3.3) A. F. REMICH Thi fil i listin o al th know W (v3.0 label an patc addresse tha hav bee abl t verify I yo kno o an no liste here pleas contac m s tha thi lis ca b update fo th benefi o all (Speakin hi WSCUSTOM.COM whic i include an update i thi WSBIBLE.DOC) Milton HICKS (Updated by Guy Gamble 222 Pacific Avenue address unknown) Long Beach, CA 90802 Evenings: (213) 924-6429 [...transformed into WSCUSTOM.DOC]: Cleane up squeezed W v3. item adde an collate wit othe WSPATCH fro Tamp Ba U.G. an fro th end o WS.IN (fo 3.3 and INSTALL.COM (v 3.0) by: Th. R. Hofmann Other contributors: University of Toyama Bob Bloom Gofuku, Toyama, JAPAN 930 bbloom@BRL (TECOM) [...now called WSBIBLE.DOC, more in desperation than boastfulness]: New WS.COM v3.0 and v3.3 items were added and some old items corrected, the W.COM v2.2 item and WSMSGS.OVR menu patching info were also added. I crossreference everythin with 1 note fro WSPATCH b G Dah an Mik Schwab 2 numerou article fro th bes CP/M user group magazine FOGHORN, 3) a fantastic artlcle (and WS3330.DOC) by Ted Silveira in Jul/Aug 85 issue of PROFILES, and 4) great article on patching WS.COM b Richar Drakefor i Issu #1 o USER' GUID (yo d subscrib t thi great pub don't you?). I also added tips collected in my notebook over the past year. WordStar' patc location fo printe contro sequence ar labele ROLUP ROLDOW USER1 USER2 USER3 USER4 RIBBON RIBOF an ar invoked by ^PT ^PV ^PQ ^PW ^PE ^PR ^P an ^PY respectively The name an their description i the manual onl sugges som possibl uses s don' fee constrained The onl ti comman entere on the keyboar t sequenc i th W tex fil tha wil b eventuall sen t th printe t caus prin operatio - no just printe character Incidentally i yo nee mor spac fo give printe contro sequence "steal spac fro th followin use are (but you'll loos furthe us o tha comman an use area (e.g a long string in USR [^PE] ca exten int USR4). 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) Also lowerin th dela value (o eliminatin the entirel whe possible wil als spee u scree updat tim an improv keyboar response Yo ca eve eliminat th W log an "legalese o th start-up( bu keep the SN # and version ID information - next page). So, xperiment with the fixes and delays you want. novic shoul no fee thi i al beyon him Mak ne dis wit WS.CO v3.3 WS.IN an WINSTALL.CO (o INSTALL.CO fo WS.CO v2.26) Loa WINSTALL cal u W an an tel i t sav th modifie versio a WSNEW Afte yo hav mad al change possibl fro th mai installatio men an sub-menu, an befor exitin fro th mai menu ente " (instea o choice (A/B/C/D/E/F/X to ente th "Twiligh Zone o Wordsta patching. (In WS.CO v2.2, answe N t th las questio: "Ar all modification completed?") Eithe th label o he addresse ca b entered to get to the spot you want (Note i W.COM v3. th labe mus b PRECEDE b ":"(n spac - :HITE) and i W.COM v2.6 th labe mus b FOLLOWE b ":"(n spac - HITE: Al number ar hex bu th "h i 6F i NO entered. No tes, an TES som more Later i yo wan t renam WSNEW.COM yo mus us WINSTALL.CO (o INSTALL.COM). You will also be introduced to very useful technique of "auto-patching" that should make whole process easier, faster and comparitively effortless to repeat when the only working copy of your customized WS.COM dies on you. Look for a copy of WSAUTPAT.ASM to make to whole matter clearer and easier. ON SPECIA CAUTIO abou usin som o th label shown Label show wit numeri suffi (suc a INITPF+4 INITPF+C PODBLK+3 ar ONL useabl fo "hand patchin WS.CO wit WINSTALL.CO (o INSTALL.COM) The CANNO use i ASM.CO an th "autopatching techniqu presente a th en an als i WSAUTPAT.ASM Label ar no necessar anyway jus convenience Simpl omi the an charg on Thi i wher th fu begins. But first,here is my favorite fix ..... Yo sa yo wan t ge ri o WordStar's lengthy log an licens agreemen that litters WS.COM v3.30 sign-on (an stil be able see th ID infrmation during start-up? Because patch points for these fixes cannot be reached with WINSTALL.COM, you will need to use use DDT.COM or DU.COM to: 1. Change the data bit at 3CF4 to 00H (to remove the logo). 2. Change the data bit at 3F1D to 00H (to remove the legalese). 3. Exit DDT.COM and enter: SAV 6 WSNEW.COM. .........have fun with WordStar(r) !!! Tony Remich 711 Shepard Court Gurnee IL 60031 [ ] ....... standard WS char < My comments > xx or 00 .... number in hex (00/00 is a big number or open space) * ........... conflict in label and address - use the address (probably due to label name changes by WS) #xx/ or ## .. filled or unfilled) leading data byte (DB) in a string which tells how many bytes of data follow ..WSBIBLE.DOC RULER #2 (Put cursor on line and hit ^OF to create new ruler) ..------!---!---!----!----------------------------------!---!--------------- WS.COM PATCH POINTS accessible by WINSTALL.COM (or INSTALL.COM) [must be between 100h and 83Ah] (presente i v3. numeri orde wit '8 Kaypr standar value shown) LOCATION version WS LABEL 2.26 3.0 3.3 OPERATION CTRL SETTINGS ----- ---- --- --- ------------- ---- -------- 100 100 100 CHARACTER INPUT ROUTINE C3 FC 2C C3 F0 2C OUTCHR 106 106 106 CHARACTER OUTPUT ROUTINE C3 CD 20 C3 09 2D PATVER 10C 10C 10C 00 00 (varies) MSGVER 10E 10E 10E 00 00 " WSVER 110 110 110 00 00 " COPRIT 117 117 112 COPYRIGHT NOTICE 00 Copyright ... SIGNON 153 153 14E WS INFO 00 MicroPro ... 174 174 16F SERIAL NUMBER 00 Serial # ... IDTEX 18F 18F 18A TERMINAL ID TEXT 00 Kaypro ... PIDTEX *1B3 1B3 1AE PRINTER ID TEXT 00 Standard ... PROTTX 1D7 1D7 1D2 PRINTER PROTOCOL TEXT 00 No commun ... PDRVTX 1FB 1FB 1FC PORT DRIVER TEXT 00 CP/M List ... 220 220 21B FLAGS AND HOLDERS FOR USE BY WORDSTAR 00/00 HITE 248 248 232 SCREEN HEIGHT (24 lines) 18 WID 249 249 233 SCREEN WIDTH (80 columns) 50 CLEAD1 24A 24A 234 CURSOR POS - LEAD-IN STR #02/1B 3D 00 00 00 00 00 00 CLEAD2 253 253 23D " " - STR BETWEEN COL/LINE ## 00 00 00 00 CTRAIL 258 258 242 " " - TRAILING STR ## 00 00 00 00 CB4LFG 25D 25D 247 " " FLAG (00=LN/COL; FF=COL/LN) 00 LINOFF 25E 25E 248 " " - LINE OFFSET 20 COLOFF 25F 25F 249 " " - COLUMN OFFSET 20 ASCUR 260 260 24A " " DATA (00=BINARY, 02=DIGIT) 00 261 261 n/a 00 00 00 UCRPOS 264 264 24B " " - JMP TO USER CURSOR RTN 00 00 C9 267 267 24E " " - ADDRESS OF BYTE OUTPUT 00 00 267 269 n/a 00/00 ERAEOL 26D 26D 250 ERASE TO END OF LINE ^QY#01/18 00 00 00 00 00 LINDEL 274 274 257 DELETE LINE ^Y ## 00 00 00 00 LININS 27B 27B 25E INSERT LINE ^N ## 00 00 00 00 IVON 284 284 267 TURN ON HIGHLIGHTING (INVSERSE VIDEO,#06/1B 42 30 1B HALF INTENSITY, AND/OR UNDERLINING) 42 31 IVOFF 28B 28B 26E TURN OFF HIGHLIGHTING #05/1B 43 30 1B TRMINI 292 292 275 TERMINAL INITIALIZATION STRING #01/1A 00 00 00 00 00 00 00 TRMUNI 29B 29B 27E TERMINAL UNINITIALIZATION STRING ## 00 00 00 00 INISUB 2A4 2A4 287 NOP or JMP TO USER TERM INIT SUB 00 00 C9 UNISUB 2A7 2A7 28A NOP or JMP TO USER TERM UNINIT SUB 00 00 C9 USELST 2AA 2AA 28D FF = CAN USE LAST LINE ON CRT FLAG 00 DELCUS 2AE 2AE 28E DEL IN CURSOR ADDRESSING 00 to 0F msec 0A DELMIS 2AF 2AF 28F DEL IN OTHER MISC FUNCT, 00 to 0F msec 05 MEMAPV 2B0 2B0 290 FF = MEMORY-MAPPED DISPLAY TERMINAL 00 MEMADR 2B1 2B1 291 ADDRESS OF CURSOR HOME POS ON MM VIDEO 00 00 HIBIV 2B3 2B3 293 FF = HI LITE/INV VIDEO BY HI ORDER BIT 00 HIBCUR 2B4 2B4 294 FF = DISPLAY CURSOR BY HI ORDER BIT 00 CRBLIV 2B5 2B5 295 FF = BLINK CURSOR ON MM VIDEO 00 ZAFCIN 2B6 2B6 296 FIX FOR BACKSPACE ON DELETE 00 00 RUBFXF 2B8 2B8 298 FF = USE RFIXER 00 RFIXER 2B9 2B9 299 FIX FOR BACKSPACE ON DELETE 00 UCNSTA 2BA 2BA 29A NOP OR JMP TO USER CONSOLE STAT RTN 00 00 C9 UCONI 2BD 2BD 29A " " " " " INPUT " 00 00 C9 UCONO 2C0 2C0 2A0 " " " " " OUTPUT " 00 00 C9 SWIN 2C3 2C3 2A3 JMP OR RTN BEFORE CHAR SENT TO CONS 00 00 C9 2C6 2C6 2A6 00 00 00 SWOUT 2C9 2C9 2A9 " " " AFTER " " " " 00 00 C9 2CC 2CC 2AC 00 00 00 DEL1 2CF 2CF 2AF SHORT DEL - CURSOR BLINK (ON) 03 DEL2 2D0 2D0 2B0 MED-SHORT DEL- CURSOR BLINK (OFF) 09 DEL3 2D1 2D1 2B1 MED-LONG DEL - TIME TIL SUB-MENUS SHOW 19 DEL4 2D2 2D2 2B2 LONG DEL - MESSAGES AND SIGN-ONS 40 DEL5 n/a 2D3 2B3 DEL- SCREEN REDISPLAY/REFRESH 09 TRSCRS 2D3 2D4 2B4 For TRS-80 ONLY 00 TRSCIF 2D4 2D5 2B5 For TRS-80 ONLY 00 HETHBS n/a 2D6 2B6 For LIFEBOAT CP/M FOR HEATH-89 00 APLFLG n/a 2D7 2B7 For APPLE ONLY 00 MPMFLG *2D5 n/a 2B8 MP/M FLAG 00 NMOFUS *2D6 2D8 n/a NUMBER OF USERS ON SYSTEM 01 TCKFLG n/a 2DA n/a FOR MP/M ONLY 00 RSTFLG n/a 2DB n/a 00 = NO DISK RESETS BY WS 00 DEFDSK *2D7 2DC 2B9 FIND.OVR FILES ON DRV (AFT DEFALT DRV) 01 SCRLSZ n/a 2DD 2BA HORIZONTAL SCROLL (20 column) 14 CNVTBL n/a n/a 2BB 00 2D8 2DE 2BC 00/00 MORPAT 2E0 2E0 2CB USER MORE PATCH AREA (128 BYTES AVAIL) 00/00 (varies) INITIAL Edit Set-up Default ---------------------- --------- PBGMEM 35C 35C 34B POINTER TO BEGINNING OF MEMORY (TEXT) 6D 84 ITHELP 360 360 34D HELP LEVEL ^JH 03 NITHLF 361 361 34E MAX HLP MSG IF ITHELP 1 OR 2 FF (FF = on) ITITOG 362 362 34F INSERT MODE ^V FF ITDSDR 363 363 350 FILE DIRECTORY DISPLAY ^KF FF 364 364 n/a 00 00 INITIAL Page Format Default ------------------------ ---------- INITPF 366 366 351 LINE HEIGHT, 1/48'S .LH 08 +1 367 367 352 PAPER LENGTH (66 lines) .PL 42 +2 368 368 353 PAPER LENGTH IN 1/48'S (.LH *.PL) 10 +3 369 369 354 second byte - PAPER LENGTH 02 +4 36A 36A 355 LINE HEIGHT AGAIN .LH 08 +5 36B 36B 356 MARGIN AT TOP (lines) .MT 03 +6 36C 36C 357 MARGIN AT TOP IN 1/48'S (.LH *.MT) 18 +7 369 369 354 second byte - MARGIN AT TOP 00 +8 36E 36E 359 LINE HEIGHT AGAIN .LH 08 +9 36F 36F 35A HEADING MARGIN (lines) .HM 02 +A 370 370 35B HEADING MARGIN IN 1/48'S(.LH *.HM) 10 +B 369 369 35C second byte - HEADING MARGIN 00 +C 372 372 35D LINE HEIGHT AGAIN .LH 08 +D 373 373 35E BOTTOM MARGIN (lines) .BM 08 +E 374 374 35F BOTTOM MARGIN IN 1/48'S (.LH *.BM) 40 +F 375 375 360 second byte - BOTTOM MARGIN 00 +10 376 376 361 LINE HEIGHT AGAIN .LH 08 +11 377 377 362 FOOTING MARGIN (lines) .FM 02 +12 378 378 363 FOOTING MARGIN IN 1/48'S(.LH *.FM) 10 +13 379 379 364 second byte - FOOTING MARGIN 00 +14 37A 37A 365 LINE HEIGHT AGAIN .LH 08 +15 37B 37B 366 00 = STANDARD CHAR WIDTH 00 +16 37C 37C 367 STD CHAR WIDTH IN 1/120'S ^N 0C +17 37D 37D 368 ALT CHAR WIDTH IN 1/120'S ^A 0A +18 37E 37E 369 PAGE OFFSET IN CHARS .PO 08 INITLM 37F 37F 36A LEFT MARGIN (00 = COL 1 on CRT) ^OL 00 INITRM 380 380 36B RIGHT MARGIN (LESS 1, UP TO WID-4) ^OR 40 INITSR 381 381 36C SUB/SUPER SCRIPT ROLL IN 1/48'S .SR 03 382 382 n/a 00 00 00 INITIAL Edit Set-up Default --------------------- --------- INITWF 385 385 36D WORD WRAP TOGGLE ^OW FF (FF=on) +1 386 386 36E JUSTIFY " ^OJ FF +2 387 387 36F VARIABLE TABS " ^OV FF +3 388 388 370 SOFT HYPHEN " ^OE 00 +4 389 389 371 HYPEN-HELP " ^OH FF +5 38A 38A 372 CTRL CHARS & SFT HYPN DISP " ^OD FF +6 38B 38B 373 RULER LINE DISPLAY " ^OT FF +7 38C 38C 374 PAGE BREAK DETERMINATION " FF +8 38D 38D 375 PAGE BREAK DISPLAY " ^OP FF +9 38E 38E 376 LINE SPACING ^OS 01 +A 38F 38F 377 FF = COL MODE; 00 = BLK MODE ^KN 00 +B 390 390 n/a 00 00 NONDOC 391 392 378 DIRECT ENTRY 00=DOC/ FF=NON-DOC 00 DOTSON 396 397 379 ENABLE DOT COMMANDS (00=DISABLE) FF DECCHR 392 393 37A DECIMAL POINT CHARACTER [.] 2E 393 394 n/a 00 DOTCHR 394 395 37B CHAR TO BEGIN DOT COMMANDS [.] 2E 37C [B] 42 37D " [U] 55 37E " [G] 47 37F " [N] 4E 380 " [W] 57 381 " [B] 42 382 " [D] 44 383 MM CONDITIONAL CHAR [IF] 46 49 385 [S] 53 BLNCHR 395 396 386 NON-BREAK SPACE CHAR ^O 0F 397 398 n/a 00/00 CMTCHR n/a n/a 387 COMMENT CHAR [;] 3B ENDEXP n/a n/a 388 MM CHAR FOR GOTO CMD [G] 47 RVELIM 3D8 3D8 389 MM " " DATA DELIMITER [,] 2C RVQUOT 3D9 3D9 38A MM " TO DELIMIT ENCLOSED VALUES ["] 22 3DA 38B 00 TXBACK n/a 38C " [/] 2F n/a 38D " [B] 42 VARCH1 3DB 3DB 38E MM " " START KEYWORD [&] 26 VARCH2 3DC 3DC 38F MM " " END " [&] 26 3DD 3DD n/a MM " " OMIT BLANK LINES [*] 2A VAROPC 3DE 3DE 390 MM " " SEP VAR NAM & OMIT CHAR [/] 2F 3DF 3DF 391 MM " " OMIT LINE IF VAR IS NUL [O] 4F n/a n/a 392 ADDRESS OF MM COMPARISON OPERATORS 96 03 n/a n/a 394 " " MM LOGICAL " B7 03 COMPOP n/a n/a 396 MM COMPARISON OPERATORS 3C 3E 00 FD <>..><..<=..=<..>=..=>..<..>..=.. 3E 3C 00 FD 3C 3D 00 FC 3D 3C 00 FC 3E 3D 00 FB 3D 3E 00 FB 3C 00 FA 3E 00 F9 3D 00 FE LOGICP n/a n/a 3B7 MM LOGICAL OPERATORS 2E 41 4E 44 2E .AND./TRUE/FALSE/.OR 0 F 2 4 52 2E 00 FE 00 00 00 00 HZONE 399 39A 3C9 HYPHENATION ZONE (letters overhang) 04 39A 39B 3CA ADDRESS OF VOWEL TABLE D3 03 39C 39D 3CC ADDRESS OF NOT-CONSONANT TABLE CE 03 VOWTAB *39E 39F 3CE TABLE OF VOWELS 59 5B 5D 7B 7D Y,[,],{,} NONCON *3A3 3A4 3D3 TABLE OF NON-CONSONANT LETTERS 41 45 49 4F 55 A,E,I,O,U 00 00 00 00 Screen Right Line-end Flags ----------------------------- BOFCHR 3AD 3AE 3DD BEFORE START OF WS FILE FLAG [:] 3A CONCHR 3AE 3AF 3DE LINE CONTINUES BEYOND " [+] 2B EOFCHR 3AC 3AD 3DF AFTER END OF WS FILE " [.] 2E FDTCHR 3B4 3B5 3E0 LINE HAS MAILGERGE COMMAND " [M] 4D HARDCR 3B3 3B4 3E1 HARD CARRAIGE RETURN " [<] 3C LFCHR 3B0 3B1 3E2 LINE ENDS IN LF W/O CR " [J] 4A OVPCHR 3AF 3B0 3E3 NEXT LINE OVERPRINTS THIS LN" [-] 2D PAGCHR 3B1 3B2 3E4 PAGE BREAK (goes with -----)" [P] 50 SOFTCR 3B2 3B3 3E5 END OF LIN W/WRDWRP,SOFT CR " [ ] 20 n/a n/a 3E6 [I] 49 3B5 3B6 n/a 00 00 Other Characters ------------------ SOFHYC 3B7 3B8 3E7 SOFT HYPHEN CHAR [-] AD PAGFIL 3B8 3B9 3E8 PAGE BREAK CHAR [-] 2D MARKS 3B9 3BA 3E9 START OF BLOCK CHAR 42 3BA 3BB 3EA END OF BLOCK CHAR 4B 3BB 3BC 3EB 00 00 00 3BE 3BF 3EE PLACE MARKERS <1>,<2>,etc 30 31 32 33 34 35 36 37 38 39 00 Printing Defaults 00 = No; FF = Yes ------------------- ------------------ PODBLK 3CA 3CA 3F8 PRINT OUTPUT TO A DISK FILE 00 +1 3CB 3CB 3F9 USE FORMFEED AT TOF & END OF EACH PAGE 00 +2 3CC 3CC 3FA SUPPRESS PAGE FORMATTING 00 +3 3CD 3CD 3FB PAUSE BETWEEN PAGES 00 3CE 3CE n/a 00 00 00 NOUFF 3D1 3D1 3FC FF = SUPPRESS FORMFEED QUESTION ABOVE 00 3D2 3D2 n/a 00 ITPOPN 3D3 3D3 3FD OMIT PAGE NUMBERS (00 = PRINTS THEM) 00 ITMIJ 3D4 3D4 3FE MICROJUSTIFICATION FF ITBIP 3D5 3D5 3FF BI-DIRECTIONAL PRINT FF 3D6 3D6 n/a 00/00 FNWSCM 3E7 3E7 400 FILENAME OF WORDSTAR PROGAM [00 WS COM] DSKTNA 3F3 3F3 40C " " MESSAGES [00 WSMSGS OVR] FNOVLY 3FE 3FE 418 " " OVERLAYS [00 WSOVLY1 OVR] FNMRGP 40A 40A 424 " MERGEPRINT/MAILMERGE [00 MAILMRGEOVR] AUTOBS 422 422 430 AUTO BACKSPACE TABLE 00 00 00 00 00 BSCHR 42D 42D 43B BACKSPACE CHARACTER ^H 08 NOFTAB - No file Command Table ------------------------------------ NOFTAB 430 430 43C ^D 04 00 00 01 434 440 " ^N 0E 02 02 01 438 444 " ^H 08 00 04 01 43C 448 " ^X 18 00 2D 2D 440 44C " ^J 10 00 06 01 444 450 " ^M 0D 00 08 01 448 454 " ^Y 19 00 0A 01 44C 458 " ^F 06 00 80 29 450 45C " ^Z 1A 00 C1 29 454 460 " ^W 17 00 C1 29 458 464 " ^L 0C 00 16 01 45C 468 " ^R 12 00 0C 01 460 46C " ^O 0F 00 12 01 464 470 " ^E 05 00 14 01 468 474 " ^V 16 00 9A 30 n/a 478 " ^S 13 00 0E 01 46C 47C " 00 00 00 00 470 480 " 00 00 00 00 474 484 " 00 00 00 00 478 n/a " 00 00 00 00 46C 484 EOF 00 VTAB - Various Tables -------------------------- VTAB 47D 489 QUICK MENU ^Q 11 FF xx/xx 481 48D BLOCK " ^K 0B FF xx/xx 485 491 ONSCREEN " ^O 0F FF xx/xx 489 495 HELP " ^J OA FF xx/xx 48D 491 499 SET HELP LEVEL ^JH 0A 08 xx/xx 491 495 49D MOVE CURSOR TO LEFT ^S 13 00 xx/xx 495 499 4A1 BACKSPACE ^H 08 00 xx/xx 499 49D 4A5 CURSOR TO RIGHT ^D 04 00 xx/xx 49D 4A1 4A9 " LEFT WORD ^A 01 00 xx/xx 4A1 4A5 4AD " RIGHT WORD ^F 06 00 xx/xx 4A5 4A9 4B1 " NEXT LINE ^X 18 00 xx/xx 4A9 4AD 4B5 " ABOVE LINE ^E 05 00 xx/xx 4AD 4B1 4B9 " LEFT MARGIN ^QS 11 13 xx/xx 4B1 4B5 4BD " RIGHT END OF LINE ^QD 11 04 xx/xx 4B5 4B9 4C1 " BOTTOM OF SCREEN ^QX 11 18 xx/xx 4B9 4BD 4C5 " HOME (TOP LFT OF SCRN) ^QE 11 05 xx/xx 4BD 4C1 4C9 " START OF BLOCK SCREEN ^QB 11 42 xx/xx 4C1 4C5 4CD " END OF BLOCK ^QK 11 4B xx/xx 4C5 4C9 4D1 " PLACE BEFORE LAST CMD ^QP 11 50 xx/xx 4C9 4CD 4D5 " SOURCE OF MOVE, ETC. ^QV 11 56 xx/xx 4CD 4D1 4D9 " MARKER 0 ^Q0 11 30 xx/xx 4D1 4D5 4DD " " 1 ^Q1 11 31 xx/xx 4D5 4D9 4E1 " " 2 ^Q2 11 32 xx/xx 4D9 4DD 4E5 " " 3 ^Q3 11 33 xx/xx 4DD 4E1 4E9 " " 4 ^Q4 11 34 xx/xx 4E1 4E5 4ED " " 5 ^Q5 11 35 xx/xx 4E5 4E9 4F1 " " 6 ^Q6 11 36 xx/xx 4E9 4ED 4F5 " " 7 ^Q7 11 37 xx/xx 4ED 4F1 4F9 " " 8 ^Q8 11 38 xx/xx 4F1 4F5 4FD " " 9 ^Q9 11 39 xx/xx 4F5 4F9 501 " TOP OF FILE ^QR 11 12 xx/xx 4F9 4FD 505 " END OF FILE ^QC 11 03 xx/xx 4FD 501 509 FIND ^QF 11 06 xx/xx 501 505 50D FIND & REPLACE ^QA 11 01 xx/xx n/a 509 511 FIND MARKED SPELLING ^QL 11 0C xx/xx 509 511 515 SCROLL DOWN CONTINUOUSLY ^QW 11 17 xx/xx 50D 515 519 " UP " ^QZ 11 1A xx/xx 531 539 51D DELETE TO BEGINNING OF LINE ^Qdel 11 7F xx/xx 535 53D 521 " " " " " ^Q_ 11 1F xx/xx 539 541 525 " TO RIGHT END OF LINE ^QY 11 19 xx/xx 549 551 529 REPEAT NEXT COMMAND ^QQ 11 11 xx/xx 505 50D 52D " LAST " ^L 0C 00 xx/xx 511 519 531 SCROLL DOWN 1 LINE ^Z 1A 00 xx/xx 515 51D 535 " UP 1 " ^W 17 00 xx/xx 519 521 539 " DOWN 1 SCREEN ^R 12 00 xx/xx 51D 525 53D " UP 1 " ^C 03 00 xx/xx 521 529 541 DELETE CHARACTER LEFT DEL 7F 00 xx/xx 525 52D 545 " " " ^_ 1F 00 xx/xx 529 531 549 " " UNDER CURSOR ^G 07 00 xx/xx 52D 535 54D " LINE ^Y 19 00 xx/xx 53D 545 551 " WORD TO RIGHT ^T 14 00 xx/xx 541 549 555 INSERT MODE ON/OFF ^V 16 00 xx/xx 545 54D 559 REFORMAT TO END OF PARAGRAPH ^B 02 00 xx/xx 54D 555 55D INSERT LINE ^N 0E 00 xx/xx 551 559 561 TAB ^I 09 00 xx/xx 555 55D 565 CARRIAGE RETURN ^M 0D 00 xx/xx 559 561 569 INSERT PRINT CTRL CHAR ^P 10 00 xx/xx 55D 565 56D HIDE/DISPLAY MARKED BLOCK ^KH 0B 08 xx/xx 561 569 571 MARK BLOCK BEGINNING ^KB 0B 42 xx/xx 565 56D 575 " " END ^KK 0B 4B xx/xx 569 571 579 SET/HIDE MARKER 0 ^K0 0B 30 xx/xx 56D 575 57D " " " 1 ^K1 0B 31 xx/xx 571 579 581 " " " 2 ^K2 0B 32 xx/xx 575 57D 585 " " " 3 ^K3 0B 33 xx/xx 779 581 589 " " " 4 ^K4 0B 34 xx/xx 57D 585 58D " " " 5 ^K5 0B 35 xx/xx 581 589 591 " " " 6 ^K6 0B 36 xx/xx 585 58D 595 " " " 7 ^K7 0B 37 xx/xx 589 591 599 " " " 8 ^K8 0B 38 xx/xx 58D 595 59D " " " 9 ^K9 0B 39 xx/xx n/a 599 n/a 591 59D 5A1 MOVE A BLOCK TO HERE ^KV 0B 16 xx/xx 595 5A1 5A5 COPY " " " ^KC 0B 03 xx/xx 599 5A5 5A9 DELETE " ^KY 0B 19 xx/xx n/a n/a 5AD BLOCK/COLUMN MODE TOGGLE ^KN 0B 0E xx/xx 59D 5A9 5B1 ^KZ 0B 1A xx/xx 5A1 5AD 5B5 INTERRUPT COMMAND IN PROGRESS ^U 15 00 xx/xx 5A5 5B1 5B9 SAVE & EXIT WS ^KX 0B 18 xx/xx 5A9 5B5 5BD " & QUIT EDIT ^KD 0B 04 xx/xx 5AD 5B9 5C1 " & CONTINUE EDIT ^KS 0B 13 xx/xx 5B1 5BD 5C5 QUIT - NO SAVE ^KQ 0B 11 xx/xx 5B5 5C1 5C9 READ FILE FROM DISK TO HERE ^KR 0B 12 xx/xx 5B9 5C5 5CD WRITE MARKED BLOCK ONTO DISK FILE ^KW 0B 17 xx/xx 5BD 5C9 5D1 DELETE FILE ON DISK ^KJ 0B 0A xx/xx 5C1 5CD 5D5 FILE DIRECTORY ON/OFF ^KF 0B 06 xx/xx 5C5 5D1 5D9 PRINT FILE FROM DISK ^KP 0B 10 xx/xx 5C9 5D5 5DD CHANGED LOGGED DISK DRIVE ^KL 0B 0C xx/xx 5CD 5D9 5E1 COPY FILE ^KO 0B 0F xx/xx 5D1 5DD 5E5 RENAME FILE ^KE 0B 05 xx/xx 5D5 5E1 5E9 SET LEFT MARGIN ^OL 0F 0C xx/xx 5D9 5E5 5ED " RIGHT " ^OR 0F 12 xx/xx 5DD 5E9 5F1 " TABS ^OI 0F 09 xx/xx 5E1 5ED 5F5 CLEAR TABS ^ON 0F 0E xx/xx 5E5 5F1 5F9 SET MARGIN & TABS FROM FILE LINE ^OF 0F 06 xx/xx 5E9 5F5 5FD WORD WRAP TOGGLE ^OW 0F 17 xx/xx 5ED 5F9 601 JUSTIFICATION " ^OJ 0F 0A xx/xx 5F1 5FD 605 VARIABLE TABBING " ^OV 0F 16 xx/xx 5F5 601 609 DISPLAY OF PRINT CONTROLS " ^OD 0F 04 xx/xx 5F9 605 60D " " RULER " ^OT 0F 14 xx/xx 5FD 609 611 " " PAGE BREAK " ^OP 0F 10 xx/xx 601 60D 615 SOFT HYPHEN ENTRY " ^OE 0F 05 xx/xx 605 611 619 HYPHEN HELP " ^OH 0F 08 xx/xx 609 615 61D PARAGRAPH TAB ^OG 0F 07 xx/xx 60D 619 621 MARGIN RELEASE ^OX 0F 18 xx/xx 611 61D 625 CENTER LINE ON PAGE ^OC 0F 03 xx/xx 615 621 629 LINE SPACE SETTING ^OS 0F 13 xx/xx 619 625 62D EXPLAIN PRINT COMMANDS ^JD 0A 04 xx/xx 61D 62 631 " STATU LINE ^J 0 1 xx/xx 621 62D 635 " FLAGS ^JF 0A 06 xx/xx 625 631 639 " PLACE MARKERS ^JP 0A 10 xx/xx 629 635 63D " RE-FORMMING A PARAGRAPH ^JC 0B 02 xx/xx 62D 639 641 " TABS & MARGINS ^JM 0A 0D xx/xx 631 63D 645 " COMMAND ^JI 0A 09 xx/xx 635 641 649 " TEXT MOVEMENT ^JV 0A 16 xx/xx 639 645 64D " RULER-LINE ^JR 0A 12 xx/xx n/a 651 ^JA OA 01 xx/xx XTAB 63D 655 EXPANSION SPACE FOR EDIT CMD TABLE 00/00 FPTAB 662 67A FILE PRINT COMMAND TABLE 10 00 28 43 A1 00 BA 29 17 00 C1 29 16 00 9A 03 00 PNFTAB 677 67F 68B POINTER TO NOFTAB 3C 04 PVTAB 679 681 68D " " VTAB 89 04 PFPTAB 67B 683 68F " " FPTAB 7A 06 Special Edit command on the "D" Screen ------------------------------------------ CLCHR 67E 691 ERASES ONE CHAR TO LEFT ^S 13 CRCHR 67F 692 RESTORES ONE (ERASED) CHAR TO RIGHT ^D 04 LITCHR 680 693 PREFEX TO TAKE NEXT CHAR LITERALLY ^P 10 DIRCHR n/a 694 DISPLAYS FILE DIRECTORY ^F 06 n/a 695 MOVES (SCROLLS) FILE DIRECTORY DOWN ^Z 1A ERELCH 685 696 MOVES (SCROLLS) FILE DIRECTORY UP ^W 17 STPCHR 684 697 EMERGENCY STOP CHAR ^U 15 685 68D 698 CHAR TO START OPNS AFT EMERG STOP Esc 1B 686 68E n/a 00/00 Printer Interface Parameters ------------------------------ POSMTH 690 690 699 TYPE OF PRINTER FF BLDSTR 691 691 69A NUMBER OF STRIKES FOR BOLDFACE ^B 02 DBLSTR 692 692 69B " " FOR DBL-STRIKE ^D 02 693 693 n/a 00 00 00 -------------------------------------------------- PSCRLF 696 696 69C STR TO DO CR & LF ^M #02/0D 0A 00 00 00 PSCR 6A1 6A1 6A7 STR TO DO CR ONLY CR #02/0D 00 00 00 00 00 PSHALF 6A8 6A8 6AE STR TO DO CR & HALF LF #00/0D 0A 00 00 00 00 PBACKS 6AF 6AF 6B5 PRINT BACKSPACE ^H #01/08 00 00 00 00 PALT 6B5 6B5 6BB SET ALT CHAR FONT ^PA ## 00 00 00 00 PSTD 6BA 6BA 6C0 RESET STD CHAR FONT ^PN ## 00 00 00 00 ROLUP 6BF 6BF 6C5 ROLL CARR UP PARTIAL LINE ^PT ## 00 00 00 00 ROLDOW 6C4 6C4 6CA ROLL CARR DN PARTIAL LINE ^PV ## 00 00 00 00 USR1 6C9 6C9 6CF USER FUNCTION #I ^PQ ## 00 00 00 00 USR2 6CE 6CE 6D4 " #2 ^PW ## 00 00 00 00 USR3 6DE 6D3 6D9 " #3 ^PE ## 00 00 00 00 USR4 6D8 6D8 6DE " #4 ^PR ## 00 00 00 00 RIBBON 6DD 6DD 663 CHANGE TO red ribbon toggle 1st ^PY ## 00 00 00 00 RIBOFF 6D2 6E2 6E8 " black " " 2nd ^PY ## 00 00 00 00 ******************************************************************** * Keep in mind that the labels only suggest some uses; so if * * your printer only has one black ribbon, you can patch RIBBON * * & RIBOFF to permit you to use ^PY toggle to serve your needs. * * * *Again need mor spac fo give printe contro string? * *Yo ca "steal spac fro th next use are (an loos * *furthe us o tha WordSta comman an any remaining space * * in that use area e.g USR ca exten int USR4). * ******************************************************************** PSINIT 6E7 6E7 6ED STR TO INITIALIZE PRINTER #01/0D 00 00 00 <"lead-in string"; end with ; 00 00 00 00 00 try 06,1B,40,1B,41,06,0D to start 00 00 00 00 00 up Epsons with half LFs & full LFs 00 00 - See PSCRLF & PSHALF> PSFINI 6F8 6F8 6FE STR TO TERMINATE PRINTING ## 00 00 00 00 <"trail-out string" 00 00 00 00 00 try 02,1B,40 on Epsons> 00 00 00 00 00 00 00 SOCHR 70B 70B 70F STRIKEOUT CHAR try 2F(/) or 58(X) [-] 2D ULCHR 70C 70C 710 UNDERLINING CHAR [_] 5F PRINIT 70D 70D 711 NOP or JMP STR TO INIT CUSTOM PNTR 00 00 C9 PRFINI 710 710 714 " " " " TERM " " 00 00 C9 713 713 n/a 00 00 00 00 CSWTCH 717 717 717 SWITCH TO SELECT PRINTER DRIVER 00 <00=primay list dev; 01=WS' port drvr 02=user prntr drvr; 03=OEM drvr 04=alt console drvr> HAVBSY 718 718 718 SWTCH TO TELL IF PRINTER BUSY, FF=YES 00 719 719 --- 00 ------------------------------- LIBSY 71A 71A 719 JMP TO BSY TST RTN; CSWTCH=00,OUTPUT 00 B7 C9 LISEND 71D 71D 71C ROUTINE TO SEND CHAR TO LST DEV 5F 0E 05 CD 05 00 B7 C9 LISINP 725 725 724 JMP TO USER CHAR INPUT ROUTINE 00 37 C9 -------------------------------- POBSY 728 728 727 PORT DRIVER BUSY STATUS ENTRY DB POSTAT 729 729 728 " " STATUS ADDRESS 05 00 E6 POMASK 72C 72C 72B " " OUTPUT BIT OF INTEREST 01 EE POOM 72E 72E 72D " " OUTPUT BITS THAT CHANGE 01 37 0 B7 C9 POSEND 733 733 732 " " SEND CHAR ENTRY D3 POOP 734 734 733 " " OUTPUT DATA PORT ADDRESS 04 00 C9 POINP 736 737 736 " " INPUT CHAR ENTRY DB PISTAT 738 738 737 " " INPUT STATUS PORT ADDRESS 05 00 E6 POINSK 73B 73B 73A " " INPUT BIT OF INTEREST 02 EE POIM *73D 73D 73C " " INPUT BITS THAT CHANGE 02 37 C0 DB POIP 741 741 740 " " INPUT DATA PORT ADDRESS 04 00 B7 C9 ------------------------------- PUBSY 74C 74C 744 JMP TO USER PRINTER BUSY TEST ROUTINE 00 B7 C9 PUSEND 74F 74F 747 JMP TO USER CHAR OUTPUT ROUTINE 00 00 C9 PUINP 752 752 74A JMP TO USER CHAR INPUT ROUTINE 00 37 C9 ------------------------------- ACBSY 758 758 74D JMP TO USER ALT CONS BUSY TEST RTN 00 B7 C9 ACSEND 75B 75B 750 SEND A CHAR TO ALT CONS CD 6C 07 CD F0 20 C3 63 07 ACINP 764 764 759 INPUT CHAR RTN CD 6C 07 CD 55 1D C4 6C 1D 57 ACFIN 76E 76E 763 EXIT ROUTINE 78 ACSTA1 76F 76F 764 SET/RESET IOBYTE 32 03 00 7A B7 C0 37 C9 ACSTAR 777 777 76C ENTRY ROUTINE START 57 3A 03 00 47 E6 FC F6 CONFIE 77F 77F 774 ALT CON DEVICE ASSIGNMENT 01 C3 64 07 <00 = TTY; 01 = CRT> PROTCL 786 786 778 PRINTER PROTOCOL TYPE 00 <00=none; 01=ETX/ACK; 02=XON/XOFF> EAKBSZ 787 787 779 ETX/ACK MSG BUFFER SIZE 7F 788 788 n/a 00 00 < Most of the following are only used by daisywheel printers> ----------------------------------------------------------------- DVMILE *790 n/a 790 77A VERT MOTION INDEX LEADIN STR #02/1B 1E 00 00 DVMITR n/a n/a 77F VERT MOTION INDEX TRAILING STR #02/1B 02 00 00 DVMMIN n/a 795 784 MAXIMUM DVMILE 01 00 DVMRNG n/a 797 786 MINIMUM DVMILE 7E 00 DHMILE 799 779 788 HORIZONTAL MOTION INDEX LEADIN STR #02/1B 1F 00 00 DHMIFG 79E 79E 78D 00 DHMIN 79F 79F 78E MAXIMUM DHMILE 01 00 DHRNG 7A1 7A1 790 MINIMUM DHMILE FE 00 DFWD 7A3 7A3 792 SET FORWARD PRINT #02/1B 35 00 00 DBAK 78A 7A8 797 SET BACKWARD PRINT #02/1B 36 00 00 DSP 7AD 7AD 79C FORWARD SPACE #01/20 00 00 00 DBS 7B2 7B2 7A1 BACKWARD SPACE #01/08 00 00 00 DLF 7B7 7B7 7A6 LINE FEED VMI #01/0A 00 00 00 DRLF 7BC 7BC 7AB REVERSE LINE FEED #02/1B 0A 00 00 DPHSPC 7C1 7C1 7B0 PRN PHANTOM CHAR try Esc Y=cents ^PF#02/1B 59 00 DPHRUB 7C5 7C5 7B4 PRN PHANTOM RUBOUT try Esc Z=b bar ^PG#02/1B 5A 00 7C9 7C9 n/a 00/00 DNPROS 7DE 7D3 7B8 SUPPRESS PROPORTIONAL SPACING: 00=On 00 DMJWB 7D4 7D5 7B9 ALT MICROJUSTIFY ALGORITHM: 00=N0 00 PSTAB 7D8 7D8 7BA PROPORTIONAL SPACING TABLE 00/00 **************************************************************************** 83A 83A 83A END OF USER PATCHING ACCESSABLE AREA ..WSBIBLE.DOC RULER #3 (Put cursor on line and hit ^OF to create new ruler) ..-----!-------!-----------------------!----!----------------------!---- WSMSGS.OVR V3.30 PATCHING by A. F. Remich No tha yo hav see th inne working o WS.COM yo migh wan t kno ho t patc th WSMSGS.OV prin men scree t remin yo (an you ne secretary?) jus wha change yo mad i th variou printe patc areas Her ar th location o th variou item tha ar intende t cu th use an som example o ne entries STRUCTURE OF EACH LINE IN WSMSGS.OVR's PRINT MENU: .po0 | | | <-----17 col---->|<------20 col------>|<-------21 col------>|<-----17 col---->x | | | .po4 ENTRIES IN EACH DATA FIELD: (NOTE spac "0E a en o line) CTRL CTRL LOCATION CURRENT ENTRY CHAR SAMPLE NEW ENTRY CHAR ---- --------------------- ---- --------------------- ---- 1A8A < Start of PRINT MENU> 1B51 .A.Alternate.pitch...| ^PA .A.Compressed begin..| ^PA ---- 1B7A .B.Bold.D.Double.| ^PB/^PD 1B8C .H.Overprint.char...| ^PH 1BA1 .N.Standard.pitch....| ^PN 1BB7 ^J.Help..^K.Block.x ---- 1BCA ..S.Underscore...| ^PS 1BCC .O.Non-break.space..| ^PO 1BF1 .C.Printing pause....| ^PC 1C07 ^Q.Quick.^P.Print..x ---- 1C1A ..X.Strikeout....| ^PX 1C2C .F.Phantom.space....| ^PF .E.wide.print.End...| ^PE 1C41 .Y.Other.ribbon.color| ^PY .Y.Italics.begin/end.| ^PY 1C57 ^O.Onscreen.....x ---- 1C6A ..V.Subscript....| ^PV 1C7C .G.Phantom.rubout...| ^PG .R.Emph/Dbl.prn.end.| ^PR 1C91 .....................| --- .W.Wide.print.begin..| ^PW ---- 1CBA ..T.Superscript..| ^PT 1CCC .RET.Overprint.line.| ^PRET.Q.Sub/Superscpt end| ^PQ 1CE1 .Q(1).W(2).E(3).R(4).| --- .RET.Overprint.line..| ^PRET Yo wil hav t mak an desire change usin DDT.CO (o on o th friendlie program availabl i th publi domain) Yo ca eve us th "auto-patching techniqu presente later Then save: A>SAV 11 WSMSGS.OVRPIP MYPATCH#.ASM=MYPATCH.ASM[Z] 6. Assemble your version of MYPATCH&.ASM to get MYPATCH&.HEX file. A>AS MYPATCH (n .AS extensio discar .PR file) 7. Use DDT.COM to load WS.COM into memory A>DDT WS.COM 8. Use DDT.COM to overlay the .HEX file onto WS.COM -IMYPATCH#.HEX -R 9. Exit DDT.COM and save your new version of WordStar -G0 A>SAVE 69 WSNEW.COM (for v3.30), or A>SAVE 62 WSNEW.COM (for v3.0), or A>SAVE 52 WSNEW.COM (for v2.26) 10. Use DDT.COM to inspect WSNEW.COM to be sure the patches are in place A>DDT WSNEW.COM -Snnnn or -Dnnnn 11. Run WSNEW.COM to test each of the new features !!! (Like them ???) 12. If you want to, rename WSNEW.COM - but use WINSTALL.COM * NOTE: The PD utility MLOAD.COM does steps 7 thru 10 in just one step A>MLOAD WSNEW.COM=WS.COM,PATCH.HEX ***** No yo ar read fo th bi tim Writ me