CreateSprite stalls

Mac OSX specific forum
jamirokwai
Enthusiast
Enthusiast
Posts: 798
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

CreateSprite stalls

Post by jamirokwai »

Hi there,

working with PB 6.02 ARM, C Backend on my MacBook M2. This code stalls at the CreateSprite()-function.

Code: Select all

InitSprite()
OpenScreen(1280, 800, 32, "bla")
msCurs = CreateSprite(#PB_Any, 64, 64)
Debug mscurs
Regards,
JamiroKwai
infratec
Always Here
Always Here
Posts: 7618
Joined: Sun Sep 07, 2008 12:45 pm
Location: Germany

Re: CreateSprite stalls

Post by infratec »

Also with 5.73 on Intel iMac 27"

So it has nothing to do with C backend.
User avatar
Shardik
Addict
Addict
Posts: 2060
Joined: Thu Apr 21, 2005 2:38 pm
Location: Germany

Re: CreateSprite stalls

Post by Shardik »

jamirokwai's example code indeed doesn't respond anymore after exexcution in the IDE on my iMac 2019 27'' with Intel i5-8500 processor on MacOS 13.5 'Ventura' and PB 6.02 with Asm and C backend. But his code has two shortcomings: it doesn't test the return value of InitSprite() and OpenScreen(). When running this code from PB's help for listing all supported screen resolutions on my Mac hardware, I had to find out that 1280x800 isn't supported:

Code: Select all

InitSprite()

If ExamineScreenModes()
  While NextScreenMode()
    Debug Str(ScreenModeWidth())+"x"+Str(ScreenModeHeight())+"x"+Str(ScreenModeDepth())+"@"+Str(ScreenModeRefreshRate())+"Hz"
  Wend
EndIf

When changing the screen resolution from 1280x800 (unsupported) to 1280x720 (supported), jamirokwai's example runs like a charm!

This modified example displays an error message if InitSprite() or OpenScreen() fails:

Code: Select all

If InitSprite() = 0
  MessageRequester("Error", "InitSprite() failed!")
Else
; If OpenScreen(1280, 800, 32, "bla") = 0 ; Not supported on my iMac 2019 27''!
  If OpenScreen(1280, 720, 32, "bla") = 0 ; Supported on my iMac 2019 27''
    MessageRequester("Error", "OpenScreen() failed!")
  Else
    msCurs = CreateSprite(#PB_Any, 64, 64)
    Debug mscurs
  EndIf
EndIf
jamirokwai
Enthusiast
Enthusiast
Posts: 798
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: CreateSprite stalls

Post by jamirokwai »

Thanks for the info, shardik!

I found 1280x800x60 in the list you also provided the code for.
So, the bug/error lies in OpenScreen()?
Regards,
JamiroKwai
mrbungle
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Dec 30, 2020 3:18 am

Re: CreateSprite stalls

Post by mrbungle »

Confirmed. This may be related to M1/M2 macs.
jamirokwai
Enthusiast
Enthusiast
Posts: 798
Joined: Tue May 20, 2008 2:12 am
Location: Cologne, Germany
Contact:

Re: CreateSprite stalls

Post by jamirokwai »

I changed the code for examining screen modes. After some flickering... See the table. X means, it works.
It's on my MacBook Pro M2.Working modes start with 1920x1200.

Don't know. Is this a bug? Not really...
Or do I really have to check all modes until I find the smallest one working :-(

Code: Select all

InitSprite()
If ExamineScreenModes()
  While NextScreenMode()
    wide = ScreenModeWidth()
    high = ScreenModeHeight()
    If OpenScreen(wide, high, 32, "test") = 0
      Debug "-" + Str(wide)+"x"+Str(high)+"x"+Str(ScreenModeDepth())+"@"+Str(ScreenModeRefreshRate())+"Hz"
    Else
      Debug "x" + Str(wide)+"x"+Str(high)+"x"+Str(ScreenModeDepth())+"@"+Str(ScreenModeRefreshRate())+"Hz"
      CloseScreen()      
    EndIf
  Wend
EndIf

Code: Select all

-960x600x32@120Hz
-960x600x32@60Hz
-960x600x32@59Hz
-960x600x32@50Hz
-960x600x32@48Hz
-960x600x32@47Hz
-1024x640x32@120Hz
-1024x640x32@60Hz
-1024x640x32@59Hz
-1024x640x32@50Hz
-1024x640x32@48Hz
-1024x640x32@47Hz
-1024x665x32@120Hz
-1024x665x32@60Hz
-1024x665x32@59Hz
-1024x665x32@50Hz
-1024x665x32@48Hz
-1024x665x32@47Hz
-1147x716x32@120Hz
-1147x716x32@60Hz
-1147x716x32@59Hz
-1147x716x32@50Hz
-1147x716x32@48Hz
-1147x716x32@47Hz
-1147x745x32@120Hz
-1147x745x32@60Hz
-1147x745x32@59Hz
-1147x745x32@50Hz
-1147x745x32@48Hz
-1147x745x32@47Hz
-1280x800x32@120Hz
-1280x800x32@60Hz
-1280x800x32@59Hz
-1280x800x32@50Hz
-1280x800x32@48Hz
-1280x800x32@47Hz
-1352x845x32@120Hz
-1352x845x32@60Hz
-1352x845x32@59Hz
-1352x845x32@50Hz
-1352x845x32@48Hz
-1352x845x32@47Hz
-1352x878x32@120Hz
-1352x878x32@60Hz
-1352x878x32@59Hz
-1352x878x32@50Hz
-1352x878x32@48Hz
-1352x878x32@47Hz
-1512x945x32@120Hz
-1512x945x32@60Hz
-1512x945x32@59Hz
-1512x945x32@50Hz
-1512x945x32@48Hz
-1512x945x32@47Hz
-1512x982x32@120Hz
-1512x982x32@60Hz
-1512x982x32@59Hz
-1512x982x32@50Hz
-1512x982x32@48Hz
-1512x982x32@47Hz
-1800x1125x32@120Hz
-1800x1125x32@60Hz
-1800x1125x32@59Hz
-1800x1125x32@50Hz
-1800x1125x32@48Hz
-1800x1125x32@47Hz
-1800x1169x32@120Hz
-1800x1169x32@60Hz
-1800x1169x32@59Hz
-1800x1169x32@50Hz
-1800x1169x32@48Hz
-1800x1169x32@47Hz
x1920x1200x32@120Hz
x1920x1200x32@60Hz
x1920x1200x32@59Hz
x1920x1200x32@50Hz
x1920x1200x32@48Hz
x1920x1200x32@47Hz
x2048x1280x32@120Hz
x2048x1280x32@60Hz
x2048x1280x32@59Hz
x2048x1280x32@50Hz
x2048x1280x32@48Hz
x2048x1280x32@47Hz
x2048x1330x32@120Hz
x2048x1330x32@60Hz
x2048x1330x32@59Hz
x2048x1330x32@50Hz
x2048x1330x32@48Hz
x2048x1330x32@47Hz
x2294x1432x32@120Hz
x2294x1432x32@60Hz
x2294x1432x32@59Hz
x2294x1432x32@50Hz
x2294x1432x32@48Hz
x2294x1432x32@47Hz
x2294x1490x32@120Hz
x2294x1490x32@60Hz
x2294x1490x32@59Hz
x2294x1490x32@50Hz
x2294x1490x32@48Hz
x2294x1490x32@47Hz
x2560x1600x32@120Hz
x2560x1600x32@60Hz
x2560x1600x32@59Hz
x2560x1600x32@50Hz
x2560x1600x32@48Hz
x2560x1600x32@47Hz
x2704x1690x32@120Hz
x2704x1690x32@60Hz
x2704x1690x32@59Hz
x2704x1690x32@50Hz
x2704x1690x32@48Hz
x2704x1690x32@47Hz
x2704x1756x32@120Hz
x2704x1756x32@60Hz
x2704x1756x32@59Hz
x2704x1756x32@50Hz
x2704x1756x32@48Hz
x2704x1756x32@47Hz
x3024x1890x32@120Hz
x3024x1890x32@60Hz
x3024x1890x32@59Hz
x3024x1890x32@50Hz
x3024x1890x32@48Hz
x3024x1890x32@47Hz
x3024x1964x32@120Hz
x3024x1964x32@60Hz
x3024x1964x32@59Hz
x3024x1964x32@50Hz
x3024x1964x32@48Hz
x3024x1964x32@47Hz
Regards,
JamiroKwai
mrbungle
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Dec 30, 2020 3:18 am

Re: CreateSprite stalls

Post by mrbungle »

Got it. Seems to be tied to the actual retina resolution vs the scaled resolutions.
Post Reply