full framerate scroll screen 5 (Development MSX Fora)MSX Resource Center PassionMSX MSX2 contest           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 125 gasten en 1 MSX vriend online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - full framerate scroll screen 5

Ga naar pagina ( Vorige pagina 1 | 2 | 3 | 4 )
Schrijver

full framerate scroll screen 5

ARTRAG
msx master
Berichten: 1592
Geplaatst: 07 Juli 2005, 11:18   
About the speed of the scroll
all depends on the size of the blocks you copy

you should be ready to copy smaller areas when you scroll 1pixel per frame
and large areres when you scroll 2pixels per frame

about border masking note that when you scroll 1pixel per frame:

1) you must use LOGICAL (i.e. SLOW) box fill for drawing a 1pixel wide black line on the left
2) you must use LOGICAL (i.e. SLOW) copy 1 pixel wide to copmpose the new line on the right

instead, when you scroll 2pixel per frame:

1) you can use byte (i.e. FAST) box fill for drawing a 2pixel wide black block on the left
2) you can use byte (i.e. FAST) copy (2 pixel wide) to copmpose the new line on the right



ARTRAG
msx master
Berichten: 1592
Geplaatst: 07 Juli 2005, 11:28   
Quote:

how many sprites would you advise to use for the masking?
would 1 be sufficient? (hmmmm, maybe this is a bit personal)



If you mean how many sprite planes I reserve, the answer is zero.
I am trying to have dynamic assigment of the sprite planes this means
that in same conditions I could have ugly results...
Naturally this implies also that I have to be ready to move all athe sprites
on one or two sprite planes on fly.

If you want reserve sprite planes the answer is:

it depends on how many sprites can cross the borders at the same time!!
bye
AR
GhostwriterP
msx addict
Berichten: 305
Geplaatst: 07 Juli 2005, 12:21   
Quote:

Spritesplit:
And as soon as that starts I load my new spritetables (exept the ship, 2 options, 1 missile and 9 bullets) into VRAM, And the colorsettings, and the possitions.

This is what the spritesplit comes down to, right?


No, rewriting the SPAT in the inturrupt is a BAD thing to do. For a spritesplit you need TWO SPATS and
you only rewrite the SPAT base regs on your splitline. Wich means you have to update both SPATS in
VBLANK period (1280 bytes total at most). I doubt you have time for that if you are building up the screen
in just 8 steps.
norakomi
msx professional
Berichten: 861
Geplaatst: 07 Juli 2005, 14:56   
2 SPATS !!!

CLEAR !! GOT IT !!!

Now I've done some Math (which I studied for 4 years, so, no sweat here).
I'm gonna do 16 steps, 1 pixel per step.
Screen height:192
scoreboard y=0 until y=24

gamescreen height: 192-24 = 168

In 14 steps I'm gonna do the scroll.
I scroll 12 pixels high (14*12=168)

Each one of these steps scrolls (16,height)-(226,height+12),p to (0,height),1-p

Which leaves step 15 to paste the new 16 x 168 pixel background

and step 16 to make a black box at the right edge of screen : (also 16 x 168 pixels)

Now the 14 first steps copy 224 x 12 = 2688 bytes
the 15th and 16th step copy 16 x 168 =2688 bytes

all steps copy 2688 bytes.

However on each step I have to copy 1 black line at the left end and 1 line new background at the right end (realtime in the active page).

This seems a perfect sollution which doesn't require total VDP consumption,

Each step can be called at the beginning of the interrupt.

o.k. another question.

I know that I should disable the sprites at y=192 and enable then again at y=24
Should I also disable the entire screen at y=192 and enable it again at y=0?????

Cheers !!


GhostwriterP
msx addict
Berichten: 305
Geplaatst: 07 Juli 2005, 15:22   
Quote:


Should I also disable the entire screen at y=192 and enable it again at y=0?????


No need for that, the VDP does that for you.
turbor
msx freak
Berichten: 172
Geplaatst: 25 Juli 2005, 23:12   
Could somebody here write some small test programs that show the distortion that shows up when adjusting register #18 while a copy is in progress?
I wrote some small tests but I didn't see anything happen.
I copied a black page, and then a full white page while constantly outing value 0 and later 255 using indirect register access to #18 but no corruption occurred in these 4 test cases.
Are there any conditions that I'm not aware of ?
Do I need direct #18 access?
Does the #18 change needs to be visible in the destination area?
The article at the MAP doesn't give more specifics...
Can somebody give me a (not) working example please.

ARTRAG
msx master
Berichten: 1592
Geplaatst: 26 Juli 2005, 00:19   
Do you use an emulator?
ro
msx guru
Berichten: 2320
Geplaatst: 26 Juli 2005, 08:05   
I never had such distortion too, it's prolly a hoax
turbor
msx freak
Berichten: 172
Geplaatst: 26 Juli 2005, 08:13   
Quote:

Do you use an emulator?


No, I had Manuel run it on the real stuff...
ARTRAG
msx master
Berichten: 1592
Geplaatst: 26 Juli 2005, 09:11   
Actually I remember in far 80's I saw a similar effect on my msx2 from philips
but I cannot say how or when...
Maggoo
msx professional
Berichten: 576
Geplaatst: 26 Juli 2005, 10:06   
Quote:

Could somebody here write some small test programs that show the distortion that shows up when adjusting register #18 while a copy is in progress?
I wrote some small tests but I didn't see anything happen.
I copied a black page, and then a full white page while constantly outing value 0 and later 255 using indirect register access to #18 but no corruption occurred in these 4 test cases.
Are there any conditions that I'm not aware of ?
Do I need direct #18 access?
Does the #18 change needs to be visible in the destination area?
The article at the MAP doesn't give more specifics...
Can somebody give me a (not) working example please.



Distortions occur when updating Register 18 if sprites are disabled (don't ask me why). So make sure your sprites are enabled while doing the register update. This might slow down your copy commands tho...
ARTRAG
msx master
Berichten: 1592
Geplaatst: 26 Juli 2005, 11:50   
Magoo, you are playing with the VDP commands in vscreen...
You are trying to do what I think...
Maggoo
msx professional
Berichten: 576
Geplaatst: 26 Juli 2005, 19:03   
Quote:

Magoo, you are playing with the VDP commands in vscreen...
You are trying to do what I think...



Nope, didn't have time for that yet. On my TODO list

But that VDP bug is well known. I bumped into it years ago while making demos in the old IOD days
Grauw
msx professional
Berichten: 1002
Geplaatst: 02 September 2005, 00:55   
Quote:

Distortions occur when updating Register 18 if sprites are disabled (don't ask me why). So make sure your sprites are enabled while doing the register update. This might slow down your copy commands tho...


Oh, that’s interesting information. It would be a relatively easy workaround then, just temporarily enable the sprites (if it can be done per-line, but I think it can). It will make the copy slower while the sprites are enabled, yes.

Quote:

I never had such distortion too, it's prolly a hoax


No, I encountered it when I was creating a smooth scrolling for v9958. It involved copying large blocks while scrolling horizontally, and I fixed it by making sure that the copy was not executed while the scrolling was. That must’ve been about 3 years ago orso, and I never made an isolated testcase, or at least I didn’t save it. But turbor, maybe on the Bussum fair (if you attend) you can ask me about it, I think I still have the source of that routine and I can mess it up a little.


~Grauw
BiFi
msx guru
Berichten: 3142
Geplaatst: 02 September 2005, 07:03   
And putting the scrolling itself on the vblank interrupt helps as well.
 
Ga naar pagina ( Vorige pagina 1 | 2 | 3 | 4 )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.