home *** CD-ROM | disk | FTP | other *** search
- .pf on:
- .rm 65
- WSPATCH2.DOC
-
-
- Wordsta≥á patche≤á combineΣ froφ man∙ othe≥á patche≤ ì
- published¼ witΦ somσ enhancement≤ anΣ modifications«
-
- Fo≥á Wordsta≥ 2.2╢ only!!!!!íá Work≤ witΦ singlσ o≥ ì
- double density systems.
-
- Writteε b∙ Mikσ Schwab¼á assistan⌠ librarian¼ Denve≥ ì
- Osbornσ Grou≡
- (303⌐ 986-3102¼ CompuServσ 71555,222
- Pleasσ contac⌠ mσ (telephonσ i≤ faster⌐ iµ yo⌡á finΣ ì
- an∙ problem≤ o≥ havσ an∙ suggestions.
-
-
- >>>>>>>>>>>>>>>>>>>>>>>>>>>>> HELP! <<<<<<<<<<<<<<
-
- Iµá thosσá wh∩ havσ acces≤ t∩ thσá sourcσá codσá fo≥ ì
- Wordsta≥ noticσ an∙ problem≤ witΦ thσ patche≤ ╔ havσ ì
- made¼á o≥ woulΣ kno≈ ho≈ t∩ achievσ thσ samσ result≤ ì
- witΦá Wordsta≥á 3.0¼á pleasσ contac⌠ mσ a≤á sooεá a≤ ì
- possible« Thσ location≤ tha⌠ ╔ havσ patcheΣ o≥ useΣ ì
- with Wordstar 2.26 are as follows:
-
- 194-1D4 - Terminal and printer logos.
- 248-2D2 - Terminal and option patch area.
- 2D9-35B - Seems to be a free patch area - I used
- for special patch subroutines.
- 360-422 - Program option patch area.
- 691-70C - Printer patch area.
- 1BB4 - Patched to call scroll routine.
- 1BBB - Return point from scroll routine.
- 202B - Patched to correct memory mapped addr
- calculation to use 128 instead of WID.
- 204F - Patched to correct memory mapped addr
- calculation to use 128 instead of WID.
- 234C - Patched to correct memory mapped addr
- calculation to use 128 instead of WID.
- 2E74 - Patched to correct memory mapped addr
- calculation to use 128 instead of WID.
- 30D2 - Patched to jump to scroll routine.
- 3718 - Current Help level variable.
- 371E - Current cursor column.
-
-
- 1.░ HISTORY AND PATCH OVERVIEW
-
- Thi≤ histor∙ sectioε describe≤ thσ patche≤ made¼ anΣ ì
- thσá motivatioε fo≥ thσ patche≤ made«á Pleasσá reaΣ ì
- througΦá i⌠ quickly¼á eveε thougΦ somσ portion≤á arσ ì
- somewha⌠á technical¼á a≤ i⌠ wil∞ hel≡ yo⌡ understanΣ ì
- the principals involved.
-
- Thσá goa∞á iεá creatinτ thi≤ patcΦá wa≤á t∩á combinσ ìèalmos⌠á al∞ oµ thσ nicσ operationa∞ patche≤ whicΦá ╔ ì
- havσá found¼á anΣ includσ al∞ oµ thσ prograφá optioε ì
- patcΦ location≤ previousl∙ accessiblσ onl∙ b∙á usinτ ì
- thσ Wordsta≥ INSTAL╠ program«á Somσ oµ thσ previou≤ ì
- patche≤áá didn'⌠á worδá together¼áá o≥á didn'⌠á worδ ì
- properl∙ oε doublσ densit∙ machines«á Plus¼ INSTAL╠ ì
- i≤á somewha⌠á awkwarΣ t∩ use¼á anΣ require≤á yo⌡á t∩ ì
- ente≥á everythinτ iε hexidecimal«á Wha⌠ ╔ havσá no≈ ì
- createΣ i≤ aε assembl∙ languagσ filσ whicΦ give≤ yo⌡ ì
- onσ sto≡ shopping«á Yo⌡ ge⌠ man∙ nicσá enhancement≤ ì
- 11 thσ operatioε oµ thσ program¼ plu≤ thσ abilit∙ t∩ ì
- enter patch options in ASCII or decimal.
-
- Thi≤ filσ include≤ thσ optioε formall∙ calleΣ smootΦ ì
- scrolling«áá Thi≤áá includeΣá memor∙á mappeΣá vide∩ ì
- access¼áá whicΦáá make≤á fo≥á almos⌠áá instantaneou≤ ì
- vertica∞á scrollinτ (^C¼á ^R)«á I⌠ als∩ include≤á ß ì
- mucΦ nice≥ horizonta∞ scrollinτ techniquσ wheε usinτ ì
- ßá 5▓á columεá display«áá Thesσá tw∩á patche≤á makσ ì
- Wordsta≥ mucΦ nice≥ t∩ use¼á anΣ virtuall∙ eliminatσ ì
- thσá annoyinτ jumpinτ oµ thσ screeε anΣ garbagσ datß ì
- lef⌠ oε thσ screen.
-
- Thi≤á patcΦá prograφ include≤ al∞ oµ thσ idea≤á froφ ì
- thσ WSFAST.AS═ prograφ whicΦ ╔ founΣ oε FOG/APP.006« ì
- Thi≤ patcΦ originateΣ iε FOGHORN¼ wa≤ miscopieΣ int∩ ì
- thσá firs⌠á Portablσ Companion¼á anΣá correcteΣá anΣ ì
- slightl∙ modifieΣ iε WSFAST« WSFAS╘ diΣ no⌠ worδ oε ì
- doublσ densit∙ machines¼á eveε afte≥ correctinτá thσ ì
- BIO╙ references« ╔ founΣ thσ probleφ t∩ bσ witΦ thσ ì
- embeddeΣ Z8░ code≤ usσ oµ thσ EX╪ instruction¼ whicΦ ì
- conflict≤á witΦá thσ usσ oµ thσ samσ instructioεá iε ì
- BIO╙á 1.4«á Studyinτá thσ Osbornσ Technica∞á Manua∞ ì
- revealeΣ thσ change≤ madσ betweeε BIO╙ 1.│ anΣá 1.4« ì
- ╔á thereforσá rewrotσ thσ Z8░ codσ iε 808░á assembl∙ ì
- language¼á correctinτá thσ problem¼á anΣ eveεá usinτ ì
- les≤ byte≤ thaε thσ previou≤ version«
-
- Afte≥á ß tediou≤ disassembl∙ oµ thσá Wordsta≥á code¼ ì
- anΣ man∙ tria∞ anΣ erro≥ attempts¼á ╔ discovereΣ ho≈ ì
- t∩ adΣ severa∞ enhancements¼á thσ mos⌠ noticeablσ oµ ì
- whicΦá i≤ t∩ allo≈ specifyinτ ß screeε widtΦ oµ les≤ ì
- thaεá 128¼á withou⌠á screwinτ u≡á thσá memory-mappeΣ ì
- vide∩ addres≤ calculations« Thus¼ witΦ aε 8░ o≥ 10┤ ì
- columε display¼á thσ screeε widtΦ ma∙ bσ se⌠ s∩ tha⌠ ì
- thσá specia∞ flaτ character≤ iε thσ righ⌠ columε ma∙ ì
- bσ displayeΣ oε thσ screen«á Thi≤ requireΣ patchinτ ì
- thσá Wordsta≥ codσ iε fou≥ places¼á t∩á correc⌠á thσ ì
- addres≤á calculation≤ b∙ usinτ thσ 12╕ columεá vide∩ ì
- memor∙á widtΦ iε thσ appropriatσá calculations«á Iµ ì
- WIDT╚á i≤ se⌠ t∩ 128¼á thσ fou≥ patche≤ havσ n∩á ne⌠ ì
- effect.
-
- Anothe≥ enhancemen⌠ i≤ ß rewritσ oµ thσ routinσ froφ ì
- WSPATC╚á (FOG/APP.005⌐ whicΦ set≤ thσ arro≈ key≤á t∩ ìèWordsta≥á oε entry¼á anΣ reset≤ theφ bacδ t∩ CP/═ oε ì
- exit«á Also¼á iµá memor∙ mappeΣ vide∩ operatioεá i≤ ì
- selecteΣ (FAST=TRUE)¼á thσ aut∩ horizonta∞ scrol∞ i≤ ì
- disableΣ oε prograφ entry¼á anΣ turneΣ bacδ oεá wheε ì
- Wordsta≥ exits.
-
- Iεá addition¼á al∞á oµ thσá terminal¼á printer¼á anΣ ì
- prograφá optioε patcΦ location≤ whicΦ ╔á coulΣá finΣ ì
- arσá includeΣá iεá thi≤ routine«á Thi≤á allow≤á thσ ì
- patche≤ t∩ bσ donσ iε ASCI╔ o≥ decimal¼á insteaΣá oµ ì
- hex¼á likσ iε INSTALL«á Also¼á al∞ oµ thσ necessar∙ ì
- patche≤á ma∙á bσ donσ iε onσ place¼á iεá onσá simplσ ì
- step¼á withou⌠ usinτ INSTAL╠ a⌠ all«á ╔ havσ testeΣ ì
- thσá patche≤ iε thσ Anade° versioε (WSP2ANA.ASM⌐á oε ì
- m∙áá Anade°áá 950▒á printer«áá Thσá EPSO╬áá versioε ì
- (WSP2EPSN.ASM⌐áá wa≤á deriveΣá froφá severa∞áá othe≥ ì
- patchinτ document≤ ╔ founΣ iε thσ library¼á anΣá ha≤ ì
- no⌠á beeε testeΣ oε aε EPSON«á Pleasσ contac⌠ mσ iµ ì
- yo⌡ havσ patche≤ fo≥ othe≥ printers¼á o≥ suggestion≤ ì
- fo≥ improvement≤ iε thσ tw∩ existinτ versions«á Thσ ì
- tw∩á version≤ arσ identica∞ excep⌠ fo≥á thσá printe≥ ì
- patches.
-
- Thσááá origina∞áá WSFAS╘áá combineΣáá tw∩áá somewha⌠ ì
- independen⌠á functions║áá memor∙á mappeΣá vide∩á fo≥ ì
- speed¼á anΣá ß patcΦ t∩ givσ ßá smoothe≥á horizonta∞ ì
- scrol∞á theεá thσ aut∩ scrol∞ iε thσ BIO╙á provided« ì
- Thσá smootΦá scrol∞ wa≤ dependen⌠á oεá usinτá memor∙ ì
- mappeΣ vide∩ fo≥ prope≥ operation¼ bu⌠ thσ function≤ ì
- werσáá otherwisσáá independent«áá Thσá tw∩áá shoulΣ ì
- generall∙á g∩ togethe≥ iε 5▓ columεá displa∙á units« ì
- However¼á wheε usinτ ß 8░ o≥ 10┤ columε display¼á i⌠ ì
- i≤ nicσ t∩ se⌠ thσ screeε widtΦ (WIDTH⌐ equa∞ t∩ thσ ì
- 8░ o≥ 10┤ columε displa∙ widtΦ (DWIDTH)¼ s∩ tha⌠ thσ ì
- specia∞ flaτ character≤ iε thσ right-mos⌠ columε arσ ì
- alway≤ displayed« Iε thi≤ case¼ smootΦ scrollinτ i≤ ì
- n∩á longe≥á needed¼á sincσá al∞ oµá thσá displayablσ ì
- portioεá oµá thσ Wordsta≥ screeεá i≤á alway≤á shown« ì
- But¼á thσá memor∙ mappeΣ vide∩ i≤ stil∞á desirable¼ ì
- jus⌠á becausσ oµ thσ speeΣ increase¼á whicΦ wil∞á bσ ì
- eveε morσ noticeablσ oε large≥ displays« Therefore¼ ì
- thi≤á patcΦá ha≤á ß facilit∙ t∩á enablσá thσá memor∙ ì
- mappeΣá displa∙á withou⌠ thσá smootΦá scrolling¼á b∙ ì
- leavinτ thσ FAS╘ flaτ set¼á anΣ resettinτ SMOOT╚á t∩ ì
- FALSE«á Iµ thi≤ i≤ done¼á DWIDT╚ anΣ thσ horizonta∞ ì
- scrol∞á columε (COLSCR⌐ wil∞ havσ n∩á effect«á Notσ ì
- tha⌠á thσ CP/═ aut∩ horizonta∞ scrol∞ wil∞ alway≤ bσ ì
- disableΣ wheneve≥ FAS╘ i≤ set¼ sincσ n∩ scrollinτ i≤ ì
- needeΣ a⌠ all.
-
- Sincσ somσ oµ thσ patche≤ useΣ direc⌠ BIO╙ call≤á o≥ ì
- accesses¼á anΣá thσ locatioε oµ BIO╙ moveΣ froφá 1.│ ì
- (singlσá density⌐ t∩ 1.┤ (doublσ density)¼á thσá olΣ ì
- version≤á oµ smootΦ scrollinτ diΣ no⌠ worδ oε doublσ ì
- density«á ╔ changeΣ al∞ accesse≤ t∩ BIO╙á location≤ ìèt∩á dynamicall∙ calculatσ thσ curren⌠ BIO╙á startinτ ì
- address¼á anΣ theε adΣ thσ appropriatσ offset« Thi≤ ì
- haΣ t∩ bσ donσ dynamically¼á sincσ thσ patcΦ areß i≤ ì
- reloadeΣ froφ disδ wheneve≥ thσ ╥ (ruε ß program⌐ i≤ ì
- used«á Thσá location≤á accesseΣ withiε BIO╙ arσá a≤ ì
- follow≤ (assuminτ tha⌠ BIO╙ start≤ a⌠á xx00H¼á whicΦ ì
- is E500H for single density, and E100H for double):
-
- xx06H - Console status routine
- xx0CH - Console output routine (C=char to output)
- xx68H - Auto horizontal scroll flag
- xx7FH - Pointer to first arrow key definition
-
- Thσá BMRA═ curso≥ positioε variablσ ha≤ no⌠ changed¼ ì
- and is located at EF5AH.
-
- Anothe≥ featurσ ╔ havσ addeΣ t∩ thσ smootΦ scrollinτ ì
- routinσ camσ abou⌠ a≤ follows« ╔ basicall∙ havσ tw∩ ì
- mode≤áá oµáá operatioεá oµá Wordsta≥á whicΦá ╔áá usσ ì
- constantly¼áá usuall∙á mixeΣá withiεá onσá document« ì
- First¼á ╔ ente≥ ordinar∙ tex⌠ witΦ thσ righ⌠á margiε ì
- se⌠á a⌠ 52¼á s∩ tha⌠ ╔ caε seσ al∞ oµ thσá paragrapΦ ì
- withou⌠ scrollinτ thσ screen« ╔ theε prin⌠ thσ filσ ì
- usinτá MergePrin⌠á witΦ ß righ⌠ margiε oµ 6╡ o≥á 70¼ ì
- whicΦá adjust≤ al∞ oµ m∙á paragraph≤á automatically« ì
- Bu⌠á othe≥á times¼á likσ wheεá addinτá diagrams¼á o≥ ì
- editinτ prograφ code¼ ╔ usσ ß wide≥ margin¼ anΣ neeΣ ì
- ßá smootΦá horizonta∞ codσ t∩ kee≡ froφá wearinτá m∙ ì
- eye≤ out«á Fo≥ thσ firs⌠ mode¼ ╔ woulΣ likσ t∩ havσ ì
- thσ smootΦ scrol∞ no⌠ star⌠ unles≤ ╔ movσ thσ curso≥ ì
- pas⌠á columεá 52¼á whicΦá mean≤ yo⌡á caεá neve≥á seσ ì
- anythinτ t∩ thσ righ⌠ oµ thσ cursor« Fo≥ thσ seconΣ ì
- mode¼ ╔ woulΣ likσ thσ scrol∞ t∩ star⌠ mucΦ earlier¼ ì
- s∩á tha⌠ thσ curso≥ remain≤ close≥ t∩ thσ middlσá oµ ì
- thσá displayeΣ area«á ╔ thereforσ createΣ ß specia∞ ì
- modσá oµ operatioε oµ thσ smootΦ scrollinτá routine¼ ì
- s∩á tha⌠ i⌠ use≤ ß scrol∞ columε whicΦ i≤á equa∞á t∩ ì
- thσ configureΣ column¼á minu≤ thσ curren⌠ hel≡ leve∞ ì
- (^JHn⌐á time≤á 8¼á whicΦá allow≤ yo⌡ t∩á changσá thσ ì
- scroll column on the fly.
-
- Le⌠ mσ illustratσ thi≤ witΦ aε example« WitΦ norma∞ ì
- smootΦ scrolling¼á yo⌡ woulΣ se⌠ you≥ scrol∞á columε ì
- a⌠ sa∙ 44«á Thi≤ mean≤ tha⌠ a≤ yo⌡ movσ you≥ curso≥ ì
- t∩á columε 45¼á thσ screeε woulΣ movσ onσ columεá t∩ ì
- thσá left¼á anΣ wil∞ continuσ t∩ movσ onσ columε fo≥ ì
- eacΦá curso≥ columε moveΣ unti∞ thσ flaτá character≤ ì
- iε thσ righ⌠ columε arσ visible«á WitΦ thσá specia∞ ì
- flaτ se⌠ (SPECL=TRUE)¼ ╔ woulΣ se⌠ thσ scrol∞ columε ì
- t∩á 5▓ (COLSCR=52)¼á anΣ woulΣ se⌠ thσ initia∞á hel≡ ì
- leve∞ t∩ 0« M∙ screeε woulΣ theε no⌠ scrol∞ unti∞ ╔ ì
- tr∙ t∩ movσ thσ curso≥ ofµ oµ thσ screen« Iµ ╔ theε ì
- se⌠á thσá hel≡ leve∞ t∩ ▒ (^JH1)¼á thσ scrol∞á woulΣ ì
- begiε a⌠ columε 44« Hel≡ leve∞ ▓ (^JH2⌐ woulΣ causσ ì
- thσ scrol∞ t∩ begiε a⌠ columε 36¼á whicΦ woulΣá meaε ìètha⌠ ╔ caε alway≤ seσ thσ 1╢ column≤ t∩ thσ righ⌠ oµ ì
- the cursor.
-
- T∩á accomplisΦá thi≤á enhancement¼áá ╔á founΣá wherσ ì
- Wordsta≥á store≤ thσ curren⌠ hel≡ level¼á shifteΣ i⌠ ì
- lef⌠ (RLC) │ time≤ (givinτ ▓ t∩ thσ 3rΣ powe≥ ╜ ¬ 8)¼á anΣ ì
- subtracteΣá tha⌠á figurσ froφá thσá selecteΣá scrol∞ ì
- column«á Yo⌡á ma∙ choosσ an∙ startinτ scrol∞ columε ì
- fo≥ thi≤ feature¼á anΣ se⌠ thσ initia∞ righ⌠á margiε ì
- anΣ hel≡ level¼ a≤ desired« Yo⌡ ma∙ eveε changσ thσ ì
- multiplie≥á t∩ ┤ b∙ deletinτ onσ oµ thσ RL├ line≤ iε ì
- thσá SCRO╠á code¼á o≥ t∩ 1╢ b∙á addinτá anothe≥á RL├ ì
- instruction«á Thσá followinτ tablσ shoulΣ hel≡á yo⌡ ì
- keep this straight:
-
- Help Level Selected Column to start scroll
-
- 0 COLSCR
- 1 COLSCR-8
- 2 COLSCR-16
- .pa
- è2.░ MODIFICATIO╬ O╞ TH┼ PROGRA═ FO╥ CUSTO═ OPTIONS
-
-
- Thσá tw∩ supplieΣ version≤ oµ thσ patcΦ routine≤ arσ ì
- alread∙á assembleΣá int∩á .HE╪á versions¼áá anΣá ma∙ ì
- installeΣ as-is«á However¼á iµ yo⌡ havσ ß differen⌠ ì
- printer¼á o≥ jus⌠ wan⌠ t∩ changσ somσ oµ thσ option≤ ì
- t∩ sui⌠ you≥ persona∞ preferences¼á thσ routinσá ma∙ ì
- bσá modified«á Jus⌠ renamσ thσ filσ t∩ ß namσ whicΦ ì
- i≤ meaningfu∞ t∩ yo⌡ (witΦ ß .AS═ extension¼ still)¼ ì
- anΣ theε edi⌠ i⌠ witΦ thσ Wordsta≥ ╬á (non-document⌐ ì
- command«á N∩á knowledgσá oµá assembl∙á languagσá i≤ ì
- needeΣá t∩á changσá thσ options¼á a≤ ╔ wil∞á tr∙á t∩ ì
- thoroughl∙á documen⌠ oµ thσ possiblσá change≤á below« ì
- Afte≥ editinτ thσ file¼á alway≤ usσ thσ Wordsta≥ ^Q├ ì
- commanΣá t∩á positioε thσ curso≥ oε thσá las⌠á blanδ ì
- linσ oµ thσ file¼ beforσ savinτ thσ file« Thi≤ wil∞ ì
- avoiΣ ß documenteΣ buτ betweeε Wordsta≥ anΣ thσ CP/═ ì
- AS═ assembler«
-
- Afte≥áá savinτá thσá modifieΣá file¼áá anΣáá leavinτ ì
- Wordstar¼ thσ filσ mus⌠ bσ assembled« Assuminτ tha⌠ ì
- thσá AS═á prograφá i≤á iεá drivσá A¼á you≥á modifieΣ ì
- WSP2xxxx.AS═ filσ i≤ oε drivσ B¼á anΣ yo⌡ arσ loggeΣ ì
- t∩ drivσ A¼á thσ followinτ commanΣ wil∞ assemblσ thσ ì
- program:
-
- A>AS═ WSP2xxxx.BBB
-
- Thi≤ wil∞ producσ thσ followinτ lines:
-
- CP/═ ASSEMBLE╥ - VE╥ 2.0
- zzzz
- yyy╚ US┼ FACTOR
- EN─ O╞ ASSEMBLY
-
- Iµá an∙ othe≥ line≤ appea≥ afte≥ thσ CP/═á ASSEMBLE╥ ì
- line¼á the∙ indicatσ error≤ iε thσ file¼á whicΦ mus⌠ ì
- bσ correcteΣ beforσ proceeding« Iµ n∩ error≤ occur¼ ì
- yo⌡á shoulΣ havσ ß WSP2xxxx.HE╪ objec⌠ file¼á anΣá ß ì
- WSP2xxxx.PR╬á listinτá file«á Yo⌡ shoulΣ prin⌠á thσ ì
- listinτá file¼á alonτ witΦ thσ listinτ filσ fo≥á thσ ì
- original¼áá un-modifieΣá routine¼á anΣá comparσá thσ ì
- addresse≤á iε thσ lef⌠ column¼á t∩ insurσ tha⌠á you≥ ì
- patche≤á havσ no⌠ moveΣ an∙ oµ thσ patcΦá locations¼ ì
- whicΦá arσá critical«á Iµ yo⌡ arσá carefu∞á t∩á no⌠ ì
- changσá thσ lengtΦ oµ patches¼á b∙ alway≤ usinτá thσ ì
- samσá numbe≥á oµá parameter≤á (bytes¼á separateΣá b∙ ì
- commas⌐á afte≥ eacΦ D┬ command¼á yo⌡ shoulΣ havσá n∩ ì
- problem«á Fo≥ example¼ iµ yo⌡ choosσ t∩ change USR▒ ì
- froφá al∞á zero≤ t∩ aε ES├ ┼á sequence¼á thσá changσ ì
- woulΣ looδ likσ this:
-
- USR▒ D┬ 0,0,0,0,░ ;take≤ fivσ byte≤ originally
-
- è changσ to:
-
- USR▒ D┬ 2,ESC,'E',0,░ ;stil∞ fivσ bytes
-
- .pa
- è2.▒ Patchablσ Options
-
- Therσá arσá patchablσá option≤ throughou⌠á thσá tex⌠ ì
- file¼ somσ oµ whicΦ arσ morσ sensitivσ t∩ erro≥ thaε ì
- others«á ╔á wil∞á tr∙ t∩ direc⌠á yo⌡á t∩á correctl∙ ì
- modif∙á an∙á oµá thσ desirablσá options¼á shor⌠á oµ ì
- actuall∙ modifyinτ thσ assembl∙ languagσá code«á Iµ ì
- yo⌡ arσ ß hacke≥ wh∩ find≤ ß bette≥ wa∙ t∩ codσ somσ ì
- oµ thσ routines¼á pleasσ le⌠ mσ kno≈ wha⌠ yo⌡ found« ì
- Fo≥á thσ res⌠ oµ you¼á thσ onl∙ rea∞ concern≤ arσ t∩ ì
- bσá surσ tha⌠ yo⌡ instal∞ thσ patche≤ oε ßá COP┘á oµ ì
- thσ Wordsta≥ WS.CO═ file¼ anΣ tha⌠ yo⌡ d∩ no⌠ modif∙ ì
- onσá optioε sucΦ tha⌠ i⌠ move≤ thσ memor∙á location≤ ì
- oµá subsequen⌠ options«á Thσ bes⌠ wa∙ t∩ checδ thi≤ ì
- is¼áá a≤áá mentioneΣá above¼áá firs⌠á assemblσáá thσ ì
- unmodifieΣá program¼á prin⌠ it≤á listing¼á anΣá theε ì
- comparσá thσ listinτ froφ you≥ modifieΣ version¼á t∩ ì
- seσá tha⌠á nonσ oµ thσ addresse≤ iεá thσá lef⌠á hanΣ ì
- columεá havσá changed¼áá arounΣá thσá areßá oµá you≥ ì
- modifications«áá Thσáá addresse≤áá arσáá thσáá fou≥ ì
- hexidecimal digits in the left most column.
-
- Note║á Iµ yo⌡ havσ no⌠ useΣ thσ Non-documen⌠ modσ oµ ì
- Wordsta≥á before¼á yo⌡á wil∞ noticσ tha⌠ thσ wa∙á i⌠ ì
- handle≤á tab≤á i≤á ßá littlσá different«áá Thσá taΓ ì
- characte≥ i≤ actuall∙ storeΣ a≤ is¼ whicΦ mean≤ tha⌠ ì
- iµ yo⌡ accidentl∙ typσ ove≥ ß hiddeε taΓá character¼ ì
- thσá tex⌠ t∩ thσ righ⌠ oµ you≥ curso≥ wil∞á suddenl∙ ì
- jum≡ lef⌠ u≡ t∩ ╕ columns«á Yo⌡ wil∞ neeΣ t∩ inser⌠ ì
- ß taΓ characte≥ o≥ space≤ iµ thi≤ happens¼á t∩ cleaε ì
- up the line again.
-
- 2.1.2 Adjustable Options
-
- Thσá firs⌠á change≤ oµ interes⌠ arσ iεá thσá sectioε ì
- calleΣá Adjustablσá Options¼á nea≥á thσ to≡á oµá thσ ì
- program«á Somσá arσ true/falsσ flag≤ whicΦá contro∞ ì
- thσ naturσ oµ thσ codσ subsequentl∙á generated¼á anΣ ì
- other≤ arσ decima∞ number≤ indicatinτ column≤ oε thσ ì
- screen«á Thσá FAS╘á flaτ control≤ whethe≥á yo⌡á arσ ì
- usinτ memor∙ mappeΣ video¼á whicΦ yo⌡ arσ iµ yo⌡ se⌠ ì
- FAS╘áá t∩á TRUE«áá Iµá yo⌡á als∩á wan⌠á thσá smootΦ ì
- scrolling¼á yo⌡ ma∙ se⌠ SMOOT╚ t∩ TRUE¼ bu⌠ yo⌡ mus⌠ ì
- havσ FAST=TRU┼ first«
-
- Onσá undesirablσá sidσá effec⌠ oµ usinτá thσá memor∙ ì
- mappeΣá vide∩á i≤ tha⌠ yo⌡ losσ thσá halµá intensit∙ ì
- highlighting¼á whicΦ wa≤ useΣ fo≥ commanΣ menu≤á anΣ ì
- markinτáá blocks«áá Iεá it≤á place¼áá yo⌡á ma∙á usσ ì
- underlining¼ b∙ settinτ flaτ HILIT┼ t∩ TRUE« Iµ yo⌡ ì
- d∩ no⌠ likσ this¼ yo⌡ ma∙ eliminatσ it¼ bu⌠ yo⌡ wil∞ ì
- havσ n∩ indicatioε oµ wha⌠ tex⌠ i≤ markeΣ a≤ ß blocδ ì
- (╔ gues≤ wσ stil∞ can'⌠ quitσ havσ everything).
-
- Thσá othe≥á variable≤ iε thi≤á sectioεá contro∞á thσ ìèwidtΦá oµá thσá tota∞ screeε areß useΣá b∙á Wordsta≥ ì
- (WIDTH)¼á thσ widtΦ oµ thσ actua∞ displa∙á (DWIDTH)¼ ì
- anΣ thσ desireΣ columε t∩ begiε horizonta∞ scrollinτ ì
- afte≥á (COLSCR)«áá Also¼áá thσá specia∞á horizonta∞ ì
- scrollinτá mode¼á wherσá thσá scrol∞ columεá ma∙á bσ ì
- changeΣá oε thσ fl∙ witΦ thσ ^JHεá command¼á ma∙á bσ ì
- enableΣá b∙á settinτ SPEC╠ t∩ TRUE«á Iε thi≤á case¼ ì
- COLSC╥ wil∞ designatσ thσ scrol∞ columε t∩ usσá wheε ì
- the help level is at 0.
-
- 2.1.2 Terminal Patch Area
-
- Thσá onl∙ patche≤ oµ interes⌠ iε thσ termina∞á patcΦ ì
- areßá arσá DEL│ anΣ DEL4«á Thesσ contro∞á thσá timσ ì
- dela∙á fo≥á displayinτ thσ hel≡á commanΣá menu≤á anΣ ì
- signoεá screen¼áá respectively«á Sincσá thσá signoε ì
- screeεá i≤ no⌠ ver∙ useful¼á ╔ havσ se⌠ DEL┤ t∩á 12¼ ì
- whicΦá i≤ abou⌠ a≤ lo≈ a≤ i≤ meaningful¼á sincσá thσ ì
- primar∙ dela∙ i≤ theε causeΣ b∙ thσ disδ access« Iµ ì
- yo⌡á wan⌠á ßá longe≥á dela∙ beforσá thσá hel≡á menu≤ ì
- (assuminτ tha⌠ you≥ hel≡ leve∞ i≤ >0)¼á yo⌡ increasσ ì
- DEL3¼á althougΦ ╔ havσ alread∙ increaseΣ i⌠ froφá 2╡ ì
- t∩ 3╡ (╔ don'⌠ kno≈ thσ unit≤ oµ time¼á bu⌠ i⌠ seem≤ ì
- to be around 1/10 sec.).
-
- 2.1.3 Special Routines for Osborne 1
-
- Mos⌠áá peoplσá shoulΣá no⌠á attemp⌠á t∩á modif∙á an∙ ì
- assembl∙ languagσ routines« However¼ iµ yo⌡ likσ m∙ ì
- specia∞á adjustablσ smootΦ scrollinτ mode¼á bu⌠á yo⌡ ì
- reall∙ wisΦ tha⌠ ╔ haΣ multiplieΣ thσ hel≡ leve∞á b∙ ì
- ┤ o≥ 16¼á insteaΣ oµ 8¼ yo⌡ ma∙ changσ thσ numbe≥ oµ ì
- RL├á shif⌠á instruction≤ (currentl∙ 3⌐ iε thσá SCRO╠ ì
- routine«á EacΦ RL├ instructioε multiplie≤ thσá hel≡ ì
- leve∞ numbe≥ b∙ 2¼á s∩ onσ RLC=*2¼ two=*4¼ three=*8¼ ì
- four=*16¼á five=*32¼á six=*64¼á anΣá seveε woulΣá bσ ì
- ridiculous«á Notσá tha⌠á an∙ change≤ madσ t∩á thesσ ì
- routine≤á mus⌠ no⌠ extenΣ thσ routine≤ pas⌠á addres≤ ì
- 035BH.
-
- 2.1.4 Program Option Patch Section
-
- Thi≤á sectioε contain≤ patcΦ location≤á whicΦá allo≈ ì
- thσ use≥ t∩ changσ thσ defaul⌠ initia∞ setting≤ oµ ß ì
- numbe≥á oµ prograφ options«á Mos⌠ oµ thesσá option≤ ì
- ma∙á bσ changeΣ witΦ command≤ insidσ oµ thσ program¼ ì
- bu⌠á i⌠á i≤ ofteε easie≥ t∩ havσá Wordsta≥á comσá u≡ ì
- alread∙á configureΣ thσ wa∙ yo⌡ prefer¼á rathe≥ thaε ì
- ente≥á thσá command≤ manually¼á o≥ tiσá u≡á ßá largσ ì
- functioεá t∩á d∩ them«á Somσ oµ thσá variable≤á arσ ì
- flags¼ whicΦ ma∙ bσ designateΣ a≤ O╬ o≥ OFF« Other≤ ì
- requirσá ßá decima∞á numbe≥ fo≥á ßá parameter«á Thσ ì
- prograφá filσ comment≤ describσ eacΦá variable¼á anΣ ì
- givσ thσ correspondinτ Wordsta≥ commanΣ whicΦá woulΣ ì
- also change that variable, if there is one.
- è
- ╔á havσá alread∙á changeΣ thσá default≤á whicΦá mos⌠ ì
- peoplσá likσá t∩ change«á Thσá initia∞á hel≡á leve∞ ì
- (ITHELP⌐á ha≤á beeε changeΣ t∩ 0«á Thσ inser⌠á modσ ì
- flaτá (ITITOG⌐ wa≤ changeΣ t∩ OFF¼á s∩ tha⌠ Wordsta≥ ì
- doe≤á no⌠ comσ u≡ witΦ Inser⌠ On«á Thσ Hypheεá Hel≡ ì
- flaτá (INITWF+4⌐ ha≤ beeε se⌠ OFF¼á s∩ tha⌠á thσá ^┬ ì
- command does not pause in the middle of a paragraph.
-
- Thσá mos⌠á importan⌠ parameter¼á sincσ i⌠á i≤á ofteε ì
- differen⌠ fo≥ differen⌠ people¼ i≤ thσ desireΣ righ⌠ ì
- margin¼ INITRM« ╔ havσ entereΣ i⌠ a≤ columε 52¼ bu⌠ ì
- yo⌡ ma∙ prefe≥ ß differen⌠ column« Wordsta≥ expect≤ ì
- thσ actua∞ valuσ storeΣ t∩ bσ thσ margiε minu≤á one¼ ì
- s∩ ╔ havσ expresseΣ i⌠ a≤ thσ desireΣ valuσ followeΣ ì
- b∙ ß -1¼ t∩ simplif∙ thσ entr∙ (i.e.║ 52-1).
-
- Man∙ othe≥ option≤ ma∙ bσ changed¼ sucΦ a≤ thσ pape≥ ì
- dimensions¼á lef⌠ margin¼á worΣ wrap¼ justification¼ ì
- rule≥ display¼á pagσ breaδ display¼ o≥ linσ spacing« ì
- Yo⌡ caε changσ thσ defaul⌠ prin⌠ questioε responses¼ ì
- sucΦá a≤ alway≤ thσ prin⌠ usσ forφ feed≤ unles≤á yo⌡ ì
- specificall∙ answe≥ ╬ t∩ thσ question« Yo⌡ caε eveε ì
- changσá somσá option≤á no⌠ accessiblσá witΦá prograφ ì
- commands¼á sucΦá a≤ changinτ thσá actua∞á character≤ ì
- useΣá fo≥ decima∞ tab¼á DO╘ commands¼á o≥á MailMergσ ì
- special variable markers and delimiters.
-
- 2.1.5 Printer Patch Section
-
- Thσá printe≥ patcΦ sectioε i≤ thσ onσ yo⌡ wil∞á havσ ì
- t∩á heavil∙ modif∙ iµ you≥ printe≥ doe≤ no⌠ usσá thσ ì
- contro∞á code≤á tha⌠ thσ version≤ provideΣá support« ì
- Thesσá patche≤á arσ probabl∙ thσá trickies⌠á fo≥á thσ ì
- novice¼ sincσ the∙ requirσ ß knowledgσ oµ thσ prope≥ ì
- contro∞á code≤ fo≥ you≥ particula≥ printer¼á whicΦ ╔ ì
- canno⌠ possiblσ givσ yo⌡ iε thi≤ document« Yo⌡ mus⌠ ì
- stud∙á carefull∙á thσá manua∞á provideΣá witΦáá you≥ ì
- printe≥á (hopefull∙á yo⌡ havσ one!)¼á anΣá determinσ ì
- whicΦá contro∞á code≤ producσá thσá specia∞á printe≥ ì
- option≤á o≥á mode≤ whicΦ yo⌡ desirσ t∩ contro∞á froφ ì
- Wordstar.
-
- Therσá arσ tw∩ differen⌠ specificatioεá method≤á fo≥ ì
- thesσáá parameters¼áá dependinτáá oεá thσáá variablσ ì
- involved«á Thσ firs⌠ two¼á BLDST╥ anΣá DBLSTR¼á arσ ì
- jus⌠ ß singlσ decima∞ number¼á specifyinτ thσ numbe≥ ì
- oµ time≤ t∩ overprin⌠ fo≥ boldfacσ anΣ doublestrike¼ ì
- respectively«á Thσ res⌠ oµ thσ variable≤ consis⌠ oµ ì
- ßá ░ t∩ ε characte≥ strinτ oµ contro∞á codes¼á whicΦ ì
- wil∞áá bσá outpu⌠á t∩á thσá printe≥á unde≥áá certaiε ì
- conditions«á Thesσ strinτ alway≤ star⌠ witΦ ß coun⌠ ì
- oµ thσ numbe≥ oµ character≤ whicΦ follow¼á whicΦ ma∙ ì
- bσá zero«á Wheε Wordsta≥ want≤ t∩ usσ onσ oµá thesσ ì
- strings¼á i⌠á firs⌠ grab≤ thi≤ characte≥ count¼á anΣ ìètheεá fetche≤ tha⌠ man∙ morσá bytes¼á anΣá transmit≤ ì
- theφ t∩ you≥ printer« Thσ numbe≥ oµ byte≤ availablσ ì
- fo≥á eacΦ functioε i≤ fixed¼á anΣ mus⌠ bσ maintaineΣ ì
- b∙ addinτ zero≤ afte≥ thσ strinτ used«á Aε examplσ ì
- of this was shown at the beginning of section 2.0.
-
- Somσ oµ thσ string≤ indicateΣ arσ outpu⌠ iε responsσ ì
- t∩ embeddeΣ printe≥ contro∞ code≤ (^PA¼á ^PN¼ etc.)« ì
- Thesσ arσ identifieΣ iε thσ prograφ comments«á Somσ ì
- oµá thσá string≤á arσ outpu⌠á eacΦá timσá thσá prin⌠ ì
- contro∞ i≤ encountereΣ (^PQ¼á ^PW¼á ^PE¼á ^PR)¼ wil∞ ì
- thσá ribboε contro∞ (^PY⌐ output≤ thσ RIBBO╬á strinτ ì
- oεá thσ firs⌠ occurrence¼á anΣ output≤ thσ RIBOF╞á oε ì
- thσ second¼á alternatinτ bacδ anΣ forth«á Thσ pitcΦ ì
- contro∞ code≤ arσ ß littlσ trick∙ t∩ use«á Wordsta≥ ì
- tha⌠ i⌠ come≤ u≡ alread∙ iε standarΣ pitch¼ s∩ usinτ ì
- ß ^P╬ a⌠ thσ beginninτ oµ you≥ documen⌠ t∩ forcσ thσ ì
- printe≥ t∩ standarΣ pitcΦ wil∞ havσ n∩á effect«á Iµ ì
- yo⌡á havσá firs⌠á useΣ thσ ^P┴ t∩á selec⌠á alternatσ ì
- pitch¼áá theεá ßá subsequen⌠á ^P╬á wil∞á outpu⌠á thσ ì
- specifieΣ strinτ (PSTD)« Sincσ ╔ kee≡ m∙ printe≥ iε ì
- compresseΣá fo≥á al∞á othe≥á printing¼á ╔á useΣá thσ ì
- printe≥ initializatioε strinτ (PSINIT⌐ t∩ outpu⌠ thσ ì
- contro∞á codσ t∩ forcσ thσ printe≥ bacδ t∩á standarΣ ì
- pitch«á Also¼á iµá yo⌡á havσ morσ thaεá ▓á possiblσ ì
- characte≥á pitchs¼á anΣá usσ onσ oµ thσá use≥á prin⌠ ì
- control≤á (likσá ^P╤ - USR1⌐ t∩á selec⌠á thσá pitch¼ ì
- Wordsta≥áá wil∞á stil∞á conside≥á itselµá t∩á bσá iε ì
- standarΣ pitch¼ anΣ wil∞ no⌠ d∩ anythinτ iµ yo⌡ theε ì
- specif∙ ^PN¼á unles≤ yo⌡ d∩ thσá following║á ^PA^PN« ì
- Onσá fina∞ note║á Thσ Footnotσ prograφ froφá Osbornσ ì
- use≤ ^P┼ anΣ ^P╥ fo≥ it≤ owε interna∞ codes¼á s∩ yo⌡ ì
- shoulΣá avoiΣá programminτ thosσ string≤á (USR│á anΣ ì
- USR4⌐á iµ yo⌡ plaε t∩ usσ Footnote«á Footnotσá als∩ ì
- use≤ thσ ^PY¼á bu⌠ onl∙ iε pairs¼á sidσ b∙ side¼á t∩ ì
- marδ aε inserteΣ "softó linσ feed«á Iµ you≥ string≤ ì
- fo≥ RIBBO╬ anΣ RIBOFF¼á strunτ righ⌠ together¼á havσ ì
- n∩ ne⌠ effect¼ yo⌡ shoulΣ no⌠ havσ ß conflict.
-
- Thσ othe≥ contro∞ string≤ whicΦ ma∙ bσ specifieΣ arσ ì
- generateΣá b∙ Wordsta≥ iε certaiεá situations«á Yo⌡ ì
- ma∙á specif∙á thσ contro∞ code≤ t∩ bσá sen⌠á t∩á thσ ì
- printe≥á t∩á star⌠á i⌠á (PSINIT)¼á afte≥á thσá prin⌠ ì
- sessioε (PSFINI)¼ afte≥ eacΦ linσ (PSCRLF)¼ o≥ afte≥ ì
- ß linσ whicΦ neeΣ t∩ bσ overprinteΣ (PSCR)« Iµ you≥ ì
- printe≥ ha≤ specia∞ contro∞ code≤ fo≥ halµ linσ feeΣ ì
- o≥á superscript/subscript¼á yo⌡á ma∙ inser⌠ theφá iε ì
- PSHALF, ROLUP, and ROLDWN.
-
- Note║á ╔ thinδ yo⌡ ma∙ stil∞ havσ t∩ usσá Wordstar'≤ ì
- INSTAL╠á prograφ iµ yo⌡ wan⌠ t∩ selec⌠ ß daisy-whee∞ ì
- typσá printer«á Iµ tha⌠ i≤ thσá case¼á ruεá INSTAL╠ ì
- before installing this patch procedure.
- .pa
- è3.░ INSTALLATIO╬ INSTRUCTIONS
-
-
- Yo⌡á ma∙á instal∞ eithe≥ onσ oµ thσá origina∞á patcΦ ì
- routines¼áá o≥áá ßá modifieΣá one¼áá witΦá followinτ ì
- instructions:
-
- Placσ ß cop∙ -- repeat¼ cop∙ -- oµ WS.CO═ iε drivσ ┬ ì
- anΣ DDT.CO═ iε drivσ A« A⌠ thσ A╛ prompt¼ type
- B:
- A⌠ thσ B╛ prompt¼ type
- A:DD╘ WS.COM
- No≈á placσá WSP2xxxx.HE╪ iε drivσá B«á A⌠á DDT'≤á - ì
- prompt¼ type
- IWSP2xxxx.HEX
- R
- Thi≤ wil∞ causσ WSP2xxxx.HE╪ t∩ overla∙ (patch⌐
- WS.COM« Nex⌠ reloaΣ WS.CO═ int∩ drivσ B« Pres≤
- <CTRL-C>« A⌠ thσ B╛ prompt¼ type
- SAV┼ 5╢ WS.COM
-
-
- Notσá tha⌠ i⌠ i≤ n∩ longe≥ necessar∙ t∩ usσ SETU╨ t∩ ì
- se⌠ thσ arro≈ key≤ fo≥ Wordstar¼á sincσ thσá patcheΣ ì
- versioεá wil∞á automaticall∙ se⌠ thσ arro≈á key≤á t∩ ì
- Wordsta≥ oε entry¼ anΣ wil∞ se⌠ theφ bacδ t∩ CP/═ oε ì
- exit«á Also¼á iµá yo⌡á arσ usinτ smootΦá scrolling¼ ì
- WSFAS╘á requireΣá yo⌡ t∩ usσ SETU╨ t∩ se⌠á thσá aut∩ ì
- horizonta∞á scrol∞ off¼á bu⌠ thi≤ ne≈á versioεá wil∞ ì
- disablσ i⌠ automatically« Yo⌡ wil∞ no≈ onl∙ neeΣ t∩ ì
- usσá SETU╨ t∩ configurσ thσ printer¼á anΣ t∩ se⌠ thσ ì
- functioε keys« ╔ jus⌠ usσ ß functioε ke∙ configureΣ ì
- a≤ B:<CR>A:WS<CR╛ t∩ star⌠ Wordstar¼ whicΦ bring≤ i⌠ ì
- up logged to the B: drive.
- : drive.