CUSTOMIZATION OF WORDSTAR 3.0 ----------------------------------------------------------------------------- Settings given are for UNinstalled CP/M80 WordStar Version 3.0 ## --> indicates the number of characters for this function, the maximum number available is shown by the number of 00's that follow. If no- zero in the uninstalled W*, the values are shown. xx --> indicates an address for this function that should not be changed, use this address to map additional keys to the defined function. Remember reversed order for addresses! 00 --> A patch point. Where a string of bytes is available, trucated to a single '0' in order to keep within 80 characters wide. rr --> reserved bytes ?? --> guessed operation LABEL LOCATION OPERATION DEFAULT 0100 ? \ JMP 2D08 0103 ? \ JUMP JMP 2CF8 OUTCHR 0106 CRT CHARACTER OUTPUT / TABLE ? JMP 20B3 0109 ? / JMP 2D19 PATVER 010C INSTALLER OR PATCHER VERSION TO USE ? 0B 00 MSGVER 010E VERSION OF MSG FILE TO USE ? 0F 00 WSVER 0110 VERSION OF OVERLAY FILE TO USE ? 18 00 COPRIT 0117 COPYRIGHT NOTICE " COPYRIGHT ... SIGNON 0153 VENDOR AND PROGRAM NAME " MicroPro ... 017F SERIAL NUMBER "xxxxxxx ... IDTEX 018F TERMINAL ID TEXT " no terminal ... PIDTEX 01B3 PRINTER ID TEXT " I/O Master ... PROTTX 01D7 PRINTER PROTOCOL TEXT PDRVTX 01FD PORT DRIVER TEXT WFLAGS 0220 ? 00 WRAPF 0220 ? 00 JUSTF 0221 ? 00 VTABF 0222 ? 00 00 HYPF 0224 ? 00 SHOWDF 0225 ? 00 SHOWM 0226 ? 00 00 PAGDIS 0228 ? 00 LSPACE 0229 ? 00 00 DISDIR 022B ? 00 AUPAV 0234 ? FF MSGLEN 0235 ? 22 INSTLD 0236 0=UNINSTALLED, FF=INSTALLED ? 00 PCLAS 0237 ? 05 SAVEND 0238 ? FD 32 24 06 A8 32 USER1 - TERMINAL PATCH AREA 0246 SCREEN HEIGHT ? 18 0247 SCREEN WIDTH ? 50 HITE 0248 SCREEN HEIGHT IN LINES (24) 18 WID 0249 SCREEN WIDTH IN COLUMNS (80) 50 CURSOR POSTIONING: CLEAD1 024A LEAD-IN CHARACTERS 02 1B 3D 00 00 00 00 00 00 CLEAD2 0253 CHARS BETWEEN COLUMN OR LINE ## 00 00 00 00 CTRAIL 0258 TRAILING CHARACTERS ## 00 00 00 00 CB4LFG 025D =FF FOR COLUMN FIRST 00 LINOFF 025E ASCII LINE OFFSET 20 COLOFF 025F ASCII COLUMN OFFSET 20 ASCUR 0260 TYPE:0=BINARY,2=2DIGIT ASCII,3=3DIGIT ASCII 00 rr rr rr UCRPOS 0264 JUMP TO OWN CURSOR POSITIONING ROUTINE 00 00 C9 (RECEIVE LINE=L,COLUMN=H; CALL OUTCHR FOR OUTPUT) OUTCHR 0267 ADDRESS OF BYTE OUTPUT (SEE NOTE) 06 01 rr rr rr rr TERMINAL CODES: ERAEOL 026D ERASE TO END OF LINE ## 0 0 0 0 0 0 LINDEL 0274 DELETE LINE ## 0 0 0 0 0 0 LININS 027B INSERT LINE (CR) ## 0 0 0 0 0 0 0 0 IVON 0284 TURN ON HIGHLIGHTING ## 0 0 0 0 0 0 IVOFF 028B TURN OFF HIGHLIGHTING ## 0 0 0 0 0 0 TRMINI 0292 TERMINAL INITIALIZATION STRING ## 0 0 0 0 0 0 0 0 TRMUNI 029B TERMINAL TERMINATION STRING ## 0 0 0 0 0 0 0 0 INISUB 02A4 SPECIAL STRING FOR CUSTOM INITIALIZATION 00 00 C9 (IF #0, CALLED BEFORE TRMINI IS SENT) UNISUB 02A7 SPECIAL STRING FOR CUSTOM TERMINATION 00 00 C9 (IF #0, CALLED BEFORE TRMUNI IS SENT) SYSTEM VARIABLES: USELST 02AA =FF FOR LAST COLUMN/ROW DISPLAY FLAG 00 rr rr rr DELCUS 02AE DELAY AFTER CURSOR SET 0A DELMIS 02AF DELAY AFTER OTHER FUNCTIONS 05 MEMORY-MAPPED DISPLAY: MEMAPV 02B0 =FF FOR MEMORY-MAPPED DISPLAY TERMINAL 00 MEMADR 02B1 RAM ADDRESS OF FIRST SCREEN CHARACTER 00 00 HIBIV 02B3 =FF IF INVERSE VIDEO BY HI ORDER BIT 00 HIBCUR 02B4 =FF IF DISPLAY CURSOR BY HI ORDER BIT 00 CRBLIV 02B5 =FF TO BLINK CURSOR IF ON INVERSE VIDEO 00 FIX FOR BACKSPACE ON : ZAFCIN 02B6 BIOS ADDRESS OF LAST CHARACTER INPUT 00 00 RUBFXF 02B8 =FF TO OUTPUT RFIXER CHARACTER ON 00 RFIXER 02B9 CHARACTER TO OUTPUT AFTER EACH 00 USER-SUPPLIED CONSOLE I/O ROUNTINES: UCNSTA 02BA JUMP TO STATUS OF CONSOLE (CHAR READY?) 00 00 C9 UCONI 02BD JUMP TO INPUT CHAR FROM CONSOLE 00 00 C9 UCONO 02C0 JUMP TO OUTPUT TO CONSOLE 00 00 C9 SWIN 02C3 OPTIONAL ROUTINE BEFORE DMA TO VIDEO BOARD 00 00 C9 00 00 00 (JUMP OR 6 BYTE OR LESS ROUTINE) SWOUT 02C9 OPTIONAL ROUTINE AFTER DMA TO VIDEO BOARD 00 00 C9 00 00 00 (JUMP OR 6 BYTE OR LESS ROUTINE) DELAYS: DEL1 02CF SHORT DELAY - CURSOR BLINK 03 DEL2 02D0 MEDIUM-SHORT DELAY - CURSOR BLINK 09 DEL3 02D1 MEDIUM-LONG DELAY - TIME TO PREFIX MENUS 19 DEL4 02D2 LONG DELAY - TIME FOR NOTE DISPLAYS 40 DEL5 02D3 DELAY UNTIL SCREEN REDISPLAY 09 NON-STANDARD VERSION OF WORDSTAR TRSCRS 02D4 FOR TRS-80 ONLY (FF= SPECIAL CURSOR DRIVER) 00 TRSCIF 02D5 FOR TRS-80 ONLY (FF= SPECIAL KB DRIVERS) 00 HETHBS 02D6 FOR LIFEBOAT CP/M FOR HEATH-89 00 APLFLG 02D7 FOR APPLE ONLY 00 NMOFUS 02D8 NUMBER OF USERS ON SYSTEM 01 01 (SET HIGHER TO REDUCE CONSOLE STATUS CHECKS) TCKFLG 02DA =FF FOR MP/M 00 RSTFLG 02DB =FF FOR NO DISK RESETS 00 DEFDSK 02DC WHERE TO LOOK FOR WSOVLY1.OVR AFTER DEFAULT 01 SCRLSZ 02DD NUMBER OF COLUMNS FOR HORIZONTAL SCROLL 14 MORPAT 02E0 USER PATCH AREA - USE UP TO 035B 00 00 ... PBGMEM 035C EXTENDED PATCH AREA SHOULD START AT: 49 78 (xx xx IS LAST ADDRESS THAT W* NEEDS, ADD ADDITIONAL PATCHES AFTER THIS ADDRESS; WILL REDUCE WORKING AREA!) USER2 - PARAMETERS USER MAY ALTER INITIALIZATION ITEMS: ITHELP 0360 INITIAL HELP LEVEL 02 NITHLF 0361 =0 FOR MAXIMUM HELP MESSAGE FF ITITOG 0362 INSERT: OFF=0, ON=FF FF ITDSDR 0363 NO-FILE DIRECTORY OFF=0, ON=FF FF rr rr INITPF| 0366 LINE HEIGHT, 1/48'S 08 | 0367 PAPER LENGTH IN LINES (66) 42 | 0368 PAPER LENGTH IN 1/48'S 02 10 | 036A LINE HEIGHT AGAIN 08 | 036B MARGIN AT TOP IN LINES 03 | 036C MARGIN AT TOP IN 1/48'S 00 18 | 036E LINE HEIGHT AGAIN 08 | 036F HEADING MARGIN IN LINES 02 | 0370 HEADING MARGIN IN 1/48'S 00 10 | 0372 LINE HEIGHT AGAIN 08 | 0373 BOTTOM MARGIN IN LINES 08 | 0374 BOTTOM MARGIN IN 1/48'S 00 40 | 0376 LINE HEIGHT AGAIN 08 | 0377 FOOTING MARGIN IN LINES 02 | 0378 FOOTING MARGIN IN 1/48'S 00 10 | 037A LINE HEIGHT AGAIN 08 | 037B =0 FOR STANDARD CHAR WIDTH 00 | 037C STD CHAR WIDTH IN 1/120'S 0C | 037D ALT CHAR WIDTH IN 1/120'S 0A | 037E PAGE OFFSET IN CHARS 08 INITLM 037F INITIAL LEFT MARGIN LESS 1 00 INITRM 0380 INITIAL RIGHT MARGIN LESS 1 UP TO WID-4 40 INITSR 0381 INITIAL SUB/SUPER-SCRIPT ROLL IN 1/48'S 03 rr rr rr INITWF| 0385 WORD WRAP FLAG, OFF=0; ON=FF FF | 0386 JUSTIFY FLAG, OFF=0; ON=FF FF | 0387 VARIABLE TABS FLAG, OFF=0; ON=FF FF | 0388 SOFT HYPHEN FLAG, OFF=0; ON=FF 00 | 0389 HYPEN-HELP FLAG, OFF=0; ON=FF FF | 038A PRINT CONTROL CHARS FLAG, OFF=0; ON=FF FF | 038B RULER LINE DISPLAY, OFF=0; ON=FF FF | 038C PAGE BREAK DETERMINATION, OFF=0; ON=FF FF | 038D PAGE BREAK DISPLAY, OFF=0; ON=FF FF | 038E LINE SPACING 01 | 038F 0=BLOCK, FF=COLUMN MODE 00 rr rr NONDOC 0392 DIRECT ENTRY 0=DOC, FF=NON-DOC EDIT 00 DECCHR 0393 DECIMAL POINT CHARACTER . 2E rr DOTCHR 0395 CHAR TO BEGIN 'DOT' COMMANDS . 2E BLNCHR 0396 NON-BREAK SPACE CHAR ^O 0F DOTSON 0397 FF=ENABLE, 0=DISABLE DOT COMMANDS 00 rr rr HZONE 039A HYPHENATION; INCREASE FOR LESS STOPS 04 PVWTB 039B ADDRESS OF VOWEL TABLE 03 9F PNCON 039D ADDRESS OF NOT-CONSONANT TABLE 03 A4 VOWTAB 039F TABLE OF VOWELS Y[]{} 59 5B 5D 7B 7D NONCON 03A4 TABLE OF NON-CONSONANT LETTERS AEIOU 41 45 49 4F 55 (MORE VOWELS - ENDS IN 00) 00 00 00 00 EOFCHR 03AD END OF FILE FLAG . 2E BOFCHR 03AE BEGINNING OF FILE FLAG : 3A CONCHR 03AF FILE LINE CONTINUATION FLAG + 2B OVPCHR 03B0 OVERPRINT LINE FLAG - 2D LFCHR 03B1 LINE ENDS IN LF W/O CR FLAG J 4A PAGCHR 03B2 END OF PAGE FLAG P 50 SOFTCR 03B3 SOFT CR FLAG 20 HARDCR 03B4 HARD CR FLAG < 3C FDTCHR 03B5 MERGE-PRINT COMMAND FLAG M 4D rr rr SOFHYC 03B8 CHARACTER USED FOR SOFT HYPHENS -(+80) AD PAGFIL 03B9 CHARACTER USED FOR PAGE BREAKS - 2D MARKS | 03BA CHARACTER USED FOR START OF BLOCKS B 42 | 03BB CHARACTER USED FOR END OF BLOCKS K 4B rr rr rr | 03BF CHARACTER USED FOR USER MARKS 01234 30 31 32 33 34 56789 35 36 37 38 39 rr PODBLK| 03CA DISK FILE OUTPUT DEFAULT, 0=NO, FF=YES 00 | 03CB USE FORM FEEDS, 0=NO, FF=YES 00 | 03CC SUPPRESS PAGE FORMATTING, 0=NO, FF=YES 00 | 03CD PAUSE BETWEEN PAGES, 0=NO, FF=YES 00 rr rr rr NOUFF 03D1 =FF FOR SUPPRESS FORM FEED QUESTION 00 rr ITPOPN 03D3 PRINT PAGE NUMBERS, 0=ON, FF=OFF 00 ITMIJ 03D4 MICROJUSTIFY SWITCH, FF=ON, 0=OFF FF ITBIP 03D5 BI-DIRECTIONAL PRINT, FF=ON, 0=OFF FF rr rr RVELIM 03D8 DELIMITER FOR DATA VALUES , 2C RVQUOT 03D9 DELIMITER FOR ENCLOSED VALUES " 22 rr VARCH1 03DB DELIMITER THAT INTRODUCES VARIABLES & 26 VARCH2 03DC DELIMITER THAT TERIMATES VARIABLE & 26 rr VAROPC 03DE CHARACTER AFTER NAME &B4 OPTION LETTERS / 2F 03DF OPTION LETTER FOR OMIT LINE IF VBL NULL O 4F rr rr rr r r r FILE NAMES: FNWSCM 03E6 NAME OF WORDSTAR PROGRAM "WS COM" DSKTNA 03F2 NAME OF MESSAGE FILE "WSMSGS OVR" FNOVLY 03FE NAME OF OVERLAY FILE "WSOVLY1 OVR" FNMRGP 040A NAME OF MERGE-PRINT OVERLAY "MAILMRGE OVR" 0416 12 BYTES RESERVED rr rr ... AUTOMATIC BACKSPACE TABLE: AUTOBS 0422 CHARS FOR AUTO BACK-SPACE, 10 MAX, 00 ENDS 00 00 ... 00 BSCHR 042D AUTO BACK-SPACE CHARACTER ^H 08 USER 3 - KEYSTROKE DISPATCH TABLES NO-FILE MENU: NOFTAB 0430 EDIT FILE, DOCUMENT MODE ^D 04 00 xx xx 0434 EDIT FILE, PROGRAM MODE ^N 0E 00 xx xx 0438 SET HELP LEVEL ^H 08 00 xx xx 043C EXIT TO SYSTEM ^X 18 00 xx xx 0440 PRINT FILE ^P 10 00 xx xx 0444 MERGE-PRINT FILE ^M 0D 00 xx xx 0448 DELETE FILE ^Y 19 00 xx xx 044C DIRECTORY DISPLAY ^F 06 00 xx xx 0450 SCROLL DIRECTORY UP ^Z 1A 00 xx xx 0454 SCROLL DIRECTORY DOWN ^W 17 00 xx xx 0458 SELECT CURRENT DISK DRIVE ^L 0C 00 xx xx 045C EXECUTE PROGRAM ^R 12 00 xx xx 0460 COPY FILE ^O 0F 00 xx xx 0464 RENAME FILE ^E 05 00 xx xx 0468 ??? ^V 16 00 xx xx 046C RUN SPELLSTAR COMMAND ^S 13 00 xx xx 0470 SPACE FOR DUPLICATE ENTRY 00 00 xx xx 0474 SPACE FOR DUPLICATE ENTRY 00 00 xx xx 0478 SPACE FOR DUPLICATE ENTRY 00 00 xx xx 047C SPACE FOR DUPLICATE ENTRY 00 00 xx xx 0480 END OF TABLE 00 FILE-EDITING COMMAND DISPATCH TABLE: VTAB 0481 FF 2ND BYTE: DISPLAY ^Q MENU ^Q 11 FF xx xx 0485 FF 2ND BYTE: DISPLAY ^K MENU ^K 0B FF xx xx 0489 FF 2ND BYTE: DISPLAY ^O MENU ^O 0F FF xx xx 048D FF 2ND BYTE: DISPLAY ^J MENU ^J 0A FF xx xx 0491 SET HELP LEVELS ^JH 0A 08 xx xx 0495 MOVE CURSOR LEFT ^S 13 00 xx xx 0499 BACKSPACE ^H 08 00 xx xx 049D MOVE CURSOR FORWARD ^D 04 00 xx xx 04A1 MOVE CURSOR LEFT WORD ^A 01 00 xx xx 04A5 MOVE CURSOR RIGHT WORD ^F 06 00 xx xx 04A9 MOVE CURSOR DOWN ^X 18 00 xx xx 04AD MOVE CURSOR UP ^E 05 00 xx xx 04B1 MOVE CURSOR TO LEFT MARGIN ^QS 11 13 xx xx 04B5 MOVE CURSOR TO END OF LINE ^QD 11 04 xx xx 04B9 CURSOR TO BOTTOM OF SCREEN ^QX 11 18 xx xx 04BD CURSOR TO TOP OF SCREEN ^QE 11 05 xx xx 04C1 CURSOR BLOCK-BEGINNING ^QB 11 42 xx xx 04C5 CURSOR BLOCK-END ^QK 11 4B xx xx 04C9 CURSOR POSITION-BEFORE PREVIOUS COMMAND ^QP 11 50 xx xx 04CD CURSOR TO WHERE SEARCH OR MOVE BEGAN ^QV 11 56 xx xx 04D1 CURSOR TO MARKER 0 ^Q0 11 30 xx xx 04D5 CURSOR TO MARKER 1 ^Q1 11 31 xx xx 04D9 CURSOR TO MARKER 2 ^Q2 11 32 xx xx 04DD CURSOR TO MARKER 3 ^Q3 11 33 xx xx 04E1 CURSOR TO MARKER 4 ^Q4 11 34 xx xx 04E5 CURSOR TO MARKER 5 ^Q5 11 35 xx xx 04E9 CURSOR TO MARKER 6 ^Q6 11 36 xx xx 04ED CURSOR TO MARKER 7 ^Q7 11 37 xx xx 04F1 CURSOR TO MARKER 8 ^Q8 11 38 xx xx 04F5 CURSOR TO MARKER 9 ^Q9 11 39 xx xx 04F9 MOVE TO TOP OF FILE ^QR 11 12 xx xx 04FD MOVE TO BOTTOM OF FILE ^QC 11 03 xx xx 0501 FIND ^QF 11 06 xx xx 0505 FIND & REPLACE ^QA 11 01 xx xx 0509 DO SPECIAL SPELLSTAR FIND & REPLACE ^QL 11 0C xx xx 050D REPEAT FIND & REPLACE ^L 0C 00 xx xx 0511 SCROLL DOWN CONTINUOUSLY ^QW 11 17 xx xx 0515 SCROLL UP CONTINUOUSLY ^QZ 11 1A xx xx 0519 MOVE SCREEN UP ONE LINE ^Z 1A 00 xx xx 051D MOVE SCREEN DOWN ONE LINE ^W 17 00 xx xx 0521 SCROLL DOWN SCREENFUL ^R 12 00 xx xx 0525 SCROLL UP SCREENFUL ^C 03 00 xx xx 0529 DELETE CHARACTER LEFT 7F 00 xx xx 052D ALTERNATE DELETE CHARTACTER LEFT ^_ 1F 00 xx xx 0531 DELETE CHARACTER RIGHT ^G 07 00 xx xx 0535 DELETE LINE ^Y 19 00 xx xx 0539 DELETE TO BEGINNING OF LINE ^Qdel 11 7F xx xx 053D ALT DELETE TO BOL ^Q_ 11 1F xx xx 0541 ERASE TO END OF LINE ^QY 11 19 xx xx 0545 ERASE WORD TO RIGHT ^T 14 00 xx xx 0549 INSERT MODE ON/OFF ^V 16 00 xx xx 054D REFORMAT TO END OF PARAGRAPH ^B 02 00 xx xx 0551 REPEAT NEXT COMMAND ^QQ 11 11 xx xx 0555 INSERT LINE ^N 0E 00 xx xx 0559 TAB ^I 09 00 xx xx 055D CARRIAGE RETURN ^M 0D 00 xx xx 0561 INSERT NEXT CHARACTER LITERALLY ^P 10 00 xx xx 0565 HIDE/DISPLAY MARKED BLOCK ^KH 0B 08 xx xx 0569 MARK/HIDE BLOCK BEGINNING ^KB 0B 42 xx xx 056D MARK BLOCK END ^KK 0B 4B xx xx 0571 SET/HIDE MARKER 0 ^K0 0B 30 xx xx 0575 SET/HIDE MARKER 1 ^K1 0B 31 xx xx 0579 SET/HIDE MARKER 2 ^K2 0B 32 xx xx 057D SET/HIDE MARKER 3 ^K3 0B 33 xx xx 0581 SET/HIDE MARKER 4 ^K4 0B 34 xx xx 0585 SET/HIDE MARKER 5 ^K5 0B 35 xx xx 0589 SET/HIDE MARKER 6 ^K6 0B 36 xx xx 058D SET/HIDE MARKER 7 ^K7 0B 37 xx xx 0591 SET/HIDE MARKER 8 ^K8 0B 38 xx xx 0595 SET/HIDE MARKER 9 ^K9 0B 39 xx xx 0599 MOVE MARKED TEXT ^KV 0B 16 xx xx 059D COPY MARKED TEXT ^KC 0B 03 xx xx 05A1 DELETE MARKED TEXT ^KY 0B 19 xx xx 05A5 TOGGLE CLOUMN MOVE ON/OFF ^KN 0B 0E xx xx 05A9 ??? ^KZ 0B 1A xx xx 05AD INTERRUPT COMMAND IN PROGRESS ^U 15 00 xx xx 05B1 DONE-SAVE-EXIT ^KX 0B 18 xx xx 05B5 DONE-SAVE-RETURN TO MENU ^KD 0B 04 xx xx 05B9 SAVE-CONTINUE EDIT ^KS 0B 13 xx xx 05BD ABANDON EDIT-RETURN TO MENU ^KQ 0B 11 xx xx 05C1 INSERT/READ FILE INTO TEXT ^KR 0B 12 xx xx 05C5 WRITE BLOCK TO ANOTHER FILE ^KW 0B 17 xx xx 05C9 DELETE A FILE ^KY 0B 0A xx xx 05CD FILE DIRECTORY ON/OFF ^KF 0B 06 xx xx 05D1 PRINT A FILE ^KP 0B 10 xx xx 05D5 LOG DISK DRIVE ^KL 0B 0C xx xx 05D9 COPY FILE ^KO 0B 0F xx xx 05DD RENAME A FILE ^KE 0B 05 xx xx 05E1 LEFT MARGIN SET ^OL 0F 0C xx xx 05E5 RIGHT MARGIN SET ^OR 0F 12 xx xx 05E9 TAB SET ^OI 0F 09 xx xx 05ED TAB CLEAR ^ON 0F 0E xx xx 05F1 SET MARGIN/TABS FROM FILE LINE ^OF 0F 06 xx xx 05F5 WORD WRAP ON/OFF ^OW 0F 17 xx xx 05F9 JUSTIFICATION ON/OFF ^OJ 0F 0A xx xx 05FD VARIABLE TABBING ON/OFF ^OV 0F 16 xx xx 0601 DOT COMMAND DISPLAY ON/OFF ^OD 0F 04 xx xx 0605 RULER DISPLAY ON/OFF ^OT 0F 14 xx xx 0609 PAGE BREAK DISPLAY ON/OFF ^OP 0F 10 xx xx 060D SOFT HYPHEN ENTRY ON/OFF ^OE 0F 05 xx xx 0611 HYPHEN HELP ON/OFF ^OH 0F 08 xx xx 0615 PARAGRAPH TAB ^OG 0F 07 xx xx 0619 MARGIN RELEASE ^OX 0F 18 xx xx 061D CENTER LINE ^OC 0F 03 xx xx 0621 LINE SPACE SETTING ^OS 0F 13 xx xx 0625 PRINT DIRECTIVES ^JD 0A 04 xx xx 0629 EXPLAIN STATUS LINE ^JS 0A 13 xx xx 062D EXPLAIN FLAGS ^JF 0A 06 xx xx 0631 EXPLAIN PLACE MARKERS ^JP 0A 10 xx xx 0635 EXPLAIN PARAGRAPH REFORMING ^JB 0A 02 xx xx 0639 EXPLAIN TABS AND MARGINS ^JM 0A 0D xx xx 063D COMMAND INDEX ^JI 0A 09 xx xx 0641 EXPLAIN MOVING TEXT ^JV 0A 16 xx xx 0645 EXPLAIN RULER LINE ^JR 0A 12 xx xx XTAB 0649 EDITING COMMAND EXPANSION SPACE 00 00 xx xx ... (4 BYTES EACH, ROOM FOR 9 REDUNDANT ENTRIES) 066D END OF DISPATCH TABLE 00 MERGE-PRINT COMMAND DISPATCH TABLE: FPTAB 066E STOP THE PRINT! ^P 10 00 xx xx 0672 SCROLL DIRECTORY UP ^Z 1A 00 xx xx 0676 SCROLL DIRECTORY DOWN ^W 17 00 xx xx 067A ??? ^V 16 00 xx xx 067E END OF DISPATCH TABLE 00 DISPATCH TABLE POINTERS: PNFTAB 067F POINTER TO NO-FILE DISPATCH TABLE 30 04 PVTAB 0681 POINTER TO EDITING COMMAND DISPATCH TABLE 81 04 PFPTAB 0683 POINTER TO MERGE-PRINT DISPATCH TABLE 6E 06 CONTROL CHARACTERS FOR"?" PROMPTS: CLCHR 0686 DELETE CHAR (CURSOR LEFT) ^S 13 CRCHR 0687 CURSOR RIGHT, UNDELETING CHARACTER ^D 04 LITCHR 0688 LITERAL ESCAPE ^V 10 DIRCH 0669 DISPLAY DIRECTORY ^F 06 066A SCROLL DIRECTORY UP ^Z 1A 066B SCROLL DIRECTORY DOWN ^W 17 INTERRUPT & ESCAPE: STPCHR 066C STOP EVERYTHING, I WANT TO GET OFF! ^U 15 ERELCH 066D ERROR RELEASE 1B USER4 - PRINTER PATCH AREA: ALL PRINTERS: POSMTH 0690 PRINTER TYPE (1=DAISY,0=BS'ING,FF=TTY) 01 BLDSTR 0691 NUMBER OF STRIKES FOR BOLDFACE 02 DBLSTR 0692 NUMBER OF STRIKES FOR DOUBLE-STRIKE 02 rr rr rr PSCRLF 0696 STRING TO ADVANCE TO NEXT LINE 02 0D 0A 0 0 0 00 00 0 0 0 PSCR 06A1 STRING TO RETURN CARRIAGE TO SOL 02 0D 00 0 0 0 0 NON-DAISY PRINTERS: PSHALF 06A8 AND HALF LINE-FEED ## 00 00 0 0 0 0 PBACKS 06AF PRINT BACKSPACE ^H 01 08 00 0 0 0 PALT 06B5 SET ALTERNATE CHARACTER WIDTH ^A ## 00 00 0 0 PSTD 06BA RESET STANDARD CHARACTER WIDTH ^N ## 00 00 0 0 ROLUP 06BF ROLL CARRIAGE UP PARTIAL LINE ^T ## 00 00 0 0 ROLDOW 06C4 ROLL CARRIAGE DOWN PARTIAL LINE ^V ## 00 00 0 0 ALL PRINTERS: USR1 06C9 USER FUNCTION #1 ^Q ## 00 00 00 00 USR2 06CE USER FUNCTION #2 ^W ## 00 00 00 00 USR3 06D3 USER FUNCTION #3 ^E ## 00 00 00 00 USR4 06D8 USER FUNCTION #4 ^R ## 00 00 00 00 RIBBON 06DD CHANGE TO ALTERNATE COLOR RIBBON ^Y ## 00 00 00 00 RIBOFF 06E2 CHANGE TO BLACK RIBBON ^Y ## 00 00 00 00 PSINIT 06E7 STRING TO INITIALIZE PRINTER ## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PSFINI 06F8 STRING TO TERMINATE PRINTING ## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SOCHR 070B CHARACTER FOR STRIKEOUT - 2D ULCHR 070C CHARACTER FOR UNDERLINING _ 5F PRINIT 070D JUMP TO CUSTOM PRINTER INIT ROUTINE 00 00 C9 PRFINI 0710 JUMP TO CUSTOM PRINTER TERM ROUTINE 00 00 C9 r r r r TRANSMISSION OF CHARACTERS TO PRINTER: CSWTCH 0717 WHERE TO SEND OUTPUT (0=LST,1=W* PORT 03 DRIVER, 2=USER SUPPLIED DRIVER, 3=OEM DAISY, 4=ALT CONSOLE) HAVBSY 0718 =FF IF PRINTER DRIVER INSTALLED FF rr CSWTCH=0, OUTPUT TO LST: DEVICE LIBSY 071A JUMP TO PRINTER BUSY TEST ENTRY 00 B7 C9 LISEND 071D OUTPUT CHARACTER ... LISINP 0725 JUMP TO INPUT CHARACTER FROM PRINTER 00 37 C9 CSWTCH=1, USE PORT DRIVER TO OUTPUT POBSY 0728 PORT DRIVER STATUS ENTRY DB POSTAT 0729 OUTPUT STATUS PORT # 05 00 E6 POMASK 072C WHICH BIT IS OF INTEREST 01 EE POOM 072E FOR PRINTER READY 01 37 C0 B7 C9 POSEND 0733 PORT DRIVER SEND CHAR ENTRY D3 POOP 0734 OUTPUT DATA PORT 04 00 C9 POINP 0737 PORT DRIVER INPUT CHAR ENTRY DB PISTAT 0738 INPUT STATUS PORT 05 00 E6 POINSK 073B WHICH BIT IS OF INTEREST 02 EE POIM 073D FOR INPUT CHAR READY 02 37 C0 DB POIP 0741 INPUT DATA PORT 04 00 B7 C9 0745 RESERVED (7 BYTES) r r r r r r r CSWTCH=2, USER-SUPPIED OUTPUT DRIVER PUBSY 074C JUMP TO PRINTER STATUS ROUTINE 00 B7 C9 PUSEND 074F JUMP TO PRINT CHARACTER ROUTINE 00 00 C9 PUINP 0752 JUMP TO INPUT CHARACTER FROM PRINTER ROUTINE 00 37 C9 0755 RESERVED rr rr rr CSWTCH=4, ALTERNATE CONSOLE PRINTER DRIVER ACBSY 0758 BUSY TEST ENTRY 00 B7 C9 ACSEND 075B SEND A CHARACTER CD 07 77 CD xx xx C3 07 6E ACINP 0764 INPUT A CHARACTER CD 07 77 CD xx xx C4 xx xx 57 ACFIN 076E EXIT ROUTINE 78 ACSTA1 076F RESET IOBYTE 32 00 03 7A B7 C0 37 C9 ACSTAR 0777 ENTRY ROUTINE 57 3A 00 03 47 E6 FC F6 CONFIE 077F SET IOBYTE 01 C3 07 6F 0783 RESERVED rr rr rr FLOW CONTROL: PROTCL 0786 PROTOCAL TYPE (0=NONE,1=ETX/ACK,2=XON/XOFF) 00 EAKBSZ 0787 ETX/ACK MESSAGE LENGTH 7F rr rr rr rr rr rr USER5 - FOR DAISY PRINTERS: DVMILE 0790 VERTICAL MOTION INDEX LEADIN STRING 02 1B 1E 00 00 DVMMIN 0795 MINIMUM DVMILE (FOR NO MOTION) \ 00 01 DVMRNG 0797 MAXIMUM DVMILE / 1/48'S 00 7E DHMILE 0799 HORIZONTAL MOTION INDEX LEADIN STRING 02 1B 1F 00 00 DHMIFG 079E 0 FOR 120THS, FF FOR 60THS 00 DHMIN 079F MINIMUM DHMILE \ 00 01 DHRNG 07A1 MAXIMUM DHMILE / IN DHMIFG'S 00 7E DFWD 07A3 SET FORWARD PRINT 02 1B 3E 00 00 DBAK 07A8 SET BACKWARD PRINT 02 1B 3C 00 00 DSP 07AD FORWARD SPACE 01 20 00 00 00 DBS 07B2 BACKWARD SPACE 01 08 00 00 00 DLF 07B7 LINE FEED VMI 01 0A 00 00 00 DRLF 07BC REVERSE LINE FEED 02 1B 39 00 00 DPHSPC 07C1 PRINT PHANTOM SPACE 02 1B 59 00 DPHRUB 07C5 PRINT PHANTOM RUBOUT 02 1B 5A 00 07C9 RESERVED 10 BYTES 00 00 ... DNPROS 07D3 SUPPRESS ALL PROPOR SPACING 0=ON, FF=OFF 00 DMJWB 07D5 ALTER MICROJUSTIFY ALGORITHM 0=NO, FF=ALT 00 rr rr rr PROPORTIONAL SPACING TABLE - DEVELOPMENTAL DIGIT 1 FOR NON-PROPORTIONAL TYPEWHEELS, VALUE IN 1/60THS =5 DIGIT 2 FOR PROPORTIONAL TYPEWHEELS, (THEME PS 10) =3 (HIGH ORDER BIT OF BOTH HEX DIGITS RE UNASSIGNED) PSTAB 07D8 SPACE, PHANTOM SPACE 53 07D9 "!" MARK 43 ETC IN ASCII ORDER TO 0836 "~" CHARACTER 56 0837 PHANTOM RUBOUT 55 INFCB 083A INTERNAL FILE CONTROL BLOCK ? 00 20 20 ... NOTES: OUTCHR entered as a label to the W* patcher points to location 0106 but the notes say that OUTCHR is at 0267. 0267 has in it the address 0106 so to output a character to the CRT, Call 0106 which is a JMP to the output character routine. PSCR and POIM are valid labels listed in the W* patcher but are not recognized as labels. Other labels listed above may not be recognized by the patcher, depending on version. (Not listed in the patcher's internal list, i.e. PVWTB, PNCON, VOWTAB and NONCON.) The purpose of the dispatch table entries at 0468 and 05A9 is unknown. (Best guess would be that these are used by MicroPro for debugging. The label INFCB purpose is unknown, it falls outside of the normal user patch areas. The notes do reference a"USER 6" as the "INPUT FILE NAME file control block patch area" but the source was not included. The area from 0100 to 0248 also falls out of the user patch areas. Other than the guesses above, there is no further documentation on these points. WFLAGS and WRAPF do point to the same address.