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


5 posts / 0 new
Last post
SkyCapt's picture
Offline
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!

Comments

supernova777's picture
Offline
Joined: 2013 Mar 18

did this ever get done? did you ever create a customized AHT for all mac models on a single disc?

SkyCapt's picture
Offline
Joined: 2017 Jan 11

No, but I've begun doing things, starting with these 7 AHT versions on one disc/ssd partition which should satisfy every model of PowerMac G4 (and satisfy many previously unrecognized graphics card upgrades, plus deal with extended features of the MirrorDoor late 2003).
http://macintoshgarden.org/apps/apple-hardware-test-powermac-g4

One disc for all PPC versions is not reasonable. Issuing any fixes for such a disc would require all users update in a very large download even if the update applies only on model(s) which some users don't possess. Obtaining all AHT versions to create such a disc is too daunting, there's probably less than 50% of the total AHT versions here now and some AHT are found married to a full length CD or DVD sized download.

The runtime menu for 7ish AHTs is small and elegant and might work all the way back to the beginning of NewWorld firmware. The menu must fit on 640x480 display resolution. If the whole set of 100 or whatever versions were put on one disc, the necessary menu might become so complicated as to malfunction on older firmware. And, recognizing that most AHT versions have a certain terrible memory profile bug means a giant collection of crash prone AHTs ain't worth it. Small groups of custom versions will do best.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

I've built and tested new software: an ASD(OF)-AIO_v0.7 (Apple Service Diagnostic) "All-In-One" it has ALL of the PPC versions of ASD(OF) on one bootable image with a menu, it is hot. Each ASD has been unlocked to cause all (alleged) unsupported hardware to run in a catch-all "default" mode, instead of rejection, this unlocking is the only change.

In conjunction with ASD(OF)-AIO_v0.7 I'm doing an update to AHT-AIO_v0.7-PMG4 in which its differences from oem will be fewer, I'm removing the Quick-Test-is-more-like-Extended-Test edit, that was made to have full logicboard testing and full vram testing without having to wait for the Extended memory testing. OEM AHT can do fast full logicboard testing by starting the Extended Test and then stopping the test after the logicboard completes, before or during memory testing. And... ASD(OF)-AIO can do the exact vram testing I wanted AHT-AIO to have, so now it's unnecessary to keep this drastic edit found in AHT-AIO_v0.6 - in upcoming v0.7 Quick Test vs Extended Test is returning to how they were originally.

SkyCapt's picture
Offline
Joined: 2017 Jan 11

AHT-AIO v0.7-PMG4 is uploaded. It has the program "ASD OF" v2.6.3 added to it, for a replica of AHT's video-ram Extended Test, and for compatibility with upgraded graphics cards.

What it shows is I can combine any number of AHT programs plus any number of "ASD OF" programs on only one disc/partition. If a set of ASD version numbers that work well on PMG4 can be determined, I can add the ASD versions into AHT-AIO -- for one thing, the version of ASD meant for my model Mirror Door late 2003 is v2.1.5 and it doesn't complain about (nor recognize) main memory greater than 2GB big. But the highest ASD version 2.6.3 declares my main memory bigger than 2GB is "bad dimm" which is evil because it's not bad, I use the dimm, and there's no AHT version that has the word "bad" to describe this dimm. This is one example why "ASD v2.1.5 for PMG4" should also be joined on an image that has "ASD v2.6.3 and PMG4". I'm interested in seeing more ASD versions from 2.3.3 thru 2.5.6 before deciding what to add in to the PMG4 AIO.