If I disable the sprites while they are allready on the screen. Will they immediatly be cleared from view or will they just sit there doing nothing?
Login or register to post comments
If I disable the sprites while they are allready on the screen. Will they immediatly be cleared from view or will they just sit there doing nothing?
They'll sit there until that screen coordinate is drawn again by the raster. IOW, they will sit there for 1/60 second. (1/50 second on European machines)
IIRC the sprites will disappear after few pixels from wher you have reset the bi in the vdp register
You can use this in screen splits to have sprites going under the scorebar
thank your for your awnser
I was expecting something like that which is good news in my case. Just to verify: If I disable sprites directly after interrupt and then do a HMMV copy I get the high speed of the copy and still see the sprites as long as I reenable the sprites before the next interrupt occurs?
@Daemos.
Things go at the granularity of one scanline.
A blit takes dozens scanlines.
Turning sprites off would randomly wipe sprites in a dozen scanlines.
If you can make sure that the blit every frame appears in a different time in the frame, i.e. sprite disappearance in a different screen area every frame, the result could qualify as flicker 
But as long as blitter takes when you really do something with it, to be expected is "the game has permanent fullscreen flicker".
But this is getting me into something...
If the game runs on 60Hz, you could make the top and bottom border bigger with blanking.
This would make the blitter go faster! (if it is running that time)
The 60Hz machine is burdened by less blank time.
On the other hand, display is stretched out more verticaly.
60Hz display area is 4:3, 50Hz display area is 16:9.
If your screen arrangement can take it, you could snip the 60hz version to 16:9.
192 lines on 50Hz happen to be precisely fullscreen when stretched out to 16:9
(a stretch not ditching pixel ratio, on top and bottom something is snipped, exactly the borders)
Then a screen 4 game could snip nametable copy to 5/6 of the work.
Screen 5 scroller has 5/6 blittercopy and borderfill etc. And additionaly faster blitter by increased blank time.
Taking it to extreme e.g. in streetfighter,
on 60Hz one could use softwaresprites less high by a factor of 5/6.
But that only goes nice when one has the possibility to antialiased resample the images.
p.s. @ARTRAG, your engine with the big top display panel, a bit of top border blanking maybe doesn't hurt. Then you got more time where you can copy things plain outi.
thank your for your awnser
I was expecting something like that which is good news in my case. Just to verify: If I disable sprites directly after interrupt and then do a HMMV copy I get the high speed of the copy and still see the sprites as long as I reenable the sprites before the next interrupt occurs?
Only if you disable them while the screen is being drawn… I don’t think it will make a difference if you disable sprites during the vertical blank between lines 212 and 0.
Probably VDP commands are already quite a bit faster in the vertical blanking period, similar to when the screen is disabled. I haven’t confirmed this through measurements, but from what I know about how the VDP allocates time to command execution, this is what I would expect.
To maximise use of this “turbo” interval (
), you would want to ensure the VDP is never idle during this period and execute your copies directly after or right before line 212, before the (rather lengthy) regular interrupt handling occurs. Perhaps even delay regular interrupt execution until after the vertical blank ends, so you can do as many back-to-back copies as you can.
Don't you have an account yet? Become an MSX-friend and register an account!
