Why can't the MSX display more than 4 sprites in a row? (Hardware MSX Fora)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
            
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 139 gasten en 1 MSX vriend online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Hardware - Why can't the MSX display more than 4 sprites in a row?

Ga naar pagina ( 1 | 2 Volgende pagina )
Schrijver

Why can't the MSX display more than 4 sprites in a row?

LeandroCorreia
msx addict
Berichten: 449
Geplaatst: 23 November 2004, 13:32   
Yes, the MSX has hardware built-in sprites, but why can't it display more than 4 sprites in a row?
This problem also appears in other systems with sprites, such as Capcom CPS1 arcade games... Why does this limitation exists?
AuroraMSX

msx master
Berichten: 1227
Geplaatst: 23 November 2004, 13:50   
My guess would be that it's a matter of calculation power: the VDP just isn't fast enough to process more sprite data within the time it has to calculate one video line (or frame)
PalmPal
msx friend
Berichten: 1
Geplaatst: 23 November 2004, 14:28   
In a newsgroup posting by Paul Urbanus, he showed a nice calculation about the timings: it seemed that 8 cycles were not enough for a 5 th sprite.
The exact calculations can be found here:
groups.google.com/groups?safe=images&ie=UTF-8&as_umsgid=32F28691.2ADC@onramp.net&lr=&hl=en
LeandroCorreia
msx addict
Berichten: 449
Geplaatst: 23 November 2004, 15:13   
So the VDP tries to display the fifth sprite. It's just not fast enough to display it in time?
Grauw
msx professional
Berichten: 1002
Geplaatst: 23 November 2004, 16:25   
Leandro: no, it knows it is not fast enough to display a 5th sprite, so it will not attempt to and instead set a bit in the status register that it reached its max.
LeandroCorreia
msx addict
Berichten: 449
Geplaatst: 23 November 2004, 16:50   
And how the sprites mechanism works? The VDP verifies line by line if there's a sprite in that row and then draws it?

flyguille
msx master
Berichten: 1182
Geplaatst: 23 November 2004, 17:53   
that way, the VDP has a line buffer, idd TWO, so it draws all the line before to send. So, when it fills one line buffer, the other line is sending.


LeandroCorreia
msx addict
Berichten: 449
Geplaatst: 23 November 2004, 18:28   
And in games like Golvellius, Gulkave or Final Zone, for example... I don't know Assembly, but I am sure that the program keeps swapping sprites priority numbers on the fly, and when there are more then 4 sprites in a row, they flicker (flickering is better than vanishing). Grauw said that the VDP sets a status bit to remind that it already reached its maximum number of sprites. Can the programmer check this bit status, allowing him to swap priority sprite numbers only when there are more than 4 sprites in a row?
flyguille
msx master
Berichten: 1182
Geplaatst: 23 November 2004, 18:30   
yeah, it can, it is in the status register, and not only that, also gives the first sprited that didn't fit.
LeandroCorreia
msx addict
Berichten: 449
Geplaatst: 23 November 2004, 18:42   
Interesting, Flyguille.

Many years ago, I pressed some cheat keys in Wonderboy, and the game started without collision detection. Very useful to avoid enemies, but also nasty because you had no way to recharge your energy with items. Anyway, when I stepped over an item, I noticed that the game kept swapping sprites priority numbers. Probably the programmers were not aware of the VDP "reached 4 sprites" bit.

P.S.: If I remember it right, you must press H+U+D+S+O+N at the opening screen.
Sonic_aka_T

msx guru
Berichten: 2261
Geplaatst: 23 November 2004, 20:18   
Well, the 'reached 4 sprites' bit is pretty common. I would guess that any programmer, especially back then, would've know about it. If you read up on sprites, it's probably one of the first things you'll learn. With MSX2 this got increased to 8 sprites, but that unfortunately is still to little for sprite modes to be truly useful... *Sigh* If only they had been full-color sprites... *sigh*
manuel
msx guru
Berichten: 3368
Geplaatst: 23 November 2004, 20:43   
Not useful? Play Aleste 2 and check again!
IC
msx professional
Berichten: 538
Geplaatst: 23 November 2004, 21:12   
I think sonic is only satisfied when he has 65535 colors at his disposal
Grauw
msx professional
Berichten: 1002
Geplaatst: 23 November 2004, 22:13   
Sprites are extremely useful!
wolf_

msx legend
Berichten: 4629
Geplaatst: 23 November 2004, 22:49   
Sprites on msx require good design .. Space Manbow is an excellent example of this. It's all a matter of designing paths that avoid getting situations with more than 4 or 8 sprites on a row.
 
Ga naar pagina ( 1 | 2 Volgende pagina )
 







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