[comp.sys.amiga.tech] BltMaskBitMapFlippinRastPort

a976@mindlink.UUCP (Ron Tarrant) (01/21/91)

> hollasch@ENUXHA.EAS.ASU.EDU writes:
> 
>     Screen & window creation, RectFill()'s, WritePixel()'s, ClipBlit()'s,
> all work fine.  The only problem is that BltMaskBitMapRastPort() doesn't
> seem to work on his machine.
> 
>     Does anybody out there have any experience with that function?  Any
> ideas why it doesn't work?  By the way, I used AllocRaster() to allocate
> the bitplanes for the source bitmap, and on his machine the bitplane
> addresses are all in chip memory (they're all below $00100000).
> 
>     Any ideas?
> 
> _______________________________________________________________________
> _______
> Steve Hollasch                /      Arizona State University (Tempe,
> Arizona)
> hollasch@enuxha.eas.asu.edu  / uunet!mimsy!oddjob!noao!asuvax!enuxha!hollasch


Have you checked to make sure the data for your "stones" is also in
chip memory?

-Ron Tarrant
a976@Mindlink.UUCP

ps - sometimes even the best of computer repairmen forget to plug the thing in
before testing.

hollasch@ENUXHA.EAS.ASU.EDU (Steve Hollasch) (01/22/91)

    I'm working on a program that places pieces on a playing board (for the
game of Go).  To place a piece on the playing board, I do the following:

    1)  Clear the piece location to the board color (RectFill).
    2)  Slap down the piece shadow.
    3)  Slap down the board lines.
    4)  Slap down the stone.

    Steps 2-4 are done via BltMaskBitMapRastPort(), where the pieces are
slapped on the screen through a stencil.

    The problem is that everything works fine on my Amiga 1000, 512k,
standard everything, but doesn't work on my friend's Amiga 1000, 2.5M,
68020, 68881.

    I compiled a test program to find out the differences, and here's what
I found:

    Screen & window creation, RectFill()'s, WritePixel()'s, ClipBlit()'s,
all work fine.  The only problem is that BltMaskBitMapRastPort() doesn't
seem to work on his machine.

    Does anybody out there have any experience with that function?  Any
ideas why it doesn't work?  By the way, I used AllocRaster() to allocate
the bitplanes for the source bitmap, and on his machine the bitplane
addresses are all in chip memory (they're all below $00100000).

    Any ideas?

______________________________________________________________________________
Steve Hollasch                /      Arizona State University (Tempe, Arizona)
hollasch@enuxha.eas.asu.edu  /  uunet!mimsy!oddjob!noao!asuvax!enuxha!hollasch

a976@mindlink.UUCP (Ron Tarrant) (01/22/91)

> hollasch@ENUXHA.EAS.ASU.EDU writes:
> 
>     Your reply kept bugging me for quite some time; it couldn't be that
> because I used AllocRaster() for the source bitmap.  It finally hit me
> that the stencil bitmap was a _static_array_ (and hence not in chip memory
> on my friend's machine).
> 
>     Here are my revised rules of debugging and wrenching:
> 
>     (1)  Start simple.
>     (2)  See rule (1).
>     (3)  No, really, damn it, see rule (1)!
>     (4)  [New]  Take a break, then resume at (1).
> 
> _______________________________________________________________________
> _______
> Steve Hollasch                /      Arizona State University (Tempe,
> Arizona)
> hollasch@enuxha.eas.asu.edu  / uunet!mimsy!oddjob!noao!asuvax!enuxha!hollasch


Glad I could be of some help. :-)
Those are great rules. Mine are similar except for #2 "KEEP it simple".
-Ron Tarrant
a976@Mindlink.UUCP

jesup@cbmvax.commodore.com (Randell Jesup) (01/23/91)

In article <9101220737.AA01041@enuxha.eas.asu.edu> hollasch@enuxha.eas.asu.edu (Steve Hollasch) writes:
>    The problem is that everything works fine on my Amiga 1000, 512k,
>standard everything, but doesn't work on my friend's Amiga 1000, 2.5M,
>68020, 68881.

>    Screen & window creation, RectFill()'s, WritePixel()'s, ClipBlit()'s,
>all work fine.  The only problem is that BltMaskBitMapRastPort() doesn't
>seem to work on his machine.

	Since BMBMRP works on all Amiga's, I would suspect the '020 hack
he added is causing problems (maybe by caching chip memory).  You should send
your test program with a detailed report to bugs@cbmvax.commodore.com, and
if possible first test it on a 2500 or 3000.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
The compiler runs
Like a swift-flowing river
I wait in silence.  (From "The Zen of Programming")  ;-)