*** SHARP MZ-2000/2200/80B/B2エミュレータ "EmuZ-2000" プラグイン *** for TF-Edition Ver.0.8a 福井 利夫 http://www.toshiofukui.com/ ○ はじめに  SHARP MZ-2000/2200/80B/80B2のエミュレータ EmuZ-2000 TF-Edition用プラ グインです。  プラグインは、EmuZ-2000用のものをTF-Editionへ持ってきたもので、開発 およびDLLの移植は常岡さんが行い、ステートセーブ関係を福井が追加するた め少し変更したり、たごさんのemuz_1m03.dllを追加したりしました。  プラグインAPI自体はソース互換ですが、オリジナルのDLLと比較して、ステ ートセーブ対応等で少し拡張されています。  たごさんのところのMIDI関係のDLLもコンパイルするだけで使用できると思 われますが、よくわからないため、現在のところ動作確認していません。 ○ プラグインの組み込み方法について  EmuZ-2000 TF-Editionの本体のプラグインの説明を参照してください。  iniファイルへ手動で記述を追加する必要があります。 ○ SDKについて  プラグインは、オリジナルEmuZ-2000とはソース互換であり、バイナリ非互換 です。ただし、全部のAPIがサポートされているわけではありませんので、ご注 意ください。 SDKのドキュメントとして、ソースのinterface/docの下のオリジナル EmuZ-2000のドキュメントがあり、これらはほぼそのまま使用できます。  ただし、APIの定義は多いのですが、オリジナルEmuZ-2000では以下が実装さ れていないため、これらはもともと使えません。 ・サウンドサービス ・デバッガサービス ・ステートセーブサービス ・クロックチェンジリポートサービス しかし、これでは困りますので、ステートセーブサービスのみ別APIとして追加 しました。元の定義にバグがありまして使えなかったためVer情報を追加して新 しく定義しました。また分割されたI/Oアドレスを扱えるようにAPIも追加し、 mz_1e18.dllで使用されています。  プラグイン開発についてはソース互換ですが、ステートセーブに対応するに は変更が必要です。また、ソース互換とはいえ、defファイルの変更が必要であ ったり、ライブラリではなくソース提供のstubプログラム等を使います。詳細 はプラグインのソースやプロジェクトファイルを見ていただくことになります。  追加APIのemuz2000_ex_getVersion()について注意してください。参照する場 合は、下位8ビットのみをマスクして参照しなければなりません。上位24ビット は今後別の意味で使います。リソース切り替えによる多言語化をサポートした 場合の言語情報参照や独自エミュレータ Versionの判定が考えられます。 ○ 変更履歴 ・Ver.0.8a 2010/08/09  Ver.0.4ベースだったmz_1r13.dllをVer.0.41ベースへ変更し、Ver.0.51とした。  emuz_1m03.dllを追加 ・Ver.0.8 2010/04/29  初版 以上