<gregdavill>
pdp7: whoops, that module was a remnant of some hardware DMA tests I was trying, not required for the LCD.
<gregdavill>
r4d10n: The BIOS code is compiled and then loaded directly into BRAM during synthesis. So it is embedded in the bitstream and should run once the ECP5 is configured.
<gregdavill>
sajattack[m]: The following files are needed gen.py and uartstream.py. This is all WIP stuff, it could be organised much better.
<gregdavill>
uartstream.py replaces the standard UART module, and provides the serial data (via a FIFO) in the form of a LiteX stream.
<sajattack[m]>
Yeah it locked up my uart
<gregdavill>
gen.py takes a LiteX stream and prints characters to the Terminal display memory. It also handles newlines and line-wrap by scrolling the text up the screen.
<gregdavill>
A solution is to wrap the standard UART module, with a module that splits the TX stream into 2 a main and sub stream. The standard UART terminal will still be connected to main, and the display hooks onto the sub.
<gregdavill>
In its current demo on the hadbadge it's kind of dumb, there is no way to type data into the console. So it's really only useful for showing the Linux startup scroll.
<gregdavill>
This kinda works. You might get some dropped characters on the VGA terminal.
<gregdavill>
For now you can just increase the FIFO size if you see dropped data. :P
<sajattack[m]>
cool thanks
<sajattack[m]>
is 64 the fifo size?
<gregdavill>
Yep
<gregdavill>
What this code is doing, is basically just watching the internal UART TX stream. When a byte is transmitted (ready & valid) it copies it to a FIFO. The terminal generator is then taking these bytes from the FIFO.
<sajattack[m]>
ok
<sajattack[m]>
it's only showing the last line
<sajattack[m]>
and it really doesn't like when I backspace
<gregdavill>
Do you have the latest LiteVideo?
<sajattack[m]>
idk
<gregdavill>
There is a change need for implementing the scrolling.