ちゃんと64KByteと認識して、フォーマットが終了
フォーマット後、FILESでファイルを確認すると問題なし。
しかし、SAVEでファイルを書き込もうとすると、「?DF Error」で終了する
MRAMに何が書き込まれたのか、ダンプしてみた。
フォーマット後の先頭16バイトを、他の容量と比較してみる。
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
64KB (?DF Error) | AA | 1F | 08 | 00 | 04 | 80 | 00 | 02 | 07 | 08 | 02 | 06 | 10 | 00 | 00 | 00 |
32KB | AA | 1F | 04 | 00 | 04 | 80 | 00 | 01 | 04 | 04 | 01 | 03 | 08 | 00 | 00 | 00 |
16KB | AA | 0F | 04 | 00 | 04 | 40 | 00 | 01 | 04 | 04 | 01 | 03 | 08 | 00 | 00 | 00 |
8KB | AA | 07 | 04 | 00 | 04 | 20 | 00 | 01 | 04 | 04 | 01 | 03 | 08 | 00 | 00 | 00 |
4KB | AA | 03 | 04 | 00 | 04 | 10 | 00 | 01 | 04 | 04 | 01 | 03 | 08 | 00 | 00 | 00 |
初代パソピアのフォーマッタから、各アドレスの意味を予測してみる
アドレス | 変数 | 式/値 |
---|---|---|
00 | 0x00 :初代パソピア 0xAA :パソピア7 | |
01 | 最大トラック数 | 0x03 :4KB 0x07 :8KB 0x0F :16KB 0x1F :32KB 0x1F :64KB 0x3F :128KB 0x7F :256KB 0x7F :512KB 0x7F :1MB 0x7F :2MB 0x7F :4MB |
02 | セクタ数 | 0x04 :4KB 0x04 :8KB 0x04 :16KB 0x04 :32KB 0x08 :64KB 0x08 :128KB 0x08 :256KB 0x10 :512KB 0x20 :1MB 0x40 :2MB 0x80 :4MB |
03 | 両面 | 0固定 |
04 | クラスタトラック | 128/(最大トラック数+1) ※但しセクタ数以下 |
05 | クラスタ数 | クラスタトラック×(最大トラック数+1) |
06 | DIRトラック | 0固定 |
07 | クラスタサイズ | セクタ数/クラスタトラック |
08 | FAT先頭 | FAT終了-FAT数+1 |
09 | FAT終了 | セクタ数 |
0A | FAT数 | 0x01:セクター数が1-4の場合 0x02:セクター数が5-8の場合 0x03:セクター数が9以上の場合 |
0B | DISK情報 | FAT先頭-1 |
0C | モディファイカウント | セクタ数×2 |
64KBフォーマットの場合、32KB以下に比べてセクタ数が倍になっており、それに応じてFAT情報なとも変わっている様子。
MRAM本体側の問題であることも捨てきれないので、エミュレータとを改造して試してみたところ、実機と同じように?DF Errorになった。
T-BASIC1.0/1.1、T-BASIC7、いずれも同じ結果。
MRAMのRAM PAC2にこのフォーマットを書き込んでおくと、32KBに制限されるがBASICでの読み書きが出来たので、MRAM側は問題なさそう。
32KBのフォーマットは、以下の通り。
アドレス | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000-000F | ヘッダ | AA | 1F | 04 | 00 | 04 | 80 | 00 | 01 | 04 | 04 | 01 | 03 | 08 | 00 | 00 | 00 |
0010-001F | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | |
0020-021F | ディレクトリ | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
0220-02FF | 属性 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
0300-030F | FAT | FE | FE | FE | FE | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF |
0310-037F | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | FF | |
0380-03FF | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | |
0400-7FFF | データ領域 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
つづく
0 件のコメント:
コメントを投稿