Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

alex_free

macrumors 65816
Original poster
Feb 24, 2020
1,106
2,366
I recently got a mid 2010 MacBook Pro, which while lovely, has a minimum OS of 10.6.3.

Funnily enough, this is the minimum OS that Half-Life’s Steam version requires.

I have been trying for some time to get Half-Life ported to PowerPC Macs. There are so many Big-Endian issues however that it crashes all the time on my iBoon G4. I haven’t really been able to sort them all out yet.

But Intel Tiger? That should be a cakewalk as it’s Little Endian. And also hasn’t been done before! I’d say $63 dollars for the power cord and 1GB C2D late ‘06 Mac mini is worth it to be the first person to do just this alone (although this will also come in supper handy for all my other software and ports). This also may replace my Mac mini G4 as my main file server just due to the built in Wi-Fi.

This is pretty much the same situation I had when coming up with Dreamcast CDI Burner. Why would you be forced to use a newer different OS (like Windows) when an older OS and platform would work just as well if not better?
 
Interesting, iirc the official Steam port of Half-Life had a minimum requirement of Mac OS X 10.5.8 Leopard on release but since Steam has long since dropped support for that version of OSX and I was not able to find any 10.5 compatible steam emulators out there, you're obviously out of luck playing it on a Mac running anything below Yosemite.

Unfortunately I don't have an Intel Mac that can boot 10.4.11 otherwise I would have probably checked this out already but good to see others are eager to compile stuff for early Intel Mac OS as well.

PS: Have you actually been able to get PPC Half-Life to boot up into the main menu? I'd love to hear more about your current progress on that port.

good luck
 
  • Like
Reactions: alex_free
If you can figure out how to port Team Fortress Classic along with the FoxBot mod I'd be eternally grateful. I've always wanted access to this on my Macs because it's my favorite nostalgic time-killer. Played that game since it came out with easily 10,000 or more hours logged in the last 22 years.

Anything HL1 is brilliant though and I look forward to seeing what you do here.
 
Interesting, iirc the official Steam port of Half-Life had a minimum requirement of Mac OS X 10.5.8 Leopard on release but since Steam has long since dropped support for that version of OSX and I was not able to find any 10.5 compatible steam emulators out there, you're obviously out of luck playing it on a Mac running anything below Yosemite.

Unfortunately I don't have an Intel Mac that can boot 10.4.11 otherwise I would have probably checked this out already but good to see others are eager to compile stuff for early Intel Mac OS as well.

PS: Have you actually been able to get PPC Half-Life to boot up into the main menu? I'd love to hear more about your current progress on that port.

good luck
I’ve gotten into the game engine. Seen NPC move around (slightly fixed their scripts) and killed an enemy or two. But there are soo many things still not working on Big-Endian because memory and stuff is not in the expected format. Also it runs at like 3fps and crashes when doing things like entering a new room that loads mid level on PowerPC Leopard. Video:

https://forums.macrumors.com/threads/what-have-you-done-with-a-powerpc-today.2233788/post-30031279
 
Really nice to see someone else got Xash running on their PPC machine. I've been in contact with 5 different people already over the past few months asking for assistance with the PPC port including Mrs. Becky Heineman herself but nothing has come of it yet.

Knowing the dedication of the Mac community I'm pretty sure it'll only be a matter of time until we get a playable build of Xash 3D for PowerMacs tho...
 
If you can figure out how to port Team Fortress Classic along with the FoxBot mod I'd be eternally grateful. I've always wanted access to this on my Macs because it's my favorite nostalgic time-killer. Played that game since it came out with easily 10,000 or more hours logged in the last 22 years.

Anything HL1 is brilliant though and I look forward to seeing what you do here.
Apparently Team Fortress Classic and the Fox Bot mod already works with Xash3d (supports all Half-Life mods AFAIK). Xash3D is the open source, Half-Life engine I've been playing with that I will get on Intel Tiger with Panther_SDL2 + MacPorts :)
 
  • Like
Reactions: 09872738
Really nice to see someone else got Xash running on their PPC machine. I've been in contact with 5 different people already over the past few months asking for assistance with the PPC port including Mrs. Becky Heineman herself but nothing has come of it yet.

Knowing the dedication of the Mac community I'm pretty sure it'll only be a matter of time until we get a playable build of Xash 3D for PowerMacs tho...
I think it's inevitable to happen. From what I can tell, the 'new' Xash3d engine removed Big-Endian support. The 'old' Xash3d has half baked support that was never fully functional. I was able to improve two things to extend the Big-Endian support in regards to NPC scripts, but there is soo many more edge cases that are not Big-Endian safe that someone needs to see and convert the code to the Endian-Safe longs/shorts provided by Xash3d's 'old' engine header.

If we could get Becky to give us access to the source, either one of I’m sure could see what parts need to big endian safe and Xash3D could have perfect Big Endian support :) But that’s a long shot.
 
Last edited:
Becky does somewhat regular livestreams on twitch - I had suggested a PPC porting tutorial video to her a few weeks ago using the Xash 3D source as an example and she told me she'd look into it but I don't think we'll get one anytime soon - she usually tends to fall short of her promises unfortunately...

