25 Commits

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