SD6031/SD6031WIF用のファームウエア(ver1.11)をリリースします。
注)SD6031Airには使用できません。
SD6031_ver111.zip
・Ver1.00→Ver1.10変更点(Ver1.10未公開)
FlashAir(W-02/W-03/W-04)対応。
D88 を入れ替えた時に、正常に読み込まない可能性があるのを修正。
・Ver1.10→Ver1.11変更点
(FlashAir)拡張子を表示するようにした。
注)FlashAirを使用して、P6の起動時のファイルを選択するためには、SD6031/SD6031WIF を改造する必要があります(1箇所パターンカット)。
起動時のファイルを選ばなくていいのであれば、改造の必要はありません。
FDアクセスには、ChaNさん作のぷちFatFSとサンプル用プログラムを使用しています。
Web用のhtml、Javaスクリプトは、西田さんが SD6031Air用に開発されたものをベースに改造しています。
フォントファイルに、Hashiさん作のP6mk2フォントを使用しています。
それぞれの作者さんに感謝です。
ある程度のテストしかしていないので、何か問題がありましたら連絡頂けると幸いです、


PC6001VW4やD88TOOLSで作成した1DDのD88イメージファイル(それを変換したP31ファイル)が、SD6031WIF+60SR環境で読み込むことができません。
1DDや1Dのような片面ディスクのD88イメージは、1トラック置きにデータが格納されていると思うのですが、
SD6031WIFでは、1DDを2Dと同様に扱ってしまうようで、それが原因のような気がします。
ちなみに、D88イメージのヘッダに記録されるディスクの種類は、2D=0x00, 2DD=0x10, 2HD=0x20, 1D=0x00(または0x30?), 1DD=0x40 らしいので、
その情報を見て、1DDも1トラック置きにデータを読むようにしていただければ、問題は解決されたりしないのでしょうか。
(ディスク関連には詳しくないので、間違っていたらすみません…)
P.S.
ちなみに、バージョン307以前のPC6001VWでは、1DDのイメージを2Dとして出力していたので、SD6031WIF用のイメージ作成には昔のPC6001VWを使用しています。
ええっと...上記に書かれている処理は行われているので、どうしようかなーという所です。
多分、使用されているフォーマットが、1DD ではなく、2D のフォーマットだと思われます。
これが D88 の 1DD フォーマット
00000000: 0000 0000 0000 0000 0000 0000 0000 0000
00000010: 0000 0000 0000 0000 0000 0010 b052 0500
00000020: b002 0000 0000 0000 b013 0000 0000 0000
00000030: b024 0000 0000 0000 b035 0000 0000 0000
これが D88 の 2D フォーマット
00000000: 0000 0000 0000 0000 0000 0000 0000 0000
00000010: 0000 0000 0000 0000 0000 0000 b052 0500
00000020: b002 0000 b013 0000 b024 0000 b035 0000
00000030: b046 0000 b057 0000 b068 0000 b079 0000
です。
P31フォーマットに変換する際も、2D フォーマットを P31 に変換するとおかしくなります。
(後、P31→D88 の 1D 版は、間違って 2D のフォーマットでデータを出力しているようです)。
可能であれば、ファイルの先頭部分を、ここに書き込んでもらうとはっきりすると思います。
上記の件、もしかして 1D フォーマットのディスクを挿入して、モード3〜5で起動させた場合に正常に読まない、とかじゃないですか?
> 2D=0x00, 2DD=0x10, 2HD=0x20, 1D=0x00(または0x30?), 1DD=0x40
が正しいようです。
PC6001VWやD88TOOLSでは、1DDイメージ作成の際、ディスク種別に0x40が書かれるため、6031WIFのファームでは正しく判断できないのではないでしょうか。
> 1DD=0x40
は初耳です。
2DD で、裏面側にデータがないのが、1DD のフォーマットになっているはずで、上の方に貼ったデータも、d88tool で出力したものです。
もしかして、d88tool は、私が思っているものとは別物ですか?(私は、Bookwormさんが作ったツールを想定しています)。
だと思っていたのですが...
P6VWの方で、〜.dsk を入れて、〜.d88 を生成すると、その時は0x40 になる事の確認が取れました(^^;)
ですので、次バージョンで対応しますね。
d88を使用時は、ヘッダのチェックで跳ねちゃっているために動作しないので、ヘッダの0x1b の内容を 0x40 → 0x10 に変更すると問題なく動作すると思います。
これで動かないと別の問題なので、その場合はまた教えて下さい。
後、上記の通りだとすると、このフォーマット(0x1b の値が 0x40)を〜.P31 に変換したものは動くはずです。変換ツールがヘンになっている可能性はありますが。
すみません、D88TOOLSは勘違いでした。これで作成すると0x10になってしまいますね(^_^;)
このあたりを弄るユーザーが P6 勢か SMC 勢くらいしかいないので各地で微妙な方言があったように思います。
1D=0x30 1DD=0x40 という拡張は 1Ditt が元になっていたのではないかと。
d88tool では、1D/1DD は 2D/2DD の「片面しか使わない」扱いと見なしており 1D=0x00 1DD=0x10 にしています。
これは西田さんの P31<-> D88 変換ツールや NDitt を参考にしたものだったと記憶しています。
こういう経緯もあって、ツールとしてはあまりメディアタイプの値は信用したくないのですよね。。。
60VWでも、1Dイメージのメディアタイプは0x00になりますし、0x30になっている1Dイメージは見たことがありません。
(というか、1Dを使用する機種もほとんどないですし、P6界隈の皆さんの対応=標準ルール、みたいな感じですが)
結局、ヘッダのトラックオフセットやファイルサイズからメディアを判断するのが安全ということで。
色々と勉強になりました。
>> 1D=0x30 1DD=0x40 という拡張は 1Ditt が元になっていたのではないかと。
これが元凶(?)かぁ...
ちょっと調べてみましたが、P6VW では、〜.dsk → 〜.d88 に変換した時は、0x1b の値は 0x40 になります。
しかし、、他のツールなどで 0x10 の値に設定している 1DD フォーマットは、そのままP6VW で読み込みも出来ますし、書き込んだ後でも、0x10 のままになります。
なので、0x1b の値を 0x40 のものは 0x10 に全て変換すれば大丈夫じゃないかなーと思います。
次バージョン(Ver1.12)で、0x40 の時も 1dd と見做すようにしましたが、どうもこのバイトではなくその後のトラック数を数えるのが正解なようですね。