Welcome, Guest. Please login or register.

Author Topic: Find what is causing GURU 8000003  (Read 5800 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline bbond007Topic starter

  • Hero Member
  • *****
  • Join Date: Mar 2009
  • Posts: 1517
    • Show only replies by bbond007
Re: Find what is causing GURU 8000003
« Reply #14 from previous page: March 09, 2012, 12:05:43 AM »
Quote from: Gilloo;682909
hu... you put beer into your structs :-) to make them growing but no overfilled.

when you use registers options, do you include prototypes in your programs ?
Like that:

/* C standards */
#include

/* Amiga specifics */
#include

/* Protos */
#include
#include

int main(int argc, char *argv[])
{
 /* ... */
}

I got it to work, it was some dialog requester source i used and modified that used K&R style function headers... it did not like that.. changed the public facing ones to the more contemporary format and it linked.

thanks!
 

Offline bbond007Topic starter

  • Hero Member
  • *****
  • Join Date: Mar 2009
  • Posts: 1517
    • Show only replies by bbond007
Re: Find what is causing GURU 8000003
« Reply #15 on: March 09, 2012, 12:18:29 AM »
Quote from: Piru;682988
This is what InitArea autodoc says:


The multiplier must be 5. It has nothing to do with display bits per pixel.


oh, thanks for clarifying that. I think I'm guilty of not reading the docs. I wonder why 5?

Anyway, the interesting thing was I was getting the corruption on every object, and the vast majority of the objects were comprised of triangles, that 1024 would would have allowed for 170.

I had it set to 1024 so I'm just surprised I had any sort of error detected at all. I'm certainly not complaining.

Thanks!
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Find what is causing GURU 8000003
« Reply #16 on: March 09, 2012, 12:44:59 AM »
Quote from: bbond007;682994
I wonder why 5?
The buffer provided to InitArea is split into two arrays 1) flag table and 2) vector table.

Flag table is byte array, while vector table holds SHORTs (x, y). This gives you the multiplier of 5 (2 * sizeof(SHORT) + sizeof(UBYTE)).

Ellipse consumes two entries, move and draw one, except when closing a polygon, in which case extra entry for the final draw is added. There are also some internal optimization where unnecessary moves are removed.
 

Offline bbond007Topic starter

  • Hero Member
  • *****
  • Join Date: Mar 2009
  • Posts: 1517
    • Show only replies by bbond007
Re: Find what is causing GURU 8000003
« Reply #17 on: March 09, 2012, 01:00:50 AM »
Quote from: Piru;682999
The buffer provided to InitArea is split into two arrays 1) flag table and 2) vector table.

Flag table is byte array, while vector table holds SHORTs (x, y). This gives you the multiplier of 5 (2 * sizeof(SHORT) + sizeof(UBYTE)).

Ellipse consumes two entries, move and draw one, except when closing a polygon, in which case extra entry for the final draw is added. There are also some internal optimization where unnecessary moves are removed.


Interesting... TmpRas seems pretty logical knowing a little how the blitter works, but I was pretty sketchy about the purpose of AreaBuffer...

thanks.