Commit Graph

7 Commits

Author SHA1 Message Date
Klemens Schölhorn 9e49f5e332 Correctly handle CR followed by LF
This would previously result in an empty line, because the CR resets the
current column to zero. Now we remember the last written char and column
so that we can restore the column before finishing the line.
2018-06-04 23:03:53 +02:00
Klemens Schölhorn 227dce66e9 Implement backspace control character 2018-06-04 15:47:58 +02:00
Klemens Schölhorn bee5a3a471 Rename interface signals for easier integration 2018-04-30 03:45:35 +02:00
Klemens Schölhorn 1c22e73128 Implement scrolling for the terminal
The line where the cursor located is always displayed at the bottom and
old content scrolls up until disappearing eventually at the top of the
screen.

This is implemented using a ring buffer of all rows, where old chars
are only overwritten when writing new ones. To avoid displaying stale
data at the end of rows, we save the length of every row and hide chars
that were not overwritten (yet).
2018-04-25 23:50:09 +02:00
Klemens Schölhorn 2f858a6764 Make terminal genericity opt-in for easier interfacing 2018-04-25 23:47:50 +02:00
Klemens Schölhorn 8ee7a1c463 Implement single character write interface
This basic interface just moves the cursor to the next position after
writing a character and supports CR and LF as special chars for now.
2018-04-24 23:44:13 +02:00
Klemens Schölhorn 0aad663c33 Move vga and image creation entities into a new terminal entity 2018-04-24 21:58:42 +02:00