By PingPong

Prophet (3521)

PingPong's picture

24-01-2020, 22:52

Hi, all. Anyone knows about silviana?
It is a msx2 game that is surprising me.
The game have both horizontal and vertical scrolling. (side)
The vertical one is implemented through vdp copy commands and one clearly notice th frame tearing effect.
What is surprising me is the horizontal scrolling. I cannot see any frame tearing and scroll very fast.
I ve guessed it uses h. Scroll register but it does seam to work with V9938.
Anyone got any idea on how this scroll works?

Login or register to post comments

By Grauw

Ascended (9072)

Grauw's picture

24-01-2020, 23:45

You can scroll pretty fast with HMMM copies, I did full 192x192 play area scrolling copies in my very very old unfinished RTS game “Strategic Army”, in 16 pixel steps (matching the tile size), and it went about as quick. And I didn’t even apply the optimisation to only repaint changed tiles, just did a straight copy there, although I did disable sprites (cursor) during the scroll.

I just ran it again since a long time and yeah, it goes about as quick, especially if you consider that Silviana’s scroll moves in steps of 32 so twice as fast. Could go even faster with the changed tiles optimisation, as games like Ys II show.

Why vertical appears slower than horizontal, I think it may be partially an illusion due to the copy going from top to bottom and the display being rendered top-to-bottom as well. Additionally it needs to draw more new individual tiles per step vertically (32) than it does horizontally (24), making it less smooth though quicker overall (since it only needs 6 steps rather than 8).

So, my judgement, Silviana does just plain VDP copies, without changed tile optimisation, without the help of scroll registers nor a split for the score.

p.s. For those too lazy to google, Silviana play-through video.