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

32bit Big Endian ports #10

Closed
kas1e opened this issue Sep 28, 2022 · 8 comments
Closed

32bit Big Endian ports #10

kas1e opened this issue Sep 28, 2022 · 8 comments

Comments

@kas1e
Copy link

kas1e commented Sep 28, 2022

Hi ! We tried lately to port CroMagRally to big-endian (32bit powerpc in our case) HW, with AmigaOS4 and MorphOS oses, and so far have working binary, etc (and we compile everything with TARGET_RT_BIGENDIAN). So game starts, menu shown:

CroMagRally

but once we choose to start a level, we have a warning:

CMR Fatal Alert: Skeleton file has wrong version #

We assume that this is Endian issues there which arise once port to modern platforms were done ? We suspect that those parts can be guilty for:

https://github.com/jorio/Pomme/blob/master/src/Utilities/structpack.h#L52
and
https://github.com/jorio/Pomme/blob/master/src/Utilities/structpack.h#L33

Also, if we do nothing in the menu, then game start to showup some intro probabaly, and died as well with words "ParseBG3DFile: FSRead failed" which we assume also, big-endian errors ?

Any help/suggestions/etc much appreacted, thanks !

@kas1e kas1e changed the title Big Endian ports 32bit Big Endian ports Sep 28, 2022
@jorio
Copy link
Owner

jorio commented Sep 28, 2022

Cool project. Incidentally I was recently commissionned to make big-endian builds for another game, so I fixed a bunch of big-endian issues in Pomme (the support library that is also used by CMR).

I've updated CMR to take advantage of these fixes in ccbfc65. Do note that TARGET_RT_BIGENDIAN is now __BIG_ENDIAN__. Let me know if this lets you enter the race.

@kas1e
Copy link
Author

kas1e commented Sep 28, 2022

Omg ! It works ! Thanks a bunch ! Check this out :

https://youtu.be/lZnyPW8Nbxg

So far everything works fine, sound/music, textures, etc, etc. Interesting that speed is VERY good, usually SDL apps are busy looping and 100% cpu loading, but this one looks like master piece of code :) Do you have plans to add big-endian support also to your other games ? I am sure amigaos4 and morphos users will be happy with such quality games !

@jorio
Copy link
Owner

jorio commented Sep 28, 2022

Awesome!

What's with the echo, though? Is it due to your recording setup, or does it actually sound like this?

Also, the powerups aren't showing up in your video (only their shadow is visible). They're supposed to look like this:
image

@jorio
Copy link
Owner

jorio commented Sep 28, 2022

Re: the other games, I've been working on bringing Bugdom and Mighty Mike to PowerPC OS X. I'll let you know when that's ready.

@kas1e
Copy link
Author

kas1e commented Sep 28, 2022

Yeah it was just update of OBS studio, and thus enable by default both desktop and lgp2 recording-device audio, so they both recored and made echo .. I re-recording it with normal sound, check this out:

https://youtu.be/2TGcASKjyoo

As for shadows : yeah indeed, only shadows visibly .. strange ..

@kas1e
Copy link
Author

kas1e commented Sep 29, 2022

@jorio
Btw, is "Otto Matic" portable too after Pomme have big-endian fixes ? I just cheked it on win32, and game pretty cool

EDIT: build OttoMatic with new pomme, and it show me created window and then says "No ADF magic" and nothing else. But then i realise that i didn't use TARGET_RT_BIGENDIAN, so rebuild with this one, and binary runs, swith to fullscreen mode, and when about to draw things, drop at me assertion failed with words : pixelsProceesed + packetLength <= pixelCount. DecompressRLE:42" , which in system/TGA. , so i assume TGA.c need more endian fixes (and we don't have this issue with croMagRally because it didn't use TGA)

@jorio
Copy link
Owner

jorio commented Sep 29, 2022

@kas1e I just updated Otto Matic, let me know if it works for you. If it doesn't, please open a new issue on Otto Matic's page so it's easier to keep track of what's what.

@kas1e
Copy link
Author

kas1e commented Sep 29, 2022

Yeah, thanks a lot ! created not topic in OttoMattic tickets.
Btw, we do fix "missing powerups", it was bug in GL4ES (wrapper we use to have opengl on ogles2 hardware). Now all fine

@kas1e kas1e closed this as completed Sep 29, 2022
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

2 participants