ROMのsubversionを調べるアプリケーションを作ってみました

実際に作ったのは去年の8月なのですが、ROMのバージョンが分かったことで、私のGossamerが、紛れもないRev.Iだとわかったときのショックといったら。というわけで、思い出の品でもあるわけです。

当時、Gossamerに、新しいバージョンと古いバージョンがあるということが話題になっていました。なんでも、Rev.Iでは、ATAドライブでマスターしか設定できないけど、Rev.IIでは、スレーブも設定できるとか、Rev.IIは、MacOS8.1がインストールして出荷されているとか、ビデオチップが変わっているとか、なんか話を聞いていると、どうみてもRev.IIのほうがよさそうなのでした。しかし、わたしのMacはどうみてもRev.I。なんとかROMだけでも、Rev.IIのだったら、なんて薄い希望を持っていたとき、AppleのPowerMacintosh G3シリーズのリファレンスに、ROMのsubversionの調べ方が書いてあったのです。関数は以下のようなものでした。

#include <LowMem.h>

UInt16 GetROMSubversion(void)
{
return*(UInt16*)((UInt32)LMGetROMBase()+0x12);
}

さっそくプログラミング。出来たものを走らせてみて返ってきた値は、40f2でつまり、正真正銘のRev.Iということが判明したのでした。ちなみに、Rev.IIが45f1、Rev.IIIが45f2と思います。なんだかRev.IのROMと、Rev.II以降のROMのsubversionがずいぶん違うんですけど。

そんなわけで、ATAドライブの増設が出来ないのでした。Rage II+だし。

ちなみに、いまはこんな面倒くさいことをしなくても、「Apple システムプロフィール」を起動して、「システム特性」の「製品情報」の、ROM revisionをみれば一目瞭然です。

戻る