PowerPC support questions

Everything about Halo and its mods.

Moderator: Halo Moderators

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

PowerPC support questions

Post by 3371-Alpha » Wed Jun 29, 2016 4:37 pm

Hi, I'm new. I'm basically here to ask a few questions about your mods & PPC support (since that's what I'm running).
First, I'm running on the Halo 2.0.4 UB and I'm attempting to host one of your custom maps you have available in the mods category on your site but It doesn't appear in my map selection list when setting up the game. I can, however, join one of your servers so long as I have the map installed in my maps folder. Am I doing something wrong, or is the vanilla Mac Halo just not capable of hosting custom maps?
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Wed Jun 29, 2016 8:00 pm

3371-Alpha wrote:Hi, I'm new. I'm basically here to ask a few questions about your mods & PPC support (since that's what I'm running).
First, I'm running on the Halo 2.0.4 UB and I'm attempting to host one of your custom maps you have available in the mods category on your site but It doesn't appear in my map selection list when setting up the game. I can, however, join one of your servers so long as I have the map installed in my maps folder. Am I doing something wrong, or is the vanilla Mac Halo just not capable of hosting custom maps?
You are correct, it's not easily capable of hosting custom maps. I created a script to do this a long time ago, it's a little out of date, but it may still work: https://github.com/foonull/HaloMD/blob/ ... MDSwitcher

You can download a version of that script from here: https://halomd.macgamingmods.com/HaloMDSwitcher.zip

The script should be put into the same directory that your Halo UB app is in. Then you can open the script in Terminal, and enter the name of the map you want to swap in. I think it swaps with the gephyrophobia map. Note what this script does is modify the Halo executable in your UB app such that it swaps one of the maps (probably gephyrophobia) with the mod you want to host. So you may want to back the executable (or simply the entire Halo app) to be safe before running the script.

Getting your server to broadcast in the MD lobby is possible, but won't work out of the box (assuming you get through all firewall/network connectivity issues, first).
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

Re: PowerPC support questions

Post by 3371-Alpha » Wed Jun 29, 2016 9:15 pm

Thanks. At first I didn't believe any of the mods where compatible with PPC since none of them would appear when I would set up a LAN game to test them. Bun I kept reading all throughout these threads, and many of them referenced PPC compatibility with custom maps. I just assumed that the maps are registered differently when hosting a game vs. joining one. I didn't realize you had a script to automate the process though.

On a side question though, have you guys considered adding a "PPC compatibility status" column to the mods page so we PPC users don't have to spend a bunch of time testing each map one by one to see if they're PPC compatible? I can assist you by testing each individual map on my hardware and reporting back to you which ones work.
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Thu Jun 30, 2016 3:24 pm

Feel free to create a thread in the MD forum with info on which maps are PPC compatible if you want to do the legwork. We may not add a column however since we don't officially support PPC Macs (the latest version requires macOS 10.7 or later) and it won't pertain to most players along with it being difficult to test for each new map that comes out.

Almost every mod that was released for the old Halo Demo and ported to MD is *probably* PPC compatible.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

Re: PowerPC support questions

Post by 3371-Alpha » Thu Jun 30, 2016 4:07 pm

Keep in mind though, there are many PPC users still out there. There are websites, such as PPC Luddite, specifically for assisting PPC users. In fact, the Leopard Webkit & TenFourFox projects are dedicated purely to bringing a modern browsing experience to PPC users. Though to be fair, I'm not exactly sure if any of those users play Halo.

On a slightly unrelated question, why does only an apple email address work for signing up on this site? I ask because, like an idiot, I upgraded my old Mobile ME to an iCloud account which broke compatibility. Now I can receive emails with it but can't respond to them.
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Fri Jul 01, 2016 11:38 am

If you create a thread with PPC compatible mods, I will put a link (similar to the mods mirror) on the mods web page. Proportionally there are many less PPC users that play, so I want to invest my effort proportionally, with the limited time that I have available. Adding a column there is actually not as easy (or desirable) as it may sound.

If you have questions about forum registration, you should send a message to Monoman who deals with that stuff.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

