フロッピーディスク
3インチ コンパクトフロッピーディスク
概要
FD I/Fカード MP-1805 + FDDユニットMP-3370/3375 の組み合わせで使用できる。
ディスクは片面単密度(1S) x 裏表2面 で表であるA面と裏であるB面の切り替えは手動でおこなう。
なお、5インチ片面単密度である MP-1800 + MP-3540 はディスク面の切り替えはできないもののフォーマットは3インチと同じ。
パラメータ:
2面/ディスク1枚(手動で入れ替え)
40トラック/片面
16セクタ/トラック
128バイト/セクタ
記録方式:
FM方式
回転数:300rpm(125Kbit/s)
なお、DISK BASICではセクタ番号は順番には並んでおらず、セクタ1の次が12、その次が7という風になっている。(インターリーブが3)
DISK BASICのフォーマット
システムディスクのトラック構成
| トラック | セクタ | 内容 |
|---|---|---|
| 0 | 1 ... 2 | DISK BASICローダ |
| 3 ... 16 | 未使用 | |
| 1 ... 2 | 全て | メモリ32KB用DISK BASICシステムコード |
| 3 ... 4 | 全て | メモリ40KB用DISK BASICシステムコード |
| 5 ... 12 | 全て | ユーティリティプログラム |
| 13 | 1 ... 4 | |
| 5 ... 16 | ユーザ・エリア | |
| 14 ... 19 | 全て | |
| 20 | 全て | ファイル管理エリア |
| 21 ... 39 | 全て | ユーザ・エリア |
ユーザディスクのトラック構成
| トラック | セクタ | 内容 |
|---|---|---|
| 0 ... 19 | 全て | ユーザ・エリア |
| 20 | 全て | ファイル管理エリア |
| 21 ... 39 | 全て | ユーザ・エリア |
ファイル管理エリアのフォーマット
ファイル管理エリアには、FAT(ファイル・アロケーション・テーブル)とディレクトリが含まれる。
FATは各グループ(クラスタ)の使用状態を示すテーブル。1グループは4セクタで最大グループ番号は155($9B)。
セクタ1の5バイト目から1バイトごとにそのグループ番号の使用状態を記録している。データの値は以下のとおり。
| データの値 | 内容 |
|---|---|
| $00 ~ $9B | ファイルの一部であることを示し、後続するグループ番号を指している。 (トラック20のセクタはとばして計算する。) |
| $C0 ~ $C3 | ファイルの最後のグループを示す。下位4ビットが 使われているセクタ数+1 を示す。 |
| $FD | 削除された領域。ランダムアクセスファイルでクローズされるまで残る。 |
| $FE | システムで使用している領域。ユーザは使用できない。 |
| $FF | 未使用領域を示す。 |
ディレクトリはファイル名、属性を記録するテーブル。セクタ7から16までを使用する。1ファイルに付き32バイト使用する。
| # | 位置 | バイト数 | 内容 |
|---|---|---|---|
| 1 | 0...7 | 8 | ファイル名 |
| 2 | 8...10 | 3 | 未使用($00) |
| 3 | 11 | 1 | ファイルの種類 $00 ... BASIC $01 ... データ $02 ... 機械語 |
| 4 | 12 | 1 | ファイルの種類2 $00 ... バイナリ形式(BASIC, 機械語のみ) $FF .... アスキー形式(BASIC, データのみ) |
| 5 | 13 | 1 | ファイルの種類3 $00 ... シーケンシャル $FF .... ランダムアクセス |
| 6 | 14 | 1 | ファイルが格納されている最初のグループ番号 |
| 7 | 15...31 | 17 | 未使用($00) |
データのフォーマット
BASIC - バイナリ形式
カセットテープと同じ。ファイルの最後には終端記号($1A)が入る。
BASIC - アスキー形式
1バイト目に改行が入る。改行はCR+LF($0D+$0A)となる。ファイルの最後には終端記号($1A)が入る。
機械語
カセットテープと同じ。ファイルの最後には終端記号($1A)が入る。データ - シーケンシャル
改行はCR+LF($0D+$0A)となる。ファイルの最後には終端記号($1A)が入る。
データ - ランダムアクセス
1レコードにつき1セクタ使用する。
I/O
FDC(HD46503S(MC6843))(片面単密度用)
| アド レス |
データビット | R / W | 備考 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
| FF18 | R | DIR | ||||||||
| W | DOR | |||||||||
| FF19 | ? | R / W | CTAR | |||||||
| FF1A | R | CMR | ||||||||
| x | x | x | x | W | ISR | |||||
| FF1B | R | STRA | ||||||||
| W | SUR | |||||||||
| FF1C | x | x | x | R | STRB | |||||
| W | SAR | |||||||||
| FF1D | x | W | GCR | |||||||
| FF1E | x | x | x | x | x | x | W | CCR | ||
| FF1F | x | W | LTAR | |||||||
DRIVE-SEL(片面単密度用)
| アド レス |
データビット | R / W | 備考 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
| FF20 | MT | x | x | x | D3 | D2 | D1 | D0 | W | |
D0:ドライブ0 D1:ドライブ1 D2:ドライブ2 D3:ドライブ3 選択
MT:モータON/OFF
※リード操作を行うと、$FFがこのレジスタに書き込まれる。
ピン配置(MP-1800/MP-1805)
![]() |
No. | 意味 | データ方向 | 備考 |
| 1 | /HEAD LOAD | OUT | 増設ドライブはMP-1801を介して接続する。 | |
| 2 | NC | --- | ||
| 3 | /READY | IN | ||
| 4 | /INDEX | IN | ||
| 5 | /DRIVE0 SELECT | OUT | ||
| 6 | /DRIVE1 SELECT | OUT | ||
| 7 | NC | --- | ||
| 8 | /MOTOR | OUT | ||
| 9 | /DIRC | OUT | ||
| 10 | /STEP | OUT | ||
| 11 | /WRITE DATA | OUT | ||
| 12 | /WRITE GATE | OUT | ||
| 13 | /TRACK00 | IN | ||
| 14 | /WRITE PROTECT | IN | ||
| 15 | /READ DATA | IN | ||
| 16 | NC | --- | ||
| 17 | NC | --- | ||
| 18~25 | Vcc(+5V) | IN | ||
| 26~50 | GND | --- |
Vcc(+5V)はFDD側から供給する必要がある。
5.25インチ ミニフロッピーディスク
概要
FD I/Fカード MP-1802 + FDDユニットMP-3550/3560 の組み合わせで使用できる。
ディスクは両面倍密度(2D)
パラメータ:
40トラック/片面 x 2
16セクタ/トラック
256バイト/セクタ
記録方式:
MFM方式
回転数:300rpm(250Kbit/s)
DISK BASICではインターリーブ:6
DISK BASICのフォーマット
システムディスクのトラック構成
| トラック | セクタ | 内容 |
|---|---|---|
| 0 | 1 ... 2 | DISK BASICローダ |
| 3 ... 32 | 未使用 | |
| 1 | 1 ... 24 | DISK BASICシステムコード |
| 25 ... 32 | ユーザ・エリア | |
| 2 ... 17 | 全て | |
| 18 | 1 ... 16 | |
| 17 ... 32 | ユーティリティプログラム | |
| 19 | 全て | |
| 20 | 全て | ファイル管理エリア |
| 21 | 全て | ユーティリティプログラム |
| 22 ... 39 | 全て | ユーザ・エリア |
セクタ1...16がサイド0,セクタ17...32がサイド1。
|
||
ユーザディスクのトラック構成
| トラック | セクタ | 内容 |
|---|---|---|
| 0 | 全て | 未使用 |
| 1 ... 19 | 全て | ユーザ・エリア |
| 20 | 全て | ファイル管理エリア |
| 21 ... 39 | 全て | ユーザ・エリア |
ファイル管理エリアのフォーマット
FATは各グループ(クラスタ)の使用状態を示すテーブル。1グループは8セクタで最大グループ番号は151($97)。
セクタ2の2バイト目から1バイトごとにそのグループ番号の使用状態を記録している。データの値は以下のとおり。
| データの値 | 内容 |
|---|---|
| $00 ~ $97 | ファイルの一部であることを示し、後続するグループ番号を指している。 (トラック20のセクタはとばして計算する。) |
| $C1 ~ $C8 | ファイルの最後のグループを示す。下位4ビットが 使われているセクタ数を示す。 |
| $C0 | ファイルが新たに開かれた時などで最初のグループを示す。 |
| $FE | システムで使用している領域。ユーザは使用できない。 |
| $FF | 未使用領域を示す。 |
ディレクトリはファイル名、属性を記録するテーブル。セクタ5から23?までを使用する。1ファイルに付き32バイト使用する。
| # | 位置 | バイト数 | 内容 |
|---|---|---|---|
| 1 | 0...7 | 8 | ファイル名 |
| 2 | 8...10 | 3 | 拡張子 |
| 3 | 11 | 1 | ファイルの種類 $00 ... BASIC $01 ... データ $02 ... 機械語 |
| 4 | 12 | 1 | ファイルの種類2 $00 ... バイナリ形式(BASIC, 機械語のみ) $FF .... アスキー形式(BASIC, データのみ) |
| 5 | 13 | 1 | ファイルが格納されている最初のグループ番号 |
| 6 | 14...15 | 2 | ファイルの最終セクタのサイズ(バイト数) |
| 7 | 16...31 | 16 | 未使用($00) |
データのフォーマット
BASIC - バイナリ形式
カセットテープと同じ。終端記号($1A)は入らない。
BASIC - アスキー形式
1バイト目に改行が入る。改行はCR+LF($0D+$0A)となる。終端記号($1A)は入らない。
機械語
カセットテープと同じ。終端記号($1A)は入らない。データ - シーケンシャル
改行はCR+LF($0D+$0A)となる。終端記号($1A)は入らない。
データ - ランダムアクセス
1レコードにつき最低128バイト使用する(最大サイズはユーティリティで変更可能)。なお、ファイル種類はシーケンシャルデータと同じ。
I/O
FDC(MB8866)(両面倍密度用)
| アド レス |
データビット | R / W | 備考 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
| FF00 | R | STR | ||||||||
| W | CR | |||||||||
| FF01 | R / W | TR | ||||||||
| FF02 | R / W | SCR | ||||||||
| FF03 | R / W | DR | ||||||||
DRIVE-SEL(両面倍密度用)
| アド レス |
データビット | R / W | 備考 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |||
| FF04 | DRQ | x | x | x | x | x | x | IRQ | R | |
| x | NM | D/S | S | M | x | DRV | W | |||
IRQ:通常=1 IRQ発生時=0 -> NMI割り込み発生
DRQ:通常=1 DRQ発生時=0
DRV:ドライブ選択(0~3)
M:モータON/OFF
S:サイド選択
D/S: 倍密度=1 単密度=0
NM: NMI禁止する場合=1
ピン配置(MP-1802)
![]() |
No. | 意味 | データ方向 |
| 1 | /HEAD LOAD | OUT | |
| 2 | /DRIVE3 SELECT | OUT | |
| 3 | /READY | IN | |
| 4 | /INDEX | IN | |
| 5 | /DRIVE0 SELECT | OUT | |
| 6 | /DRIVE1 SELECT | OUT | |
| 7 | /DRIVE2 SELECT | OUT | |
| 8 | /MOTOR | OUT | |
| 9 | /DIRC | OUT | |
| 10 | /STEP | OUT | |
| 11 | /WRITE DATA | OUT | |
| 12 | /WRITE GATE | OUT | |
| 13 | /TRACK00 | IN | |
| 14 | /WRITE PROTECT | IN | |
| 15 | /READ DATA | IN | |
| 16 | /SIDE SELECT | OUT | |
| 17 | READ CLOCK | IN | |
| 18~25 | Vcc(+5V) | IN | |
| 26 | DOUBLE DENSITY | OUT | |
| 27~48 | GND | --- |
Vcc(+5V)はFDD側から供給する必要がある。
