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

Apple Hardware Test v2.0.2 for PowerMac

No votes yet
Year released:
Guides on emulating older applications

Users of AHT v2.0.2-PM are redirected to use AHT v2.1-PM and v2.2.5-PM, both in the "All-In-One" download on the PowerMac G4 page linked below. "All-In-One" contains AHT v2.0.2 also, if needed. AHT v2.0.2 had shipped alongside the Mirror Door late 2003 models. Mirror Doors were still coming from the factories when AHT v2.2.5 was being made, so don't act all surprised that v2.2.5 can be run on Mirror Doors.

This old page (the one you're on) has been destroyed and should be removed, it's been replaced by the page linked above.

Architecture: PPC

AHT is a Firmware program, it does NOT run on any Mac OS.


SkyCapt's picture
by SkyCapt - 2017, July 17 - 2:34am

In the AIO (beta1) there are six AHT versions that can be run on the PowerMac (MDD2003) hardware which this app page describes. I find the move UP to AHT v2.1 is most beneficial, what was apple thinking ?? (in reserving v2.1 for G5)

No functionality editing was made to AIO AHT scripts. Sometimes further editing is advantageous and by installing AHT on a write-able partition, such edits can be performed. First, to make this page's v2.0.2 for PowerMac function on a G5, there is a second platform check in the AHT script. Where it loads the "PM36.cfg" file it must be directed to use the "PM72.cfg" file perhaps if model code equals PowerMac7,2 - otherwise it'll use a "default.cfg" file not representative of either PM36 nor PM72.

My PowerMac computer crashes on loading AHT v1.2.6 thru v2.0.1 because there is "unexpected" data in a DIMM module ID string. What a dumb way to crash, remember when BBSes written in BASIC could be crashed by streaming a bunch of "unexpected data", well this is equally dumb. It says "Invalid Memory Access" and you can "FIX" this by removing the "BAD" memory module(s) BUT aside from what it looks like, ***this is NOT memory being reported as bad by AHT, and the memory is NOT bad. It is AHT crashing before offering its gui. Rather than Remove my BEST (fastest plus most reliable) memory stick(s) just to run old AHT, I found a quick edit which destroys the RAM Profile while allowing everything else including the RAM Tests to function. I edit the AHT script for v1.2.6-v2.0.1 PowerMac, search for the term "GetRAMSize" and of the 4 places found, the third is always "GetRAMSize" by itself on one line. By changing this third lonely instance to have // in front of it, where the complete text line becomes "//GetRAMSize();" ... this lets me run these AHT versions on my existing RAM modules.


And, while AHT v1.2.6-v1.2.7 pass their entire Quick Test for me, they fail their Extended Test with an error of the logicboard (aka motherboard), "scc" error to be specific. There may not be any real error, this is outdated AHT for my logicboard. AHT v2+ pass their Extended tests on my PowerMac. I remember someone saying a long time ago, in response to how hard it was to get a download of v2.0.2 for PowerMac, to just use v1.2.6 because it was "good enough" - no, if you see him tell him I want my foot returned to me.

SkyCapt's picture
by SkyCapt - 2017, July 17 - 1:18am

AHT for PowerPC, AIO (All-In-One) image (beta1) is here now.
In case you're confused, know that you are among the majority, and, do forget everything you thought you already knew about AHT. It's my educated recommendation that AHT ONLY be run this way, by exploring a variety of v1 and v2 programs. It's Apple's fault for making so many hardware differences with only one ID "PowerMac3,6" and for confusing us as to what is year 2002? (AHT v1) and what is year 2003? (AHT v2). What is the chance the handwritten AHT CD which that guy gave you with your used computer purchase is THE one version that is right on all aspects?


This is how to run (a single) AHT without its
a) platform restriction
b) update check
c) update launch if applicable
d) loading screen if AHT v1

Prior to booting AHT, erase its file named "", then
move the "" file outside of the Scripts folder and
rename it "".
The new All-In-One (AIO) image does this (bypasses Loader Segments) automatically! Enjoy AHT responsibly.

SkyCapt's picture
by SkyCapt - 2017, July 5 - 8:21am

Here's a modification that can be done to AHT which bypasses its update-check & update-launch (& also the platform restrictions), because if AHT's built-in Updater were to no longer exist, then no one can get bombarded by unannounced Firmware patches either real or imaginary :

The file "" houses the things mentioned in the last paragraph, it's a good thing this file is what's known as a "loader" (good because it means it can be tossed out and not affect the remainder). It sets up a loading screen (because when this was new in 2003, AHT took up to 45 seconds to load on CD - today my SSD uses about 5 seconds to load it), then "" performs the "platform" and "update" checks in that order, and eventually passes control of execution to the true AHT program: the .sc file in the Scripts folder. [more]

SkyCapt's picture
by SkyCapt - 2017, June 20 - 5:31am

That would be exact.
Your 2nd command 'chflags' is the Terminal equivalent of Locking the file via File Info, nice.

All 4 downloads here came off my disc labeled "691-4681-A"
I omitted mentioning it so far because there's a different # in file info of the AHT root partition, and this was the first ever AHT to reside effectively hidden on DVD, previous AHT were dedicated CDs and small downloadable files. This was the final AHT for PowerMac G4 and at the same time maybe also the first AHT for PowerMac G5. The particular disc label part number describes foremost the OS software and AHT is like along for the ride, way in the back of the bus, or hiding in a wheelwell really. In the File Info for AHT, where Apple often writes software part numbers, this here AHT partition reads "018-0949" - what is it?

