English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language > Coders. Blitz Basic

 
 
Thread Tools
Old 03 November 2022, 17:41   #1
AmiNju
Registered User
 
Join Date: Mar 2020
Location: Duesseldorf / Germany
Posts: 32
AB3: Graphic errors with P96 driver

I released the puzzle game „Connect“ few weeks ago and I am now sitting on a problem that is difficult for me to understand due to some feedback.

As you can see from the attached pictures, graphics errors occur when a P96 driver is installed. It doesn't matter from which screenmode the game is started, these graphic errors appear. If I don't load the P96 drivers, for example because I don't load the S-S (or deinstall the drivers), the game has no graphic errors at all.

It is written in AmiBlitz3. It uses a LowRes screenmode with 5 bitplanes and uses the standard commands of the Display Library to display the graphics (but the problems also occur with slice methods). And I use BlitzMode.

Honestly, I'm loss and don't know where else to look. I really don't do anything exotic and somehow it's only my AB3-game that has these problems. Does anyone have a spontaneous idea or can tell from experience what it could be (or what I should check)?

Thank you very much!
Attached Thumbnails
Click image for larger version

Name:	issue1.png
Views:	58
Size:	21.1 KB
ID:	76978   Click image for larger version

Name:	issue3.png
Views:	47
Size:	16.2 KB
ID:	76979   Click image for larger version

Name:	issue4.png
Views:	52
Size:	30.8 KB
ID:	76980  
AmiNju is offline  
Old 03 November 2022, 18:42   #2
Predseda
Puttymoon inhabitant
 
Predseda's Avatar
 
Join Date: Mar 2007
Location: Tromaville
Age: 46
Posts: 7,546
Send a message via ICQ to Predseda
Yes, I discovered something similar. When "native" P96 monitor is in Devs:monitors, Deluxe Paint (both AGA and non-AGA) brush function is totally broken. When I remove that monitor, DPaint works fine.
Predseda is online now  
Old 03 November 2022, 20:00   #3
AmiNju
Registered User
 
Join Date: Mar 2020
Location: Duesseldorf / Germany
Posts: 32
Okay, I took the game apart again and got stuck in my "text generator". This function does the following:

I pass the text generator any text I want it to blit onto the screen. This is done via the following loop, which roughly does the following:

<loop begin>
GetAShape from an area outside of the visible screen (GetAShape)
Blit the new generated shape inside the visible screen (Blit)
<Loop end>

If I now make a VWait after the Blit inside the loop, these graphic errors do NOT occur. If I remove the VWait again, these graphic errors occur.

Is it possible that my loop is simply too fast for the blitter? If so, how can I wait for the blitter to finish blitting bevor I override the shape?

A VWait is not a solution, because that is simply too slow.
AmiNju is offline  
Old 03 November 2022, 20:18   #4
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,348
Getashape can cause graphical errors - you'll know this is the source and not the blitting operation because when you blit the same shape multiple times, the corruption each time is identical. I've found this with fast CPUs - I need to disable the cache on '060 machines for example and re-enable it after I've generated all my shapes so that I can reliably use Getashape. I've also found issues using commands like CLS to clear bitmaps - if you do any other graphical operations before it's finished, you get corruption as it appears the job is interrupted and left unfinished. I suspect having P96 installed is patching certain functions that mean you're hitting the same issue. Inserting a VWait slows everything down and avoids the situation, but try turning off CPU caches and see if that solves the issue. Alternatively, see if using the Scroll command to copy a chunk directly without creating an intermediate shape fixes it. It's probably quicker too.
Daedalus is offline  
Old 03 November 2022, 20:31   #5
AmiNju
Registered User
 
Join Date: Mar 2020
Location: Duesseldorf / Germany
Posts: 32
@Daedalus
I can disable the cache over tooltypes, can't? Or do you mean I can disable the cache via AB3?

Anyway I will rewrite the textgenerator to avoid GetAShape.

Thank you for your explanation!


Thank you Predseda, too!

Last edited by AmiNju; 03 November 2022 at 20:48.
AmiNju is offline  
Old 03 November 2022, 21:04   #6
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,348
You can do it in your program with a couple of OS calls, but to test temporarily, you can use the CPU command in a Shell to turn off the CPU caches and then try running your program.

Glad you're sorted anyway
Daedalus is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Retina Zorro II version just got P96 driver utri007 News 4 26 May 2022 01:48
P96 3.3.0 UAEgfx driver crash hexaae support.WinUAE 30 29 April 2022 06:54
Window P96 "card" driver? kolla Coders. System 1 24 October 2017 23:18
Apano Sin graphic errors Condor-2-4-2 support.WinUAE 6 17 October 2017 14:52
OpenPCI-Permedia2 P96-Driver Ratte News 0 23 February 2015 11:00

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 21:15.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07216 seconds with 16 queries