Имеется PCI-плата, в которой происходит общение шины PCI с портом параллельного воода вывода NEC D71055 через микросхему PLX9052. Вот примерно набросал:

На С++ написанна программа, и налажен обмен, при ширине шины PLX - 8 бит. Выбор порта и запись/чтение на NEC произвожу командами outb/inb/outw/inw(данные, порт). Значения "порт": базоый адрес, базовый адрес+1, базовый адрес+2 и базовый адрес+3. Соотвествующие значения выставляются на LBE0# и LBE1#, а оттуда на A0 и A1. Происходит запись/чтение байта из портов 0,1,2 и 3, соответственно. Всё работает.
Проблема появилась, когда надо было расширить шину для обмена по 16 бит. Поменял соответстующий бит в EEPROM'е. Но теперь при записи в порт получается полный бред.
В датащите прочитал, что в 16-битном режиме меняется работа LBE0#...LBE3#. Вот так:
Цитата
Byte enables are encoded based upon configured bus
width:
32-Bit Bus
Four byte enables indicate which of the four bytes are
active during a data cycle.
· LBE3# Byte Enable 3 = LAD[31:24]
· LBE2# Byte Enable 2 = LAD[23:16]
· LBE1# Byte Enable 1 = LAD[15:8]
· LBE0# Byte Enable 0 = LAD[7:0]
16-Bit Bus
LBE[3,1:0]# are encoded to provide BHE#, LA1, and
BLE#.
· LBE3# Byte High Enable (BHE#) = LAD[15:8]
· LBE2# Unused
· LBE1# Address bit 1 (LA1)
· LBE0# Byte Low Enable (BLE#) = LAD[7:0]
8-Bit Bus
LBE[1:0]# are encoded to provide LA[1:0].
· LBE3# Unused
· LBE2# Unused
· LBE1# Address bit 1 (LA1)
· LBE0# Address bit 0 (LA0)
width:
32-Bit Bus
Four byte enables indicate which of the four bytes are
active during a data cycle.
· LBE3# Byte Enable 3 = LAD[31:24]
· LBE2# Byte Enable 2 = LAD[23:16]
· LBE1# Byte Enable 1 = LAD[15:8]
· LBE0# Byte Enable 0 = LAD[7:0]
16-Bit Bus
LBE[3,1:0]# are encoded to provide BHE#, LA1, and
BLE#.
· LBE3# Byte High Enable (BHE#) = LAD[15:8]
· LBE2# Unused
· LBE1# Address bit 1 (LA1)
· LBE0# Byte Low Enable (BLE#) = LAD[7:0]
8-Bit Bus
LBE[1:0]# are encoded to provide LA[1:0].
· LBE3# Unused
· LBE2# Unused
· LBE1# Address bit 1 (LA1)
· LBE0# Address bit 0 (LA0)
Когда адрес просто выставлялся двумя битами - мне всё понятно. А как выбирать нужный порт теперь и куда делся LA0#, я совсем не понимаю

Не подскажите в чём дело?
Извиняюсь, за много букв, просто не знаю где проблема, хотя бы примерно.
В неправильной перепрошивке EEPROM'а? Или в моём непонимании как преобразуются сигналы C/BE# в LBE# и как это связано и адресом порта в который я пытаюсь записать?
