Говоря о 765-м чипе, я, конечно, малость внёс путаницу. Надо было употреблять более строгие и правильные названия. Программист может называть 765-м очень многие микрухи, потому что с его точки зрения это - одно и то же. А с точки зрения конструктора NEC'овский uPD765a (i8272) - это одно, а WD37C65 - другое. Контроллер на первом вы видите на фото. А во второй уже запихнули всё содержимое изображённой на фотке платы, но с точки зрения программиста при этом ничего не изменилось. Более того, с точки зрения ISA шины тоже ничего не изменилось. Мы можем убрать с этой карточки i8272a со всей обвязкой, поставить 37C65, и это будет та же карточка. Детально я все типы микрух не изучал, знаю только что интеграция нарастала, но ядро NEC'овского 765-го чипа оставалось, чтобы не нарушилась совместимость. Ещё на мультикартах 286/386-х машин появился гибрид контроллера дисковода с UART'ами (например микруха "Goldstar Prime 2c"), а в 486-х и "Пентиумных" материнках контроллер флопа и вовсе погрузился в большущие чипы с сотнями ног.
Если где-то говорят, что вот есть мультикарта под ISA-16, которая поддерживает только FDD и HDD (без UART), то почти 100%, что она и есть на одночиповом контроллере FDD. А для IDE-винта эта карточка вообще никакой аппаратной поддержки не несёт, являясь просто переходником. Максимум - буфер может быть, чтобы IDE шлейф не создавал лишней нагрузки на шину ISA. Поэтому, если соорудить эмуляцию ISA - шины, то уже всё равно, что там за чип на мультикарте, то ли WD37C65, то ли ещё какой, о совместимости чипов уже позаботились разработчики карточки, главное - что мультикарта для ISA.
Правильно
jdigreze заметил:
Для FDC достаточно ISA-8. Вот если еще и HDC нужен - тогда 16 бит надо.
Отсюда вывод - не торопитесь добывать именно определённые микрухи, пока не разобрались, что же мы хотим соорудить. Я собирался попытаться просто пристыковать микруху WD37C65 к недопц и попробовать, как они будут взаимодействовать в программном режиме. Эмуляция ISA-8 - это уже нечто другое, а ISA-16 - третье. Надо ли нам это - вопрос для обсуждения.
Да, вот тут я упомянул про "программный" режим. Поясню. Ещё одно весьма существенное обстоятельство, имеющее отношение к обсуждаемому вопросу - это то, что общение с дисководом (даже не напрямую, а через контроллер FDD) требует от хоста некоего минимума вычислительной мощности, чтобы успевать принимать/выдавать байты и складывать в ОЗУ(брать из ОЗУ). Диск крутится 300 об/мин и ждать не может. Слабый CPU может даже не справиться или всё будет, как сказал HWM, "на пределе". Сам контроллер позволяет два режима - программный и DMA. В IBM PC юзается DMA. Вот надобно бы прикинуть, а может ли 85-й проц программно читать/писать сектора и насколько легко, если может.