アドレス | R/W | 説明 | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FCh | R/W | ディスクサブシステムI/F 8255 ポートA 標準状態ではサブシステムからのデータ受信ポート |
||||||||||||||||||||||||||||||||||||||||||||||||||
FDh | R/W | ディスクサブシステムI/F 8255 ポートB 標準状態ではサブシステムへのデータ送信ポート |
||||||||||||||||||||||||||||||||||||||||||||||||||
FEh | R/W | ディスクサブシステムI/F 8255 ポートC
|
||||||||||||||||||||||||||||||||||||||||||||||||||
FFh | W | ディスクサブシステムI/F 8255 コントロール |
ラベル | アドレス | 機能 | |
---|---|---|---|
N88 | N | ||
PUTCOM | 37CCh | 017Ch | Aレジスタの内容をコマンドとしてサブシステムに送信する |
PUTDAT | 37D2h | 0183h | Aレジスタの内容をサブシステムに送信する |
GETDAT | 3847h | 01E9h | サブシステムから受信したデータをAレジスタに返す |
<ドライブ番号> | 0, 1 |
<トラック番号> | 0〜79 |
<セクタ番号> | 1〜16 (2D) |
コマンド番号 | 00h |
---|---|
機能名 | イニシャライズ |
コマンド形式 | ホスト→サブ <00h> |
機能 |
ドライブのモータON、FDCをリセット、ヘッドを初期位置へ戻す ドライブの動作モード(両面/片面)、リードアフターライトチェックモードは変更しない |
コマンド番号 | 01h |
---|---|
機能名 | ライトデータ |
コマンド形式 | ホスト→サブ <01h> <セクタ数> <ドライブ番号> <トラック番号> <セクタ番号> <データ列...> |
機能 | ホストから送信されるデータをディスクに書き込む |
コマンド番号 | 02h |
---|---|
機能名 | リードデータ |
コマンド形式 | ホスト→サブ <02h> <セクタ数> <ドライブ番号> <トラック番号> <セクタ番号> |
機能 |
指定のセクタからデータを読み出し、サブシステムのバッファに格納する ホストがデータを得るには、センドデータコマンドを続けて実行する |
コマンド番号 | 03h |
---|---|
機能名 | センドデータ |
コマンド形式 |
ホスト→サブ <03h> サブ→ホスト <データ列...> |
機能 | 直前のリードデータコマンドで読み込んだサイズのデータをホストに転送する |
コマンド番号 | 04h |
---|---|
機能名 | コピー |
コマンド形式 | ホスト→サブ <04h> <セクタ数> <ドライブ番号1> <トラック番号1> <セクタ番号1> <ドライブ番号2> <トラック番号2> <セクタ番号2> |
機能 | セクタ単位でセクタの内容をコピーする |
コマンド番号 | 05h |
---|---|
機能名 | フォーマット |
コマンド形式 | ホスト→サブ <05h> <ドライブ番号> |
機能 | ディスクのフォーマットを行う |
コマンド番号 | 06h |
---|---|
機能名 | センドリザルトステータス |
コマンド形式 |
ホスト→サブ <06h> サブ→ホスト <ステータス> |
機能 |
直前に送られたコマンドの実行結果をメイン側に送る リザルトステータスの第0ビットが1ならエラー 第6ビットが1ならリードバッファにデータ有り 第7ビットが1ならI/O動作終了 |
コマンド番号 | 07h |
---|---|
機能名 | センドドライブステータス |
コマンド形式 |
ホスト→サブ <07h> サブ→ホスト <ステータス> |
機能 | ドライブステータスのビット7〜ビット4がドライブの接続状態を示す |
コマンド番号 | 08h |
---|---|
機能名 | テストメモリ |
コマンド形式 |
ホスト→サブ <08h> サブ→ホスト <ステータス> |
機能 |
サブシステムのメモリテストを行う 80h: OK 81h: NG |
コマンド番号 | 09h |
---|---|
機能名 | センドメモリ |
コマンド形式 |
ホスト→サブ <09h> <開始アドレスH> <開始アドレスL> <終了アドレスH> <終了アドレスL> サブ→ホスト <データ列...> |
機能 | サブシステムのメモリ内容をホストに転送する |
コマンド番号 | 0Ah |
---|---|
機能名 | アウトマージンサポート |
コマンド形式 | ホスト→サブ <0Ah> <データ> |
機能 | サブシステムのI/OポートF7hに指定のデータを出力する(利用価値なし) |
コマンド番号 | 0Bh |
---|---|
機能名 | センドメモリ2 |
コマンド形式 |
ホスト→サブ <0Bh> <開始アドレスH> <開始アドレスL> <バイト数H> <バイト数L> サブ→ホスト <データ列...> |
機能 | サブシステムのメモリ内容をホストに転送する |
コマンド番号 | 0Ch |
---|---|
機能名 | レシーブメモリ |
コマンド形式 | ホスト→サブ <0Ch> <開始アドレスH> <開始アドレスL> <バイト数H> <バイト数L> |
機能 | ホストからサブシステムのメモリにデータを転送する |
コマンド番号 | 0Dh |
---|---|
機能名 | エグゼキュート |
コマンド形式 | ホスト→サブ <0Dh> <開始アドレスH> <開始アドレスL> |
機能 | サブシステムの指定アドレスから実行を開始する |
コマンド番号 | 0Eh |
---|---|
機能名 | ロードデータ |
コマンド形式 | ホスト→サブ <0Eh> <セクタ数> <ドライブ番号> <トラック番号> <セクタ番号> <開始アドレスH> <開始アドレスL> |
機能 | ディスクからデータを読み出し、サブシステムの指定のアドレスに格納する |
コマンド番号 | 0Fh |
---|---|
機能名 | セーブデータ |
コマンド形式 | ホスト→サブ <0Fh> <セクタ数> <ドライブ番号> <トラック番号> <セクタ番号> <開始アドレスH> <開始アドレスL> |
機能 | サブシステムの指定のアドレスのデータをディスクに書き込む |
コマンド番号 | 10h |
---|---|
機能名 | ロード&ゴー |
コマンド形式 | ホスト→サブ <10h> |
機能 | イニシャライズ後、ドライブ1、トラック0、セクタ1の256バイトのデータをサブ側の5000hに読み込み、実行する |
コマンド番号 | 11h |
---|---|
機能名 | 高速ライトデータ |
コマンド形式 | ホスト→サブ <11h> <セクタ数> <ドライブ番号> <トラック番号> <セクタ番号> <データ列...> |
機能 | データ列を高速ハンドシェイクで転送する以外は、01hのライトデータと同じ |
コマンド番号 | 12h |
---|---|
機能名 | 高速センドデータ |
コマンド形式 |
ホスト→サブ <12h> サブ→ホスト <データ列...> |
機能 | データ列を高速ハンドシェイクで転送する以外は、03hのセンドデータと同じ |
コマンド番号 | 13h |
---|---|
機能名 | エラーインフォ |
コマンド形式 |
ホスト→サブ <13h> サブ→ホスト <コマンド> <ST0> <ST1> <ST2> <C> <H> <R> <N> |
機能 | 最後にFDCが実行したコマンドとFDCのステータスをホストに転送する |
コマンド番号 | 14h | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
機能名 | センスデバイスステータス | ||||||||||||||||
コマンド形式 |
ホスト→サブ <14h> <ドライブ番号> サブ→ホスト <ステータス> |
||||||||||||||||
機能 |
FDCのステータスをホスト側に返す
|
コマンド番号 | 15h |
---|---|
機能名 | 高速センドメモリ |
コマンド形式 |
ホスト→サブ <15h> <開始アドレスH> <開始アドレスL> <バイト数H> <バイト数L> サブ→ホスト <データ列...> |
機能 |
データの転送に高速ハンドシェイクを使用する以外は 0Bh のセンドメモリと同じ 転送バイト数は偶数でなければならない |
コマンド番号 | 16h |
---|---|
機能名 | 高速レシーブメモリ |
コマンド形式 | ホスト→サブ <16h> <開始アドレスH> <開始アドレスL> <バイト数H> <バイト数L> <データ列...> |
機能 |
データの転送に高速ハンドシェイクを使用する以外は 0Ch のレシーブメモリと同じ 転送バイト数は偶数でなければならない |
コマンド番号 | 17h |
---|---|
機能名 | セットサーフィスモード |
コマンド形式 | ホスト→サブ <17h> <モードH> |
機能 |
各ドライブを片面モードにするか両面モードにするかを指定する Bit3〜Bit0 0:片面 1:両面 起動時は全ドライブが片面モードになっている |
コマンド番号 | 18h |
---|---|
機能名 | センドサーフィスモード |
コマンド形式 |
ホスト→サブ <18h> サブ→ホスト <サーフィスモード> |
機能 | サーフィスモードをホストに送る |
コマンド番号 | 19h |
---|---|
機能名 | セットリードアフターライト |
コマンド形式 | ホスト→サブ <19h> |
機能 |
リードアフターライトチェックを行うようにする このコマンド実行後は、ディスクへの書き込みを伴うコマンドの実行後に自動的にリードアフターライトチェックを行う エラーを検出すると、リザルトステータスのエラービットがセットされる |
コマンド番号 | 1Ah |
---|---|
機能名 | リセットリードアフターライト |
コマンド形式 | ホスト→サブ <1Ah> |
機能 | リードアフターライトチェックを行わないようにする |
コマンド番号 | 1Bh |
---|---|
機能名 | リジューム |
コマンド形式 | ホスト→サブ <1Bh> |
機能 |
セットブレークポイントで停止したサブシステムの実行を再開する セットレジスタコマンドでPCを変更し、そのアドレスから実行することも可能 |
コマンド番号 | 1Ch |
---|---|
機能名 | セットブレークポイント |
コマンド形式 | ホスト→サブ <1Ch> <アドレスH> <アドレスL> |
機能 |
指定のアドレスにブレークポイントをセットする ブレークポイントは1ヶ所しかセットできない ブレークポイントで停止するとリセットされる |
コマンド番号 | 1Dh | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
機能名 | セットレジスタ | ||||||||||||||||||||||||||||
コマンド形式 | ホスト→サブ <1Dh> <レジスタID番号> <データH> <データL> | ||||||||||||||||||||||||||||
機能 |
リジュームコマンド(1Bh)で実行を再開するときのレジスタ内容を指定する
|
コマンド番号 | 1Eh |
---|---|
機能名 | センドレジスタ |
コマンド形式 |
ホスト→サブ <1Eh> <レジスタID番号> サブ→ホスト <データH> <データL> |
機能 | ブレークポイントで停止した時点のレジスタ値をホストに送る |
コマンド番号 | 1Fh | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
機能名 | セットディスクモード | |||||||||||||||||||||||||||
コマンド形式 | ホスト→サブ <1Fh> <ドライブ番号> <ディスクコード> | |||||||||||||||||||||||||||
機能 |
指定のディスクコードに従ってディスクモードをセット ディスクコード
|
コマンド番号 | 20h |
---|---|
機能名 | センドディスクモード |
コマンド形式 |
ホスト→サブ <20h> <ドライブ番号> サブ→ホスト <ディスクコード> |
機能 | ディスクモードをホストに送る |
コマンド番号 | 21h |
---|---|
機能名 | セットバウンダリモード |
コマンド形式 | ホスト→サブ <21h> <バウンダリモード> |
機能 |
バウンダリモードを設定する 0: リード/ライトの範囲を1D/2Dのディスクに限定する 1: リード/ライトの範囲をセクタ長256バイトのディスクに限定する(1HDs/2HDsのディスクを含む) 2: サブシステムで対応可能なすべてのディスクのリード/ライトを許可する |
コマンド番号 | 22h |
---|---|
機能名 | センドバウンダリモード |
コマンド形式 |
ホスト→サブ <22h> サブ→ホスト <バウンダリモード> |
機能 | バウンダリモードをホストに送る |
コマンド番号 | 23h |
---|---|
機能名 | ドライブレディチェック |
コマンド形式 |
ホスト→サブ <23h> <ドライブ番号> サブ→ホスト <ステータス> |
機能 |
ディスク挿入チェック 00h: ディスクが挿入されている FFh: ディスクが挿入されていない |
コマンド番号 | 24h |
---|---|
機能名 | エクスパンドフォーマット |
コマンド形式 | ホスト→サブ <24h> <ドライブ番号> <データ> |
機能 | 初期化データを指定してディスクをフォーマットする |
アドレス | R/W | 説明 | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F4h | W | ドライブ制御
|
||||||||||||||||||||||||||||||||||
F8h | W | モータ制御
|
||||||||||||||||||||||||||||||||||
R | FDC μPD765A TC入力 このポートをリードするとFDCにTC信号が入力される |
|||||||||||||||||||||||||||||||||||
FAh | R | FDC μPD765A ステータスレジスタリード
|
||||||||||||||||||||||||||||||||||
FBh | W | FDC μPD765A データレジスタライト | ||||||||||||||||||||||||||||||||||
R | FDC μPD765A データレジスタリード | |||||||||||||||||||||||||||||||||||
FCh | R/W | ディスクサブシステムI/F 8255 ポートA 標準状態ではホストからのデータ受信ポート |
||||||||||||||||||||||||||||||||||
FDh | R/W | ディスクサブシステムI/F 8255 ポートB 標準状態ではホストへのデータ送信ポート |
||||||||||||||||||||||||||||||||||
FEh | R/W | ディスクサブシステムI/F 8255 ポートC
|
||||||||||||||||||||||||||||||||||
FFh | W | ディスクサブシステムI/F 8255 コントロール |
0000h ┌────────┐ │ システムROM │ 0800h ├────────┤ : 空き : 4000h ├────────┤ │書き込みバッファ│ 5000h ├────────┤ │読み込みバッファ│ 6000h ├────────┤ │ 未使用 │ 7F00h ├────────┤ │ ワークエリア │ 8000h ├────────┤ : 空き : FFFFh └────────┘MシリーズのシステムROMは8Kバイト(0000h〜1FFFh)