Way do you want to run less efficient 68k version on a powerpc cpu?
How about checking CPU, if you have a PowerPC, then it's not running on AmigaOS3.x, or you check if a system file is a ELF file, that’s easy as its first bytes in program file.
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
There are several things you can do to determine this, but what I would really like to know is.... Why ?
If you know what it is that is "easily fixed" if you could detect the OS4 68K emulator, would you mind telling us, what it is that makes the OS4 68K emulator somehow incompatible with your 68K app. ?
To me, it initially sounds like some "side effect" is being exploited, that either doesn't exist anymore or is no longer supported on OS4, or the OS4 68K emulator has some compatibility limitation that could perhaps be fixed.
Trying to write apps that need to use work-arounds, doesn't sound like a robust methodology to me.
>Way do you want to run less efficient 68k version on a powerpc cpu? 1) Because the GMAP users try also the os3 version and complain "os3 version dont works on os4" 2) Because I want it to be fixed and not release bugged softwares 3) Because you CAN run the os3 version...
>Trying to write apps that need to use work-arounds
In fact the problem is NOT in my code but within the PNG datatype used
I use the same bpa.MethodID = PDTM_READPIXELARRAY; bpa.pbpa_PixelData = T->pixels; bpa.pbpa_PixelFormat = PBPAFMT_ARGB; [...] on os3 and os4 But GMAP-os3 running on OS4 dont give the RGB pixels with background color where pixels are transparent but the transparent color itself I mean if the "sprites" are surrounded with a purple transparent color then I obtain purple not the workbench grey
This is very strange as it only happen in this case I mean: GMAP-os3 run well on OS3 GMAP-os4 run well on OS4
If you have mixed size members (or <32 bit sized members) in locally defined structures, the alignment padding can differ and some members of the structures may not be where you think they are, because of the invisible alignment padding being added.
Revisiting this topic, is there a more reliable way to do this other than checking the SysBase version? Before we get sidetracked about fixing my code and why I want to do this, I'd like to avoid h/w banging code from crashing if my program was started on OS4. The exec.library version check alone won't be enough as we have forks and clones. For example 68k AROS is at 51.3, the 3.2 team has also bumped the main versions to 47, so maybe they will hit 50 with future versions. How could I avoid false positives? Is there a public port, semaphore, or component I could check, that's unique to OS4?
This is just like television, only you can see much further.