WORDSTAR W3.0 100*DQH 02092A MICROPRO QUAD.CAPDISKETTECPM FROMNORTH * STAR XG7995TZ-SYSTEM--TRACKS-BIOS USER CPM CCP CPM BDOS --------DIR.SEC1DIR.SEC2DIR.SEC3DIR.SEC4--------CPM DATADATASEC1DATASEC2DATASEC3DATASEC4........ N*S WSMSGS OVRZ WSU COM|EXAMPLE TXTcWSOVLY1 OVR !"#$%&'()*+,-WSOVLY1 OVR .INSTALL COM/0123456789:;<=>INSTALL COMNS100MSG J?@ABCDEFGHIJKPREPARE SUBLADV SUBMHRZ SUBNHRZ100 SUBOADV100 SUBPNSASM2 ASMrQRSTUVWXYZ[\]^_`NSASM1 ASMpabcdefghijklmnoNS100 pqrstuvw COPYRIGHT(C) 1980 MICROPRO INTERNATIONAL, SAN RAFAEL, CALIFORNIA, USA. ALL RIGHTS RESERVED. WordStar 3.00 Message Texts "Rm )L hge!!"#$2.()<)&''n)*%+-../////>0l00001,/W00RmRmA$Rms"w$%"&23C333344444445Rm425555.6N6Rm$";QJN'igW]VURm1QRmRmRmRmRmRm8-Z6-C.+0Rm...6Rm6666666Rm67Rmg7q7777'8m8Q9l99Rm99Rm:1:\::::::::;2Rm;5;Rmb;Rm;RmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRmRm󭭭 | 堠 |  L Change logged disk drive | | R Run a program  F File directory + | P  | X EXIT to system  H Set help level | |  孭 | E RENAME a file |  D Open a document file | O COPY a file | M Run MailMerge  N Open a non-document file | Y DELETE a file | S Run SpellStar  form | (from Main only)  ^A word left ^F word right |DEL chr lf| ^V INSERT ON/OFF |^J Help ^K Block  ^E line up ^X line down |^T word rt|^L Find/Replce again|^Q Quick ^P Print  筭 |^Y line |RETURN End paragraph|^O Onscreen  ^Z line up ^W line down | | ^N Insert a RETURN |  ^C screen up ^R screen down| | ^U Stop a command | CURSOR: ^A=left word ^S=left char ^D=right char  ^F=right word ^ENSADV xyz{|}~NSADV100 DEMO-100TXT < < < N O - F I L E M E N U > > >  D Open Document File | Y DELETE a file | H Set HELP LEVEL  N Open Non-document File | E RENAME a file | L Change Drive  X EXIT to System | O COPY a file | R Run a program  F Directory + | P   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  M Run MailMerge S Run SpellStar < < < N O - F I L E M E N U > > >  For maximum help (full menu display),  select Help Level 3 by typing ^JH3.  This message will clear when a key is pressed.  TO HYPHENATE, PRESS -. Before pressing -, you may  move cursor: ^S=cursor left, ^D=cursor right.  If hyphenation not desired, type ^B.  < < < M A I N M E N U > > >  | | |  ^S char left ^D char right |^G char | ^I Tab ^B Re=up line ^X=down line  SCROLL: ^Z=up line ^W=down ^C=up screen ^R=down  DELETE: DEL=char left ^G=right ^T=word ^Y=line  OTHER: ^V=insert off/on ^I=tab RETURN=end para ^U=stop  ^N=insert a RETURN ^B=reform ^L=find/replace again  PREFIX KEYS ^Q ^J ^K ^O ^P display additional menus  ^Q PREFIX (to cancel prefix, press SPACE bar)  CURSOR: S=left Side E=top X=bottom D=right enD line  R=beginning file C=end file 0-9,B,K,V,P=to marker  SCROLL: Z=continuous up W=continuous down  DELETE TO END LINE: DEL = left Y = right  FIND, REPLACE: F=Find a string A=find And substitute  REPEAT NEXT COMMAND: Q=repeat until key pressed < < < Q U I C K M E N U > > >  | | |  S left side D right side |Y line rt|F Find text in file | (from Main only)  E topbandon  MARK BLOCK: B=Block start K=blocK end H=Hide/display  BLOCK OPERATIONS: V=moVe block C=Copy block Y=delete block  ADDITIONAL FILES R=Read file W=Write block J=delete file  & PRINTING: O=cOpy file E=rEname P=  DISK & DIRECTORY: L=Log disk F=File directory + MISC: 0-9 = set/hide place markers N=columN move * < < < B L O C K M E N U > > >  砠 | | 堠 | in File  V=subscript T=superscript Y=ribbon color change  S=underScore B=Boldface D=Double strike  A=alternate pitch N=standard pitch X=strikeout begin/end  O=non-break space F=phantom space G=phantom rubout  C=pause H=overprint char RETURN=overprint line  Q,W,E,R=user printer controls SPACE=cancel prefix < < < P R I N T M E N U > > >  젠󠭭 | 砠 | ormatting commands  S=line Spacing C=Center cursor line F=margins/tabs from line  L=Left margin X=margin release E=soft Entry #  R=Right margin W=Word wrap   D=, ctrl dspy%  I=set tab stop J=Justify ! P=Page display (  N=clear tab V=Var tabs " T=ruler display&  G=para tab H=Hyphn-Help$ SPACE=cancel prefix < < < O N S C R E E N M E N U > > >  󠦠 | 堠 | 󭭠 | | |  H Display & set help level |S Status line | (from Main only)  B Paragraph reform (CTRL B)|R Ruler line |^J Help ^K Block  F Flags in rightmost column|M Margin & Tab |^Q Quick ^P Print  D Dot commands, print ctrls|P Place markers|^O Onscreen  |V Moving text |Space Bar returns  | |you to Main Menu. < < < H E L P M E N U > > > scrn X bottom scrn |DEL lin lf|A Find & Replace |^J Help ^K Block  R top file C end file |L Find Misspelling |^Q Quick ^P Print  B top block K end block |Q Repeat command or |^O Onscreen  0-9 marker Z up W down | key until space |Space Bar returns  P previous V last Find or Block | bar or other key |you to Main Menu.  ^K PREFIX (to cancel prefix, press SPACE bar)  END EDIT/SAVE: D=Done X=done,eXit S=Save,reedit Q=a  S Save & resume | B Begin K End | R Read P Print | (from Main only)  D Save--done | H Hide / Display | O Copy E Rename | ^J Help ^K Block  X Save & exit | C Copy Y Delete| J Delete | ^Q Quick ^P Print  Q Abandon file | V Move W Write | 렠 | ^O Onscreen  | N Column *|L Change logged disk| Space Bar returns  0-9 set/hide 0-9| |F Directory+| you to Main Menu. ^P PREFIX: Put Control Character  (begin and end) | (one time each) | A Alternate pitch | (from Main only)  B Bold D Double | H Overprint char | N Standard pitch |^J Help ^K Block  S Underscore | O Non-break space | C Printing pause |^Q Quick ^P Print  X Strikeout | F Phantom space | Y Other ribbon color|^O Onscreen  V Subscript | G Phantom rubout | 󭭠 |Space Bar returns  T Superscript | RET Overprint line | Q(1) W(2) E(3) R(4) |you to Main Menu. ^O PREFIX: on-screen f  L Set left margin |C Center text |J Justify !| (from Main only)  R Set right margin|S Set line spacing |V Vari-Tabs"|^J Help ^K Block  X Release margins | |H Hyph-help$|^Q Quick ^P Print  I Set N Clear tab| 󭭭 |E Soft hyph#|^O Onscreen  G Paragraph tab |W Wrd wrap |D Prnt disp%|Space Bar returns  F Ruler from line |T Rlr line&|P Pge break(|you to Main Menu. < < < H E L P M E N U > > >   | |  H Display & set the help level | S Status line | (from Main only)  B Paragraph reform (CONTROL-B) | R Ruler line | ^J Help ^K Block  F Flags in right-most column | M Margins & Tabs | ^Q Quick ^P Print  D Dot commands, print controls | P Place markers | ^O Onscreen  | V Moving text | Space Bar returns  | | you to Main Menu.  ^S=delete character ^Y=delete entry ^F=File directory  ^D=restore character ^R=Restore entry ^U=cancel command  TYPE ^KP TO CONTINUE PRINT  TO RETURN CURSOR TO POSITION BEFORE SAVE,  TYPE ^QP BEFORE TYPING ANYTHING ELSE.  TYPE 1-9 TO VARY SPEED, SPACE TO STOP *** WARNING:  WRONG VERSION OF WSMSGS.OVR --  SOME MESSAGES MAY BE INCORRECT. *** *** WARr enter one or more of:  number=repeat count, B=search Backwards, W=whole Words only, U=ignore case, N=replace w/o asking, G=replace in entire file. To search for misspelled words, enter one of the following - RETURN=search forward, B=search backward, G=from start of file:  F - Fix word D - Add to dictionary  B - Bypass word S - Add to supplemental dictionary I - Ignore word  HELP LEVELS  3 all menus ctory of the Logged Disk.  THE LOGGED DISK DRIVE IS NOW  NEW LOGGED DISK DRIVE (letter, colon, RETURN)?  Use this command to create and alter program source files  and other non-documents. Word wrap defaults off;  tabbing defaults to fixed (TAB chars in file; 8-col stops);  page breaks not shown; hi bit flags not used in file.  For normal word processing uses, use the "D" command instead.  Use this command to create a new document file,  or to initiate alteraY TO  PERMIT SIMULTANEOUS EDITING AND PRINTING.  CAN'T EDIT A FILE WHILE MERGE-PRINTING --  FINISH OR ABANDON MERGE-PRINT BEFORE EDITING  FINISHING PRINT BEFORE EXIT  (type ^U to cancel exit command) ... FINISHING PRINT OF SAME FILE BEFORE SAVING  (Type ^U to cancel Save command) ...  FINISHING PRINT OF .BAK FILE BEFORE SAVING  (Type ^U to cancel Save command) ...  ABANDONING UNCHANGED  ABANDON EDITED VERSION OF INVALID  NAME:    NOT FOUND NG: You are printing the same file as you are editing.  The last saved version will be printed, not reflecting un-  saved changes. Furthermore, WordStar will not allow you to  save the file being edited while the print is in progress.  END EDIT (^KD) BEFORE STARTING PRINT.  YOUR SYSTEM DOES NOT HAVE ENOUGH MEMORY TO  PERMIT SIMULTANEOUS EDITING AND PRINTING.  TOO LITTLE MEMORY FOR MERGE-PRINT  *** PRINT OUTPUT DISK IS FULL. PRINT PAUSED. *** THAT PLACE MARKER NOT SNING  SCREENS OVER 48 LINES HIGH OR 120 COLUMNS WIDE  HAVE NOT BEEN TESTED AND DEBUGGED. PROCEED WITH  CAUTION; REDUCE WIDTH IF BUGS ENCOUNTERED. *** WARNING: DISK FULL,  DELETING OLD .BAK FILE TO MAKE SPACE  (NORMALLY, THE PREVIOUS BACKUP FILE IS DELETED  ONLY AFTER EDIT IS SUCCESSFULLY COMPLETED).  CAN'T DISPLAY PAGE BREAKS IN A NON-DOCUMENT FILE *** WARNING: WORD TOO LONG TO FIT MARGINS  PUT AT FILE BEGINNING FOR CORRECT PAGE BREAK DISPLAY  Normally press RETURN only, oand explanations displayed  2 main editing menu (1-control-char commands) suppressed  1 prefix menus (2-character commands) also suppressed  0 command explanations (including this) also suppressed  CURRENT HELP LEVEL IS  ENTER Space OR NEW HELP LEVEL (0, 1, 2, OR 3):  The LOGGED DISK (or Current Disk or Default Disk) is the  disk drive used for files except those files for which  you enter a disk drive name as part of the file name.  WordStar displays the File Diretion of an existing document file.  A file name is 1-8 letters/digits, a period,  and an optional 0-3 character type.  File name may be preceded by disk drive letter A-D  and colon, otherwise current logged disk is used.  WARNING: You are editing the same file as you are printing.  WordStar will not allow you to save the edited version  until the print has completed or has been abandoned.  ALLOW PRINT TO FINISH BEFORE EDITING A FILE.  YOUR SYSTEM DOES NOT HAVE ENOUGH MEMOR Now printing file  "Y" TO ABANDON PRINT, "N" TO RESUME, ^U TO HOLD: PRINT?  For default press RETURN for each question: START AT PAGE NUMBER (RETURN for beginning)?  STOP AFTER PAGE NUMBER (RETURN for end)?  NUMBER OF COPIES (RETURN for 1)?  DISK  OUTPUT (Y/N):  OUTPUT  NAME?  USE FORM FEEDS (Y/N):  SUPPRESS PAGE FORMATTING (Y/N):  PAUSE FOR PAPER CHANGE BETWEEN PAGES (Y/N):  Ready printer, press RETURN: WARNIETBLOCK BEGINNING NOT MARKED  (OR MARKER IS UNDISPLAYED)BLOCK END NOT MARKED  (OR MARKER IS UNDISPLAYED)BLOCK END MARKER BEFORE BEGINNING MARKERBLOCK TOO LONG -  MOVE OR DELETE IN TWO SMALLER BLOCKSCURSOR NOT IN RANGE FOR COLUMN MOVE/COPYCOLUMN READ / WRITE NOT ALLOWED THAT FILE EXISTS ON DESTINATION DISK.  DELETE EXISTING FILE FIRST,  OR USE A DIFFERENT DISKETTE.DISK FULLINVALID COPY LENGTHADDRESS IN "HOLE" (TSTADR)MEMORY FULL (MAK256)MEMORY SHORTAGE (MKSP)POINTER > 64K FROM CURSOR (PPTOAD)NOT ENOUGH MEMORY  OR YOUR OPERATING SYSTEM IS NOT  RELOCATED TO MAKE ALL RAM AVAILABLE DISKETTE DIRECTORY FULL CLOSE FAILURE -  SYSTEM FAILURE, OR YOU CHANGED DISKETTES RENAME FAILURE -  SYSTEM FAILURE, OR YOU CHANGED DISKETTES INVALID SCREEN HEIGHT OR WIDTH  MESSAGE  Can't edit a file of type .BAK or .$$$  -- rEname or cOpy before editing BAD OVLY #BAD OVERLAY FILE, OR  WRONG VERSION OVERLAY FILE Overlay file  Not Four name of file  containing words to add to or delete from dictionary.  FILE  ALREADY EXISTS  FILE  NOT ON SAME DRIVE  TOO LITTLE MEMORY TO COPY WHILE  EDITING OR MERGE-PRINTING  FILE  EXISTS -- OVERWRITE? (Y/N): FILE  IN USE BY WordStar   P=   Press space bar after reading screen: *** Invalid Dot Command Ignored: *** File Not Found *** But found, and will use, *** Cannot change disk in drive , request ignored Insert diskette with see manual for more.  DOT COMMANDS are special lines beginning with a period and  a two-letter code. They control page breaks, headings,  page numbering, page layout, etc. Dot commands are  typed in like other text.  Space bar for DOT COMMAND SUMMARY, ^U to return to editing:  ***** Dot Commands *****  PUT EACH DOT COMMAND ON SEPARATE LINE, WITH . IN COL 1  .PA new PAge  .CP n new page if less than n lines left on this pa  .PL n Paper Length: total number of lines (default 66)  .MT n Margin at Top: # lines, top paper to text (3)  .MB n Margin at Bottom: # lines, end text to end paper (8)  # lines text on page is PL - MT - MB (defaults to 55)  .HM n Heading Margin: blank lines between head and text (2)  .FM n Footing Margin: blank lines, text to footing (2)  FOR PAGE BREAKS TO DISPLAY AS THEY WILL PRINT, USE  .PL,.MT,.MB, AND .LH (next frame) AT FILE BEGINNING ONLY.  Depress space b, e.g. for tabular material:  Put .UJ OFF before table, put .UJ ON after table.  Space for next frame, ^U to return to editing:  SPECIAL CHARACTERS in HEADINGS (.HE) and FOOTINGS (.FO):  # prints as current page number  \ do not interpret next character as a special character  ^K do not print following spaces if on even-numbered page  PAGE NUMBER POSITIONING: If a footing text is specified (.FO  dot command), the default bottom center page number is not  prnd FILE  NOT FOUND  (The seperately sold file   is required for use of chosen function.) NOT FOUNDPROGRAM IS AN EMPTY FILE!?PROGRAM TOO BIG FOR  MEMORY AVAILABLE UNDER WordStar LET PRINT COMPLETE BEFORE RUNNING A PROGRAM  NOT ENOUGH MEMORY TO USE "RUN PROGRAM" COMMAND  File  Not Found --  Can't Run a program unless  is available.  For spelling check, enter name of file to be checked.  (^R for last file edited)  For dictionary maintenance, ente file then press RETURN: *** No .DF before .RV: *** WARNING: Overlong data value truncated *** Invalid variable name in .RV command ignored *** WARNING: Data exhausted, null value(s) used ***** Print Directives *****  PRINT CONTROL CHARACTERS may be entered anywhere in a line  to invoke underlining, boldface, subscripts, pauses, etc.  They are entered by typing ^P and a letter. A directory  of most print controls is given on the ^P PREFIX MENU;  ge  .OP Omit Page numbers when printing, starting this page  .PN print Page Numbers, starting this page (default)  .PN n set Page Number to n, print page numbers  .PC n Page number Column (default 33 (30 if 64-col screen))  .PO n Page Offset: extra indent when printed (default 8)  .. text comment, not printed  press space bar for next frame:  .HE text HEading used until next .HE (default blank)  .FO text FOooting (replaces page number) (blank)ar for next frame:  THE FOLLOWING WORK ONLY WITH INCREMENTAL PRINTERS:  .LH n Line Height in 48ths of an inch (default 8)  .CW n Character Width in 120ths of an inch, for standard or  alternate pitch, whichever is in use (see ^P menu).  (default 12 for standard, 10 for alternate)  .SR n Subscript / Superscript Roll in 48ths of an inch (3)  .UJ OFF/ON "MicroJustification" off/on (default ON)  Use insure that printed column alignment exactly  matches screeninted. Use a # in heading or footing to position page  number where desired. ^K followed by spaces followed by #  may be used to produce alternating left/right page numbers.  Space for next frame, ^U to return to editing:  ***** Merge-Print Dot Commands *****  .DF filename specify Data File for .RV  .RV name,name,name,... Read Variable values from data file  .AV "prompt",name Ask operator for Variable value  &name& anywhere in doc't prints as variable value. variable names are letter then 0-39 letters, digits, -'s. .FI filename Insert document File  .DM message Display Message  See manual for details and additional commands. Merge-Print  is an optional feature, operational only if MAILMRGE.OVR is  on your diskette. Press any key to return to editing:  ***** STATUS LINE (top line of screen) *****  ^JS at left end of line is command now executing  A:NAME.TYP is name of file you are now editing  Pop typing. Press space bar:  If page break display is OFF (^OP command) or edit  was started with N command, then Status Line shows  FC=nnnn FL=nnnn in place of PAGE n LINE n .   FC=nnnn cursor position in characters (bytes) from  beginning of file  FL=nnnn cursor position in file lines from beginning  of file, including dot command lines   space bar:  ***** FLAG CHARACTERS (rightmost column of screen) * after end of document press space bar:  COMMANDS TO -- ARE --  move cursor on main and ^Q menus  scroll file up or down on main menu; also find (^QF)  delete text on main and ^Q menus; also ^KY  move or copy text on ^K menu  end edit / save file ^KD; see ^K menu  print (while editing) ^KP  set tabs and margins on ^O menu  reformat text ^B; ^JB gives info  find a string; replace ^QF; ^QA; ^L repeats last n margins, tabs, table entry, outline entry. press space bar after reading:  ***** TO MOVE A BLOCK OF TEXT *****  1. Put cursor on first character, type ^KB to mark start.  2. Put cursor after last character, type ^KK to mark end  (for end line, use start next line to include RETURN).  3. Put cursor at destination, type ^KV to move the text,  or ^KC to make a duplicate copy.  To undisplay markers afterwards, use ^KH.  ^KB and ^KK may be enteredsired justification (^OJ) & line spacing  (^OS), place cursor at paragraph beginning, and type ^B.  To obtain WordStar's help in hyphenating long words, place  cursor at beginning of paragraph and type ^B.  press space bar for more:  ^B reforms lines to end of paragraph as indicated by "hard"  carriage return (< in rightmost column).  Thus, it is important not to use RETURN between lines  within a paragraph when entering text.  ^B may be used to form hAGE n is page number of cursor (disregards .PN's)  LINE n is printout line on page of cursor position  COL n is printout column on line of cursor position  INSERT ON shows if character insertion is on (^V command)  MAR REL shows if margins are released (^OX command)  decimal shows during decimal tabbing  LINE SPACING n shows if line spacing is not 1 (^OS command)  PRINT PAUSE shows if printer is stopped (^KP to resume)  when WAIT appears, st****  < line ends in "hard" carriage return, entered by user  space this line break arose from word wrap or paragraph  reform, and may moved on subsequent reform  + this line of document continues on next screen line  - next line will overprint this line  ? unrecognized or incomplete dot command  M Merge-Print (optional feature) dot command  P page break  : this screen line is before beginning of document  .  press space bar for "entering text":  ***** ENTERING TEXT *****  To enter text at cursor position, just type the text.  Use RETURN key for paragraph end or other fixed line break;  let word wrap form lines within paragraph.  Type ^V to turn insertion off (to overtype) or back on.  ^N may be used to create blank lines ahead of cursor,  as before inserting a paragraph.  Use ^B to realign margins after corrections.  ^JM shows info o in either order, with or without  other intervening commands.  All above commands are on ^K menu. press space bar:  ***** PARAGRAPH REFORM (^B) *****  To realign margins of a paragraph after corrections, place  cursor at beginning of paragraph and type ^B.  To change margins of paragraph already entered, set margins  (^OL, ^OR), place cursor at paragraph beginning, type ^B. To change between justified and ragged right, or change line  spacing, set deanging indents, change margins in  mid-paragraph, etc. The exact rule is:  "^B starts on the cursor line, at the left margin col-  umn, or at the cursor position, whichever is farther  left, and proceeds to the next 'hard' carriage return".  press space bar:  ***** Hyphen-Help *****  ^B will occasionally stop before the end of the paragraph  and ask you whether you wish a word hyphenated.  Following the instructions that appear on the screen, move  the cursor if desired to adjust the hyphen position,  then press "-" to hyphenate, or ^B to not hyphenate.  To turn off "hyphen-help", type ^OH.  press space bar:  ***** MARGINS *****  To set left margin: Type ^OL. WordStar will asks for column.  Type desired column number 1-240 and press RETURN.  Or, to use column of cursor in file, just press ESCAPE.  To set right margin: type ^OR, proceed as above.  To set both margins to match text for ragged right format),  or to turn justification back on: type ^OJ.  Line spacing and justification settings apply to text  subsequently entered; they may be applied to previously  entered text with the paragraph reform command (^B).  press space bar for "Tab Stops":  ***** TAB STOPS *****   To set a tab: type ^OI. WordStar will ask for column number.  Type column number and press RETURN. Or, to use cursor  column, press the ESCs.  If not at end file, turn on insertion (^V),  or use ^N to make blank lines.  Tab (^I) after entering each table item. After last column  on a line, tabbing will move to first item on next line.  space bar:  OUTLINE FORMAT TEXT ENTRY -- We Suggest:  Set tab stops at desired indentations.  Set right margin as desired.  For each item:  Type ^OG's as required for item number indentation.  Type item number.  Type ^OG.  press space bar after reading:  ***** PLACE MARKERS *****   Up to 10 place markers, identified by numbers (n) 0-9,  may be set in a file while the file is being edited.  To set place marker n at the cursor position: type ^Kn.  will display to indicate the marker position.  To return the cursor to place marker n: type ^Qn any  time during the same edit.  To remove the from the display: type ^Kn when the  cursor is already at the source of text for last block move or copy.  press space bar:  IF THIS DISPLAYS YOU ARE USING WRONG VERSION OF WSMSGS.OVR se markers can be moved (^KV), copied  (^KC), deleted (^KY), or written to a file (^KW).   ^QP moves cursor to its position before preceding command.   ^QV moves cursor to start of last find/replace, or to  in a line already entered:  place cursor in that line, type ^OF.  To temporarily set left margin to next tab stop: type ^OG.  Margins apply to text subsequently entered. To remarginate  text already entered: set margins and use ^B.  press space bar after reading:  ***** LINE SPACING AND JUSTIFICATION *****   To set line spacing: type ^OS. WordStar will ask for line  spacing. Enter a digit 1 thru 9.  To turn justification off (APE key. To set a decimal tab stop,  type "#" before typing column number or pressing ESCAPE.  To clear a tab stop or all tab stops: type ^ON.  To tab: type ^I, or press TAB key if present. Tabbing  inserts spaces to next tab stop if insertion (^V) is on.  Tabbing advances cursor over text if insertion is off.  press space bar:  ENTERING A COLUMNAR TABLE -- We Suggest:   Set a tab stop for each column of table.  Clear all other tab stop Type text of item, without using RETURN.  At end of item, press RETURN. Left margin resets.  Press RETURN again if blank line desired.  press space bar:  ***** RULER LINE *****   L----!----!----!----!----!----!----!----!---------R   L Left margin (set with ^OL)  R Right margin (set with ^OR)  ! regular tab stop (set with ^OI, clear with ^ON)  # decimal tab stop (set with ^OI, clear with ^ON)  - other positions between margins  marker position.  press space bar:  ***** OTHER MARKER & RELATED COMMANDS *****   The block beginning marker, ¾, and the block end marker,  ˾, are set and moved to in a similar manner; the  text between these markers can be moved (^KV), copied  (^KC), deleted (^KY), or written to a file (^KW).   ^QP moves cursor to its position before preceding command.   ^QV moves cursor to start of last find/replace, or to  -,ó -  COPYRIGHT (C) 1981 MicroPro International Corporation  MicroPro WordStar release 3.00 serial # XG7995TZ  no terminal yet selected  I/O Master / O.E.M. Printer   ">$2PP=   @ k  e>@ddvgggggBDDF-hCenk<Ie uh fie  Bj Kj 0!j 1"j 2#j 3$j 4%j 5&j 6'j 7(j 8)j 9*j     2 0.         i)       "$6& (*,.08:H4       (C))00n   Print a file РԠ Š *** FATAL ERR F25: NOT ENUF MEMORY $ File  not found. Menus &  messages will display as @@@@ only.  WAIT  PRINT\PAUSED merge-printing\ \editing\no\file\ ڽ ׽ *** Press ESCAPE Key *** INTERRUPTED***  E*** I***   F: G! e~x7*`;:Z;e*h;*\;R| !͎ "w;!"~;";#"|;Q MT] MBc HMi FMo CWu PC PO} PA CP PN OP HE FO !Z;>-w n!v;>< ![;-9 !_;T !g;T !c;T !k;T c >< !r;-\ !t;-Ғ \ -> V>2A;ͧ%ڼ ͑"K;uâ *; *;>oGw#%  % w#- 6> ͧ% !> ONOF͗%]% 4}ͧ% g%MCg ͆| !4sx:Ê͌>2B;!Q;~6͌ڥ:4!B;6>[:4!_; !;͵*;!|;͵!y;õ*<;*K;zĎ>2C;>*M;_:Z;<=*w;͎:4:4[}> [G!P;~6!4x!r;^Gz4x!0GO!P> W>~a>- S }!O;~<> STk ‹!"O;F F*Z;&*M;"M;*\;͎*M;|͑!"M;*K;#"K;2Q;u*Z;>*v;> :4*M;|:3;*\;‹͑> [*M;|ñ TW͔ J.S!O;~-5R;!G̞#~^T@!O;4!͌ڈ:4<:4/!4!D;6> ̜͜:C;7*K;*:;Î'ͪÜNħ >2D6ç ['ͧ ͪ¾Ņ ͪħ :4ͪ<:4IxB@ @..Y[]{}AEIOU.:+-JP dccdxdBjKjPjVj0j1j2j3j4j5j6j7j8j9jk-__7777w nw?VWx2z7W:Go~~56   YZRCDTTVV2CCTTBT2STTTTTTTTTTCBTTTTVUUUVUUVVSSVUfVVTVVTUVVgVVUTVTVUTTTTTTSTTRRTRfTTTTSSSTTfTTTTVTVU 6NIQYdXfjly%27?QXivYN @@@@ on () off () INTERNAL ERRORFATAL NAME OF  TO FILEMERGE-~2y;#^#V## 2;~2y;+~2};##{l"z;R|";"z;O:Z;!<=O G q#s#r#ww#Gw!o;~#m #~ͪ*C6|/!N >2D6êo ͪ*C6|/ͧ ê*E;!9"E;Ê:B6C M ";ͧ 2 :C; x~>2 x:;*;";";ͼ*;͎. o ;2 "; ͧ !;w[wÎR R *@;W{k z!!4ʮ zy > W_ !Q;zV#>2@;{ ȯ2@;͌ x~ #à !9"G;! ]% >*G;:B6 "C:B6%C LH7 SRI UJ BPPL͆|*w;͋!g; )!y;͵3!|;͵> :7*;#~+:A;͑:o;G!t;z*K;|f} > :Ͷ42o;u"I;!Y; :+ <*I;"I;!R;~ :# <›Ì:i> :> ;#~+͑:o;G~4#~i\#~i.# *K;Ͷ .:K;#~i  +:!o:2;}X>:2;:o;c >!o;w:2;~q>n>[c o>^#~4> [Á*M;:3;ʠR|:Z;e͎:Q;Ì:3;N#{ ʘ> :> [> :+|#>Ø!".g|,->'Ng:;;!"B6"D6<=G:E67J*;~7Jp#~d_x2::;*:*:::g" ;yHG*:::g":::o&{2:y: ;ey_! ;*6;R:: ‚> ڲ!e::~œ=<<*6;-ʰҮ<>d lx_gQy2;:; !;4!;4x*;::e";͵";!;4::#4!;4x!::*;e";!;x *;*#;"#;*;*;͵";!";";";!;~6py_!";";͵";!;4~!!;4!;~::5*;"#;:;!;2;*;";*;|:#;*;)::G$%==xxy2&;>2'; :6;=|g}o|*#;&*6;**;R"*;";:ī͗ͻ͗͢Cs\ͫ -\ͫs\͢s\*;"0;:;UͫcͲ*;".;*;)*!;T]:: ڈ:ʐ*;Î*#;&*;*$;,;ͻͻ*!;(;*;&;*;R|";:6;w#~w+͎  ~# 687<>|&*7"787ͼ):7_71*`5!~! 8~!:7!7~6_7''<>|&Ð!eɷ v&do>!#{ |<ʎs#rɯ7Ê>G!"{}O)|! !!~6w<x7z! q#~w['^#V#o ͸:ͳ *7+wF*|#6!26:?ͺÊ>X:VͽÊ>!*ey!5w+~#wz.!5"5"5P. G:a5Oxͱ:I x  yON#F ܔ ͱp+q ͔!o *7:IO&:H=! D3#:c5N%# H +9 .`ͫ" ? !!!!a5 È*`5>+,&í":`5 *`5-í">o͜:+A ]!*7~G:7w26 "7:[5>!:!*`5#!6~\!5*7~w27*`5ͫ":6o&{!͔!*`5͎ī"ͪ*6:6o*`5}ͧ!o!6:!<=:!g=!÷!÷!:c5~<=#~ͳ !!0:H=!:I"=O3#:c5T"~ &"# "ye +~ ," ~!!m~Į!S"A> ͳ J" 6 # Z"!!!~x"!ͮ!ͥ" *`5"~"!ͮ!ͧ*H-&"`53#!"7:[5{" ":Ͷ!:d#*^\:]"!J#!S#!X626r!$261$r!:1%:1%:1%:1%:GOͪO%:C6I% y̔ x4%ê!%2S%%_:S%W~ʑ%#ʂ%###r%~|%#^#VÓ%g% ʗ% ʗ%!͗%%%0% %T])))_%%%0% ڽ%|7%%x 7 7 77?}8}8}8}8}8U8W8Y8[8]8_8a8c8q8}8e8g8i8k8m8}8}8}8{8}8s8}8u8w8y8}8}8}8}8}8}88}88888888}888}8}8}8888}8}8!Ø&?'ͥ"K'oG-!?'?1͉-:626o!$K'>c31̓͹$26:626!&26%×-!6~6͎O>G  %+~ !!x 6#.$%%$o>gAARDMxɅo|gg}o|g^#V#~#fo# ‚Gz—{xɾ~~/w~ͼ#ä   :.,;?!0?:ɷ @[A?a{['N#w@w#6:#6+Y T6.#Z6 dw# Ys0 {{:|sͥ_:§ {2b5_ͥ=!¼sü):OͥGHGxy"627!74!77!_8ͪͪ*7*͎l!7"J6:77͎?9͎({%}):7=!9=z27!97o >e!9e:͎ç!` .:7*7+##+6!.}1~6/ % ~6 %!!< nU6#~!͜>ͳ 1*5~*5~w#~<!5"5:c5/!Re:B6dbf:C6h:D6j͔$2'$Ù*6G*66*78ʙQc#^#VʏʔQln++O:d5Gyʱ¸:Þ¿>~͙܀ > :a5   >^@ :c5 ̎ !45 ͳ !a5 P H 4*7w#!6*7B +4:H=q :I*7e"7*7eB 5*7 *I&*7[gg> -¤ !!O: y#*`50> XO !X5 ws"g":[5!!!:`G{ʳ  i#d*7*7[*7Ro&U\*7:IOD# C#*+a#}!+y)>26*`5"6 ]$ ]$]$2'!t#ʜ#ʜ#«#*6!ͫ"o#!####U$## #*`5%~!_! #$$#!#$$- $!#45 $>!w)#ʣ)#ʪ)!oy^>Iy <26+q#$:Y5:H$<26262626$_!>ä$o$â$%_!>!`5ͧ!01:6!6$~:`5!6!"6"626262*5~̓!66:7!'!!à&͏G!6~6̀1ͪ:6'o&)&^#Vo&Di:7/!F6ˆ'5:6͎ *`5! ~!~! Î *6|!F6£'o 02F6*7"6':D6ʽ'(:7':C6'V(:B6'((!5((ć`:IO>(!:6*6^(*6^(:6c(>>(:626*7"6'O'G:IPx=(V(*7*6R@(> c(}c(| s(>^c(@!d5\‚(> Ç( ʈ(#*7++*6w͎ڞ(#"6:D6¼(:)ʹ(:f5!6V(0(^#V#(~#c((:&!+!7(26.)!6N61q!6FwO1):6.):&><)26!6.)2626/262654>G1:k5!H4O)~o :7a:61Êͼ):+/y)>!+Fw>2626ó))26 :6Ÿ)26:6<ð):6=26!"626ó)g:7O/ G:+:6)o#}!6Ěx:+ʉ)o *:6=1Ê)!6͚G:6 *!6):6̐):6W:6)_:6!6<*:6´* + @+:6/<_y!6q*U*qy!6ڣ*<26͟,z<26o !6:7ʣ*:6ң*z26ñ*z±*!6U*26*7"6:6O:6G/!((ͥ*6+"6gx/+!(y+*>͡(:I>(:6->26!D6~/++! n1:7M*3.د27R1(:C6 .*7"73126|=Q3#.=b0.^#Vn126262626%>26/.3.26G:7l.x ʸ.?G~ʸ.|.o.#~ʼ.:7<#^#V++̂N26.}.26O~ʼ.###~ʸ.#ʡ.è.7#^#V|7!$/*`5o 0\/o .1/6/=r! 1 ` 1`:7133:6!6͚!6͚!6͚*7"7"7>26: /!6ɯ2L62r6~#26~26#"6Ñ1}26|26"6Ñ1~#26~#26"6:6=>$ԕ&ͽ11i`)2^#V*6 *6)))2N!6 :66i`)2^#V#^#V#͇2~#fo)DM!"q#p#N#F2 ~>)v& 2x2x2 2~>'v&#:6>,v&6 >*v&w!6Y2>+v&# N2^#V>(v&!6:6w>&v&͓2!$~v&><Cpy-M67-M6M6 M6M63M6M6#M6M6mM6t55???????????!ͱ6!Sͱ6ͩ6You are trying to run an uninstalled WORDSTAR.Please run INSTALL first.-ͩ6 ʹ6͢6~̢6 #ô6Wß,!6452626*7"6:6=+2626͒ͅ,+:626Ħ,Ê:IO *76 #=M+#m+ x GV+:6G*6+F+N <ʙ+"6gʹ++F+N 26Êʹ++++DM>26>.!m,### ʡ+#~¸+  +m,ʴ+26*7"6*76+r+s ͎,:6,,+~w͊,+*6 !i, ~d,#-, :,~Z,\,6.#w#w#> *6<BAINuHEvREwCOxOVy$$z26͌"6g>26j*7ó,#p+qg+F+N <,#Vp+^qBK,+V+^ oʬ,,, ,,,!91C4~!"%/=r!8Í'>260\/ ͑!~!:7Z/!/v~Z/.%Z/6`]͑! ~!)(:7v/1=!60:7]͍'o :6!6͚o:7š/:6o:6/!6ڱ/!6ڽ/o&͔!o !<Ý/Q):6!606}:7G:Y5O*J6|!6/6:6!6ᠡ/6o ‡0($:D6!8:G6!8:610268I0x/I0͖0F0͜!"6o͢$:626:6f0!6~6!8*J6|!"J6͢$:626‡0>26!G6~6ȯ26:IPڣ0!7:E4 ~"8126×-:7O!60w:70:6=0w~=!6)!61)M6M6{s6M6'M6-M6dM6!M6gM6|M6  w3Ô3>e A:)2323:>!+}ˆ3::> A8>V<<2E4!9"C4ͨ<=:l2J:] @:4-:5-*C4͢=!~!!S!Ϳ!%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5*HͿ-=|!]=>o&))))>=goR>.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛ.op OVERVIE of WordStar (for release 3.00) WordStar i screen-oriented CP/ compatible integrate wor processin砠 syste specificall designe fo non-technica personnel Tex an comman function ar full prompted. Vide editing portio o th documen bein entere o correcte i alway show o th CRԠ screen addition an correction ar immediatel displayed. Automati dis bufferingmenus fou user-controlle level provid th learnin operato wit comprehensiv promptin instruction withou th nee t refe t manual Hel level ma b change a an tim t allo ful scree utilization. Director displaythe CP/M file directory is displayed. On-scree printer-imag tex formatting th effec o margi typ (eithe right-justifie o ragged-right an margi setting i displaye o th scree jus a th tex wil appea o paper Th *spac i eac lin i evenl * *distribute. * Word-Wrap eliminate th nee t ente carriag retur a th en o eac line wor to lon t fi a th en o lin i automaticall move t th nex line RETURN i use onl t indicat th en o paragrap o t creat lin space Thi eliminate man keystroke an increase th rat o tex entry. .pa .pn2 Powerfu editin commands prin imag allo eve a inexperience operato t perfor sophisti cate tex composition. Automatic-Centering wit two-strok command tex i automati call centere o line. Automati Backspac Insertion frequently-used backspace/over- prin combination ca b accomplishe withou additiona key strokes i especiall usefu fo foreig languag accent an specia symbols. Hyphen-Help i user-controlle optio tha alert th operato whe th las wor tex i move betwee dis an CP memor withou use intervention Thus fil siz i limite onl b dis capacity Statu line th statu lin display th nam o th fil bein edited th page lin numbe an colum a whic th curso i located an command(s) i any i curren operation. Split-screen usin triple-spli scree WordStar allow hel menu CP/M fil directory an scrollin tex t appea independentl o th screen. Hel tex i automaticall forme t th curren setting a i i entered Eithe settin ca b late changed an th resul "previewed. Bot setting ca b b mixe withi document Selectiv marginatio permit "cutting aroun a illustration (NOTE: Thi paragrap ha ragged-righ margin.) * Microspac justification whe * * printin justifie tex o * *dais whee printer th whit * includ delet character word lin o block set/clea variabl ta stop bloc move copy delet an outpu t disk find fin replace write/rea from/t othe files set/retur t plac markers inser mode and more. Dynami pag brea display horizonta dotte line no par o th text i show o th scree wher printe pag brea woul occur Th pag brea lin i dynamicall repositione whe tex entr o deletio affect pag size Visua edit o o lin i to lon t fit Th locatio o hyphe i suggested Th operato ca choos betwee hyphena tio a th suggeste location o earlie i th word o movin th whol wor t th nex line I late editin eliminate th nee fo th hyphen i wil no b printed. Decima Tab allow column o number (includin dolla sign [$ݠ an commas t b type a easil a operatin a addin machine WordStar wil line-u th decimal automatically Th Europea forma fo decimal an comma i supported. Paragrap Indent temporaril set th lef margi t ta sto s tha document wit multipl indentation (lik outlines ca b type easily. Pagination and formatting: * User control of page length. * User control of top and bottom margins. * Variable heading/footing/page number locations. * Conditional and absolute pagination directives. Heading an Footings flexibl heading and/o folor .fo -#- .LH10 Scripting: Both subscriptan superscript ar full supporte. .LH 8 Prin enhancement ma b use i al combinations Fo example underline an boldface subscript ar possible. Non-displa o prin controls permit examinatio o tex wit displa o prin control suppressed Thus th termina scree wil displa tru prin image. Selectiv Pag Printing permit yo t specif bot th firs an las e b eliminatin file-conten duplicatio o th sam disk (*) Neste printing file printe usin th Chaine Printin featur can themselves contai reference t othe files. (*) Concurren prin function (backgroun printing) printin and editin simultaneously, thus improving operator productivity. Suppor o sheet-feeders command fo controllin pape motio ar execute fro printing-contro code embedde i text bot singl an twin-hoppe mechanisms.e height. (.LH 16) .LH 14 This is an example of variable line height. (.LH 14) .LH 12 This is an example of variable line height. (.LH 12) .LH 10 This is an example of variable line height. (.LH 10) .LH 8 This is an example of variable line height. (.LH 8) .LH 6 This is an example of variable line height. (.LH 6) .LH 8 .heWordStar Overview for release 3.00 Page # of 5 pages .foWordStar Overview for release 3.00 Page # of 5 pagesis a test of variable pitch. (.CW 11) .CW10 This is a test of variable pitch. (.CW 10) .CW12 CRԠ compatibility WordStar' vide edi functio wil operate afte suitabl installation o an CR o vide board 16x64 24x80 o large tha ha curso positionin function an tha i accessibl a CP/M consol device Becaus WordStar control curso movement ther i n nee t us "smart terminal; thus, equipment cost is reduced. Installatio otings wit o without page numbers, are easily implemented. Printe support wid rang o lette qualit an lin printer ar supporte includin Diablo NEC an Qume a wel a teletyp compatibl printers WordStar full utilize bi- directiona printin capability Prin enhancements Boldface Doubl Strike Underline an Strikeout variabl lin height variabl an alternat characte pitch alternat characte se, and alternate ribbo copag s tha onl  portion o documen ca b printed. Multipl cop printing allow th sam fil t b printe mor tha on tim withou constan operato attention (*) Chaine printing serie o file ca b automaticall printe b merel specifyin th variou file b name Thi featur als reduce th tim neede t creat document an i especiall usefu whe "boiler-plate i commonl used Dis storag requirement ar significantl reduc Fil management "copy an "rename are WordStar function. Progra Execution allow progra (suc a a operatin syste utility e.g STAT t b executed wit automati retur t WordStar Eliminate the nee t exi t CP/M. Variabl lin height is use defined and easily changed .LH 20 This is an example of variable line height. (.LH 20) .LH 18 This is an example of variable line height. (.LH 18) .LH 16 This is an example of variable lin Variabl characte pitch th pitc o printe cop i determine b th use (pica elite o you choic o numbe o character pe inch) Wit combinatio o typ wheel an prin commands wid variet o prin characteristic ca b obtained. The examples below were all printed with a 10 pitch type wheel: .CW19 This is a test of variable pitch. (.CW 19) .CW15 This is a test of variable pitch. (.CW 15) .CW12 This is a test of variable pitch. (.CW 12) .CW11 This program automaticall generate versio o WordStar fo us o mos popula terminal an printers allow optimu dat transfe t printer Thus equipmen change don' caus delay inconvenience o additional softwar expense. MailMerge i powerfu fil mergin tool I i a optiona module an ca b purchase a an time I i ver eas t use. MailMerge ca tak dat fro on fil an combin i wit anothe fil containin text insertin th dat wher variable ar specified Th operato ca als specif additiona dat a prin time Re-formin i automati whe variable appea mid-paragraph ther ar n "telltal spaces usuall evidence b mos othe word- processin programs Becaus eac fiel i dat fil mus b "acknowledged, bu no necessaril used MailMerge ca selectivel prin dat i virtuall an format Thus th sam dat fil use t prin letter ca b use t nl portio o th tex o eac o severa lines Thus colum o figure ca b adjuste horizontall withou addin o removin space lin a time full- widt tex ca b re-forme t 1/ o 1/ pag堠 margi widths an䠠 th堠 resul manipulate䠠 t produc multiple-colum product Column-Mov ca eve b use t easil ad line t progra listing. *** Horizon prio t printing pressin th ESCAP ke wil caus th remainin question t b bypassed. *** Additiona Patchin Areas Label accessibl throug INSTAL hav bee expanded Now defaultin t non-documen mode disk-rese enable an othe function ca b toggle withou nee fo th customizatio notes. *** Additiona Terminal Supported Th numbe o栠 terminal tha ca b tiona aid th WordStar_Training_Guide Th Guid provide graduate instruction i self-teachin砠 format Th堠 tex i substantially job-oriented an stresse th applicatio o variou WordStar features. tatio ha bee re-written an i easie t understand I addition w hav develope instrucprin custome lis (wit accoun numbers contac name etc. an als mailin labels. Use i conjunctio wit simpl applicatio program MailMerge ca als b use t creat graphs an othe visuall effectiv devices. (* Feature availabl wit MailMerge.  Ne Features: *** Column-Move Th Block-Mov functio ha bee enhanced Now yo ca perfor al bloc렠 operation o colum o栠 text affectin otal-Scrolling WordStar n longe "wraps tha portio o lin tha exceed th CR scree width Now yo ca control "window an vie th tex exactl a i wil appear Thi i particularly usefu whe preparin report tha excee th widt o a 8-1/2 wid page. *** Printin Promp Bypass Onc non-defaul respons ha bee give t th question aske use䠠 withou patchin砠 ha bee expanded Al젠 ADD terminals th IB 3101 an others ar no supported. *** Multiple-Users WordStar ca no mor effec- tivel b use wit Digita Research' MP/M. *** Ne Menus To support all the new features. *** Ne Documentation Th documentatio ha bee re-written an i easie t understand I addition w hav develope instruc COPYRIGHT (C) 1981, MICROPRO INTERNATIONAL, SAN RAFAEL, CALIFORNIA, USA. ALL RIGHTS RESERVED. WordStar release 3.00 overlay file number 1. overlays for no-file commands and editing  NOSEY, AREN'T YOU?   Bý<>AE>x ʡ</{/:<><26;!:: *;<6#";=Ao!:ͥ>*:ͮ>9?F#>.?J=~ O#x͡?{?> ͡?":";{2:!:::;2;!2>!:ͥ>*:\A*:::_>G{ʛ?H>G>y”?ʕ? O>xF͡?w?*:\A2 ;WG ҙ@ʙ@ʙ@?2;:?:?:?q>2;@@@>@A?::=$@<<=͖B@9@¢2:>3@N@?::)>@!:1A#yHͿ@::x :=*6;>AͿ@î@Q::@:::=@@z@z ::: @::: ! ZtppýpÜshse !.; ?DELETE? RENAME? NEW NAME? COPY FROM? COPY TO ? jq p'$:Y5!88:Y508͹$02Y526$:Y5!88ͥ!6+͟$:626%8͹$!S5L#ͤVq@_#~:Oq#ͤ^qp&q>͍ͩs{é7!4k$%Ñq!p~Žq4w#…qp~#͹$O*+*`5"6?1"6*6~!͔$a#͟$~^ry:7ĥGrrrrr8y=qͩ$8îqyr̈́rs`t!͎tt!8"J67:77Z1tt!75t!7#͎+Mẗ́twt2G6pvtLp::2J:v2:Z1$24: 7«p#8rs(%÷p%8xss2'vpp6sp87p2726:+2_5:^5y)[-'Cq:6 q\!s#.:*? пͤ#~+:1s~1s@##ͥ7$:C6 tKsͱ$8Zs:C6tmsͱ$8.͔ 2':C6]sͱ$.pxs.0p!4:4̎sù$~ʤs ʤs.#ʧsÑs6.#7 ʹsw# ¬s+~.s#6Ê*ps!s#~͹$2'*7*7R!)͎?!=8"J6!_7t!:; ͂7?YA A A AL>@ !> :=%>:=A6#J= J=~*:::O ~!:ͥ>!":*;ͮ>========!=F6#>=J=~6# Ox͡?ç=":!::!;".2;::?Y>͡2:2:AWo x4>!:~6)>::ͪA2E6W>2:2;:;!:’>*:*:R*:>*:>͎Ғ>2;?T?ͪo:J= > +~<>*;++~:>>>>>ġ?#BZBZBZB*;#";o*:&K>A~1APYÞ*A*:&:;HAK*:":*:":!*:REAK*:":*:*9<|R":::_jA*:|*9 –B>!,<*:-,=AҵBAÙB!";0qy(r!7r8îq(r8îqy\r̈́r®q\r8͹$2'!Ur#~®q͔$}!+y)8ͩ$8îq!M6r:7ʦr!:r!vr!87r:C6ʾr!;r:4!;r# ͂8þrկ rMss.r#s sͤ71s&s s1ss>  's~2pGOy*77sx25G*B6|!8s:C6s$:Y5r!8͔$:626n$:!4$r,p2JZ1%͹$*+?1*`5"6"6*6~!͔$a#+w#͟$~ʂrͨrږryrsږrGͤ–rxG8x͔$}!+y)8ͩ$8@rկ ®rsr.r#r rͤ7rr rrr>  r~r JpQpWp4EDBACKUP$$$BAKNEW FILE:/25bp͒p͡pOqZ1:4:b2f5>0q:2i52g5:I!ڈp~<2k5>24!vi.>2vC!p ̀ʾp!p ̀p!8"J6×-!v.!6.292F2I2[[-*7"v"7p*7*7R|<2 72 7|D!"7>2 7%q)"7,q2 7!5wȷ!  .>2%!:C6!4̗!:~ͣwv:Jtqw::ʀq>26_7 !p ~87!p  :4=q!CS!7v!4:8:6q6 #:v+!4v8!5~8:4=r!SCv:6v> v&:>(r293r26p(%v!p :50q:+2^5:_5y)͉):C6Ărdr!8"J6:Y5=*J6!a!Z5r5!8"J6;!: ͂7?ɛu pcptp:*/Wͳṗp!vjvLzWvLPj!7I*7:*r̳G31!vPjnpͳpnp,p!vj͇p:*ʤp:Gv2Hvnp&q͆rv2'5k:*ƒqCÐpnp!vj!vj&q7p*7*7Rp!U*v͎> v&31AMG2'o ixg"6!7G*2Iv2DvLs:&vogss&"GvDsnrtst=s͈tt$s"EvLs*EvDs*Gv&[tvuʨutsTsvu[t}uqs33"Ev!sKât͚tځuŠsnr͚tڛuʕu*Gv"+v:&vg$o"Gv2Dv2Ivt*+v"Gv7t|Ҙs˜s:&vs+Lrs[t:Gvg:HvGu|sDM vuums"Ev:Gv&oA:HvtyGeu>2DvmsmsTs͈C8LyG;rQ8LQt;LNt͈Cs͈tt |t |t͈tGx*Bv}”t7+"BvẍCKt!Avtʾt t6 6Út6Gͭt>xɯx t#t+:Dv2IvGux *`5!5 .>2525:59q~!p!5 L#rqo?q(:5Rq:5kk*5"5>r2'!vͨjͤq{q*5|!p!pà&:5q*5|ʎq+"5:5[qg:5JÔJ?1 ͎rxͨsڼq͎rq͈C2'͗qҭq:5kk7!!:5:55r:5.rĨrr:5:5*7eÈCMh:5*7eC*7!5mrͮG:5:55ro /*7lÈC!n5x:5Srmrermr>+wy<<+w#y25~ʈrr>  > # pr+q#:5:5 r8LãrK?ÈC! p"60͍''/r@Yr>N!d5 7*7~ % *6~!%r͑!~!r2'qpppp(p:pÈpÙpqKK7p+pCf+L;LMp@p#D*Pv:6O~`opyL`opop Zp~~wyL`…pDM2v6P[jKKDhËp:pv*g5iڳp*k5+++͓lڶp*i5"g52pv!vͭj1)*6"6!6Þ!dp!d"6>26!"6:6*v:vpvTJUMNF TAB AT COL CLEAR./; A for all)? ͱ$Bp1< 2)!6~6tq61)!5DpͶq2i52g5<<<2k5===!g5w!i5w̓s1)=xq*"v|}q>q<>!  r!!Þ!"Þ!#Þ!$Þ!%͞?1!&1)Þ:'!(r!I8"J6!*rHp!5͈s͹q_z#?rhrhr1)y!I4.ÊrJp!5A͊sDr͹q_{q!I4eڃr)))){/w!4+ʢr~ʑr¢r{2H41)tksr+C!vͭj@s*v*i5R*k5*v|r7_}r!vj> kD-r!vjtks7*7w# q"7z̈CCp!"6Uq!vj:v>qnp>v&:*|t!Hv:Gv6q:*nq*"v|> v&}> v&:v>v&:v>v&͉qÐp*hv*7͎ҥr:u®qïq͎ҥrtWr|¦qqtqqq:IvLr={rڦqqLræq{ræq!Dv:Iv7ȷ:Iv=4rLr;r:Gvo&A> trr1ru(r;r>2IvxeÏq{rA%rQr*7#"7u>2Iv͈C>t:Iv={rLrnræqgo2Dv2Iv#C>2Dv>2Dv2Iv*Gv&"hv|2u͔ xr+!Dvf:Ivo=Lr{r}2Iv|2Dv"hv>2u*Gv|g*Gv͹R8L͉V*Gv"Gv2Av"Ev`i"Bv2?v2Dv7=|t>2Dv:Hv|t|t)u> t`ueu}JuWu# }eu Gx*EvóGóG͈C>kD> kD!Þu͈C8L͈C:&vus  ¶u vu:Hvu|s8uo|uu%uEuͳoÊeu8t çpôp2vþp>2v25Ok$%p͹$!n5L#25yp>,cp͹$!5L#25>)c͔$ͤr͡sys#?"sͩ$ 87B,s-2s>25G@s>2525NJs25WUs>25U`s>25> c"p$p͹$7~͡s#bk))ܝs0_ܝs"5|s!0?::5s!7s*7sÈC!7s*7ltüsIGyOxG7tt  t#s+at#ss#Ltt #0ttattѷt Btat# t~͡s>Ҳt~>ɛiK2q!vj*vK2qqf!vv͉d>267ɯ2v{͹qq6q{͹q*q7?Cqͧq{xq͹qͶqʆqͧq>2v͹qͶqsqE7:v7͹qSʝqD q͹q-7+vM"v#{ʿq2'K? ܔ ڿq7*qɾ#45qs6RqhqwqÑq&rSrqqqqrrërrqq r9s{IQ0 ENTER space OR NEW LINE SPACING (1-9): LEFT MARGIN COLUMN NUMBERumn)? (ESCAPE for cursor col RIGHT For decimal tab stop enter "#" and decimal point column  SEs+͈C=s:v́q:v=͛q1)rK*sv"v͒kͭ7ͣks *v"svK*sv"v:sv_͒kͭͣkSsKs!:r#?r-frKsÊs%͔$L#Gy¸sͤ#ʶs!¸sW#ͤ7ssͤ{ŒsҌs~:0#bk))es*u(q5tSPELSTAROVR #1 COMMAND? WHAT???   NOT FOUND  Enter name of program you wish to Run,  optionally followed by appropriate arguments.  Example (shows disk space): STAT CHECK / ADD TO DICTIONARY? 24:C6:q!8"J6w-~͎!86q26̀1!|!. !!86q!~8!"|~2|!>"|:4=t!*pt%$p͔$!,uML#Ϳͤy6sq&p×q!y6C#6O#6Mq(p×qyͺr#yͺr23y4y~# qy͔$:42|!+~w26.wͅ"͗*y ?w-! !A4!~yR++R.!yyRR!yy[!Y|y[ͫst!~Y|[! Dկ r͎sr.r#r rͤ7 ss* s ``0   0m͛l?ace system disk (if removed), Hit any key to return to Operating System: ~$z%{|5x>4!|B|!}B|!}B|!}!}ͣ{ͣ{! }ͣ{{n1&r *;Gw#6*;w#62::Z;2::2:2v;*":!"K;:2A;>2@;Z;!fG#:IODrN +y=!7#͎+ir͠r͓rXr!7͎Ҋ;r++++lr!8d Hit any key to return to WordStar: Replace diskette with file , hit any key: *** file  still not found *** *** file  bad (too big ??!@&*) *** *** file  bad (too short) *** ***  found is bad or incompatible version *** !18!4ͧq)qr;!+5$rA8p:*5q,qr!A5/88s":;q!G5?88s"<;q!M5C8:B68s">;q r38!4:̧q58#ͧq#:4/78̧qw98͹$2'!:; ͂7?$qqN!q#+qAxq#~xpÿ*sqq>;!q#~͹$72'?:62626:626n$>(r>%͹$O*+?1*`5"6*6~!͔$a#+w#͟$~|rͪrڐrrG8y=ʢrx͔$}!+y)8ͩ$8Frͩ$8Frկ °rsr.r#r rͤ7rr rrr>  r~  bDC HïC|ïC*7["7F`iDͼL W W OD WD ͋LbD;D͏GD G*7w#"7+ͰD`iDͰL8D͚DÃD*7"7ôD2vx0:*7R:'/̼ED|E E E#D*7+ [!"v"v"v͠Fx0 T%uEEx0  oE AE Ex0  Efg*v#"v*v#"v:'bE*v͎jE> ͧEE>ͧEEE:EE*v͙Es#r!"v*v#"v*v&)*vg:'2lv|bk+Ó_:v*v*v:'FͼE!EE!E]% FFLHTFPLiFMToFMBuFCP0Fr ss>?ss> s s~+s#.: пկ  ps~ͅs#*?+sͤ#~+:¦s~Ҧs@##ͥ7~#fo"t#R"tstsottg*ts#zw+|s~w#+|s*tF#"txG s8$:Y5͢$:626n$%ͩ$"p>24,q$y!p \t>/v&!8t%!4,u%,p͔$:!,uL#Ϳͤy6sҠt&pqt±t(pqt#yͺrryͺr23y*** xm6lm6f161am1|*"|*"||͕{9|͘{y{ʊz|ʊzڊz!\!y͘{!4y͘{d{{:|{>1|*|"*|"!!|͐{!|͐{|{z!|ͣ{{! }ͣ{{-||9|3|$:|9|*|:|?|:| {!|ͣ{{! }ͣ{Gx{>2|1|Ïzyʈz 8{*|>2|2{2|͜|F{:|F{1|! }ͣ{Èz!y"*!a{͐{!!{͐{!|"Õ{H{:|x~# Ø{^#V+~#ʹ{{ê{!~ͪ{ê{O> {2|>*_y{{N#!{^C Cannot return to WordStar. Replace system disk (if removed), Hit any key to return to Operating System: WS.COM Hit any key to return to Operating System: s(pp:7:C6s6͇2>up:C6up!D6~6Cp:B6Z1 >2:$:7]p)8!5+8q>2:2D6/2:2B6:7ěsB!:.4!$;!5r'8:7Ēqp+~!8¼p"J64p~#p!5~pZ1!9"sͩ$-8:6<26 r:6r!͟$=r s#.:*? пͤ#~+:3s~3s@##ͥ7$*`5&~!bk͔$L#ͤvsͤjs68LʲCڵC*7["7`iͰLzL͚D*7[F*7"7"7zL͏GïC*7"7RDͼL D PAF% E> ͧE*v#"v% F>ͧEFEͧ%F% F*v*v#͎%FFͧ%FF%g}2 vÑF! vxF!vxF!vͧ%FF%ҊW{͘FͰF| FO: v> !f v*v*v* vR|F`h: v/<_F Fi`"vÊ 2vx%G  GG FJG`GF:'GJG`G3GF:vOqG*v+"v:XGJG>2v!v454T%*v+"v*v+"v͙E{"v*7RA|#O ʋG wGxMG:v1G*7NJ*7qG͋G0OG HGGºG ͐D  *7*7͎!7!7IxŠͣHz{HIG>͕&>2 7!7jH*v*6͎-H"6!7jHYHR*7͎GH"7*7͎UH"7Ê*Z7*\RI`i)\wH!7#͎+ڐHHͺHH!7͎ҊH++++ÓH!7I ͺHҫH####7͎I++ws#r+##s#rÊ++Iw#r+s+r+sÊ!7w[?II>ܘIڊI: 7GO IvIڊBI!64F! 7ZI=O: 7=G͟IsI hIÉ*7+:Vv7!Wv~‹I6!v̭j͈C*7#zI*6*7R*7͎*v*6͎vIdIM*6#"6"7*7JI:\7WlzTJI*6vMtJmKx7*7ɯ2 v8M*7%L*7[>2 v*7"L+LxEL+~ ! v~6cL=2 v!7w[xvMJLx7LͰLͼL͊LL    7L?®L ®L ɯo>g>_v:~CW o g _ Wz}|{ L*7͎*7͎>͕&MLL1M*7!M*7}o|g_Pg!\*MLAM{yM>ĕ&zʘM*7*7R#͎+nM͔JSM*7>áM<>ĕ&*7*7R͎ҘMJM*7z7>2 vg:H!CڵM~=26=26M~26=26h``i"Rv "Tv͠F>27×-N*6<͎#N:6#N!M5kĈCj2g5:lv͔QòOL :6e``i"PvL͉V:%v26*&v" v""v:(v2v:6VP̀1 o :vL`o:Wv!vj2WvbP2$v!6~6/o ’P͑! ~!:6=ʡPͭPڨP7ԭP1)!65lԉl͹RͅR7ȷ$^PʹP:vL`P!6^͍QP>P:6e`2&w:vW!C?Q! 45QͯRP=6++++!CQEQ! ~QͯR!C?Q#Q#QbPLiUڂQ͉V͗LuQ_\_͏RPQzbg 整͏RͣRzWL_L:6=ÖQ>e`! ʬQ~wýQ ʷQ~½QQQͣRͅRQbPLͅR͉V ͣRͅRRzOR R R͗LiQ_ T-T> gT>~!kvU: v7T: v7Tɯ2 v:Wvz2%v*hv:?vPT+"&v:kv2(v>2=v:>v•T:2VvL;LԒU2VvM+LͨUxU+~  •U#xU+~ # +ëU>;L#:hvG:?v!:vUS#~bV*0v}CV#6{=(V=2>v X )WX*hv*0v#R|}&X>=,XOyFX FXFX 3XxgðWWxGX'X*hv|}/<7:EvpX=sZ:Av:*2Ev.[:ͮXY:͙XY:;vʦX:2v 2jv͙X:\v2\v#́\X:͙X:"Y:͙XÝ\> )W]SͱX X:X:͙XKY YÝ\YY#:ͮX@+:@v[> O2?v:]v-TXv:\vMwO\GY͋\:*UY:AvzY:kvG_Yw#]Y:jvwo 2VvXvL:CvUY:2CvSZhX:Ev=W:kvGScYw#¸YpXïY:`v<2av=YYY*hvZ[j74ZM*7͎J*7YH͎&J:kKJ*7YH͎87>JdKJM*7+"7J"7:G+~# `J> iJÊJͣH?IPK*7!7CKãJJqJ!7)K*7ͼJJڲJ2\7"7 ¦JsIg77797~J#J7>>:9!777:v7qJI!7,K*7gvsI"7 KsI?I*7ͣH͎UK*7)$$VKNKO>͕&xHͣH͎eK)|Lɯ2 v8M:WvK͈CŽK*72 v/2 v*7ژK*7[:WvʾK:v¾K*v|KPY͎ڽKDMɯ2WvI*72 vKxK~# ! v~6K2 v*7*7[x6~6N/ cN:6*6*67_N2626qN&* 3.GNy*N!ex *N*6"6"6"6y26x26:6!6nN26-vLvLíj:Y5ڸN͍'"%:6> 0026o $͖0o͢$:626ɯ2626:Y5o!ͩ$M88L K͈CKNNN!% O ܔ %7N!6~6ʦOʹPAO`i+~+++1O6! ^#V{rOV`?G1G:6[O>`Ox=e`ͣRckL7>~.`P͙QҲO*Rv~ʔO@_PÂOb` ʲOh_͍QÔOʹPAO͔QPPAO$PvP{2?v T ƒS> ]ShX:hvoSŸS:%-T͕SXS:!e5ªS͕S]S͔ SSҾS:%S>^XSSS@XSdV*hv#"hv*Ev+"Ev*hv+"hvS@]SS!2;v!kv:22v[bV:=v2;v8VW*-vp#"-vw#>2@v[bV#54+U:ivbV*0v*hv͎UGxG"0v26=2/v*+v ÉV!"hv9"+v!Wv~ʠV6>2VvvLz2]v>2\v:22v!:v#:* 2jvW:Dv>NU:Fv:Bv4ZZ2`v2Fv=2Ev=2_v:]vZv !\zZ!_v4:*![ZZ:vZ>2kvÊ:]vv̗LfX?vԗL[[:*[:Gv<[:Hv<[2Avɯ:`v=ZZZ:Iv/!v!vZ*hvM|D!Gv~¯[][=2Dv>2kv:Cvh[ڞ[:Hvګ[ʣ[O:`vŠ[:_v=ګ[ʫ[y!Bvp!Ev2BvÊŠGy/?]͙X\`i{= ]~ ]#]w#\!kv!d5:ÙX\:':(7ĭ]8\LH]PL]MT]MB]HM\FM\PC\PO\SR\UJ\BP\CW\PA\CP\PN\OP\HE\FO\IG\PF ]OJ ]IJ ]LM ]LS ]RM ]CS ]DM ]SV ]AV ]RP ]DF ]RV ]FI ]!vL;LT%ʼ];Lw\]b`o ] ]ͣR!6]bP0]bP ~&w!C)`:Ch`!C/8`W:C&w_H` :`G1Ox1!6/<12vog))Bw DM!BwA 4_}:)ʑ`>!f5FO:6ʟ` *6|ʪ`:D6!6O!: #~ ` ½`:I'`V(!4(́\`͡(C*v#a(C*v#a(a͡(C:v_*vͰL aͲa(C*v#Ͳa(C*"v#$%>aA>-c(a:$vc(*6|ja>+0((*7*6Re."6:f5!6V(~ʁa>͡( C:pvʏa>͡($Cʛa>%͡("C:)a>0͡((C0c(;aHa+|axa`i;ac(iÎ :6:6W?ͭ+KͶd+Kd+2d:6!6did~‰dÌi*Pv~‰d͌iqd]ddid"PvKP>d*Pv####:6=L`1h``iÌi*RvÌi!"6:6/!+£)b` ‰dqd2d!65^:t!c5d>L`:6e` ]:+!6ª)*Rv++++~‰d:6!6>d$^e:{!c5b`]*Rv~1h_͔Q͉de!v~6.en1 K+!f5Þ:g5:v=f+g*7++͈C>2v2g5ڊe(͂N/*`52626(~! ҕef͡eMh!mv626-e!645enk!#45e>f!"45e#e:-fn ~:6/!mv!6qN<26áv!qv~ h5!vͭj!vj> kDͭj:vjK8LͶKcdfC[j*Pv:!vah: v ih~~w++++~~w>2mvf͠h:pv!"v$"v+L;Lښhͼh#vMiҶh!""vgz:f5hK*"v͓l҈CKh+h#!"vh͈Cͯ_> k:"> f*"v͓lhf> kDi*"v:"'i{_Iiz=iig 7 i{/ikii2pvG1fi*k5͓l/i*i5͓li 7ȷ{!I4e~io&" v*Pv~ʛi++++Îi~ld›i"PvDM#^#V###N#fiR>2VviKi2Wv2VvÈC!")v* v|i{K+zj#!)v#kD 7> ęԜkOG1!"vy͉lͮk>2mv2rv͟ltllͯ_tl*~v*k5R"v+|hlo:!nͯ_f"nͯ_>lg͈C26*"v*g5Ól*k5*"vÓlzʜl7?{tkK*sv͂lKͭ7l+́nl~w#ͣkål͈C*sv*g5"svRE̓oKgv>M!uv. ?ml> 2}v:yv:|vm!O8"J6?m!}v5 m*zv"~v*v"v*v"v|n͓n Qm3e7ͭ7_m>+w#_ͦmW*svͣk*k5*svm#͓lҟm:zvŸm"zv+v>M:zv{nʽmzn>m{m2|vz>Gg!uv~p#wzxmO#~q#wz2v*svm#"~v!yv4+xL͉V *v1_^h__@_1c^ `y`!6p_L`1^p__y`C_!6`^_c^W:c5}^:{…^`͛^͛^T"!{j&~!x":6W0# *7[*7[!!W_:c5_:t_>^`:+^:6!6^:6^26ͳ)1)ͥ"> ͜ `'_'_!tÏ^:6W0#w 7_||g}o&wPY!x[!p0`i&wy_&wr_PY!x[!X_h_=‰_Mæ_DML_`0͹R`é_*w:CW __͗L___7 _::6h``)O*7:I=G:&b:+:e5\b:1vWb:0v0bIbrb{!g5zAb!e5w# Wbb6+db> ^bw#\b6 ͟,z26>26{!i5ڙbb kD> kDhfKK]gTg+ Hē_w#>gÈC͈Cͯ_.g:i5!g5w1)( Ͷg@_=gPe͉i1( Ͷg͇_͔Qb` ʌg@_P͉dágV`g?<:vf8L~cDg*Pv~~wJhK3eOGh!v~yg4 :p:!vji+: vi+͈C8Lj͹j1Bj*&vZ~###j6͝_ͯj͝_lj!vw?1Ê͑j:d5vLz>v >͗L>:*#ڤj=w<6Rj6#w#w#wR}))v~wXj~~wXjj͹jj>v&>?1WDM5kʊz2'͈C26k!vjK2'?1!]AM͈Cko L{lk{XkPk|gk!gkv>M=n: vL;Lw2 vgvL;LW4n6iK2|nSn͓nW:nͭ7+͈C:)=_g>kD> kD[n2'*g5"svE̓oK:rvMv͗L7Kʣnʣn+͈CKKnʪn̯_n3eên+nCKͼ zn+6 -:vvG:v!v64n!xv owOo!v4o<552vx!xv2vviKgKqo.og!vv5po:vSo!xv5bo!v5bo!v5bo=<.otoK.o:v͈C!vo~G~wogxړo>OxGͳGÆooÆo :$/!rv:vv!!vZ1 toK.o^tPC!vo~Grpq|r!! ͎8p:71p̀1p!;8"J6!7Qr*7";";";";";";";";6#";";.6#";";";";"E; s#r":2;:4q::p>24;=/p22;23;>q:>q:>q/25;/!7̗q:4.q/2E6>':4! Wq:4;! 2C6:B6ʔ Z1 n1&r *;Gw#6*;w#62::%p͹$7>24>2v(r:Y51qS8͹$!"tPt:5Jq:5kk2'!vͨj͋qgq͛t!+p!)pà&26:5ĢrIrMh!!:5q!7q*7rÈC!7q*7lrqIGyOxr#*r r r# rr7 2r+ /r/r7͜r*7#C*7o /!'p"6͍'*6"ror!d5 *7~ % *r~!%‘r͑!~!or2'8LÈCKÈCg:5JÔJx ~#õr:Y52Y5k$2Y5%!~!tqܨr3ss-sPr26FsB"s2 ADD!"<2:oz=*;S<<6#";!&?>?~>?>i?#::E=2:! >!:ͽ>*:>Y?F#>N?͌WG +@+@+@:”?qBBBB¿?C>i=%@!:ʰB#z=:4;<̉B::!:A@ ::O::U@W@>!:`@ H::̔@:4;::@x :=CB͔@|@@ ::=Q::@:4;::@:=CB@ë@¾@ ::=::zA: O::@: O::@ɷ@z @ :4;@A: B<26;!:: !8!:>!":*; >N=N=N=N=N=N=N=N=!N=F6##>G=ͨ<~6# Ox>=":!::!;".2;::;?ͷ=͡2:2:AWo x’=!:~6=::ͱA2E6W>2:2;:;!:=*:*:R*:>*:>͎=2;^>į>ͪZ;2::2:2v;*":!"K;:2A;>2@;Z;!fG#:IODrN +y=!7#͎+ir͠r͓rXr!7͎Ҋ;r++++lr!7r ͓r҄r####7͎r++ws#r+##s#rÊ++rw#r+s+r+sÊw[ɛuàpàpqïtqÛt&5>Rd ???Action(F/B/I/D/S)?Spelling Check Completed Add to Dictionary:  Add to Supplement: (Y/N)? >2vqr2525~!Q8͹$!5 L#pګpqͤp#Bp>25Gp>25> c#ptIsDsSsr͗s-sr͛t*7tͮG7>26*7tG2t+#tWs_>ʐs2t?s}s}s'Hs ʅs ʅs ʅs ʅsÐs2t?s:t2t?sx2t*t~!:tD­s-p÷sSs/p͹$:tc1p3p*`5"ror*t"`5͹$Yt!*;":#>2:2:B~5I= BWo xq=!:~6i=::B2E6W2::;G:;W*::5;==!}>>x=!:y=!:zU=2:)>}>>| >x= >y=z!:5 >z=I=|xOzO>2:2:K>:;?>ɷH>::33ɯ2:d>:;?>::2:z>C>:;z>:;!:4><2:͚>::::!:ڃ>!:.?ͪo:4;!:!; .:>; ͵< > :>:>By! %A+A *A*A!:4x!:4::ͳA!:=AG]ÀA!";o:onAͩA]A:=(=LX:Ox 3 O[[:%=7=Rd*;#WA::=2:> ;AóA:=A͗AA!8;A6A6:8;ͩAAB!9;4:=>29;ͩAB~B5>KA͗A!8;~4:=:9;?8B!AÊ:4;BÊ:4;CB!:~5N*:!:+#{ 2:yhB!:{Bw::!:5*:!:::+ʞBҕB#<2:w":~ʰBPY͞J 6ͩBBͩB:5;=#B<=/ABo:ͨ< .> +~*;++~:>V>>V>>>#*:A! D>!:>*: >ʔ>F##>‰>͛{u>> >":";{2:!:::;2;!2D>!:>*:A*:::_7>G{>H7>G#>y>> O7>xF>>*:A2 ;WG ???!?2;:9?:9?:A?q>2;a?a?a?j?A;?PAz?;?::Ç=?!:7A#<€?x$AAA!::APY+:A@ 8::AÛ=yH?::x :=*6;aA??Q::@:::=@?z@z ::: @::: ! úA::!:=@GW@z@!";o:oh@͠@W@:=(=LX:Ox 3 O[:%=7=Rd*;#Q@:=@͎@@!8;@6@6:8;͠@ê@@!9;4:=>29;͠@@~@5>E@͎@!8;~4:=:9;?A!@Ê*:&KaA~7APYÞ0A*:&!:0A A<=,@UA:;kAK*:":*:":!*:RhAK*:":::_ÍA >2:2:PAAPAADA ,@AA 82:!::|A,B!:~6B͜B͂s ÉpÿpXpB READ? WRITE MARKED TEXT ON? 1:v!v}pj!vj>v&>v&!vj!vjsqp!vPj2'7!:ڹpJO:ͳGڙp!vjrsqpͺr2'!AMv!͗Lp*778͈Cp*7:vTJ7Mr7!4~#k$%͹$O*+?1*`5"6"6*6~!͔$a#͟$~ʦq,rںqºq8y=qy¤qq.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛ!%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5*HͿ-=|!]=>o&))))>=goRR Î] Î  COPYRIGHT (C) 1981 MicroPro International Corporation  MicroPro WordStar release 3.00 serial # XG7995TZ  no terminal yet selected  I/O Master / O.E.M. Printer   "T P=   @ B**:͵B":!:yw:ĩB!xhBB**:ͲB":!:~LBLBNPB!,B͜B!:~6pB!:x!mBPA!:xpx!hBʗBʗB,@PA!:yw:OPAy,@:O|8͎B!BRyKByOB#zxAɛ <<<"<5<ɯW  wr~͌r#.:*? пͤ#~+:µr~ҵr@##ͥ7r!vj:vrr>v&:*r!Hv:Gvr:v>v&:v>v&!vj:*> v&>V<<2E4!9"C4ͨ<=:l2J:] @:4-:5-*C4͢=!~!!S!Ϳ!%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5*HͿ-=|!]=>o&))))>=goRB@ @..Y[]{}AEIOU.:+-JP r > J ͜<==w s ͈ N#͝ ͨ ͖ ~̖ ] ~#è ͝ !ͨ 6 !p ! ͨ * " * * | }͝ This version of INSTALL is incompatable with theversion of WordStar you are trying to install.!Sͨ ͖ ! ͨ ó ͝ Do you want a normal first-time INSTALLation of WordStar?(Y = yes; N = display other options): sNʪY  ͳ͝ Y͝ This williting to the operating system.C Same as B except run the INSTALLed WordStar.D Modification of the INSTALLation of a WordStar COM file of your choice. The modified WordStar replaces the original file. The modified WordStar is then run.͝ PLEASE ENTER SELECTION (A, B, C, or D):s T TAaBCDʾ& &͝ Aa͝ Y>2} , WSU.COM!  Y D ®͝ WSU.COM NOT FOUND ON CURRENT DISKê, WS.COM! + Y>2} >2} ͖ ͝ Filename of WordStar to be INSTALLed? 7 ~#  è>29>2922^#V#N#3333;;;;s    O:ʳ0GA::0:x=OOOO] O] x ͝ ]  ͳOO^#V#~#=4^#V#N#F#3333;;;;aV>J ̇eeʳ ͨ ] :ʕ>×>2O> J a{ >] > ] >] 1 ͪ0!Sͨ ͝  ***** WordStar TERMINAL MENU #1 -__7777w͎nw͎ĎWx2z7W:Go~~56   YZRCDTTVV2CCTTBT2STTTTTTTTTTCBTTTTVUUUVUUVVSSVUfVVTVVTUVVgVVUTVTVUTTTTTTSTTRRTRfTTTTSSSTTfTTTTVTVU ERATING SYSTEM IS NOTRELOCATED TO MAKE ALL RAM AVAILABLEó :} **C  ^ ͝ NOT ENOUGH MEMORY TO RUN INSTALLED WORDSTAR! ͨ ó ͈ _ ͈ !"N !"P + j ! "N *C "P + j + ͝ ERROR CLOSING FILEó ! "N  ! "N *C "P *N  4 > *P ^  ͝ UNEXPECTED END OF FILE DURING READó Gzg {x*N +  ʪ ʙ ʪ > *P ^ m ͝ DISK FULL ͝ DISKETTE DIRECTORY FULL+  ó  w# +   ê * INSTALL the WSU.COM on the current drive, savethe result on file WS.COM on the current drive, and thenrun the INSTALLed WordStar. OK (Y/N):sYa \ \Nij͝  ***** WordStar INSTALLATION OPTIONS MENU *****A INSTALLation of a distributed WordStar, INSTALLing WSU.COM, producing WS.COM, and then running the INSTALLed WordStar.B INSTALLation or re-INSTALLation of a WordStar COM file of your choice, placing the newly INSTALLed WordStar in a file of your choice, and then ex0 !  Y3͝ INCORECTLY FORMED FILENAME D \͝ THAT FILE DOES NOT EXIST͖ ͝ Filename for saving INSTALLed WordStar? 0 ! + Y͝ INCORECTLY FORMED FILENAME_͖ >2} ͝ Filename of WordStar to modify? 0 !  Y͝ INCORECTLY FORMED FILENAME D H͝ THAT FILE DOES NOT EXISTA ! + Yկ _͚.!̙ ʒ7COM#͸ʭ š͸¦>  ®~#.:*? п[A?~ ##~+:~@##͈ < *****A Lear-Siegler ADM-3A C Lear-Siegler ADM-31D Hazeltine 1500 E Microterm ACT-IVF Beehive 150/Cromemco 3100 G Imsai VIOH Hewlett-Packard 2621 A/P I Infoton I-100J Processor Tech Sol / VDM K Soroc IQ-120/140L Perkin-Elmer 550 (Bantam) 2 Terminal Menu #23 Terminal Menu #3 Z none of the above͝ U no change͝ PLEASE ENTER SELECTION (1 LETTER):!/>26']x(&@2($(#(+ %([+Z-͝  ***** WordStar TERMINAL MENU #2 *****M Microterm ACT-V N Televideo 912/920O Visual 200 P Flashwriter I/MindlessQ Flashwriter II/Mindless R SWTPC CT-82S Compucolor 8001G V TEC Model 5711 Original Menu 3 Terminal Menu #3Z none of the aboveq͝  ***** WordStar TERMINAL MENU #3 *****1 Original Menu 2 Terminal Menu #2X Heath or Zenith H89/H19 % TRS-80 Model 2< be ON͗/= 2m2t2{222222`2222go"d"2>2f22>22! @''!P"HQ0Lear-Seigler ADM-31 termina*T/R/E/'0)/(/Q0TEC Model 571 termina͝ Make sure the AUTO ROLL UP, ROLL UP and AUTO LINE FEEDswitches are off for proper WordStar operation͗/=` // />2>222Q0Televideo 912/920 termina*)/(//qwC,!"Q0TeleVideo 950 Termina͈/rwCNQ0Microterm ACT-V termina͗//C/Q0Hazeltine 1500 termina͝  The AUTO LF switch (under the little cover above the keyboard) must be OFF for proper WordStar operation.͗/~~//// 0/0Q0Hazeltine 1420 Termina!! *"Q0Soroc IQ-120/140 termina*)/(/Q0MicroTerm ACT-IV termina ͗/!"m&""Q0Beehive 150 / Cromemco 3100͗/F EQ0Imsai VIO displa͝  For IMSAI VDP-40, VDP-80, & other systems with IMSAI VIO-C or VIO-D (with firmware) at F000. Accesses Video RAMrate WordStar operation on a terminal with line insert, line delete, and erase to end line. Normally use selection "G" instead.!"m&"{&"t&"">2Q0SOL / VDM versio͝  This version may not work on all CP/M to VDM adaptations!@"H͗/! ""& "mg#!">222=2!"!w#w#w/ɯQ0INFOTON I-100 termina͗/f ! M/L/4/3/Q0HEWLETT-PACKARD 2621 termina͗/&ayC>2`K/L/M//&dA/&d@Q0Perkin-Elmer Bantam I#͗/>2/j3/m3: *͝ WordStar directly accesses the TRS-80 video board. Some CP/M'sdisable this video board while a program is running.If your CP/M is made by LifeBoat answer "Y" to the next question.If your CP/M is made by FMG answer "N".If you are not sure certain, consult your CP/M manual.If you are using Pickles & Trout CP/M, use selection"[" instead.Does your CP/M leave the Video Board enabled (Y/N): >YT/ͭ0*͜+ͭ0Q0TRS-80 Model 2 Termina͜+ͭ0Q0TRS-80 Model 2 V ADDS Regent 20/25 > ADDS Regent 40/45/60/65$ IBM 3101 ( Hazeltine 1420& Televideo 950 [ TRS-80 Model II/P&T CP/M] ADDS Viewpoint + Intertec SuperBrainq͝  ***** WordStar SECRET MENU *****@ Ann Arbor 6080 # Data General D100/D2001 Original Menu 2 Terminal Menu #23 Terminal Menu #3qQ0Lear-Siegler ADM-3A termina͝  The CLEAR SCREEN and CURSOR CONTROL switches inside the ADM-3A terminal mustBQ0SWTPC CT-82 termina͗/! "m."t/// 0>2H>R2IQ0Compucolor 8001G termina͗/>02H>P2I///Q0Visual 200 termina͝ The AUTO LF switch must be OFF for proper operation.͗/Y Yx/M/L/4/3/Q0Intertec SuperBrai͝ This installation will work on SuperBrains andSuperBrain QDs only. (Any DOS from 1.0 to 3.0)͜+>2!"/d///%>2>2!4w# *"":R3!"" directly. 24 * 80 format must be selected before WordStar is invoked.g#!">22222!Jz#!""w#z#Q0Flashwriter I/Mindless Termina͝  Flashwriter must be addressed at F000H.!">22222>@2Ig#Q0Flashwriter II/Mindless Termina͝ Flashwriter must be addressed at F000H.!">22222g#Q0Imsai-VIO-used-as-a-termina͝  This version accesses Imsai VIO through the operating system and the VIO firmware, as though it was a terminal, to demonsttermina͗/XY KI/>2""!(V'!36#r#w##V'!@6#s#w!"6#p#w##q##qQ0Heath or Zenith H89 Termina͗/Y K/L/M/p/q/! ''@!/'Q0Adds Regent 20/2͗/Y K//6Q0ADDS Regent 40/45/60/6'l/M//0A//Q0Ann Arbor Model 608͗/@>2`!2`"H!".""">2Q0ADDS Viewpoint Termina'(Q0Data General D100/D20͗/! "m&"&">2Q0IBM 3101 Termina͗/Y >2IO,/ @N/>22////& @`@@@͜+ͭ0Q0Pickles & Trout/TRS-80 Ig#͝ ***** WARNING *****You must use this present terminal/printer selectionIf you wish to make another selection you should restartINSTALL again.Choosing this selection causes Install to patch one ormore of the following labels in USER1:INISUB:, UNISUB:, SWIN:, SWOUT: or MORPAT:It may also change the POSEND: routine in USER4:í,![ /!? $ ,~ ,6 ~ !> w>>Wy2Z>>:ZW͝  We have not tested this terminal or printer type. Please report any problems.!0͖ ͖ ͨ Ö ͝ For other terminals and video boards, Wordstar must be"patched". Determine your terminal's control sequencesfrom the manufacturer's manual; refer to the MODIFICATIONsection of the WordStar manual. Once these codes are determinedanswer "N" to the "ARE THE MODIFICATIONS TO WORDSTARCOMPLETE ?" question towards the en displayed after choice is entered)A Any "Teletype-like" printer (ie almost any printer)C "Teletype-like" printer that can BACKSPACED DIABLO 1610/1620 daisy wheel printerE DIABLO 1640/1650/630/Xerox 1700 series daisy wheel printerF QUME Sprint 5 daisy wheel printerG NEC Spinwriter 5510/5520 thimble printerI "Half-Line-Feed" PrintersM I/O Master / O.E.M. Printer CombinationR C. Itoh/TEC Starwriter PrinterU no changeZ none of the abov͝ PLEASE ENTER SELECTION (1 LETTER):! 3/Þ6W0Teletype-like printe͝ This selection will drive almost any printer. The printermust be capable of responding to ASCII printing characters,carriage return, and line feed only.͋F͝  If your printer is capable of backspacing, use CHOICE Cinstead for faster output.̀7>2>2/ / ! "!"""""""">27!~6W0Backspacing TTY-like printe͝  This choice is for any printer that will respor has these capabilities.W0"Half line feed" printer͝  This choice is for printers that can advance in half-lineunits but cannot roll carriage upward, such as a Selectricwith a half-line ratchet. Use of this choice causes subscripts and superscripts tobe printed offset by half a line. Backspacing capability is also assumed. Patching of control sequences may be necessary to tailorthis choice to your printer; see manual. If run for demo purposes on TTY-like printer, this choicewilnal control sequences. To make use of these capabilities on a real non-daisyprinter, select choice A or C as appropriate, then patch inthe specific printer's control strings. See the"Modification" section of the WordStar manual.a6/  /   / / / / / /A/B>W0Diablo 1610/1620 printe͖ BͲB͖ >c6>2/ 4B  !}>Ϳ/!>"2>"2>5"2>6"2> "2>A"2>B"2222<22>~22>N2>Þ6W0Diablo 1640/1d of INSTALL.>U%///33o/}/++##45Ⱦ#*/^#V͖ E/í0͝ OK (Y/N):>YGx}/Bu/N7j/YV/] ] í0o/Ge ʏ/ /xʳ JͿ/SͿ/XͿ/~#2]~#2^~#2_2d~#O ~#/^#V#Ϳ/^#V#N# /!m 0!t 0!{ 0! 0! 0! 0!6#r#s͝ Previous selection kept unchanged0Z00Z0Z0bk:56 #=_0ͷ-~|0~#n0bk:56 #=…0ͷ-~ʢ0~#0ͪ0ͭ0ͭ0͖ ͖ R[ͪ0͝ ***** PRINTER MENU *****(More specific info is:7BtF102<3AD5By/C6DG>E>F?G?I9LLEM1CQJ;RAU3Z4ͪ0͝ ***** PRINTER MENU 2 *****L DIABLO 1200 Hy-Type I OEM daisy wheel printerQ Fancy TTY-like printer simulated on Diablo 1610-50 for demo1 return to printer menu 2!î-͝ Are you sure you mean "none of the above"? Almost any printerwill work with choice A, "Teletype-like".If your printer really is different, refer to the MODIFICATIONsection of the WordStar manual for information on patching ina custom printer drivend to anAscii BACKSPACE character (code 08) as well as carriagereturn, line feed, and printing characters.͋F͖ ̀7!"c6͝ If you have a DAISY WHEEL or thimble printer shown on themenu, use the appropriate choice in order to obtain "Micro-justified" output and additional formatting capabilities.ͧ͝ Refer to manual for instructions on patching in optionalcontrol sequences for ribbon color change, character pitchchange, and half-line roll (for subscripts and superscripts)if your printel double-space and otherwise function correctly.͋Fv7/ / W0Fancy TTY-like demo on Diabl͝  This choice tests and demonstrates WordStar's abililityto print subscripts, superscripts, two character pitches,and red and black ribbon on a Teletype-like (non-Daisy)printer that has control sequences to roll the carriage up anddown partial lines, change pitch, and/or change ribbon color. This demonstration runs on a Diablo 1610-50 but treats itlike a Teletype-like printer with additio650/630 printe͖ ͝ This selection also works for Xerox 1730/1740/1750 printers͖ BͲB͖ n>/ P/ B S P/  >2!>Y"2>Z"2>2W0Qume Sprint 5 printe͖ BͲB͖ n>/I/I!> "2>/"2>o2W0NEC Spinwriter 5510/20 printe͖ B͝ This selection for the specified printers only. If you haveModel 5515 or 5525 use selection "D" (Diablo 1610) instead. To prevent buffer overflow with these printers at 1200 baudwithout using a cable adapter, specify "ETX/ACK" or "XON/XOFF"protocol at the next menu, and configure the printerappropriately.͋F͖ n>/ 4KO@ /= >]22>O2>2>@2>2>>2><2>92>32>4222A>2A>Þ6!"&"W0C. Itoh/TEC Starwrite͖ ?>c22͝ This choice is for the indicated daisy printers only. The serial versions of these printers should be interfacedat 1200 baud, otherwise printout will be very slow.͝ To prevent buffer overflow with these printersinterfaced at 1200 baud,. This selection applies to noserial printers.!?E!?E:5==6 #=DEW0Diablo Hy-Type I O.E.M. printe2E͝  This selection supports a Diablo 1200 Hy-Type I OEMprinter on an IMSAI PIO-4 board or a Micropro I/O Master. It is also appropriate for a Hy-Type II (or compatibleequivalent) if the "data 1/2" bit is not connected, e.g. ifan unmodified IMSAI cable is used.ͥD>ÄD͝ Make sure any AUTO LF or LOCAL LF switch is OFFͪ0:7HG͝ FOR DIABLO / QUME AT 1200 BAUD, SPECIFY ETX/ACK overflow and character loss.E "ETX/ACK" ProtocolX "X-ON/X-OFF" ProtocolN NONE required (or handled outside of WordStar)U no changePLEASE ENTER SELECTION (E, X, N, B, or U):!J/2͞J90͖ >2?0"ETX/ACK" protocol:7ڊJ͝ For ETX/ACK protocol, you must patch in your printer's buffersize, ESPECIALLY IF IT IS SMALLER THAN 256 BYTES -- see manuaIBy/UIEIXINI:!J!I=!J=!J"X-ON/X-OFF" protocolNo communications protocoINVALID PATCͪ0:;K͝ Wial Driver on TRS-80 Model-2S User-installed driver subroutinesU no changePLEASE ENTER SELECTION (L,T,C,P,N,P,S,B or U):!&t/x2y223Uts:Gͮ-y=2͝  In most systems this is a "physical" device that is thesecondary console device and is capable of Input and Output.Thus it is suitable for use with communi specify "ETX/ACK" protocolat the next menu.ËFW0I/O Master / O.E.M. Printer2E͝ This selection supports the following "OEM" printers: NEC Spinwriter 5500 Qume Sprint 3 (with cable adaptor) Diablo Hy-Type II 1345, 1355, 1355WPUsing the Micropro "I/O Master" interface board and cable(or an IMSAI PIO-4 board or equivalent; see also selection L).ͥD2>22<2<2<2>27A͝ This selection activates a driver which accesses parallelports F8 thru FA directly PROTOCOL(NEXT), AND MAKE SURE DRIVER CAN INPUT CHARACTERS (BELOW).H1H͝ FOR NEC AT 1200 BAUD, SPECIFY ETX/ACK OR X-ON/X-OFF PROTOCOL,SET UP PRINTER TO MATCH, AND MAKE SURE DRIVER CAN INPUT (BELOW);OR SPECIFY NO PROTOCOL AND MAKE A CABLE ADAPTER.͝ At 300 baud or less, no protocol is required.2͝  In most systems this is a "physical" device that is theprimary console device and is capable of Input and Output.Thus itcation protocols ifit is not being used for the actual console. You need onlyset the Baud rate to match the printer (usualy 1200 baud).͈ ͝ **** WARNING **** CRT: is currenty the console. You maywant T (TTY:) unless you are INSTALLing for another system).K0WordStar's Port Drive͝  The port driver directly acceses hardware port(s) to controlprinter. This driver is normally used with serial printersand a protocol. As hardware ports are very non-standard withrespect to location and status information, you may have toprovide data (Note that WordStar will try to determine the dataall by itself) so WordStar can modify the port driver. Notethat the port driver contains a "busy test", resulting in thebest response when editing and printing simultaneously.ɯ2,[6ZXͭe͝ *************************************************************WHAT IS THE OUTPUT PORT FOR YOUR PRINTER?͋ZܐcڴVCbҴVܮ^-Vܐc͝ *************************************************************WHAT ISYͥff͝ *************************************************************WHAT ARE THE OUTPUT STATUS PORT BITS FOR YOUR PRINTER?͋ZlڛYKgқYܮ^Yl:͝ *************************************************************WHAT ARE THE INPUT STATUS PORT BITS FOR YOUR PRINTER?͋Zm3Zg3Zܮ^ҠYm͝ Are the printer ports "I/O" or "Memory Mapped" (I or M):04Z:4ZBIM7sZ:,[7͝ DO YOU WISH WORDSTAR TO DETERMINE THE VALUES OR SHOULDWORDSTAR ACCEPT THEM FROM YOU (D OR A): >A}/BSUAL RESULTS SOMETIMES. PLEASE REMOVE YOURDISKS FROM THE DRIVES AND REPLACE THEM ONLY WHEN TOLD TO.%`>2^͝ ****************************************************************************************************************************YOU MAY NOW REPLACE THE DISKS YOU REMOVED EARLER.****************************************************************************************************************************2;g2?g2Gg2(272@>2Cg23:;g:e23>:2;g2?g2Gg2(272@>22Cg23*4f=x͝ What is the OUTPUT address in HEX: ffk"4"Dg*)Nf=x͝ What is the OUTPUT STATUS address in HEX: NfNfk")"Hg*Af=x͝ What is the INPUT address in HEX: ffk"A"Ie[>M24Z!00"c"d" e"ce"f"f"Nf"Pf"f"f"f"f"k"k"l"lk,\k.\l;\l=\:([f4<\Nf)<\fA<\f8<\c4\d)\ eA\ce8\ 0:*\0:8\ 0:M\0:[\ 0:p\0:~\͝  *************** CAUTION *****************THE FOLLOWING PROCEDURE WILL NOT WORK ON ALL HARDWARE ANDMAY HAVE UNU DETERMINATION IT WAS ATTEMPTING.PLEASE CHECK YOUR PRINTER AND IT CONECTION TO YOUR SYSTEM.IF ALL ELSE FAILS RESET YOUR SYSTEM AND TRY INSTALLING AGAINͭ%`͝ IF YOU WISH TO RETRY THIS OPERATION ANSWER "Y" TO THE "OK Y/N"QUESTION BELOW. YOU MAY ABORT INSTALATION WITH A CONTROL C.cJ _c>YT/c24͝ What is the OUTPUT port number in HEX: cck242Dg!Ca>2Hg>2Ggw=c# 3Ggdx͝ THE OUTPUT STATUS FOR THE PRINTER IS: -[͝ H2,͝ THE OUTPUT STATUS BIT MASK FOR THE PRINTER IS: -[͝ H2.͝ THE OUTPUT STATUS ONES MASK FOR THE PRINTER IS: -[͝ H7?͝ What is the OUTPUT STATUS port numbt is the INPUT STATUS address in HEX: ffk"8"@gGgG2 g> 3GgRg2,͝ THE OUTPUT STATUS BIT MASK FOR THE PRINTER IS: -[͝ H2.͝ THE OUTPUT STATUS ONES MASK FOR THE PRINTER IS: -[͝ H7?7:=id2;g g( hgg?gGx!h~"h hg("h~#3(-h?ghg;g|h2;͝ THE INPUT STATUS BIT MASK FOR THE PRINTER IS: -[͝ HO2=͝ THE INPUT STATUS ONES MASK FOR THE PRINTER IS: -[͝ H7?TEST ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz d2;g i(&igi?gG2 g(0i>3(;i?g,ig;g|,i2;͝ THE INPUT STATUS BIT MASK FOR THE PRINTER IS: -[͝ HO2=͝ THE INPUT STATUS ONES MASK FOR THE PRINTER IS: -[͝ H7?:=|j>i<j24j=g2Åj<ʖj23(ڭj>þj<ʞj2͝ What value should be output to the status portto inactivate strobe & inactivate clear (enter hex value):  r rk2:͝ Is there any way to disable the auto line feed functionof your printer (Y/N): >YT/͖ qgo"2 2@g>2?gw=k#< k!Ca/kg#͑kx282@g2 *kͶkg?g=k:8͝ THE INPUT STATUS PORT FOR THE PRINTER IS: -[͝ H7?.:=ʨk>.2k!@"k>2k!2"k*k+"k}g:k3(k7?!kk)))) k}0 ??͝ What are the bit(s) that change at the OUTPUT STATUS portwhen the OUTPUT port becomes ready to accept a characterfor OUTPUT (enter HEX value): kkk2,͝ Which bit(s) change(s) from a 0 to a 1 (enter HEX value): kkk2.port on the MicroPro I/O Master board)/'>2=!40"r!80" r!C0" r>2,[*V,/g3:420/3:)262<͝ When the Centronics port is ready to print a character,it must set a bit high or low to strobe the printer.Another bit is usually set high or low to clear the printerWhat value should be output to the status portto activate strobe & inactivate clear (enter hex value): rrk24͝ What value should be output to the status portto inactivate strobe & activate clear (enter hex valed printer drive͝  See manual and listing in appendix re coding and instal-ling your custom printer busy test, printer output, andprinter input subroutines (the input subroutine is needed onlywhen a communications protocol is in use).:O!M!T!r#t:![P!8RïJBy/UMLMTXPC5RNmQrPTSr:^_tq]͝ ARE THE MODIFICATIONS TO WORDSTAR NOW COMPLETE? IF THEY ARE ANSWER YES TO THE NEXT QUESTION. IF YOU WISH TO MAKE ADDITIONAL PATCHES TO WORDSTAR'S ͝  OFFSET IS NOT A HEX NUMBERtw͝  ADDRESS IS NOT HEX OR : MISSINGtw͝  NO SUCH LABEL ?!?!?!͝ LOCATION TO BE CHANGED (0=END): 0BtoxҼwkw"HxͬxUwwBtk(w|N͝  ADDRESS : |-[}-[͝ H OLD VALUE: ~-[Rt\͝ H NEW VALUE: RtRtkwoxJx*Hx#=xtw|Rx}RxBt#7xGaxxax jx0Bt>ʧx:ʊx+ʊxvx+ʕx>++ʣx77?!xBtx x xx####x ʸxBt#x~x#^#V#F#N7?7OUTCHPATVҹPBGME\ITHEL`ITITObITDSDcINITPfINITLINITR̀INITSҁINITWƅDOTCHҕBLNCHҖDOTSOΗEOFCHҭBOFCHҮCONCHүOVPCHҰLFCHұPAGCHҲSOFTCҳHARDCҴPAGFI̹MARKӺDSKTNPODBLNOFTA0VTACLCH҆CRCH҇LITCH҈DIRCȉSTPCHҌERELCȍPOSMTȐBLDSTґDBLSTҒPSCRLƖPSCҡPSHALƨPBACKӯPALԵPSTĺROLUпROLDOUSRUSRUSRUSRRIBBORIBOFPSINIPSFINPRINI PRFINCSWTCHAVBSLIBSLISENLISIN%POBS(POSTA)POMAS,POO.POSEN3POO4POIN7PISTA8POINS;POI=POIAPUBSLPUSENOPUINRACBSXACSEN[ACINdCONFIPROTC̆EAKBSڇDHMILřDHMIFǞDHMIΟDHRNǡDFWģDBA˨DSЭDLƷDRLƼDPHSPDNPRODMJWPSTAMORPADELDELDELDELIVOFƋSWISWOUUCNSTUCONɽUCONDECCHғFDTCHҵFNMRG FNOVLFNWSCHZONŚITBI COPYRIGHT(C) 1980 MICROPRO INTERNATIONAL, SAN RAFAEL, CALIFORNIA, USA. ALL RIGHTS RESERVED. WordStar 3.00 Message Texts d)) ) ) mmz[-* Vaz -""% &9&'&& ';'''(*(Z(v))$l'''dddi***+,+j++',4,H,c,x,,d+,-1-o---d$yG3AHF`0_ODULdHdddddd$-f%%k#z(dW&k&n&*.d5.5.5.5.K.K.5.dj..d.. /B/s///00R1d 1x1d1111 225272Y2l22*d22d2d3dddddddddddddddddddddddddddddddddddd󭭭 | 堠 |  L Change logged disk drive | | R Run a program  F File directory + | P  | X EXIT to system  H Set help level | |  孭 | E RENAME a file |  D Open a document file | O COPY a file | M Run MailMerge  N Open a non-document file | Y DELETE a file | S Run SpellStar  form | (from Main only)  ^A word left ^F word right |DEL chr lf| ^V INSERT ON/OFF |^J Help ^K Block  ^E line up ^X line down |^T word rt|^L Find/Replce again|^Q Quick ^P Print  筭 |^Y line |RETURN End paragraph|^O Onscreen  ^Z line up ^W line down | | ^N Insert a RETURN |  ^C screen up ^R screen down| | ^U Stop a command | < < < Q U I C K M E N U > > >  | bar or other key |you to Main Menu. < < < B L O C K M E N U > > >  砠 | | 堠 |  S Save & resume | B Begin K End | R Read P Print | (from Main only)  D Save--done | H Hide / Display | O Copy E Rename | ^J Help ^K Block  X Save & exit | C Copy Y Delete| J Delete | ^Q Quick ^P Print  Q Abandon file | V Move W Write | 렠 | ^O OnscreeITMINOUFRVELISOFHYøRVQUOVARCHVARCHVAROPFPTAnPFPTAƒPNFTAPVTAXTAIACFInACSTAoACSTAwSOCH ULCH DBӲITPOPNITHLaAUTOB"BSCH-TRSCRTRSCIAPLFLNONDOÒSCRLSRSTFLNMOFUDEFDSTCKFLDELINFC:ͪ0͝ CONFIRM TERMINAL AND PRINTER SELECTIONS:!ͨ !ͨ :ʞ!ͨ !ͨ ] AL AND PRINTER SELECTIONS:! < < < N O - F I L E M E N U > > >  D Open Document File | Y DELETE a file | H Set HELP LEVEL  N Open Non-document File | E RENAME a file | L Change Drive  X EXIT to System | O COPY a file | R Run a program  F Directory + | P   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  M Run MailMerge S Run SpellStar < < < N O - F I L E M E N U > > >  For maximum help (full menu display),  select Help Level 3 by typing ^JH3.  This message will clear when a key is pressed.  TO HYPHENATE, PRESS -. Before pressing -, you may  move cursor: ^S=cursor left, ^D=cursor right.  If hyphenation not desired, type ^B.  < < < M A I N M E N U > > >  | | |  ^S char left ^D char right |^G char | ^I Tab ^B Re | | |  S left side D right side |Y line rt|F Find text in file | (from Main only)  E top scrn X bottom scrn |DEL lin lf|A Find & Replace |^J Help ^K Block  R top file C end file |L Find Misspelling |^Q Quick ^P Print  B top block K end block |Q Repeat command or |^O Onscreen  0-9 marker Z up W down | key until space |Space Bar returns  P previous V last Find or Block n  | N Column *|L Change logged disk| Space Bar returns  0-9 set/hide 0-9| |F Directory+| you to Main Menu. < < < P R I N T M E N U > > >  젠󠭭 | ӱ󠭭  (begin and end) | (one time each) | R Condensed print | E Emphasized  S Underscore | H Overprint char | Y Enlarged print | W Double Strike  X Strikeout | O Non-break space | | B Bold  V Subscript | RET Overprint line | |  T Superscript | C Printing pause | Q 8 lines/inch | G Cut Sheet  * * * Space Bar returns you to Main Menu * * * < < < O N S C R E E N M E N U > > >  󠦠 | 堠 | 󭭠 |  L Set left margin |C Center text |J Justify !| (from Main lp level |S Status line | (from Main only)  B Paragraph reform (CTRL B)|R Ruler line |^J Help ^K Block  F Flags in rightmost column|M Margin & Tab |^Q Quick ^P Print  D Dot commands, print ctrls|P Place markers|^O Onscreen  |V Moving text |Space Bar returns  | |you to Main Menu. < < < H E L P M E N U > > >  | |  ^S=delete character ^Y=delete entry ^F=File directory  ^D=restore character ^R=Restore entry ^U=cancel command  TYPE ^KP TO CONTINUE PRINT  TO RETURN CURSOR TO POSITION BEFORE SAVE,  TYPE ^QP BEFORE TYPING ANYTHING ELSE.  TYPE 1-9 TO VARY SPEED, SPACE TO STOP *** WARNING:  WRONG VERSION OF WSMSGS.OVR --  SOME MESSAGES MAY BE INCORRECT. *** *** WARNING  SCREENS OVER 48 LINES HIGH OR 120 COLUMNS WIDE  HAVE NOT BEEN TESTED AND DEBUGGED. PROCEED WITH  CAUTION; REDUCE WIDTHg, G=replace in entire file. To search for misspelled words, enter one of the following - RETURN=search forward, B=search backward, G=from start of file:  F - Fix word D - Add to dictionary  B - Bypass word S - Add to supplemental dictionary I - Ignore word  HELP LEVELS  3 all menus and explanations displayed  2 main editing menu (1-control-char commands) suppressed  1 prefix menus (2-characte to create and alter program source files  and other non-documents. Word wrap defaults off;  tabbing defaults to fixed (TAB chars in file; 8-col stops);  page breaks not shown; hi bit flags not used in file.  For normal word processing uses, use the "D" command instead.  Use this command to create a new document file,  or to initiate alteration of an existing document file.  A file name is 1-8 letters/digits, a period,  and an optional 0-3 character type. only)  R Set right margin|S Set line spacing |V Vari-Tabs"|^J Help ^K Block  X Release margins | |H Hyph-help$|^Q Quick ^P Print  I Set N Clear tab| 󭭭 |E Soft hyph#|^O Onscreen  G Paragraph tab |W Wrd wrap |D Prnt disp%|Space Bar returns  F Ruler from line |T Rlr line&|P Pge break(|you to Main Menu. < < < H E L P M E N U > > >  | |  H Display & set he  H Display & set the help level | S Status line | (from Main only)  B Paragraph reform (CONTROL-B) | R Ruler line | ^J Help ^K Block  F Flags in right-most column | M Margins & Tabs | ^Q Quick ^P Print  D Dot commands, print controls | P Place markers | ^O Onscreen  | V Moving text | Space Bar returns  | | you to Main Menu. IF BUGS ENCOUNTERED. *** WARNING: DISK FULL,  DELETING OLD .BAK FILE TO MAKE SPACE  (NORMALLY, THE PREVIOUS BACKUP FILE IS DELETED  ONLY AFTER EDIT IS SUCCESSFULLY COMPLETED).  CAN'T DISPLAY PAGE BREAKS IN A NON-DOCUMENT FILE *** WARNING: WORD TOO LONG TO FIT MARGINS  PUT AT FILE BEGINNING FOR CORRECT PAGE BREAK DISPLAY  Normally press RETURN only, or enter one or more of:  number=repeat count, B=search Backwards, W=whole Words only, U=ignore case, N=replace w/o askinr commands) also suppressed  0 command explanations (including this) also suppressed  CURRENT HELP LEVEL IS  ENTER Space OR NEW HELP LEVEL (0, 1, 2, OR 3):  The LOGGED DISK (or Current Disk or Default Disk) is the  disk drive used for files except those files for which  you enter a disk drive name as part of the file name.  WordStar displays the File Directory of the Logged Disk.  THE LOGGED DISK DRIVE IS NOW  NEW LOGGED DISK DRIVE (letter, colon, RETURN)?  Use this command File name may be preceded by disk drive letter A-D  and colon, otherwise current logged disk is used.  WARNING: You are editing the same file as you are printing.  WordStar will not allow you to save the edited version  until the print has completed or has been abandoned.  ALLOW PRINT TO FINISH BEFORE EDITING A FILE.  YOUR SYSTEM DOES NOT HAVE ENOUGH MEMORY TO  PERMIT SIMULTANEOUS EDITING AND PRINTING.  CAN'T EDIT A FILE WHILE MERGE-PRINTING --  FINISH OR ABANDON MERGE-PRINT BEFORE EDITING  FINISHING PRINT BEFORE EXIT  (type ^U to cancel exit command) ... FINISHING PRINT OF SAME FILE BEFORE SAVING  (Type ^U to cancel Save command) ...  FINISHING PRINT OF .BAK FILE BEFORE SAVING  (Type ^U to cancel Save command) ...  ABANDONING UNCHANGED  ABANDON EDITED VERSION OF INVALID  NAME:    NOT FOUND  Now printing file  "Y" TO ABANDON PRINT, "N" TO RESUME, ^U TO HOLD: nges. Furthermore, WordStar will not allow you to  save the file being edited while the print is in progress.  END EDIT (^KD) BEFORE STARTING PRINT.  YOUR SYSTEM DOES NOT HAVE ENOUGH MEMORY TO  PERMIT SIMULTANEOUS EDITING AND PRINTING.  TOO LITTLE MEMORY FOR MERGE-PRINT  *** PRINT OUTPUT DISK IS FULL. PRINT PAUSED. *** THAT PLACE MARKER NOT SETBLOCK BEGINNING NOT MARKED  (OR MARKER IS UNDISPLAYED)BLOCK END NOT MARKED  (OR MARKER IS UNDISPLAYED) ALL RAM AVAILABLE DISKETTE DIRECTORY FULL CLOSE FAILURE -  SYSTEM FAILURE, OR YOU CHANGED DISKETTES RENAME FAILURE -  SYSTEM FAILURE, OR YOU CHANGED DISKETTES INVALID SCREEN HEIGHT OR WIDTH  MESSAGE  Can't edit a file of type .BAK or .$$$  -- rEname or cOpy before editing BAD OVLY #BAD OVERLAY FILE, OR  WRONG VERSION OVERLAY FILE Overlay file  Not Found FILE  NOT FOUND  (The seperately sold file   is required for use of chosen function.) NOT FOUNDPROGRAM IS AN EE DRIVE  TOO LITTLE MEMORY TO COPY WHILE  EDITING OR MERGE-PRINTING  FILE  EXISTS -- OVERWRITE? (Y/N): FILE  IN USE BY WordStar   P=   Press space bar after reading screen: *** Invalid Dot Command Ignored: *** File Not Found *** But found, and will use, *** Cannot change disk in drive , request ignored Insert diskette with file then press RETURN: *** No .DF before .RV: *** WARNING: Overlong data value truncated *** Invalid variable name in y control page breaks, headings,  page numbering, page layout, etc. Dot commands are  typed in like other text.  Space bar for DOT COMMAND SUMMARY, ^U to return to editing:  ***** Dot Commands *****  PUT EACH DOT COMMAND ON SEPARATE LINE, WITH . IN COL 1  .PA new PAge  .CP n new page if less than n lines left on this page  .OP Omit Page numbers when printing, starting this page  .PN print Page Numbers, starting this page (default) PRINT?  For default press RETURN for each question: START AT PAGE NUMBER (RETURN for beginning)?  STOP AFTER PAGE NUMBER (RETURN for end)?  NUMBER OF COPIES (RETURN for 1)?  DISK  OUTPUT (Y/N):  OUTPUT  NAME?  USE FORM FEEDS (Y/N):  SUPPRESS PAGE FORMATTING (Y/N):  PAUSE FOR PAPER CHANGE BETWEEN PAGES (Y/N):  Ready printer, press RETURN: WARNING: You are printing the same file as you are editing.  The last saved version will be printed, not reflecting un-  saved chaBLOCK END MARKER BEFORE BEGINNING MARKERBLOCK TOO LONG -  MOVE OR DELETE IN TWO SMALLER BLOCKSCURSOR NOT IN RANGE FOR COLUMN MOVE/COPYCOLUMN READ / WRITE NOT ALLOWED THAT FILE EXISTS ON DESTINATION DISK.  DELETE EXISTING FILE FIRST,  OR USE A DIFFERENT DISKETTE.DISK FULLINVALID COPY LENGTHADDRESS IN "HOLE" (TSTADR)MEMORY FULL (MAK256)MEMORY SHORTAGE (MKSP)POINTER > 64K FROM CURSOR (PPTOAD)NOT ENOUGH MEMORY  OR YOUR OPERATING SYSTEM IS NOT  RELOCATED TO MAKEMPTY FILE!?PROGRAM TOO BIG FOR  MEMORY AVAILABLE UNDER WordStar LET PRINT COMPLETE BEFORE RUNNING A PROGRAM  NOT ENOUGH MEMORY TO USE "RUN PROGRAM" COMMAND  File  Not Found --  Can't Run a program unless  is available.  For spelling check, enter name of file to be checked.  (^R for last file edited)  For dictionary maintenance, enter name of file  containing words to add to or delete from dictionary.  FILE  ALREADY EXISTS  FILE  NOT ON SAM.RV command ignored *** WARNING: Data exhausted, null value(s) used ***** Print Directives *****  PRINT CONTROL CHARACTERS may be entered anywhere in a line  to invoke underlining, boldface, subscripts, pauses, etc.  They are entered by typing ^P and a letter. A directory  of most print controls is given on the ^P PREFIX MENU;  see manual for more.  DOT COMMANDS are special lines beginning with a period and  a two-letter code. The .PN n set Page Number to n, print page numbers  .PC n Page number Column (default 33 (30 if 64-col screen))  .PO n Page Offset: extra indent when printed (default 8)  .. text comment, not printed  press space bar for next frame:  .HE text HEading used until next .HE (default blank)  .FO text FOooting (replaces page number) (blank)  .PL n Paper Length: total number of lines (default 66)  .MT n Margin at Top: # lines, top paper to text (3)  .MB n Margin at Bottom: # lines, end text to end paper (8)  # lines text on page is PL - MT - MB (defaults to 55)  .HM n Heading Margin: blank lines between head and text (2)  .FM n Footing Margin: blank lines, text to footing (2)  FOR PAGE BREAKS TO DISPLAY AS THEY WILL PRINT, USE  .PL,.MT,.MB, AND .LH (next frame) AT FILE BEGINNING ONLY.  Depress space bar for next frame:  THE FOLLOWING WORK ONLY WITH INCREMENTAL PRINTERS:  .LH n Line Height in 48ths of an inch (deeturn to editing:  SPECIAL CHARACTERS in HEADINGS (.HE) and FOOTINGS (.FO):  # prints as current page number  \ do not interpret next character as a special character  ^K do not print following spaces if on even-numbered page  PAGE NUMBER POSITIONING: If a footing text is specified (.FO  dot command), the default bottom center page number is not  printed. Use a # in heading or footing to position page  number where desired. ^K followed by spaces followed by #  may Display Message  See manual for details and additional commands. Merge-Print  is an optional feature, operational only if MAILMRGE.OVR is  on your diskette. Press any key to return to editing:  ***** STATUS LINE (top line of screen) *****  ^JS at left end of line is command now executing  A:NAME.TYP is name of file you are now editing  PAGE n is page number of cursor (disregards .PN's)  LINE n is printout line on page of cursor position  COLn Status Line shows  FC=nnnn FL=nnnn in place of PAGE n LINE n .   FC=nnnn cursor position in characters (bytes) from  beginning of file  FL=nnnn cursor position in file lines from beginning  of file, including dot command lines   space bar:  ***** FLAG CHARACTERS (rightmost column of screen) *****  < line ends in "hard" carriage return, entered by user  space this line break arose from word wrap or paragraph scroll file up or down on main menu; also find (^QF)  delete text on main and ^Q menus; also ^KY  move or copy text on ^K menu  end edit / save file ^KD; see ^K menu  print (while editing) ^KP  set tabs and margins on ^O menu  reformat text ^B; ^JB gives info  find a string; replace ^QF; ^QA; ^L repeats last  press space bar for "entering text":  ***** ENTERING TEXT *****  To enter text at cursor position,fault 8)  .CW n Character Width in 120ths of an inch, for standard or  alternate pitch, whichever is in use (see ^P menu).  (default 12 for standard, 10 for alternate)  .SR n Subscript / Superscript Roll in 48ths of an inch (3)  .UJ OFF/ON "MicroJustification" off/on (default ON)  Use insure that printed column alignment exactly  matches screen, e.g. for tabular material:  Put .UJ OFF before table, put .UJ ON after table.  Space for next frame, ^U to rbe used to produce alternating left/right page numbers.  Space for next frame, ^U to return to editing:  ***** Merge-Print Dot Commands *****  .DF filename specify Data File for .RV  .RV name,name,name,... Read Variable values from data file  .AV "prompt",name Ask operator for Variable value  &name& anywhere in doc't prints as variable value. variable names are letter then 0-39 letters, digits, -'s. .FI filename Insert document File  .DM message n is printout column on line of cursor position  INSERT ON shows if character insertion is on (^V command)  MAR REL shows if margins are released (^OX command)  decimal shows during decimal tabbing  LINE SPACING n shows if line spacing is not 1 (^OS command)  PRINT PAUSE shows if printer is stopped (^KP to resume)  when WAIT appears, stop typing. Press space bar:  If page break display is OFF (^OP command) or edit  was started with N command, the  reform, and may moved on subsequent reform  + this line of document continues on next screen line  - next line will overprint this line  ? unrecognized or incomplete dot command  M Merge-Print (optional feature) dot command  P page break  : this screen line is before beginning of document  . after end of document press space bar:  COMMANDS TO -- ARE --  move cursor on main and ^Q menus  just type the text.  Use RETURN key for paragraph end or other fixed line break;  let word wrap form lines within paragraph.  Type ^V to turn insertion off (to overtype) or back on.  ^N may be used to create blank lines ahead of cursor,  as before inserting a paragraph.  Use ^B to realign margins after corrections.  ^JM shows info on margins, tabs, table entry, outline entry. press space bar after reading:  ***** TO MOVE A BLOCK OF TEXT *****  1. Put cursor on first character, type ^KB to mark start.  2. Put cursor after last character, type ^KK to mark end  (for end line, use start next line to include RETURN).  3. Put cursor at destination, type ^KV to move the text,  or ^KC to make a duplicate copy.  To undisplay markers afterwards, use ^KH.  ^KB and ^KK may be entered in either order, with or without  other intervening commands.  All above commands are on ^K menu. press space bar:help in hyphenating long words, place  cursor at beginning of paragraph and type ^B.  press space bar for more:  ^B reforms lines to end of paragraph as indicated by "hard"  carriage return (< in rightmost column).  Thus, it is important not to use RETURN between lines  within a paragraph when entering text.  ^B may be used to form hanging indents, change margins in  mid-paragraph, etc. The exact rule is:  "^B starts on the cursor line, at turn off "hyphen-help", type ^OH.  press space bar:  ***** MARGINS *****  To set left margin: Type ^OL. WordStar will asks for column.  Type desired column number 1-240 and press RETURN.  Or, to use column of cursor in file, just press ESCAPE.  To set right margin: type ^OR, proceed as above.  To set both margins to match text in a line already entered:  place cursor in that line, type ^OF.  To temporarily set left margin to next tab stop: apply to text  subsequently entered; they may be applied to previously  entered text with the paragraph reform command (^B).  press space bar for "Tab Stops":  ***** TAB STOPS *****   To set a tab: type ^OI. WordStar will ask for column number.  Type column number and press RETURN. Or, to use cursor  column, press the ESCAPE key. To set a decimal tab stop,  type "#" before typing column number or pressing ESCAPE.  To clear a tab stop or alling each table item. After last column  on a line, tabbing will move to first item on next line.  space bar:  OUTLINE FORMAT TEXT ENTRY -- We Suggest:  Set tab stops at desired indentations.  Set right margin as desired.  For each item:  Type ^OG's as required for item number indentation.  Type item number.  Type ^OG.  Type text of item, without using RETURN.  At end of item, press RETURN. Left margin resets.  Press RETURN again if bla  ***** PARAGRAPH REFORM (^B) *****  To realign margins of a paragraph after corrections, place  cursor at beginning of paragraph and type ^B.  To change margins of paragraph already entered, set margins  (^OL, ^OR), place cursor at paragraph beginning, type ^B. To change between justified and ragged right, or change line  spacing, set desired justification (^OJ) & line spacing  (^OS), place cursor at paragraph beginning, and type ^B.  To obtain WordStar's the left margin col-  umn, or at the cursor position, whichever is farther  left, and proceeds to the next 'hard' carriage return".  press space bar:  ***** Hyphen-Help *****  ^B will occasionally stop before the end of the paragraph  and ask you whether you wish a word hyphenated.  Following the instructions that appear on the screen, move  the cursor if desired to adjust the hyphen position,  then press "-" to hyphenate, or ^B to not hyphenate.  Totype ^OG.  Margins apply to text subsequently entered. To remarginate  text already entered: set margins and use ^B.  press space bar after reading:  ***** LINE SPACING AND JUSTIFICATION *****   To set line spacing: type ^OS. WordStar will ask for line  spacing. Enter a digit 1 thru 9.  To turn justification off (for ragged right format),  or to turn justification back on: type ^OJ.  Line spacing and justification settings tab stops: type ^ON.  To tab: type ^I, or press TAB key if present. Tabbing  inserts spaces to next tab stop if insertion (^V) is on.  Tabbing advances cursor over text if insertion is off.  press space bar:  ENTERING A COLUMNAR TABLE -- We Suggest:   Set a tab stop for each column of table.  Clear all other tab stops.  If not at end file, turn on insertion (^V),  or use ^N to make blank lines.  Tab (^I) after enternk line desired.  press space bar:  ***** RULER LINE *****   L----!----!----!----!----!----!----!----!---------R   L Left margin (set with ^OL)  R Right margin (set with ^OR)  ! regular tab stop (set with ^OI, clear with ^ON)  # decimal tab stop (set with ^OI, clear with ^ON)  - other positions between margins   press space bar after reading:  ***** PLACE MARKERS *****   Up to 10 place markers, identified by numbers (n) 0-9,  may be set in a file while the file is being edited.  To set place marker n at the cursor position: type ^Kn.  will display to indicate the marker position.  To return the cursor to place marker n: type ^Qn any  time during the same edit.  To remove the from the display: type ^Kn when the  cursor is already at the marker position.  press space bar:  ***** OTHER MARKER & RELATED COMMANDS *****   The block beginniOF WSMSGS.OVR ext for last block move or copy.  press space bar:  IF THIS DISPLAYS YOU ARE USING WRONG VERSION 626(~! ҕef͡eMh!mv626-e!645enk!#45e>f!"45e#e:-fn ~:6/!mv!6qN<26áursor to its position before preceding command.   ^QV moves cursor to start of last find/replace, or to  source of text for last block move or copy.  press space bar:  IF THIS DISPLAYS YOU ARE USING WRONG VERSION :^G Commencing WordStar installation. : : $1: contains the WordStar source diskette : $3: is the destination drive : : $2-- is the version to be installed : note: HRZ -- Horizon computer : HRZ100 -- Horizon with NS-100 printer : ADV -- ADVANTAGE computer : ADV100 -- ADVANTAGE with NS-100 printer : :^G If these are NOT the desired parameters, : immediately press the "DEL", "RUB-OUT", or "F15" key. : PIP $3: transfer sample text file PIP $2:EXAMPLE.TXT=$1:EXAMPLE.TXT : transfer 3 components of WordStar PIP $2:WSMSGS.OVR=$1:WSMSGS.OVR PIP $2:WSOVLY1.OVR=$1:WSOVLY1.OVR PIP $2:WSU.COM=$1:NSADV : perform housecleaning in case this is a diskette only installation. $2: ERA $2:DEMO-100.TXT ERA $2:NS*.* ERA $2:*.SUB : :^G *** INSTALLATION *** :^G :^G You must type "U" for the terminal selection and : make a printer selection. : : Please refer to section 1.5 of the North ng marker, ¾, and the block end marker,  ˾, are set and moved to in a similar manner; the  text between these markers can be moved (^KV), copied  (^KC), deleted (^KY), or written to a file (^KW).   ^QP moves cursor to its position before preceding command.   ^QV moves cursor to start of last find/replace, or to  source of text for last block move or copy.  press space bar:  IF THIS DISPLAYS YOU ARE USING WRONG VERSION :PIP.COM=A:PIP.COM PIP $3:STAT.COM=A:STAT.COM PIP $3:COPY.COM=A:COPY.COM PIP $3:FORMAT.COM=A:FORMAT.COM ERA $3:*.$$$$$$ SUBMIT $1:$2 $1 $3 th NS-100 printer : ADV -- ADVANTAGE computer : ADV100 -- ADVANTAGE with NS-100 printer : :^G If these are NOT the desired parameters, : immediately press the "DEL", "RUB-OUT", or "F15" key. : PIP $3Star Preface : for the instructions you will need to complete this procedure. : :^G Remember to type "N", this is not a normal, first time installation. $1:INSTALL :^G : Perform final housecleaning operations ERA INSTALL.COM ERA WSU.COM : : :^G This completes the installation of WordStar for your ADVANTAGE : computer system. : If you additionally purchased SpellStar or MailMerge, please refer : to section 1.6 of the Preface for further installation instructions. : : transfer sample text file PIP $2:EXAMPLE.TXT=$1:EXAMPLE.TXT : transfer 3 components of WordStar PIP $2:WSMSGS.OVR=$1:WSMSGS.OVR PIP $2:WSOVLY1.OVR=$1:WSOVLY1.OVR PIP $2:WSU.COM=$1:WSU.COM : perform housecleaning in case this is a diskette only installation. $2: ERA $2:DEMO-100.TXT ERA $2:NS*.* ERA $2:*.SUB : :^G *** INSTALLATION *** :^G :^G You must specify the terminal selection and : the printer selection. : : Please refer to section 1.5 of the Nort: transfer sample text files PIP $2:DEMO-100.TXT=$1:DEMO-100.TXT PIP $2:EXAMPLE.TXT=$1:EXAMPLE.TXT : transfer 3 components of WordStar PIP $2:WSMSGS.OVR=$1:NS100MSG PIP $2:WSOVLY1.OVR=$1:WSOVLY1.OVR PIP $2:WSU.COM=$1:NS100 : perform housecleaning in case this is a diskette only installation. $2: ERA $2:NS*.* ERA $2:*.SUB : :^G *** INSTALLATION *** :^G :^G You must specify the terminal selection and : type "U" for the printer selection. : : Please refer to section 1.5 ofh Star Preface : for the instructions you will need to complete this procedure. : :^G Remember to type "N", this is not a normal, first time installation. $1:INSTALL :^G : Perform final housecleaning operations ERA INSTALL.COM ERA WSU.COM : : :^G This completes the installation of WordStar for your HORIZON : computer system. : If you additionally purchased SpellStar or MailMerge, please refer : to section 1.6 of the Preface for further installation instructions. :  the North Star Preface : for the instructions you will need to complete this procedure. : :^G Remember to type "N", this is not a normal, first time installation. $1:INSTALL :^G : Perform final housecleaning operations ERA INSTALL.COM ERA WSU.COM : : :^G This completes the installation of WordStar for your HORIZON : computer system. : If you additionally purchased SpellStar or MailMerge, please refer : to section 1.6 of the Preface for further installation instructions. : : transfer sample text files PIP $2:EXAMPLE.TXT=$1:EXAMPLE.TXT PIP $2:DEMO-100.TXT=$1:DEMO-100.TXT : transfer 3 components of WordStar PIP $2:WSMSGS.OVR=$1:NS100MSG PIP $2:WSOVLY1.OVR=$1:WSOVLY1.OVR PIP $2:WS.COM=$1:NSADV100 : perform housecleaning in case this is a diskette only installation. $2: ERA $2:NS*.* ERA $2:*.SUB : :^G *** INSTALLATION *** :^G :^G You do not need to run the WordStar INSTALL program as both : the terminal selection (ADVANTAGE interface) and ;----------------------------------------------------------------------------- ;PROGNAME = NSASM2.ASM 4-12-82 ;----------------------------------------------------------------------------- ; TRUE: EQU 0FFFFH FALSE: EQU NOT TRUE ; BOMBIT: EQU FALSE ;see comments in NSASM1.ASM ;.. =FALSE lock out other keys on cursor pad. ; DEBUG: EQU FALSE ;allow room for DDT at top of TPA ; NS100: EQU TRUE ;include NS100 printer patches ADVANTAGE:EQU TRUE ;include ADVANTAGE enhancements HORIZON:EQU NOT AD------------------------------- ; **** KEYCODE EQUATES **** ;----------------------------------------------------------------------------- ; ; Various key codes used in mapping table ; CTRLA: EQU 01H ;Ctrl A CTRLB: EQU 02H ;Ctrl B CTRLC: EQU 03H ;Ctrl C CTRLD: EQU 04H ;Ctrl D CTRLE: EQU 05H ;Ctrl E CTRLF: EQU 06H ;Ctrl F CTRLG: EQU 07H ;Ctrl G CTRLH: EQU 08H ;Ctrl H CTRLI: EQU 09H ;Ctrl I CTRLJ: EQU 0AH ;Ctrl J CTRLK: EQU 0BH ;Ctrl K CTRLL: EQU 0CH ;Ctrl L CTRLM: EQU 0D 4 S5: EQU 85H ;Shift 5 S6: EQU 86H ;Shift 6 S7: EQU 87H ;Shift 7 S8: EQU 82H ;Shift 8 S9: EQU 89H ;Shift 9 ; ; Numeric key pad (CONTROL, SHIFT and key, or ; CONTROL and key with CURSOR LOCK on) ; CS1: EQU 91H ;Ctrl Shift 1 CS2: EQU 92H ;Ctrl Shift 2 CS3: EQU 93H ;Ctrl Shift 3 CS4: EQU 94H ;Ctrl Shift 4 CS5: EQU 95H ;Ctrl Shift 5 CS6: EQU 96H ;Ctrl Shift 6 CS7: EQU 97H ;Ctrl Shift 7 CS8: EQU 98H ;Ctrl Shift 8 CS9: EQU : the printer selection (NS100 printer) are already complete. : : Perform final housecleaning operations ERA INSTALL.COM ERA WSU.COM : : :^G This completes the installation of WordStar for your ADVANTAGE : computer system. : If you additionally purchased SpellStar or MailMerge, please refer : to section 1.6 of the Preface for further installation instructions. : VANTAGE ; ; This area contains the special functions pointed to in NSASM1.ASM. ; This code is in RAM just below BDOS (assumed to be GHCP/M system, which ; has lower BDOS than GCP/M 2Q system). ; NOTES: ; 1) Ensure that ENDOF2 is less than or equal to actual BDOS in your system. ; 2) Ensure that LONG2 and TOPJMP EQUS patched in NSASM1.ASM. ; IF ADVANTAGE IVOFF: EQU 28BH IVON: EQU 284H ;(see USER1 and NSASM1) for cursor blink CRBLIV: EQU 2B5H ; ;----------------------------------------------H ;Ctrl M CTRLN: EQU 0EH ;Ctrl N CTRLO: EQU 0FH ;Ctrl O CTRLP: EQU 10H ;Ctrl P CTRLQ: EQU 11H ;Ctrl Q CTRLR: EQU 12H ;Ctrl R CTRLS: EQU 13H ;Ctrl S CTRLT: EQU 14H ;Ctrl T CTRLU: EQU 15H ;Ctrl U CTRLV: EQU 16H ;Ctrl V CTRLW: EQU 17H ;Ctrl W CTRLX: EQU 18H ;Ctrl X CTRLY: EQU 19H ;Ctrl Y CTRLZ: EQU 1AH ;Ctrl Z ; ; Numeric key pad (SHIFT and key, or ; key with CURSOR LOCK on) ; S1: EQU 84H ;Shift 1 S2: EQU 8AH ;Shift 2 S3: EQU 83H ;Shift 3 S4: EQU 88H ;Shift 99H ;Ctrl Shift 9 ; ; Numeric key pad (COMMAND and key--regardless of ; CONTROL, SHIFT, or CURSOR LOCK) ; CMDA: EQU 0C1H ;COMMAND and A CMDB: EQU 0C2H ;COMMAND and B CMDC: EQU 0C3H ; etc. CMDD: EQU 0C4H CMDE: EQU 0C5H ; ; Function key ; F1: EQU 0DBH ;F 1 F2: EQU 0DCH ;F 2 F3: EQU 0DDH ;F 3 F4: EQU 0DEH ;F 4 F5: EQU 0DFH ;F 5 F6: EQU 0E0H ;F 6 F7: EQU 0E1H ;F 7 F8: EQU 0E2H ;F 8 F9: EQU 0E3H ;F 9 F10: EQU 0E4H ;F 10 F11: EQU 0E5H ;F 11 F12: EQU 0E6H ;F 12 F13: EQU 0E7H ;F 13 F14: EQU 0E8H ;F 14 F15: EQU 0E9H ;F 15 ; ; Shifted Function key ; SF1: EQU 0EAH ;Shift F 1 SF2: EQU 0EBH ;Shift F 2 SF3: EQU 0ECH ;Shift F 3 SF4: EQU 0EDH ;Shift F 4 SF5: EQU 0EEH ;Shift F 5 SF6: EQU 0EFH ;Shift F 6 SF7: EQU 0F0H ;Shift F 7 SF8: EQU 0F1H ;Shift F 8 SF9: EQU 0F2H ;Shift F 9 SF10: EQU 0F3H ;Shift F 10 SF11: EQU 0F4H ;Shift F 11 SF12: EQU 0F5H ;Shift F 12 SF13: EQU 0F6H ;Shift F 13 SF14: EQU 0F7H ;Shift F 14 ing cursor through NCONST) ; (CRBLIV=0FFH means WS blink only when next to reversed video field) ; ENDIF ;for ADVANTAGE special key equates ; IF BOMBIT AND ADVANTAGE ; pass following four shifted keys as unshifted case: ; MINUS: EQU 2DH SMINUS: EQU 0ADH ;shifted keypad minus COMMA: EQU 2CH SCOMMA: EQU 0ACH ;shifted " comma ZERO: EQU 30H SZERO: EQU 0B0H ;shifted " zero DOT: EQU 2EH SDOT: EQU 0AEH ;shifted " period ENDIF ; CR: EQU 0DH LF: EQU 0AH ; IF NS100 ;----sheet/fanfold) CODEY: EQU CODEG+1 ;^Y encountered in text (ENLARGED) CODEQ: EQU CODEG+2 ;^Q encountered in text (8LPI-6LPI) CODEW: EQU CODEG+3 ;^W encountered in text (DOUBLE STRIKE) CODEE: EQU CODEG+4 ;^E encountered in text (EMPHASIZED) CODER: EQU CODEG+5 ;^R encountered in text (CONDENSED) CODEHL: EQU CODEG+6 ; CR, halfline CODEZAP:EQU CODEG+7 ;clear all conditions (not menu selectable) ;initlz toggles in print driver, clear printer ; ;12HTOGLQ: EQU MSB+48 ;toggle 8 lines/in TOGLE: EQU MSB+69 ; " emphasized (on) TOGLW: EQU MSB+71 ; " double strike (on) TOGLY: EQU 14 ; " enlarged (on) TOGLR: EQU 15 ; " condense (on) TOGLG: EQU MSB+56 ; " single sheet ENDIF ; ;............................................................................. ; IF DEBUG DDTSIZE:EQU 01000H ;allow room ENDIF IF NOT DEBUG DDTSIZE:EQU 0 ENDIF IF ADVANTAGE BDOS: EQU 0D206H ;for GHCP/M TOPJMP: ORG 0CF80H-DDTSIZE ;2+ pages un ;(see BUILD) orig addr field of JMP at 5 for BDOS IF ADVANTAGE ID: DB 'N*WS' ;id of this region REV: DB '-' ;(see BUILD) 0 for GCP/M1.0.0 or '+' for 1.1.0 & higher PATCH: DB '-' ;(see BUILD) used by MORPAT for error detection ; HSETUP: JMP INITLZ ;ADV initlz ALL CAPS/CURSOR LOCK keys HNCONS: JMP NCONST ;revised Console Status HKEYIN: JMP KEYIN ;revised Console Input HBYE: JMP BYE ;reset ALL CAPS/CURSOR LOCK keys HOCONS: JMP $-$ ;(see BUILD) jmp to old GCP/M constat entry pt HCONSI: JMP $-$ SF15: EQU 0F8H ;Shift F 15 ; NONE: EQU 00H ;no second key TBLEND: EQU 00H ;mark end of substitution table ; ;............................................................................. IOSR2: EQU 0D0H ;read only port: ADVANTAGE status register 2 ;........................................................................... ; ;*** used only for blinking cursor CON: EQU 18H ;video driver cursor on command COFF: EQU 19H ;video driver cursor OFF command ; used when CRBLIV=0 (want blink------------------------------------------------------------------------- ; **** PRINTER EQUATES **** ;----------------------------------------------------------------------------- ESC: EQU 1BH MSB: EQU 80H BELL: EQU 07H ; ; WS will send special code when control char encountered in text. ; E.g., ^P^Q in text will cause WS to send CODEQ to "printer". ; Printer driver will perform ^Q toggle, sending proper printer sequence. ; ; CODEG: EQU 7FH ;^G (phantom rub-out) in text (cut (OFF condensed),14 (OFF enlarged), ESC,32H (6 lines/in mode) ;ESC,46H (OFF emphasized),ESC,48H (OFF double strike) ;ESC,39H (select paper end detect) ; ; Special printer code number to set desired mode. ; If msb of code=1, send a preliminary ESC. ; DFLTQ: EQU MSB+50 ;default 6 lines/in DFLTE: EQU MSB+70 ; " emphasized (off) DFLTW: EQU MSB+72 ; " double strike (off) DFLTY: EQU 20 ; " enlarged (off) DFLTR: EQU 18 ; " condense (off) DFLTG: EQU MSB+57 ; " fanfold paper ; der GHCP/M BDOS ENDIF IF HORIZON BDOS: EQU 0B806H ;for HCP/M TOPJMP: ORG 0B700H-DDTSIZE ;not as much room needed for NS100 driver in HRZ only ENDIF ;............................................................................. ; ; Use a jump table here because can't be assembled the same time as BUILD ; (couldn't load one module with DDT as this part would overlay DDT). ; This way absolute address restriction in USER1 can be met. System relative ; addresses can go here. ; HBDOS: JMP $-$;(see BUILD) jmp to special GCP/M console input ; in Upper BIOS HWRREG: JMP $-$ ;(see BUILD) jmp to WRREG entry pt HRDREG: JMP $-$ ;(see BUILD) jmp to RDREG entry pt COPYO: DB $-$ ;(see BUILD) local copy of OPTION byte used for ; conditional EI during INISUB and UNISUB. OFFDLY: DW 0C00H ;off delay count for blinking cursor ONDLY: DW 0B00H ;on delay count COUNT: DW $-$ ;(see BUILD) dcrm to zero means toggle cursor state CSTATE: DB CON ;current state of blinking cursor ( on=CON, off=COFF) ENDIF IF NS100 HPUBSY: JMP BUSYTEST ;convert HLISTST flags to WS format HPUSEND:JMP SEND ;NS100 driver (special ctrl codes, toggles) HLIST: MOV C,A ;set up jmp to GCP/M LIST output device JMP $-$ ;(see BUILD) (HLIST+2 for addr field...) HLISTST:JMP $-$ ;(see BUILD) to GCP/M LISTST status (not WS format) ENDIF ; IF ADVANTAGE ;----------------------------------------------------------------------------- ; **** USER INITIALIZATION **** ;----------- INITLZ: DI ;prevent possible read/write reg confusion CURL1: LXI H,4*256+1 ;H=Cursor Lock command ; L=state mask CALL STATE ;toggle current state of Cursor Lock JZ CURL1 ;Z -lock off ; NZ-lock on ;............................................................................. ; ; Disable the Caps Lock key ; Issue command 7 to the I/O control register ; Bit zero of I/O status reg 2 contains resulting state ; (1= on, 0= off) ; CAPL1: LXI H,7*256+1 ;H=Cap Lock command ; n, off). ; ;........................................................................... ; Disable the Cursor Lock key ; BYE: DI ;prevent possible read/write reg confusion CURL2: LXI H,4*256+1 ;H=Cursor Lock command ; L=state mask CALL STATE ;toggle current state of Cursor Lock JNZ CURL2 ;NZ-lock on ; Z -lock off ;............................................................................. ; ; Enable the Caps Lock key ; CAPL2: LXI H,7*256+1 ;H=Cap Lock command ; L=stat **** PERFORM I/O COMMAND **** ;----------------------------------------------------------------------------- ; ; Issue I/O command in H via WRREG, mask result with L ; RET: A=A AND L , BCDE trashed ; ; STATE: MVI C,4 ;read current i/o control reg code CALL HRDREG ;ret: B=i/o control code MOV A,B ;need bits 2-0 for new command MOV E,A ;save to restore at end ANI 11111000B ;A= other conditions preserved ready for new command ORA H ;insert new command MOV B,A ;B=future I (C,D trashed) ; WRCIO: IN IOSR2 ;msb of A = current state of Cmd Acknlwdg MOV D,A ;save state for later MVI C,4 ; B=new code command: 0-3 4 5 CALL HWRREG ;WRREG=MAP0-3, I/O CTRL, SCAN LINE WRCI2: IN IOSR2 ;await command acknowledge XRA D ;msb of D = previous state JP WRCI2 ;if old state=new state, msb = 0 wait. ; When old <> new, msb =1, command acknowledged IN IOSR2 ;current result of state change RET ; ;----------------------------------------------------------------------------------------------------------------------- ; ; Called through INISUB (for WS user initialization). ; Sets the CURSOR LOCK key on, and sets the ALL CAPS key off. ; ; Uses the RDREG and WRREG CP/M routines imbedded in the "Upper Bios". ; ;............................................................................. ; ; Enable the Cursor Lock key ; Issue command 4 to the I/O control register ; Bit zero of I/O status reg 2 contains resulting state ; (1= on, 0= off) ;L=state mask CALL STATE ;toggle current state of Cursor Lock JNZ CAPL1 ;NZ-lock on ; Z -lock off ;............................................................................. ; do interrupt housekeeping ; JMP INTRUP ; ;----------------------------------------------------------------------------- ; **** DE-INITIALIZATION **** ;----------------------------------------------------------------------------- ; ; Restore Caps lock and Cursor lock to original state (oe mask CALL STATE ;toggle current state of Cursor Lock JZ CAPL2 ;Z -lock off ; NZ-lock on ;............................................................................. ; Do interrupt housekeeping ; INTRUP: LDA COPYO ;Local copy of BIOS OPTION byte captured by BUILD ANI 10H ; Want interrupts enabled? RZ ;Z -no, leave off EI ;NZ-yes, enable after disk activity RET ; so do here, too. ; ;----------------------------------------------------------------------------- ; /O control register value CALL WRCIO ;write B to control register (function 4) ;A= result of state change, D trashed ANA L ;mask result PUSH PSW ;save result MOV B,E CALL WRCIO ;restore previous reg setup POP PSW ;restore STATE call result RET ; ;----------------------------------------------------------------------------- ; **** WRITE I/O CONTROL REGISTER **** ;----------------------------------------------------------------------------- ; ; Write B to I/O control reg ; ------------------------ ; **** NEW CONSTAT **** ;----------------------------------------------------------------------------- ; ; Sets console status true if key available from key mapping flag or ; key at keyboard. ; ; ROUTINE: ; If special blink mode ; service cursor blink; ; If FLAG is clear ; branch to original CONSTAT routine which marks ACC; ; else ; return CONSTAT ready TRUE. ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; NCONST: LDA CRBLIV ;are we in special blinking mode? ORA A ;0=special mode, 0FF=WS inverse blink mode CZ BLINK ;Z- do special mode ; ; see if key ready ; LDA FLAG ORA A ;second key ready? JZ HOCONS ;Z -no, see if keyboard has a key MVI A,0FFH ;NZ-yes, indicate a key is ready RET ; ;----------------------------------------------------------------------------- ; **** BLINK **** ;------------------------------------------------ount JMP OUTPUT ; send new value, return to NCONSTAT directly ; ; The values at OFFDLY and ONDLY were computed to approximate the WS blink. ; ; Very approximately: ; ; [sum of OFFDLY and ONDLY] * .000166 = length (in sec.) of one on/off cycle ; ; [sum of DEL1 and DEL2] * .058 = " " " " " " ; ;----------------------------------------------------------------------------- ; *** NEW CONSOLE INPUT **** ;--------------------------------------------ggle smooth scrolling on CMD C. ; ; ROUTINE ; ; If second key flag ON ; {returns flag as second key; ; clears flag. ; } ; else ; {KEY:awaits and gets key; ; If key is CMDA, CMDB, CMDC ; {toggle respective function; ; branch to KEY... ; } ; else ; {compare to table entries; ; If in table ; {second key of sequence becomes second key flag; ; returns first key of sequence. ;t key ; ; get new key and see if in the substitution table ; KEY1: CALL NCONST ;do blinking and check for a key ready JZ KEY1 ;await key CALL HCONSI ;CONSOLI (Upper BIOS console input) in GCP/M ; A=new key CPI 80H ;Special ADVANTAGE key code? RC ;C -no, (<=7FH), return ASCII to WS ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; See if special CMD key ; CPI CMDA ;toggle key clicks? JZ KEY12 ;Z -yes, do it ;* CPI CMDC ;NZ-no, toggle smooth scroll? or EOT CMP B ;Input key code in the table? JNZ KEY21 ; NZ-no, keep looking DCX H ; Z-yes, back up to second key MOV A,M STA FLAG ; Flag= second key code (or 0) DCX H MOV A,M ; A=first key code RET ;return key to WS ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; reject special ADVANTAGE keys not in the table ; KEY3: MVI A,7 ;stage a bell and warn the user his/her key ignored ; ; send code in A to CP/M video driver ; ECHO: CALL OUTPUT ----------------------------- ; Dcrm value at COUNT. When hits zero, toggle cursor state, initlz countdown. ; BLINK: LHLD COUNT DCX H SHLD COUNT MOV A,H ORA L ;if not zero, RNZ ; cursor state still valid, leave it LXI H,CSTATE ;HL-->CSTATE MVI A,CON XOR COFF XRA M ;A=soon to be new cursor state MOV M,A ;toggle cursor state CPI COFF ;Is new state off? LHLD OFFDLY ; get off count JZ BLNK1 ; Z-yes, is off LHLD ONDLY ;NZ-no, get on count BLNK1: SHLD COUNT ; save appropriate c--------------------------------- ; Non-ASCII encoded ADVANTAGE keys (those combinations which produce ; codes above 7FH) are either mapped into a standard WordStar ; single/double key ASCII sequence or are rejected. ; ; Thus, WS never sees a special ADVANTAGE key: ; a) those in the substitution table are translated, ; b) those not implemented are rejected. ; ; Performs toggle key clicks on CMD A. ; Performs toggle cursor blinking on CMD B. ; *** NO LONGER Performs to } ; else ; {If high bit on (i.e., ADVANTAGE key not in table) ; {ring bell; ; branch to KEY... ; } ; else ; {just return key. ; } ; } ; } ; } ; END. ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; FLAG: EQU $+1 ;flag .EQ. 0, no second key ; .NE. 0 ,code of second key KEYIN: MVI A,$-$ ;second key flag ORA A ;test flag JNZ KEY11 ;NZ-flag ON, use as nex ;* JZ KEY13 ;Z -yes, do it CPI CMDB ;NZ-no, toggle cursor blink? JZ KEY14 ;Z -yes, do it ; ; KEY in A is a special ADVANTAGE key. If not in substitution table, ; reject it; otherwise set-up 1 or 2 key substitution. ; KEY2: LXI D,3 ;table element size LXI H,TABLE ;head of table MOV B,A ;B=input key code KEY21: MOV A,M ;A=next ADVANTAGE key code from table ORA A ;End of table? JZ KEY3 ; Z -yes, reject input code DAD D ; NZ-no, advance table ptr to next key code XRA A RET ;return NUL back to WS (do not loop back for another ; key as this may impose a potentially disruptive ; delay--i.e., ruin concurrent printing/editing, ; WS blinking in reverse video field, etc.) ; ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; use flag as next key ; KEY11: LDA FLAG ;NZ-flag on, return as second key PUSH PSW XRA A STA FLAG ;clear flag POP PSW RET ;A= second key of sequence ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; just toggle key clicks mode ; CLICK: EQU $+1 ;current key click state (5=on, 6=off) ; KEY12: MVI A,6 ; Z-yes, toggle current click state ; assume initlz state=off XRI 5 XOR 6 STA CLICK JMP ECHO ;send A (=new key click state) to video driver ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ;WS doesn't utilize smooth scrolling with LINDEL/INS active, so this ;areping for CRBLIV, IVON/IVOFF, COUNT/CSTATE) ; ; KEY14: LDA IVOFF ;change IVOFF/IVON count XRI 1 XOR 2 ; 1<-->2 for count byte STA IVOFF STA IVON ; LDA CRBLIV ;change CURSOR blink mode ; get current cursor state (00H=special blink) ; (FFH=WS next to inverse blink) XRI 0 XOR 0FFH ;toggle mode (sets Z for special, NZ for WS) STA CRBLIV ;save new cursor state ; reset blink count and cursor state in case mode is special ; (not needed for W. . . . . . . . . . . . ENDIF ;special ADVANTAGE drivers IF NS100 ;----------------------------------------------------------------------------- ; **** NS100 PRINTER DRIVER **** ;----------------------------------------------------------------------------- ; ; WS printer control commands (^P^letter) cause WS to send out special printer ; control codes which are interpreted here. ; These codes allow toggling printer attributes and sending control code ; sequences. ; ; ACC=le, and send new state to printer. ; TOGLCODE:SUI CODEG ;make lowest toggle code relative 0 CPI CODECNT ;valid code (relative 0 result .LT. # of codes)? JNC PERROR ;NC-no, not CODEHL\CODEZAP nor in range CODEG to CODER ; C -yes, was good code (now A= 0 to CODECNT-1) ; ; Use relative 0 result as displacement into conversion table ; TOGLC1: LXI H,NS100CODES ;pt to table of code/toggle value pairs ADD A ; (2 bytes per item in table) MOV C,A ;C=disp into table (relative 0) MVI B,0 ;BCH, send ESC to printer, then stripped code ; PROUT: CPI 80H ;ESC needed? JC HLIST ;C -no, just send character PUSH PSW ;NC-yes, set up for ESC MVI A,ESC CALL HLIST ;send ESC POP PSW ;restore char w/MSB=1 ANI 7FH ;A=second character JMP HLIST ;send second character ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; Possible bad code from WS-- this should never happen... ; but just in case ring bell. ; PERROR: MVI A,BELL ;NC-yes, hi-bit on reject char ea never really did anything useful (except GCP/M 100 with help level ;less than 3 with the ^Q^Z continous scrolling) ; ; toggle smooth scroll on/off ; ;*SCROLF: EQU $+1 ;mark current key scroll state (11=on, 15=off) ; ;*KEY13: MVI A,15H ;current scroll state ; (assume initlz state=off) ;* XRI 11H XOR 15H ;* STA SCROLF ;* JMP ECHO ;send new state in A to video driver ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; toggle cursor blink mode ; (do house-keS blink mode, but do it anyway) LHLD ONDLY SHLD COUNT ;initlz cursor countdown to "on" delay MVI A,CON STA CSTATE ;set to on mode JMP ECHO ;ensure cursor on ; ;----------------------------------------------------------------------------- ; **** BDOS TERMINAL OUTPUT **** ;----------------------------------------------------------------------------- ; OUTPUT: MOV E,A ;setup BDOS func 6 direct I/O MVI C,6 JMP HBDOS ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . character to output or special NS100 printer code ; SEND: CPI LF ;if LF, enlarged toggle may need special care JZ LFSENT CPI CODEG ;Special control character? (>=CODEA) JC HLIST ;C -no, just send to printer CPI CODEHL ;NC-yes, half-line down code? JZ HALFLINE ;Z -yes, send special sequence CPI CODEZAP ;NZ-no, "clear all" code (see PSINIT)? JZ DOZAP ; Z-yes,do it ; NZ-no, see if toggle code ; ; Verify code for either ^G, ^Y, ^Q, ^W, ^E, or ^R, ; toggle current state tab=control code disp DAD B ;HL--> current state token MOV A,M ;A= current state of toggle (code or ESC seq (msb=1)) ;toggle current state value INX H ;HL--> toggle value XRA M ;A=new state value (if on, now off; vice versa) DCX H ;restore ptr to current state position MOV M,A ;update (soon-to-be) current state of toggle; ; now, send to printer ; Fall through to printer output ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Send to printer: if char in ACC >7FJMP HLIST ; ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;put default values into ^G, ^Y, ^Q, ^W, ^E, & ^R current state table ; and send to printer ; DOZAP: LXI H,DEFAULTS ;HL-->initial defaults table LXI D,NS100CODES ;DE-->current state (alternate bytes) MVI B,CODECNT ;B=# of toggles to re-set ; ZAP1: PUSH B ;save loop count MOV A,M ;A= default value INX H ;HL-->next value PUSH H ;save default ptr STAX D ;set current state to default INX D ;DE-->toggle value for this state INX D ;DE-->next state PUSH D ;save state ptr CALL PROUT ;send code to printer (expanding ESC as needed) POP D ; restore state ptr POP H ; restore default ptr POP B ; restore loop count DCR B ;loop requisite # of times JNZ ZAP1 RET ;done with CODEZAP reset ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; On LF, renew ENLARGE if toggle on (ENLARGE does auto off on LF) ; ; On entry, Acc= LF ; LFSENT: CALL HLIST ;assume yes, = 12/72 spacing JZ HALF1 ;Z -yes, is 6 lpi MVI A,9 ;NZ-no, is 8 lpi HALF1: ORA A ;A=n/72 for 6 or 8 lpi, clear CY STA FULL ;patch halfline string to restore HALF2: INR A ;A=10 or 13 RAR ;A= 5 or 6 (about half) STA HALF ;patch halfline string ; HALFLOOP: MOV A,M CPI 0FFH ;end of halfline string? JZ EPHALF ;Z -yes, see if need to re-ENLARGE PUSH H ;NZ-no, send next code CALL HLIST POP H INX H ;to next char in string JMP HALFLOOP ;send entire s(MSB=1 for leadin ESC) (calculated by default -XOR- toggled state) ; NS100CODES: DB DFLTG,DFLTG XOR TOGLG ENLARGE: DB DFLTY,DFLTY XOR TOGLY LINES$PER$INCH: DB DFLTQ,DFLTQ XOR TOGLQ DB DFLTW,DFLTW XOR TOGLW DB DFLTE,DFLTE XOR TOGLE DB DFLTR,DFLTR XOR TOGLR CODECNT: EQU ($-NS100CODES)/2 ;# of elements in the table ; ;----------------------------------------------------------------------------- ; **** NS100 PRINTER BUSY TEST **** ;-------------------------------------------TITUTION TABLE FOLLOWS **** ;----------------------------------------------------------------------------- ; ;The form of each 3 byte entry is - ; byte 1 = ADVANTAGE keycode for a particular function ; byte 2 = 1st byte of MicroPro's corresponding ; keycode for that particular function ; byte 3 = 2nd byte of MicroPro's code when a two byte ; code, else zero ; ; (byte 1 = 0 to mark end of table) ; S2,CTRLX,NONE ;Shift 2 ^X DB S3,CTRLC,NONE ;Shift 3 ^C DB S4,CTRLS,NONE ;Shift 4 ^S DB S5,CTRLQ,NONE ;Shift 5 ^Q DB S6,CTRLD,NONE ;Shift 6 ^D DB S7,CTRLW,NONE ;Shift 7 ^W DB S8,CTRLE,NONE ;Shift 8 ^E DB S9,CTRLR,NONE ;Shift 9 ^R ; ENDIF ;temporarily for ADV IF BOMBIT ; pass CURSOR LOCKED (or SHIFTED) "-", "," , "0", and "." from the keypad ;always send CR to printer ; EPHALF: LDA ENLARGE ;get current state of ENLARGE CPI DFLTY ;is enlarge OFF (=default state)? RZ ;Z -yes, don't worry about it MVI A,TOGLY ;set up to re-activate ENLARGE JMP PROUT ;to printer ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; ; Deal with halfline for sub/superscript, end of line (respect 6/8 lpi state) ; ; HALFLINE: LXI H,HALFSTRING LDA LINES$PER$INCH ;get current 6/8 lpi CPI DFLTQ ;=6 LPI? MVI A,12 tring ; HALFSTRING: DB CR ;do prescribed CR DB ESC,41H,6 ;set to 6/72 = half of 1/6 in ; HALF: EQU $-1 ;pt to half setting DB LF ;do half line feed DB ESC,41H,12 ;restore to 6 lpi mode ; FULL: EQU $-1 ;pt to full line setting DB 0FFH ;end of string ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; DEFAULTS: DB DFLTG,DFLTY,DFLTQ,DFLTW,DFLTE,DFLTR ;default conditions ; ; Current state of toggle & exclusive OR value for changing to opposite state ; ---------------------------------- ; WS wants CY=1 if printer busy. ; Standard CP/M test returns ACC=0 if printer busy (ACC=0FFH if printer ready) ; NOT supported in HRZ NS-100 version... ; BUSYTEST: CALL HLISTST ;A=0 busy, FFh ready RRC ;CY=MSB (0=busy, 1=ready) CMC ;reverse sense of CY (1=busy, 0=ready) RET ; ENDIF ;end of NS100 printer section ; IF ADVANTAGE ; ;----------------------------------------------------------------------------- ; **** ADVANTAGE KEYCODE SUBS ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; This next section defines the key codes produced by the ; SHIFTED NUMERIC KEY PAD ; ; The key pad can be switched to an alternate, "cursor movement" mode by ; either of two methods: ; ; a) 2 key method: press a numeric key pad key AND depress either SHIFT key ; b) 1 key method: press a numeric key pad key with CURSOR LOCK ON. ; TABLE: EQU $ DB S1,CTRLZ,NONE ;Shift 1 ^Z DB ; as unshifted case DB SMINUS,MINUS,NONE DB SCOMMA,COMMA,NONE DB SZERO,ZERO,NONE DB SDOT,DOT,NONE ENDIF IF ADVANTAGE ; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; This next section defines the key codes produced by the ; CONTROL SHIFTED NUMERIC KEY PAD ; ; To expand the alternate, "cursor movement" mode selected above, ; depressing the CONTROL key with the above combinations (SHIFTED NUMERIC) ; will produce more functions. These functions are selected by ; either of two methods: ; ; a) 3 key method: numeric key pad key, either SHIFT key, AND CONTROL key, ; b) 2 key method: numeric key pad key with CURSOR LOCK ON AND CONTROL key. ; ; ;***** DB CS1,CTRLQ,CTRLZ ;Ctrl Shift 1 ^QZ ;***** DB CS2,CTRLQ,CTRLX ;Ctrl Shift 2 ^QX ;***** DB CS3,CTRLQ,CTRLC ;Ctrl Shift 3 ^QC DB CS4,CTRLA,NONE ;Ctrl Shift 4 ^A ;***** DB CTRLQ,NONE ;Ctrl Shift 5 ^Q DB CS6,CTRLF,NONE ;CtDB F2,CTRLO,CTRLL DB F3,CTRLO,CTRLG DB F4,CTRLB,NONE DB F5,CTRLN,NONE DB F6,CTRLP,NONE DB F7,CTRLJ,NONE DB F8,CTRLV,NONE DB F9,CTRLK,CTRLB DB F10,CTRLK,CTRLK DB F11,CTRLQ,CTRLF DB F12,CTRLL,NONE DB F13,CTRLK,CTRLD DB F14,CTRLO,CTRLR DB F15,CTRLG,NONE ; ;This next section defines the Shifted Function keys. ;Shifted F1 - F15 will produce the standard WordStar ; control sequences as shown.end of ADVANTAGE ENDOF2: EQU $ LONG2: EQU ENDOF2-TOPJMP OVERLAP:EQU BDOS-6-$ ; if negative, error: TOPJMP is too high IF OVERLAP SHR 15 ***ERROR*** 'TOPJMP' is too high--this module would overwrite BDOS. ENDIF END ;end of NSASM2.ASM TRLQ,CTRLA DB SF13,CTRLK,CTRLQ DB SF14,CTRLO,CTRLN DB SF15,CTRLU,NONE ; ;COMMAND A, B,& C are not seen by WordStar but toggle ADVANTAGE ; characteristics. These keys are intercepted in KEYIN. ; ; DB TBLEND ;End of table. ENDIF ;;----------------------------------------------------------------------------- ;PROGNAME = NSASM1.ASM 4-16-82 ;----------------------------------------------------------------------------- ; ; Sets USER1 default options. ; Sets up special functions at "bottom" of CP/M BDOS. ; TRUE: EQU 0FFFFH FALSE: EQU NOT TRUE ; ; BOMBIT: EQU FALSE ;pass SHIFTED keypad comma,...,minus as unshifted ; DEBUG: EQU FALSE ;allow room for DDT ; NS100: EQU TRUE ;incorporate NS-100 printer patches ADVANTAGE:Erl Shift 6 ^F ;***** DB CS7,CTRLQ,CTRLW ;Ctrl Shift 7 ^QW ;***** DB CS8,CTRLQ,CTRLE ;Ctrl Shift 8 ^QE ;***** DB CS9,CTRLQ,CTRLR ;Ctrl Shift 9 ^QR ; ;Note - ;Enabling the CURSOR LOCK performs a shift of the numeric keypad. ;This makes Ctrl Shift 1 possible with two keys (Ctrl 1). ; ; ;This next section defines the Function keys. ; F1 - F15 will produce the standard WordStar ; control sequences as shown. ; DB F1,CTRLO,CTRLX ; DB SF1,CTRLO,CTRLJ DB SF2,CTRLO,CTRLI DB SF3,CTRLO,CTRLF DB SF4,CTRLT,NONE DB SF5,CTRLY,NONE DB SF6,CTRLO,NONE DB SF7,CTRLK,NONE DB SF8,CTRLO,CTRLC DB SF9,CTRLK,CTRLV DB SF10,CTRLK,CTRLC DB SF11,CTRLK,CTRLY DB SF12,CTRLQ,CTRLA DB SF13,CTRLK,CTRLQ DB SF14,CTRLO,CTRLN DB SF15,CTRLU,NONE ; ;COMMAND A, B,& C are not seen by WordStar but toggle ADVANTAGE ; characteristics. These keys are intercepted in KEYIN. ; ; DB TBLEND ;End of table. ENDIF ;QU TRUE ;incorporate ADVANTAGE enhancements HORIZON:EQU NOT ADVANTAGE ; ; ; The files WSU.COM from MicroPro, NS100 (NS100 printer installed), ; NSADV (ADVANTAGE terminal installed), NSADV100 (both NS100 printer ; and ADVANTAGE terminal installed), WSMSGS.OVR from MicroPro, and ; NS100MSGS (special PRINT MENU for the NS100) are intended ; to provide a complete WordStar package for all combinations of North ; Star hardware (HORIZON, ADVANTAGE, NEC printer and NS100 printer). ; ; NSASM1.ASM and NSASM2.ASM are included to assist further customization. ; However, modifications to the factory-supplied "standard" modules listed ; above CANNOT be supported by North Star. You must have the expertise to ; effect any such modifications without help. ; ; The supplied information is the only information available from North Star. ; ; The DDT I and R commands are used to install the modifications over ; WS.COM 3.00 (installed for SOROC IQ 120) to create an enhanced version ; of W.............................. ; NOTES: ; 1) Ensure that ENDOF2 is less than or equal to actual BDOS in your system. ; 2) Set the labels ADVANTAGE and NS100 to select desired configuration. ;............................................................................. ; ; NSADV100 is WSU.COM installed for a SOROC IQ 120 and DDT'ed with ; NSASM1.HEX (attaches BUILD, sets ADVANTAGE/NS100 defaults); ; NSASM2.HEX offset (attaches special ADVANTAGE/NS100 functions and table); ; and saved fr terminal (leave printer ; as is). ; ERA INSTALL.COM ; ; On the HORIZON, to select your own printer and terminal, ; ; ERA NS*.* ; Run INSTALL on WSU.COM to create WS.COM for your terminal and printer. ; ERA INSTALL.COM ; ; ; If patches were made to NSASMx.ASM, ; ASM NSASM2 to get new .HEX file (edit TOPJMP & LONG2 addr in NSASM1.ASM); ; ASM NSASM1 " " " " " ; Run INSTALL on WSU.COM to create WS.COM as desired; ; DDT WS.COM ; -INSASM1.HEX ; -R ; NEXT PC ; ------------------------------------------- ; **** IMPLEMENTATION CONSIDERATIONS **** ;----------------------------------------------------------------------------- ; The special routines used to enhance WS for use with the ADVANTAGE and/or ; NS100 printer do not fit into the areas provided by WS. The provision for ; EXTENDED PATCHING (described in listing USER1) does not protect these ; routines when another program (e.g., STAT or SPELSTAR) is run under WS. ; ; At the termination fication, the special routines are located at the ; bottom of the lowest TPA expected (i.e., 0D206H in the ADVANTAGE with ; GHCP/M and 0B806H on the HRZ with HCP/M). This allows absolute addresses ; in USER1 to point to the fixed area near 0D206H (0B806H). Also, the first ; instruction of WS (at 100H) was changed to jump to a special BUILD module, ; which allows: "finding" CP/M, moving special drivers to top of TPA, ; patching addresses in the fixed area, and dealing with revision ; discrepS.COM for the NorthStar ADVANTAGE computer and/or NS100 printer. ; ;Edit NSASM1.ASM to modify the factory-set default options appearing in USER1. ;Edit NSASM2.ASM to modify the function key/numeric key pad assignments. ;Edit NSASM1.ASM & NSASM2.ASM to modify the definition of the NS-100 printer. ;If NSASM2.ASM is modified, be sure to revise the values for TOPJMP and LONG2 ; in NSASM1.ASM. ;If any module is edited, run ASM to create a new hex file. ;...............................................om RAM. ; ; To use WS with the ADVANTAGE and the NS100 printer: ; ; REN WS.COM=NSADV100 ; REN WSMSGS.OVR=NS100MSG ; ERA NS*.* ; ERA INSTALL.COM ; ; To use a different printer with the ADVANTAGE, ; ; REN WSU.COM=NSADV ; ERA NS*.* ; Run INSTALL on WSU.COM to create WS.COM for your printer (leave terminal ; as is). ; ERA INSTALL.COM ; ; On the HORIZON, to use the NS100 printer, ; ; REN WSU.COM=NS100 ; REN WSMSGS.OVR=NS100MSG ; ERA NS*.* ; Run INSTALL on WSU.COM to create WS.COM for your xxxx 0000 ; -Hxxxx TOPJMP (default was CF80 for ADV, B700 for HRZ) ; junk yyyy ; -INSASM2.HEX ; -Ryyyy ; NEXT PC ; ppdd 0000 ; D238,239 dump NOTDOC ; 0238 dd pp junk check that proper end value here, else ; edit TOPJMP and LONG2 in NSASM1.ASM ; -G0 ; SAVE ss WS.COM [if dd=00, ss = (pp -1) which you convert to decimal; ; otherwise ss = pp which you convert to decimal] ; ;----------------------------------of such programs, a fresh copy of USER1 is loaded and ; no documented routine (such as TRMINI) is called. These conditions restrict ; the addresses in USER1 to be absolute addresses (i.e., can't dynamically ; alter ram image of USER1 and re-use this copy after running program exits. ; Can't re-alter USER1 because can't intercept undocumented entry point). ; ; Also, SPELSTAR uses some of the addresses in USER1, so the special routines ; must be in a protected area. ; ; For purposes of simpliancies and bugs. Lastly, the WS routine which issues ; 24 line feeds and is CALLed on WS boot or re-boot (unlike documented ; routines in USER1), was modified to activate a routine in MORPAT. ; ; Disk layout: ; ; 100 - 3EFF WS root (instruction at 100 ; changed to JMP 3F00) ; ; 3F00 - [endof1 - 1] BUILD code ; ^ ^ ; +-----------+ ; long1 ; ; endof1 - [endof1 + long2 -1] Skeleton of special fcns ; ^ ^ with substitution table. ; +-------------+ ; long2 ; ; FUDGE = LONG1 + LONG2 ; ; becomes RAM layout ; 100-3EFF WS root (instruction at 100 still JMP 3F00) ; CFC0(B700)-endof2 Special functions (linked to actual BDOS and BIOS) ; with substitution table ; D206(B806) Hard Disk BDOS ADVANTAGE (HRZ) ; ; ;------------------------EQU 0D206H ;in GHCP/M TOPJMP: EQU 0CF80H-DDTSIZE ;origin of special fcns (.LE. GHCPM$BDOS-LONG2) ENDIF IF HORIZON BDOS: EQU 0B806H TOPJMP: EQU 0B700H-DDTSIZE ;origin of special fcns (.LE. HCPM$BDOS-LONG2) ENDIF ; IF ADVANTAGE AND NOT NS100 LONG2: EQU 01A7H ;length of special fcns (see NSASM2.ASM) ENDIF IF ADVANTAGE AND NS100 LONG2: EQU 0263H ;length of special fcns (see NSASM2.ASM) ENDIF IF HORIZON AND NS100 LONG2: EQU 000BFH ;length of special fcns (see NSASM2.ASM) ENDIF ; ; DIF ;special functions to support ADVANTAGE driver IF HORIZON NEXTHI: EQU HBDOS+3 ;continuation value for conditional assembly ENDIF IF NS100 HPUBSY: EQU NEXTHI HPUSEND:EQU HPUBSY+3 HLIST: EQU HPUSEND+3 ;BUILD affects HLISTST:EQU HLIST+4 ;BUILD affects (HLIST not just JMP) ENDIF ; ;----------------------------------------------------------------------------- ; **** WORDSTAR INSTALLATION OPTION EQUATES **** ;------------------------------------------------------------------------84H LINDEL: EQU 274H LININS: EQU 27BH MORPAT: EQU 2E0H ;GCP/M revision level test TMTYPE: EQU 190H ;terminal name in sign-on herald TRMINI: EQU 292H TRMUNI: EQU 29BH UCNSTA: EQU 2BAH UCONI: EQU 2BDH UNISUB: EQU 2A7H ENDIF IF NS100 ESC: EQU 1BH ; ;Full comments in NSASM2.ASM ; CODEG: EQU 7FH ;^G (phantom rub-out) in text (cut sheet/fanfold) CODEY: EQU CODEG+1 ;^Y encountered in text (ENLARGED) CODEQ: EQU CODEG+2 ;^Q encountered in text (8LPI-6LPI) CODEW: EQU CODEG+3 ;^W enEQU 01B4H ;type of printer in name field pointer POSMTH: EQU 0690H BLDSTR: EQU 0691H DBLSTR: EQU 0692H PSCRLF: EQU 0696H PSCR: EQU 06A1H PSHALF: EQU 06A8H PALT: EQU 06B5H PSTD: EQU 06BAH ROLUP: EQU 06BFH ROLDOW: EQU 06C4H USR1: EQU 06C9H USR2: EQU 06CEH USR3: EQU 06D3H USR4: EQU 06D8H RIBBON: EQU 06DDH RIBOFF: EQU 06E2H PSINIT: EQU 06E7H PSFINI: EQU 06F8H PRINIT: EQU 070DH PRFINI: EQU 0710H CSWTCH: EQU 0717H HAVBSY: EQU 0718H PUBSY: EQU 074CH PUSEND: EQU 074FH PUINP: EQU 0752H PROT----------------------------------------------------- ; **** SPECIAL LOCATIONS IN HIGH RAM **** ;----------------------------------------------------------------------------- ; These equates point to a table in the module NSASM2.ASM. ; The second file must be loaded with an offset (two files are used otherwise ; DDT would overwrite itself in high RAM). ; IF DEBUG DDTSIZE:EQU 01000H ;allow room for DDT at top of RAM ENDIF IF NOT DEBUG DDTSIZE:EQU 0 ENDIF IF ADVANTAGE BDOS: links to jmp table in NSASM1.ASM ; HBDOS: EQU TOPJMP ;BUILD affects ; IF ADVANTAGE ID: EQU HBDOS+3 REV: EQU ID+4 ;BUILD affects PATCH: EQU REV+1 ;MORPAT affects HSETUP: EQU PATCH+1 HNCONS: EQU HSETUP+3 HKEYIN: EQU HNCONS+3 HBYE: EQU HKEYIN+3 HOCONS: EQU HBYE+3 ;BUILD affects HCONSI: EQU HOCONS+3 ;BUILD affects HWRREG: EQU HCONSI+3 ;BUILD affects HRDREG: EQU HWRREG+3 ;BUILD affects COPYO: EQU HRDREG+3 ;BUILD affects NEXTHI: EQU COPYO+8 ;continuation value for conditional assembly EN----- ; ; All labels not specifically commented can be found in Appendix E ; of the WordStar Installation manual (USER1 listing). ; Refer to the corresponding ORG for further information. ; NOTDOC: EQU 238H ;not documented, protects BUILD from INSTALL CR: EQU 0DH LF: EQU 0AH ; IF ADVANTAGE CRBLIV: EQU 2B5H DEL1: EQU 2CFH DEL2: EQU 2D0H DEL4: EQU 2D2H DELCUS: EQU 2AEH DELMIS: EQU 2AFH ERAEOL: EQU 26DH FNWSCM: EQU 3E6H INISUB: EQU 2A4H ITHELP: EQU 360H IVOFF: EQU 28BH IVON: EQU 2countered in text (DOUBLE STRIKE) CODEE: EQU CODEG+4 ;^E encountered in text (EMPHASIZED) CODER: EQU CODEG+5 ;^R encountered in text (CONDENSED) CODEHL: EQU CODEG+6 ; CR, halfline CODEZAP:EQU CODEG+7 ;clear all conditions (not menu selectable) ;initlz toggles in print driver, clear printer ; ;12H (OFF condensed),14 (OFF enlarged), ESC,32H (6 lines/in mode) ;ESC,46H (OFF emphasized),ESC,48H (OFF double strike) ;ESC,39H (select paper end detect) ; ; PRTYPE: CL: EQU 0786H ENDIF ;end of patch locations for NS100 ; ;----------------------------------------------------------------------------- ; **** SET INSTALLATION OPTIONS **** ;----------------------------------------------------------------------------- ; ORG 0100H ;opening jump goes to BUILD at start of WS. Need to JMP BUILD ;intercept for creating special functions in high RAM ; before WS determines location of high RAM. ;............................................................................. ORG NOTDOC DW BUILD+FUDGE ;needed for reloading WS after R(un program) ; Also protects BUILD and copy of special functions from INSTALL. ;............................................................................. ; IF ADVANTAGE ORG CRBLIV DB 0FFH ;only blink cursor when next to inverse video ; (IVOFF and IVON must be extended for this to work) ; n.b.: this flag redefined for ADVANTAGE-- ; on (0FFH) = just blink cursor when next to inverse video ; off ORG DELCUS DB 0 ;no delay after cursor ;............................................................................. ORG DELMIS DB 0 ;no delay after other functions ;............................................................................. ORG ERAEOL DB 01H,0EH ;erase to end of line ;............................................................................. ORG FNWSCM DB 0,'WS COM' ;1+8+3 bytes ;............................................................................. and turn off cursor. ; Needed to make cursor blink with CRBLIV. ;............................................................................. ; *** For GCP/M 1.1.0 or higher (change 00H to 02H if true) ORG LINDEL DB 00H,1BH,4DH ;key count,ESC,M--screen delete line ;............................................................................. ; *** For GCP/M 1.1.0 or higher (change 00H to 02H if true) ORG LININS DB 00H,1BH,4CH ;key count,ESC,L--screen insert line ;.....................0H ;need to save some room here DJNZ: EQU 10H ;dcrm B and jmp rel if b.ne.0 ; ; This code will enable LINDEL/INS functions which are supported by 1.1.0 +. ; Will check that GCP/M 1.0.0 revisions are in effect, else abort the run. ; ORG MORPAT PUSH PSW PUSH B PUSH D ;see if KEY matches ID in high ram, else abort ; LXI H,ID LXI D,KEY MVI B,IDCNT VER1: LDAX D CMP M ;next part of KEY matches ID? INX H INX D ; JRNZ OUCH DB JRNZ DB OUCH-$-1 ;NZ-no, catastrophic error, aboa not initlz--should be impossible ; ; is GCP/M 1.0.0, check that DEL and BDOS R/O patches have been done, else stop ; INX H ;HL-->PATCH: '-' not patched, 'x' patching done MOV A,M ;A=PATCH CPI 'x' ; JRZ DONE DB JRZ DB DONE-$-1 ; patched, so just continue ; not patched, something is screwy... ; ; Display error message and abort. This should never be needed, but... ; OUCH: LXI D,BADID MVI C,9 CALL 5 JMP 0 ; BADID: DB CR,LF,LF,LF,7 DB 'Re-mak ( 00H) = blink cursor all the time (see NCONST) ;............................................................................. ORG DEL1 DB 9 ;controls short delays ;............................................................................. ORG DEL2 DB 8 ;controls medium-short delays ;............................................................................. ORG DEL4 DB 19H ;shortens WordStar's long delays ;............................................................................. ORG INISUB JMP HSETUP ;user initialization ;............................................................................. ORG ITHELP DB 02H ;initial help level set to 2 ;............................................................................. ORG IVOFF DB 02H,02H,18H ;turn off inverse video, and turn on cursor. ; Needed to make cursor blink with CRBLIV. ;............................................................................. ORG IVON DB 02H,01H,19H ;turn on inverse video, ........................................................ ; *** Middle of routine which performs 24 line feeds when WS boots or re-boots. ; Could be any area that gets control both times--this is not documented area. ; Code that was there: ; 3DD0 LHLD HITE ;H=screen width, L=screen height ; 3DD3 CALL 1EBF ; 3DD6 DCR L ; 3DD7 JNZ 3DD3 ; 3DDA RET ; ; Patched to jmp to routine that sets LINDEL/INS for GCP/M 1.1.0 or higher. ; ORG 03DD0H JMP MORPAT ; ; JRZ: EQU 28H JRNZ: EQU 2rt... ; DJNZ VER1 DB DJNZ ; Z-yes, more of KEY to match? DB 0F8H ; NZ-yes, keep comparing ; Z-no, KEY matches can trust REV and PATCH ; ; REV should contain 0 or +, which means BUILD has been here. ; MOV A,M ;get REV ( '-' means not initlz, so abort) ; ; make sure is marked 1.1.0 or higher... ; MAYBE: CPI '+' ; JRZ NEWCPM DB JRZ DB NEWCPM-$-1 ;is 1.1.0 or higher ; CPI '0' ; JRNZ OUCH DB JRNZ DB OUCH-$-1 ;BAD, aree WordStar.',CR,LF,LF DB 'Bad copy--see REV in NSASM2.' DB LF,LF,'$' ; ; ; enable LINDEL/INS 'cause we are in GCP/M 1.1.0 or higher ; NEWCPM: MVI A,2 STA LINDEL STA LININS ; ; restore registers and continue on with WS ; DONE: POP D POP B POP PSW LHLD 0248H ;original WS instruction JMP 03DD3H ;continue with original WS code ; KEY: DB 'N*WS' IDCNT: EQU $-KEY ;length of key ; ;............................................................................. ORG TMTYPE DB 'NorthStar ADVANTAGE (TM) ' ;............................................................................. ORG TRMINI DB 01H,04H ;ADVANTAGE terminal reset--at start up ;............................................................................. ORG TRMUNI DB 01H,04H ;ADVANTAGE terminal reset--at end ;............................................................................. ORG UCNSTA JMP HNCONS ;user console status ;........................................................................................................................................ ORG BLDSTR DB 4 ;use ^E instead for NS100 emphasized equivalent ;............................................................................. ORG DBLSTR DB 2 ;use ^W instead for NS100 DOUBLE strike method ;............................................................................. ORG PSCRLF DB 2,CR,LF ;to do CR/LF ;............................................................................. ORG PSCR DB 1,CR ;............................................... ORG ROLDOW DB 0 ;no roll down possible ;............................................................................. ORG USR1 DB 1,CODEQ ;^Q encountered in text (8LPI-6LPI) ;............................................................................. ORG USR2 DB 1,CODEW ;^W encountered in text (DOUBLE STRIKE) ;............................................................................. ORG USR3 DB 1,CODEE ;^E encountered in text (EMPHASIZORG PSINIT ;string to initialize printer DB 4 DB CODEZAP ;initlz toggles in print driver, clear printer ; ;12H (OFF condensed),14 (OFF enlarged), ESC,32H (6 lines/in mode) ;ESC,46H (OFF emphasized),ESC,48H (OFF double strike) ;ESC,39H (select paper end detect) ; DB ESC,4FH ;release skip over perforation DB CR ;make sure at left edge of paper ;............................................................................. ORG PSFINI ;string at conclusion of printing DB 4 DB CODEZAP ;initlz ................................................................. ORG PUBSY JMP HPUBSY ;to printer "busy" test (thru hi jmp table) ;............................................................................. ORG PUSEND JMP HPUSEND ;to printer output (thru hi jmp table) ;............................................................................. ORG PUINP NOP STC RET ;shouldn't be called 'cause PROTCL=0 ; ;................................................................................... ORG UCONI JMP HKEYIN ;user console input ;............................................................................. ORG UNISUB JMP HBYE ;user de-initialization ; ENDIF ;end set up of ADVANTAGE ; ;note: all printer areas are initialized to prevent possible junk creeping in. IF NS100 ORG PRTYPE DB 'NS-100 dot matrix printer ' ;............................................................................. ORG POSMTH DB 0FFH ;overprint only by CR w/o LF. ;................................................................................. ORG PSHALF DB 2,CR,CODEHL ;do CR and half line feed ;............................................................................. ORG PALT DB 0 ;^A not used ;............................................................................. ORG PSTD DB 0 ;^N not used ;............................................................................. ORG ROLUP DB 0 ;no roll up possible ;....................................ED) ;............................................................................. ORG USR4 DB 1,CODER ;^R encountered in text (CONDENSED) ;............................................................................. ORG RIBBON DB 1,CODEY ;^Y encountered in text (ENLARGED) ;............................................................................. ORG RIBOFF DB 1,CODEY ;^Y encountered in text (ENLARGED) ;............................................................................. toggles in print driver, clear printer DB ESC,4FH ;release skip over perforation DB CR ;make sure at left edge of paper ;............................................................................. ORG PRINIT DB 0,0,0C9H ;not needed ;............................................................................. ORG PRFINI DB 0,0,0C9H ;not needed ;............................................................................. ORG CSWTCH DB 2 ;use custom printer driver routine ;.............. ORG PROTCL DB 0 ;no protocol executed in WS (hardware does) ; ENDIF ;NS100 patching done ;............................................................................. IF NS100 AND ADVANTAGE ORG HAVBSY DB 0FFH ;"busy" test supplied ENDIF ; IF NS100 AND HORIZON ORG HAVBSY DB 00H ;"busy" test not avail in HRZ ENDIF ; ;----------------------------------------------------------------------------- ; **** BUILD EQUATES **** ;----------------------------------------------------------------------------- ; IF ADVANTAGE IOSR2: EQU 0D0H ;read only port: ADVANTAGE status register 2 ENDIF ;............................................................................. ; BIOS: EQU -3 ;undo warmstart offset from addr 1&2 (BIOS+3) USER: EQU BIOS+700H ;Sequential I/O section of BIOS UPPER: EQU USER+200H ;Upper portion (console section) ; ; Used with addr at 0001 and 0002 (BIOS+3), to create absolute addrs for: ; IF ADVANTAGE OPTION: EQU BIOS+6FFH ;cont------------------------------------------------- ; ; JMP BUILD at 100H is only called on initial WS boot-up, not during a ; WS re-boot. ; Moves code at ENDOF1 (loaded by initial CCP load of WS) to MEMTOP. ; Installs absolute CONSTAT, CONSOLI, RDREG, and WRREG addresses. ; Makes a copy of OPTION byte. ; Sets REV byte. For release GCP/M 1.0.0, fixes BDOS R/O and DEL bugs. ; Protects user area by lowering address field in BDOS call at 0005H. ;............................................;get BDOS addr from 0005 JMP addr field CALL CMPHD ;Is BDOS < end of special area? JNC LOWER ;NC-no, won't overwrite ; C -yes, FCNS would overwrite BDOS. ; LXI D,BUMMER MVI C,9 ;print error message CALL 5 JMP 0 ;return to CP/M BUMMER: DB CR,LF,LF,LF,7,'IMPOSSIBLE LOAD PARAMETERS...',CR,LF DB 'This WordStar assumes a 64K system.',CR,LF DB 'Special ' IF ADVANTAGE AND NOT NS100 DB 'ADVANTAGE' ENDIF IF HORIZON AND NS100 DB 'NS100' ENDIF IF ADVANTAGE Ath STAX D ; of BC bytes. INX H INX D DCX B MOV A,B ORA C JNZ BUILD1 ;.............................................................................. ; Now the special functions are installed in the fixed area under the BDOS. ; Move address field of BDOS call at 5 into fixed area and patch addr field, ; thus protecting the special functions from SpellStar or WS R)un of a ; program. ; LHLD 6 ;get addr field pointing to BDOS SHLD TOPJMP+1 ;install in fixed area LXI H,TOPJMP SHLD ion byte MOV A,M STA COPYO ;save for conditional EI at end of initlz LXI H,CONSTAT DAD D ;HL=CONSTAT jmp addr SHLD HOCONS+1 ;establish JMP CONSTAT in fixed area LXI H,CONSOLI DAD D ;HL=CONSOLI jmp addr SHLD HCONSI+1 ;establish JMP CONIO in fixed area LXI H,RDREG DAD D ;HL=RDREG jmp addr SHLD HRDREG+1 ;establish JMP RDREG in fixed area ; ;............................................................................. ; ; Needed for determining the RAM resident GCP/M release leveains interrupt info CONSTAT:EQU USER+3 ;standard console status CONSOLI:EQU UPPER+0 ;console input from Upper Bios RDREG: EQU UPPER+6 ;read i/o control register WRREG: EQU UPPER+9 ;write i/o control register ENDIF IF NS100 TOLIST: EQU BIOS+0FH ;to list device LSTBUSY:EQU BIOS+2DH ;list device readiness test (not WS format) ENDIF ; ;----------------------------------------------------------------------------- ; **** SPECIAL FUNCTION BUILDER **** ;----------------------------................................. ; ; All of BUILD is put at the end of the WordStar 3.00 root and is transient. ; Given control only on initial boot of WS. ; ;............................................................................. ORG 3F00H ;the "NEXT" address ascertained by using DDT on an ; installed WS.COM. ; BUILD: LXI H,TOPJMP+6 ;final destination of FCNS (+ CPM serial # pad) LXI B,LONG2 ;size allotted to FCNS area DAD B XCHG ;DE=end of area, conflict with BDOS? LHLD 6 ND NS100 DB 'ADVANTAGE/NS100' ENDIF DB ' drivers will overwrite BDOS.',CR,LF DB 'Ensure that ENDOF2 in NSASM2 code is less than BDOS.' DB CR,LF,LF,LF,'$' ;............................................................................. ; LOWER: LXI H,ENDOF1 ;location of special functions (FCNS) ; from initial disk load (DDT put here). ; BC still = LONG2 ;size allotted to FCNS area ; LXI D,TOPJMP ;final destination of FCNS BUILD1: MOV A,M ;move source at HL to destination at DE, for leng6 ;set up BDOS call and protect fixed area ; ;.............................................................................. ; Set up linkage to actual BIOS. ; LHLD 1 ;get starting addr of BIOS+3 (warm boot) XCHG ;DE=BIOS+3 ; IF NS100 LXI H,TOLIST DAD D ;HL=JMP LIST addr SHLD HLIST+2 ;establish JMP LIST in fixed area (past MOV) LXI H,LSTBUSY DAD D ;HL=JMP LISTST addr SHLD HLISTST+1 ;establish JMP LISTST in fixed area ENDIF ; IF ADVANTAGE LXI H,OPTION DAD D ;HL--> optl ; (see following test). ; INX H ;HL now points to low byte of addr field of JMP RDREG ; in Upper Bios. MOV B,M ;save byte for later GCP/M 1.0.0 test ;............................................................................. ; LXI H,WRREG DAD D ;HL=WRREG jmp addr SHLD HWRREG+1 ;establish JMP WRREG in fixed area ;............................................................................. ; ; The GCP/M 1.0.0 terminal driver doesn't support LINE INSERT and LINE DELETE. ; If the RAM resident GCP/M is 1.1.0 or higher, the two functions LINDEL and ; LININS can be used and should be marked as available. ; ; A test of 2 byte values (the low order bytes of 2 addresses) is used ; to make the identification. ; ; Upper BIOS +6: C3 ?? xx ;dispatch to Read Reg ; Upper BIOS +9: C3 ?? xx ;dispatch to Write Reg ; ; 11H and 1BH are the respective GCP/M 1.0.0 byte values. ; ; Any other values for these two bytes are accepted as proof t GCPM 1.1.0 and higher SPECIAL HANDLING ; ; Set REV level to 1.1.0 or higher (MORPAT will enable LINDEL/INS) ; CPM110: MVI A,'+' STA REV ;mark rev as GCP/M 1.1.0 or higher JMP OFF2WS ;............................................................................. ; GCPM 1.0.0 SPECIAL HANDLING ; ; Set REV level to 1.0.0 and effect bug fixes ; CPM100: LDA PATCH ;be sure not installed, else weird error CPI '-' ;says not installed JNZ OUCH ; bomb out with error message in MORPAT ; fix change anything ; LXI D,OLDCODE CALL COMPARE JNZ OUCH ;not bad and not new code, reject this WS run ; was old code, change to new PUSH H ;save ptr (B still = length) LXI D,NEWCODE CPM1: LDAX D MOV M,A INX H INX D ;install new code to fix BDOS R/O bug DCR B JNZ CPM1 ; POP H ;HL--> patched area LXI D,06BDH DAD D ;HL--> DEL bug relative jump XRA A ;create NOP MOV M,A INX H MOV M,A ;fix DEL bug ; MARK: MVI A,'x' STA PATCH ;mark that patches installed MVI A,'0' Sns not equal ; COMPARE: PUSH H PUSH B ;save these parameters ; COMP1: LDAX D CMP M JNZ COMP2 ;NZ-not equal INX H INX D DCR B JNZ COMP1 ;do entire string ; fall through if equal (Z set) ; COMP2: POP B ;restore parameters POP H RET ;NZ-not equal, Z- equal ; OLDCODE: DB 0E6H,002H,0C2H,0A6H,0F3H ;ANI 2 JNZ F3A6 CODECNT: EQU $-OLDCODE NEWCODE: DB 03EH,099H,032H,068H,0FDH ;MVI A,99 STA FD68 ; ENDIF ;----------------------------------?,ó -  COPYRIGHT (C) 1981 MicroPro International Corporation  MicroPro WordStar release 3.00 serial # XG7995TZ  no terminal yet selected  NS-100 dot matrix printer   "@$2PP=   @ hat ; the RAM resident GCP/M is release 1.1.0 or higher and will support ; LINE INSERT and LINE DELETE. ; INX H ;HL-->low order byte of actual WRADR code MOV A,M ;A= low order byte CPI 1BH ;Is WRREG byte telltale 1BH? JZ CPM100 ;Z -yes, don't activate LINDEL and LININS MOV A,B ;A= low order byte of actual RDADR code CPI 11H ;Is RDREG byte telltale 11H? JZ CPM100 ;Z -yes, don't activate LINDEL and LININS ;............................................................................. ; the bugs ; LHLD HBDOS+1 ;get original BDOS bottom LXI D,124FH ;disp to BDOS R/O bug DAD D ;HL-->potentially bad area (could be fixed from ; previous run of WS) ; ; see if new code installed... MVI B,CODECNT ;# of characters affected LXI D,NEWCODE CALL COMPARE ;COMPARE preserves HL ptr to potentially bad area ; B=code length JZ MARK ; Z-new code installed, finish up ; NZ-not new, see if old... ; make sure recognize old code beforeTA REV ;mark rev as GCP/M 1.0.0 ENDIF ;............................................................................. OFF2WS: JMP 2D08H ;original WS instruction at 100H ; IF ADVANTAGE ;----------------------------------------------------------------------------- ; **** COMPARE @HL:@DE for B BYTES **** ;----------------------------------------------------------------------------- ; B=byte count, HL=start addr of one string, DE=other string ; On return: Z means strings equal, NZ mea------------------------------------------- ; **** COMPARE HL:DE **** ;----------------------------------------------------------------------------- ; CMPHD: MOV A,H CMP D RNZ MOV A,L CMP E RET ;C - HL < DE ; NC- HL >= DE ; Z - HL = DE ; ; ;............................................................................ ENDOF1: EQU $ LONG1: EQU ENDOF1-BUILD FUDGE: EQU LONG1+LONG2 ;for pointer at NOTDOC END ;end of NSASM1.ASM IxB@ @..Y[]{}AEIOU.:+-JP dccdxdBjKjPjVj0j1j2j3j4j5j6j7j8j9jkk  e>@ddvgggggBDDF-hCenk<Ie uh fie  Bj Kj 0!j 1"j 2#j 3$j 4%j 5&j 6'j 7(j 8)j 9*j     2 0.         i)       "$6& (*,.08:H4       (C))00n   O O Print a file РԠ Š *** FATAL ERR F25: NOT ENUF MEMORY $ File  not found. Menus &  messages will display as @@@@ only.  WAIT  PRINT\PAUSED merge-printing\ \editing\no\file\ ڽ ׽ *** Press ESCAPE Key *** INTERRUPTED***  E*** I***   F: G! e~x7*`;:Z;e*h;*\;R| !͎ "w;!"~;";#"|;Q MT] MBc HMi FMo CWu PC PO} PA CP PN OP HE FO !Z;>-w n!v;>< ![;-9 !_;T !g;T !c;T !k;T c >< !r;-\ !t;-Ғ \ -> V>2A;ͧ%ڼ ͑"K;uâ *; *;>oGw#%  % w#- 6> ͧ% !> ONOF͗%]% 4}ͧ% g%MCg ͆| !4sx:Ê͌>2B;!Q;~6͌ڥ:4!B;6>[:4!_; !;͵*;!|;͵!y;õ*<;*K;zĎ>2C;>*M;_:Z;<=*w;͎:4:4[}> [G!P;~6!4x!r;^Gz4x!0GO!P> W>~a>- S }!O;~<> STk ‹!"O;F F*Z;&*M;"M;*\;͎*M;|͑!"M;*K;#"K;2Q;u*Z;>*v;> :4*M;|:3;*\;‹͑> [*M;|ñ TW͔ J.S!O;~-5R;!G̞#~^T@!O;4!͌ڈ:4<:4/!4!D;6> ̜͜:C;7*K;*:;Î'ͪÜNħ >2D6ç ['ͧ ͪ¾Ņ ͪħ :4ͪ<:4;4::#4!;4x!::*;e";!;x *;*#;"#;*;*;͵";!";";";!;~6py_!";";͵";!;4~!!;4!;~::5*;"#;:;!;2;*;";*;|:#;*;)::G$%==xxy2&;>2'; :6;=|g}o|*#;&*6;**;R"*;";:ī͗ͻ͗͢Cs\ͫ -\ͫs\͢s\*;"0;:;UͫcͲ*;".;*;)*!;T]:: ڈ:ʐ*;Î*#;&*;*$;,;ͻͻ*!;(;*;&;*;R|";:6;w#~w+͎  ~# -__7777w nw?VWx2z7W:Go~~56   YZRCDTTVV2CCTTBT2STTTTTTTTTTCBTTTTVUUUVUUVVSSVUfVVTVVTUVVgVVUTVTVUTTTTTTSTTRRTRfTTTTSSSTTfTTTTVTVU 6NIQYdXfjly%27?QXivYN @@@@ on () off () INTERNAL ERRORFATAL NAME OF  TO FILEMERGE-~2y;#^#V## 2;~2y;+~2};##{l"z;R|";"z;O:Z;!<=O G q#s#r#ww#Gw!o;~#m #~ͪ*C6|/!N >2D6êo ͪ*C6|/ͧ ê*E;!9"E;Ê:B6C M ";ͧ 2 :C; x~>2 x:;*;";";ͼ*;͎. o ;2 "; ͧ !;w[wÎR R *@;W{k z!!4ʮ zy > W_ !Q;zV#>2@;{ ȯ2@;͌ x~ #à !9"G;! ]% >*G;:B6 "C:B6%C LH7 SRI UJ BPPL͆|*w;͋!g; )!y;͵3!|;͵> :7*;#~+:A;͑:o;G!t;z*K;|f} > :Ͷ42o;u"I;!Y; :+ <*I;"I;!R;~ :# <›Ì:i> :> ;#~+͑:o;G~4#~i\#~i.# *K;Ͷ .:K;#~i  +:!o:2;}X>:2;:o;c >!o;w:2;~q>n>[c o>^#~4> [Á*M;:3;ʠR|:Z;e͎:Q;Ì:3;N#{ ʘ> :> [> :+|#>Ø!".g|,->'Ng:;;!"B6"D6<=G:E67J*;~7Jp#~d_x2::;*:*:::g" ;yHG*:::g":::o&{2:y: ;ey_! ;*6;R:: ‚> ڲ!e::~œ=<<*6;-ʰҮ<>d lx_gQy2;:; !;4!;4x*;::e";͵";!͎O>G  %+~ !!x 6#.$%%$o>gAARDMxɅo|gg}o|g^#V#~#fo# ‚Gz—{xɾ~~/w~ͼ#ä   :.,;?!0?:ɷ @[A?a{['N#w@w#6:#6+Y T6.#Z6 dw# Ys0 {{:|sͥ_:§ {2b5_ͥ=!¼sü):OͥGHGxy"6|&*7"787ͼ):7_71*`5!~! 8~!:7!7~6_7''<>|&Ð!eɷ v&do>!#{ |<ʎs#rɯ7Ê>G!"{}O)|! !!~6w<x7z! q#~w['^#V#o ͸:ͳ *7+wF*|#6!26:?ͺÊ>X:VͽÊ>!*ey!5w+~#wz.!5"5"5P. G:a5Oxͱ:I x  yON#F ܔ ͱp+q ͔!o *7:IO&:H=! D3#:c5N%# H +9 .`ͫ" ? !!!!a5 È*`5>+,&í":`5 *`5-í">o͜:+A ]!*7~G:7w26 "7:[5>!:!*`5#!6~\!5*7~w27*`5ͫ":6o&{!͔!*`5͎ī"ͪ*6:6o*`5}ͧ!o!6:!<=:!g=!÷!÷!:c5~<=#~ͳ !!0:H=!:I"=O3#:c5T"~ &"# "ye +~ ," ~!!m~Į!S"A> ͳ J" 6 # Z"!!!~x"!ͮ!ͥ" *`5"~"!ͮ!ͧ*H-&"`53#!"7:[5{" ":Ͷ!:d#*^\:]"!J#!S#!X626r!$261$r!:1%:1%:1%:1%:GOͪO%:C6I% y̔ x4%ê!%2S%%_:S%W~ʑ%#ʂ%###r%~|%#^#VÓ%g% ʗ% ʗ%!͗%%%0% %T])))_%%%0% ڽ%|7%%x 7 7 77?}8}8}8}8}8U8W8Y8[8]8_8a8c8q8}8e8g8i8k8m8}8}8}8{8}8s8}8u8w8y8}8}8}8}8}8}88}88888888}888}8}8}8888}8}8!Ø&?'ͥ"K'oG-!?'?1͉-:626o!$K'>c31̓͹$26:626!&26%×-!6~6wO1):6.):&><)26!6.)2626/262654>G1:k5!H4O)~o :7a:61Êͼ):+/y)>!+Fw>2626ó))26 :6Ÿ)26:6<ð):6=26!"626ó)g:7O/ G:+:6)o#}!6Ěx:+ʉ)o *:6=1Ê)!6͚G:6 *!6):6̐):6W:6)_:6!6<*:6´* + @+:6/<_y!6q*U*qy!6ڣ*<26͟,z<26o !6:7ʣ*:6ң*z26ñ*z±*!6U*26*7"6:6O:6G/!((ͥ*6+"6gx/+!(y+*>͡(:I>(:6s^#V+ѷs~o #:7277>27!74!77!_8ͪͪ*7*͎l!7"J6:77͎?9͎({%}):7=!9=z27!97o >e!9e:͎ç!` .:7*7+##+6!.}1~6/ % ~6 %!!< nU6#~!͜>ͳ 1*5~*5~w#~<!5"5:c5/!Re:B6dbf:C6h:D6j͔$2'$Ù*6G*66*78ʙQc#^#VʏʔQln++O:d5Gyʱ¸:Þ¿>~͙܀ > :a5   >^@ :c5 ̎ !45 ͳ !a5 P H 4*7w#!6*7B +4:H=q :I*7e"7*7eB 5*7 *I&*7[gg> -¤ !!O: y#*`50> XO !X5 ws"g":[5!!!:`G{ʳ  i#d*7*7[*7Ro&U\*7:IOD# C#*+a#}!+y)>26*`5"6 ]$ ]$]$2'!t#ʜ#ʜ#«#*6!ͫ"o#!####U$## #*`5%~!_! #$$#!#$$- $!#45 $>!w)#ʣ)#ʪ)!oy^>Iy <26+q#$:Y5:H$<26262626$_!>ä$o$â$%_!>!`5ͧ!01:6!6$~:`5!6!"6"626262*5~̓!66:7!'!!à&͏G!6~6̀1ͪ:6'o&)&^#Vo&Di:7/!F6ˆ'5:6͎ *`5! ~!~! Î *6|!F6£'o 02F6*7"6':D6ʽ'(:7':C6'V(:B6'((!5((ć`:IO>(!:6*6^(*6^(:6c(>>(:626*7"6'O'G:IPx=(V(*7*6R@(> c(}c(| s(>^c(@!d5\‚(> Ç( ʈ(#*7++*6w͎ڞ(#"6:D6¼(:)ʹ(:f5!6V(0(^#V#(~#c((:&!+!7(26.)!6N61q!6FWß,!6452626*7"6:6=+2626͒ͅ,+:626Ħ,Ê:IO *76 #=M+#m+ x GV+:6G*6+F+N <ʙ+"6gʹ++F+N 26Êʹ++++DM>26>.!m,### ʡ+#~¸+  +m,ʴ+26*7"6*76+r+s ͎,:6,,+~w͊,+*6 !i, ~d,#-, :,~Z,\,6.#w#w#> *6<BAINuHEvREwCOxOVy$$z26͌"6g>26j*7ó,#p+qg+F+N <,#Vp+^qBK,+V+^ oʬ,,, ,,,!91C4->26!D6~/++! n1:7M*3.د27R1(:C6 .*7"73126|=Q3#.=b0.^#Vn126262626%>26/.3.26G:7l.x ʸ.?G~ʸ.|.o.#~ʼ.:7<#^#V++̂N26.}.26O~ʼ.###~ʸ.#ʡ.è.7#^#V|7!$/*`5o 0\/o .1/6/=r! 1 ` 1`:7133:6!6͚!6͚!6͚*7"7"7>26: /!6ɯ2L62r6~#26~26#"6Ñ1}26|26"6Ñ1~#26~#26"6:6=>$ԕ&ͽ11i`)2^#V*6 *6)))2N!6 :66i`)2^#V#^#V#͇2~#fo)DM!"q#p#N#F2 ~>)v& 2x2x2 2~>'v&#:6>,v&6 >*v&w!6Y2>+v&# N2^#V>(v&!6:6w>&v&͓2!$~v&><Cpy-M67-M6M6 M6M63M6M6#M6M6mM6t55???????????!ͱ6!Sͱ6ͩ6You are trying to run an uninstalled WORDSTAR.Please run INSTALL first.-ͩ6 ʹ6͢6~̢6 #ô6!%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5*HͿ-=|!]=>o&))))>=goR>.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛ~!"%/=r!8Í'>260\/ ͑!~!:7Z/!/v~Z/.%Z/6`]͑! ~!)(:7v/1=!60:7]͍'o :6!6͚o:7š/:6o:6/!6ڱ/!6ڽ/o&͔!o !<Ý/Q):6!606}:7G:Y5O*J6|!6/6:6!6ᠡ/6o ‡0($:D6!8:G6!8:610268I0x/I0͖0F0͜!"6o͢$:626:6f0!6~6!8*J6|!"J6͢$:626‡0>26!G6~6ȯ26:IPڣ0!7:E4 ~"8126×-:7O!60w:70:6=0w~=!6)!61)M6M6{s6M6'M6-M6dM6!M6gM6|M6  w3Ô3>e A:)2323:>!+}ˆ3::> A8>V<<2E4!9"C4ͨ<=:l2J:] @:4-:5-*C4͢=!~!!S!Ϳ! *???  IMPOSSIBLE LOAD PARAMETERS... This WordStar assumes a 64K system. Special NS100 drivers will overwrite BDOS. Ensure that ENDOF2 in NSASM2 code is less than BDOS. $!@~# x?*"!"*! " !*"-|}ùO i wNI!O ~#+w >  > !~#8V :>8!:> ʆ> 2<2~l #Ï A A  ??,ó -  COPYRIGHT (C) 1981 MicroPro International Corporation  MicroPro WordStar release 3.00 serial # XG7995TZ  NorthStar ADVANTAGE (TM)  I/O Master / O.E.M. Printer   "5B$2PP= MLÉÒÌÏ  !V# ~+(M0 #~xk  e>@ddvgggggBDDF-hCenk<Ie uh fie  Bj Kj 0!j 1"j 2#j 3$j 4%j 5&j 6'j 7(j 8)j 9*j     2 0.         i)       "$6& (*,.08:H4       (C))00n   Print a file РԠ Š *** FATAL ERR F25: NOT ENUF MEMORY $ File  not found. Menus &  messages will display as @@@@ only.  WAIT  PRINT\PAUSED merge-printing\ \editing\no\file\ ڽ ׽ *** Press ESCAPE Key *** INTERRUPTED***  E*** I***   F: G! e~x7*`;:Z;e*h;*\;R| !͎ "w;!"~;";#"|;Q MT] MBc HMi FMo CWu PC PO} PA CP PN OP HE FO !Z;>-w n!v;>< ![;-9 !_;T !g;T !c;T !k;T c >< !r;-\ !t;-Ғ \ -> V>2A;ͧ%ڼ ͑"K;uâ *; *;>oGw#%  % w#- 6> ͧ% !> ONOF͗%]% 4}ͧ% g%MCg ͆| !4sx:Ê͌>2B;!Q;~6͌ڥ:4!B;6>[:4!_; !;͵*;!|;͵!y;õ*<;*K;zĎ>2C;>*M;_:Z;<=*w;͎:4:4[}> [G!P;~6!4x!r;^Gz4x!0GO!P> W>~a>- S }!O;~<> STk ‹!"O;F F*Z;&*M;"M;*\;͎*M;|͑!"M;*K;#"K;2Q;u*Z;>*v;> :4*M;|:3;*\;‹͑> [*M;|ñ TW͔ J.S!O;~-5R;!G̞#~^T@!O;4!͌ڈ:4<:4/!4!D;6> ̜͜:C;7*K;*:;Î'ͪÜNħ >2D6ç ['ͧ ͪ¾Ņ ͪħ :4ͪ<:4(K   Re-make WordStar. Bad copy--see REV in NSASM2. $>2t2{*H=N*WSIxB@ @..Y[]{}AEIOU.:+-JP dccdxdBjKjPjVj0j1j2j3j4j5j6j7j8j9jk-__7777w nw?VWx2z7W:Go~~56   YZRCDTTVV2CCTTBT2STTTTTTTTTTCBTTTTVUUUVUUVVSSVUfVVTVVTUVVgVVUTVTVUTTTTTTSTTRRTRfTTTTSSSTTfTTTTVTVU 6NIQYdXfjly%27?QXivYN @@@@ on () off () INTERNAL ERRORFATAL NAME OF  TO FILEMERGE-~2y;#^#V## 2;~2y;+~2};##{l"z;R|";"z;O:Z;!<=O G q#s#r#ww#Gw!o;~#m #~ͪ*C6|/!N >2D6êo ͪ*C6|/ͧ ê*E;!9"E;Ê:B6C M ";ͧ 2 :C; x~>2 x:;*;";";ͼ*;͎. o ;2 "; ͧ !;w[wÎR R *@;W{k z!!4ʮ zy > W_ !Q;zV#>2@;{ ȯ2@;͌ x~ #à !9"G;! ]% >*G;:B6 "C:B6%C LH7 SRI UJ BPPL͆|*w;͋!g; )!y;͵3!|;͵> :7*;#~+:A;͑:o;G!t;z*K;|f} > :Ͷ42o;u"I;!Y; :+ <*I;"I;!R;~ :# <›Ì:i> :> ;#~+͑:o;G~4#~i\#~i.# *K;Ͷ .:K;#~i  +:!o:2;}X>:2;:o;c >!o;w:2;~q>n>[c o>^#~4> [Á*M;:3;ʠR|:Z;e͎:Q;Ì:3;N#{ ʘ> :> [> :+|#>Ø!".g|,->'Ng:;;!"B6"D6<=G:E67J*;~7Jp#~d_x2::;*:*:::g" ;yHG*:::g":::o&{2:y: ;ey_! ;*6;R:: ‚> ڲ!e::~œ=<<*6;-ʰҮ<>d lx_gQy2;:; !;4!;4x*;::e";͵";!;4::#4!;4x!::*;e";!;x *;*#;"#;*;*;͵";!";";";!;~6py_!";";͵";!;4~!!;4!;~::5*;"#;:;!;2;*;";*;|:#;*;)::G$%==xxy2&;>2'; :6;=|g}o|*#;&*6;**;R"*;";:ī͗ͻ͗͢Cs\ͫ -\ͫs\͢s\*;"0;:;UͫcͲ*;".;*;)*!;T]:: ڈ:ʐ*;Î*#;&*;*$;,;ͻͻ*!;(;*;&;*;R|";:6;w#~w+͎  ~# 687<>|&*7"787ͼ):7_71*`5!~! 8~!:7!7~6_7''<>|&Ð!eɷ v&do>!#{ |<ʎs#rɯ7Ê>G!"{}O)|! !!~6w<x7z! q#~w['^#V#o ͸:ͳ *7+wF*|#6!26:?ͺÊ>X:VͽÊ>!*ey!5w+~#wz.!5"5"5P. G:a5Oxͱ:I x  yON#F ܔ ͱp+q ͔!o *7:IO&:H=! D3#:c5N%# H +9 .`ͫ" ? !!!!a5 È*`5>+,&í":`5 *`5-í">o͜:+A ]!*7~G:7w26 "7:[5>!:!*`5#!6~\!5*7~w27*`5ͫ":6o&{!͔!*`5͎ī"ͪ*6:6o*`5}ͧ!o!6:!<=:!g=!÷!÷!:c5~<=#~ͳ !!0:H=!:I"=O3#:c5T"~ &"# "ye +~ ," ~!!m~Į!S"A> ͳ J" 6 # Z"!!!~x"!ͮ!ͥ" *`5"~"!ͮ!ͧ*H-&"`53#!"7:[5{" ":Ͷ!:d#*^\:]"!J#!S#!X626r!$261$r!:1%:1%:1%:1%:GOͪO%:C6I% y̔ x4%ê!%2S%%_:S%W~ʑ%#ʂ%###r%~|%#^#VÓ%g% ʗ% ʗ%!͗%%%0% %T])))_%%%0% ڽ%|7%%x 7 7 77?}8}8}8}8}8U8W8Y8[8]8_8a8c8q8}8e8g8i8k8m8}8}8}8{8}8s8}8u8w8y8}8}8}8}8}8}88}88888888}888}8}8}8888}8}8!Ø&?'ͥ"K'oG-!?'?1͉-:626o!$K'>c31̓͹$26:626!&26%×-!6~6͎O>G  %+~ !!x 6#.$%%$o>gAARDMxɅo|gg}o|g^#V#~#fo# ‚Gz—{xɾ~~/w~ͼ#ä   :.,;?!0?:ɷ @[A?a{['N#w@w#6:#6+Y T6.#Z6 dw# Ys0 {{:|sͥ_:§ {2b5_ͥ=!¼sü):OͥGHGxy"627!74!77!_8ͪͪ*7*͎l!7"J6:77͎?9͎({%}):7=!9=z27!97o >e!9e:͎ç!` .:7*7+##+6!.}1~6/ % ~6 %!!< nU6#~!͜>ͳ 1*5~*5~w#~<!5"5:c5/!Re:B6dbf:C6h:D6j͔$2'$Ù*6G*66*78ʙQc#^#VʏʔQln++O:d5Gyʱ¸:Þ¿>~͙܀ > :a5   >^@ :c5 ̎ !45 ͳ !a5 P H 4*7w#!6*7B +4:H=q :I*7e"7*7eB 5*7 *I&*7[gg> -¤ !!O: y#*`50> XO !X5 ws"g":[5!!!:`G{ʳ  i#d*7*7[*7Ro&U\*7:IOD# C#*+a#}!+y)>26*`5"6 ]$ ]$]$2'!t#ʜ#ʜ#«#*6!ͫ"o#!####U$## #*`5%~!_! #$$#!#$$- $!#45 $>!w)#ʣ)#ʪ)!oy^>Iy <26+q#$:Y5:H$<26262626$_!>ä$o$â$%_!>!`5ͧ!01:6!6$~:`5!6!"6"626262*5~̓!66:7!'!!à&͏G!6~6̀1ͪ:6'o&)&^#Vo&Di:7/!F6ˆ'5:6͎ *`5! ~!~! Î *6|!F6£'o 02F6*7"6':D6ʽ'(:7':C6'V(:B6'((!5((ć`:IO>(!:6*6^(*6^(:6c(>>(:626*7"6'O'G:IPx=(V(*7*6R@(> c(}c(| s(>^c(@!d5\‚(> Ç( ʈ(#*7++*6w͎ڞ(#"6:D6¼(:)ʹ(:f5!6V(0(^#V#(~#c((:&!+!7(26.)!6N61q!6FwO1):6.):&><)26!6.)2626/262654>G1:k5!H4O)~o :7a:61Êͼ):+/y)>!+Fw>2626ó))26 :6Ÿ)26:6<ð):6=26!"626ó)g:7O/ G:+:6)o#}!6Ěx:+ʉ)o *:6=1Ê)!6͚G:6 *!6):6̐):6W:6)_:6!6<*:6´* + @+:6/<_y!6q*U*qy!6ڣ*<26͟,z<26o !6:7ʣ*:6ң*z26ñ*z±*!6U*26*7"6:6O:6G/!((ͥ*6+"6gx/+!(y+*>͡(:I>(:6->26!D6~/++! n1:7M*3.د27R1(:C6 .*7"73126|=Q3#.=b0.^#Vn126262626%>26/.3.26G:7l.x ʸ.?G~ʸ.|.o.#~ʼ.:7<#^#V++̂N26.}.26O~ʼ.###~ʸ.#ʡ.è.7#^#V|7!$/*`5o 0\/o .1/6/=r! 1 ` 1`:7133:6!6͚!6͚!6͚*7"7"7>26: /!6ɯ2L62r6~#26~26#"6Ñ1}26|26"6Ñ1~#26~#26"6:6=>$ԕ&ͽ11i`)2^#V*6 *6)))2N!6 :66i`)2^#V#^#V#͇2~#fo)DM!"q#p#N#F2 ~>)v& 2x2x2 2~>'v&#:6>,v&6 >*v&w!6Y2>+v&# N2^#V>(v&!6:6w>&v&͓2!$~v&><Cpy-M67-M6M6 M6M63M6M6#M6M6mM6t55???????????!ͱ6!Sͱ6ͩ6You are trying to run an uninstalled WORDSTAR.Please run INSTALL first.-ͩ6 ʹ6͢6~̢6 #ô6Wß,!6452626*7"6:6=+2626͒ͅ,+:626Ħ,Ê:IO *76 #=M+#m+ x GV+:6G*6+F+N <ʙ+"6gʹ++F+N 26Êʹ++++DM>26>.!m,### ʡ+#~¸+  +m,ʴ+26*7"6*76+r+s ͎,:6,,+~w͊,+*6 !i, ~d,#-, :,~Z,\,6.#w#w#> *6<BAINuHEvREwCOxOVy$$z26͌"6g>26j*7ó,#p+qg+F+N <,#Vp+^qBK,+V+^ oʬ,,, ,,,!91C4~!"%/=r!8Í'>260\/ ͑!~!:7Z/!/v~Z/.%Z/6`]͑! ~!)(:7v/1=!60:7]͍'o :6!6͚o:7š/:6o:6/!6ڱ/!6ڽ/o&͔!o !<Ý/Q):6!606}:7G:Y5O*J6|!6/6:6!6ᠡ/6o ‡0($:D6!8:G6!8:610268I0x/I0͖0F0͜!"6o͢$:626:6f0!6~6!8*J6|!"J6͢$:626‡0>26!G6~6ȯ26:IPڣ0!7:E4 ~"8126×-:7O!60w:70:6=0w~=!6)!61)M6M6{s6M6'M6-M6dM6!M6gM6|M6  w3Ô3>e A:)2323:>!+}ˆ3::> A8>V<<2E4!9"C4ͨ<=:l2J:] @:4-:5-*C4͢=!~!!S!Ϳ!%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5Ϳ-=|!]=>o&))))>=goR>.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛW͛Ъ::5зʕ>*+"|!>w*.*"å>p:͘zʄ!G~iW+~25+~>ͥЯ:525>2{k:22:2*">2k_Àτ            !%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5Ϳ-=|!]=>o&))))>=goR>.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛ?,ó -  COPYRIGHT (C) 1981 MicroPro International Corporation  MicroPro WordStar release 3.00 serial # XG7995TZ  NorthStar ADVANTAGE (TM)  NS-100 dot matrix printer   "C$2PP= MLÉÒÌÏ  !V# ~+(M0 #~xk  e>@ddvgggggBDDF-hCenk<Ie uh fie  Bj Kj 0!j 1"j 2#j 3$j 4%j 5&j 6'j 7(j 8)j 9*j     2 0.         i)       "$6& (*,.08:H4       (C))00n   O O ! *͈@??  IMPOSSIBLE LOAD PARAMETERS... This WordStar assumes a 64K system. Special ADVANTAGE drivers will overwrite BDOS. Ensure that ENDOF2 in NSASM2 code is less than BDOS. $!@~# x?*"!"*!~2!"!"! "#F! "#~)@x)@>+2k@:-*O@n@a@~@n@@w#P@w#w>x2>02-{@#p@¦>2h|}N*WS--é4ÿ !ʪ!³!!:͞x_GϥC>V<<2E4!9"C4ͨ<=:l2J:] @:4-:5-*C4͢=!~!!S!Ϳ!c *͈@??  IMPOSSIBLE LOAD PARAMETERS... This WordStar assumes a 64K system. Special ADVANTAGE drivers will overwrite BDOS. Ensure that ENDOF2 in NSASM2 code is less than BDOS. $!@~# x?*"!"*!~2!"!"! "#F! "#~)@x)@>+2k@:-*O@n@a@~@n@@w#P@w#w>x2>02-{@#p@¦>2h|}N*WS--é4ÿ !ʪ!³!!:͞x_GϥC(K   Re-make WordStar. Bad copy--see REV in NSASM2. $>2t2{*H=N*WSIxB@ @..Y[]{}AEIOU.:+-JP dccdxdBjKjPjVj0j1j2j3j4j5j6j7j8j9jk-__777éì7w nw?VWx2z7W:Go~~56   YZRCDTTVV2CCTTBT2STTTTTTTTTTCBTTTTVUUUVUUVVSSVUfVVTVVTUVVgVVUTVTVUTTTTTTSTTRRTRfTTTTSSSTTfTTTTVTVU 6NIQYdXfjly%27?QXivYN @@@@ on () off () INTERNAL ERRORFATAL NAME OF  TO FILEMERGE-Print a file РԠ Š *** FATAL ERR F25: NOT ENUF MEMORY $ File  not found. Menus &  messages will display as @@@@ only.  WAIT  PRINT\PAUSED merge-printing\ \editing\no\file\ ڽ ׽ *** Press ESCAPE Key *** INTERRUPTED***  E*** I***   F: G! e~x7*`;:Z;e*h;*\;R| !͎ "w;!"~;";#"|;Q MT] MBc HMi FMo CWu PC PO} PA CP PN OP HE FO !Z;>-w n!v;>< ![;-9 !_;T !g;T !c;T !k;T c >< !r;-\ !t;-Ғ \ -> V>2A;ͧ%ڼ ͑"K;uâ *; *;>oGw#%  % w#- 6> ͧ% !> ONOF͗%]% 4}ͧ% g%MCg ͆| !4sx:Ê͌>2B;!Q;~6͌ڥ:4!B;6>[:4!_; !;͵*;!|;͵!y;õ*<;*K;zĎ>2C;>*M;_:Z;<=*w;͎:4:4[}> [G!P;~6!4x!r;^Gz4x!0GO!P> W>~a>- S }!O;~<> STk ‹!"O;F F*Z;&*M;"M;*\;͎*M;|͑!"M;*K;#"K;2Q;u*Z;>*v;> :4*M;|:3;*\;‹͑> [*M;|ñ TW͔ J.S!O;~-5R;!G̞#~^T@!O;4!͌ڈ:4<:4/!4!D;6> ̜͜:C;7*K;*:;Î'ͪÜNħ >2D6ç ['ͧ ͪ¾Ņ ͪħ :4ͪ<:4;4::#4!;4x!::*;e";!;x *;*#;"#;*;*;͵";!";";";!;~6py_!";";͵";!;4~!!;4!;~::5*;"#;:;!;2;*;";*;|:#;*;)::G$%==xxy2&;>2'; :6;=|g}o|*#;&*6;**;R"*;";:ī͗ͻ͗͢Cs\ͫ -\ͫs\͢s\*;"0;:;UͫcͲ*;".;*;)*!;T]:: ڈ:ʐ*;Î*#;&*;*$;,;ͻͻ*!;(;*;&;*;R|";:6;w#~w+͎  ~# 687<>|&*7"787ͼ):7_71*`5!~! 8~!:7!7~6_7''<>|&Ð!eɷ v&do>!#{ |<ʎs#rɯ7Ê>G!"{}O)|! !!~6w<x7z! q#~w['^#V#o ~2y;#^#V## 2;~2y;+~2};##{l"z;R|";"z;O:Z;!<=O G q#s#r#ww#Gw!o;~#m #~ͪ*C6|/!N >2D6êo ͪ*C6|/ͧ ê*E;!9"E;Ê:B6C M ";ͧ 2 :C; x~>2 x:;*;";";ͼ*;͎. o ;2 "; ͧ !;w[wÎR R *@;W{k z!!4ʮ zy > W_ !Q;zV#>2@;{ ȯ2@;͌ x~ #à !9"G;! ]% >*G;:B6 "C:B6%C LH7 SRI UJ BPPL͆|*w;͋!g; )!y;͵3!|;͵> :7*;#~+:A;͑:o;G!t;z*K;|f} > :Ͷ42o;u"I;!Y; :+ <*I;"I;!R;~ :# <›Ì:i> :> ;#~+͑:o;G~4#~i\#~i.# *K;Ͷ .:K;#~i  +:!o:2;}X>:2;:o;c >!o;w:2;~q>n>[c o>^#~4> [Á*M;:3;ʠR|:Z;e͎:Q;Ì:3;N#{ ʘ> :> [> :+|#>Ø!".g|,->'Ng:;;!"B6"D6<=G:E67J*;~7Jp#~d_x2::;*:*:::g" ;yHG*:::g":::o&{2:y: ;ey_! ;*6;R:: ‚> ڲ!e::~œ=<<*6;-ʰҮ<>d lx_gQy2;:; !;4!;4x*;::e";͵";!͎O>G  %+~ !!x 6#.$%%$o>gAARDMxɅo|gg}o|g^#V#~#fo# ‚Gz—{xɾ~~/w~ͼ#ä   :.,;?!0?:ɷ @[A?a{['N#w@w#6:#6+Y T6.#Z6 dw# Ys0 {{:|sͥ_:§ {2b5_ͥ=!¼sü):OͥGHGxy"627!74!77!_8ͪͪ*7*͎l!7"J6:77͎?9͎({%}):7=!9=z27!97o >e!9e:͎ç!` .:7*7+##+6!.}1~6/ % ~6 %!!< nU6#~!͜>ͳ 1*5~*5~w#~<!5"5:c5/!:ͳ *7+wF*|#6!26:?ͺÊ>X:VͽÊ>!*ey!5w+~#wz.!5"5"5P. G:a5Oxͱ:I x  yON#F ܔ ͱp+q ͔!o *7:IO&:H=! D3#:c5N%# H +9 .`ͫ" ? !!!!a5 È*`5>+,&í":`5 *`5-í">o͜:+A ]!*7~G:7w26 "7:[5>!:!*`5#!6~\!5*7~w27*`5ͫ":6o&{!͔!*`5͎ī"ͪ*6:6o*`5}ͧ!o!6:!<=:!g=!÷!÷!:c5~<=#~ͳ !!0:H=!:I"=O3#:c5T"~ &"# "ye +~ ," ~!!m~Į!S"A> ͳ J" 6 # Z"!!!~x"!ͮ!ͥ" *`5"~"!ͮ!ͧ*H-&"`53#!"7:[5{" ":Ͷ!:d#*^\:]"!J#!S#!X626r!$261$r!:1%:1%:1%:1%:GOͪO%:C6I% y̔ x4%ê!%2S%%_:S%W~ʑ%#ʂ%###r%~|%#^#VÓ%g% ʗ% ʗ%!͗%%%0% %T])))_%%%0% ڽ%|7%%x 7 7 77?}8}8}8}8}8U8W8Y8[8]8_8a8c8q8}8e8g8i8k8m8}8}8}8{8}8s8}8u8w8y8}8}8}8}8}8}88}88888888}888}8}8}8888}8}8!Ø&?'ͥ"K'oG-!?'?1͉-:626o!$K'>c31̓͹$26:626!&26%×-!6~6wO1):6.):&><)26!6.)2626/262654>G1:k5!H4O)~o :7a:61Êͼ):+/y)>!+Fw>2626ó))26 :6Ÿ)26:6<ð):6=26!"626ó)g:7O/ G:+:6)o#}!6Ěx:+ʉ)o *:6=1Ê)!6͚G:6 *!6):6̐):6W:6)_:6!6<*:6´* + @+:6/<_y!6q*U*qy!6ڣ*<26͟,z<26o !6:7ʣ*:6ң*z26ñ*z±*!6U*26*7"6:6O:6G/!((ͥ*6+"6gx/+!(y+*>͡(:I>(:6->26!D6~/++! n1:7M*3.د27R1(:C6 .*7"73126|=Q3#.=b0.^#Vn126262626%>26/.3.26G:7l.x ʸ.?G~ʸ.|.o.#~ʼ.:7<#^#V++̂N26.}.26O~ʼ.###~ʸ.#ʡ.è.7#^#V|7!$/*`5o 0\/o .1/6/=r!Re:B6dbf:C6h:D6j͔$2'$Ù*6G*66*78ʙQc#^#VʏʔQln++O:d5Gyʱ¸:Þ¿>~͙܀ > :a5   >^@ :c5 ̎ !45 ͳ !a5 P H 4*7w#!6*7B +4:H=q :I*7e"7*7eB 5*7 *I&*7[gg> -¤ !!O: y#*`50> XO !X5 ws"g":[5!!!:`G{ʳ  i#d*7*7[*7Ro&U\*7:IOD# C#*+a#}!+y)>26*`5"6 ]$ ]$]$2'!t#ʜ#ʜ#«#*6!ͫ"o#!####U$## #*`5%~!_! #$$#!#$$- $!#45 $>!w)#ʣ)#ʪ)!oy^>Iy <26+q#$:Y5:H$<26262626$_!>ä$o$â$%_!>!`5ͧ!01:6!6$~:`5!6!"6"626262*5~̓!66:7!'!!à&͏G!6~6̀1ͪ:6'o&)&^#Vo&Di:7/!F6ˆ'5:6͎ *`5! ~!~! Î *6|!F6£'o 02F6*7"6':D6ʽ'(:7':C6'V(:B6'((!5((ć`:IO>(!:6*6^(*6^(:6c(>>(:626*7"6'O'G:IPx=(V(*7*6R@(> c(}c(| s(>^c(@!d5\‚(> Ç( ʈ(#*7++*6w͎ڞ(#"6:D6¼(:)ʹ(:f5!6V(0(^#V#(~#c((:&!+!7(26.)!6N61q!6FWß,!6452626*7"6:6=+2626͒ͅ,+:626Ħ,Ê:IO *76 #=M+#m+ x GV+:6G*6+F+N <ʙ+"6gʹ++F+N 26Êʹ++++DM>26>.!m,### ʡ+#~¸+  +m,ʴ+26*7"6*76+r+s ͎,:6,,+~w͊,+*6 !i, ~d,#-, :,~Z,\,6.#w#w#> *6<BAINuHEvREwCOxOVy$$z26͌"6g>26j*7ó,#p+qg+F+N <,#Vp+^qBK,+V+^ oʬ,,, ,,,!91C4~!"%/=r!8Í'>260\/ ͑!~!:7Z/!/v~Z/.%Z/6`]͑! ~!)(:7v/1=!60:7]͍'o :6!6͚o:7š/:6o:6/!6ڱ/!6ڽ/o&͔!o !<Ý/Q):6!606}:7G:Y5O*J6|!6/6:6!6ᠡ/6o ‡0($:D6!8:G6!8:610268I0x/I0͖0F0͜!"6o͢$:626:6f0!6~6!8*J6|!"J6͢$:626‡0>26!G6~6ȯ26:IPڣ0!7:E4 ~"8126×-:7O!60w:70:6=0w~=!6)!61) 1 ` 1`:7133:6!6͚!6͚!6͚*7"7"7>26: /!6ɯ2L62r6~#26~26#"6Ñ1}26|26"6Ñ1~#26~#26"6:6=>$ԕ&ͽ11i`)2^#V*6 *6)))2N!6 :66i`)2^#V#^#V#͇2~#fo)DM!"q#p#N#F2 ~>)v& 2x2x2 2~>'v&#:6>,v&6 >*v&w!6Y2>+v&# N2^#V>(v&!6:6w>&v&͓2!$~v&><Cpy-M67-M6M6 M6M63M6M6#M6M6mM6t55???????????!ͱ6!Sͱ6ͩ6You are trying to run an uninstalled WORDSTAR.Please run INSTALL first.-ͩ6 ʹ6͢6~̢6 #ô6!%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5Ϳ-=|!]=>o&))))>=goR>.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛ:͞x_GϥCW͛Ъ::Bзʕ>*+"|!>w*;*"ò>}G͘ʇʑ!gG~vd+~2B+~>ͲЯ:B2B>2x:22:2*">2x_À گ!UчO ~#+wگ>ͯï>ï!OU~#ͯ:W>!F:Y> .> 2M<2I~ͯ#7 A A ͳ?Ʉ            M6M6{s6M6'M6-M6dM6!M6gM6|M6  w3Ô3>e A:)2323:>!+}ˆ3::> A8>V<<2E4!9"C4ͨ<=:l2J:] @:4-:5-*C4͢=!~!!S!Ϳ!c *͜@??  IMPOSSIBLE LOAD PARAMETERS... This WordStar assumes a 64K system. Special ADVANTAGE/NS100 drivers will overwrite BDOS. Ensure that ENDOF2 in NSASM2 code is less than BDOS. $!@~# x?*"!"*! "!*"!~2!"!"! "#F! "#~=@x=@>+2@:-*O@͂@u@@͂@@w#d@w#w>x2>02-@#„@¦>2h|}N*WS--öA aøO!ʷ!!!+wگ>ͯï>ï!OU~#ͯ:W>!F:Y> .> 2M<2I~ͯ#7 A A ͳ?Ʉ            !%=#%=#%=#%=:`2Y5:c2+ͥ2b5~f!B6.:2c5K=~"=:b5é*͂="7:Il++"7"7="7+"7:Il++"7"7"7*:c5£=*HL&bj –=R+#"7"7*H-3#"7"7Q"7R"7:c5*HͿ-=|!]=>o&))))>=goR>.>O->26:H26=26=26S>:7*7>|& 7!!Y5~P>(P>6!"J6O-:H|>y|>6u>:I@|>|>~!8"J6>|&w- A4:c5:ª>®>:ʰ>>2d52e5>:2[5ͤ!ͮ!~"!N6 ! t6!q66.!66/:26ɛ.po 3 offset three spaces from left edge of paper instead of .. the standard default of eight NS-100 PRINT MODES  Thi documen illustrate th us o WordSta wit th NS-10 do matri printer Fou printin size ar availabl b invokin th fou possibl combination o condense an enlarged a) 136 characters per line (standard print size) b) 68 characters per line (standard enlarged print size) c) 233 characters per line (condensed pn condense enlarged  Likewise lin ma b al standard, al standard enlarged o mixtur o standard an standard enlarged. Lastly som o th fou characte size ca b enhance b invoking-- e) doubl strik mod fo th entir lin. f)emphasize mod fo th entir lin. g) bot doubl strik an emphasize mode fo th entir line standard single strike ENLARGED double strike ENLARGED double strike emphasized EThis is standard sized print double struck.  3)This is standard sized print emphasized.  4)This is standard sized print emphasized and double struck. Emphasize an doubl ca b toggle independentl o each other.  5) This is standard enlarged sized print and may be mixed with standard sized print in the same line.  6)Enlarged emphasized print. It may be mixed with standard emphasized print in the same line.  Although a documente i th NS-o" supporte b WordSta doe no kee mixture o prin offse th sam amount.  I yo typ "^PR twic i th sam line yo ge standard sizd print. 10)Condensed can also be double struck.   Emphasize condense i no possible I yo tr t invok it, you will get this-- standard emphasized.  11)Condensed enlarged print looks like this. It can be mixed with condensed sized print in the same line.  12)Condensed enlarge! *???  IMPOSSIBLE LOAD PARAMETERS... This WordStar assumes a 64K system. Special NS100 drivers will overwrite BDOS. Ensure that ENDOF2 in NSASM2 code is less than BDOS. $!@~# x?*"!"*! " !*"-|}ùO i wNI!O ~#+w >  > !~#8V :>8!:> ʆ> 2<2~l #Ï A A  ?rint size) d) 116 characters per line (condensed enlarged print size) 233 characters per line (condensed print size)  136 characters per line (standard print size)  116 characters per line (condensed enlarged print size)  68 characters per line (standard enlarged character size) Only certain combinations of these sizes are possible-- A lin ma b al condensed al condense enlarged o mixtur o condense aNLARGED emphasized emphasize doubl strik ENLARGE emphasize doubl  condense singlstrik堠 condense enlarged single strike condense doubl strik  condense enlarge double strike  Condensed emphasized and condensed enlarged emphasized are not possible. Th followin example demonstrat th twelv possibl print combinations. 1) Thi i standard size print whic i i effec unti anothe mod i selected. 2)10 printe manual th enlarged mod automaticall turn of a th en o line WordSta automaticall re-assert th enlarged mod o th nex lin fo you. 7)Here is enlarged double strike.  8)Enlarged emphasized, double struck printing. Theemphasize an doubl ca alway b toggle independently  of each other. 9)Thi lin i condensed I canno contai mixtur o condense an standard. Notic tha th lef margi "offset (".pd, double struck print gives you this. A mixture with double struck condensed is possible.  h sam line yo ge standard sizd print. 10)Condensed can also be double struck.   Emphasize condense i no possible I yo tr t invok it, you will get this-- standard emphasized.  11)Condensed enlarged print looks like this. It can be mixed with condensed sized print in the same line.  12)Condensed enlarge