I have been looking through datasheets for the display controller, but it seems the RETRO display controller does not support scrolling.
By scrolling, I mean manipulating the windows registers to move the screen buffer up/down and setting a delay to move it sideways.
Anyone tried to do some scrolling?
I don’t think scrolling is supported on the hardware level. You will have to came up with your own smart way of doing this.
Yes, but not by manipulating LCD controller registers.
Were you able to accomplish your scrolling?
Yes. Software screen scrolling is possible in many ways. The big trick is to minimize the amount of time spent sending data to the LCD. I accomplished this by only sending the LCD data (one screen worth at a time) 30 times per second. It is the SPI IO that takes up the majority of the processors time. There really is not much RAM on the RETRO to do full screen buffering at the full color depth so you have to do some tricks to manage that. I use sprites and tiled graphics. Scrolling tiled graphics is fairly straight forward. If you have not already you will want to replace or at least rewrite some parts of the display’s driver C++ class to do SPI faster. As mentioned before in the “Retro Pong Mod” post there is a way to use the ARM chip’s hardware to do the SPI faster which helps out a great deal … Burst SPI => BurstSPI - Class to be able to send SPI data with almost no … | Mbed
I ended up rewriting the bitmap and character writing functions. The character writing function in particular is really slow as it allocates new RAM often. Allocating and dealllocating memory repetitively is not a good practice for fast code. I use a 8x8 font set instead to simplify some of the logic. The fonts are easier to read on the little screen as well.
Cool stuff. Can you share some code?