-
Notifications
You must be signed in to change notification settings - Fork 5
[SDL1.2][WIP] AmigaOS 3.x Support #128
base: SDL-1.2
Are you sure you want to change the base?
Conversation
Reintroduce __AMIGADATE__ for Makefile based $VER string
} | ||
if ( saved_colors ) { | ||
pal->colors = saved_colors; | ||
} | ||
|
||
/* Fall through to video surface update */ | ||
#ifndef __AMIGA__ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please exclude amigaos4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ALL
Shouldn't be that AMIGA ifdef be removed, in favor to have all flavors necessary define? I mean:__amigaos3__ __amigaos4__
Because things like
#if defined (AMIGA) && !defined(__amigaos4__)
not reads very well, instead#if defined (__amigaos3__) && !defined(__amigaos4__)
reads much better and cleaner (that how we do back in past for dopus5 port).
@kas1e @capehill
I have sent in a suggestion to @bebbo to add __amigaos3__
as a default define for the OS3.x toolchain.
I will also add this in the os3-config file, so it works on older toolchains:
#ifndef __amigaos3__
#define __amigaos3__
#endif
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It got merged! bebbo/gcc#156
🥳
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have tested most SDL tests on AmigaOS 4 now. Double buffer test didn't work (there was flicker), I suspect changes in SDL_video.c area.
unsigned char* row2; | ||
unsigned char* lum2; | ||
int x, y; | ||
int cr_r; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compiler warnings about set but not used vars 368-370
Co-Authored-By: capehill <juha.niemimaki@gmail.com>
Co-Authored-By: capehill <juha.niemimaki@gmail.com>
@ALL
Because things like |
is amigaos3 a default toolchain define? if not, that's not a choice we can make. |
Why not ? We can. I do not remember, you may check it on your os3 gcc as os3 version mantainer :) Even if not, it can be introduced . I just do not remember how it with os3 anymore. But we use that defne it on dopus5. It can be just like Its just will read beter. But not that i care much, i only care that os4 version will be not broken by replaced files. At first place all the changes was in needs be placed by single commts, step by step, via amigaos3 ifdefs, without total replacing of some files. |
Might work. EDIT: MorphOS... |
@capehill |
@kas1e What you don't get, is that, that custom define would need to be redefined in all other application sources. I won't do it just because you don't find it aesthetically pleasing. if everyone made up their own OS-defines, code wouldn't be very maintainable. |
This comment has been minimized.
This comment has been minimized.
@MBeijer I tested the latest, now double-buffer test works again, thank you :) |
@MBeijer Please enable compile warnings too. We use -Wall on OS4. Should actually add -Werror as well :) |
In CMake, or? |
I meant originally Makefile.amigaos3 but I cannot see any warning flags in CMakelists either. Not sure if they are pulled from some other source? I haven't tried CMake to build SDL1. |
Ah, yes, I will add all warnings to both CMake (OS3 + OS4) and Makefile
(OS3)
…On Mon, Mar 9, 2020 at 12:16 PM capehill ***@***.***> wrote:
In CMake, or?
I meant originally Makefile.amigaos3 but I cannot see any warning flags in
CMakelists either. Not sure if they are pulled from some other source? I
haven't tried CMake to build SDL1.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<AmigaPorts/SDL#128>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACC5VBOOLTATVFGTEWIT3VDRGTF2VANCNFSM4KWSYK6A>
.
|
@capehill Fixed AHI audio for OS3, and removed the junk from SDL_audio.c. I basically backported OS4's AHI code to OS3 compatible API calls. So perhaps we should merge that backend and have one common AHI one and just do OS4/OS3 specific stuff with ifdefs? |
@kas1e @capehill rather than defining amigaos3, I intend to clean up OS-specific stuff from the general files. And if a fix in the general files are necessary, they should use the defines that comes with SDL_config.h: |
I have missed (at least) these comments. It sounds OK to me. Of course if there will be lots of 68K optimization tricks, then maybe separate files would be better. |
@capehill to be honest, the backported AHI backend feels quicker and more responsive than the old one, so I'm unsure if any hacks would be needed. My point is that, it'll be easier to maintain one codebase than several (MOS, WOS, OS4, OS3, AROS) since they all use AHI and have pretty much the same API. perhaps compile-time ifdef macros would be a cleaner approach, so we won't have to clutter up the code too much with ifdefs. There's also some unused code in the OS4 AHI code from what I can remember. |
@capehill If you see something that won't work, just let me know. This is extremely WIP and will take some time to fix. I will add AmigaOS4 support to CMake as well