﻿DOSLIB UTF-8 to SHIFT-JIS conversion test file.
Quotation marks have been added at random to test utf2jis.pl.
Text inside the quotation marks should be converted.
Text outside the quotation marks should NOT be converted.

Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO


hello "■DMAコント" ローラ
対象ノーマル,ハイレゾ
チップ8237A相当品
解説  o PC-9800(PC-H98,PC-98LTA,DB-P1を除く)では、DMAコントローラとして
8237A(相当品)を使用している。
PC-H98は、"8237A上位互換の独自32bit DMAコントローラを使用している。
      uPC-98LTA,DB-P1は、V50内蔵DMAU(DMA Unit)を使用している。V50内蔵
DMAUはμPD71071のサブセットで、8237Aとは互換性がない。DB-P1で使用
しているV50HLのDMAUは8237A互換モードも備えているが、μPD71071モードで
使用し" ている。
      o DMAチャネルの使用方法は機種毎に差異がある。
[PC-9801初代M2FV2V21]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |なし *1          |DACK00,DRQ00信号
    1   |       |なし
    2   |両用FD I/F *2    |DACK20,DRQ20信号(最終スロットのみ)
        |(1MB I/F時)  |
    3   |両用FD I/F *2    |DACK30,DRQ30信号(最終スロット以外)
        |(640KB I/F時)|
--------+-----------------+-----------------------------------
*1:PC-9801F33M4は、内蔵SASI I/Fが使用する。
*2:両用FD I/Fは、CH#2または3のどちらかを使用する。DIP SW 3-1,3-2で
   設定する。内蔵FD I/Fが使用しないチャネルは拡張スロットで使用可能。

[PC-9801TASXSASX,PC-9821APC-98GS,PC-98RL(ノーマル)]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |内蔵HD I/F *1    |DACK00,DRQ00信号
    1   |内蔵HD I/F *2    |なし
    2   |両用FD I/F *3    |なし
        |(1MB I/F時)  |
    3   |両用FD I/F *3    |DACK30,DRQ30信号
        |(640KB I/F時)|
--------+-----------------+-----------------------------------
*1:DIP SW 3-3がOFFのとき、内蔵HDのI/FがCH#0を使用する。このとき
   拡張スロットでCH#0は使用できない。
*2:DIP SW 3-3がONのとき、内蔵HDのI/FがCH#1を使用する。このとき
   拡張スロットでCH#0が使用できる。
*3:両用FD I/Fは、CH#2または3のどちらかを使用する。DIP SW 3-1,3-2で
   設定する。1MB I/Fモード時は、CH#3が拡張スロットで使用可能。

[PC-H98 ノーマルモード]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |なし             |DRQ00信号(Cバス,Eバス)
    1   |両用FD I/F       |DRQ10(Eバス)
    2   |両用FD I/F *1    |DRQ20(Eバス)
        |(1MB I/F時)  |
    3   |両用FD I/F *1    |DRQ30信号(Cバス,Eバス)
        |(640KB I/F時)|
    4   |なし             |DRQ40(Eバス)
    5   |なし             |DRQ50(Eバス)
    6   |なし             |DRQ60(Eバス)
--------+-----------------+-----------------------------------
*1:両用FD I/Fは、CH#2または3のどちらかを使用する。DIP SW 3-1,3-2で
   設定する。内蔵FD I/Fが使用しないチャネルは拡張スロットで使用可能。
* 内蔵ハードディスク，NESA用HD I/Fは、使用するDMAチャネルを
  マニュアルセットアップで設定可能。
* DMAチャネル7は使用不可。

[その他の機種のノーマルモード]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |なし *1          |DACK00,DRQ00信号
    1   |なし             |なし
    2   |両用FD I/F *1    |なし
        |(1MB I/F時)  |
    3   |両用FD I/F *1    |DACK30,DRQ30信号
        |(640KB I/F時)|
--------+-----------------+-----------------------------------
*1:両用FD I/Fは、CH#2または3のどちらかを使用する。DIP SW 3-1,3-2で
   設定する。1MB I/Fモード時は、CH#3が拡張スロットで使用可能。