Quick question btw: I've been working with your custom build Leopard SDL2.0.6 library that you created for your SM64EX port but i've been encountering crashing issues when using the SDL_WINDOW_FULLSCREEN flag. "SDL_WINDOW_FULLSCREEN_DESKTOP" seems to be working fine but as soon as a game tries to change the set display resolution I get a crash. I'm wondering if this can be fixed somehow as it's a deal breaker for quite a few titles I've been trying to port over the past few months.
 
Becky does somewhat regular livestreams on twitch - I had suggested a PPC porting tutorial video to her a few weeks ago using the Xash 3D source as an example and she told me she'd look into it but I don't think we'll get one anytime soon - she usually tends to fall short of her promises unfortunately...

Quick question btw: I've been working with your custom build Leopard SDL2.0.6 library that you created for your SM64EX port but i've been encountering crashing issues when using the SDL_WINDOW_FULLSCREEN flag. "SDL_WINDOW_FULLSCREEN_DESKTOP" seems to be working fine but as soon as a game tries to change the set display resolution I get a crash. I'm wondering if this can be fixed somehow as it's a deal breaker for quite a few titles I've been trying to port over the past few months.
Leopard SDL was basically ‘hack at this untill it works with FFplay and SM64EX’.

I would look at how SM64EX does full screen as that works well enough to enter full screen at any resolution, and try to rewrite whatever game to use similar fullscreen code. I remember doing a commit in Leopard SDL that fixed full screen for SM64EX and FFplay. It can probably be improved upon and I’ll try to revisit it soon.
 
Leopard SDL was basically ‘hack at this untill it works with FFplay and SM64EX’.

I would look at how SM64EX does full screen as that works well enough to enter full screen at any resolution, and try to rewrite whatever game to use similar fullscreen code. I remember doing a commit in Leopard SDL that fixed full screen for SM64EX and FFplay. It can probably be improved upon and I’ll try to revisit it soon.

SM64EX used SDL_WINDOW_FULLSCREEN_DESKTOP so the game resolution is fixed at the currently set desktop resolution - however, games that support resolution switching or that use very small resolutions by default have issues with this method. There are quite a few open source titles out that that don't work properly with the old Leopard SDL 2.0.3 release which has been available for some time now so evening out the current problems with v2.0.6 would definitely be a good idea.
 
  • Like
Reactions: alex_free
SM64EX used SDL_WINDOW_FULLSCREEN_DESKTOP so the game resolution is fixed at the currently set desktop resolution - however, games that support resolution switching or that use very small resolutions by default have issues with this method. There are quite a few open source titles out that that don't work properly with the old Leopard SDL 2.0.3 release which has been available for some time now so evening out the current problems with v2.0.6 would definitely be a good idea. I have to look at how SDL 2.0.3 works in that case
Something this trivial will be figured out at some point. I need to compare what SDL 2.0.3 is doing and what 2.0.6 changed. If you have any specific examples that can help that would be great.
The fullscreen fix I put into leopard SDL 2.0.6 is very much a hack TBH, I just needed 2.0.6 to get SM64EX working as less then 2.0.6 doesn’t work for SDL2 support.
 
Something this trivial will be figured out at some point. I need to compare what SDL 2.0.3 is doing and what 2.0.6 changed. If you have any specific examples that can help that would be great.
I've been compiling a 10.5 binary of Pekka Kana 2 recently - a 2D sidescrolling game which requires SDL 2.0.6 and uses a custom resolution of 800x480 which means the game is only displayed in a tiny window in the center of the screen if you run it using "SDL_WINDOW_FULLSCREEN_DESKTOP" - I've bypassed this issue temporarily by creating a bash script that changes the desktop resolution manually to 800x500 and changes it back once you quit the app but that's obviously not a very elegant solution.

if I use SDL_WINDOW_FULLSCREEN instead I get this error:

[DEBUG] PK2 - Pekka Kana 2 started! [DEBUG] PK2 - Game version: Pekka Kana 2 Definitive Edition 1.4.2 (Unknown) (no-zip) (portable) [DEBUG] PK2 - Number: 0x402 [DEBUG] PK2 - Cammit hash: [DEBUG] PK2 - Data path - ./data/ [DEBUG] PK2 - Opened settings [DEBUG] PK2 - Found config file [DEBUG] PK2 - Render method set to software [DEBUG] PK2 - Audio buffer size set to 2048 [DEBUG] PK2 - Audio multi thread is ON [DEBUG] Piste - We compiled against SDL version 2.0.3 ... [DEBUG] Piste - But we are linking against SDL version 2.0.9. [DEBUG] PDraw - Initializing buffers [DEBUG] PRender - Initializing graphics [DEBUG] PRender - Video driver: cocoa Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00000018 0x0069fbba in -[Cocoa_WindowListener setFullscreenSpace:] () (gdb) bt #0 0x0069fbba in -[Cocoa_WindowListener setFullscreenSpace:] () #1 0x0022c989 in Cocoa_SetWindowFullscreenSpace () #2 0x00224cd0 in SDL_UpdateFullscreenMode () #3 0x002260c9 in SDL_FinishWindowCreation () #4 0x0022655f in SDL_CreateWindow_REAL () #5 0x0000f9b9 in PRender::init () #6 0x000116db in Piste::init () Cannot access memory at address 0x1e4 (gdb)
 
EAE9D26F-12CD-4948-B4F8-9E262DD0491D.jpeg

Its soo beautiful :)
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.