ところで、CPUをサポートする各種LSIは、8ビットCPU時代のなごりやパッケージの都合(LSIパッケージ端子本数はコストに大きな影響を与えます)から、データバスは8ビットのままです。
この様なLSIの中に2つのポートがある場合、これを偶数、奇数と連続したアドレス(例えば、0000番地と0001番地)に割り当てる事はできるでしょうか?
不可能な事ではありませんが、ハードウエアが、複雑になります。
まず、アクセスに応じてLSIのデータをデータバスの下位にのせるか上位にのせるか切り換えなくてはなりません。
また、CPUは、偶数にアクセスするか、奇数にアクセスするかの区別として、A0信号を出力していますが、同時にBHE(バス・ハイ・イネーブル:バスの上位が有効である事を示す信号)を出力し、バイトアクセスとワードアクセスを区別しています。(図参照)。
従って、A0信号を単純にLSIのアドレス信号に入力する事はできないのです。
以上の理由によって、一般に8ビットデータバスのLSIは、偶数アドレスか奇数アドレスのどちらかだけに連続して割り付けられます(例えば4アドレス必要な場合、0000番地、0002番地、0004番地、0006番地の様に) 。
PC-9801のI/Oポートアドレス表において常に最下位が0(偶数アドレス)か1(奇数アドレス)であるのはこのためです。
本ボードの場合、A/DコンバータLSIは変換結果を12ビットまとめて出力しますから連続アドレスに割り当てる事ができます(16ビット設定) が、他のボードと併用する場合を考え、偶数のみ又は、奇数のみの設定も可能となっています。