The result is already very close to what is expected.
But there is another remark.
When screen scrolling is just started, a white field appears at the top of the screen (see attached file).
It also occurs when you reverse scrolling to the beginning of the screen.
You need to get rid of it or just paint it the main background.
I’d appreciate your help.