• WordMaster Help

    From Robert Porter@21:1/5 to All on Fri Dec 2 14:06:14 2022
    Hi All,

    I was wondering if anyone might be able to help me with a WordMaster problem. I've been trying to get it configured for my computer and it's almost working but there's one major problem: backspace doesn't work.

    My keyboard sends ascii 8 for backspace, and WM seems to move the cursor to the left one spot without actually deleting anything. (Ctrl-G does work as expected). This is driving me crazy.

    I did a quick disassembly of WM to see if I could find the code to patch, but it doesn't appear to be obvious where it's checking for special keys, so it looks like I'd likely have to disassemble the whole thing which is a bit larger of a project than I'
    m interested in undertaking at this point in time.

    So a few questions:
    1. Does anyone know why WM doesn't like ascii 8 for backspace? CP/M itself seems to recognize it fine. I have on problem with backspace anywhere except WM.

    2. Does anyone know of a strategy to patch WM to recognize backspace?

    3. Is there an alternate character my keyboard should be sending that would work for WM _and_ everything else? If so, I could easily patch the firmware on my keyboard to send a different character (I built the decoder for my keyboard, so the mapping is
    under my control). Or even apply a patch to the bios to translate it.

    Thanks in advance for any information or perspective!

    -rob

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From fridtjof.martin.weigel@gmail.com@21:1/5 to physi...@gmail.com on Fri Dec 2 15:08:31 2022
    On Friday, December 2, 2022 at 5:06:16 PM UTC-5, physi...@gmail.com wrote:
    Hi All,

    I was wondering if anyone might be able to help me with a WordMaster problem. I've been trying to get it configured for my computer and it's almost working but there's one major problem: backspace doesn't work.

    My keyboard sends ascii 8 for backspace, and WM seems to move the cursor to the left one spot without actually deleting anything. (Ctrl-G does work as expected). This is driving me crazy.

    I did a quick disassembly of WM to see if I could find the code to patch, but it doesn't appear to be obvious where it's checking for special keys, so it looks like I'd likely have to disassemble the whole thing which is a bit larger of a project than
    I'm interested in undertaking at this point in time.

    So a few questions:
    1. Does anyone know why WM doesn't like ascii 8 for backspace? CP/M itself seems to recognize it fine. I have on problem with backspace anywhere except WM.

    2. Does anyone know of a strategy to patch WM to recognize backspace?

    3. Is there an alternate character my keyboard should be sending that would work for WM _and_ everything else? If so, I could easily patch the firmware on my keyboard to send a different character (I built the decoder for my keyboard, so the mapping is
    under my control). Or even apply a patch to the bios to translate it.

    Thanks in advance for any information or perspective!

    -rob
    Sure, stock WM uses 0x7F (rubout) to delete left -- that may be control-backspace for you. 0x08 (backspace) just puts the cursor left one character.

    Never bothered me, so I have never "fixed"it. FYI - WordStar 3.3 behaves exactly the same way. Now... pmate (I use pmate 3.21) has a movement diamond too: ^Y,^G,^H,^B -- so control h (backspace) actually moves the cursor to the right! ^D erases to the
    right, pmate in insert mode (^N) erases left on rubout, but in overwrite mode (^O) rubout only moves right.

    rubout may be control-backspace, or del (delete) or both.

    As there were no real standards back then, we just generally went with the flow...

    Now, backspace on the cp/m command line erases and moves the cursor left (via issuing BS SPACE BS). rubout erases the character by echoing the character: so abc(rubout)(rubout) looks like: abccb -- and THAT is why control-r (think "retype") retypes the
    line. So

    abc(rubout)(rubout)(control-r)
    looks like
    abccb#
    a

    This is pretty much the same in ED... but WM, WordStar and PMATE all needed a video terminal, so its a bit different. But the time CP/M 2.2 was released, VDUs were more common, so CP/M line edit support control-h and control-x (line delete). On a
    teletype, control-x was control-u (also works on a VDU):

    abc(control-x)
    ... erases all the characters, stays on the same line
    abc(control-u)
    abc#
    and waits for more input (and no, the tty33 only did upper case, so this is not "quite" period correct).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dennis Boone@21:1/5 to All on Fri Dec 2 23:06:00 2022
    1. Does anyone know why WM doesn't like ascii 8 for backspace? CP/M
    itself seems to recognize it fine. I have on problem with backspace anywhere except WM.

    Some terminal types (e.g. Televideo 912, 920 and 925) send ^h for their cursor-left operation. In fact, 151 terminal variants, according to my
    handy termcap file.

    De

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robert Porter@21:1/5 to fridtjof.ma...@gmail.com on Fri Dec 2 18:40:40 2022
    On Friday, December 2, 2022 at 3:08:32 PM UTC-8, fridtjof.ma...@gmail.com wrote:
    On Friday, December 2, 2022 at 5:06:16 PM UTC-5, physi...@gmail.com wrote:
    Hi All,

    I was wondering if anyone might be able to help me with a WordMaster problem. I've been trying to get it configured for my computer and it's almost working but there's one major problem: backspace doesn't work.

    My keyboard sends ascii 8 for backspace, and WM seems to move the cursor to the left one spot without actually deleting anything. (Ctrl-G does work as expected). This is driving me crazy.

    I did a quick disassembly of WM to see if I could find the code to patch, but it doesn't appear to be obvious where it's checking for special keys, so it looks like I'd likely have to disassemble the whole thing which is a bit larger of a project
    than I'm interested in undertaking at this point in time.

    So a few questions:
    1. Does anyone know why WM doesn't like ascii 8 for backspace? CP/M itself seems to recognize it fine. I have on problem with backspace anywhere except WM.

    2. Does anyone know of a strategy to patch WM to recognize backspace?

    3. Is there an alternate character my keyboard should be sending that would work for WM _and_ everything else? If so, I could easily patch the firmware on my keyboard to send a different character (I built the decoder for my keyboard, so the mapping
    is under my control). Or even apply a patch to the bios to translate it.

    Thanks in advance for any information or perspective!

    -rob
    Sure, stock WM uses 0x7F (rubout) to delete left -- that may be control-backspace for you. 0x08 (backspace) just puts the cursor left one character.

    Never bothered me, so I have never "fixed"it. FYI - WordStar 3.3 behaves exactly the same way. Now... pmate (I use pmate 3.21) has a movement diamond too: ^Y,^G,^H,^B -- so control h (backspace) actually moves the cursor to the right! ^D erases to the
    right, pmate in insert mode (^N) erases left on rubout, but in overwrite mode (^O) rubout only moves right.

    rubout may be control-backspace, or del (delete) or both.

    As there were no real standards back then, we just generally went with the flow...

    Now, backspace on the cp/m command line erases and moves the cursor left (via issuing BS SPACE BS). rubout erases the character by echoing the character: so abc(rubout)(rubout) looks like: abccb -- and THAT is why control-r (think "retype") retypes the
    line. So

    abc(rubout)(rubout)(control-r)
    looks like
    abccb#
    a

    This is pretty much the same in ED... but WM, WordStar and PMATE all needed a video terminal, so its a bit different. But the time CP/M 2.2 was released, VDUs were more common, so CP/M line edit support control-h and control-x (line delete). On a
    teletype, control-x was control-u (also works on a VDU):

    abc(control-x)
    ... erases all the characters, stays on the same line
    abc(control-u)
    abc#
    and waits for more input (and no, the tty33 only did upper case, so this is not "quite" period correct).

    Awesome! I'm kind of surprised it was this easy, but browsing through the code there are a few 'cpi 07Fh' instructions. I went through one by one modifying to 'cpi 08h' and was able to quickly identify the code necessary to change the backspace key.

    If anyone cares:
    DDT WM.COM
    - L11AE
    11AE CPI 7F
    ...
    ...
    - S11AF
    11AF 7F 08
    11B0 CA .
    - G0
    SAVE 40 WMPATCH.COM

    and now wordmaster expects a backspace instead of rubout. Success.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From fridtjof.martin.weigel@gmail.com@21:1/5 to physi...@gmail.com on Sat Dec 3 08:46:37 2022
    On Friday, December 2, 2022 at 9:40:41 PM UTC-5, physi...@gmail.com wrote:
    On Friday, December 2, 2022 at 3:08:32 PM UTC-8, fridtjof.ma...@gmail.com wrote:
    On Friday, December 2, 2022 at 5:06:16 PM UTC-5, physi...@gmail.com wrote:
    Hi All,

    I was wondering if anyone might be able to help me with a WordMaster problem. I've been trying to get it configured for my computer and it's almost working but there's one major problem: backspace doesn't work.

    My keyboard sends ascii 8 for backspace, and WM seems to move the cursor to the left one spot without actually deleting anything. (Ctrl-G does work as expected). This is driving me crazy.

    I did a quick disassembly of WM to see if I could find the code to patch, but it doesn't appear to be obvious where it's checking for special keys, so it looks like I'd likely have to disassemble the whole thing which is a bit larger of a project
    than I'm interested in undertaking at this point in time.

    So a few questions:
    1. Does anyone know why WM doesn't like ascii 8 for backspace? CP/M itself seems to recognize it fine. I have on problem with backspace anywhere except WM.

    2. Does anyone know of a strategy to patch WM to recognize backspace?

    3. Is there an alternate character my keyboard should be sending that would work for WM _and_ everything else? If so, I could easily patch the firmware on my keyboard to send a different character (I built the decoder for my keyboard, so the
    mapping is under my control). Or even apply a patch to the bios to translate it.

    Thanks in advance for any information or perspective!

    -rob
    Sure, stock WM uses 0x7F (rubout) to delete left -- that may be control-backspace for you. 0x08 (backspace) just puts the cursor left one character.

    Never bothered me, so I have never "fixed"it. FYI - WordStar 3.3 behaves exactly the same way. Now... pmate (I use pmate 3.21) has a movement diamond too: ^Y,^G,^H,^B -- so control h (backspace) actually moves the cursor to the right! ^D erases to
    the right, pmate in insert mode (^N) erases left on rubout, but in overwrite mode (^O) rubout only moves right.

    rubout may be control-backspace, or del (delete) or both.

    As there were no real standards back then, we just generally went with the flow...

    Now, backspace on the cp/m command line erases and moves the cursor left (via issuing BS SPACE BS). rubout erases the character by echoing the character: so abc(rubout)(rubout) looks like: abccb -- and THAT is why control-r (think "retype") retypes
    the line. So

    abc(rubout)(rubout)(control-r)
    looks like
    abccb#
    a

    This is pretty much the same in ED... but WM, WordStar and PMATE all needed a video terminal, so its a bit different. But the time CP/M 2.2 was released, VDUs were more common, so CP/M line edit support control-h and control-x (line delete). On a
    teletype, control-x was control-u (also works on a VDU):

    abc(control-x)
    ... erases all the characters, stays on the same line
    abc(control-u)
    abc#
    and waits for more input (and no, the tty33 only did upper case, so this is not "quite" period correct).
    Awesome! I'm kind of surprised it was this easy, but browsing through the code there are a few 'cpi 07Fh' instructions. I went through one by one modifying to 'cpi 08h' and was able to quickly identify the code necessary to change the backspace key.

    If anyone cares:
    DDT WM.COM
    - L11AE
    11AE CPI 7F
    ...
    ...
    - S11AF
    11AF 7F 08
    11B0 CA .
    - G0
    SAVE 40 WMPATCH.COM

    and now wordmaster expects a backspace instead of rubout. Success.
    And thank you for publishing the patch!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence Nelson@21:1/5 to physi...@gmail.com on Thu Dec 8 04:59:25 2022
    On Friday, December 2, 2022 at 5:06:16 PM UTC-5, physi...@gmail.com wrote:
    Hi All,

    I was wondering if anyone might be able to help me with a WordMaster problem. I've been trying to get it configured for my computer and it's almost working but there's one major problem: backspace doesn't work.

    My keyboard sends ascii 8 for backspace, and WM seems to move the cursor to the left one spot without actually deleting anything. (Ctrl-G does work as expected). This is driving me crazy.

    I did a quick disassembly of WM to see if I could find the code to patch, but it doesn't appear to be obvious where it's checking for special keys, so it looks like I'd likely have to disassemble the whole thing which is a bit larger of a project than
    I'm interested in undertaking at this point in time.

    So a few questions:
    1. Does anyone know why WM doesn't like ascii 8 for backspace? CP/M itself seems to recognize it fine. I have on problem with backspace anywhere except WM.

    2. Does anyone know of a strategy to patch WM to recognize backspace?

    3. Is there an alternate character my keyboard should be sending that would work for WM _and_ everything else? If so, I could easily patch the firmware on my keyboard to send a different character (I built the decoder for my keyboard, so the mapping is
    under my control). Or even apply a patch to the bios to translate it.

    Thanks in advance for any information or perspective!

    -rob
    Rob,

    ASCII 8, i.e. cntl-H, is the backspace character and on my WM1.07, moves the cursor to the left one space. I take it that you want it to not only move the cursor left but to also delete the character to the left. This action is accomplished with the
    DEL or RUBOUT character which is I believe ASCII 127 (7fh).
    I am including the key jump vector table for WM v1.07. If you want backspace to work like DEL, simply change the address at 11d5h to 1448h (Obviously you want to store it little endian, i.e. low byte then high byte). These addresses may only work for
    WM v1.07.

    Lars

    169 ; key jump vector, beginning with ^@
    170 ;
    171 11C5 1345 DEFW DUMMY ; ^@ do next key 4 times
    172 11C7 126D DEFW CURLTWD ; ^A
    173 11C9 1345 DEFW DUMMY ; ^B (formerly end of line toggle)
    174 11CB 142C DEFW WINDOWN ; ^C
    175 11CD 1216 DEFW CURRT ; ^D
    176 11CF 1303 DEFW CURUP ; ^E
    177 11D1 123F DEFW CURRTWD ; ^F
    178 11D3 14EC DEFW GOBBLE ; ^G
    179 11D5 122A DEFW CURLT ; ^H
    180 11D7 153A DEFW TAB ; ^I
    181 11D9 1954 DEFW HELP ; ^J
    182 11DB 1345 DEFW DUMMY ; ^K (formerly delete to EOL)
    183 11DD 1345 DEFW DUMMY ; ^L (formerly cursor right)
    184 11DF 15AB DEFW CARRET ; ^M
    185 11E1 1594 DEFW INSLF ; ^N
    186 11E3 1345 DEFW DUMMY ; ^O (formerly insert mode toggle)
    187 11E5 151A DEFW CTLCHR ; ^P
    188 11E7 29B8 DEFW QPATCH ; ^Q (formerly CURTAB)
    189 11E9 1414 DEFW WINDUP ; ^R
    190 11EB 122A DEFW CURLT ; ^S
    191 11ED 1476 DEFW DELWD ; ^T
    192 11EF 29E3 DEFW NTRUPT ; ^U (formerly del line left)
    193 11F1 150B DEFW INSTOGL ; ^V (formerly vio control)
    194 11F3 1409 DEFW WINDUP1 ; ^W
    195 11F5 12C1 DEFW CURDN ; ^X
    196 11F7 14CE DEFW LINEDEL ; ^Y
    197 11F9 137C DEFW WINDN1 ; ^Z
    198 11FB 1205 DEFW ESC ; ^[
    199 11FD 1460 DEFW DELWDLT ; ^\
    200 11FF 151A DEFW CTLCHR ; ^]
    201 1201 1346 DEFW UPDOWN ; ^^
    202 1203 1448 DEFW LEFTDEL ; del

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)