• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Building First Mozilla for PPC (and maybe eventually 68k)

denodster

Active member
So I'm going to attempt to build the March 31st 1998 version of mozilla for PPC using sheephsaver on my Macbook pro.

The plan is thus:

  1. Build for PPC
  2. Remove as as much code as possible (Composer, mail, other unnecessary portions of the mozilla suite that I don't care about)
  3. Swap libraries and build for 68k
  4. make https work for the enjoyment of secured crappy html web fans everywhere... or maybe just people who want to post to 68kmla on their vintage macs...
Is this worth my time? probably not, but I'm also a web developer and have been itching to get a better understanding of the core workings of a browser, so don't try to talk me out of it, I've already sunk too much time into the project to quit now....

So far I've managed to gather all of the tools I need and now I'm working on building. I've created a github site to document my progress here:

http://andrew.colchagoff.com/netscape

As of tonight I've posted my latest build effort.

There happens to be a documentary about this particular mozilla release, being the first one:


Let me know if you would be interested in helping with this madness and maybe we can set up some kind of source control.

 

IPalindromeI

Well-known member
Probably won't be very useful, seeing as Classilla already exists, the 1998 build of Mozilla is *extremely* primitive (IIRC, it's quite broken and below NS4 in capability.)

It'd be a cool exercise anyways though. If you want something practical to port though, NetSurf seems like a good candidate.

 

CC_333

Well-known member
I'm sure, given enough practice, you could figure out how to back port bits of code from later Mozilla versions so that it can be more functional (nothing spectacular, but enough to ensure that it's not going to be completely useless; HTTPS and maybe some improved CSS, for example). Cameron did essentially this when he created Classilla.

c

 

Cory5412

Daring Pioneer of the Future
Staff member
I believe Classilla started from a much newer base - in particular, WaMCoM Mozilla 1.3.1, which is a lot newer, from around 2003.

It could be interesting to see Classilla or WamCoM on older hardware, but those are already considered to be dire on most "early" (aka anything not a G4) PowerPC systems. And even then there's questions about whether it's "enough."

For better or worse, Classilla 9.3.3 (the most recent version) is from 2014, so that's pushing four years since its last published version too.

It's probably worth your time if you want to get an understanding of the way the web worked in the '90s or if you want to get into Classic Mac OS programming. It has been mentioned a few times over the past few weeks that the web has pretty fundamentally changed over the past several years (really, up to around a decade) in such a way that basically turns the entire content delivery structure on its head.

Now, you'll still get an idea for what it's like for a browser to make a request and then start downloading data, but the way that data is actually presented is different now, generally.

On the other hand: it is not worth your time if what you are after is building a "modern" browser that will really let you use the current day Web on anything that can't quickly run a modern browser. (AKA: A handful of the newest G4/G5 models.)

 

denodster

Active member
Sooo quick update, but 6 months later and I've successfully built the source. It was a beast to get it to build as I discovered that it only builds in Codewarrior 2 Pro and on top of that only builds in Mac OS 8 on an HFS filesystem. I consider all of these things good signs as I believe this means the end product will run in system 7.6 Now on to the next step which is going to be trimming the fat. I only want navigator, so Ill be cutting the composer and the other extra parts of the mozilla suite. From there I'll try to clean up some of the multi platform code, as it is pointless for building on mac.

How I go here:

http://andrew.colchagoff.com/netscape/

 

denodster

Active member
This project uses of Open Transport 1.1. I'm currently successfully building the PPC version on OS 8.1 and I'm slowly working my way through the libraries trying to compile 68k versions. Codewarrior Pro 2 has 68k equivalents of nearly everything necessary. but the answer may be to steal the TLS from Classilla if I can get the 68k version to compile.

That being said I expect if I can get the project to build on 68k I might be able to attract some other devs. so who knows where it would go after that.

After surfing the net with it on my G3 for a little while I would say its rendering capability is somewhere around Netscape Communicator 4.8 The interesting things about this fork is that it's already slimmed down from communicator in that it only has composer. I've noticed that mozilla released again only a week later, so I might go play with that source code as well to see if it's much different.

 
Last edited by a moderator:

LOOM

Well-known member
If you install netatalk2 on a linux server, then you can set up a Appleshare pointing to that directory and connect to it in Chooser.

After you save the project on the macintosh you can use git locally on the linux server to commit/push. You can even login to the linux server with the macintosh you are working on to use git on that shared Appleshare folder you are working in.

If you don't have a linux server you can install one in a VirtualBox VM or a Raspberry PI.

..or maybe you can port git to System 7? that would be cool ;-)

 
Last edited by a moderator:

nglevin

Well-known member
Don't forget that Git will merrily strip away HFS(+) resource forks. If you have any plans to use Git to archive your CWP sources, projects and rsrc files.

Dash Board for Newton OS found what is probably the best solution for that, if you have access to an OS X machine; https://github.com/masonmark/Dash-Board-for-Newton-OS#act-vii--git tl;dr, use OS X's built in AppleDouble converter to preserve the forks into something UNIX friendly.

 
Last edited by a moderator:

nglevin

Well-known member
...oh, it looks like they removed those tools to handle AppleDouble in recent versions of OS X. Somewhere around the Sierra or High Sierra timeframe. Awesome.

long sigh

Well, I'm sure there's some alternative out there. The official tooling was mighty convenient with git commit hooks, tho.

 

denodster

Active member
Okay I've got my first dev build and the source on github. (After all that I used a zipdisk to move the files to my modern mac and commit)

 https://github.com/denodster/mozz

I've compressed anything that I know to have a resource fork in a sit file but I may have missed a few things...

it appears github doesn't know anything about mac linebreaks.

 

CC_333

Well-known member
You could put everything in a .sit file? Then BinHex it and it should be fine on any non-Mac filesystem.

This is neat, by the way!

c

 

denodster

Active member
i've added .sit files to the repository for everything just in case but the source files shouldn't have resource forks. My understanding of binhex is that its purpose is to avoid data corruption when a file is moved by an ascii only server which github is not. Do you think binhexing is necessary?

 

Scott Squires

Well-known member
Don't forget that Git will merrily strip away HFS(+) resource forks. If you have any plans to use Git to archive your CWP sources, projects and rsrc files.


If one follows the suggestion to use netatalk, then the resource forks are just extra files. You would just commit the resource forks like any other file in git.

It does mean though that anyone using the repo would need to have a way to do the reverse operation. There's probably no way to avoid that.

 

Bunsen

Admin-Witchfinder-General
Last edited by a moderator:
Top