Re: PowerPC support questions

Post by 3371-Alpha » Sat Jul 02, 2016 10:36 am

Ok, I understand.
I'm curious though. What exactly is HaloMD? How does it work? From my understanding you can't exactly port something to another architecture without the source code, and the halo demo was never made for intel processors nor was the source code released. How'd you do it?

Edit: after digging around in the HaloMD application bundle I think I know how you guys did it. Inside the "DoNotTouchOrModify" folder are the Halo demo data files, and in the "DoNotTouchOrModify2" folder is the UB version of the halo engine. The HaloMD app bootstraps the demo files & mod maps onto the UB engine. Now that's pretty damn cool! I would have never thought you used such an ingenious design!
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

Monoman
Site Admin
Site Admin
Posts: 2662
Joined: Sat Aug 16, 2003 11:26 pm
Location: Planet Bob
Contact:

Re: PowerPC support questions

Post by Monoman » Sat Jul 02, 2016 1:48 pm

3371-Alpha wrote:On a slightly unrelated question, why does only an apple email address work for signing up on this site? I ask because, like an idiot, I upgraded my old Mobile ME to an iCloud account which broke compatibility. Now I can receive emails with it but can't respond to them.
I'm assuming you tried with a Yahoo or GMail email. Those are currently blocked as they are a favorite for spam bots to use. I can open those back up and we can see how the bots behave.
Kansas....Like Paris Hilton: White, Flat, and Easy to Enter. -- Conan O'Brien

Masturbation is like procrastination, they're both great until you realize your screwing yourself.

MGM Discord | MGM Chat
MGM Sig

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Sat Jul 02, 2016 5:13 pm

3371-Alpha wrote:Ok, I understand.
I'm curious though. What exactly is HaloMD? How does it work? From my understanding you can't exactly port something to another architecture without the source code, and the halo demo was never made for intel processors nor was the source code released. How'd you do it?

Edit: after digging around in the HaloMD application bundle I think I know how you guys did it. Inside the "DoNotTouchOrModify" folder are the Halo demo data files, and in the "DoNotTouchOrModify2" folder is the UB version of the halo engine. The HaloMD app bootstraps the demo files & mod maps onto the UB engine. Now that's pretty damn cool! I would have never thought you used such an ingenious design!
We just used the latest UB version, stripped data from it, and made x86-specific code changes by fixing some issues and extending functionality by altering the executable or injecting new code at runtime.

We use full version data files, and ported some of the maps from demo to full or from custom edition to full using Pearl.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

Re: PowerPC support questions

Post by 3371-Alpha » Sat Jul 02, 2016 5:50 pm

Monoman wrote:I'm assuming you tried with a Yahoo or GMail email. Those are currently blocked as they are a favorite for spam bots to use. I can open those back up and we can see how the bots behave.
Thanks Monoman, that'd be really helpful if you could do that for me. Our brothers at the Marathon Pfhorums website may have some tricks you could use for combating bots here.
nil wrote:We just used the latest UB version, stripped data from it, and made x86-specific code changes by fixing some issues and extending functionality by altering the executable or injecting new code at runtime.
We use full version data files, and ported some of the maps from demo to full or from custom edition to full using Pearl.
That gives me an idea. By making some of that code a bit less x86 dependent, we could make it portable to older mac hardware & OSes.
You could make various versions of the Halo UB engine with various fixes for the different versions of OS X and have HaloMD automatically download them on first-time startup.
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Sat Jul 02, 2016 6:32 pm

3371-Alpha wrote:That gives me an idea. By making some of that code a bit less x86 dependent, we could make it portable to older mac hardware & OSes.
I don't think you'd be gaining that much if the MD app worked on PPC. The x86 enhancements & extensions don't work on PPC because either some of them aren't relevant or because we haven't duplicated our effort in creating them for PPC. There are also maps that won't work on PPC which is probably something we don't know how to fix even if we wanted to. Not to mention that PPC players can still get around using the retail version.
3371-Alpha wrote:You could make various versions of the Halo UB engine with various fixes for the different versions of OS X and have HaloMD automatically download them on first-time startup.
This wouldn't be how it would work even if PPC was supported. UB stands for universal library precisely for the reason that two different versions need not exist.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

