• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Backporting HFS+ to Mac OS 8.0 and earlier

Well, I did notice that the HFS+ patch doesn't work on CHRP-enabled Mac OS 7.6 when the patches are applied to the System file; for some reason, the patches have to instead be applied to the CHRP enabler to be functional, so this does tend to imply that it can indeed be implemented as an enabler.

Since it is now proven that bringing HFS+ support to at least some versions of System 7 is relatively trivial, how come Apple never implemented it this way?

c
 
Well, I did notice that the HFS+ patch doesn't work on CHRP-enabled Mac OS 7.6 when the patches are applied to the System file; for some reason, the patches have to instead be applied to the CHRP enabler to be functional, so this does tend to imply that it can indeed be implemented as an enabler.

Since it is now proven that bringing HFS+ support to at least some versions of System 7 is relatively trivial, how come Apple never implemented it this way?

c
Because Apple was trying to push Mac OS 8 adoption. There was no reason for them to desire to provide backwards support. Especially as everything was supposed to be moving to Copland to begin with, and then Rhapsody. Providing backwards support would have spread them even thinner.
 
I see. That makes sense.

However, it won't harm them now to develop the HFS+ patch into a backwards-compatible enabler, so hopefully it can be done, especially since copy-pasting things in ResEdit is kind of tedious and error-prone, especially for beginners.

c
 
I see. That makes sense.

However, it won't harm them now to develop the HFS+ patch into a backwards-compatible enabler, so hopefully it can be done, especially since copy-pasting things in ResEdit is kind of tedious and error-prone, especially for beginners.

c
Funny thing is, before I learned about gbly, back when 7.1 was first released, I realized that anything put in the Fonts folder would get loaded by the OS. So I created suitcases containing all sorts of resources that I could just add/remove from the Fonts folder to load/unload. I was using Conflict Catcher back then, which meant I could create custom configurations with different OS features enabled/disabled just from what was in that folder :)
 
Funny thing is, before I learned about gbly, back when 7.1 was first released, I realized that anything put in the Fonts folder would get loaded by the OS. So I created suitcases containing all sorts of resources that I could just add/remove from the Fonts folder to load/unload. I was using Conflict Catcher back then, which meant I could create custom configurations with different OS features enabled/disabled just from what was in that folder :)
Hah! Yes, I used to do exactly that with FKEYs, which I was irritated to learn had not been promoted to their own filesystem objects the way fonts and sounds were.

Come to think of it, I'm not sure I ever did learn what a 'gbly' was. Where should I go to get the official word on that?
 
I think 'gbly's are basically the designated resource type for system enablers. Why Apple chose 'gbly' is beyond me, however.

How does one go about creating an enabler? Can one simply take an existing one, strip it of any unneeded resources, copy in the HFS+ stuff in the right places, and call it done?

NewWorld Macs are covered thanks to the CHRP enabler, which enables HFS+ when the appropriate patches are implanted, so in principle a more purpose-built "HFS+ Enabler" should work for other systems too, at least those with Power PC CPUs (though in principle 68k Macs probably could use the same enabler mechanism with a similar but different set of patches).

I'm actually kind of curious to give this a try now!

c
 
Come to think of it, I'm not sure I ever did learn what a 'gbly' was. Where should I go to get the official word on that?
I think 'gbly's are basically the designated resource type for system enablers. Why Apple chose 'gbly' is beyond me, however.

File type, not resource type, but yeah. They're referred to in the SuperMario source as 'Gibblies', if that helps anyone know where that comes from. It doesn't help me...
 
File type, not resource type, but yeah. They're referred to in the SuperMario source as 'Gibblies', if that helps anyone know where that comes from. It doesn't help me...
I've heard the term used to refer to random internal organs, usually after they've been messily removed. It seems like the same sort of naming sense that gave us the `lipo` program for processing fat binaries.
 
File type, not resource type, but yeah. They're referred to in the SuperMario source as 'Gibblies', if that helps anyone know where that comes from. It doesn't help me...
Ah, I see.

I've heard the term used to refer to random internal organs, usually after they've been messily removed. It seems like the same sort of naming sense that gave us the `lipo` program for processing fat binaries.
Well, at least it's interesting (especially in the early years, Apple had some pretty whimsical naming practices). I don't find the industry's current naming conventions to be particularly exciting.

Isnt that ‘giblets’? (Maybe same thing?)
I've heard that term ("giblets") used to describe random leftover turkey innards that have been cooked and sometimes mixed with gravy or stuffing.

c
 
I did some digging, and the only thing I was able to find was an unsubstantiated assertion that "gbly" stood for "globally" and that resources AND file types with this string were loaded for global access (ie: any process can use them / be affected by them). Sounds reasonable, but I suspect this may be a backronym (the explanation came long after the type code).
 
Come to think about this a bit longer, I believe I was misremembering "gribblies", which I'm pretty sure is not a real word but rather had been made up on the spot for purposes of illustration.
 
A feature of the present invention is the ability to boot new hardware implementations developed subsequently to the current operating system software.
I bet they didn't imagine booting System 7.1 on a computer produced in 2005 when they wrote that.

[edit] Wow... the gbly application wasn't submitted until 1995... and wasn't granted until 2002! It's expired now though.
 
For anyone interested, I got this working on Mac OS 7.6 on CHRP on my iBook. Both of the ptch resources need to go into the System Enabler 356 file instead of the System file.

What about some of the other resources that we see mentioned in the Python script, like the "STR#" ones so that certain text strings display what they should? Or are strings etc. all displaying the correct stuff by leaving them only on the System file?

Also did anyone test System 7.5.3 at all? Even @elliotnunn's readme clarifies it's not known whether it works or not on PPC (in 68k it just doesn't work at that point, at least as far as Basilisk ][ is concerned).

My idea is to patch the System files in such a way they work with @Rairii's project, but also so that it works on Mini vMac running under Mac OS 9.2.2.
 
What about some of the other resources that we see mentioned in the Python script, like the "STR#" ones so that certain text strings display what they should? Or are strings etc. all displaying the correct stuff by leaving them only on the System file?

I’ve patched a couple of PPC systems and it seemed to work OK without those extra strings. The only weird thing that I noticed was when you go to format a disk in Finder, and Mac OS Standard is listed twice in the ‘Format’ drop down, and Mac OS Extended is not listed.

For completeness I suppose those extra resources should be included in any patch we release.

Also did anyone test System 7.5.3 at all? Even @elliotnunn's readme clarifies it's not known whether it works or not on PPC (in 68k it just doesn't work at that point, at least as far as Basilisk ][ is concerned).

For 7.5.3, the resources might need to go in a System Enabler for this one (similar to 7.6 CHRP) rather than the System File itself.

My idea is to patch the System files in such a way they work with @Rairii's project, but also so that it works on Mini vMac running under Mac OS 9.2.2.

That would be really useful to a lot of people :)
 
Back
Top