------------------------------------------------------------------------------ FM-7 EMULATOR XM7dash (V1.2L77R26) for Win32 Copyright (C) 1999-2015 PI. Copyright (C) 2001-2015 Ryu Takegami Copyright (C) 2010-2016 Toma All rights reserved. ------------------------------------------------------------------------------ □はじめに XM7dashは、FM-7エミュレータXM7のソースを再利用した改造版です。 XM7はPI.氏および、たけがみりう氏の著作物であるため、XM7dashはその使用規定 に基づき公開しています。 大変有用なソフトウェアを公開してくださった両氏には敬意を表します。 本改造版は、XM7SRC.TXTに記述されていた > 実機・資料の入手が難しい過去の機種の、詳細なドキュメント・仕様書となり得ま すので、電子保存の意味でも公開すべきだと考えます。 に感銘し、ならばなおいっそう実機に近いものにしていくべきで、それに協力したい という思いから、公開することに致しました。 本改造版はあくまでも派生版の一種にすぎません。 本改造版に対する問い合わせは私宛にXM7dash公開サイトの掲示板などへお願いしま す。 オリジナルXM7に同等機能の追加や修正が加わり本改造版の存在意義が無くなった際は 公開終了します。 本改造版のソースからオリジナルXM7への引用があった場合に、その後Copyrightを主 張するつもりも特にありません。 元々私の作品ではありませんし、実機再現率の向上、仕様の正確性の向上が目的です ので。 私個人の考えですが、ソフトウェアは複数の開発者でソースを共有し、よりよいもの を構築していく形が理想と思っています。 そういう意味で、これに賛同して第四・第五の開発者・協力者が現れるのに、ほんの 少し期待しています。 □本アーカイブについて FM-7 EMULATOR XM7 (V1.1L20)を元にした改造版「XM7dash V1.2L77R26」の アーカイブです。 本ファイルはXM7dashにおける変更点のみ記述します。 よって詳細は同梱のXM7.txtをご参照願います。 XM7.txtはオリジナルXM7(V1.1L77)に付属のものを添付しています。 □前改造版からの変更点 XM7dash V1.2L77R25→V1.2L77R26の変更点一覧です。 <追加> ・サウンド出力モードに「ステレオ(反転THG)」を追加。 <変更> ・ステートセーブ・ロード時のエラーメッセージを存在エラー/未対応エラー/保存 エラーで分割。 <修正> ・初回起動時にステートファイルが存在しないエラーが表示されるため、起動時の ステート復旧時に保存ステートがなかった場合は通常起動する仕様に変更。 □オリジナルとの相違点 XM7 V1.1L77→XM7dash V1.2L77R26の相違点一覧です。 <1MB FD関連> ・FM-77モードに1MBフロッピーコントロールカード(MB22454)相当の機能を追加。 ・FM-8モードにシステム拡張ユニット(MB26001)内標準FDインタフェース相当の機能を 追加。ただしIFDCおよびDMACに関して以下の制限事項有り。 IFDC:MAKE SOFT SECTOR FORMAT、FLOPPY DISK SEEK TRACK OPERATION、 およびIFDCバッファを中継するREAD/WRITE系コマンドが未実装 DMAC:CH3の1MB FDCに対するアクセスのみ実装 ・サポートファイルに関してはディスクファイルの項を参照。 ・GUIメニューに関してはWin32メニューの項を参照。 ・フロッピーディスク(F)のサブウィンドウを拡張して1MB FDCに対応。 ・新規ディスク作成(T)、2D→D77変換(2)、を拡張して2HDに対応。 ・1MB FDイメージのドラッグ&ドロップに対応。ブートモードの自動切り換えにも 対応。 ・1MB FDDのアクセスインジケータに対応。320KBドライブと区別する為、2HDアイコン を左上に表示。FM-7モードおよび1MB FDD設定無効時には非表示。 <バブルカセット関連> ・FM-8モードに128KBバブルインタフェースモジュール(MB22212)+128KBバブルホルダ ユニット(MB22605)相当の機能を追加。デフォルトはON。 FM-7モードおよびFM-77モードでも、128KBバブルホルダユニットは使用可能。 32KBバブルホルダはI/Oアドレスが重なるため標準FM音源無効時のみ使用可能。 ・サポートファイルに関してはバブルカセットファイルの項を参照。 ・GUIメニューに関してはWin32メニューの項を参照。 ・バブルメモリ(B)のサブウィンドウで128KBバブルホルダユニットに対応。 ・新規バブルカセット作成(B)に32KB/128KB選択肢、B77/BBLフォーマット選択肢を 追加。32KBバブルカセットは初期化しなくてもF-BASICで使用可能。 128KBバブルカセットはV2.2上でのボリュームラベルの仕様が不明なため未確認。 ・動作設定プロパティに128KBバブルメモリ内部モジュール(ユニット2/3)マウント 枠を追加。128KBバブルホルダユニット設定無効時には各マウント不可。 ・バブルカセットイメージのドラッグ&ドロップに対応。ブートモードの自動切り換 えにも対応。 ・バブルホルダユニットのアクセスインジケータは未対応。 <新規> ・クリップボードの文字列を擬似的にキー入力する機能を追加。 ・外部画像フィルタDLLに対応。現状ウィンドウモード時のみ。表示サイズを0.5倍の 320×200ピクセル、1.2倍の768×480ピクセル、1.5倍の960×600ピクセル、1.8倍の 1152×720ピクセルで表示させるモードを追加。 ・外部画像フィルタDLL使用時に限りアスペクト比調整機能を追加。デフォルトはON時 0.899(0.4495)。比率はアスペクト比設定サブウィンドウで変更可能。 ・フロッピーディスクドライブおよびバブルホルダユニットで「#0,1両ドライブを 交換する」「#2,3両ドライブを交換する」「両ユニットを交換する」機能を実装。 ・フルスクリーンの画面モード選択肢に「現在の画面モード (整数倍拡大)」を追加。 ・外部音源DLLに対応。詳細はサウンド出力の項を参照。 ・FM-77モード時に拡張RAMを、なし・64KB・192KB(デフォルト)・960KBから選択でき るスイッチを動作設定プロパティに追加。 ※960KB拡張RAMモード時は拡張RAMアドレス$40000-$FFFFF、MMRの設定値$40-$FF、 MSRの設定値$04-$3F、WBRの設定値$00-$0Fが有効 (参考記事:Oh!FM'85年12月号 FM-7 DATおよび拡張RAMボードの制作) ・ステート、ディスク、テープ、バブルカセットのファイル履歴の保存に対応。 ・マウント状態の保存に対応。ベタイメージファイルに対する書き込み禁止設定の 保存にも対応。 ・GUIメニューに漢字ROM、カセットテープ、ラインプリンタ、割り込みサブウィンド ウ(メインCPU/サブCPU)を追加。(XM7 V1.0で実装されていた仕様に準拠)。 ・サウンド出力モードをステレオにしている際、FM音源ディスプレイでどちらから出 力されているか確認できるようにした。 ・サブウィンドウのポップアップスタイルに対応。デフォルトはOFF。 ・サブウィンドウ表示状態の保存に対応。デフォルトはOFF。再起動後「全て復元」を 行うことで、前回終了時のサブウィンドウを再現可能。起動時に自動で復元させる ことも可能。サブウィンドウポップアップモード変更時に保存はクリアする。 ・ブートモード、メインウィンドウ位置、フルスクリーンモード、ステータスバー、 カレントディレクトリの保存スイッチを追加。デフォルトはON。 ・固定のステートファイル名(デフォルトでは"STATE.XM7")でステートセーブおよび ロードするクイックセーブ・クイックロードをGUIメニューに追加。 ・終了時および起動時にそれぞれ自動でクイックセーブ・クイックロードする機能を 追加。デフォルトはOFF。 ・ステートの上書き保存時に、既存ファイルを"ファイル名_##.XM7"とファイル名を 変更して保存しておく機能に対応。##は00からの通し番号であり、99まで。00〜99 まで存在すると99に上書きする仕様。デフォルトはOFF。 ・ファイル履歴にコンテキストメニューを追加し、履歴から削除できる機能を追加。 ・D77ファイルメディアリストにコンテキストメニューを追加し、ディスクタイトル (ラベル)の変更を行える機能を追加。 ・GUIメニューにBASIC(裏RAM)モード、BASIC(DEBUG)モードの項目を追加。 詳細はWin32メニューの項を参照。 ※BASIC(裏RAM)モードとは、FM-77実機にて[BOOT1][BOOT2][BASIC]の3ボタンが全て 押下されていないブートモード。このとき選択されるブートROMはBASICモードと 同様だが、リセット時にBASIC ROM領域はRAMモードで起動する。 ・FM-8モード時にMFD/SFDから発生するIRQ割り込みのON/OFFを設定可能にした。 ・天丸さん作成のアイコンを元にした5インチ2HDアイコンを1種と3.5インチ2HD アイコンを3種追加。 <変更> ・GUIメニューのドライブ0、ドライブ1を統合し320KB FDDを追加。 詳細はWin32メニューの項を参照。 ・ファイル履歴によってほぼ同等の操作が可能なため「一時取り出し」を廃止。 一時取り出し状態で保存されたステートをロードすると、ファイル履歴に追加して アンマウントする。 ・ドライブ2および3のアクセスインジケータは、どちらかのドライブにマウントした 際に追加表示する。 ・メディアタイトルの文字数がアクセスインジケータの表示可能文字数を超えた際、 種別(拡張子)のみを表示する。 ・マウント中はGUIメニューの1MB FDD/320KB FDD/カセット(C)にファイル名付きで 子メニュー表示するように変更。このため、2D/VFDファイルに関しての孫メニュー に表示されるマウントディスクファイル種類表示は廃止。 ・1MB FDD、バブルカセットを動作設定プロパティで無効にした際、GUI子メニューが 灰色になる仕様に変更。(XM7 V1.1は孫メニューが灰色になる) ・FM-7モード時の1MB FDD、FM-7/77モードで標準FM音源有効時の32KBバブルホルダは 操作対象外だが、GUIメニュー操作は可能な仕様に変更。(XM7 V1.1は子メニューが 灰色になる) ・キャプションへの表示情報に最後にロード/セーブしたステートを追加。 これはリセットによってクリアする。(XM6の動作仕様に合わせた) ・マウントしたフロッピーディスク、テープ、バブルカセットイメージファイル名の キャプションへの表示をXM7の動作設定で表示・非表示設定できる仕様に変更。 ただし、表示設定にしても#2〜3のマウントファイル名は表示出来ない。 ・スケジューラウィンドウのFDC, FDD表記をMFDC, MFDDに変更。 ・機種依存するブートモードの追加に伴い、動作機種変更後に選択不可能なブート モードだった場合の再設定仕様を、1MB DOSモード、バブルモード、128KBバブル モードだった場合はDOSモード、BASIC(裏RAM)モードだった場合はBASICモード、 の仕様に変更。 ・標準FM音源/WHG音源/THG音源にアクセスした後に動作設定プロパティで各スイッチ をOFFにした場合リセットする仕様に変更。 ・FM-77モード時に日本語通信カード側漢字ROM($FD28〜$FD2B)のアクセス可不可を 動作設定プロパティで設定可能に変更。 ・ステートファイルのヘッダ文字列をXM7と区別できるよう変更。 ・XM7がステートファイルの拡張を行った際、本改造版で無条件にロード出来てしまい 不具合が起きるのを防ぐため、改造版公開時に入手可能なXM7のソースコードで保存 可能なステートの内部バージョン番号より大きな番号のステートファイルはロード 出来ないように変更。 ・逆アセンブルサブウィンドウ上で「実行中はPCに同期」がOFFの時「トレース」で 同期しないように変更。 ・メインシステムのメモリダンプ・逆アセンブルサブウィンドウで物理アドレスや セグメント指定で表示できるように変更(64KB単位)。ただしデバッガ、ジャンプ CPUレジスタ、システムスタック、ブレークポイント指定は論理アドレスモード時 以外使用不可。割り込みベクタ、I/Oエリア指定は物理アドレスモード時では使用 不可。 ・メモリダンプ・逆アセンブルサブウィンドウについては、dashで先行実装していた 物理アドレスモードと衝突するため、オリジナルXM7と統合していません。 <修正> ・THG割り込みステータス読み込み時にTHG有効フラグをチェックしていなかった問題 を修正。 ・Visual C++でビルドした際のワーニングを軽減。 □仮想マシン 同梱のXM7.txtからの変更点を記述します。 フロッピー 320KBフロッピーディスクドライブ×4 1MBフロッピーディスクドライブ×4 バブルカセット 32KBバブルホルダユニット×2 128KBバブルホルダユニット×2 128KBバブルメモリモジュール×2 □ROMファイル 同梱のXM7.txtからの変更点を記述します。 (FM-77 1MB DOSモード起動サポート) ファイル名 サイズ CPU 物理アドレス BOOT_1MB.ROM 512 メイン $FE00-$FFFF (1MB DOSモード) (FM-7 32KBバブルモード/FM-77 128KBバブルモード起動サポート) ファイル名 サイズ CPU 物理アドレス BOOT_BBL.ROM 512 メイン $FE00-$FFFF (32KB/128KBバブルモード) (FM-8 1MB DOSモード起動サポート) ファイル名 サイズ CPU 物理アドレス BOOTSFD8.ROM 512 メイン $FE00-$FFFF (1MB DOSモード) (FM-8 32KBバブルモード/128KBバブルモード起動サポート) ファイル名 サイズ CPU 物理アドレス BOOTBBL8.ROM 512 メイン $FE00-$FFFF (32KB/128KBバブルモード) (FM-8 BASICデバッグ用モード起動サポート) ファイル名 サイズ CPU 物理アドレス BOOTDBG8.ROM 512 メイン $FE00-$FFFF (BASICデバッグ用モード) (漢字・日本語関連サポート) ファイル名 サイズ KANJI .ROM 131072 JIS78 第1水準漢字・非漢字 (FM-8/7/77版) KANJI1 .ROM 131072 JIS83 第1水準漢字・非漢字 (FM77AV40EX版) KANJIN .ROM 131072 JIS78 第1水準漢字・非漢字 (日本語通信カード版) KANJI.ROM、KANJI1.ROMのどちらか一つは必要です。 KANJIN.ROMはなくても起動します。 BOOT_1MB.ROM, BOOTSFD8.ROMが無くても1MB DOSモードが選択出来なくなるだけで、 1MBフロッピーディスクドライブは使用できます。 同様にBOOT_BBL.ROM, BOOTBBL8.ROMが無くても32KBバブルモードおよび128KBバブル モードが選択出来なくなるだけで、バブルホルダユニットは使用できます。 128KBバブルモードは、32KBバブルモードブートROMにパッチを当てて実現しているた め、専用ROMファイルは不要です。128KBバブルモードブートROMは用意出来るが32KB バブルモードブートROMが用意出来ない場合、128KBバブルモードブートROMでも動作 可能と思われますが未確認です。 第1水準漢字ROMを複数用意した際に使用する優先順位は以下の通りです。 FM-8/FM-7(日本語通信カード無効)/FM-77モード KANJI.ROM→KANJI1.ROM 日本語通信カード側漢字ROM KANJIN.ROM→KANJI.ROM→KANJI1.ROM 日本語通信カード側漢字ROMのI/Oアドレスを、実機のディップスイッチ9番の感覚で 変更可能です。(ON:$FD20, OFF:$FD28) FM-7モードで本体側漢字ROMをOFF、日本語通信カードをON、漢字ROMスイッチをON ($FD20)に設定することで、日本語通信カード側漢字ROMで実行可能です。 漢字ROMカード有効時やFM-77モード時も漢字ROMスイッチをON($FD20)にすることが 可能ですが、この場合漢字ROMカードや本体側漢字ROMが優先されます。 漢字ROMのチェックを強化したため、JIS78準拠エミュレーションは廃止しました。 □コマンドライン 以下に同梱のXM7.txtから追加・変更された拡張子別の動作を記します。 .D77(2HD)/2HD ディスクファイルをマウントし、ブートモードを1MB DOSモードに 変更し、VMをリセットします。FM-7モードの場合はブートモード の変更およびVMのリセットは行われません。 .D77(2D)/.2D/.VFD ディスクファイルをマウントし、ブートモードが1MB DOSモード もしくはバブルモード、128KBバブルモードだった場合はBASIC モードに変更し、VMをリセットします。 .BBL/.B77 バブルカセットファイルをマウントし、ブートモードをバブルモ ードもしくは128KBバブルモードに変更し、VMをリセットします。 FM-7モードの場合はブートモードの変更およびVMのリセットは行 われません。 ※各モードのブートROMが存在せずブートモードの選択が出来ない場合はマウントのみ 行い、ブートモードの変更およびVMのリセットは行われません。 □ドラッグ&ドロップ 以下に同梱のXM7.txtから追加・変更された操作を記します。 ・2HD系ディスクファイル(.D77/.2HD)をドラッグ&ドロップすることで、ディスクを マウントし、ブートモードを1MB DOSモードに変更し、VMをリセットします。 ステータスバーのアクセスランプ部分を除くウインドウ領域に対して有効です。 FM-7モードの場合はブートモードの変更およびVMのリセットは行われません。 ・2HD系ディスクファイル(.D77/.2HD)をステータスバーのアクセスランプ部へドラッグ &ドロップすることで、指定されたドライブにディスクをマウントします。 この場合はVMのリセットは行われません。 ・2D系ディスクファイル(.D77/.2D/.VFD)をドラッグ&ドロップすることで、ディスク をマウントし、ブートモードが1MB DOSモードもしくはバブルモード、128KBバブル モードだった場合はBASICモードに変更し、VMをリセットします。ステータスバーの アクセスランプ部分を除くウインドウ領域に対して有効です。 ・2D系ディスクファイル(.D77/.2D/.VFD)をステータスバーのアクセスランプ部へドラ ッグ&ドロップすることで、指定されたドライブにディスクをマウントします。 この場合はVMのリセットは行われません。 ・バブルカセットファイル(.BBL/.B77)をドラッグ&ドロップすることで、バブルカセ ットをマウントし、ブートモードをバブルモードもしくは128KBバブルモードに変更 し、VMをリセットします。マウント可能なホルダはユニット0固定です。 ウィンドウの全領域に対して有効です。 FM-7モードの場合はブートモードの変更およびVMのリセットは行われません。 ※VMのリセットを伴う際のドロップファイルに応じたブートモードの自動切り換えに 対応しました。ただし、該当するブートモードが選択可能の場合に限ります。 ex. 1MBフロッピーファイルのドロップ→1MB DOSモード 32KBバブルカセットファイルのドロップ→32KBバブルモード 128KBバブルカセットファイルのドロップ→128KBバブルモード 320KBフロッピーファイルのドロップ→1MB DOS/バブルモードだった場合、 BASICモード(その他の場合はモード変更しない) □キーボード クリップボードの文字列を擬似的にキー入力する機能に対応しています。 一度実行するとXM7.iniの[Keyboard]セクションにPasteWait, PasteWaitCntlキーが 追加されるので、各位で適正値を設定してください。 デフォルト値(0)では本機能無効となっています。 PasteWait 通常キー入力時のウェイトタイム PasteWaitCntl コントロールキー入力時のウェイトタイム 環境によりますが、 PasteWait=20 PasteWaitCntl=200 程度が適正値のようです。 □ディスクファイル ディスクファイルとして2HDフォーマット・D77フォーマット(記録密度2HD)の2種類を 追加サポートしています。 2HDフォーマットはFM11シミュレータでサポートされている1MBディスクファイルの 形式で、1021696バイトのサイズを持ちます。2HDであることを明確にするため拡張 子を変更しています。 D77フォーマットはサポートする記録密度に2HDを追加しています。 □バブルカセットファイル バブルカセットファイルとして独自のBBLフォーマット・B77フォーマットの2種類を サポートしています。 BBLフォーマットは32768バイトもしくは131072バイトのサイズを持つベタファイル です。 B77フォーマットは32バイトのヘッダを付加したベタファイルです。 D77(D88)フォーマットに似た32バイトのヘッダを持ち、16ファイルまで連結可能 です。 ・B77ファイルヘッダフォーマット offset size 内容 0x0000 17 バブルカセットの名前(ASCIIZ) 0x0011 9 リザーブ( 0x00 ) 0x001A 1 ライトプロテクトフラグ( 0x00:なし, 0x10:あり ) 0x001B 1 バブルカセットの種類( 0x80: 32KB, 0x90: 128KB ) 0x001C 4 バブルカセットのサイズ(DWORD) ( 0x00008020: 32KB, 0x000020020: 128KB ) □サウンド出力 外部音源DLL(V1)に対応しています。 一度実行するとXM7.iniの[Sound]セクションにDllList0から8までのキーが追加され るので、そこへDLLのファイル名を記述してください。 フルパスの必要はありません。 XM7.exeと同じフォルダまたはパスの通ったフォルダに該当するDLLがあった場合、 FM音源エミュレーション時に内蔵音源エンジンの代わりにそちらを使用します。 Win32メニューで音源エンジンの選択も可能です。 外部音源DLLは各位で導入してください。 ※外部音源DLL(V1)使用時の制限事項 ・FM音源合成時の線形補間(波形補間)が動作設定に関係なく無効になる。 ・外部音源DLLで鳴らしているパートのみ、FM音源ディスプレイのレベルメータが 表示出来なくなる。(DLL側がGetBufferに対応していれば表示可能) □ディスプレイ描画 外部画像フィルタDLLに対応しています。デフォルトはstrech.dllです。 XM7.exeと同じフォルダまたはパスの通ったフォルダに該当するDLLがあった場合、 ウィンドウモード時の描画処理にそちらを使用します。 Win32メニューで選択も可能です。 一度実行するとXM7.iniの[Screen]セクションにDllList0から8までのキーが追加さ れるので、そちらを変更することで別のDLLへ変更も可能です。 外部画像フィルタDLLは各位で導入してください。 ※外部画像フィルタDLL使用時の注意事項 一部外部画像フィルタDLLにおいて、Win32メニューを開いた箇所の再描画が されない場合があるため、この対策としてWin32メニューを閉じた際に強制的に 画像を再描画しています。 XM7.iniの[Screen]セクションにFilterRedrawScreenキーを0に変更することで、 Win32メニューを閉じた際の強制再描画をOFFにすることが出来ます。 □Win32メニュー 以下にメニューの変更点概略を示します。 ファイル(F) 1MB DOSモード(M) 起動モードを1MB DOSモードにセットします。 FM-8モード、FM-77モード時に選択できます。 BASIC(裏RAM)モード(C) 起動モードをBASIC(裏RAM)モードにセットします。 FM-77モード時に選択できます。 BASIC(DEBUG)モード(C) 起動モードをBASIC(DEBUG)モードにセットします。 FM-8モード時に選択できます。 バブルモード(U) 起動モードをバブルモードにセットします。 FM-8モード、FM-77モード時に選択できます。 128KBバブルモード(L) 起動モードを128KBバブルモードにセットします。 FM-8モード、FM-77モード時に選択できます。 クイックロード(K) VMの状態をファイルからクイックロードします。 クイックセーブ(Q) VMの状態をファイルにクイックセーブします。 (ファイル名) VMの状態をファイルからロードします。 ドライブ1,ドライブ0 320KB FDDに統合し、削除しました。 1MB FDD、320KB FDD #0(#1、#2、#3も同様) 開く(O) ディスクイメージファイルを設定します。 取り外す(E) ディスクイメージファイルを取り外します。 書き込み禁止(W) 現在選択しているディスクを書き込み禁止に設定します。 強制イジェクト(F) ドアロック時に強制イジェクトします。 (ディスク名) D77ファイル内のメディアを切り替えます。 (ファイル名) ディスクイメージファイルを設定します。 #0,1両ドライブで開く(B) ディスクイメージファイルをドライブ0,1に設定します。 #2,3両ドライブで開く(H) ディスクイメージファイルをドライブ2,3に設定します。 #0,1両ドライブを交換する(R) ドライブ0,1に設定したディスクイメージファイルを交換 します。 #2,3両ドライブを交換する(P) ドライブ2,3に設定したディスクイメージファイルを交換 します。 全イジェクト(E) 全ての320KBディスクイメージファイルを取り外します。 全強制イジェクト(E) 全ての1MBディスクイメージファイルを取り外します。 カセット(C) テープ(T) 開く(O) テープイメージファイルを設定します。 取り外す(E) テープイメージファイルを取り外します。 巻き戻し(W) 1つ手前まで巻き戻します。 早送り(F) 1つ先まで早送りします。 録音(R) 録音可能状態、再生状態を切り替えます。 (ファイル名) テープイメージファイルを設定します。 32KBバブルホルダユニット(128KBバブルホルダユニットも同様) #0(#1も同様) 開く(O) バブルカセットイメージファイルを設定します。 取り外す(E) バブルカセットイメージファイルを取り外します。 書き込み禁止(W) 現在選択しているバブルカセットを書き込み禁止に設定 します。 (カセット名) B77ファイル内のメディアを切り替えます。 (ファイル名) バブルカセットイメージファイルを設定します。 #0,1両ユニットで開く(B) バブルカセットイメージファイルを32KBバブルホルダ ユニット0,1に設定します。 #0,1両ユニットで開く(H) バブルカセットイメージファイルを128KBバブルホルダ ユニット0,1に設定します。 #0,1両ユニットを交換する(R) バブルカセットイメージファイルを32KBバブルホルダ ユニット0,1に設定します。 #0,1両ユニットを交換する(P) バブルカセットイメージファイルを128KBバブルホルダ ユニット0,1に設定します。 全イジェクト(E) テープおよびバブルカセットイメージファイルを全て 取り外します。 表示(V) フロッピーディスク(F) 1MB FDC側の情報表示に対応。 バブルメモリコントローラ(B) 128KBバブルカセット側の情報表示に対応。 DMAコントローラ(A) FM-8モード時のDMAコントローラウインドウを表示します。 漢字ROM(N) 漢字ROMウインドウを表示します。 カセットテープ(T) オーディオカセットウインドウを表示します。 ラインプリンタ(P) プリンタウインドウを表示します。 ディスプレイサイズ(Z) ウィンドウモード時の表示サイズを設定します。外部描画 フィルタ未使用時はx1.0およびx2.0のみ有効です。 アスペクト比調整(E) 画像フィルタDLL使用時に限り、ONにすると以下で設定した アスペクト比で表示します。 デバッグ(D) 割り込み(I) 割り込みウィンドウを表示します。 ツール(T) 新規ディスク作成(D) 2HD形式にも対応し、メディアタイプが追加されました。 新規バブルカセット作成(B) 新しいバブルカセットイメージファイルを作成します。 2D→D77変換(2) 2HD形式にも対応し、2D/2HD→D77変換に変更されました。 2D/2HD→D77変換(2) 2D/2HD形式のイメージファイルをD77形式へ変換します。 BBL→B77変換(L) BBL形式のイメージファイルをB77形式へ変換します。 FM音源/PSGエンジン(F) 使用する音源エンジンを設定します。 画像フィルタ(I) 使用する画像フィルタを設定します。 張り付け(E) クリップボードの文字列を入力します。 ウインドウ(W) 全て復元(R) アイコン化や非表示の前の状態に戻します。 動作設定の「起動時に復元」がOFFのとき、再起動後に前回 終了時開いていた全てのサブウインドウを復元します。 右クリックサブメニュー タイトル変更(T) タイトルを変更します。 ヒストリから削除(D) ヒストリから削除します。 アスペクト比設定(A) アスペクト比を設定します。 □互換性 1MBフロッピーディスクドライブ、32KB/128KBバブルカセットに対応しています。 1MBフロッピーディスクドライブに関しては、 FM-77モードおよびFM-8モードに対応しています。 両面単密度(FM)および両面倍密度(MFM)に対応しています。 片面メディアについてはD88(D77)のヘッダ1(奇数トラック)側データの無い2HD メディアを片面メディアと認識します。 F-BASIC V3.5, OS-9 Level 2上で動作することが確認済みです。 ※F-BASIC V3.1,F-BASIC V2.0に関しては動作すると思われますが未確認です。 (確認報告求む!) 32KB/128KBバブルカセットに関しては、全モードで対応しています。 これはFM-7実機のブートROMにに32KBバブルモード、FM-77実機の隠しブートROMに32KB バブルモードおよび128KBバブルモードが搭載されていたためです。 ただし、32KBバブルホルダに関しては標準FM音源カードとI/Oアドレスが重なるため、 FM-7/77モードで標準FM音源カード有効時は32KBバブルカセットは無視されます。 32KBバブルカセットに関してはF-BASIC上で動作することが確認済みです。 ※128KBバブルカセットに関してはF-BASIC V2.2にて動作すると思われますが未確認 です。(確認報告求む!) □その他 はせりん氏には1MBフロッピーやバブルカセット、64KB RAMカードのバンク切り替え 機能の情報、OS-9 Level 2上やFM-8モードでの挙動確認・不具合調査などで、有用な 情報を多数頂きました。この場を借りてお礼申し上げます。 □著作権 XM7dashはPI.氏および、たけがみりう氏が著作権を所有するXM7のソースコードを 元にトマが開発した、PI.氏、たけがみりう氏、およびトマが著作権を所有するフ リーソフトウェアです。配布条件はXM7に準じます。 XM7dashで追加したアイコンは天丸氏によるものをベースにしたものを使用させて いただいています。 天ぷら工房 (TENMARU PLANNING FACTORY) http://homepage2.nifty.com/tenpurako/index.html 外部音源DLL機能はXM7ヨルダのソースをベースとしています。 この部分の著作権は原作者である891氏に帰属します。 Copyright (C) 2011-2014 891@【昔のPC】エミュレーター統合スレッド4 外部画像フィルタDLL機能はXM7Dash勝平のソースをベースとしています。 この部分の著作権は原作者である895氏に帰属します。 Copyright (C) 2013-2014 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 評価マシン NEC LaVie G Type Z PC-GL19614GU Intel Core i7-3517U 1.9GHz, 4GB RAM, 200GB HDD ターゲットマシン FM-77D2(MB25250), 400ラインセット(MB28121) FM音源カード(MB22459), 日本語通信カード(FM77-101) FM-8(MB25020), FM-7(MB25010), 漢字ROMカード(MB22405) ミニフロッピィインタフェースカード(MB22407) ミニフロッピィディスクユニット(MB27611) FMデータレコーダ(MB27502) 主要開発言語 Borland C++ Compiler 5.5.1 Netwide Assembler (NASM) v0.98.08.towns5 □XM7dash V1.2L77R26に関するFAQ <ディスク> Q:2HDファイルの構造がわかりません。 A:F-BASIC V3.5/V5.0でのフォーマット仕様に基づき、トラック0のみ単密度128 バイト/26セクタ、トラック1〜153は倍密度256バイト/26セクタを頭から順に 連結したもので、1021696バイトのサイズを持ちます。 拡張子は異なりますが、FM11 Simulatorでサポートされている1MB版の イメージファイルと互換性をもちます。 <バブルカセット> Q:BBLファイルの構造がわかりません。 A:F-BASIC V1.0/V2.0/V2.2でのフォーマット仕様に基づき、 32KBバブルカセットについては32バイト/1024ページを頭から順に連結したもので、 32768バイトのサイズを持ちます。 128KBバブルカセットについては64バイト/2048ページを頭から順に連結したもので、 131072バイトのサイズを持ちます。 Q:B77ファイルの構造がわかりません。 A:XM7dash公開サイトにB77フォーマット仕様として公開されています。 Q:B77ファイル内の全てのディスクに対して、ライトプロテクトしたいのですが。 A:B77ファイルの属性をRead Onlyにしてください。ファイル内の全てのディスクが ライトプロテクト状態として扱われます。 Q:1つのB77ファイルに入るディスクの枚数に制限はありますか。 A:あります。XM7dashではB77ファイルについて、1ファイルあたりの最大カセット数 を16個に制限しています。 Q:バブルモードは32KB/128KBの2種ありますが、ROMファイルは1種類しかありません。 A:32KBバブルホルダと128KBバブルホルダはアクセスI/Oアドレスが異なるだけなので モード変更時にパッチを当てているためROMファイルは1つしか必要としません。 <デバッガ> Q:フロッピーディスクウィンドウで、1MB FDC情報が表示されていません。 A:仕様です。リセット直後(厳密には1MB FDC側が"NO COMMAND"時)は320KB FDC情報 しか表示していません。1MB FDCに対して何らかの有効なコマンドを送信した際に ウィンドウサイズを拡張し、1MB FDCに関する情報も表示します。 Q:バブルメモリウィンドウで、128KBバブルホルダユニットが表示されていません。 A:仕様です。128KBバブルホルダユニットに対して何らかのコマンドが発行されるまで 32KBバブルホルダユニットしか表示しません。 Q:割り込みウィンドウで、OPN/WHG/THGがMaskになりません。 A:仕様です。OPN/WHG/THGの表示に関してはON/OFFにしか対応していません。 Q:割り込み(メイン)ウィンドウで、NMI (SFDC IRQ)とはなんですか? A:FM-77 1MB FDCのIRQ信号です。 Q:割り込み(メイン)ウィンドウで、FIRQ (SFDC DRQ)とはなんですか? A:FM-77 1MB FDCのDRQPULSE信号です。 Q:割り込み(メイン)ウィンドウで、IRQ (SFDC)とはなんですか? A:FM-8 1MB FDCのIRQ信号です。 Q:割り込み(日本語サブ)ウィンドウは? A:日本語サブCPUの割り込み信号が発生する仕組みが無いため実装していません。 □連絡先 公開サイト(夢幻郷) http://tomatoma.s54.xrea.com/ 掲示板 http://tomatoma.s54.xrea.com/cgi-bin/bbs.cgi メールアドレス tomatoma@s54.xrea.com Twitter https://twitter.com/tomatoma911