home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol055
/
sigmlog.042
< prev
next >
Wrap
Text File
|
1985-02-09
|
13KB
|
377 lines
Sig/M Volume 42 SD Sales Hard Disk Support
File Utilities - Pertec and CP/M
WordMaster Customization Notes
-CATALOG.042 Contents of Sig/M Volume 42
ACKLIST.042 Acknowledgement File
CRCKLIST.042 Checksum File
ABSTRACT.042 Random Notes on Sig/M Volume 42
42.01 HD-BIOS.Z80 30K VersaFloppy 2/XComp/Seagate
42.02 HD-BIOS.HEX 5K /
42.03 FDOS.ASM 29K File Access - Pertec FDOS and CP/M
42.04 FDOS.COM 3K /
42.05 MTX.ASM 36K File Access - Pertec MTX Basic
42.06 MTX.COM 5K and CP/M
42.07 MTX2000.ASM 36K File Access - Double Density MTX
42.08 MTX2000.COM 5K Basic and CP/M
42.09 PCC2000B.ASM 8K Expanded Access for PCC 2000
42.10 PCC2000B.COM 1K /
42.11 WMNOTES 2K WordMaster Customization Notes
42.12 WM.CTL 1K /
42.13 WM.DOC 8K /
42.14 WM.SYM 11K /
42.15 BYE.Z80 37K Remote Control Program for CDOS
WM.ASM contains a description of the Wordstar
Customization process
WM.CTL
WM.SYM
WM.DOC are all 'RESOURCE' files.
File name:
WM.ASM Description of customization process for WordMaster 1.06
WM.CTL |
WM.SYM | are files to be used with 'RESOURCE.COM' to ease the
WM.DOC | customization process
Author:
Trevor Marshall,
26 Mirrelia Way,
Ferndale, Western Australia 6155.
phone International (619)457 6059 National (09)4576059
Submitted by:
author
This program is public domain because:
1. They contain no material proprietry to MicroPro
2. They are of no use to people who are not licencees
of WordMaster
3. They were produced by the author. All symbols in the files
are original.
All documentation was written by author
To whom would this program be useful:
People using WordMaster
People using CDOS who would like a good editor capable
of using the 'motors off' feature of CDOS
Briefly describe the program function:
The .SYM, .CTL, .DOC files can be read using Ward Christensen's
RESOURCE.COM together with the licensee's copy of WordMaster.
These files enable a partial disassembly of WordMaster only by
licensees of that product.
The WM.ASM file describes how the users copy of WordMaster can
then be customized.
In particular the following are facilitated:
1. Customization of cursor control characters
2. Customization of video mode control characters
3. Control of CDOS motors off feature by WordMaster.
Where is further documentation available:
WM.ASM
Hardware dependencies:
Nil, but CROMEMCO users can use the 'motors off' feature.
Software dependencies:
Needs WM.COM (WordMaster)
RESOURCE.COM (From previous users group disk)
Source processor:
not applicable
Does the software "drop in":
Yes
How easy is the code to modify:
Relatively easy, but note that the WM.CTL file is not reliable
in sections of WordMaster other than those discussed in WM.ASM
; How to customize the keyboard codes on WM 1.06
;
; by Trevor Marshall
; 26 Mirrelia Way,
; Ferndale, West Australia 6155
; phone (619)4576059
;
SUMMARY║áá Modification≤áá t∩á customizσá WordMaste≥á 1.0╢áá arσ ì
described«á Thσá RESOURCE.CO═ file≤ createΣ durinτ thi≤á proces≤ ì
arσá presen⌠á oεá thσ disk¼á anΣ ma∙ bσ useΣ b∙á ßá licenceσá oµ ì
WordMaster 1.06 to patch his WordMaster similarly.
A≤ ß use≥ oµ WordStar(R⌐ ╔ wa≤ no⌠ completel∙ satisfieΣ witΦ thσ ì
SCREE╬ edito≥ provideΣ witΦ m∙ owε CROMEMC╧ baseΣ system.
AlthougΦá WordMaste≥ (R⌐ seemeΣ t∩ offe≥ thσ feature≤ ╔á fel⌠á ╔ ì
needeΣá fo≥ non- wordprocessinτ applications¼á versioε 1.0╢á diΣ ì
no⌠á offe≥ ß se⌠ oµ keyboarΣ command≤ 'compatibleº witΦ WordSta≥ ì
anΣá wheneve≥ ╔ trieΣ t∩ usσ thσ vide∩ command≤ ╔ founΣá tha⌠á ╔ ì
wa≤ deletinτ word≤ whilst tryinτ t∩ shif⌠ thσ cursor!
MicroPr∩á d∩á no⌠ offe≥ 'customizinτ notesº fo≥á WordMaste≥á anΣ ì
severa∞á attempt≤á t∩ dis-assemblσ i⌠ baseΣ oε m∙á knowledgσá oµ ì
WordStar'≤á structurσá werσá unsuccessful«á Wheεá thσá codσá wa≤ ì
finally broken the reason for the difficulty was obvious.
WordMaste≥á ha≤á ßá decodinτá structurσ whicΦá i≤á nothinτá likσ ì
WordStar's.
Wheεá ß Contro∞ Characte≥ i≤ typeΣ oε thσ keyboarΣ it≤ valuσá (░ ì
t∩ 1FH⌐ i≤ useΣ a≤ thσ offse⌠ int∩ ß tablσ whicΦ contain≤á jump≤ ì
t∩á eacΦ oµ thσ operatinτ routines«á Thσ addresse≤ iε thi≤ tablσ ì
caε bσ easil∙ changeΣ no⌠ onl∙ t∩ re-assigε change≤ t∩á keyboarΣ ì
functions but also to enhance the editor's features.
╔á likσá t∩ observσ thσ effec⌠ oµ globa∞ substitution≤á usinτá ß ì
command such as
B 999 < ROLD STRING$NEWSTRING$ V >
Wheε eacΦ replacemen⌠ i≤ madσ thσ vide∩ modσ i≤ entereΣ t∩ checδ ì
tha⌠á aεá erro≥ iε typinτ thσ string≤ diΣ no⌠á occur«á Wheεá thσ ì
ESCAP┼á ke∙ i≤ useΣ t∩ exi⌠ thσ vide∩ modσ thσ nex⌠ substitutioε ì
occurs, and so on.
Unfortunatel∙á thσ CONTROL-├ interrup⌠ commanΣ doe≤ no⌠ worδá iε ì
thσá vide∩ mode¼á s∩ iµ yo⌡ havσ madσ ß mistakσ yo⌡ ma∙á no⌠á bσ ì
able to interrupt the macro.
WordSta≥ use≤ CONTROL-╒ t∩ interrup⌠ an∙ routine«
WordMaste≥á ha≤ it≤ CONTROL-├ interrup⌠ routinσ a⌠ 23EB¼á anΣ aε ì
entr∙á iεá thσ keyboarΣ decodinτ tablσ t∩ jum≡ t∩á thi≤á addres≤ ì
effectivel∙á allow≤ interruptioε t∩ thσ vide∩ baseΣ modσ (iεá m∙ ì
case¼ wheε CTL-╒ i≤ pressed)«
WitΦá WordMaste≥ no≈ doinτ wha⌠ ╔ wanteΣ i⌠ t∩ d∩ ╔ nex⌠á tackleΣ ì
thσ probleφ oµ thσ disδ drivσ motors.
Cromemc∩ CDO╙ ha≤ ß featurσ whicΦ switche≤ ofµ you≥ drivσ motor≤ ì
wheεá thσ disk≤ arσ no⌠ beinτá accessed¼á considerabl∙á reducinτ ìèdisk and head wear.
Thσá motor≤ arσ turneΣ ofµ b∙ ß 'Turε ofµ Drivσ Motorsº cal∞á t∩ ì
BDO╙á (96H⌐á o≥ b∙ an∙ prograφ askinτ BDO╙ fo≥á bufferreΣá linσ ì
input.
WordMaste≥á accesse≤á thσ BIO╙á jum≡á tablσá directly¼á (withou⌠ ì
callinτá vißá BDOS)¼á s∩ tha⌠ thσ drivσ motor≤ continuσá t∩á ruε ì
during an edit.
Thσá tasδ then¼á wa≤ t∩ modif∙ WordSta≥ s∩ tha⌠ thσ drivσ motor≤ ì
coulΣ bσ turned off during edits.
The BIOS jump table is entered via a routine at 0D4A.
╔á havσá intercepteΣá call≤ t∩ thσá CONI╬á routinσá b∙á checkinτ ì
whethe≥á thσ accumulato≥ (whicΦ contain≤ aε inde° int∩ thσá BIO╙ ì
jum≡á tables⌐á contain≤á ╢ (CONIN)«á Iµ i⌠ i≤ ß CONI╬á cal∞á thσ ì
motors are turned off via a call to BDOS.
Therσá i≤ enougΦ rooφ iε thσ use≥ patcΦ area≤ t∩á implemen⌠á thσ ì
code needed.
A≤á WordSta≥ change≤ thσ addres≤ a⌠ 0005╚ whicΦ point≤ t∩á BDOS¼ ì
thi≤ addres≤ mus⌠ bσ saveΣ prio≥ t∩ enterinτ Wordstar«á Thσ codσ ì
to effect this is listed below.
CUSTOMIZING YOUR WORDMASTER
Invoke Ward Christensen's RESOURCE.COM by typing RESOURCE
it will prompt with .....
Memory open to XXXX
*
type O5000 <RETURN>
U7700 <RETURN>
RWM.SYM <RETURN> to read in the symbol file
RWM.CTL <RETURN> " " control "
RWM.DOC <RETURN> " " comments "
RWM.COM <RETURN> " " program "
? <RETURN>
resource will reply
SYMTBL=1E00 3A70
PC =0100
OFFSET=5000
COMNTS=7700 7B46
CTLTBL=1800 1935
*
Then try
L11C5 1202
And the jump table, fully commented, should be listed.
From then on, happy patching! (and Merry Christmas)
Trevor Marshall, 13 Dec '80.è
.paè
; The following code was 'fudged' to look like
; the display when you use 'Resource'
; All lowercase comments are added by hand,
; all other labels,etc, come from RESOURCE files
;-----------------------------------------------------
; The Jump Table at 11C5 is patched to effect
; keyboard function changes
;
; This was the original jump table in WM 1.06
CTLTABLE: ;11C5
11C5 DW DORET ;1345H
11C7 DW CURSOR-LEFT-WORD ;126DH
11C9 DW CURSOR-R-L-LINE ;1289H
11CB DW UP-SCREEN ;142CH
11CD DW CURSOR-RIGHT-WORD ;123FH
11CF DW SCROLL-DOWN ;1409H
11D1 DW INSERT-ON-OFF ;150BH
11D3 DW DEL-CHAR-RIGHT ;14ECH
11D5 DW CURSOR-LEFT-CHAR ;122AH
11D7 DW INSERT-TAB ;153AH
11D9 DW CURSOR-DOWN-LINE ;12C1H
11DB DW CURSOR-UP-LINE ;1303H
11DD DW CURSOR-RIGHT-CHAR ;1216H
11DF DW DO-CR ;15ABH
11E1 DW INSERT-CR ;1594H
11E3 DW DEL-WORD-RIGHT ;1476H
11E5 DW DEL-LINE-RIGHT ;14DDH
11E7 DW HELP ;1954H
11E9 DW SCREEN-UP ;1414H
11EB DW DORET ;1345H
11ED DW DOTOPORBOTTOM ;1346H
11EF DW DEL-LINE-LEFT ;14BFH
11F1 DW DORET ;1345H
11F3 DW DORET ;1345H
11F5 DW SCROLL-UP ;137CH
11F7 DW DEL-LINE ;14CEH
11F9 DW CUR-RIGHT-TAB ;12B6H
11FB DW DOESCAPE ;1205H
11FD DW DEL-WORD-LEFT ;1460H
11FF DW PUT-CHAR-IN-FILE ;151AH
1201 DW DOTOPORBOTTOM ;1346H
end of table
;
; My table was patched to the following functions
CTLTABLE: ;11C5
11C5 DW DORET ;1345H
DW CURSOR-LEFT-WORD ;126DH
DW CURSOR-R-L-LINE ;1289H
DW UP-SCREEN ;142CH
DW CURSOR-RIGHT-CHAR ;1216H
DW CURSOR-UP-LINE ;1303H
DW CURSOR-RIGHT-WORD ;123FH
DW DEL-CHAR-RIGHT ;14ECH
DW CURSOR-LEFT-CHAR ;122AHè DW INSERT-TAB ;153AH
DW DORET ;1345H
DW DORET ;1345H
DW DORET ;1345H
DW DO-CR ;15ABH
DW INSERT-CR ;1594H
DW DORET ;1345H
DW PUT-CHAR-IN-FILE ;151AH
DW HELP ;1954H
DW SCREEN-UP ;1414H
DW DORET ;1345H
DW DEL-WORD-RIGHT ;1476H
DW INTERRUPTED ;23EBH
DW INSERT-ON-OFF ;150BH
DW SCROLL-DOWN ;1409H
DW CURSOR-DOWN-LINE ;12C1H
DW DEL-LINE ;14CEH
DW SCROLL-UP ;137CH
DW DOESCAPE ;1205H
DW DORET ;1345H
DW PUT-CHAR-IN-FILE ;151AH
1201 DW DOTOPORBOTTOM ;1346H
.paè;
; To allow a CDOS 'motors off' call, or any other call
; to your BDOS you may effect the following changes:
;---------------------------------------------------------
; Original code at 0100
0100 JMP INIT ;0269H
; This jump to WMs initialization should be
; patched to cause a call to our routine at 01AD
;
; The jump at 0100 is changed to
JMP 01ADH
;
; where this routine has neen patched
;NOW SAVE CDOS BASE ADDR BEFORE WM CLOBBERS IT
01AD LHLD CDOS-BASE-ADDR ;at 6
01B0 SHLD SAVE-CDOS-BASE ;01B6H
01B3 JMP INIT ;0269H
;
;
; Original code calling BIOS table jump routine
23CE LHLD L0001 ;1
;NOW CHANGE CALL TO 0D4A TO CALL OUR PATCH
23D1 CALL TBLJUMP ;0D4AH
23D4 MOV A,C
23D5 PCHL
etc
;
; The CALL 0D4A at 23D1 is changed to CALL 01C4 where
; we have put this code:
; When a call to BIOS occurs this routine intercepts it
;
;NOW CALL BDOS VIA OUR PATCH
01C4 CPI 6
01C6 JNZ TBLJUMP ;0D4AH
;IF IT WAS A 'CONIN' CALL, INTERCEPT IT
01C9 PUSH H
;PUT THE RETURN ADDR ONTO STACK, AND PREPARE INDIRECT CALL
01CA LXI H,01D4H
01CD PUSH H
01CE LHLD SAVE-CDOS-BASE ;01B6H
;96H CALL TO CDOS TURNS OFF MOTORS
01D1 MVI C,96H
;NOW 'CALL' BDOS
01D3 PCHL
01D4 POP H
01D5 JMP TBLJUMP ;0D4AH
;
THIS DISK CONTAINS FILE CONVERSION PROGRAMS FOR USE UNDER CP/M.
THE FIRST SUBMITTAL IS "FDOS.ASM" WHICH ALLOWS THE USER TO ACCESS
PERTEC / ICOM FDOS III OPERATING SYSTEM DISKETTE FILES ON A SINGLE
DENSITY DISKETTE IN DRIVE B:. THIS PROGRAM WILL RUN ON ANY CP/M COMPUTER
WITH A SINGLE DENSITY 8" DRIVE B:. THE FDOS DIRECTORY MAY BE READ, FILES
MAY BE TRANSFERRED DIRECTLY TO A CP/M FILE, AND A CP/M FILE MAY BE WRITTEN
ON TO THE FDOS III DISKETTE.
THE SECOND SUBMITTAL "MTX.ASM" IS A PROGRAM TO ACCESS PERTEC MTX BASIC
FILES ON A DOUBLE DENSITY DISK IN DRIVE B:. THE NATURE OF THE DISKETTE FORMAT
REQUIRES THE PROGRAM TO RUN UNDER LIFEBOAT CP/M 1.4 ON A PERTEC FD3812
DISK SYSTEM. THE MTX DIRECTORY MAY BE DISPLAYED AT THE CONSOLE, MTX FILES
MAY BE COPIED DIRECTLY TO LIFEBOAT 3812 FORMAT CP/M FILES, AND A CP/M FILE
MAY BE PLACED UPON THE MTX DISKETTE.
THE THIRD PROGRAM "MTX2000.ASM" IS A PROGRAM TO ACCESS PERTEC MTX BASIC
FILES ON A DOUBLE DENSITY DISK IN DRIVE B:. THE NATURE OF THE DISKETTE FORMAT
REQUIRES THE PROGRAM TO RUN UNDER PERTEC CP/M 1.4 ON A PERTEC PCC 2000 COMPUTER
WITH DOUBLE DENSITY FLOPPY CAPABILITY. THE MTX DIRECTORY MAY BE DISPLAYED AT
THE CONSOLE, MTX FILES MAY BE COPIED DIRECTLY TO PERTEC PCC 2000 FORMAT CP/M
FILES, AND A CP/M FILE MAY BE PLACED UPON THE MTX DISKETTE.
THE LAST PROGRAM IS A NEAT LITTLE ULILITY THAT ALLOWS A PERTEC PCC 2000
FORMAT CP/M 1.4 DOUBLE DENSITY DISKETTE TO BE ACCESSED IN DRIVE B: OF AN
ICOM 3812 RUNNING UNDER LIFEBOAT CP/M 1.4. THIS PROGRAM REQUIRES THAT THE
CP/M SYSTEM SIZE BE 24K BYTES TO ALLOW ROOM FOR A TRANSIENT BIOS PATCH
TO MOVED INTO MEMORY ABOVE THE NORMAL BIOS LOCATION. OPERATION OF THE PROGRAM
IS TO SIMPLY RUN "PCC2000B.COM". FROM THEN TILL THE NEXT COLD BOOT TIME THE
DRIVE B: DISK DRIVERS WILL ASSUME PCC 2000 FORMAT CP/M DISK CHARACTERISTICS.
THE FUNCTION OF THE UTILITY IS VERY SIMILAR TO THE LIFEBOAT 3812 CP/M PROGRAM
CALLED SINGLEB.
MICHAEL J. KARAS
MICRO RESOURCES
2468 HANSEN CT.
SIMI VALLEY, CA 93065