cpm65
cpm65 copied to clipboard
Fix VT52 terminal driver.
Fixes the following bugs:
- backspace goes to previous line, except for the top left corner.
Bug example:
- enter on the second to last line does not skip a line anymore.
Bug example:
- typing past the bottom right corner correctly scrolls up and does CR.
Bug example:
- clear to end of screen now also clears the last line.
Bug example:
- right border no longer one less than the screen width.
Bug example:
- backspace in the top left corner does no longer erase the character under the cursor.
Bug example:
There's still one issue left, and that is that ^H should not rubout the character left of the cursor, but only move the cursor. I could add a rubout flag which is set when DEL (127) is send, similar to how ADM-3A handles this. The original CP/M actually sends ^H space ^H when the backspace key is pressed, but your CCP uses DEL, which, according to the manual, VT52 terminals ignore when echoed to the screen :wink: ADM-3A calls DEL RUB and is indeed character 127. Long story short, I could make the VT52 terminal acknowledge DEL and make ^H a proper BS, i.e. cursor left with wrap to the previous line. What do you think?