Re: PowerPC support questions

Post by 3371-Alpha » Sat Jul 02, 2016 8:47 pm

nil wrote:The x86 enhancements & extensions don't work on PPC because either some of them aren't relevant or because we haven't duplicated our effort in creating them for PPC.
I could implement some of you tweaks into the PPC side of the universal binary, although I'd need help.
nil wrote:There are also maps that won't work on PPC which is probably something we don't know how to fix even if we wanted to.
It's quite possible that there's a glitch in the PPC binary side's script interpreter, or perhaps the scripts are written in x86 assembly language. Whatever it is the game attempts to load the map & run the scripts, but because the game has no "unload map" fallback when it decides it can't read them, it crashes instead.
nil wrote:Not to mention that PPC players can still get around using the retail version.
Sure we can, but we can't host modded maps (or at least doing so is rather inconvenient) nor have direct access to your HaloMD lobby. Also from various thread I've read, getting the campaign to run through HaloMD is extremely tedious and requires console commands. So getting the retail version to run on modern Macs may actually be beneficial.
nil wrote:This wouldn't be how it would work even if PPC was supported. UB stands for universal library precisely for the reason that two different versions need not exist.
When I said "versions", I was more or less referring to the mavericks patch and any patches we may need to make for future version of OS X. Since the patches are OS specific we can have HaloMD check their relevance at startup and download as needed.

The concept I was thinking of was to have HaloMD use the normal UB retail version of the Halo app and apply the various fixes you guys have made to the app (replace the executable in the MacOS folder, ect.). The retail version will mainly be used for the campaign & unmodded servers. When starting HaloMD, it will take whatever version of the engine is in that app (assuming it has already been patched) and the game content and injects the various maps/mods into it like it usually does. If the retail version cannot be fount in the application folder then it will look for the demo files in the documents folder. You can include the various contents of the "DoNotModify" folders inside a folder called "Halo Demo" on the HaloMD disk image as an optional install (just drag-n-drop into your documents folder if you don't own the full version). I don't think making the Halo demo campaign playable on modern Macs is very important (if you haven't played it, spoiler: there's only one level).
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Sun Jul 03, 2016 5:19 am

We want to support a single version officially and don't want to greatly make over-complications/multiple handling. Since I don't have much love for PPC, I'm not going to go out of my way for it specifically. I also don't do much work on MD these days aside from maintenance - not supporting what we don't have to really simplifies things.

Yes, it's inconvenient for PPC players, but given that they are on machines 10 years out of date on Apple's platform, I don't think this is a fair position to be complaining. Heck, I don't think I can even create PPC binaries on - and here's the important part - *my* machine.

MD didn't start out with any love for the campaign but we've gradually made it easier to play the full campaign - if you own all the data. If this process should still be made easier, then that would be interesting to look at. I'm not sure if console commands are actually necessary (I didn't even know about them). As far as I know and have tested, campaign in MD should play just like campaign in the official retail version..

If you want to take a look, MD's source code is available on GitHub including the code to its bundled extensions. I imagine the PPC version doesn't handle some mods because the game was poorly ported, like lack of byte order handling. The UB executable in the MD repo can be diff'ed from the original to see what intel code adjustments were made there, and to figure out how to make the same adjustments to the ppc part of the binary.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

User avatar
3371-Alpha
Newbie
Posts: 13
Joined: Wed Jun 29, 2016 4:24 pm

Re: PowerPC support questions

Post by 3371-Alpha » Sun Jul 03, 2016 10:34 am

