home *** CD-ROM | disk | FTP | other *** search
- 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≥ "½ <CR>ó (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 inf∩rmation 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
- <try 02,1B,52 on 83 KayPros to 00 00
- get smoother scroll down, ^QW>
- LININS 27B 27B 25E INSERT LINE ^N ## 00 00 00 00
- <try 02,1B,45 on 83 KayPros to get 00 00 00 00
- smoother scroll up, ^QZ; and try
- changing 02,1B,45 to 04,1B,45,1B,54
- on Osbornes to eliminate "phantom"
- lines during scrolling>
- IVON 284 284 267 TURN ON HIGHLIGHTING (INVSERSE VIDEO,#06/1B 42 30 1B
- HALF INTENSITY, AND/OR UNDERLINING) 42 31
- <try 03,1B,42,30 on '84 KayPros &
- è try 04,1B,6C,1B,29 on Osbornes>
- IVOFF 28B 28B 26E TURN OFF HIGHLIGHTING #05/1B 43 30 1B
- <try 03,1B,43,30 on '84 KayPros & 43 31
- try 04,1B,6D,1B,28 on Osbornes>
- 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
- <TRY 02,07,1A on KayPros and 02,1B,27 00 00 00 00
- on Osbornes to get bell and to clear
- screen on exit from WS.COM>
- 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
- <try 00 to speed things up , but
- if you put the LINDEL fix on your
- Osborne WS and still get "phantom"
- lines, try changing DELCUS from
- 0A to 0F & DELMIS from 05 to 0A>
- DELMIS 2AF 2AF 28F DEL IN OTHER MISC FUNCT, 00 to 0F msec 05
- <try 00 to speed things up>
- 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 <UNK> 00 00 00
- SWOUT 2C9 2C9 2A9 " " " AFTER " " " " 00 00 C9
- 2CC 2CC 2AC <UNK> 00 00 00
- DEL1 2CF 2CF 2AF SHORT DEL - CURSOR BLINK (ON) 03
- DEL2 2D0 2D0 2B0 MED-SHORT DEL- CURSOR BLINK (OFF) 09
- <no benefit in changing DEL1 or DEL2>
- DEL3 2D1 2D1 2B1 MED-LONG DEL - TIME TIL SUB-MENUS SHOW 19
- <try 40h to 60h, if you know them>
- DEL4 2D2 2D2 2B2 LONG DEL - MESSAGES AND SIGN-ONS 40
- <try 00h or 01h to speed things up>
- DEL5 n/a 2D3 2B3 DEL- SCREEN REDISPLAY/REFRESH 09
- <try 00h or 01h to speed things up>
- 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
- <tr∙ 0▓ t∩ ge⌠ drivσ B:>
- èSCRLSZ n/a 2DD 2BA HORIZONTAL SCROLL (20 column) 14
- CNVTBL n/a n/a 2BB <UNK> 00
- 2D8 2DE 2BC <UNK> 00/00
- MORPAT 2E0 2E0 2CB USER MORE PATCH AREA (128 BYTES AVAIL) 00/00 (varies)
- <check contents before patching, mine
- has a mysterious 42 bytes of code;
- it is open after 02F6>
-
-
- INITIAL Edit Set-up Default
- ---------------------- ---------
- PBGMEM 35C 35C 34B POINTER TO BEGINNING OF MEMORY (TEXT) 6D 84
- ITHELP 360 360 34D HELP LEVEL <try 2 or 1> ^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 <try 00>
- è +2 387 387 36F VARIABLE TABS " ^OV FF
- +3 388 388 370 SOFT HYPHEN " ^OE 00
- +4 389 389 371 HYPEN-HELP " ^OH FF <try 00>
- +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 <UNK> [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 <UNK> [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 <UNK> 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
- <incr to speed-up ^B w/more ragged rm.>
- è
- 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
- <Could MicroPro really make this kind of error
- in WS.COM's labels and contents (above)?>
-
-
- 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 <UNK> [I] 49
- 3B5 3B6 n/a <UNK> 00 00
- <cannot find "?" FLAG - 3Fh>
-
- 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 <B> 42
- 3BA 3BB 3EA END OF BLOCK CHAR <K> 4B
- 3BB 3BC 3EB <UNK> 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
- <used by LQ & NLQ printer only;
- said to slow printing>
- 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
- <Up to 10 char can be entered to 00 00 00 00 00
- cause auto-BS for NEXT char entered 00
- in WS text - zeros with slashes and
- foreign char (causes messy WS text
- and rt. mar., if justitified - do
- ^OJ last); last byte MUST be 00>
- BSCHR 42D 42D 43B BACKSPACE CHARACTER ^H 08
-
-
- NOFTAB - No file <?> Command Table
- ------------------------------------
- NOFTAB 430 430 43C <UNK> ^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
- <for safety, try ^Y^Y (19,19)>
- 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 <UNK> ^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 <UNK> ^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
- <cannot find ^R or ^Y>
-
-
- Printer Interface Parameters
- ------------------------------
- POSMTH 690 690 699 TYPE OF PRINTER FF
- <FF=TTY/No-BS; 00=TTYw/BS;
- 01=Daisywheel; 03,04=Sp OEM Prntrs>
- BLDSTR 691 691 69A NUMBER OF STRIKES FOR BOLDFACE ^B 02
- <use 3 for FF/00; 2 for 01/03/04>
- DBLSTR 692 692 69B " " FOR DBL-STRIKE ^D 02
- 693 693 n/a <reserved> 00 00 00
-
-
- <Iµ POSMT╚ ╜ F╞ o≥ 00, nex⌠ ╕ label≤ arσ activσ>
- --------------------------------------------------
- PSCRLF 696 696 69C STR TO DO CR & LF ^M #02/0D 0A 00 00
- <try 03,OA,OA,0D to get 2 half LF 00 00 00 00 00
- & CR on Epson - see PSHALF & PSINIT> 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
- <try 02,0A,0D on Epsons - see PSINIT> 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
- <not issued unless ^PA used first>
- ROLUP 6BF 6BF 6C5 ROLL CARR UP PARTIAL LINE ^PT ## 00 00 00 00
- <if not paired, footings are fouled up>
- 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 <CR>; 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
-
- <if CSWTCH = 00, next 3 active>
- -------------------------------
- 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
- <if using XON/XOFF or EXT/ACK>
-
-
- <if CSWTCH = 01, next 11 active>
- --------------------------------
- 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
- è
- <if CSWTCH = 03, next 3 active>
- -------------------------------
- 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
-
- <if CSWTCH = 04, next 7 active>
- -------------------------------
- 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 <UNK> 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 <UNK> 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
- <unsupprorted ^P^P command table>
-
- ****************************************************************************
-
- 83A 83A 83A END OF USER PATCHING ACCESSABLE AREA
- è <with WINSTALL.COM or INSTALL.COM>
- ..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.OVR<CR╛
-
- èJus⌠ bσ certaiε tha⌠ yo⌡ arσ working witΦ ß extrß cop∙ oµ WSMSGS.OVR!
- "AUTO-PATCHING" PROCEDURE
-
- Use CP/M'≤ ASM.CO═ to assemblσ thσ filσ AUTOPAT.AS═ whicΦ contain≤ a
- numbe≥ oµ suggesteΣ items« I⌠ caε bσ modifieΣ anΣ remaneΣ t∩ suit you.
- After assembly, the resulting .HEX file will be used to put "overlay"
- of your patches onto WS.COM. The beauty of this patching technique is
- that you have a machine readable record of YOUR OWN patches to tailor
- WS.COM. Now, when you damage your working copy of WS.COM, it will not
- take forever and a day to load in all of those patches that you worked
- so hard to develop and test - just overlay the .HEX file on WS.COM and
- you are back in business in a few minutes. The step-by-step procedure:
-
- 1. Open a WordStar file in NON-DOCUMENT (N) mode called MYPATCH.ASM.
- 2. Read a copy of AUTOPAT.ASM (with ^KR) into MYPATCH.ASM.
- 3« Deletσ thosσ part≤ (^KB,^KK,^KY⌐ that are oµ n∩ interest.
- 4. Edit and tailor the remaining parts to suit your own needs.
- á 5« Ruεáthσ fina∞ version of MYPATCH.ASM thougΦ ß "filteró to insure
- tha⌠án∩ stray WS high bit document controls are in the file, by
- either the useful PD utility WSDOCON.COM or by using:
-
- A>PIP 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<CR>
-
- 8. Use DDT.COM to overlay the .HEX file onto WS.COM
-
- -IMYPATCH#.HEX<CR>
- -R<CR>
-
- 9. Exit DDT.COM and save your new version of WordStar
-
- -G0<cr>
- A>SAVE 69 WSNEW.COM<CR> (for v3.30),
- or A>SAVE 62 WSNEW.COM<CR> (for v3.0),
- or A>SAVE 52 WSNEW.COM<CR> (for v2.26)
-
- 10. Use DDT.COM to inspect WSNEW.COM to be sure the patches are in place
-
- A>DDT WSNEW.COM<CR>
- -Snnnn<CR> or -Dnnnn<CR>
-
- 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<CR>
-
- è*****¬ No≈ yo⌡ arσ read∙ fo≥ thσ biτ timσí Writσ me« <AFR╛ ******