Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Hollywood MAL AMIStore App Store A600 Memory

AuthorTopic: Find what is causing GURU 8000003  (Read 2122 times)

0 Members and 1 Guest are viewing this topic.

Offline 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
  • Total likes: 0
    • 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 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.