[PC-98XA]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |なし             |DACK00,DRQ00信号(スロット#1,2,3,5のみ)
    1   |両用FD I/F       |DACK10,DRQ10信号(スロット#1のみ) *1
    2   |なし             |DACK20,DRQ20信号(スロット#2のみ)
    3   |なし *2          |DACK30,DRQ30信号(スロット#3,4,5のみ)
--------+-----------------+-----------------------------------
*1:スロット#1には標準で両用FD I/Fが実装されている。
*2:PC-98XA model 31は、内蔵SASI I/Fが使用する。

[PC-98XLL^2 ハイレゾモード]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |なし *1          |DACK00,DRQ00信号
    1   |両用FD I/F       |なし
    2   |なし             |なし
    3   |なし             |DACK30,DRQ30信号
--------+-----------------+-----------------------------------
*1:PC-98XL model4,PC-98XL^2は、内蔵SASI I/Fが使用する。

[PC-98RL ハイレゾモード]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |内蔵HD I/F *1    |DACK00,DRQ00信号
    1   |両用FD I/F       |なし
    2   |内蔵HD I/F *2    |なし
    3   |なし             |DACK30,DRQ30信号
--------+-----------------+-----------------------------------
*1:DIP SW 3-3がOFFのとき、内蔵HDのI/FがCH#0を使用する。このとき
   拡張スロットでCH#0は使用できない。
*2:DIP SW 3-3がONのとき、内蔵HDのI/FがCH#2を使用する。このとき
   拡張スロットでCH#0が使用できる。
関連0000:0484h bit 7,6

[PC-H98 ハイレゾモード]
--------+-----------------+-----------------------------------
DMA |使用する内蔵装置 |拡張スロット
--------+-----------------+-----------------------------------
    0   |なし             |DRQ00信号(Cバス,Eバス)
    1   |両用FD I/F       |DRQ10(Eバス)
    2   |なし             |DRQ20(Eバス)
    3   |なし             |DRQ30信号(Cバス,Eバス)
    4   |なし             |DRQ40(Eバス)
    5   |なし             |DRQ50(Eバス)
    6   |なし             |DRQ60(Eバス)
--------+-----------------+-----------------------------------
* 内蔵ハードディスク，NESA用HD I/Fは、使用するDMAチャネルを
  マニュアルセットアップで設定可能。
* DMAチャネル7は使用不可。
      o DMA制御関連のI/Oアドレスは以下の通り。
-----------+----+---+-------------------------------------------------
I/Oアドレス|幅  |R/W|内容
-----------+----+---+-------------------------------------------------
0001h      |BYTE|R/W|チャネル0 カレントアドレスレジスタ
0003h      |BYTE|R/W|チャネル0 カレントワードレジスタ
0005h      |BYTE|R/W|チャネル1 カレントアドレスレジスタ
0007h      |BYTE|R/W|チャネル1 カレントワードレジスタ
0009h      |BYTE|R/W|チャネル2 カレントアドレスレジスタ
000Bh      |BYTE|R/W|チャネル2 カレントワードレジスタ
000Dh      |BYTE|R/W|チャネル3 カレントアドレスレジスタ
000Fh      |BYTE|R/W|チャネル3 カレントワードレジスタ
0021h      |BYTE| W |DMAチャネル1 バンクアドレス
0023h      |BYTE| W |DMAチャネル2 バンクアドレス
0025h      |BYTE| W |DMAチャネル3 バンクアドレス
0027h      |BYTE| W |DMAチャネル0 バンクアドレス
002Bh      |BYTE|R/W|32bit DMA CONTROLLER(インデックス)
002Dh      |BYTE|R/W|32bit DMA CONTROLLER(データ)
0E05h      |BYTE| W |DMAチャネル0 拡張バンクアドレス
0E07h      |BYTE| W |DMAチャネル1 拡張バンクアドレス
0E09h      |BYTE| W |DMAチャネル2 拡張バンクアドレス
0E0Bh      |BYTE| W |DMAチャネル3 拡張バンクアドレス
-----------+----+---+-------------------------------------------------
関連I/O 0259h,0A59h - 74h,75h
0000:0484h bit 7,6
0000:0591h
0000:05ADh bit 5


I/O0001h,0005h,0009h,000Dh
名前カレントアドレスレジスタの設定
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
-----------+----+---+-------------------------------------------------
I/Oアドレス|幅  |R/W|内容
-----------+----+---+-------------------------------------------------
0001h      |BYTE|R/W|チャネル0 カレントアドレスレジスタ
0005h      |BYTE|R/W|チャネル1 カレントアドレスレジスタ
0009h      |BYTE|R/W|チャネル2 カレントアドレスレジスタ
000Dh      |BYTE|R/W|チャネル3 カレントアドレスレジスタ
-----------+----+---+-------------------------------------------------
解説  o DMACのカレントアドレスレジスタ(転送開始アドレス)を設定する。
      o 1度目のアクセスではbit 7〜0を、2度目のアクセスではbit 15〜8を扱う。
関連I/O 0019h


I/O0003h,0007h,000Bh,000Fh
名前カレントワードレジスタの設定
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
-----------+----+---+-------------------------------------------------
I/Oアドレス|幅  |R/W|内容
-----------+----+---+-------------------------------------------------
0003h      |BYTE|R/W|チャネル0 カレントワードレジスタ
0007h      |BYTE|R/W|チャネル1 カレントワードレジスタ
000Bh      |BYTE|R/W|チャネル2 カレントワードレジスタ
000Fh      |BYTE|R/W|チャネル3 カレントワードレジスタ
-----------+----+---+-------------------------------------------------
解説  o DMACのカレントワードレジスタ(転送数)を設定する。
      o 1度目のアクセスではbit 7〜0を、2度目のアクセスではbit 15〜8を扱う。
関連I/O 0019h


I/O0011h
名前リードステータス,ライトコマンド
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]リードステータス
bit 7〜4: RQ3〜RQ0
1= リクエストあり
0= リクエストなし
* リクエスト中のDMAチャネルに対応するビットがセットされる
bit 3〜0: TC3〜TC0
1= TCに到達した
0= TCに到達していない
* TC(Terminal Count)に到達したDMAチャネルに対応するビットが
  セットされる
[WRITE]ライトコマンド
bit 7: KS
* PC-9800では0を設定する(DACKアクティブLOW)
bit 6: DS
* PC-9800では1を設定する(DREQアクティブLOW)
bit 5: WS
* PC-9800では0を設定する(遅れライト選択)
bit 4: PR
* PC-9800では0を設定する(固定優先順位)
bit 3: TM
* PC-9800では0を設定する(通常タイミング)
bit 2: CE
1= コントローラ禁止
0= コントローラ許可
bit 1: AH
* PC-9800では0を設定する(チャネル0アドレスホールド禁止)。
  ただし、bit 0=0なので実際にはこのビットはDon't Care。
bit 0: MM
* PC-9800では0を設定する(メモリ-メモリ転送禁止)
解説  o DMACのステータスレジスタの読み出し、コマンドレジスタへの書き込みを
行う。
関連I/O 0019h


I/O0013h
名前ライトリクエスト
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]禁止
[WRITE]
bit 7〜3: Don't Care
bit 2: RB
1= リクエストセット
0= リクエストクリア
bit 1,0: CS1,CS0
11b= チャネル3
10b= チャネル2
01b= チャネル1
00b= チャネル0
解説  o 指定したDMAチャネルのリクエストビットを設定する。
関連


I/O0015h
名前ライトシングルマスクレジスタビット
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]なし
[WRITE]
bit 7〜3: Dont' Care
bit 2: MK
1= マスクセット
0= マスククリア
bit 1,0: CS1,CS0
11b= チャネル3
10b= チャネル2
01b= チャネル1
00b= チャネル0
解説  o 指定したDMAチャネルのマスクを設定する。
関連


I/O0017h
名前ライトモード
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]禁止
[WRITE]
bit 7,6: MS1,MS0
* PC-9800では01b(シングルモード)に固定
bit 5: ID
1= アドレスデクリメント
0= アドレスインクリメント
bit 4: AT
1= オートイニシャライズ許可
0= オートイニシャライズ禁止
bit 3,2: TR1,TR0
11b= 禁止
10b= リード転送(メモリ→I/O)
01b= ライト転送(I/O→メモリ)
00b= ベリファイ転送
bit 1,0: CS1,CS0
11b= チャネル3
10b= チャネル2
01b= チャネル1
00b= チャネル0
解説  o 指定したDMAチャネルの転送モードを指定する。


