Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Ну тогда Фанта.
Эх, значит все-таки косяк в схеме
Схему, если я правильно понял, проектировал Михаловский. По крайней мере его инициалы изображены на ней. Схема конечно не идеальна, как писал HardWareMan , но она точно работала, так как Михаловский написал еще свою ОС ОРДОС6 c поддержкой именно этого контроллера. Этот же контроллер был у Пушкова, и у него он работал. Я предполагаю, что при перерисовки в оригинал схемы были внесены ошибки, которые нам необходимо найти и обезвредитьС ошибками в схемах мы уже сталкивались когда запускали платку COM-AY, здесь видимо та же история…
HardWareMan, надеюсь Вы поможете найти ошибки в схеме и запустить платку
Приложил к сообщению оригинал схемы, ужасного качества. Другого не существует в природе.
Да нет, все верно. Буфер бьет по шине IDE при попытке чтения. Единственное, что может оправдать такое подключение, это вероятное гашение старшего байта в интерфейсе IDE при обращении к 8ми битным регистрам (все регистры, кроме регистра данных). Если диски это обязаны поддерживать, тогда претензий нет.
Там просто мог быть другой драйвер, не известно исходники те ли.
Для начала попробуйте исходный вариант
поменять наКод:LD B,00H ; dlq ob'ema 512 bajt CONRD:IN A,(DATAL) ; ~it.ml.bajt LD (HL),A ; zapisx w bufer INC HL IN A,(DATAH) ; ~it.st.bajt LD (HL),A ; zapisx w bufer INC HL DJNZ CONRD ; ne wse
Возможно там то что писал HardWareMan - байты не в том порядке читаются из-за чего выходит задвоениеКод:LD B,00H ; dlq ob'ema 512 bajt CONRD: IN A,(DATAH) ; ~it.st.bajt LD C,A IN A,(DATAL) ; ~it.ml.bajt LD (HL),A ; zapisx w bufer INC HL LD (HL),C ; zapisx w bufer INC HL DJNZ CONRD ; ne wse
Последний раз редактировалось Error404; 08.08.2016 в 21:26.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Ну не знаю, ребят. У меня загрузчик (Прошный) нормально читает в 0b000h без повторов, вроде вразумительный код...
https://drive.google.com/open?id=1ZP...FISy40g5aI7svw
https://drive.google.com/open?id=1MD...zh3mox0giqQaKw
Там слайды...
Последний раз редактировалось ksanf(138); 09.08.2016 в 00:21.
Напишите детали.
Какой загрузчик? (программа и версия)
Какая версия контроллера, их было разных (в т.ч. плата какого выпуска - партии)
Какой именно код читается с какого именно устройства (IDE? CF? что и чем писалось)
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Загрузчик встроенный в БИОС Про, включается вторым дипом.
Контроллер Ide RTC последняя партия.
Образ на диске - фузикс вроде. Четыре раздела.
Писалос HddUtil.
Железяка ide saegate barracuda st131... 160 Гб.
- - - Добавлено - - -
Мдаа уж... Вы заметили,коллеги? Каждый нечётный байт норовит единицами забитым быть!
В WinHexe несколько другая картина...
По ходу тут дело в защёлках (ИР23) старшего байта на чтение. защёлкивание происходит в момент положительного перепада(выбор регистра IDE), данные возможно ещё не готовы. Кондер моть подпаять.
ps Вот почему они дублируются это воще загадка века.
Последний раз редактировалось ksanf(138); 09.08.2016 в 03:13.
А как смапированы (как определены в исходниках) в адресное пространство ориона основные регистры IDE 1F0-1F7 и альтернативные 3F6-3F7, и особенно старший байт регистра данных (основных регистров)?
По (оригинальной) схеме: старший байт данных для записи пишется в защелку DD11 при записи в регистр IDE 3F7 (Орион-порт #57), в IDE не используется. Он же выдается на шину IDE при записи в любой основной регистр IDE 1F0-1F7 (Орион-порты #58-5F). Старший байт данных для чтения пишется в защелку DD10 при чтении и записи (!!!) основных регистров IDE 1F0-1F7, и выдается на шину Ориона при чтении альтернативного регистра адреса привода IDE 3F7 (Орион-порт #57), при этом шина IDE забивается буфером DD12.
Получается, все должно работать "чики-пуки".
Последний раз редактировалось LeoN65816; 09.08.2016 в 09:48.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)