Commit Graph

67 Commits

Author SHA1 Message Date
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
Kelvin Sherlock 74d0ee7f07 based on testing, will not advance to column 80 unless DECAWM is set. 2021-09-25 21:28:12 -04:00
Kelvin Sherlock 45aea0293f arrows, screen erasing, region fixes 2021-09-25 21:27:48 -04:00
Kelvin Sherlock 7fbd54e791 csi wasn't resetting state at the end. 2021-09-25 13:57:27 -04:00
Kelvin Sherlock 121673badb bug fixes. 2021-09-25 11:05:06 -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 d97b32a699 --ctrl, --upper, --lower, --digit flags. 2021-09-19 18:49:52 -04:00