Sprite color combination

Página 3/3
1 | 2 |

Por Metalion

Paragon (1591)

Imagen del Metalion

04-01-2008, 20:29

Well, first of, try it on a real MSX, or at least on another emulator
I've just checked on my MSX2+ and it does not work also for the same 3/0 sprite pair ... Sad

Por GhostwriterP

Paladin (680)

Imagen del GhostwriterP

04-01-2008, 21:45

So if pair 0/3 is perhaps on the same y-height as the pair 1/4 or at least partially overlapping in height then the transparency check for sprite 3 might get stopped by the fact that sprite 1 doesn't have the CC bit setSprite #3 and sprite #0 have the coordinates X,Y (OR effect does not work)
Sprite #4 and sprite #1 have the coordinates X+16,Y (OR effect works)
Sprite #5 and sprite #2 have the coordinates X+8,Y+16 (OR effect works)
2) To display the sprite whose CC is "1", CC bit of the sprite which
has smaller number should be set to 0.

The way I see it the answer is right here.Wink

Por [D-Tail]

Ascended (8259)

Imagen del [D-Tail]

05-01-2008, 01:06

Then again, why does the #1/#4 combination work?

Por multi

Expert (74)

Imagen del multi

05-01-2008, 04:50


Then again, why does the #1/#4 combination work?

It's just an out of specs side effect. Basically it is not a feature of the MSX2 standard, but a feature of some VDP implementation! So if you use it your software is not MSX2 software anymore.

Por GhostwriterP

Paladin (680)

Imagen del GhostwriterP

05-01-2008, 10:55

Then again, why does the #1/#4 combination work?In metalion's configuration we get: #5/#2, #4/#1 and #3/#1. #1 Instead of #0 since this is the one the vdp finds first. The Y coordinate is the determing factor in skipping #2 for both #3 and #4.

Por Metalion

Paragon (1591)

Imagen del Metalion

05-01-2008, 12:03

In metalion's configuration we get: #5/#2, #4/#1 and #3/#1. #1 Instead of #0 since this is the one the vdp finds first. The Y coordinate is the determing factor in skipping #2 for both #3 and #4.
Sorry, but I just don't get it Sad

Why should the Y coordinate be a determining factor when the OR effect happens only with overlapping pixels ?

And as I said earlier, in my mind there's only 2 solutions :
- Either the VDP checks for the nearest sprite with CC bit reset without bothering for coordinates, and in this case only the #5/#2 pair OR works.
- Either the VDP checks for for the nearest sprite with CC bit reset AND overlapping pixels, and in this case all my sprites pairs OR works

BUT, as I have seen that this is not emulator related, and that it also happens with a real MSX, I think I have no other option than to go with what everyone has been telling me : reorganize sprite pairs so that I have 1/0 - 3/2 - 5/4 instead of the present combination.

I would have like to understand the VDP logic behind that, though Crying

It's just an out of specs side effect. Basically it is not a feature of the MSX2 standard, but a feature of some VDP implementation! So if you use it your software is not MSX2 software anymore
I don't agree : we are talking of a hardware effect here.
Only the V9938 is responsible for that sprite display, there is no outside software trick.

Por Metalion

Paragon (1591)

Imagen del Metalion

05-01-2008, 12:16

I think I have no other option than to go with what everyone has been telling me : reorganize sprite pairs so that I have 1/0 - 3/2 - 5/4 instead of the present combination
It works indeed ... I have now an OR effect between all sprite pairs.
But, as I said, I don't see the VDP logic behind that.
Thanks to everyone for sharing their views about that problem Cool

Por GhostwriterP

Paladin (680)

Imagen del GhostwriterP

05-01-2008, 12:32

The Y is the determing factor 'cos everything works per line.
There can be only 8 sprites on line. Colors can be set per line. Y is the first byte in the SPAT. Seems logic enough to me.

But If this is how it works then it would be possible to have a 5 colors on a row with 3 sprites. #0/#1 and #0/#2 (#0 cc reset , #1 & #2 cc set), has this be done / tested before?

Por PingPong

Prophet (3987)

Imagen del PingPong

05-01-2008, 12:48

The Y is the determing factor 'cos everything works per line.
There can be only 8 sprites on line. Colors can be set per line. Y is the first byte in the SPAT. Seems logic enough to me.

But If this is how it works then it would be possible to have a 5 colors on a row with 3 sprites. #0/#1 and #0/#2 (#0 cc reset , #1 & #2 cc set), has this be done / tested before?
on the v9938, if i remember correctly, there is an example of multicolored sprite with more than 3 colors on line+transparency.

Página 3/3
1 | 2 |