For those familiar with the current Qemu problem with SDL1 and sm502 Qemu, I decided to make a sdl12-compat port. Currently it is a pure copilation with no changes for AOS4. In general it can be useful not only for Qemu
Some more information for others would be helpful, as I understood you compiled sdl12-Compat partially for AmigaOs4.1.
On the first video you show E-UAE with sdl12-compat ,or only in the second video where it breaks?
Maybe it would also be useful to include the crash log so you could see exactly what the problem is.
I don't know if I understood correctly, SDL12Compat is a SDL1 and 2 merge? If so it would be a good thing to port SDL12-Compat for AmigaOs4.1 in general because you don't have to care about SDL1 and SDL2 separately anymore.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
>I don't know if I understood correctly, SDL12Compat is a SDL1 and 2 merge? If so it would be a good thing to port SDL12-Compat for AmigaOs4.1 in general because you don't have to care about SDL1 and SDL2 separately anymore.
Yes. It's helpful for older programs and it's clear that there won't be a port to SDL2.
I asked if anyone has tried this before so as not to do it a second time. If someone has tried it, they may have found a solution to a few problems.
I still don't get it why they port SDL12-Compat. Is it about E-UAE and CPU G4 (Qemu) or does this version of SDL in general run a bit better under AmigaOs4.1?
What advantages would we have with SDL12-Compat that we don't have with SDL1? Don't be angry with me, I just want to understand
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
https://github.com/libsdl-org/sdl12-compat ... This code is a compatibility layer; it provides a binary and source compatible API for programs written against SDL 1.2, but it uses SDL 2.0 behind the scenes. If you are writing new code, please target SDL 2.0 directly and do not use this layer. ...
AFAIK looks like a wrapper for SDL1 to use SDL2 (if I'm not mistaken)
So you are testing E-UAE? Is that built using newlib or clib2? Can you do readelf -d on binary?
And which C library sdl12-compat is using?
Maybe you could install debug variant of the SDL2 shared object over normal .so and use sashimi to collect serial logs. Actually, it should work even if you make a local SOBJS directory in application dir and copy debug shared object there with a proper name (no _debug).
AFAIK looks like a wrapper for SDL1 to use SDL2 (if I'm not mistaken)
Ok I see, then this port would be really useful for AmigaOs4.1 as long as it is compatible with SDL1. Since SDL2 includes many improvements that were not available with SDL1.
@smarkusg
You should stick to Capehill as he is very experienced in SDL1/2 porting for AmigaOs4.1.
@Capehill
Maybe you can port it yourself, you are very experienced and it should not be a big problem for you. It would be very useful for Qemu (software rendering) and also for real AmigasNG I think because of the SDL2 improvements provided in this wrapper.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
makes a similar mistake "- testlock work, but at some point it crash badly --> "SDL thread (null) (0x4eb97e88)""
Thanks for your help and advice
Edited by smarkusg on 2023/9/24 20:22:56 Edited by smarkusg on 2023/9/24 20:23:56 Edited by smarkusg on 2023/9/24 20:24:40 Edited by smarkusg on 2023/9/24 20:36:46
Simply put: 1. Library SDL1 : "The 1.2 branch of SDL is deprecated. While we occasionally collect fixes in revision control, there has not been a formal release since 2012, and we have no intention to do future releases, either." 2. SDL2 is said to have better output device interoperability, improved audio support, better video performance. At least it should be "This sdl12-compat project allows for old, out-of-date games and other applications relying on the old SDL 1.2 interface to in turn run via the modern SDL2 library" 3. Useful for Qemu Pegasos 2 where there is a problem with sm502 and SDL1 at G4.
The current status of sdl12 works - there is a problem with the mouse getting stuck in the window when switching from full screen and a window minimisation problem. I used this library only myself for testing - but I know it was useful for another person too.
@Capehill if you had the opportunity and time could you take a look at it ?
Simply put: 1. Library SDL1 : "The 1.2 branch of SDL is deprecated. While we occasionally collect fixes in revision control, there has not been a formal release since 2012, and we have no intention to do future releases, either." 2. SDL2 is said to have better output device interoperability, improved audio support, better video performance. At least it should be "This sdl12-compat project allows for old, out-of-date games and other applications relying on the old SDL 1.2 interface to in turn run via the modern SDL2 library" 3. Useful for Qemu Pegasos 2 where there is a problem with sm502 and SDL1 at G4.
So this sdl12-compat would be useful for everyone and offer the best compatibility with sdl1.x/sdl2 and is very modern. Older programs like Mplayer and all the sdl1.x stuff could benefit from this.
Maybe we should all work together and make this project happen, since you've already started it maybe someone could help with bug fixes.
Under MacOs, sdl12-compat is already used as the standard for SDL output and if possible we should do the same for AmigaOs4.1.
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
The current status of sdl12 works - there is a problem with the mouse getting stuck in the window when switching from full screen and a window minimisation problem. I used this library only myself for testing - but I know it was useful for another person too.
Could you perhaps demonstrate what the problem is at the moment?
It might be helpful for others looking at it. Otherwise, you can also send me the test version and I will test it and try to include a detailed description.
@all
SDL12-compat would bring many improvements under AmigaOs4.1, all current SDL1.x ports/programs/tool/games would benefit from it.
Edited by Maijestro on 2023/11/6 17:52:05
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
For the time being, a number of things need to be improved that are known to have problems. Thank you for your commitment.
Here you have a sample program... as you can see the mouse is stuck in the window. Minimalisation works , you still need to force SDL2 to scale the image. Surely it works because I saw in DOSBOX that sdl12 using SDL2 can do it.
smarkusg wrote:@Maijestro Here you have a sample program... as you can see the mouse is stuck in the window. Minimalisation works , you still need to force SDL2 to scale the image. Surely it works because I saw in DOSBOX that sdl12 using SDL2 can do it.
Yes, I see the problem, the mouse cursor stays in the running SDL application and can no longer be removed from the application.
@all @Capehill
Does anyone have an idea why the mouse cursor cannot be removed from the running SDL window?
To improve things we need an SDL professional and as far as I know we only have one in the AmigaOs4.1 scene who could help...
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
SDL has a possibility to grab mouse inside some window so grabbing may be intended from application's side. I hope there was a smaller example than MPlayer to check. But if you can point me to the relevant version of its source code, I can try to take a look.
It's really very nice of you, as you can see in the video, smarkusg has already made some progress with this port, but with your help we should be able to make the whole thing available for AmigaOs4.1 sooner or later. It's not an SDL2 replacement, but definitely an SDL1.x supplement and as already described, all older SDL1.x applications would benefit from it, so we should at least test it and find out if that's actually true.
@smarkusg
Can you please link to the current source with all the work you have done on the current sdl-compat port that Capehill can look at?
MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
As Markus explain, we mostly have two big issues with "MPlayer SDLcompact" .. and one of this is related to the mouse pointer An help would be great for sure, if needed of course we can do any stress test for you
Can you please link to the current source with all the work you have done on the current sdl-compat port that Capehill can look at?
Of course. I sent a PM to @Capehill. @samo79 also wrote how we could possibly help check or pass on a test version if a corenspondence was not needed with me.
You may just pass him an MPlayer test binary compiled with SDLcompact ... the two issues still pretty self explained ... Of course there might also be some other minor problems, but basically the problems were the ones we already reported