DMA в своей терминологии я бы назвал "продвинутым" аппаратным режимом. Ну, то такое.Sayman wrote:На самом деле все (ну или большая их часть )8ми битные машины работают в режиме PIO, т.е. читают процессором и статусы винта и задают команды и читают сектора и пишут сектора. При чём почти все работают с PIO1, самым медленным режимом. Аппаратный, всё таки, это когда есть dma и прерывания.
Возможно, и в этом отчасти кроется причина не желания работы современных CF карт. Но, по мне основная проблема это плохая согласованность (на этапе проектирования) IDE интерфейса (шины) с шиной Z80. Примером этому, практически не одно решение подключения IDE к Z80 не обходится без костыля и подпорки (к этому можно и приплюсовать 3.3В vs 5В). Небольшое изменение физических характеристик схемы или шины Z80 приводит к неработоспособности исправного и отлаженного устройства IDE.Sayman wrote:CFA - Compact Flash Assotiation. Для работы с CF есть в стандарте ATA ссылки на использование некоторых расширений. Например, я тут подумал, почему моя крутая карточка, которая на 8гб от transcend (х400) косячит при записи?! А в мануале от ATA так и говорится, что во1х, есть разные power mode, во2х, при записи есть тоже 2 режима - с предварительным обнулением секторов или без. Стандартные команды ATA не знают ничего про CF. Однако, некоторые карты адекватно на эти команды реагируют, а некоторые вот, выпендриваются.
Ясно. Этой прошивке порядка 20 лет и вряд ли ее специально затачивали на работу CF картами. Если не изменяет память, в ней присутствует команда парковки винта. С 1.8 я практически не работал из-за сложности подготовки носителя (не стандартная таблица разделов диска). Во время не долгой работы с этой прошивкой проблем я не обнаружил. А так, работал активно только с прошивкой 1.9.Sayman wrote:BeerIDE прошивкуа 1.8. если я верно понял.
ВЛЕЗ я в дискуссию только из-за желания обратить внимание на не спешный программный способ формирования всех физических сигналов для IDE по спецификации с помощью ВВ55. И практически без проблемную работу с таким подходом.
Наверное, это можно сравнить с современными телевизорами. Когда им необходим видео сигнал строго со спецификацией. Чего не скажешь о старых телевизорах и их всеядности.Sayman wrote:Для более прапвильной поддержки CF карт нужно после команды 0xEC, читать поля расширений. слово 83 (D3), слово 86 (D2).