I/O0019h
名前クリアバイトポインタフリップフロップ
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]禁止
[WRITE]
bit 7〜0: 任意の値
解説  o バイトポインタフリップフロップをクリアする。I/O 0001〜000Fhでは
16ビットの値を下位・上位に分けて扱うが、このI/Oポートに出力したあとの
I/O 0001〜000Fhのアクセスは、下位8ビットのデータと見なされる。
関連I/O 0001〜000Fh


I/O001Bh
名前リードテンポラリレジスタ,マスタクリア
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]リードテンポラリレジスタ
[WRITE]マスタクリア
bit 7〜0: 任意の値
解説  o テンポラリレジスタは、メモリ-メモリ間転送時に、最後に転送した
データを保持している。PC-9800はメモリ-メモリ転送をサポートして
いないので、このレジスタを読み出すことは無意味。
      o このポートに出力(マスタクリア)すると、DMACはハードウェアリセット
されたのと同じ状態になる。
関連


I/O001Dh
名前クリアマスクレジスタ
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]禁止
[WRITE]クリアマスクレジスタ
bit 7〜0: Don't Care
解説  o 全チャネルのマスクを解除する。
関連


I/O001Fh
名前ライトオールマスクレジスタビット
対象ノーマル,ハイレゾ
チップμPD8237A相当
機能
[READ]禁止
[WRITE]ライトオールマスクレジスタビット
bit 7〜4: Don't Care
bit 3〜0: MB3〜MB0
1= マスクセット
0= マスククリア
解説  o DMAチャネル0〜3のマスクを同時に設定する。各チャネルに対応したビットを
設定する。


