7 Commits

Author SHA1 Message Date
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
227dce66e9 Implement backspace control character 2018-06-04 15:47:58 +02:00
bee5a3a471 Rename interface signals for easier integration 2018-04-30 03:45:35 +02:00
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
2f858a6764 Make terminal genericity opt-in for easier interfacing 2018-04-25 23:47:50 +02:00
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
0aad663c33 Move vga and image creation entities into a new terminal entity 2018-04-24 21:58:42 +02:00