Commit Graph

63 Commits

Author SHA1 Message Date
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
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
42bef68d80 tab logic was off by one at the end. 2021-09-08 23:34:27 -04:00
Kelvin Sherlock
073813c199 more updates. 2021-09-05 17:04:52 -04:00