I/O0021h,0023h,0025h,0027h
名前バンクアドレス設定
対象ノーマル,ハイレゾ
チップDMA周辺
機能
-----------+----+---+-------------------------------------------------
I/Oアドレス|幅  |R/W|内容
-----------+----+---+-------------------------------------------------
0021h      |BYTE| W |DMAチャネル1 バンクアドレス
0023h      |BYTE| W |DMAチャネル2 バンクアドレス
0025h      |BYTE| W |DMAチャネル3 バンクアドレス
0027h      |BYTE| W |DMAチャネル0 バンクアドレス
-----------+----+---+-------------------------------------------------
* bit 7〜0=A23〜A16
解説  o μPD8237Aは8ビットCPU用DMACであるため、DMAC自身では16ビット幅の
アドレス(64Kバイト)しか制御できない。このため、PC-9800では外部に
レジスタを設けて、24ビット幅(16Mバイト)までのアドレスを扱えるように
している。
      o 8086,V30,V33機では、A19〜A16(bit 3〜0)のみ有効。
PC-98XAでは、A22〜A16(bit 6〜0)のみ有効。
      o このポートをリードしても設定値を読み出すことはできない。
      u 16Mバイトを超えるメモリ空間に対してDMA転送する場合は、I/O 0E05〜0E0Bhを
使用する。
関連I/O 0029h
I/O 0439h bit 2
I/O 0E07h
I/O 0E09h
I/O 0E0Bh
I/O 0E05h


I/O0029h
名前バンクアドレスオートインクリメントモードレジスタ
対象80286以上のCPU搭載機
チップDMA周辺
機能
[READ]なし
[WRITE]
bit 7〜4: 0000bを設定する
bit 3,2: M1,M0 インクリメントモード
11b= 16Mバイト境界(PC-98XAは設定不可)
10b= 設定禁止
01b= 1Mバイト境界
00b= 64Kバイト境界
bit 1,0: CS1,CS0
11b= チャネル3
10b= チャネル2
01b= チャネル1
00b= チャネル0
解説  o カレントアドレスレジスタ(転送アドレス)がラップアラウンドしたときの
動作を設定する。
      o インクリメントモードが64Kバイト境界のときは、物理アドレスxxFFFFhを
