This page is a wiki. Please login or create an account to begin editing.

1 post / 0 new
SkyCapt's picture
Joined: 2017 Jan 11
breakthru AHT (Apple Hardware Test) mods, for NewWorld PowerPC, Firmware programming language

I learned a new programming language, taught myself how to code in the Firmware language that's based on "Forth". I'm getting fluent in the crazy looking lingo, played all day today with creating menus for choosing among many AHT versions on one disc/partition, and success! I can alter the working directory, remove my old debugger-styled menu, avoid renaming paths multiple times within multiple files, then simply dump any AHT into a folder and run that folder unmodified. Everything loads much faster too.

I truly can, what I proposed doing two years ago, install every AHT version for every style of PowerPC hardware on a single CD (space permitting, it's close to exceeding 700MB). But I do like the way new AHT pages were laid out, there being a PMG4 All-In-One, PMG5 All-In-One. I can for example make the Cube All-In-One, iMac All-In-One, macmini All-In-One, etc. I could conjoin Cube And Mini because they're so few versions. And because I don't have to edit their AHT files and they execute most reliably this new way, I don't need to be in possession of original hardwares in order to create/test these AHT AIO compilations. This has so worked out the way I always wanted.

The rift between G4-G5 with AHT for PowerMac, is going to be a template for all other styles of hardware. The last G4 (mdd2003) is really a G5 motherboard, and can run (edited forms of) AHT v2.1 & v2.2.5 even tho Apple made v2.0.2 mdd2003's highest official version. See it this way, every piece of Apple hardware that came with an AHT also had one or several AHT updated versions for it, unless the one it came with ended up being the highest. But for mdd2003, the AHT v2.0.2 it came with was the lowest AHT version for mdd2003, not the highest v2 - so it makes perfect sense the mdd2003 has updates to AHT in v2.1 & v2.2.5 but Apple locked out these updates, mainly just to try and keep Secrets about real differences between G4-G5.

There may be for example iMac hardware analogous to mdd2003, in which some AHT was unduly locked out and the specific model of iMac might need its firmware model id altered into another iMac in order to unlock AHT updates and hidden G5-like features. I made a ton of bug-fixes to the AHTs on the PowerMac AIOs however since I lack other original hardware, I will be dumping AHTs onto those other AIOs largely unmodified. It will be up to your user-feedback to find specific hardware models that can get AHT updates unlocked or have their bugs fixed. I really need to know if my AHT AIO v0.5-PMG4 works on old G4 such as Sawtooth and GBE/DA models, at how old of a model does my firmwared menu choke?? And what other "G4" hardware is able to attach more than 2GB RAM, seriously!?

My book teaching me the Firmware language is missing a page having to do with Console (text display/keyboard input), actually my book has this but it only functions when booted onto the Open Firmware prompt in which console has already been opened/setup. When I boot into my custom menus, console is not ready and I don't know how to set it up for text output and keyboard. Help? Anyway, my new AHT AIO menus utilize splash graphics and mouse input, and it looks very good and works very good. I could have printed all choices and created a mouse pointer, but that would have been tons of work & maybe run clunky, and crowd a 640x480 compatible screen resolution. My solution has been to print a single AHT version at a time, utilize only the mouse's button to either step to the next choice by clicking or run the shown choice by holding down the mouse button for half of one second. Provided there aren't dozens of choices, as like every PPC AHT on a single 700MB CD !, this approach works good. The 700MB version could first make you choose from "PowerMac G4", "PowerMac G5", "iMac", "MacMini", etc. and then field a second choice from you amongst the dozen or less AHTs that your chosen hardware style has. But I'll probably never do any 700MB one-size-fits-all, instead have one disc for iMac, one disc for iBook, etc.

in English: if (a=b) then c else d.
in Forth: a b = if c else d then

Nord & Bert couldn't make head or tail of Forth!