-
Notifications
You must be signed in to change notification settings - Fork 141
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
This program is not (yet) prepared for big endian CPUs #185
Comments
Comment out this One area where I'm expecting problems is the handling of DAT files, because they contain data in little-endian byte order, and they are read by code that assumes that the CPU is also little-endian. To solve the problems, values read from DAT files must be passed through @Falcury might be able to help. |
Yes, it builds, but I don't have yet big-endian desktop machine, so I can't check whether it actually works. |
I'm confused: |
I am compiling natively, but this is not my desktop, to which I have local access. This is a (native powerpc64) build host, to which I have only remote access via SSH. |
Ah, now I understand. |
|
I have a Talos II machine running FreeBSD as my desktop. sdlpop segfaults when starting. Here's a backtrace:
|
I've made an attempt to make SDLPoP work on big-endian CPUs, on a new branch called I say attempt, because I don't have access to any system with a big-endian CPU. Could you please test it? |
Hey, this sounds great!
On your screenshot I see that the blue component of colors is always 0xFF, except in the black background. Could you please push the source to a new branch in your repo so I can try to look into it? Related: I've found another big-endian branch, by @thrimbor: https://github.com/thrimbor/SDLPoP/tree/big_endian |
Hey, nice to see someone working on this :) Screenshots were made on Debian on my Mac Mini G4. Feel free to reuse my changes if they're useful to you. /edit: |
Basically, I combined the changes from this branch with the changes from @NagyD's The git history got a bit messy in the process. I will try to clean things up and upload the branch when I get back home, next weekend. I had to use an older version of SDL2 version (2.0.3, which is the version that tigerbrew offers). It is possible that some of the problems could also be related to that. |
@NagyD Cherry-picking the top commit from by branch onto yours fixes the gameplay issues I had and makes the game look correct (apart from the screen flashing blue instead of red when you get hit). Didn't test sound though. |
I rebased my See: https://github.com/Falcury/SDLPoP/commits/mac_app_big_endian Indeed, it looks like all calls to The game looks and plays fine :) Issues:
Savestates and replays work fine, but they probably can't be exchanged between big endian and little endian systems. Edit: attached build |
Would it be possible to merge it to official SDLPoP repo? |
Hello, thanks to @thrimbor changes I could make it run on a PowerMac G5 with Linux PPC64. The only problem is the flashing screen when get the sword or get hit that flashes wrong color (a blue color instead of yellow), and the pause menu shows too the wrong RGB channel colors. |
I'm trying to compile this program on FreeBSD/powerpc64, but I'm getting:
types.h:54:2: error: #error This program is not (yet) prepared for big endian CPUs, please contact the author.
The text was updated successfully, but these errors were encountered: