当時 Apple は倒産の危機に瀕していたのでサードパーティとして盛り立てるべく、SCSI の技術も身につけたかったのでエムアイシーアソシエイツにて HDD/MO/PD 用のフォーマッターやドライバーの開発に携わっていました。1995年〜1998年の WWDC(Worldwide Developers Conference)に参加し Steve Jobs の復帰を目の当たりにしました。Jobs 復帰前の大規模な手術(Motorola 68K CPU → IBM&Motorola の Power PC)に続き、大規模な手術(旧MacOS のエミュレータ、旧ソースコードから新バイナリを生成するビルド環境)がおこなわれ彼の辣腕ぶりに敬服しました。
Jobs は WWDC で「人間にとって炭素が必須な様に、当面は移行時の暫定的なライブラリが必須だから、それらをカーボンと命名したよ!」と言っていました。
- Motorola 68K CPU → IBM&Motorola の Power PC
- 旧MacOS のエミュレータ
- 旧MacOS のソースコードから新OS のバイナリを生成するビルド環境(カーボン)

Apple倒産の危機
当時のマックの長所と言えば SCSI のディスク入出力が他より少し速いくらいで、Apple は酷いデザインのマックと時代遅れで不安定なOS と心中しかけていました。MacPlus を購入した際、旧MacOS は10年持たずに終わると思っていたのですが…
下記をすべての次期 OS 候補を評価しましたが、どれも酷いものでした。iMac リリースからは少し遅れましたが、結局 Steve Jobs が持ち帰った BSD UNIX が MacOS X となり Apple の復活は約束されました。旧MacOS用コードや 68Kのアセンブリコードから一刻も早く離れたいと願っていました。
- A/UX
- Rhapsody
- Garshwin
- BeOS
- MK Linux
SCSI

USB が登場し高速になる以前、パソコンの周辺機器は何でもかんでも SCSI ポートに繋がれましたので、SCSI の規格は短期間に成熟できたと思います。その後の周辺機器とのインターフェース規格は SCSI の資産の多くを引き継いでいるので、悩まされることが少なかった気がします。
ハードウェア・ソフトウェア協調設計をする場合は、例えば SCSI HBA が持っている高速化のための特殊な機能(Scatter/Gather List)など…当然ですがハード・ソフト両方に精通していないと難しい局面があります。
C++
C++は多重継承周りで幾度も仕様がブレたため、実際に使えるコンパイラーが中々リリースされなかったので C++の本を読んでは想像する意味のない時間を多く過ごしました。
確かパソコン用ではマックの THINK C++ が恐らく最初で、次いで MFC を含む MSC そして PowerPlant がリリースされたと記憶しています。
旧Macintosh と MO(光磁気)ディスク
当時は DVD-RAM が登場する前夜で追記可能なパソコン用ストレージデバイスで人気が有ったのは光磁気(MO)と層変化(PD)がありました。MO は速度・容量面で劣っていましたので廃れ、PD は DVD RAM へと進化しました。平均故障間隔(Mean Time Between Failures)の序列は(HDD>MO>PD)ですから、最新の macOS や Windows が MO ドライブをサポートしていないのを惜しく思っています。
macOS の母胎である FreeBSD の PD のドライバーを開発していたのは旧九州松下電器の技術者の方でしたし、MO のドライバーは PD のドライバーの小修正で作成できますから勿体無いと思って居ます。
2022年になって久しぶりに 68K や PPC の旧い Macintosh と幾つか所有している SCSI MO ドライブを使用してみたところ、いずれのドライブもハードウェア(レーザー)に起因すると思しき読み書きの不良が散見されました。いくらメディアが優良な平均故障間隔を謳ってもハードウェアの信頼性が低ければ台無しです。
暫定対策として、FWB社の Hard Disk Toolkit を使って SCSI の制御パラメータを変更(読み書き両方でリアサイン・ブロックをする様に設定)したところ少し改善しました。230MB よりも 640MB の媒体の方が結果が良好でしたし、容量が 640MB 以上の媒体のブロックサイズは 512バイトから 2048バイトに拡大され高速なので、新たに MO の媒体を求める際は容量が 640MB 以上のものをお勧めします。
