Commit Graph

25 Commits

Author SHA1 Message Date
Klemens Schölhorn 3fbc5a72c1 License under GPLv3 2018-06-05 15:25:29 +02:00
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 5acb3b27a4 Remove obsolete files 2018-04-26 00:01:06 +02:00
Klemens Schölhorn e960fae673 Add pattern generator for demoing the scrolling behaviour 2018-04-25 23:57:01 +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 7cf0aa33c0 Make block ram entity generic over width and depth 2018-04-25 22:55:39 +02:00
Klemens Schölhorn 20aa3137a8 Rename project to terminal 2018-04-25 22:54:06 +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
Klemens Schölhorn 5f47c1327f Enable writing to the terminal buffer on second port
This adds an explicit terminal_buffer entity to help with the blockram
inference. Both read and write are completely independent, although they
run with the same clock for now.
2018-04-24 21:30:59 +02:00
Klemens Schölhorn ea99b5b07a Enable new parser 2018-04-24 21:26:21 +02:00
Klemens Schölhorn a8191387ec Align delays in the font_rom to fix rendering 2018-01-24 23:43:41 +01:00
Klemens Schölhorn ad8b39a4ce Implement basic ascii framebuffer (read only for now) 2018-01-23 03:02:06 +01:00
Klemens Schölhorn 0e298a6380 Add minimal keyboard controller that counts received bytes 2018-01-10 02:17:29 +01:00
Klemens Schölhorn 08759ae5f3 Import ps/2 core by Daniel Quintero 2018-01-09 23:57:58 +01:00
Klemens Schölhorn 25130c1867 Add basic example image generator 2017-11-23 04:32:27 +01:00
Klemens Schölhorn ce043d2805 Add ch7301c initialization to the main unit 2017-11-23 04:29:45 +01:00
Klemens Schölhorn ea6b3418de Add the actual init sequence for clocks <= 65 MHz 2017-11-23 02:12:25 +01:00
Klemens Schölhorn da4e8230c5 Make init_ch7301c generic and prepare for embedding into main 2017-11-23 01:33:28 +01:00
Klemens Schölhorn a86cd90384 Fixup i2c init module 2017-11-22 04:09:01 +01:00
Klemens Schölhorn 168102e13b Add i2c init procedure sketch 2017-11-13 04:46:55 +01:00
Klemens Schölhorn 03659e9fb1 Import existing project for displaying images through DVI on the ml507 2017-11-13 04:43:04 +01:00