nil wrote:We want to support a single version officially and don't want to greatly make over-complications/multiple handling...I also don't do much work on MD these days aside from maintenance - not supporting what we don't have to really simplifies things.
If me or other people were to make separate versions, would you be willing to accept them? You don't have to help us in making them, but would you be willing to accept them as part of you download repository?
nil wrote:Since I don't have much love for PPC, I'm not going to go out of my way for it specifically...Yes, it's inconvenient for PPC players, but given that they are on machines 10 years out of date on Apple's platform, I don't think this is a fair position to be complaining.
Thats a fair point. I understand.
nil wrote:Heck, I don't think I can even create PPC binaries on - and here's the important part - *my* machine.
If I'm not mistaken, when Xcode 4.0 came out GCC support was removed, and PPC support went with it. I've heard though that some people have still been unofficially able to build universal binaries by building GCC with MacPorts. Of course you'll still need a way to test the binaries to see if they work, and with a lack of Rosetta in lion & later that's where the problem comes in.
nil wrote:MD didn't start out with any love for the campaign but we've gradually made it easier to play the full campaign - if you own all the data. If this process should still be made easier, then that would be interesting to look at. I'm not sure if console commands are actually necessary (I didn't even know about them). As far as I know and have tested, campaign in MD should play just like campaign in the official retail version..
The post I was referring to was this one. I'm not actually sure if it's really playable in HaloMD or not.
nil wrote:If you want to take a look, MD's source code is available on GitHub including the code to its bundled extensions...The UB executable in the MD repo can be diff'ed from the original to see what intel code adjustments were made there, and to figure out how to make the same adjustments to the ppc part of the binary.
Thanks. I'll take a look.
nil wrote:I imagine the PPC version doesn't handle some mods because the game was poorly ported, like lack of byte order handling.
In fairness, almost every game that was ported from one platform to another, runs poorly on the platform it was ported to.

I created the concept we discussed earlier from the Oni Anniversary Edition which will automatically download the engine for your OS/architecture as well as any community made patches on startup. After that it will bring up a download list of all available mods for you to download and install them. Anniversary Edition acts as both a package manager & a modding framework. I was thinking we could do something similar with MD, with your permission of course.
PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)
Halo 2.0.4 UB (Oberon's lobby patch installed)

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: PowerPC support questions

Post by nil » Sun Jul 03, 2016 3:30 pm

I'm not sure if I'd add it to old_releases page or as a small link for an alternative version (like for last 10.5 & 10.6 compatible version), but it also may depend on how functional & stable the build is. I also don't want to add it in a way that makes it sound like we officially maintain it. Unless a *lot* of work is put into it, a ppc compatible build is going to have less functionality than we intended to have.

There might be a defect with how MD plays or sets up campaign maps, although I have not been able to reproduce it, and don't have much info on it.

We have a simple model where we either have one latest version that we support & maintain, or an archive of older versions we used to support in the past. Considering 10.6 and 32-bit intel Macs are too much of a pain to support for the latest app now, it's unlikely PPC support will reach its way better in there.

1.0b26 still supported 10.5 intel, which in our git repository was released at changeset d335a1ecebe49627834d925d9f933a00aec406fa. However, b26 added custom maps to the in-game map selection by using an extension written for x86, so 1.0b23 (changeset 729784dc24023708e6f2c959bed6d0d695cf2df1) may be easier for getting the old way of mod hosting to work (by choosing a mod from the menu bar of the lobby app). 1.0 added being able to play the full campaign, although this is just reverting a trivial limitation we intentionally placed from the beginning.

It is probably feasible to build it for PPC from one of those changesets but it will still require code changes, including a no-op to a chdir() function in the PPC portion of the UB binary, and probably it's easier to exclude the MD extensions rather than re-write them. There may be some creating user profile code that may be wrong because Halo writes different files based on the architecture with a slightly different data format (because, poorly ported...) - so the user profile/name code probably has to be removed as well, or rewritten.

Code changes can be made to the UB for PPC or intel without affecting the other, extensions can be built as universal binaries having different paths for ppc & intel, the app can be built as a universal binary, etc. Nothing requires the overkill of having to download different engines or what not for different OS releases. The "mavericks" patch (which MD includes a fix for this too in an extension) for example primarily fixes a bug that is easily encountered in 10.9, but has been a real bug ever since the Mac port was released, just that it wasn't hit before.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests