RE: coding question (again)
Also make sure that you're sprites allow to be tested for collission. In sprite mode 2 you want to disabled collission detection for sprites you use to create the extra (OR-ed) color. Are you sure about that ? An 'OR-ed' sprite always overlaps with it self. Does this overlapping with it self set the collission bit and the X-Y coordinate where it happened ? It would make no sense. David Heremans Frits Hilderink wrote: Someone else read S#0 before you did. Most probably the standard interrupt routine. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of sander Niessen Sent: Monday, May 01, 2000 4:34 PM To: [EMAIL PROTECTED] Subject: coding question (again) Hi ppl, When you have a sprite collission. The fifth bit of status register 0 (S#0) should be set. But when I try to read this bit it always (even when i place two sprites on the same position) not set, zero. How come! Help! Sander Niessen -- .--. |o_o | |:_/ | "One difference between SuSE and Red Hat is that the // \ \ former operates in a country where people don't sue (| | ) each other over coffee being too hot." /'\_ _/`\ Linus Torvalds \___)=(___/ MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet
Re: coding question (again)
Also make sure that you're sprites allow to be tested for collission. In sprite mode 2 you want to disabled collission detection for sprites you use to create the extra (OR-ed) color. David Heremans Frits Hilderink wrote: Someone else read S#0 before you did. Most probably the standard interrupt routine. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of sander Niessen Sent: Monday, May 01, 2000 4:34 PM To: [EMAIL PROTECTED] Subject: coding question (again) Hi ppl, When you have a sprite collission. The fifth bit of status register 0 (S#0) should be set. But when I try to read this bit it always (even when i place two sprites on the same position) not set, zero. How come! Help! Sander Niessen -- .--. |o_o | |:_/ | "One difference between SuSE and Red Hat is that the // \ \ former operates in a country where people don't sue (| | ) each other over coffee being too hot." /'\_ _/`\ Linus Torvalds \___)=(___/ MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet
Re: coding question (again)
Recalling from memory ( I don't have the tech docs here and has been a while...) To create the OR-ed colored sprite, "the one with three colors", you actually use two hardware sprites. One is used as a normal sprite. The other, second hardware, sprite is set to be ORed with the first one. For this second hardware sprite the collision dection has to be turned off. So Sprite dection occurs with respect to the first sprite, not to the second one. Ofcourse you have to make sure that the sprite with the most "outward" pixels is the one that will be collission detected. It is even possible to overlay tree hardware sprites and create a "gamesprite" that uses 7 colors. The color-Oring has priority based. If i'm not mistaken the color will be ORed with sprites of a lower number(= higher priority) although I'm not sure. Maybe it is the oposite, you should check this. The ORing and collission detection are just bits that can be set in one of the sprite-tables David Heremans Frits Hilderink wrote: Also make sure that you're sprites allow to be tested for collission. In sprite mode 2 you want to disabled collission detection for sprites you use to create the extra (OR-ed) color. Are you sure about that ? An 'OR-ed' sprite always overlaps with it self. Does this overlapping with it self set the collission bit and the X-Y coordinate where it happened ? It would make no sense. David Heremans Frits Hilderink wrote: Someone else read S#0 before you did. Most probably the standard interrupt routine. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of sander Niessen Sent: Monday, May 01, 2000 4:34 PM To: [EMAIL PROTECTED] Subject: coding question (again) Hi ppl, When you have a sprite collission. The fifth bit of status register 0 (S#0) should be set. But when I try to read this bit it always (even when i place two sprites on the same position) not set, zero. How come! Help! Sander Niessen -- .--. |o_o | |:_/ | "One difference between SuSE and Red Hat is that the // \ \ former operates in a country where people don't sue (| | ) each other over coffee being too hot." /'\_ _/`\ Linus Torvalds \___)=(___/ MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet -- .--. |o_o | |:_/ | "One difference between SuSE and Red Hat is that the // \ \ former operates in a country where people don't sue (| | ) each other over coffee being too hot." /'\_ _/`\ Linus Torvalds \___)=(___/ MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet
Re: coding question (again)
On Mon, 01 May 2000, sander Niessen wrote: When you have a sprite collission. The fifth bit of status register 0 (S#0) should be set. But when I try to read this bit it always (even when i place two sprites on the same position) not set, zero. How come! A few guesses: (I think the last one is most likely your problem, but I only thought of it after I typed all the others; I didn't delete them just in case) - Do the sprite patterns actually overlap? It is not enough if the coordinates overlap. - Is sprite display enabled? If sprite display is disabled, sprite collisions do not occur. - Is collision detect enabled for this sprite? In MSX2 video modes, collision detect can be disabled by setting bit 5 of the same byte that holds the color. - Do you use the OR merging of sprite colors? This feature disables collision detection. - When is S#0 read? The collision flag is reset after each S#0 read. Note that the MSX BIOS interrupt handler reads S#0. Maybe the BIOS stores this value somewhere. If not, you must either read it before the MSX BIOS does (#FD9A interrupt hook may work, not sure though) or use your own BIOS. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put "unsubscribe msx [EMAIL PROTECTED]" (without the quotes) in the body (not the subject) of the message. Problems? contact [EMAIL PROTECTED] More information on MSX can be found in the following places: The MSX faq: http://www.faq.msxnet.org/ The MSX newsgroup: comp.sys.msx The MSX IRC channel: #MSX on Undernet