◇ FDS: FDX68 File Selector Hiroaki GOTO as GORRY / http://GORRY.hauN.org/ Version 20230414b ======================================================================== もくじ ======================================================================== 1. 概要 2. 動作環境 3. 動作環境(Windows版) 4. インストールと実行 5. 起動オプション 6. 画面の説明 7. 操作の説明 8. FDDからの読み出し 9. FDDへの書き出し 10. アナライザモード 11. Windows上での実行 12. ソースのビルド 13. 著作権表記 14. 連絡先 ======================================================================== 1. 概要 ======================================================================== FDSは、FDX68を搭載したRaspberry Pi実機上で動作するFDXイメージ(仮想フロッ ピーディスク)ファイルセレクタです。 実機に接続したディスプレイ、または sshなどで接続したコンソール上でキーボードを使用して、軽快にFDXイメージ ファイルの選択を行い、FDDエミュレータへの挿入や内容確認などを行うことが できます。 FDX68は、GIMONS氏が制作する「フロッピーディスクドライブエミュレータ & コントローラ」です。Raspberry Piにシールドを装着し、X68000などに接続し てフロッピーディスクドライブの代わりとして使用することができます。詳細 は以下を参照してください。 - http://retropc.net/gimons/fdx68/ 本プロダクトの名称は「FDS」ですが、Twitterなどで議論を行う際のハッシュ タグとしては「#fds68k」を推奨します。 ======================================================================== 2. 動作環境 ======================================================================== FDSの動作には、以下の環境が必要です。 1. ハードウェア - Raspberry Pi 3 Model B以降 - FDX68 シールド - FDX68 シールドに接続するコンピュータ、または実FDD - ディスプレイ(80x25文字以上を推奨) - USBキーボード ※ PuTTYなどのコンソール接続環境が使用できれば、ディスプレイ・キーボー ドをPi本体に繋がなくてもOKです。 2. OS - Raspbian Buster Lite: February 2020 ※ GUI環境は不要です。CUIコンソールで動作します。 3. ソフトウェア - FDX68 v2.00 ※ 実機接続ディスプレイでファイル名にかな&漢字を使う場合、fbtermな どの漢字対応ターミナルと日本語フォントが必要です。 ======================================================================== 3. 動作環境(Windows版) ======================================================================== FDX68を使用せず、FDXイメージファイルの編集や管理だけを行うことができる Windows版が用意されています。 1. ハードウェア - Windows 10(32/64bit)が動作するコンピュータ。 2. OS - Windows 10(32/64bit) 3. ソフトウェア - FDX68 ※ Windows版バイナリ(*.exe)を使用します。 詳細は、「11. Windows上での実行」を参照してください。 ======================================================================== 4. インストールと実行 ======================================================================== 1. ソースパッケージをダウンロードして展開します。「fds/fds」が実行ファイ ルです。 2. fds実行ファイルと同じディレクトリに fdxbin/ を作成し、fdx68システムか ら以下をコピー(またはシンボリックリンクなど)し、実行属性を付けてお きます。 + fdxbin/ | - fddemu | - fdxconv | - fdxview | - fdxtool | - fdxtrkcpy | - fddump | - fdrestore 3. fds実行ファイルと同じディレクトリに「fdx/X68000/」ディレクトリを作成 し、その中にFDXイメージファイルを設置します。更にサブディレクトリを作 成しても構いません。 + fdx/ | + X68000/ | | - [FDXイメージファイル] 4. 「fds2_sample.ini」を同じフォルダに「fds2.ini」としてコピーします。 以後、「fds2.ini」はユーザーの使用環境に応じて適宜変更してください。 5. fds実行ファイルと同じディレクトリに移動し、「sudo ./fds」を実行しま す。続いて、root権限昇格のためのパスワードを入力します。 6. [Select Machine]ダイアログで[X68000]を選ぶと、設置したFDXイメージファ イルが表示されます。ファイルにカーソルを移動し、[1]キーを押すと第1 ドライブにそのファイルが挿入されます。 ======================================================================== 5. 起動オプション ======================================================================== --noroot 通常、FDSの起動はsudoコマンドを経由して行います。FDSはfddemuの起動制 御を行いますが、fddemuの起動にroot権限が必要なためです。 --norootオプションを付加すると、fddemuの起動制御を行いません。このた めroot権限なしで動作するようになります。 このオプションを付加する場合は、適切なオプションを付加したfddemuを 事前に起動しておいてください。FDX68の接続先により、適切なオプションは 異なってきます。 --log デバッグに必要なログを出力します。ログは、以下が出力されます。 - fds.log FDSの動作経過が出力されます。 - fddemu.log FDSから起動したfddemuの動作経過が出力されます。 - fddump.log FDSから起動したfddumpの動作経過が出力されます。 - fdrestore.log FDSから起動したfdrestoreの動作経過が出力されます。 この指定を行わなくても、致命的なエラーが発生した場合は fds.log に 記録されます。 --help 起動オプションの一覧が出力されます。 ======================================================================== 6. 画面の説明 ======================================================================== ------------------------------------------------------------------------ 6.1. Select Machine ------------------------------------------------------------------------ FDSを起動すると、「Select Machine」ダイアログが表示されます。 +------------------+ | [Select Machine] | | | | X68000 | | X1 | | PC-8801 | | FM77AV | | X1(2HD) | | PC-8801(2HD) | | ETC | | [ Quit ] | +------------------+ カーソルキーで対象マシンを選び、Enterキーで決定します。 [Quit]を選ぶと、FDSは終了します。 ------------------------------------------------------------------------ 6.2. メイン画面 ------------------------------------------------------------------------ 対象マシンを決定すると、メイン画面が表示されます。 +---------------------------------------------------++-----------------+ | Drive 0 00* fdx/X68000/アフターバーナーⅡ/1.fdx ||[KEY INSTRUCTION]| | Drive 1 00* fdx/X68000/アフターバーナーⅡ/2.fdx || | +---------------------------------------------------+|A: Auto Set | |[DIR] fdx/X68000/ ||C: Create Disk | | アフターバーナーⅡ/ ||D: Dup Disk | +---------------------------------------------------+|E: Eject Drive | | ../ ||K: Make Directory| | Sub/ ||N: Edit Disk Name| | Disk1.fdx ||O: Edit Protect | | *Disk2.fdx ||P: Protect Drive | | ||Q: Analyze Disk | | ||R: Rename Disk | | ||V: Convert Disk | | ||W: Protect Disk | | ||X: Delete Disk | | ||#: Shell | | || | | ||1: Set 1st Drive | +---------------------------------------------------+|2: Set 2nd Drive | |[1.fdx] ||0: Eject All | |Format:rev3(RAW) Protect:ON Cyl:84 Head:2 ||<: Dump from FDD | |Samples/Trk:166912 Rate:8000kbps Motor:360rpm ||>: Restore to FDD| |Name:[1.fdx] || | +---------------------------------------------------++-----------------+ メイン画面は5つのビューに分かれています。 - Filerビュー - FDDビュー - Pathビュー - Infoビュー - Helpビュー ------------------------------------------------------------------------ 6.3. Filerビュー ------------------------------------------------------------------------ Filerビューでは、対象となるファイルをリストから選択します。 +---------------------------------------------------+ | ../ | | Sub/ | | Disk1.fdx | | *Disk2.fdx | | | | | | | | | | | | | +---------------------------------------------------+ リストには、項目が以下のように表示されます。 - "../"。親ディレクトリを示します。 - "Sub/"。サブディレクトリを示します。 - "Disk1.fdx"。FDXイメージファイルを示します。 - "*Disk2.fdx"。書き込み権限のないFDXイメージファイルを示します。 書き込み権限のないFDXイメージファイルは、「ライトプロテクトされた フロッピーディスク」と同様の扱いになります。 現在対象となっているファイルには、カーソルが表示されています。 ファイルを選択するために、以下のキーを使用します。 - 矢印キー(↑↓) カーソルを上下に移動します。 - PageUp/Downキー カーソルを上下に大きく移動します。 - Home/Endキー カーソルをリストの先頭/末尾に移動します。 - Backspaceキー 親ディレクトリに移動します。 - Enterキー ディレクトリを選択した場合、そのディレクトリに移動します。 これ以外の操作については、「操作の説明」を参照してください。 ------------------------------------------------------------------------ 6.4. FDDビュー ------------------------------------------------------------------------ FDDビューでは、現在のFDDエミュレータの状態を表示します。 +---------------------------------------------------+ | Drive 0 00* fdx/X68000/アフターバーナーⅡ/1.fdx | | Drive 1 -- [EMPTY] -- | +---------------------------------------------------+ 上から順に、第1ドライブ/第2ドライブの状態を示しています。それぞれ のドライブの名称は、選択したシステムにより異なります。例えばX68000で は「Drive 0/Drive 1」ですが、機種によっては「Drive 1/Drive 2」などに なります。 「00*」の部分は、「FDDのヘッド位置」と「ライトプロテクト状態」を示し ています。 - ヘッド位置は、FDX68を接続している(X68000などの)ホストコンピュー タ側の指示により、リアルタイムで変動します。 - "*"が表示されている場合、そのドライブには書き込みができない(ライ トプロテクト状態である)ことを示します。 最後に、ディスクが挿入されていれば、そのFDXイメージファイル名が表示 されます。されていない場合は、「-- [EMPTY] --」が表示されます。 ------------------------------------------------------------------------ 6.5. Infoビュー ------------------------------------------------------------------------ Infoビューでは、Filerビューで選択している項目についての内容が表示さ れます。 サブディレクトリを選択しているときは、「サブディレクトリ内のFDXイメー ジファイル」が表示されます。 +---------------------------------------------------+ |[fdx/X68000/アフターバーナーⅡ/] | | 1.fdx | | 2.fdx | | | +---------------------------------------------------+ FDXイメージファイルを選択しているときは、「FDXイメージファイルの詳細」 が表示されます。 +---------------------------------------------------+ |[1.fdx] | |Format:rev3(RAW) Protect:ON Cyl:84 Head:2 | |Samples/Trk:166912 Rate:8000kbps Motor:360rpm | |Name:[1.fdx] | +---------------------------------------------------+ ------------------------------------------------------------------------ 6.6. Helpビュー ------------------------------------------------------------------------ Helpビューでは、Filerビューで選択している項目に応じて、可能な操作が 表示されています。 +-----------------+ |[KEY INSTRUCTION]| | | |A: Auto Set | |C: Create Disk | |D: Dup Disk | |E: Eject Drive | |K: Make Directory| |N: Edit Disk Name| |O: Edit Protect | |P: Protect Drive | |Q: Analyze Disk | |R: Rename Disk | |V: Convert Disk | |W: Protect Disk | |X: Delete Disk | |#: Shell | | | |1: Set 1st Drive | |2: Set 2nd Drive | |0: Eject All | |<: Dump from FDD | |>: Restore to FDD| +-----------------+ ======================================================================== 7. 操作の説明 ======================================================================== メイン画面で可能な操作は、以下の通りです。 ------------------------------------------------------------------------ 7.1. Insert Disk ------------------------------------------------------------------------ FDXイメージファイル上で[Enter]キーを押すと、「ディスクの挿入」が行わ れます。挿入先のドライブを指定します。 +-------------------------+ | [Insert Disk to Drive] | | | | Drive 1 | | Drive 2 | +-------------------------+ ------------------------------------------------------------------------ 7.2. Auto Set ------------------------------------------------------------------------ [A]またはスペースキーを押すと、「ディスクの自動セット」が行われます。 「ディスクの自動セット」では、以下の作業が行われます。一般的なタイト ルであれば、この操作のみで準備を行うことができます。 1. 全ドライブからディスクを排出します。 2. ディレクトリ内のFDXイメージファイルから、ファイル名末尾が"1"また は"A"のもの(「Disk1.fdx」など)を探し、第1ドライブへ挿入します。 3. 同様に、ファイル名末尾が"2"または"B"のものを探し、第2ドライブへ 挿入します。 サブディレクトリを選択しているときは、そのサブディレクトリ内部に対し てこの操作が行われます。それ以外のときは、現在のディレクトリに対して この操作が行われます。 ------------------------------------------------------------------------ 7.3. Create Disk ------------------------------------------------------------------------ [C]キーを押すと、「新しいFDXイメージファイル(ブランクディスク)の作 成」が行われます。 まず、ディスクのフォーマットを選びます。 +------------------+ | [Select Format] | | | | 2D | | 2DD(640KB) | | 2DD(720KB) | | 2HD(1.2MB,JP) | | 2HD(1.4MB,PC/AT)| | [ Cancel ] | +------------------+ 続いて、新しいFDXイメージファイルの保存ファイル名を入力します。 +--------------------------------------+ | Create [2HD(1.2MB,JP)] Disk: | | | | new.fdx | +--------------------------------------+ ファイル名を入力すると、Filerビューに新しいFDXイメージファイルが追加 されます。 ------------------------------------------------------------------------ 7.4. Dup Disk ------------------------------------------------------------------------ [C]または[=]キーを押すと、「FDXイメージファイルの複製」が行われます。 複製先のFDXイメージファイル名を入力します。 +--------------------------------------+ | Copy to: | | | | Disk1_Copy.fdx | +--------------------------------------+ ファイル名を入力すると、Filerビューに新しいFDXイメージファイルが追加 されます。 ------------------------------------------------------------------------ 7.5. Eject Drive ------------------------------------------------------------------------ [E]キーを押すと、「FDXイメージファイルの排出」が行われます。 排出するドライブを選択します。 +---------------+ | [Eject Drive] | | | | Drive 0 | | Drive 1 | +---------------+ ドライブを選択すると、「FDXイメージファイルの排出」が行われます、FDD ビューの表示内容が変化することで、動作を確認することができます。 ------------------------------------------------------------------------ 7.7. Make Directory ------------------------------------------------------------------------ [K]または[+]キーを押すと、「ディレクトリの作成」が行われます。 作成するディレクトリ名を入力します。 +--------------------------------------+ | Make Directory: | | | | newdir | +--------------------------------------+ ディレクトリ名を入力すると、Filerビューに新しいディレクトリが追加さ れます。 ------------------------------------------------------------------------ 7.7. Edit Disk Name ------------------------------------------------------------------------ [N]キーを押すと、「FDXイメージファイルのディスク名の編集」が行われま す。書き込み権限のないFDXイメージファイルに対しては、この作業を行うこ とはできません。 新しいディスク名を入力します。 +--------------------------------------+ | Make Directory: | | | | newdir | +--------------------------------------+ ディスク名を入力すると、Infoビューに新しいディスク名が表示されます。 ------------------------------------------------------------------------ 7.8. Edit Protect ------------------------------------------------------------------------ [O]キーを押すと、「FDXイメージファイルのプロテクト情報の編集」が行わ れます。書き込み権限のないFDXイメージファイルに対しては、この作業を 行うことはできません。 プロテクト情報を選択します。 +----------------+ | [Edit Protect] | | | | On | | Off | | [ Cancel ] | +----------------+ プロテクト情報を選択すると、Infoビューに新しいプロテクト情報が表示さ れます。 ------------------------------------------------------------------------ 7.9. Protect Drive ------------------------------------------------------------------------ [P]キーを押すと、「ドライブのプロテクト情報の一時的な変更」が行われ ます。この作業はFDXイメージファイルのプロテクト情報を書き換えません。 ただし、「プロテクトOn状態のFDXイメージファイル」や「書き込み権限の ないFDXイメージファイル」を挿入している場合には、この機能は無効化さ れます。 プロテクト情報を選択します。 +----------------+ | [Edit Protect] | | | | On | | Off | | [ Cancel ] | +----------------+ プロテクト情報を選択すると、Infoビューに新しいプロテクト情報が表示さ れます。 ------------------------------------------------------------------------ 7.10. Analyze Disk ------------------------------------------------------------------------ [Q]キーを押すと、「FDXイメージファイルの内容を解析する」モードに入り ます。 詳細は、「10. アナライザモード」を参照してください。 ------------------------------------------------------------------------ 7.11. Rename Disk / Rename Dir ------------------------------------------------------------------------ [R]または[?]キーを押すと、「FDXイメージファイルやディレクトリの名前 の変更」が行われます。 新しい名前を入力します。 +--------------------------------------+ | Rename to: | | | | Disk1.fdx | +--------------------------------------+ 名前の変更が終了すると、Filerビューに反映されます。 ------------------------------------------------------------------------ 7.12. Convert Disk ------------------------------------------------------------------------ [V]キーを押すと、「イメージファイルの変換」が行われます。 以下のいずれかを行うことができます。 ・FDXイメージファイルを、他形式のイメージファイルに変換する。 ・他形式のイメージファイルを、FDXイメージファイルに変換する。 ・FDXイメージファイルのRaw/Encode形式を変換する。 FDXイメージファイルに対して実行すると、変換先のイメージ形式を選ぶこ とができます。FDXイメージファイルのRaw/Encode形式を変換したい場合は、 最後の[.FDX(Raw)](または(Encode))を選びます。 +---------------------+ | [Select Image Type] | | | | .XDF | | .2HD | | .HDM | | .IMG | | .DUP | | .2HQ | | .2DD | | .FDI | | .DIM | | .D68 | | .D77 | | .D88 | | .D98 | | .FDD | | .NFD | | .FDX(Raw) | | [ Cancel ] | +---------------------+ +--------------------------------------+ | Convert FDX to: | | | | new.D88 | +--------------------------------------+ FDX以外の対応イメージファイルに対して実行すると、変換先のFDXイメー ジファイル形式を選ぶことができます。 +-------------------+ | [Select FDX Type] | | | | Encode | | Raw | | [ Cancel ] | +-------------------+ +--------------------------------------+ | Convert to FDX: | | | | new.fdx | +--------------------------------------+ どちらの場合も、続いてファイル名を入力すると、Filerビューに新しいイ メージファイルが追加されます。 ------------------------------------------------------------------------ 7.13. Protect Disk ------------------------------------------------------------------------ [W]キーを押すと、「FDXイメージファイルへの書き込み権限の変更」が行わ れます。 新しい状態を選択します。 +----------------+ | [Protect Disk] | | | | On | | Off | | [ Cancel ] | +----------------+ 書き込み権限の変更が終了すると、Filerビューに反映されます。 ------------------------------------------------------------------------ 7.14. Delete Disk / Delete Dir ------------------------------------------------------------------------ [X]または[Del]キーを押すと、「FDXイメージファイルやディレクトリの削 除」が行われます。空でないディレクトリは削除できません。 本当に削除してよいかどうかを尋ねます。よければ[Yes]を選びます。 +---------------------+ | Delete [1.fdx]. OK? | | | | Yes | | No | +---------------------+ 削除が終了すると、Filerビューに反映されます。 ------------------------------------------------------------------------ 7.15. Shell ------------------------------------------------------------------------ [#]キーを押すと、「シェルの起動」が行われます。 現在表示しているディレクトリをカレントディレクトリとして、シェルが起 動します。シェルをexitすると、FDSの画面に戻ります。 ------------------------------------------------------------------------ 7.17. Set 1st/2nd Drive ------------------------------------------------------------------------ [1]または[2]キーを押すと、「FDXイメージファイルのドライブへの挿入」 が行われます。 FDXイメージファイルを選択している状態で[1]キーを押すと、そのファイル が第1ドライブへ挿入されます。[2]キーを押すと、同様に第2ドライブへ 挿入されます。 第1・第2ドライブに同じFDXイメージファイルを挿入しないよう、注意し てください。 ------------------------------------------------------------------------ 7.17. Eject All ------------------------------------------------------------------------ [0]キーを押すと、「全ドライブからのFDXイメージファイルの排出」が行わ れます。 ドライブを選択すると、「FDXイメージファイルの排出」が行われます、FDD ビューの表示内容が変化することで、動作を確認することができます。 ======================================================================== 8. FDDからの読み出し ======================================================================== [<](Shift+[.])キーを押すと、「FDX68に接続したFDD」からフロッピーディ スクの内容を読み出し、FDXイメージファイルを作成することができます。 ※ 「FDX68にFDDを接続する方法」については、FDX68の「コントローラーモー ド」を参照してください。 http://retropc.net/gimons/fdx68/controller.html まず、読み出すFDDのタイプを選択します。 +----------------------+ | [Select Dump FDD] | | | | X68000 5.25inch | | X68000 3.5inch | | 3-Mode 5.25inch | | 3-Mode 3.5inch | | X1/PC-8801 2D | | X1/PC-8801 2HD | +----------------------+ ※ X1/PC-8801の場合、2HD対応ドライブ搭載機種では「X1/PC-8801 2HD」を 選択してください。2Dドライブと2HD/2Dドライブでは「FDDに送るコマン ドが異なる」ため、間違えると正常にイメージの作成ができません。 続いて、読み出すフロッピーディスクのフォーマットを選択します。一部の 特殊な形式(FDプロテクト方式)に対しては[Raw]を指定する必要がありま すが、ほとんどの場合は非Raw(Encode)形式で問題ありません。 +-----------------------+ | [Select Dump Format] | | | | 2HD(1.4MB,IBM-PC) | | 2HD(1.4MB,IBM-PC,Raw) | | 2HD(1.2MB,JP) | | 2HD(1.2MB,JP,Raw) | | 2DD | | 2DD(Raw) | | 2D | | 2D(Raw) | +-----------------------+ 最後に、保存ファイル名を指定します。 +---------------------------------------------+ | Dump [2HD(1.4MB,IBM-PC)] Disk: | | | | dump_20201224_233056_2HD_1.fdx | +---------------------------------------------+ すべての指定が終わると、FDDからの読み出しが始まります。 +--------------------------------------------------+ | [Dump : 2HD(1.4MB,IBM-PC)] | | dump_20201224_233056_2HD_1.fdx | | | 0 1 2 3 4 5 6 7 8 9 | 0 1 2 3 4 5 6 7 8 9 | | | ---+---------------------+---------------------+ | | 0| o o - o E o o o o o | 1 o o . . . . . . . | | | 20| . . . . . . . . . . | . . . . . . . . . . | | | 40| . . . . . . . . . . | . . . . . . . . . . | | | 60| . . . . . . . . . . | . . . . . . . . . . | | | 80| . . . . . . . . . . | . . . . . . . . . . | | | 100| . . . . . . . . . . | . . . . . . . . . . | | | 120| . . . . . . . . . . | . . . . . . . . . . | | | 140| . . . . . . . . . . | . . . . . . . . . . | | | 160| | | | | ---+---------------------+---------------------+ | | [Push SPACE Key to Cancel] | +--------------------------------------------------+ 読み出し中のトラックの情報が逐次表示されます。意味は以下の通りです。 . 未処理トラック o 読み出し終了トラック 1-9 その回数だけリトライした後、読み出し終了したトラック - アンフォーマット(または解析不可能)トラック E CRCエラー(またはコピープロテクト)を含むトラック ※ オーバートラックを考慮して、少し多めにトラックを読み出すように設 定された形式があります。このため、末尾のトラックにアンフォーマッ トが検出されることがありますが、一般的には問題はありません。 CRCエラー(またはコピープロテクトを持った)トラックを検出した場合、 またはスペースキーでキャンセルした場合、終了後にリトライするかどうか を尋ねます。もう一度実行したい場合は[Yes]を選択してください。 ======================================================================== 9. FDDへの書き出し ======================================================================== [>](Shift+[,])キーを押すと、FDXイメージファイルから「FDX68に接続し たFDD」へ挿入したフロッピーディスクに内容を書き出すことができます。 ※ 「FDX68にFDDを接続する方法」については、FDX68の「コントローラーモー ド」を参照してください。 http://retropc.net/gimons/fdx68/controller.html まず、書き出すFDDのタイプを選択します。 +----------------------+ | [Select Restore FDD] | | | | X68000 5.25inch | | X68000 3.5inch | | 3-Mode 5.25inch | | 3-Mode 3.5inch | | X1/PC-8801 2D | | X1/PC-8801 2HD | +----------------------+ ※ X1/PC-8801の場合、2HD対応ドライブ搭載機種では「X1/PC-8801 2HD」を 選択してください。2Dドライブと2HD/2Dドライブでは「FDDに送るコマン ドが異なる」ため、間違えると正常にイメージの作成ができません。 最後に、書き出しを実行するかどうかを尋ねられます。 +---------------------------------------------+ | Restore to [3-Mode 3.5inch)] . OK? | | | | Yes | | No | +---------------------------------------------+ Yesを選択すると、FDDへの書き出しが始まります。 +--------------------------------------------------+ | [Restore : 2HD(1.4MB,IBM-PC)] | | dump_20201224_233056_2HD_1.fdx | | | 0 1 2 3 4 5 6 7 8 9 | 0 1 2 3 4 5 6 7 8 9 | | | ---+---------------------+---------------------+ | | 0| . . . . . . . . . . | . . . . . . . . . . | | | 20| . . . . . . . . . . | . . . . . . . . . . | | | 40| . . o o o o o o o o | o o o o o o o o o o | | | 60| o o o o o o o o o o | o o o o o o o o o o | | | 80| o o o o o o o o o o | o o o o o o o o o o | | | 100| o o o o o o E o o E | o o o o o o o o o o | | | 120| o o o o o o o o o o | o o o o o o o o o o | | | 140| o o o o o o o o o o | o o o o o o - - - - | | | 160| | | | | ---+---------------------+---------------------+ | | [Push SPACE Key to Cancel] | +--------------------------------------------------+ 読み出し中のトラックの情報が逐次表示されます。意味は以下の通りです。 . 書き出し終了トラック o 書き出し前トラック - アンフォーマット(または解析不可能)トラック E CRCエラー(またはコピープロテクト)を含むトラック スペースキーでキャンセルした場合、終了後にリトライするかどうかを尋ね ます。もう一度実行したい場合は[Yes]を選択してください。 ======================================================================== 10. アナライザモード ======================================================================== FDXイメージファイルに対して[Q]キーを押すと、アナライザモードに入り ます。FDXイメージを読み込んで解析を行い、トラックとセクタの情報を表 示します。 +----------------------------------------------------++-----------------+ | | 0 1 2 3 4 5 6 7 8 9 | 0 1 2 3 4 5 6 7 8 9 ||[KEY INSTRUCTION]| | 0|[8]8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 || | | 20| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 ||Arrow:Move Track | | 40| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 ||AZSX :Move Sector| | 60| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 ||Enter:View Data | | 80| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 ||Q: Quit | | 100| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 ||<: Dump Track | | 120| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 ||>: Restore Track | | 140| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 A A A - - - - || | | 160| - - - - - - - - | || | +----------------------------------------------------++-----------------+ +-----------------------------------------------------------------------+ | [MFM]Rate= 99.70 Gap4a=91 IAM=97 Gap1=64 Gap4b=215 [2HD(1.2MB,JP)] | | Sec Cell Time C H R N CRC GAP2 DAM DATA CRC GAP3 D-Rate | | ------------------------------------------------------------------- | | M01 163 2609 [00:00:01:03] OK 22 OK 1024 OK 200 100.00 | | M02 1438 23009 [00:00:02:03] OK 22 OK 1024 OK 200 100.00 | | M03 2713 43409 [00:00:03:03] OK 22 OK 1024 OK 206 100.00 | | M04 3994 63907 [00:00:04:03] OK 22 OK 1024 OK 200 100.00 | | M05 5269 84307 [00:00:05:03] OK 22 OK 1024 OK 200 100.00 | | M06 6544 104707 [00:00:06:03] OK 22 OK 1024 OK 200 100.00 | | M07 7819 125107 [00:00:07:03] OK 22 OK 1024 OK 200 100.00 | | M08 9094 145507 [00:00:08:03] OK 22 OK 1024 OK 0 100.00 | +-----------------------------------------------------------------------+ [Q]キーを押すと、アナライザモードを終了します。 ------------------------------------------------------------------------ 10.1. トラックビュー ------------------------------------------------------------------------ トラックビューは、ディスク内の全トラックの情報を表示するビューです。 +----------------------------------------------------+ | | 0 1 2 3 4 5 6 7 8 9 | 0 1 2 3 4 5 6 7 8 9 | | 0|[8]8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 20| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 40| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 60| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 80| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 100| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 120| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 8 8 8 8 8 8 8 | | 140| 8 8 8 8 8 8 8 8 8 8 | 8 8 8 A A A - - - - | | 160| - - - - - - - - | | +----------------------------------------------------+ 各トラックの数字は、「トラック内のセクタ数」を示しています。10以上は 「A,B,C...Z」を表示します。セクタのないトラックは、"-"を表示します。 エラーが含まれるトラックは、着色表示されます。 セクタビューで表示対象とするトラックは、カーソル[]で囲まれます。矢印 キーでカーソルを移動することができます。 ------------------------------------------------------------------------ 10.2. セクタビュー ------------------------------------------------------------------------ セクタビューは、トラック内の全セクタの情報を表示するビューです。 +-----------------------------------------------------------------------+ | [MFM]Rate= 99.70 Gap4a=91 IAM=97 Gap1=64 Gap4b=215 [2HD(1.2MB,JP)] | | Sec Cell Time C H R N CRC GAP2 DAM DATA CRC GAP3 D-Rate | | ------------------------------------------------------------------- | | M01 163 2609 [00:00:01:03] OK 22 OK 1024 OK 200 100.00 | | M02 1438 23009 [00:00:02:03] OK 22 OK 1024 OK 200 100.00 | | M03 2713 43409 [00:00:03:03] OK 22 OK 1024 OK 206 100.00 | | M04 3994 63907 [00:00:04:03] OK 22 OK 1024 OK 200 100.00 | | M05 5269 84307 [00:00:05:03] OK 22 OK 1024 OK 200 100.00 | | M06 6544 104707 [00:00:06:03] OK 22 OK 1024 OK 200 100.00 | | M07 7819 125107 [00:00:07:03] OK 22 OK 1024 OK 200 100.00 | | M08 9094 145507 [00:00:08:03] OK 22 OK 1024 OK 0 100.00 | +-----------------------------------------------------------------------+ データに問題がある場合、その部分は着色表示されます。読み取りエラーや、 コピーの障害となる「プロテクトを施した状態」を示します。 セクタ表示には、カーソルが表示されます。[A][Z]キーでカーソルを上下に移動、 [S][X]キーでカーソルを先頭/末尾セクタに移動します。 - FM / MFM データの記録モードを示します。 - Rate データの記録密度の標準値からのずれを示します。 100.00を標準として、値が小さいほど密度が小さい(時間当たりのデー タ量が少ない)ことを示します。回転速度を下げてデータ量を増やすプ ロテクトの認識に役立ちます。 - Gap4a インデックスマークからIAMまでのデータ量を示します。 - IAM IAMの位置を示します。 - Gap1 IAMからIDAMまでのデータ量を示します。 - Gap4 全セクタデータ終了からインデックスマークまでのデータ量を示します。 - Sec インデックスマークからのセクタの通し番号です。[M]ならMFM、[F]なら FMで記録されています。 - Cell インデックスマークからの「セクタの始まる位置」を示します。 - Time インデックスマークからの「セクタの始まる時刻」を示します。 通常、位置と時刻は比例の関係を示しますが、セクタごとに密度 (D-Rate)を変えて記録する「ウェーブプロテクト」を施す場合、比例 関係が崩れることから、これの認識に役立ちます。 - C/H/R/N セクタの情報(ID)を示します。 シリンダ・ヘッド・セクタ番号・セクタ長が記録されます。 - CRC セクタの情報(ID)のCRCが合っていれば[OK]、合っていなければ[NG]を 示します。 - GAP2 ID末尾からDATA先頭までのデータ量を示します。 - DAM データの始まりです。存在すれば[OK]、なければ[NG]を示します。 - DATA データの長さを示します。 - CRC データのCRCが合っていれば[OK]、合っていなければ[NG]を示します。 - GAP3 セクタの末尾から、次のセクタの頭までのデータ量を示します。 - D-Rate セクタの記録密度の標準値からのずれを示します。 100.00を標準として、値が小さいほど密度が小さい(時間当たりのデー タ量が少ない)ことを示します。回転速度を下げてデータ量を増やすプ ロテクトの認識に役立ちます。 ------------------------------------------------------------------------ 10.3 データビュー ------------------------------------------------------------------------ [Enter]キーを押すと、選択したトラック/セクタのデータを読み取って、 [トラックビュー]と切り替えて表示します。 +--------------------------------------------------------+ | M01| 0 1 2 3 4 5 6 7 8 9 A B C D E F|0123456789ABCDEF | | ---+---------------------------------+---------------- | | 000|603C905836384950 4C33300004010100|`<.X68IPL30..... | | 010|02C000D004FE0200 0800020000000000|................ | | 020|0000000000000000 0000002020202020|........... | | 030|2020202020204641 5431322020204FFA| FAT12 O. | | 040|FFC04DFA01B84BFA 00E049FA00EA43FA|..M...K...I...C. | | 050|01204E94708E4E4F 7E70E1488E40263A|. N.p.NO~p.H.@&: | | 060|0102224E243A0100 32074E956628224E|.."N$:..2.N.f("N | | 070|323A00FA204945FA 0178700A00100020|2:.. IE..xp.... | +--------------------------------------------------------+ もう一度[Enter]キーを押すと、[トラックビュー]の表示に戻ります。 また、矢印キーでスクロールすることができます。 フロッピーディスク上の信号は、元のデータに対してFM/MFMという変調を 行った結果となって記録されており、一定の規則があります。この規則 を外れた信号を検出した場合、その位置のデータが着色表示されます。 信号が乱れた場合の読み取りエラーの他、意図的に異常な信号を記録した プロテクトの認識に役立ちます。 [V]キーを押すと、この変調前のデータ(Encodeデータ)とセクタデータ を切り替えて表示することができます。 +----------------------------------------------------------------------------------------+ | M01| 0 1 2 3 4 5 6 7 8 9 A B C D E F|0123456789ABCDEF | | ---+-----------------------------------------------------------------+---------------- | | 000|14AAA552492A914AA514A54A9249112A 9252A525252AAAAAAA92AAA92AA92AAA|`<.X68IPL30..... | | 010|AAA452AAAAAA512AAA925554AAA4AAAA AA4AAAAAAAA4AAAAAAAAAAAAAAAAAAAA|................ | | 020|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA4AAA4AAA4AAA4AAA4AA|........... | | 030|A4AAA4AAA4AAA4AAA4AAA4AA929492A9 1112A5292524A4AAA4AAA4AA92555544| FAT12 O. | | 040|555552AA92515544AAA9454A92455544 AAAA54AA92495544AAAA544492A55544|..M...K...I...C. | | 050|AAA924AA92544912952A4A5492549255 1554952A54A9124A4A5492AAA494A544|. N.p.NO~p.H.@&: | | 060|AAA92AA4A4A49254A492A544AAA92AAA A524AA95125449111494A44AA4A49254|.."N$:..2.N.f("N | | 070|A524A544AAAA5544A4AA924912915544 AAA9154A952AAA44AAAAA92AAAAAA4AA|2:.. IE..xp.... | +----------------------------------------------------------------------------------------+ ------------------------------------------------------------------------ 10.4 トラックのダンプ ------------------------------------------------------------------------ [<](Shift+[.])キーを押すと、「FDX68に接続したFDD」からフロッピー ディスクの指定トラック内容を読み出し、FDXイメージファイルの一部を書 き換えることができます。 まず、読み出すFDDのタイプを選択します。 +-------------------------+ | [Select Dump Track FDD] | | | | X68000 5.25inch | | 3-Mode 5.25inch | | X1/PC-8801 2HD | | [ Cancel ] | +-------------------------+ 続いて、読み出すフロッピーディスクのフォーマットを選択します。 +----------------------+ | [Select Dump Format] | | | | 2HD(Raw) | | [ Cancel ] | +----------------------+ 続いて、エラーリトライの回数を指定します。 +---------------------------------------------+ | Retry Count: | | | | 3 | +---------------------------------------------+ 指定回数以内で読み込みに成功した場合、FDXイメージファイルが更新され ます。エラーが発生した場合でも、その状態のトラックデータでFDXイメー ジファイルを更新してよいかどうか尋ねます。 ------------------------------------------------------------------------ 10.5 トラックの書き出し ------------------------------------------------------------------------ [>](Shift+[,])キーを押すと、FDXイメージファイルから指定トラックの 内容を「FDX68に接続したFDD」から書き出し、フロッピーディスクの一部を 書き換えることができます。 まず、書き出すFDDのタイプを選択します。 +----------------------------+ | [Select Restore Track FDD] | | | | X68000 5.25inch | | 3-Mode 5.25inch | | X1/PC-8801 2HD | | [ Cancel ] | +----------------------------+ 本当に書き出してよいかどうかを尋ねます。 +-----------------------------------------+ | Restore Track to [X68000 5.25inch]. OK? | | | | Yes | | No | +-----------------------------------------+ 書き出しを完了すると、アナライザモードに戻ります。 ------------------------------------------------------------------------ 10.6 トラックのマージ ------------------------------------------------------------------------ [M]キーを押すと、現在読み込んでいるFDXイメージファイルの指定トラック に、別のFDXイメージファイルの同トラックを混ぜ込む(マージする)ことが できます。 まず、現在読み込んでいるFDXイメージファイルと同じフォルダに、別のFDX イメージファイルを設置してください。ここでは、現在読み込んでいるファ イルを「Source.FDX」、マージするファイルを「Merging.FDX」とします。 「Source.FDX」と「Merging.FDX」は、同じ形式にしてください。2D/2DD/2HD、 Encode/RAWなどの形式が異なるFDXファイルは、マージできません。 (「7.12. Convert Disk」を使用して、形式を合わせることができます。) 「Source.FDX」をアナライザモードで開きます。マージするトラックをカー ソルキーで選んでください。ここでは、トラック23を選んだとします。 続いて[M]キーを押すと、マージするFDXファイルを選択するダイアログが表 示されます。 +----------------------------+ | [Select FDX File to merge] | | | | Merging.FDX | | Source.FDX | | [ Cancel ] | +----------------------------+ 「Merging.FDX」を選ぶと、本当に「Merging.FDX」のトラック23を 「Source.FDX」にマージしてよいかどうかを尋ねます。 +-----------------------------------------+ | Merge track 23 | | of [Merging.FDX] | | into [Source.FDX]. | | | | OK? | | | | Yes | | No | +-----------------------------------------+ マージを完了すると、アナライザモードに戻ります。 ======================================================================== 11. Windows上での実行 ======================================================================== 1. ソースパッケージをダウンロードして展開します。「fds/fds.exe」が実行 ファイルです。 2. fds実行ファイルと同じディレクトリに fdxwinbin/ を作成し、fdx68システ ムから以下をコピーします。 + fdxbinwin/ | - fdxconv.exe | - fdxview.exe | - fdxtool.exe | - fdxtrkcpy.exe 以降は、Raspberry Piで実行する場合と同じです。Raspberry Piと同じfds フォルダをWindowsで扱っても構いません。 ======================================================================== 12. ソースのビルド ======================================================================== ソースのビルドは、Raspberry Pi実機で行います。当方は以下を使用していま す。 - Raspbian Buster Lite: February 2020 「make」のみで、リリースビルドを行います。「make DEBUG=1」で、デバッグ ビルドを行うこともできます。デバッグビルドでは、オプション「--log」が常 に付加された状態になります。 Windows版のビルドは、VisualStudio 2019を使用します。 このコードには、PDCursesを改変したライブラリが含まれています。 変更点は以下にあります。 - PDCurses https://github.com/gorry/PDCurses ======================================================================== 13. 著作権表記 ======================================================================== 本プロダクトのうち、後藤 浩昭(GORRY)が制作したソースコードは、 「Apache License Version 2.0」で配布されます。このライセンスに基づいて の使用・再配布が許可されます。 「Apache License Version 2.0」のライセンス条文は、以下からお読みいただ けます。 - http://www.apache.org/licenses/LICENSE-2.0.txt (オリジナル) - APACHE-LICENSE-2.0.txt (ローカルコピー) - http://sourceforge.jp/projects/opensource/wiki/licenses%2FApache_License_2.0 (日本語参考訳) 本プロダクトには、限定配布であるfdx68ソースコードからの情報引用が行われ ていますが、この部分につきましては原作者の許諾を得ています。 本プロダクトには、以下のプロダクトを含んでいます。 - wcwidth https://github.com/termux/wcwidth - PDCurses https://github.com/gorry/PDCurses 本プロダクトは、以下URLを配布先とします。利便性などのためにこれ以外の URLで配布することがありますが、以下が最も正式なものであり、完全な最新の パッケージを得ることができます。 http://GORRY.hauN.org/pw/?fds ======================================================================== 14. 連絡先 ======================================================================== 後藤 浩昭 / GORRY http://GORRY.hauN.org/ twitter/gorry5 ======================================================================== [EOF]