Sprites and line 216

Page 2/3
1 | | 3

By Louthrax

Prophet (2132)

Louthrax's picture

24-07-2017, 21:04

Manel46 wrote:

NYYRIKKI.
It may be possible to combine the use of the 2 registers. The one of "set adjust" with the one of vertical scroll by harware.
We tended to see how we do it.

Sounds like a good idea first (using a "set adjust" to compensate the other scroll). But might be tricky if you have several sprites at Y=215, Y=216, Y=217... In some cases, you might not find a suitable "free" adjustment among all the sprites. Or you can scan all 16 possible values, but then you'll have some visible "jumps" in the screen up and down borders. Darn, looks like there's no prefect, clean and simple solution to that problem

By Grauw

Ascended (8608)

Grauw's picture

24-07-2017, 21:09

Louthrax wrote:

Sounds like a good idea first (using a "set adjust" to compensate the other scroll). But might be tricky if you have several sprites at Y=215, Y=216, Y=217... In some cases, you might not find a suitable "free" adjustment among all the sprites. Or you can scan all 16 possible values, but then you'll have some visible "jumps" in the screen up and down borders.

Since only 8 sprites can be active on a line at most, in theory there should be a line available to adjust to. Calculating which line that is, is a different matter Big smile.

Louthrax wrote:

Darn, looks like there's no prefect, clean and simple solution to that problem

Yeah, darn for sure!

By Louthrax

Prophet (2132)

Louthrax's picture

24-07-2017, 22:18

Grauw wrote:

Since only 8 sprites can be active on a line at most, in theory there should be a line available to adjust to.

Amazing, saved by the hardware limitations when trying to circumvent a hardware problem Smile Maybe the consecutive and occasionnal flickering on the top and bottom borders could be masked using scan-lines (reducing the vertical resolution with some black lines...).

Grauw wrote:

Calculating which line that is, is a different matter Big smile.

Aaargl, yeah, what a mess for a seemingly simple problem...

I'm currently playing Laydock (the first, I made it to the final boss of Laydock 2, had to check how playable the first occurence was). Never noticed any Y jumps in the sprites, but I'll try to pay more attention!

By ricbit

Champion (438)

ricbit's picture

24-07-2017, 22:44

On Aleste 2 the last line of the player sprite sometimes disappear for 1 frame. I can't say for the other sprites because my eye is always tracking the player ship Smile

By syn

Paragon (1930)

syn's picture

24-07-2017, 22:53

Aleste 2's ship jumps one line up, just played it to verify.

By Manel46

Champion (486)

Manel46's picture

24-07-2017, 23:50

Thanks ARTRAG, for the explanations, and also to all the others. Great knowledge of MSX programming, you all have.
Excellent response to all issues raised, Grauw.
All this is easier with the VDP V9990. Smile Smile Smile

By Grauw

Ascended (8608)

Grauw's picture

25-07-2017, 00:14

ricbit wrote:

I can't say for the other sprites because my eye is always tracking the player ship Smile

Well, this is actually an important point I think Big smile. Not all sprites are equal!

By PingPong

Prophet (3493)

PingPong's picture

25-07-2017, 01:02

Thanks TMS VDP for that great and so stupid idea of magic hard coded Y sprite value. it's so stupid almost as is useless.

Thanks Yamaha engineers for maintained those stupid idea also on msx2 modes instead of keeping this crap only on msx1 for compatibility.
Thanks Yamaha engineers to have the idea of creating a decent VDP like V9990 by throwing in the bin all this TMS shit and starting from scratch.
V9990 is not only more performant, but its programming model is more clear and logical.

By Louthrax

Prophet (2132)

Louthrax's picture

25-07-2017, 01:29

PingPong wrote:

Thanks Yamaha engineers for maintained those stupid idea also on msx2 modes instead of keeping this crap only on msx1 for compatibility.

One day, I was playing Knightmare, I had a great idea: "Hey, it should be super easy to make a vdp(x)=vdp(x) or something to enable 8 sprites aligned with no flickering, that would be great, I have an MSX2 machine!". I then checked the different MSX books I had, to understand it was not possible. I was... disappointed Crying

By ARTRAG

Enlighted (6322)

ARTRAG's picture

25-07-2017, 09:24

Louthrax wrote:
PingPong wrote:

Thanks Yamaha engineers for maintained those stupid idea also on msx2 modes instead of keeping this crap only on msx1 for compatibility.

One day, I was playing Knightmare, I had a great idea: "Hey, it should be super easy to make a vdp(x)=vdp(x) or something to enable 8 sprites aligned with no flickering, that would be great, I have an MSX2 machine!". I then checked the different MSX books I had, to understand it was not possible. I was... disappointed Crying

Same here...
If only v9938 have had numbered color profiles to be referred in the sat, msx1 to msx 2 enhancement would have been trivial
As it is now anything has to be done bruteforce by the z80 or by the copy engine

Page 2/3
1 | | 3