home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol055 / sigmlog.042 < prev    next >
Text File  |  1985-02-09  |  13KB  |  377 lines

  1. Sig/M    Volume 42    SD Sales Hard Disk Support
  2.             File Utilities - Pertec and CP/M
  3.             WordMaster Customization Notes
  4.  
  5.     -CATALOG.042    Contents of Sig/M Volume 42
  6.     ACKLIST.042    Acknowledgement File
  7.     CRCKLIST.042    Checksum File
  8.     ABSTRACT.042    Random Notes on Sig/M Volume 42
  9.  
  10. 42.01    HD-BIOS.Z80    30K    VersaFloppy 2/XComp/Seagate
  11. 42.02    HD-BIOS.HEX     5K    /
  12. 42.03    FDOS.ASM    29K    File Access - Pertec FDOS and CP/M
  13. 42.04    FDOS.COM     3K    /
  14. 42.05    MTX.ASM        36K    File Access - Pertec MTX Basic
  15. 42.06    MTX.COM         5K            and CP/M
  16. 42.07    MTX2000.ASM    36K    File Access - Double Density MTX
  17. 42.08    MTX2000.COM     5K            Basic and CP/M
  18. 42.09    PCC2000B.ASM     8K    Expanded Access for PCC 2000
  19. 42.10    PCC2000B.COM     1K    /
  20. 42.11    WMNOTES         2K    WordMaster Customization Notes
  21. 42.12    WM.CTL          1K      /
  22. 42.13    WM.DOC         8K     /
  23. 42.14    WM.SYM        11K    /
  24. 42.15    BYE.Z80        37K    Remote Control Program for CDOS
  25.  
  26. WM.ASM contains a description of the Wordstar 
  27.   Customization process
  28. WM.CTL
  29. WM.SYM
  30. WM.DOC   are all 'RESOURCE' files.
  31. File name: 
  32. WM.ASM Description of customization process for WordMaster 1.06
  33. WM.CTL  |
  34. WM.SYM  | are files to be used with 'RESOURCE.COM' to ease  the 
  35. WM.DOC  |         customization process
  36.  
  37.  
  38. Author: 
  39. Trevor Marshall,
  40. 26 Mirrelia Way,
  41. Ferndale, Western Australia 6155.
  42. phone International (619)457 6059     National (09)4576059
  43.  
  44.  
  45. Submitted by: 
  46. author
  47.  
  48. This program is public domain because: 
  49. 1. They contain no material proprietry to MicroPro
  50. 2. They are of no use to people who are not licencees
  51.      of WordMaster
  52. 3. They were produced by the author. All symbols in the files
  53.      are original.
  54.    All documentation was written by author
  55.  
  56.  
  57. To whom would this program be useful: 
  58. People using WordMaster
  59. People using CDOS who would like a good editor capable
  60.    of using the 'motors off' feature of CDOS
  61.  
  62.  
  63. Briefly describe the program function: 
  64. The .SYM, .CTL, .DOC files can be read using Ward Christensen's 
  65. RESOURCE.COM together with the licensee's copy of WordMaster.
  66. These  files enable a partial disassembly of WordMaster only by 
  67. licensees of that product.
  68. The WM.ASM file describes how the users copy of WordMaster  can 
  69. then be customized.
  70. In particular the following are facilitated:
  71. 1. Customization of cursor control characters
  72. 2. Customization of video mode control characters
  73. 3. Control of CDOS motors off feature by WordMaster.
  74.  
  75.  
  76.  
  77. Where is further documentation available: 
  78. WM.ASM
  79.  
  80.  
  81. Hardware dependencies: 
  82. Nil, but CROMEMCO users can use the 'motors off' feature.
  83.  
  84.  
  85. Software dependencies: 
  86. Needs WM.COM   (WordMaster)
  87.       RESOURCE.COM   (From previous users group disk)
  88.  
  89.  
  90. Source processor: 
  91. not applicable
  92.  
  93.  
  94. Does the software "drop in": 
  95. Yes
  96.  
  97.  
  98. How easy is the code to modify: 
  99. Relatively easy,  but note that the WM.CTL file is not reliable 
  100. in sections of WordMaster other than those discussed in WM.ASM
  101.  
  102.  
  103.  
  104. ; How to customize the keyboard codes on WM 1.06
  105. ;
  106. ;         by Trevor Marshall
  107. ;        26 Mirrelia Way,
  108. ;        Ferndale, West Australia 6155
  109. ;     phone    (619)4576059
  110. ;
  111. SUMMARY║áá Modification≤áá t∩á customizσá WordMaste≥á 1.0╢áá arσ ì
  112. described«á Thσá RESOURCE.CO═ file≤ createΣ durinτ thi≤á proces≤ ì
  113. arσá presen⌠á oεá thσ disk¼á anΣ ma∙ bσ useΣ b∙á ßá licenceσá oµ ì
  114. WordMaster 1.06 to patch his WordMaster similarly.
  115.  
  116.  
  117. A≤ ß use≥ oµ WordStar(R⌐ ╔ wa≤ no⌠ completel∙ satisfieΣ witΦ thσ ì
  118. SCREE╬ edito≥ provideΣ witΦ m∙ owε CROMEMC╧ baseΣ system.
  119.  
  120. AlthougΦá WordMaste≥ (R⌐ seemeΣ t∩ offe≥ thσ feature≤ ╔á fel⌠á ╔ ì
  121. needeΣá fo≥ non- wordprocessinτ applications¼á versioε 1.0╢á diΣ ì
  122. no⌠á offe≥ ß se⌠ oµ keyboarΣ command≤ 'compatibleº witΦ WordSta≥ ì
  123. anΣá wheneve≥ ╔ trieΣ t∩ usσ thσ vide∩ command≤ ╔ founΣá tha⌠á ╔ ì
  124. wa≤ deletinτ word≤ whilst tryinτ t∩ shif⌠ thσ cursor!
  125.  
  126. MicroPr∩á d∩á no⌠ offe≥ 'customizinτ notesº fo≥á WordMaste≥á anΣ ì
  127. severa∞á attempt≤á t∩ dis-assemblσ i⌠ baseΣ oε m∙á knowledgσá oµ ì
  128. WordStar'≤á structurσá werσá unsuccessful«á Wheεá thσá codσá wa≤ ì
  129. finally broken the reason for the difficulty was obvious.
  130. WordMaste≥á ha≤á ßá decodinτá structurσ whicΦá i≤á nothinτá likσ ì
  131. WordStar's.
  132.  
  133. Wheεá ß Contro∞ Characte≥ i≤ typeΣ oε thσ keyboarΣ it≤ valuσá (░ ì
  134. t∩ 1FH⌐ i≤ useΣ a≤ thσ offse⌠ int∩ ß tablσ whicΦ contain≤á jump≤ ì
  135. t∩á eacΦ oµ thσ operatinτ routines«á Thσ addresse≤ iε thi≤ tablσ ì
  136. caε bσ easil∙ changeΣ no⌠ onl∙ t∩ re-assigε change≤ t∩á keyboarΣ ì
  137. functions but also to enhance the editor's features.
  138.  
  139. ╔á likσá t∩ observσ thσ effec⌠ oµ globa∞ substitution≤á usinτá ß ì
  140. command such as
  141. B 999 < ROLD STRING$NEWSTRING$ V >
  142. Wheε eacΦ replacemen⌠ i≤ madσ thσ vide∩ modσ i≤ entereΣ t∩ checδ ì
  143. tha⌠á aεá erro≥ iε typinτ thσ string≤ diΣ no⌠á occur«á Wheεá thσ ì
  144. ESCAP┼á ke∙ i≤ useΣ t∩ exi⌠ thσ vide∩ modσ thσ nex⌠ substitutioε ì
  145. occurs, and so on.
  146. Unfortunatel∙á thσ CONTROL-├ interrup⌠ commanΣ doe≤ no⌠ worδá iε ì
  147. thσá vide∩ mode¼á s∩ iµ yo⌡ havσ madσ ß mistakσ yo⌡ ma∙á no⌠á bσ ì
  148. able to interrupt the macro.
  149. WordSta≥ use≤ CONTROL-╒ t∩ interrup⌠ an∙ routine« 
  150. WordMaste≥á ha≤ it≤ CONTROL-├ interrup⌠ routinσ a⌠ 23EB¼á anΣ aε ì
  151. entr∙á iεá thσ keyboarΣ decodinτ tablσ t∩ jum≡ t∩á thi≤á addres≤ ì
  152. effectivel∙á allow≤ interruptioε t∩ thσ vide∩ baseΣ modσ (iεá m∙ ì
  153. case¼ wheε CTL-╒ i≤ pressed)«   
  154.  
  155. WitΦá WordMaste≥ no≈ doinτ wha⌠ ╔ wanteΣ i⌠ t∩ d∩ ╔ nex⌠á tackleΣ ì
  156. thσ probleφ oµ thσ disδ drivσ motors.
  157. Cromemc∩ CDO╙ ha≤ ß featurσ whicΦ switche≤ ofµ you≥ drivσ motor≤ ì
  158. wheεá thσ disk≤ arσ no⌠ beinτá accessed¼á considerabl∙á reducinτ ìèdisk and head wear.
  159. Thσá motor≤ arσ turneΣ ofµ b∙ ß 'Turε ofµ Drivσ Motorsº cal∞á t∩ ì
  160. BDO╙á (96H⌐á o≥ b∙ an∙ prograφ askinτ BDO╙ fo≥á bufferreΣá linσ ì
  161. input.
  162. WordMaste≥á accesse≤á thσ BIO╙á jum≡á tablσá directly¼á (withou⌠ ì
  163. callinτá vißá BDOS)¼á s∩ tha⌠ thσ drivσ motor≤ continuσá t∩á ruε ì
  164. during an edit.
  165.  
  166. Thσá tasδ then¼á wa≤ t∩ modif∙ WordSta≥ s∩ tha⌠ thσ drivσ motor≤ ì
  167. coulΣ bσ turned off during edits.
  168.  
  169. The BIOS jump table is entered via a routine at 0D4A.
  170. ╔á havσá intercepteΣá call≤ t∩ thσá CONI╬á routinσá b∙á checkinτ ì
  171. whethe≥á thσ accumulato≥ (whicΦ contain≤ aε inde° int∩ thσá BIO╙ ì
  172. jum≡á tables⌐á contain≤á ╢ (CONIN)«á Iµ i⌠ i≤ ß CONI╬á cal∞á thσ ì
  173. motors are turned off via a call to BDOS.
  174. Therσá i≤ enougΦ rooφ iε thσ use≥ patcΦ area≤ t∩á implemen⌠á thσ ì
  175. code needed.
  176. A≤á WordSta≥ change≤ thσ addres≤ a⌠ 0005╚ whicΦ point≤ t∩á BDOS¼ ì
  177. thi≤ addres≤ mus⌠ bσ saveΣ prio≥ t∩ enterinτ Wordstar«á Thσ codσ ì
  178. to effect this is listed below.
  179.  
  180.  
  181. CUSTOMIZING YOUR WORDMASTER
  182.  
  183. Invoke Ward Christensen's RESOURCE.COM by typing RESOURCE
  184. it will prompt with ..... 
  185.  
  186. Memory open to XXXX
  187. *
  188.  
  189. type O5000 <RETURN>
  190.      U7700 <RETURN>
  191.      RWM.SYM <RETURN>          to read in the symbol file
  192.      RWM.CTL <RETURN>           "   "         control  "
  193.      RWM.DOC <RETURN>           "   "         comments "
  194.      RWM.COM <RETURN>           "   "         program   "
  195.      ? <RETURN>
  196.  
  197. resource will reply
  198.  
  199. SYMTBL=1E00 3A70
  200. PC    =0100
  201. OFFSET=5000
  202. COMNTS=7700 7B46
  203. CTLTBL=1800 1935
  204. *
  205.  
  206. Then try  
  207.      L11C5 1202
  208.  
  209. And the jump table, fully commented, should be listed.
  210. From then on, happy patching! (and Merry Christmas)
  211.  
  212. Trevor Marshall, 13 Dec '80.è
  213. .paè
  214. ; The following code was 'fudged' to look like
  215. ;  the display when you use 'Resource'
  216. ; All lowercase comments are added by hand,
  217. ;  all other labels,etc, come from RESOURCE files
  218. ;-----------------------------------------------------
  219. ; The Jump Table at 11C5 is patched to effect
  220. ;   keyboard function changes
  221. ;
  222. ; This was the original jump table in WM 1.06
  223. CTLTABLE:        ;11C5 
  224. 11C5    DW    DORET    ;1345H
  225. 11C7    DW    CURSOR-LEFT-WORD    ;126DH
  226. 11C9    DW    CURSOR-R-L-LINE    ;1289H
  227. 11CB    DW    UP-SCREEN    ;142CH
  228. 11CD    DW    CURSOR-RIGHT-WORD    ;123FH
  229. 11CF    DW    SCROLL-DOWN    ;1409H
  230. 11D1    DW    INSERT-ON-OFF    ;150BH
  231. 11D3    DW    DEL-CHAR-RIGHT    ;14ECH
  232. 11D5    DW    CURSOR-LEFT-CHAR    ;122AH
  233. 11D7    DW    INSERT-TAB    ;153AH
  234. 11D9    DW    CURSOR-DOWN-LINE    ;12C1H
  235. 11DB    DW    CURSOR-UP-LINE    ;1303H
  236. 11DD    DW    CURSOR-RIGHT-CHAR    ;1216H
  237. 11DF    DW    DO-CR    ;15ABH
  238. 11E1    DW    INSERT-CR    ;1594H
  239. 11E3    DW    DEL-WORD-RIGHT    ;1476H
  240. 11E5    DW    DEL-LINE-RIGHT    ;14DDH
  241. 11E7    DW    HELP    ;1954H
  242. 11E9    DW    SCREEN-UP    ;1414H
  243. 11EB    DW    DORET    ;1345H
  244. 11ED    DW    DOTOPORBOTTOM    ;1346H
  245. 11EF    DW    DEL-LINE-LEFT    ;14BFH
  246. 11F1    DW    DORET    ;1345H
  247. 11F3    DW    DORET    ;1345H
  248. 11F5    DW    SCROLL-UP    ;137CH
  249. 11F7    DW    DEL-LINE    ;14CEH
  250. 11F9    DW    CUR-RIGHT-TAB    ;12B6H
  251. 11FB    DW    DOESCAPE    ;1205H
  252. 11FD    DW    DEL-WORD-LEFT    ;1460H
  253. 11FF    DW    PUT-CHAR-IN-FILE    ;151AH
  254. 1201    DW    DOTOPORBOTTOM    ;1346H
  255.     end of table
  256. ;
  257. ; My table was patched to the following functions
  258. CTLTABLE:        ;11C5 
  259. 11C5    DW    DORET    ;1345H
  260.     DW    CURSOR-LEFT-WORD    ;126DH
  261.     DW    CURSOR-R-L-LINE    ;1289H
  262.     DW    UP-SCREEN    ;142CH
  263.     DW    CURSOR-RIGHT-CHAR    ;1216H
  264.     DW    CURSOR-UP-LINE    ;1303H
  265.     DW    CURSOR-RIGHT-WORD    ;123FH
  266.     DW    DEL-CHAR-RIGHT    ;14ECH
  267.     DW    CURSOR-LEFT-CHAR    ;122AHè    DW    INSERT-TAB    ;153AH
  268.     DW    DORET    ;1345H
  269.     DW    DORET    ;1345H
  270.     DW    DORET    ;1345H
  271.     DW    DO-CR    ;15ABH
  272.     DW    INSERT-CR    ;1594H
  273.     DW    DORET    ;1345H
  274.     DW    PUT-CHAR-IN-FILE    ;151AH
  275.     DW    HELP    ;1954H
  276.     DW    SCREEN-UP    ;1414H
  277.     DW    DORET    ;1345H
  278.     DW    DEL-WORD-RIGHT    ;1476H
  279.     DW    INTERRUPTED    ;23EBH
  280.     DW    INSERT-ON-OFF    ;150BH
  281.     DW    SCROLL-DOWN    ;1409H
  282.     DW    CURSOR-DOWN-LINE    ;12C1H
  283.     DW    DEL-LINE    ;14CEH
  284.     DW    SCROLL-UP    ;137CH
  285.     DW    DOESCAPE    ;1205H
  286.     DW    DORET    ;1345H
  287.     DW    PUT-CHAR-IN-FILE    ;151AH
  288. 1201    DW    DOTOPORBOTTOM    ;1346H
  289. .paè;
  290. ; To allow a CDOS 'motors off' call, or any other call
  291. ;  to your BDOS you may effect the following changes:
  292. ;---------------------------------------------------------
  293. ; Original code at 0100
  294. 0100    JMP    INIT    ;0269H
  295. ; This jump to WMs initialization should be 
  296. ;  patched to cause a call to our routine at 01AD
  297. ;
  298. ; The jump at 0100 is changed to
  299.     JMP    01ADH
  300. ;
  301. ; where this routine has neen patched
  302. ;NOW SAVE CDOS BASE ADDR BEFORE WM CLOBBERS IT
  303. 01AD    LHLD    CDOS-BASE-ADDR    ;at 6
  304. 01B0    SHLD    SAVE-CDOS-BASE    ;01B6H
  305. 01B3    JMP    INIT    ;0269H
  306. ;
  307. ;
  308. ; Original code calling BIOS table jump routine
  309. 23CE    LHLD    L0001    ;1
  310. ;NOW CHANGE CALL TO 0D4A TO CALL OUR PATCH
  311. 23D1    CALL    TBLJUMP    ;0D4AH
  312. 23D4    MOV    A,C
  313. 23D5    PCHL
  314.     etc
  315. ;
  316. ; The CALL 0D4A at 23D1 is changed to CALL 01C4 where
  317. ;  we have put this code:
  318. ; When a call to BIOS occurs this routine intercepts it
  319. ;
  320. ;NOW CALL BDOS VIA OUR PATCH
  321. 01C4    CPI    6
  322. 01C6    JNZ    TBLJUMP    ;0D4AH
  323. ;IF IT WAS A 'CONIN' CALL, INTERCEPT IT
  324. 01C9    PUSH    H
  325. ;PUT THE RETURN ADDR ONTO STACK, AND PREPARE INDIRECT CALL
  326. 01CA    LXI    H,01D4H
  327. 01CD    PUSH    H
  328. 01CE    LHLD    SAVE-CDOS-BASE    ;01B6H
  329. ;96H CALL TO CDOS TURNS OFF MOTORS
  330. 01D1    MVI    C,96H
  331. ;NOW 'CALL' BDOS
  332. 01D3    PCHL
  333. 01D4    POP    H
  334. 01D5    JMP    TBLJUMP    ;0D4AH
  335. ;
  336.  
  337.  
  338.  
  339.    THIS DISK CONTAINS FILE CONVERSION PROGRAMS FOR USE UNDER CP/M. 
  340.  
  341.  
  342.     THE FIRST SUBMITTAL IS "FDOS.ASM" WHICH ALLOWS THE USER TO ACCESS
  343. PERTEC / ICOM FDOS III OPERATING SYSTEM DISKETTE FILES ON A SINGLE 
  344. DENSITY DISKETTE IN DRIVE B:. THIS PROGRAM WILL RUN ON ANY CP/M COMPUTER
  345. WITH A SINGLE DENSITY 8" DRIVE B:. THE FDOS DIRECTORY MAY BE READ, FILES
  346. MAY BE TRANSFERRED DIRECTLY TO A CP/M FILE, AND A CP/M FILE MAY BE WRITTEN
  347. ON TO THE FDOS III DISKETTE.
  348.  
  349.     THE SECOND SUBMITTAL "MTX.ASM" IS A PROGRAM TO ACCESS PERTEC MTX BASIC 
  350. FILES ON A DOUBLE DENSITY DISK IN DRIVE B:. THE NATURE OF THE DISKETTE FORMAT
  351. REQUIRES THE PROGRAM TO RUN UNDER LIFEBOAT CP/M 1.4 ON A PERTEC FD3812
  352. DISK SYSTEM. THE MTX DIRECTORY MAY BE DISPLAYED AT THE CONSOLE, MTX FILES
  353. MAY BE COPIED DIRECTLY TO LIFEBOAT 3812 FORMAT CP/M FILES, AND A CP/M FILE
  354. MAY BE PLACED UPON THE MTX DISKETTE.
  355.  
  356.     THE THIRD PROGRAM "MTX2000.ASM" IS A PROGRAM TO ACCESS PERTEC MTX BASIC 
  357. FILES ON A DOUBLE DENSITY DISK IN DRIVE B:. THE NATURE OF THE DISKETTE FORMAT
  358. REQUIRES THE PROGRAM TO RUN UNDER PERTEC CP/M 1.4 ON A PERTEC PCC 2000 COMPUTER
  359. WITH DOUBLE DENSITY FLOPPY CAPABILITY. THE MTX DIRECTORY MAY BE DISPLAYED AT 
  360. THE CONSOLE, MTX FILES MAY BE COPIED DIRECTLY TO PERTEC PCC 2000 FORMAT CP/M 
  361. FILES, AND A CP/M FILE MAY BE PLACED UPON THE MTX DISKETTE.
  362.  
  363.     THE LAST PROGRAM IS A NEAT LITTLE ULILITY THAT ALLOWS A PERTEC PCC 2000
  364. FORMAT CP/M 1.4 DOUBLE DENSITY DISKETTE TO BE ACCESSED IN DRIVE B: OF AN
  365. ICOM 3812 RUNNING UNDER LIFEBOAT CP/M 1.4. THIS PROGRAM REQUIRES THAT THE
  366. CP/M SYSTEM SIZE BE 24K BYTES TO ALLOW ROOM FOR A TRANSIENT BIOS PATCH
  367. TO MOVED INTO MEMORY ABOVE THE NORMAL BIOS LOCATION. OPERATION OF THE PROGRAM
  368. IS TO SIMPLY RUN "PCC2000B.COM". FROM THEN TILL THE NEXT COLD BOOT TIME THE
  369. DRIVE B: DISK DRIVERS WILL ASSUME PCC 2000 FORMAT CP/M DISK CHARACTERISTICS.
  370. THE FUNCTION OF THE UTILITY IS VERY SIMILAR TO THE LIFEBOAT 3812 CP/M PROGRAM
  371. CALLED SINGLEB.
  372.  
  373.                     MICHAEL J. KARAS
  374.                     MICRO RESOURCES
  375.                     2468 HANSEN CT.
  376.                     SIMI VALLEY, CA 93065
  377.