Does an iBook that can run AHT v2.5 also boot OS9? Has a borderline feel to it. It can't hurt just being able to inspect files of higher AHT versions when in OS9, even if they're versions that can't be run - or can it hurt? I'm still contemplating the ability of AHT to "automatically update" (patch) the Firmware, and hope running the "wrong" AHT for any particular model can't ever corrupt the firmware thus 'bricking' what had been a working Mac.

I had ran 3 AHT versions on my MDD2003 - AHT 2.0.2, 1.2.6, 2.0.1 , and later I mapped a lot of Firmware's behavior. Then when I tried AHT v1.2.7 I immediately notice a permanent change in my Firmware's behavior, and the totality of changes are rather good improvements. I was offline and watching everything closely, and I feel right about tracing this activity to the AHT v1.2.7 I'd just downloaded and ran.

Recently I ran a 5th AHT (v2.0.0) on my PowerMac. You can learn a lot about the hardware, running a wide range of AHT which cough up subtle differences in profilers etc. AHT 200-201 have a platform check limiting them to MDD-FW800 models (I can bypass the limitation and force it to run). V2.0.2 however has a platform check limiting in to MDD models in general, so technically this AHT version this page offers seems to be an update intended for all MDD including those MDD2002 that came supplied with AHT v1.2.n ! If it doesn't run ok on MDD2002/FW800 then let's hear about it.

semvalidade2006's picture
by semvalidade2006 - 2017, June 19 - 9:49pm

SkyCapt , may I suggest a small improvement? To help identify from where the AHT image was obtained, adding the Apple Disc PN in front of the file will be very useful.

hdiutil create -srcdevice disk6s4 -format RdWr 691-5332-A-2Z_AHTv2.5-iBook-raw.img
chflags uimmutable 691-5332-A-2Z_AHTv2.5-iBook-raw.img

SkyCapt's picture
by SkyCapt - 2017, June 19 - 8:08am

?Want to extract the AHT partition from a DVD image/disc? Here's how:

mount the DVD image or disc to Mac OSX Desktop (i'm using Tiger OSX 10.4.8)
in the Terminal, type "diskutil list" without the quotes
look for the DVD disk number, and, what is often a 30MB partition in it named "Apple_Boot"
record its disk-side number (device ID) for example disk4s10 is what created this page's extraction
then type something like the following in Terminal :
hdiutil create -srcdevice disk4s10 AHTv202PM-raw.dmg which "disk4s10" is the device ID that you have, and
..."AHTv202PM-raw" is the filename you want, by default it will go into your 'home' folder

****& better yet do this! :
hdiutil create -srcdevice disk4s10 -format RdWr AHTv202PM-raw.img

Quickly, Lock this new .img file in "File Info" before ever opening it and before Stuffing it for uploading. By adding the argument "-format RdWr" and naming its suffix .img instead of .dmg, hdiutil does automatically make for us the kind of image (deliberately uncompressed and Read/Write) image that can be opened and used within OS9 as well as relevant OSX ! Rw-.img doesn't have the internal crc-32 checksum, so it is desired that the person uploading supplies the md5 (sha-1) checksum of the pre-uploaded ".img_.sit" file they created.

In terminal, get imaging help by typing "hdiutil create -help"
Because most of the AHT files and folders have hidden status, it's easiest to get at the AHT files in OS9 if we create the image to be Read/Write instead of Read-Only. That is unless OS9 can display hidden files and folders in the Finder like OSX can using "AppleShowAllFiles", can OS9 ???

SkyCapt's picture
by SkyCapt - 2017, June 16 - 9:16am

Additional modding of the AHT software becomes possible when it's no longer on a read only disc, or I suppose mods can be burned to disc but thru trial and error you're bound to mill a bunch of drink coasters trying.

One mod is to remove the platform check, allowing v2.0.2-PM to run on older G4s (G5?), and, allowing v2.0.0-v2.0.1 to run on MDD-2003 and older G4s also.

Another mod is to stop certain memory modules (DIMMs) in MDD-2003 from preventing AHT <= v2.0.1 launching.

For whatever little use these 2 mods are, they do expose subtle differences in hardware between models, and that is fun. Plus who knows, maybe a FW800 CPU card attached to MDD2003 motherboard will need both AHT 2.0.1 and 2.0.2 to gather all the right info?? I'll describe these 2 mods later, now I sleep.

SkyCapt's picture
by SkyCapt - 2017, June 12 - 8:50am

The .dmg format doesn't have a meaningful resource fork, so it doesn't require another wrapper around it. You can force a .dmg file to accumulate resources by doing things to it like attaching custom icons or tagging it to "Open With" an application, etc. but stripping the .dmg of those resources won't stop it from opening. One reason we might want to wrap a .dmg file is so that it retains original Dates, without a wrapped .dmg we get today's date for the file downloaded. But this particular file here has a nearly meaningless date-of-extraction for its creation date, so nobody will care.

IIGS_User's picture
by IIGS_User - 2017, June 10 - 6:31am

Right, the .img files must be stuffed before uploading somewhere.

About .dmg files for Mac OS X, I think they can be zipped w/o problems.