------------------------------------------------------------------------------ FM-7 EMULATOR XM7dash (V2.9L52aR130423) for Win32 Copyright (C) 1999-2012 PI. Copyright (C) 2001-2012 Ryu Takegami Copyright (C) 2010-2013 Toma ------------------------------------------------------------------------------ □はじめに XM7dashは、FM-7エミュレータXM7のソースを再利用した改造版です。 XM7はPI.氏および、たけがみりう氏の著作物であるため、XM7dashはその使用規定 に基づき公開しています。 PI.さん、たけがみりうさんには大変有用なソフトウェアをソース付きで公開して くださり感謝しています。 本改造版は、XM7SRC.TXTに記述されていた > 実機・資料の入手が難しい過去の機種の、詳細なドキュメント・仕様書となり得ま すので、電子保存の意味でも公開すべきだと考えます。 に感銘し、ならばなおいっそう実機に近いものにしていくべきで、それに協力してい きたいという思いから、公開することに致しました。 本改造版は正式版ではなくあくまでも派生版の一種にすぎません。 本改造版に対する問い合わせは私宛にXM7dash公開サイトの掲示板などへお願いします。 正式版に同等機能の追加や修正が加わり、本改造版の存在意義が無くなった際には公 開終了します。 本改造版のソースから正式版への引用があった場合でも、その後Copyrightを主張する つもりは特にありません。 元々私の作品ではありませんし、実機再現率の向上、仕様の正確性の向上が目的です ので。 私個人の考えですが、ソフトウェアは複数の開発者でソースを共有し、よりよいもの を構築していく形が理想と思っています。 そういう意味で、これに賛同して第四・第五の開発者・協力者が現れるのに、ほんの 少し期待しています。 □本アーカイブについて FM-7 EMULATOR XM7 (V2.9L30)を元にした改造版「XM7dash V2.9L52aR130423」の アーカイブです。 本ファイルはXM7dashにおける変更点のみ記述します。 よって詳細は同梱のXM7.txtをご参照願います。 XM7.txtは正式版(V2.9L52a)に付属のものを添付しています。 □前改造版からの変更点 XM7dash V2.9L52aR130409→V2.9L52aR130423の変更点一覧です。 <新規> ・ウィンドウモードで外部描画フィルタDLL使用時に表示サイズを1.5倍の960×600 ピクセルで表示させるモードを追加。 <変更> ・外部音源DLLのGetBufferに対応。DLL側が対応していればFM音源ディスプレイの レベルメータを内蔵音源使用時同様に表示可能になった。 ・外部音源DLLがCSMに対応していない場合のキーコントロールに対応。 <修正> ・PSGを外部音源DLLで再生しているときに動作設定の音源音量設定が反映されて いなかった問題を修正。 ・ステートレジュームをONにしてエミュレータ起動時に復帰するステートがVM停止 状態だった場合に画面が復帰しない問題を修正。 XM7dash V2.9L40R4→V2.9L52aR130409の変更点は多岐に渡るため、省略します。 □最新正式版との相違点 XM7 V2.9L52a→XM7dash V2.9L52aR130423の相違点一覧です。 <新規> ・外部描画フィルタDLLに対応。現状ウィンドウモード時のみ。表示サイズを1.5倍の 960×600ピクセルで表示させるモードを追加。 ・フルスクリーンの画面モード選択肢に「現在の画面モード (整数倍拡大)」を追加。 ・外部音源DLLに対応。詳細はサウンド出力の項を参照。 ・FM-7モード時にKANJI.ROMを使用した際の漢字ROM未定義領域パッチを無効にする スイッチを動作設定プロパティに追加。 ・ステート、ディスク、テープのファイル履歴の保存に対応。 ・マウント状態の保存に対応。ベタイメージファイルに対する書き込み禁止設定の 保存にも対応。 ・[表示]メニューに割り込みウィンドウを追加。 ・サウンド出力モードをステレオにしている際、FM音源ディスプレイでどちらから出 力されているか確認できるようにした。 ・サブウィンドウのポップアップスタイルに対応。デフォルトはOFF。 ・サブウィンドウの保存に対応。再起動後「全て復元」を行うことで、前回終了時の サブウィンドウを再現可能。起動時に自動で復元させることも可能。ただし、サブ ウィンドウポップアップモード変更時に保存はクリアする。デフォルトはOFF。 ・ブートモード、メインウィンドウ位置、フルスクリーンモード、ステータスバー、 カレントディレクトリの保存スイッチを追加。デフォルトはON。 ・固定のステートファイル名(デフォルトでは"STATE.XM7")でステートセーブおよび ロードするクイックセーブ・クイックロードをGUIメニューに追加。 ・終了時および起動時にそれぞれ自動でクイックセーブ・クイックロードする機能を 追加。デフォルトはOFF。 ・ステートの上書き保存時に、既存ファイルを"ファイル名_##.XM7"とファイル名を 変更して保存しておく機能に対応。##は00からの通し番号であり、99まで。00〜99 まで存在すると99に上書きする仕様。デフォルトはOFF。 ・ファイル履歴にコンテキストメニューを追加し、履歴から削除できる機能を追加。 ・D77ファイルメディアリストにコンテキストメニューを追加し、ディスクタイトル (ラベル)の変更を行える機能を追加。 <変更> ・GUIメニューのドライブ0、ドライブ1を統合しディスク(I)を追加。 詳細はWin32メニューの項を参照。 ・ファイル履歴によってほぼ同様の操作が可能になったため「一時取り出し」を廃止。 一時取り出し状態で保存されたステートをロードすると、ファイル履歴に追加して アンマウントする。 ・ドライブ2/3のアクセスインジケータはどちらかのドライブにマウントした際に表示 する。このとき表示幅が狭くなるためタイトルはファイル種別(拡張子)のみに変更。 ただし2倍拡大表示モード時は2ドライブ時同様ファイル名(もしくはディスク名)を 表示する。 ・マウント中はGUIメニューのドライブ(I)にファイル名付きで子メニュー表示する ように変更。このため、2D/VFDファイルに関しての孫メニューに表示されるマウ ントディスクファイル種類表示は廃止。 ・キャプションへの表示情報にロード/セーブしたステートファイル名を追加。 これはリセットによってクリアする。(XM6の動作仕様に合わせた) ・マウントしたフロッピーディスク、テープ、バブルカセットイメージファイル名の キャプションへの表示をXM7の動作設定で表示・非表示設定できる仕様に変更。 ただし、表示設定にしても#2〜3のマウントファイル名は表示出来ない。 ・標準FM音源/WHG音源/THG音源にアクセスした後に動作設定プロパティで各フラグを OFFにした場合リセットする仕様に変更。 ・ステートファイルのヘッダ文字列を正式版と区別できるよう変更。 <修正> ・THG割り込みステータス読み込み時にTHG有効フラグをチェックしていなかった問題を 修正。 ・メモリ検索ダイアログのショートカットキー部が表示されていなかったのを修正。 □サウンド出力 外部音源DLL(V1)に対応しています。 一度実行するとXM7.iniの[Sound]セクションにFMGenDllキーが追加されるので、 そこへDLLのファイル名を記述してください。フルパスの必要はありません。 XM7.exeと同じフォルダまたはパスの通ったフォルダに該当するDLLがあった場合、 FM音源エミュレーション時に内蔵音源エンジンの代わりにそちらを使用します。 動作設定プロパティで音源エンジンの選択も可能です。 外部音源DLLは各位で導入してください。 ※外部音源DLL(V1)使用時の制限事項 ・FM音源合成時の線形補間(波形補間)が動作設定に関係なく無効になる。 ・外部音源DLLで鳴らしているパートのみ、FM音源ディスプレイのレベルメータが 表示出来なくなる。(DLL側がGetBufferに対応していれば表示可能) □ディスプレイ描画 外部描画フィルタDLLに対応しています。デフォルトはstrech.dllです。 XM7.exeと同じフォルダまたはパスの通ったフォルダに該当するDLLがあった場合、 ウィンドウモード時の描画処理にそちらを使用します。 動作設定プロパティで選択も可能です。 一度実行するとXM7.iniの[Screen]セクションにFilterDllキーが追加されるので、 そちらを変更することで別のDLLへ変更も可能です。 外部描画フィルタDLLは各位で導入してください。 ※外部描画フィルタDLL使用時の注意事項 一部外部描画フィルタDLLにおいて、Win32メニューを開いた箇所の再描画が されない場合があります。(現状strech.dllのみ確認) この場合、XM7.iniの[Screen]セクションにFilterRedrawScreenキーを1に変更する ことで、Win32メニューを閉じた際に強制的に再描画させることが出来ます。 □Win32メニュー 以下にメニューの変更点概略を示します。 ファイル(F) クイックロード(K) VMの状態をファイルからクイックロードします。 クイックセーブ(Q) VMの状態をファイルにクイックセーブします。 (ファイル名) VMの状態をファイルからロードします。 ドライブ1,ドライブ0 ドライブ(I)に統合し、削除しました。 ドライブ(I) #0(#1、#2、#3も同様) 開く(O) ディスクイメージファイルを設定します。 取り外す(E) ディスクイメージファイルを取り外します。 書き込み禁止(W) 現在選択しているディスクを書き込み禁止に設定します。 (ディスク名) D77ファイル内のメディアを切り替えます。 (ファイル名) ディスクイメージファイルを設定します。 #0,1で開く(B) ディスクイメージファイルをドライブ0,1に設定します。 #2,3で開く(H) ディスクイメージファイルをドライブ2,3に設定します。 全イジェクト(E) 全てのディスクイメージファイルを取り外します。 テープ(T) 開く(O) テープイメージファイルを設定します。 取り外す(E) テープイメージファイルを取り外します。 巻き戻し(W) 1つ手前まで巻き戻します。 早送り(F) 1つ先まで早送りします。 録音(R) 録音可能状態、再生状態を切り替えます。 (ファイル名) テープイメージファイルを設定します。 表示(V) 割り込み(I) メインCPU割り込みウィンドウを表示します。 ※IRQ/FIRQの各割り込み状態(On/Off/Mask)を表示します。 OPN/WHG/THGに関してはOn/Offしか表示できません。 ウインドウ(W) 全て隠す(H) サブウインドウを全て非表示にします。 全て復元(R) アイコン化や非表示の前の状態に戻します。 再起動後に前回終了時開いていた全てのサブウインドウを 復元します。 全て閉じる(O) サブウインドウを全て閉じます。このコマンドで閉じた サブウインドウは全て復元で復元されます。 □著作権 XM7dashはPI.氏および、たけがみりう氏が著作権を所有するXM7のソースコードを 元にトマが開発した、PI.氏、たけがみりう氏、およびトマが著作権を所有するフ リーソフトウェアです。配布条件はXM7に準じます。 外部音源DLL機能はXM7ヨルダのソースをベースとしています。 この部分の著作権は原作者である891氏に帰属します。 Copyright (C) 2011 891@【昔のPC】エミュレーター統合スレッド4 外部描画フィルタDLL機能はXM7Dash勝平のソースをベースとしています。 この部分の著作権は原作者である895氏に帰属します。 Copyright (C) 2013 895@【昔のPC】PCエミュレーター統合スレッド Part5 他の著作権に関する詳細は同梱のXM7.txtを参照願います。 ※同梱のXM7.txtにも記述されていますが、ROMファイルについては著作権者の意向に 従ってください。 □XM7dash 開発スペック 開発開始日時 2010年1月23日 主要ハード 開発マシン Intel Core i7-920 (Bloomfield) 2.66GHz, 9GB RAM, 4TB HDD ASUS Rampage II Extreme, nVIDIA GeForce GTX 560 Ti 評価マシン SONY VAIONOTE-GR PCG-GRT55E/B Intel Pentium 4 Celeron 2.20GHz, 768MB RAM, 80MB HDD ターゲットマシン FM77AV-2, ビデオデジタイズカード (FM77-411) FMデータレコーダ(MB27502) 主要開発言語 Borland C++ Compiler 5.5.1 Netwide Assembler (NASM) v0.98.08.towns5 □XM7dash V2.9L52aR130423に関するFAQ <デバッガ> Q:割り込みウィンドウで、OPN/WHG/THGがMaskになりません。 A:仕様です。OPN/WHG/THGの表示に関してはON/OFFにしか対応していません。 Q:割り込みウィンドウで、NMIは表示しないのですか? A:NMIはIRQ/FIRQの様に個別フラグも禁止フラグもないため、 表示していません。 □連絡先 公開サイト(夢幻郷) http://tomatoma.s54.xrea.com/ 掲示板 http://tomatoma.s54.xrea.com/cgi-bin/bbs.cgi メールアドレス tomatoma@s54.xrea.com