跨ぐような転送はできない。インクリメントモードを1Mバイト,16Mバイト
境界にすれば、DMACがラップアラウンドしたとき、バンクアドレスが自動的に
インクリメントされる。
      u起動時のDMAバンクインクリメント境界は64Kバイト。
関連I/O 0021h,0023h,0025h,0027h


I/O0439h
名前DMAアクセス制御等
対象80286以上のCPU搭載機(PC-98XAを除く)
チップDMA周辺
機能
[READ/WRITE]
bit 7: プリンタI/F選択■[PC-9821Apsefp2s2np3s3]
■Undocumented
1= 本体内蔵のプリンタインターフェース
0= 98ハイレゾボード上のプリンタインターフェース
解説  o PC-9821Apsefp2s2np3s3に98ハイレゾボード
(PC-9821-E02)を搭載したとき、本体内蔵プリンタインターフェースと
98ハイレゾボード上のプリンタインターフェースのどちらかを
使用するか選択できる。通常は98ハイレゾボード上のプリンタ
インターフェースを使用する。
      u このポートは、PC-9821Nefpsetanpse,
PC-9801BA2S2X2A3X3等にも存在する。0を出力すると
本体内蔵のプリンタインターフェースが切り離される。

bit 6: 未使用(?)
bit 5: 不明■Undocumented


bit 4: 不明■Undocumented




bit 3: 未使用(?)
bit 2: DMAアドレスマスクレジスタ
1= 1Mバイト以上のアドレスへのDMAアクセス禁止
0= 1Mバイト以上のアドレスへのDMAアクセス許可
解説  o 1Mバイト以上の空間でのDMA転送の禁止／許可を設定する。
      o ノーマルモードの起動時設定は1、ハイレゾモードの起動時設定は0。

bit 1: 高速グラフLIOサポートBIOS■[PC-9801VX21]
■Undocumented
1= 使用する
0= 使用しない
bit 0: 不明■Undocumented


■[PC-9821Apsefp2s2np3s3]

1= ハイレゾモード
0= ノーマルモード
解説  o bit 2以外はUndocumented。
関連0000:0480h bit 6


I/O002Bh,002Dh
名前32bit DMAコントローラ
Undocumented
対象PC-H98
チップORBIT
機能
-----------+----+---+-------------------------------------------------
I/Oアドレス|幅  |R/W|内容
-----------+----+---+-------------------------------------------------
002Bh      |BYTE|R/W|32bit DMA CONTROLLER(インデックス)
002Dh      |BYTE|R/W|32bit DMA CONTROLLER(データ)
-----------+----+---+-------------------------------------------------
解説  o PC-H98はDMA機能が大幅に拡張されている。
従来のPC-9800互換のチャネル0〜4と、新設のチャネル5〜7の合計8チャネルを
サポートしている。DMA転送可能なメモリ空間は4Gバイト、データ転送幅は
8/16/32ビットから選択できる。
      o PC-H98の32bit DMAコントローラは、Intel i82380(High Performance 32bit 
DMA Controller with Integrated System Support Peripherals)のDMAC部分を
ベースにしている模様。μPD8237A互換機能やPC-9800用のDMA周辺回路などが
追加されている。このため、チャネル0〜4にアクセスする場合は、従来の
DMAC用I/Oポートも使用できる。


      o I/O 002Bhで32bit DMAコントローラのレジスタ番号を指定し、I/O 002Dhで
レジスタの読み書きを行う。
      u PC-H98以外の16MB超メモリ搭載可能機では、16MBを超えるメモリ空間に
