Skip to content

Latest commit

 

History

History
153 lines (115 loc) · 5.96 KB

DISK.md

File metadata and controls

153 lines (115 loc) · 5.96 KB

D88形式フォーマット

ここではD88フォーマットに関する情報を記載します。

基本構造

項目 サイズ
ヘッダ トラック0の位置
トラック0 不定
トラック1 不定
... ...
  • トラック0の位置は0x2B0が基本。(詳細はヘッダ参照)
  • 特に明記されていない複数バイトの数値はリトルエンディアン

トラック

  • 最大トラック数 164
  • トラック数はセクタ数、セクタヘッダ、データサイズによって変化

ヘッダ

項目 位置 サイズ 備考
ディスク名 0x00 17 文字列(末尾が0x00)
予約 0x11 9
ライトプロテクト 0x1a 1 0x00=なし 0x10=あり
ディスクの種類 0x1b 1 [1]
ディスクサイズ 0x1c 4 ヘッダと全トラック
トラック先頭オフセット 0x20 4*164[2] [3]

[1] 0x00=2D 0x10=2DD 0x20=2HD 0x30=1D 0x40=1DD
[2] 4*164 = 656(0x290)
[3] ファイル先頭からのオフセット トラック0~163

アドレス計算

必要ヘッダ + トラックアドレス部
32(0x20) + 656(0x290) = 688(0x2b0)

トラック

複数セクタを結合したもの。

セクタ

項目 位置 サイズ 備考
シリンダ(C) 0x00 1 0から
ヘッダ/サイド(H) 0x01 1 0=表面 1=裏面
セクタ(R) 0x02 1 1からセクタ数まで
セクタサイズ(N) 0x03 1 [1]
トラック中のセクタ数 0x04 2 16など
記録密度 0x06 1 [2]
削除フラグ 0x07 1 0x00=通常 0x10=削除
ステータス 0x08 1 下記ステータス詳細を参照
予約 0x09 5
このセクタのデータサイズ 0x0e 2
データ 0x10 不定 セクタサイズ分

[1] 0=128bytes 1=256bytes 2=512bytes 3=1024bytes ... 128<<N
[2] 0x00=倍密度 0x40=単密度 0x01=高密度

ステータス詳細

詳細
0x00 正常
0x10 正常(DELETED DATA)
0xa0 ID CRC エラー
0xb0 データ CRC エラー
0xe0 アドレスマークなし
0xf0 データマークなし

密度

密度 一般記号
高密度 HD
倍密度 DD
単密度 D

例:2Dフォーマット

トラック数 サイド セクタ数/トラック セクタサイズ(byte)
40 2 16 256

ヘッダ

項目 サイズ
ディスク 17 (任意)
予約 9 0x00
ライトプロテクト 1 0x00
ディスクの種類 1 0x00
ディスクサイズ 2 [1]
トラック先頭のオフセット 4*164 0x02b0,0x24b0,...

[1] 348848 = 0x2b0(ヘッダ) + 40(トラック数) x 2(面) x 16(セクタ/トラック) x (0x10(セクタヘッダ) + 0x100(セクタデータ))

トラック(2D)

C H R N セクタ位置
0 0 1 1 0x2b0
0 0 2 1 0x3c0
... ... ... ... ...
0 0 16 1 0x12a0
0 1 1 1 0x13b0
... ... ... ... ...
0 1 16 1 0x23a0
1 0 1 1 0x24b0
... ... ... ... ...
39 1 16 1 0x551a0

C=トラック、H=サイド、R=セクタ、N=セクタサイズ

セクタ(2D)

項目 位置 サイズ
トラック 0x00 1 0〜39
サイド 0x01 1 0 or 1
セクタ 0x02 1 1〜16
セクタサイズ 0x03 1 1
トラック中のセクタ数 0x04 2 16
記録密度 0x06 1 0x00
削除フラグ 0x07 1 0x00
ステータス 0x08 1 0x00
予約 0x09 5 0
このセクタのデータサイズ 0x0e 2 256
データ 0x10 256 (実データ)

セクタ(2HD)

項目 位置 サイズ
トラック 0x00 1 0〜76(0x4C)
セクタ 0x02 1 1〜26(0x1A)
トラック中のセクタ数 0x04 2 0x1A

参照元

http://gra4.hatenadiary.jp/entry/20171108/1510096429
https://github.com/jpzm/wii88/blob/master/document/FORMAT.TXT
http://www.z88dk.org/tools/x1/