Kelvin Sherlock
322bdad1a1
[VT102] SRM/IRM variables [wip]
2024-09-12 16:07:10 -04:00
Kelvin Sherlock
ad06f83ec8
DECARM (key repeat) settings were backwards
2024-09-12 16:04:21 -04:00
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
2c432b3fc1
command-L toggles local/online mode.
2022-01-30 22:29:33 -05:00
Kelvin Sherlock
dcbafc2999
commentary.
2022-01-30 15:52:38 -05:00
Kelvin Sherlock
80edada6e9
DECCOLM 132 support (partial).
...
I still don't support 132 mode but switching clears the screen, homes the cursor,
and clears any scrolling regions, so it's necessary for passing the vttest suite.
2022-01-30 15:52:32 -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
1f7e3b3b4c
to make life easier for emacs, backspace will send $7f instead of $08.
...
command-backspace will send $08 (as will Control-H).
If you have an extended keyboard, delete will also send $08.
(mame uses delete to toggle keyboard mode so it's not yet tested).
2022-01-29 15:43:08 -05:00
Kelvin Sherlock
18daf26568
add DECARM, x, and y to the CDA
2022-01-29 15:41:14 -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
22d1c744bb
auto-wrap wasn't advancing the cursor after wrapping.
2022-01-29 11:56:15 -05:00
Kelvin Sherlock
c15ae6ac4c
add DECREQTPARM support, fix a bug with DA/Device attributes response.
2022-01-29 11:23:41 -05:00
Kelvin Sherlock
9dfc3cc7c9
saving the cursor also saves the SGR
2022-01-29 10:43:09 -05:00
Kelvin Sherlock
71993497ea
$7f (delete) character is a null char. drop it (and $00) when checking the read queue.
2022-01-28 23:21:13 -05:00
Kelvin Sherlock
acfe94a4c7
command keys:
...
* command 1 - command 4 equivalent to PF1 - PF4
* command-delete = backspace (0x7f)
* command-return = linefeed (0x0a)
2022-01-28 22:25:33 -05:00
Kelvin Sherlock
9cf52cb34e
vttest fixes
...
1. control-space should generate a null character
2. vt52 application mode keys were off.
2022-01-28 22:12:37 -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
4eb578b94e
merge hexdump code
2022-01-17 13:11:00 -05:00
Kelvin Sherlock
c2d3ee0f28
show all SGR (inverse, bold, underscore, blink) as inverted.
2022-01-15 16:36:28 -05:00
Kelvin Sherlock
900dccb3d1
head/tail swapped.
2022-01-15 16:31:38 -05:00
Kelvin Sherlock
ea6ee76a9d
fix CDA paging
2022-01-15 16:15:05 -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
8fa8d8d1fa
move modem q variables to the direct page, adjust CDA hexdump to show most recent 16*8 bytes.
2022-01-08 22:26:34 -05:00
Kelvin Sherlock
02c6e1271c
cda print_number - support for 0-255
2021-12-19 20:16:52 -05:00
Kelvin Sherlock
279f424cee
cda - improve ssc register display
2021-12-06 20:14:35 -05:00
Kelvin Sherlock
e1639db6e4
cda - display SCC registers.
2021-12-05 22:47:40 -05:00
Kelvin Sherlock
6f055a1ef9
update cursor save/cursor restore to also save the DECOM settings. tested with vt100 (mame)
2021-11-28 15:46:29 -05:00
Kelvin Sherlock
cd1397e3cf
fixed cursor position report
...
- verified DECOM behavior
- was missing [ write.
2021-11-28 14:45:03 -05:00
ksherlock
3e53d52226
Create README.md
2021-10-26 08:16:26 -04:00
Kelvin Sherlock
a4fc8a1a19
cda bugs
2021-10-25 14:30:50 -04:00
Kelvin Sherlock
260023c33b
fix bug with scrolling region. frotz now works...
2021-10-25 14:30:42 -04: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
c470e945ec
clean up link file a bit.
2021-10-24 21:47:29 -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
5a1f0f6ffc
finish cda box.
2021-10-23 14:53:35 -04:00
Kelvin Sherlock
26ceb7aa50
start of a CDA to control vt100 parameters.
2021-10-23 12:25:20 -04:00
Kelvin Sherlock
42d38bfa77
typo.
2021-10-23 12:24:36 -04:00
Kelvin Sherlock
f13947a9c2
reformat scc magic constants
2021-10-17 19:33:28 -04:00
Kelvin Sherlock
892aed32f4
commentary.
2021-10-17 16:51:41 -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
8d0f3b6496
use iigs equates
2021-10-03 16:08:23 -04:00
Kelvin Sherlock
2ae6964664
clobbering the screen holes is bad. The slot 4 mouse code stores config data in the screen holes. on ROM 1, ESC#8 (fill screen with 'E') would cause the slot 4 mouse to enable ADB mouse interrupts, which causes ProDOS to eventually error out with 255 unclaimed interrupts.
2021-09-27 17:55:10 -04:00
Kelvin Sherlock
2a8a409194
inverse support
2021-09-27 17:53:13 -04:00
Kelvin Sherlock
11d62bb333
disable cursor blink when CDA is active.
2021-09-26 19:46:10 -04:00
Kelvin Sherlock
39429e4e09
saved cursor
2021-09-26 19:45:44 -04:00
Kelvin Sherlock
9343302f9b
status report (untested and incomplete)
2021-09-26 19:44:51 -04:00
Kelvin Sherlock
dbf4e07b95
save restore cursor
2021-09-26 19:44:12 -04:00