VDP tricks in scr4 using move/logical commands

Page 1/2
| 2

By ARTRAG

Enlighted (6430)

ARTRAG's picture

07-11-2005, 12:46

While in scr4, switching to scr5/6/7/8 during vblank and executing copy commands is feasible, does anyone have ideas for exploiting this feature?

Tiles definition:

Does anyone have in mind some nice way for using the VDP logical commands for dynamic pattern definition?
In order to have parallax, I was considering scr6 logical copy (that can move the patterns of 2 bits), but as far as I can see, the best solution seems to have a bulk of pre-computed patterns to copy with fast copy (in scr8 or scr5 now is irrelevant).
Any suggestion?

Animation:

Using tpset on the logical map, it should be possible to move large objects made of tiles like they where in scr5. This BEFORE copyng the tiles from the logical map to the scr4 page.
On this side things seem easy, unfortunately in order to do 8 direction VDP scrolling the logical map needs to be scrambled (look at the code), so square blocks of tiles have to be split in multiple copy commands...If anyone has the will to open the pandora pot looking the algorithm behind the code he/she is welcome.

Sprite definition:

Here it is easy, as the sprite patters are 32 (4 colors per line) one could store in vram the color definitions corresponding to those patterrns, with and without the blody EC bit active.
This means that wasting 16*2*32*2 = 2048 bytes of VRAM you can copy on fly the color definition of any sprite definition in any sprite plane.
Each copy moves 16*2 bytes (4 colors per lines => 2 sprite planes) and you could need up to 32 pattern to be animated corresponding up to 32 fast copy commands with 32 bytes each.

Any further idea?

Login or register to post comments

By msd

Paragon (1397)

msd's picture

07-11-2005, 13:05

Offcourse on 2+ you can just enable command support for every mode Tongue

By ARTRAG

Enlighted (6430)

ARTRAG's picture

07-11-2005, 18:47

Yes but,
1) in vblank you can have it working also on msx2 in scr5/6/7/8
2) do you have some idea on effects to be done in scr4 using scr8 commands?

By msd

Paragon (1397)

msd's picture

08-11-2005, 14:02

why scr8 commands?

By ARTRAG

Enlighted (6430)

ARTRAG's picture

08-11-2005, 14:09

You mentioned msx2+.
AFAIK on msx2+ the commands in scr4 work like they were in scr8. Do they?

By msd

Paragon (1397)

msd's picture

08-11-2005, 14:38

Don't they just work like in every mode? Tongue

By geijoenr

Master (178)

geijoenr's picture

30-07-2020, 20:46

@ARTRAG did you ever came up with ways on how to use this?

I am interested on whether using LMMM/HMMM in sc4 makes sense for moving tile definitions between pages.

It looks to me tricky because of the coordinate transformation and the fact that colors and patters need to be copied
which means doubling the number of commands. Also LMMM seems rather difficult to use because of the color/pattern separation.

By ARTRAG

Enlighted (6430)

ARTRAG's picture

30-07-2020, 21:27

I did a couple of tests
Something is here
https://www.msx.org/forum/development/msx-development/vdp-co...

By ARTRAG

Enlighted (6430)

ARTRAG's picture

30-07-2020, 21:48

By Dolphin101546015

Champion (273)

Dolphin101546015's picture

04-08-2020, 07:26

ARTRAG wrote:

Each copy moves 16*2 bytes (4 colors per lines => 2 sprite planes) and you could need up to 32 pattern to be animated corresponding up to 32 fast copy commands with 32 bytes each.

Any further idea?

Have idea:
For speedup, keep several sprite pages and switch without copying, with attr pages together.

By ARTRAG

Enlighted (6430)

ARTRAG's picture

05-08-2020, 08:42

VTEST at the above link comes with sources
You could try your idea starting from there

Page 1/2
| 2