POKE&GO.DOC 1/28/85 IF YOUR ZCPR3 SYSTEM SUPPORTS THE GO COMMAND AND YOU HAVE AN RCP WITH THE POKE COMMAND, YOU CAN EASILY MAKE EXTENSIVE RUN-TIME MODIFICATIONS TO A PROGRAM. THE TERMINAL SESSION BELOW IS A VERY SIMPLE EXAMPLE OF THE TECHNIQUE. THE ENTIRE PROCESS IS AN ALIAS SCRIPT, ZEX IS USED TO LOAD AND EXIT WORDSTAR, THE WORDSTAR ADDRESSES FOR RIGHT MARGIN AND INITIAL MODE ARE POKED TO THE DESIRED VALUES AND THE NOW-MODIFIED WORDSTAR IS RUN WITH AN OPTIONAL COMMAND TAIL. THE REGULAR RCP (WITHOUT POKE) IS LOADED ON EXIT. MUCH MORE EXTENSIVE CHANGES COULD BE MADE THIS WAY, INCLUDING SOME, LIKE PAGE LENGTH OR DIFFERENT CONTROL STRINGS FOR DIFFERENT PRINTERS, WHICH CANNOT BE DONE FROM THE CONSOLE ONCE INSIDE WORDSTAR. YOU CAN USE WINSTALL TO MAKE A MODIFIED COPY OF WORDSTAR, USE DIFF OR EQUIVALENT TO FIND THE POKE LOCATIONS AND OFF YOU GO - 2K FOR THE ALIAS (1K IF YOU HAVE CMDRUN AND PUT IT IN COMMAND.LBR), 2K FOR WS35.ZEX - A SAVINGS OF 14K OVER SEPARATE VERSIONS OF WORDSTAR. ADDITIONAL ALIASES `COST' ONLY 1-2K EXTRA PER WORDSTAR VERSION BECAUSE ONLY ONE ZEX FILE IS NEEDED. IF YOU DON'T HAVE ZCPR3 I/O REDIRECTION, YOU CAN MANIPULATE THE IOBYTE WITH A POKE, NOT TO MENTION THE ZCPR3 EXTERNAL PATH AND WHEEL BYTE, MUCH FASTER THAN WITH UTILITIES (STAT, PATH OR WHEEL) - CLUMSY TECHNIQUE FOR CONSOLE INPUT, BUT FINE FOR ALIAS-CONTROLLED ROUTINES. SIMILAR STUFF CAN BE DONE FROM A MENU SHELL IN LIEU OF AN ALIAS. ALL THIS ASSUMES THAT WORDSTAR IS PATCHED OR BDOS MODIFIED TO SO THAT WORDSTAR CAN FIND ITS OVERLAYS PROPERLY IF YOU WANT FREEDOM TO WANDER AROUND USER AREAS. HAVE FUN - BRUCE MORGEN ----------------------------------------------------------------- A0:SYSTEM>ALIAS WSD ALIAS, Version 1.1 Alias Name: WSD Old Alias Command Line: 1 --> A0:; |GO TO SYSTEM DIRECTORY 2 --> LDR SYS3.RCP; |LOAD RCP THAT HAS THE POKE COMMAND 3 --> ZEX WS35; |LOAD WORDSTAR & EXIT (SEE WS35.ZEX, BELOW) 4 --> POKE 036B 22; |SET RIGHT MARGIN TO 35 (ACTUALLY 34 DECIMAL) 5 --> POKE 0378 00; |SET INITIAL MODE TO DOCUMENT FROM NON-DOCUMENT 6 --> $D$U:; |RESTORE ORIGINAL DIRECTORY 7 --> GO $1; |RUN LOADED WORDSTAR WITH OPTIONAL FILENAME 8 --> A0:; |BACK TO SYSTEM DIRECTORY ON EXIT 9 --> LDR SYS.RCP; |LOAD REGULAR RCP 10 --> $D$U: |EXIT TO ORIGINAL DIRECTORY Input Alias (RETURN to Abort) --> A0:SYSTEM>TYPE WS35.ZEX WS |RUN WORDSTAR ^. |MAKE SURE ZEX LEAVES NO ^# |FOOTPRINTS (FOR NEATNESS' SAKE) X |EXIT TO ALIAS STEP #4  .