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