3

Motorola 68000アセンブラーでプログラムを作成したいのですが、ターゲットプラットフォームはNeo Geo(90年代のゲームコンソール)です。この質問は深刻な意味があり、実現したい特定のプロジェクトがあり、プログラミングの経験があります(最近は、ほとんどPerl / Rをプログラミングしていますが、アセンブリプログラミングに少ししか触れていません)。

Neo Geoには多くのドキュメントがありませんが、Alexander Stanteからのドキュメントが1つあります。このドキュメントには、フォーマットとスプライトの保存場所、メモリマップ、メモリマップされたレジスタの場所、グラフィックスとサウンドシステムの動作などに関する情報が含まれています。

したがって、68Kアセンブラーでプログラムを作成し、PCでアセンブルして、Neo Geo(またはテスト用に豊富に用意されているエミュレーター)から実行できるはずです。

私はM68アセンブラーのバックグラウンドを持っています。これは、私のCSマスター(10年前)のあるクラスのためのものでした。私たちはSunSparcstationで組み立て、プログラムを付属のボックスに送信しました。このボックスには、基本的にRAMが搭載されたM68Kが搭載されており、それ以外はほとんど搭載されていません。したがって、「純粋な」オブジェクトコードをCPUにロードすることが可能でした。

さて、Neo Geoについて私が理解していないのは、アセンブルされたコードをどの「フォーマット」に入れなければならないかということです。

つまり、68Kアセンブリで作成したプログラムをアセンブルした場合、エミュレータがROMイメージであると見なすように作成する方法、または物理的なNeoであるCD(またはCDZ)を作成する方法を教えてください。 Geo CDは受け入れますか?ファイル名やマジックヘッダーをチェックしますか?!だから私の質問は、アセンブルされたオブジェクトコードを正しい「ファイル形式」にするにはどうすればよいかということです。(申し訳ありませんが、それが正しい言葉かどうかさえわかりません)。

4

3 に答える 3

1

元の質問に対する答えを今見つけたと思います。ごく最近、Neo Geo コーディングに最適な新しい wiki がポップアップしました。

http://neogeodev.wikkii.com/wiki/Main_Page

于 2011-05-19T04:17:16.167 に答える
1

Neo Geo プラットフォームの詳細や、Neo Geo のエミュレーター間で一般的な形式について話すことはできません。

ただし、おそらく何らかの種類の ROM イメージです。68K ファミリの場合、ブート ベクトルは ROM の一端にあります。マニュアルを読むには、質の高い時間を費やす必要があります。プロセッサは、表 B-1 を使用してメモリから値を取得することから始めます。したがって、0x0 の 32 ビットには初期スタック ポインターが必要であり、0x4 には初期 PC が必要です。

これらの初期値を使用してコードをトレースできるかどうかを確認するために、いくつかの既存の Neo Geo ゲームの画像を調査する必要があります。エミュレーターがイメージを圧縮形式で、または何らかのヘッダーを付けて保存する可能性があります。自分でそれを整理する必要があります。

EDIT : 68K が正しいエンディアン、つまりビッグ エンディアンであるという事実に、最初は混乱する可能性が高いことも付け加えておく必要があります。

于 2011-02-08T06:48:29.887 に答える
1

このリンク リストが役に立つと思います。

Neo Geo プログラミング マニュアル(非公式)

ネオジオのさまざまなファイルがたくさん

エミュレーターへのさまざまなリンク。エミュレーターは、コードがどのように機能するかを知っている必要があります... 非常に野心的なMAMEには、Neo Geo のサポートもあります。

http://furrtek.free.fr/noclass/neogeo/NeoGeoPM.pdf

于 2011-05-18T07:20:33.153 に答える