Why can't the MSX display more than 4 sprites in a row? (Hardware MSX Forum)MSX Resource Center               
              
English Nederlands Espa�ol Portugu�s Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 38 guests and 4 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

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

Goto page ( 1 | 2 Next Page )
Author

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

LeandroCorreia
msx addict
Posts: 454
Posted: November 23 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
Posts: 1262
Posted: November 23 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
Posts: 1
Posted: November 23 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
Posts: 454
Posted: November 23 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
Posts: 1006
Posted: November 23 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
Posts: 454
Posted: November 23 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
Posts: 1225
Posted: November 23 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
Posts: 454
Posted: November 23 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
Posts: 1225
Posted: November 23 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
Posts: 454
Posted: November 23 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
Posts: 2269
Posted: November 23 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
Posts: 3545
Posted: November 23 2004, 20:43   
Not useful? Play Aleste 2 and check again!
IC
msx professional
Posts: 538
Posted: November 23 2004, 21:12   
I think sonic is only satisfied when he has 65535 colors at his disposal
Grauw
msx professional
Posts: 1006
Posted: November 23 2004, 22:13   
Sprites are extremely useful!
wolf_

msx legend
Posts: 4780
Posted: November 23 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.
 
Goto page ( 1 | 2 Next Page )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.