Commit Graph

22 Commits

Author SHA1 Message Date
Kelvin Sherlock
a687a08b0b add command-L to toggle local/online
add command-Q to quit.

Since ROM 1 doesn't have _RemoveCDA in ROM, the control panel is only installed in ROM 3.
(TODO -- check at runtime in case launched from GS/OS)
2022-02-07 10:34:10 -05:00
Kelvin Sherlock
90e807ba46 reset - enable auto-repeat. 2022-01-30 22:29:49 -05:00
Kelvin Sherlock
04113c4725 Rom 1 _InstallCDA call clobbers some direct page locations.
This is fixed in ROM 3 (or via the TS patches if you boot GS/OS).
Workaround it by switching to DPAGE 0.

Also, allocate memory (since I originally thought that might be relevant).
2022-01-30 15:50:54 -05:00
Kelvin Sherlock
60259531d5 DECARM - auto repeat support. defaults to auto-repeat on.
n.b. - mame does not currently set the repeat bit in the keymod reg so it's not well tested.
2022-01-29 14:24:55 -05:00
Kelvin Sherlock
186d71de47 print the cancel character for ^X and ^Z.
based on testing, this applies to vt52 and vt100.
use the current x pos to choose between $56 and $57 (mouse text checkerboard)
so multiple characters look pretty.
2022-01-17 13:13:07 -05:00
Kelvin Sherlock
1cc501e72a buffer outgoing keystrokes
this also adds a hexdump in the CDA for the outgoing buffer
in local mode, "incoming" data is read from the outgoing buffer.
Currently data is (potentially) sent on each run of the main loop.
I thought about using the TX empty interrupt but it still needs to be
kicked off at some point (unlike incoming data)
2022-01-15 15:59:29 -05:00
Kelvin Sherlock
f486bbfb1b don't re-enable the cursor blink while there is still pending modem data. this improves performance and visuals. 2022-01-09 19:38:25 -05:00
Kelvin Sherlock
0d64af63d2 move direct page so it's accessible to CDA
CDA shows direct page variables
move SCC setup to be table-based
esc c reset support.
2021-10-25 13:17:47 -04:00
Kelvin Sherlock
77ec62a091 at 2.6mhz, 9600baud, I was experiencing lost characters during line scroll or screen clear. To compensate, replace modem polling with asynchronous/interrupt-based code. Up to 256 bytes of modem data can be buffered.
Also, enable modem, vt100 as default

Also, erase screen before switching to 80-column mode to prevent unsightly flashes.
2021-10-24 20:13:06 -04:00
Kelvin Sherlock
26ceb7aa50 start of a CDA to control vt100 parameters. 2021-10-23 12:25:20 -04:00
Kelvin Sherlock
31394e84c4 backspace in column 0 was falling through to tab. 2021-10-03 16:09:39 -04:00
Kelvin Sherlock
6c8da61822 ^G beep support. uses ensoniq to match the vt100 beep. 2021-10-03 16:09:20 -04:00
Kelvin Sherlock
63cac578bd vt52 might be more or less complete now. 2021-09-24 21:52:42 -04:00
Kelvin Sherlock
73722a2c02 enable cursor, some fixes 2021-09-23 23:43:25 -04:00
Kelvin Sherlock
1b2ac595d7 fixes 2021-09-23 17:16:10 -04:00
Kelvin Sherlock
e9e969a56b tab/keypad fixes 2021-09-21 23:40:22 -04:00
Kelvin Sherlock
6abf2574e3 fixes. 2021-09-21 22:35:33 -04:00
Kelvin Sherlock
dfdf608018 more code 2021-09-20 22:45:02 -04:00
Kelvin Sherlock
9c526bd762 more stuff 2021-09-19 18:49:29 -04:00
Kelvin Sherlock
6e0de284e0 more vt100 code
to handle DECAWM mode, bit 7 of x ($80 + 79) indicates a wrap is imminent, as opposed to just being in column 79. backspace, etc will drop back to column 78 (based on testing).
2021-09-17 19:50:56 -04:00
Kelvin Sherlock
073813c199 more updates. 2021-09-05 17:04:52 -04:00
Kelvin Sherlock
492a3bfbec adding everything in progress, regardless of state. 2021-09-04 17:52:35 -04:00