Z80DMA コマンドコード生成
出力コード
設定を変更するとアセンブラ用ソースコードがここに書き込まれます。 しっかりデバッグしていません。バグがあったらごめんなさい。 開始アドレス、長さ指定を10/16進数の両方に対応しました。 ●WR6の一部特殊コマンドには対応していません。 ●リードレジスタの設定に対応していません。 X1turboにおいては ●可変サイクルは使用禁止らしい。>動く設定はある ●CE/-WAIT に設定。 >PSG,VRAM等の要WAITデバイスで必要 ●パルス信号は未接続、使用不可 ●レディーの有効はLレベル、内部FDC.DRQと拡張スロット
ポートA設定
開始アドレス
上位下位設定
下位8bitのみ
上位8bitのみ
設定しない
バス選択
メモリ
I/O
アドレス更新
デクリメント
固定
インクリメント
●可変サイクル
アーリーエンド
WR
RD
MREQ
IORQ
サイクル
4クロック
3クロック
2クロック
ポートB設定
開始アドレス
上位下位設定
下位8bitのみ
上位8bitのみ
設定しない
バス選択
メモリ
I/O
アドレス更新
デクリメント
固定
インクリメント
●可変サイクル
アーリーエンド
WR
RD
MREQ
IORQ
サイクル
4クロック
3クロック
2クロック
全体設定
ブロック長
上位下位設定
下位8bitのみ
上位8bitのみ
設定しない
転送方向
ポートA -> B
ポートB -> A
動作モード
転送
サーチ
サーチ/転送
転送モード
バイト
コンティニュアス
バースト
レディーライン
Lowレベル有効
Highレベル有効
強制的に有効
▼オプション設定
設定前に完全リセット
リセットデフォルト値の設定を省略
CE/-WAITライン
CE のみ
CE/-WAIT 共有
転送終了モード
エンドオブブロックで終了
オートリスタート
RETI後にイネーブル
イネーブルDMA
比較一致で停止
●比較マスクバイト
比較無視ビット
●比較マッチバイト
割り込みイネーブル
●割り込み/パルス設定
割り込み/パルス設定
レディーライン有効で割り込み
ステータス・アフェクツ・ベクトル有効
パルス発生
エンドオブブロックで割り込み
サーチマッチで割り込み
●パルスカウント設定
●割り込みベクタ設定
WR6 command C3 : RESET C7 : RESET PORT A TIMMING CB : RESET PORT B TIMMING CF : LOAD (load SRC,BlkLen) D3 : CONTINUE (reload BlkLen & enable) AF : DISABLE INTERRUPT (and emulate RETI) AB : ENABLE INTERRUPT A3 : RESET AND DISABLE INTERRUPT (and emulate RETI) B7 : ENABLE AFTER RETI BF : READ STATUS BYTE 8B : REINITIALIZE STATUS BYTE A7 : INITIATE READ SEQUENSE B3 : FORCE READY 87 : ENABLE DMA 83 : DISABLE DMA BB : READ MASK FOLLOWS ステータス・アフェクツ・(割り込み)ベクトル -----00-(+00H) : レディー -----01-(+02H) : マッチ -----10-(+04H) : エンド・オブ・ブロック -----11-(+06H) : マッチ/エンド・オブ・ブロック