RE: coding question (again)

2000-05-02 Thread Frits Hilderink

 
 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)

2000-05-02 Thread David Heremans

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)

2000-05-02 Thread David Heremans

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)

2000-05-01 Thread Maarten ter Huurne

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