私はMacOSClassicランタイムの実装に取り組んでおり、OSXでClassicプログラムを再度実行しています。このプロジェクトには、PowerPCエミュレーター、PEF実行可能リンカー、およびネイティブ(x86)コードを呼び出す可能性が含まれています。
エミュレーターとリンカーはうまく機能しているように見えるので、Mac OS Classicライブラリーの(再)実装に焦点を移しました。現在、「エミュレータ」を使用してMPWツールを実行しようとしています。AppleがサーバーからMPWShellをプルして、SheepShaver内で実行する数時間前に、文字通りMPW Shellのコピーを取得し、一般的な「HelloWorld!」をコンパイルしました。プログラムと私はそれを正常に実行することができます。
ただし、互換性に関する限り、これはほぼ同じです。Unmangleプログラムを実行しようとする_IntEnv
と__NubAt3
、2つのStdCLibエクスポートグローバルにアクセスしようとしていることがわかりました。これについては、ドキュメントが残っていないようです。(Googleには、Mac OS Xの初期のリンケージの問題に関するAppleメーリングリストの結果がまだいくつかあります。BingとYahoo!は結果を返しません。)
私は、ドキュメントの欠如が特に動揺していることに気づきました。クラシックヘッダーファイルを使用してグローバルのレイアウトを推測したり、逆アセンブルを使用したプログラムでグローバルがどのように使用されているかを推測できる場合もありますが、実際には効率的ではなく、正しく理解できたとは言えません。
また、StdCLibの大部分を正しく取得したとしても、ある時点で他のライブラリに関するドキュメントが必要になります。
Mac OS Classicランタイムに関するドキュメントはどこにありますか?