DMA転送する方法はPC-H98と異なる。
関連0000:0458h bit 7
I/O 0001〜0029h
I/O 0E05h,0E07h,0E09h,0E0Bh
表32bit DMAコントローラのレジスタ一覧
----------------+----------------------------------------------
レジスタ番号|内容
----------------+----------------------------------------------
00h|DMA#0 TargetAddress(A7〜A0,A15〜A8)
----------------+----------------------------------------------
01h|DMA#0 ByteCount(C7〜C0,C15〜C8)
----------------+----------------------------------------------
02h|DMA#1 TargetAddress(A7〜A0,A15〜A8)
----------------+----------------------------------------------
03h|DMA#1 ByteCount(C7〜C0,C15〜C8)
----------------+----------------------------------------------
04h|DMA#2 TargetAddress(A7〜A0,A15〜A8)
----------------+----------------------------------------------
05h|DMA#2 ByteCount(C7〜C0,C15〜C8)
----------------+----------------------------------------------
06h|DMA#3 TargetAddress(A7〜A0,A15〜A8)
----------------+----------------------------------------------
07h|DMA#3 ByteCount(C7〜C0,C15〜C8)
----------------+----------------------------------------------
08h|DMA#0〜3 Status/Commnad Register
----------------+----------------------------------------------
09h|DMA#0〜3 Software Request Register
----------------+----------------------------------------------
0Ah|DMA#0〜3 Set-Reset Mask Register
----------------+----------------------------------------------
0Bh|DMA#0〜3 Mode Register I
----------------+----------------------------------------------
0Ch|DMA#0〜3 Write Clear Byte-Pointer FF
----------------+----------------------------------------------
0Dh|DMA#0〜3 Write DMA master clear
----------------+----------------------------------------------
0Eh|DMA#0〜3 Write DMA#0〜3 Clear Mask Register
----------------+----------------------------------------------
0Fh|DMA#0〜3 Mask Regiser
----------------+----------------------------------------------
10h|DMA#0 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
11h|DMA#0 拡張カウント(C23〜C16)
----------------+----------------------------------------------
12h|DMA#1 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
13h|DMA#1 拡張カウント(C23〜C16)
----------------+----------------------------------------------
14h|DMA#2 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
15h|DMA#2 拡張カウント(C23〜C16)
----------------+----------------------------------------------
16h|DMA#3 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
17h|DMA#3 拡張カウント(C23〜C16)
----------------+----------------------------------------------
18h|DMA#0〜3 DMA幅,サイクル設定
|bit 7〜4: BS3,BS2,BS1,BS0
|1111b= 8bit
|1010b= 16bit
|0101b= 32bit
|これ以外は設定禁止
|bit 3,2: TY1,TY0
|00b= 互換サイクル
|01b= タイプA
|10b= タイプB
|11b= リザーブ
|bit 1,0: DMAチャンネル
|00b= ch0
|01b= ch1
|10b= ch2
|11b= ch3
----------------+----------------------------------------------
19h|DMA#0〜3 Chaining Register
----------------+----------------------------------------------
1Ah|DMA#0〜3 Commnad Regiser II
----------------+----------------------------------------------
1Bh|DMA#0〜3 Mode Regiser II
----------------+----------------------------------------------
1Ch|Refresh Control Register
----------------+----------------------------------------------
75h|Refresh Wait State Register
----------------+----------------------------------------------
7Fh|DMA#4〜7 
|* 指定方法はI/O 0029hと同じ。
----------------+----------------------------------------------
89h|DMA#6 バンク(A23〜A16)
----------------+----------------------------------------------
8Ah|DMA#7 バンク(A23〜A16)
----------------+----------------------------------------------
8Bh|DMA#5 バンク(A23〜A16)
----------------+----------------------------------------------
8Fh|DMA#4 バンク(A23〜A16)
----------------+----------------------------------------------
C0h|DMA#4 アドレス(A7〜A0),(A15〜A8)
----------------+----------------------------------------------
C1h|DMA#4 カウント(C7〜C0),(C15〜C8)
----------------+----------------------------------------------
C2h|DMA#5 アドレス(A7〜A0),(A15〜A8)
----------------+----------------------------------------------
C3h|DMA#5 カウント(C7〜C0),(C15〜C8)
----------------+----------------------------------------------
C4h|DMA#6 アドレス(A7〜A0),(A15〜A8)
----------------+----------------------------------------------
C5h|DMA#6 カウント(C7〜C0),(C15〜C8)
----------------+----------------------------------------------
C6h|DMA#7 アドレス(A7〜A0),(A15〜A8)
----------------+----------------------------------------------
C7h|DMA#7 カウント(C7〜C0),(C15〜C8)
----------------+----------------------------------------------
C8h|DMA#4〜7 ライトコマンド／リードステータス
|* 指定方法はI/O 0011hと同じ。
----------------+----------------------------------------------
C9h|DMA#4〜7 ライトリクエスト
|* 指定方法はI/O 0013hと同じ。
----------------+----------------------------------------------
CAh|DMA#4〜7 ライトシングルマスクレジスタビット
|* 指定方法はI/O 0015hと同じ。
----------------+----------------------------------------------
CBh|DMA#4〜7 ライトモード
|* 指定方法はI/O 0017hと同じ。
----------------+----------------------------------------------
CCh|DMA#4〜7 クリアバイトポインタフリップフロップ
|* 指定方法はI/O 0019hと同じ。
----------------+----------------------------------------------
CDh|DMA#4〜7 マスタクリア
|* 指定方法はI/O 001Bhと同じ。
----------------+----------------------------------------------
CEh|DMA#4〜7 クリアマスクレジスタ
|* 指定方法はI/O 001Dhと同じ。
----------------+----------------------------------------------
CFh|DMA#4〜7 ライトオールマスクレジスタビット
|* 指定方法はI/O 001Fhと同じ。
----------------+----------------------------------------------
D0h|DMA#4 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
D1h|DMA#4 拡張カウント(C23〜C16)
----------------+----------------------------------------------
D2h|DMA#5 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
D3h|DMA#5 拡張カウント(C23〜C16)
----------------+----------------------------------------------
D4h|DMA#6 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
D5h|DMA#6 拡張カウント(C23〜C16)
----------------+----------------------------------------------
D6h|DMA#7 拡張アドレスバンク(A31〜A24)
----------------+----------------------------------------------
D7h|DMA#7 拡張カウント(C23〜C16)
----------------+----------------------------------------------
D8h|DMA#4〜7 DMA幅,サイクル設定
|bit 7〜4: BS3,BS2,BS1,BS0
|1111b= 8bit
|1010b= 16bit
|0101b= 32bit
|これ以外は設定禁止
|bit 3,2: TY1,TY0
|00b= 互換サイクル
|01b= タイプA
|10b= タイプB
|11b= リザーブ
|bit 1,0: DMAチャンネル
|00h= ch4
|01h= ch5
|10h= ch6
|11h= ch7
----------------+----------------------------------------------
D9h|DMA#4〜7 不明
|* 詳細不明
----------------+----------------------------------------------
DBh|DMA#4〜7 不明
|* 詳細不明
----------------+----------------------------------------------



