Sprites (Development MSX Fora)MSX Resource Center            
            
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 65 gasten en 2 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - Sprites

Ga naar pagina ( 1 | 2 | 3 Volgende pagina )
Schrijver

Sprites

IC
msx professional
Berichten: 538
Geplaatst: 27 Mei 2004, 23:41   
usually sprites can be defines by 8*8 patterns or 16*16 patterns (depending on the REG#1 bit 1).
If screen 5 is used, the V9938 is set to sprite mode 2.
There can be 8 sprites (of 16*16) on one line. Every sprite has it's own identifier (sprite number iirc)

I have written a sprite routine in assembly at the moment. , but one thing I do not get:
When I have 5 sprites on a row, the 4th sprite disapeares. Has anyone ever encoutered the same problem?

(I'm have no problem posting the source if this equired)

TIA
IC
flyguille
msx master
Berichten: 1223
Geplaatst: 28 Mei 2004, 00:07   
how you switch to screen 5?

in which x and y position it disappear?

you are sure that are not more sprites in that line, overall invisible sprites?
IC
msx professional
Berichten: 538
Geplaatst: 28 Mei 2004, 00:11   
I had defined screen 5 by using a bios call, and I tried a basic routine like:
10 screen 5:bload"sprites.bin",r
But there's no difference hear.

But by initialising screen 5, there should not be any sprites on screen (even not invisible). Or am I wrong about that?

flyguille
msx master
Berichten: 1223
Geplaatst: 28 Mei 2004, 00:16   
well, that program, only touch 5 or 8 sprites to use?

or that simply set a VRAM image?
IC
msx professional
Berichten: 538
Geplaatst: 28 Mei 2004, 00:21   
I just add the sprite tables in the VRAM (H7800) using screen 5 (I do not want to use onther screen at the moment). It's basicly a pattern dumped into VRAM.

IC
msx professional
Berichten: 538
Geplaatst: 28 Mei 2004, 00:22   
If I may add. It's a pattern combined with a color pattern (defined by SPE5 iirc (sprite genereator of AGE5))
IC
msx professional
Berichten: 538
Geplaatst: 28 Mei 2004, 00:24   
Now I think of it.. I'd might just clear all VRAM mem (using H7800 and above) and then add the sprite table.

Will try that tomorrow

flyguille
msx master
Berichten: 1223
Geplaatst: 28 Mei 2004, 00:41   
NO
all sprite by default are not in the Y position 0, for a sprite number will be disable, need be in Y = D9, or other number, i just not remember..... the number on SCREEN 5

So, if you are just erasing the VRAM with 00, and then touch only few sprite attributes, so that is wrong....

because on the lines 0 - 15 are almost 25 sprites at the same Y position.

Other thing can be that are just using SCREEN 5 but the sprite engine 1, and not the advance that got the screen 5 by default on MSX. So, you are seeing the multicolored sprites?
Maggoo
msx professional
Berichten: 590
Geplaatst: 28 Mei 2004, 07:19   
Quote:

Now I think of it.. I'd might just clear all VRAM mem (using H7800 and above) and then add the sprite table.

Will try that tomorrow



Can you post a snip of your code to see how it works ? Flyguile, it's not possible to be in screen5 and sprite mode 1. Screen5 is "Always" sprite mode 2.
[D-Tail]

msx guru
Berichten: 3019
Geplaatst: 28 Mei 2004, 08:33   
According to the Yamaha/ASCII tech manual --> The Y-position of a sprite must be 216 (=#D8) to disable them. That is, using sprite mode 2. In sprite mode 1, it's 208, so #D0.
ro
msx guru
Berichten: 2346
Geplaatst: 28 Mei 2004, 08:48   
dude:

First clear the sprite VRAM table (which may vary, if you used default; you should indeed clear #7800-#7fff)

If you used Spen5 (T&E editor) and used double line colour trick, then every sprite is build up using 2(!) sprites which would fit the discription of disappearing sprites when using more than 4 on a row. (get it?)

I've written some excellent articles (if I may say so) myself like yeeeears ago explaining Sprite stuff in detail (using ASM examples) (including vram base adr. attribs etc etc)
maybe I should translate'm to english (org = dutch) and post them somewhere (map?) cuz too many ppl have too many questions about this subject
BiFi
msx guru
Berichten: 3142
Geplaatst: 28 Mei 2004, 09:07   
People tend to confuse real coordinates and 'sprite coordinates', especially as the sprites are generated 1 line later than their coordinates state.

Disabling a sprite will also disable all sprites with a lower priority. This means if you set sprite 10 on the disable coordinate as posted by [D-Tail], that sprite 10, 11, 12, 13, ..., 31 will disappear as well. So to prevent 'ghost-sprites' from display, be sure the next sprite is set on Y=208 for sprite mode 1 (SCREEN 1, 2, 3) or Y=216 for sprite mode 2 (SCREEN 4, 5, 6, 7, 8, 10, 11, 12).

Also, the sprite size setting does not affect the number of sprites that can be displayed on a single line. It only affects the number of sprite patterns you can store in the pointed 2KB space.

Which issues like these, it's always useful to post the (relevant) source.
BiFi
msx guru
Berichten: 3142
Geplaatst: 28 Mei 2004, 09:08   
The MAP is a very good place for such articles, ro. We (the MAP team) await your contribution.
ro
msx guru
Berichten: 2346
Geplaatst: 28 Mei 2004, 14:47   
damn, beef. now you got me. Do I HAVE to translate for MAP?
(oh well.. I'll pick that task up next week I hope... when my goddamn PC is up and running again!! )
flyguille
msx master
Berichten: 1223
Geplaatst: 28 Mei 2004, 15:45   
Y=208 (sprite1) , is for disable all sprites with low priority..

Y=209 (sprite 1), is for disable only THE sprite that has that Y


 
Ga naar pagina ( 1 | 2 | 3 Volgende pagina )
 







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