home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / BEEHIVE / ZCAT / POKE-GO2.DOC < prev    next >
Text File  |  2000-06-30  |  4KB  |  87 lines

  1. POKE&GO.DOC  1/28/85
  2. Revised (added GET-based version) 3/10/85
  3.  
  4. IF YOUR ZCPR3 SYSTEM SUPPORTS THE GO COMMAND AND YOU HAVE AN RCP
  5. WITH THE POKE COMMAND, YOU CAN EASILY MAKE EXTENSIVE RUN-TIME
  6. MODIFICATIONS TO A PROGRAM.  THE TERMINAL SESSION BELOW IS A
  7. VERY SIMPLE EXAMPLE OF THE TECHNIQUE.  THE ENTIRE PROCESS IS
  8. AN ALIAS SCRIPT, ZEX IS USED TO LOAD AND EXIT WORDSTAR, THE
  9. WORDSTAR ADDRESSES FOR RIGHT MARGIN AND INITIAL MODE ARE POKED
  10. TO THE DESIRED VALUES AND THE NOW-MODIFIED WORDSTAR IS RUN WITH
  11. AN OPTIONAL COMMAND TAIL.  THE REGULAR RCP (WITHOUT POKE) IS
  12. LOADED ON EXIT.  MUCH MORE EXTENSIVE CHANGES COULD BE MADE THIS
  13. WAY, INCLUDING SOME, LIKE PAGE LENGTH OR DIFFERENT CONTROL
  14. STRINGS FOR DIFFERENT PRINTERS, WHICH CANNOT BE DONE FROM
  15. THE CONSOLE ONCE INSIDE WORDSTAR.  YOU CAN USE WINSTALL TO MAKE
  16. A MODIFIED COPY OF WORDSTAR, USE DIFF OR EQUIVALENT TO FIND THE 
  17. POKE LOCATIONS AND OFF YOU GO - 2K FOR THE ALIAS (1K IF YOU HAVE
  18. CMDRUN AND PUT IT IN COMMAND.LBR), 2K FOR WS35.ZEX - A SAVINGS
  19. OF 14K OVER SEPARATE VERSIONS OF WORDSTAR.  ADDITIONAL ALIASES
  20. `COST' ONLY 1-2K EXTRA PER WORDSTAR VERSION BECAUSE ONLY ONE ZEX
  21. FILE IS NEEDED.  IF YOU DON'T HAVE ZCPR3 I/O REDIRECTION, YOU
  22. CAN MANIPULATE THE IOBYTE WITH A POKE, NOT TO MENTION THE ZCPR3
  23. EXTERNAL PATH AND WHEEL BYTE, MUCH FASTER THAN WITH UTILITIES
  24. (STAT, PATH OR WHEEL) - CLUMSY TECHNIQUE FOR CONSOLE INPUT, BUT
  25. FINE FOR ALIAS-CONTROLLED ROUTINES.  SIMILAR STUFF CAN BE DONE
  26. FROM A MENU SHELL IN LIEU OF AN ALIAS.  ALL THIS ASSUMES THAT
  27. WORDSTAR IS PATCHED OR BDOS MODIFIED TO SO THAT WORDSTAR CAN
  28. FIND ITS OVERLAYS PROPERLY IF YOU WANT FREEDOM TO WANDER AROUND
  29. USER AREAS.                HAVE FUN - BRUCE MORGEN
  30.  
  31.  
  32.  
  33. -----------------------------------------------------------------
  34.  
  35. A0:SYSTEM>ALIAS WSD
  36.  
  37. ALIAS, Version 1.1
  38.  Alias Name: WSD     
  39.  Old Alias Command Line:
  40.   1 --> A0:;            |GO TO SYSTEM DIRECTORY
  41.   2 --> LDR SYS3.RCP;        |LOAD RCP THAT HAS THE POKE COMMAND
  42.   3 --> ZEX WS35;        |LOAD WORDSTAR & EXIT (SEE WS35.ZEX, BELOW)
  43.   4 --> POKE 036B 22;        |SET RIGHT MARGIN TO 35 (ACTUALLY 34 DECIMAL)
  44.   5 --> POKE 0378 00;        |SET INITIAL MODE TO DOCUMENT FROM NON-DOCUMENT
  45.   6 --> $D$U:;            |RESTORE ORIGINAL DIRECTORY
  46.   7 --> GO $1;            |RUN LOADED WORDSTAR WITH OPTIONAL FILENAME
  47.   8 --> A0:;            |BACK TO SYSTEM DIRECTORY ON EXIT
  48.   9 --> LDR SYS.RCP;        |LOAD REGULAR RCP
  49.  10 --> $D$U:            |EXIT TO ORIGINAL DIRECTORY
  50.  
  51.  Input Alias (RETURN to Abort)
  52.  --> 
  53.  
  54. A0:SYSTEM>TYPE WS35.ZEX
  55.  
  56.  
  57. WS                |RUN WORDSTAR
  58. ^.                |MAKE SURE ZEX LEAVES NO
  59. ^#                |FOOTPRINTS (FOR NEATNESS' SAKE)
  60. X                |EXIT TO ALIAS STEP #4
  61.  
  62. -----------------------------------------------------------------
  63. POKE&GO2 - Improved version for ZCPR3 systems that support the 
  64. 3/10/85   GET command.  GET is pretty economical in terms of code
  65.       length within ZCPR3, so if you have a macro assembler I
  66.       strongly recommend you implement it - makes POKE&GO
  67.       much faster and eliminates need for ZEX, using the 
  68.        following ALIAS script:
  69.  
  70. A0:SYSTEM>ALIAS WSD
  71.  
  72. ALIAS, Version 1.1
  73.  Alias Name: WSD     
  74.  Old Alias Command Line:
  75.   1 --> A0:;            |GO TO SYSTEM DIRECTORY
  76.   2 --> LDR SYS3.RCP;        |LOAD RCP THAT HAS THE POKE COMMAND
  77.   3 --> GET 100 WS.COM;        |LOAD WORDSTAR WITH GET (PROGRAM DOES NOT RUN)
  78.   4 --> POKE 036B 22;        |SET RIGHT MARGIN TO 35 (ACTUALLY 34 DECIMAL)
  79.   5 --> POKE 0378 00;        |SET INITIAL MODE TO DOCUMENT FROM NON-DOCUMENT
  80.   6 --> $D$U:;            |RESTORE ORIGINAL DIRECTORY
  81.   7 --> GO $1;            |RUN LOADED WORDSTAR WITH OPTIONAL FILENAME
  82.   8 --> A0:;            |BACK TO SYSTEM DIRECTORY ON EXIT
  83.   9 --> LDR SYS.RCP;        |LOAD REGULAR RCP
  84.  10 --> $D$U:            |EXIT TO ORIGINAL DIRECTORY
  85.  
  86. -----------------------------------------------------------------
  87.