I/O0E05h,0E07h,0E09h,0E0Bh
名前DMA 拡張バンクレジスタ
Undocumented
対象16Mバイト超メモリ搭載可能機(PC-H98を除く)




チップDMAC周辺
機能
-----------+----+---+-------------------------------------------------
I/Oアドレス|幅  |R/W|内容
-----------+----+---+-------------------------------------------------
0E05h      |BYTE| W |DMAチャネル0 拡張バンクアドレス
0E07h      |BYTE| W |DMAチャネル1 拡張バンクアドレス
0E09h      |BYTE| W |DMAチャネル2 拡張バンクアドレス
0E0Bh      |BYTE| W |DMAチャネル3 拡張バンクアドレス
-----------+----+---+-------------------------------------------------
解説  o 使用方法の詳細は不明。
      o μPD8237Aは8ビットCPU用DMACであるため、DMAC自身では16ビット幅の
アドレス(64Kバイト)しか制御できない。このため、PC-9800では外部に
DMAバンクレジスタ(I/O 0021〜0029h)を設けて、24ビット幅(16Mバイト)
までのアドレスにDMA転送できるように拡張していた。16Mバイト超の
メモリを搭載可能な機種では、DMA転送可能なアドレス空間をさらに拡張する
ために、拡張DMAバンクレジスタを搭載している。
関連I/O 0439h bit 2
I/O 0021〜0029h
I/O 002Bh,002Dh




