Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross platform fixes for WinUAE #285

Open
emoon opened this issue Jan 21, 2024 · 7 comments
Open

Cross platform fixes for WinUAE #285

emoon opened this issue Jan 21, 2024 · 7 comments

Comments

@emoon
Copy link
Contributor

emoon commented Jan 21, 2024

Hi,

Lots of the code in WinUAE is cross-platform today, but there are some cases here and there where the general code doesn't compile. This is excluding the Windows specific code of course.

I wonder if you would be open for PRs fixing these? These fixes will be made as least intrusive as possible and in many case they are straightforward, but some of them may require a bit more talking.

The plan would be to start with the easiest fixes first and then potentially have some more discussion about the more involved ones if they make sense or not.

How does that sound?

@midwan
Copy link
Contributor

midwan commented Jan 21, 2024

I can probably help with this as well, since Amiberry has those pieces of code altered already, in order to compile for Linux and macOS natively.

@tonioni
Copy link
Owner

tonioni commented Jan 31, 2024

Yes but it depends. Anything under pcem-directory won't be accepted. And no "gcc-isms" either.

@johnnovak
Copy link

johnnovak commented Feb 4, 2024

Would be nice to make the UI and core emulator layers modular too. Then ordinary mortals such as myself could take a stab at writing some other alternative frontends for Linux/macOS without going near the core stuff 😅

But then you'd need some abstract interface for all the audio, input handling, and shader stuff for that.

@luvwagn
Copy link

luvwagn commented Feb 4, 2024 via email

@rofl0r
Copy link
Contributor

rofl0r commented Feb 4, 2024

there is no "the" linux version, at least not anymore. UAE itself is dead since decades. all that's left is a couple forks that try (or tried) to keep pace with WinUAE. PUAE tried to stay in C while still backporting WinUAE changes, until so much C++ crept in that it became inpractical so it's stuck somewhere around 2.8 level. FS-UAE went the path of shiny 3d gui, and afaik hasnt been updated to latest WinUAE for quite some time too. the best option currently is probably the amiberry version, even though it also lacks a lot of WinUAE's features.

@emoon
Copy link
Contributor Author

emoon commented Feb 4, 2024

Would be nice to make the UI and core emulator layers modular too. Then ordinary mortal such as myself could take a stab at writing some other alternative frontends for Linux/macOS without going near the core stuff 😅
But then you'd need some abstract interface for all the audio, input handling, and shader stuff for that.

It is actually fairly modular, but there in no such thing as an interface. Most platform specific code for WinUAE is in od-win32 and if you remove that then you are left with the functions you need to implement. Would a proper interface for this be easier and more clear to implement? For sure, but I'm not sure it's worth it.

Did the Linux version fork? UAE used to be quite portable, and the Win parts were somewhat layered.

This is mostly the case of the WinUAE code, but there are some instances when the general code doesn't compile on non-msvc anymore and these are the parts I plan to do PRs for at some point.

@johnnovak
Copy link

Most platform specific code for WinUAE is in od-win32 and if you remove that then you are left with the functions you need to implement.

Yeah, that sounds like all we need then. I should have said "proper separation" instead; I don't actually care if there's technically a literal interface there or not ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants