Вот на пробу корректированная ROM1-321 в соответствии как я предлагал тут. А вдруг Hardwareman угадал?
В архиве еще исходная ROM1-320 (для сравнения, ее прошивать не надо), а что правилось - см. на картинке.
Последний раз редактировалось Error404; 10.09.2016 в 22:55.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Попробовал. Изменений не увидел.
Ну тут я маху дал, кореш. Не учёл того что активный уровень CS - низкий. Звеняй, брат.
А так то даже не знаю что за фигня.
В момент прихода /CS1 на шине IDE старших разрядов средний уровень помех.
Там что то проскакивает, но засинхронизировать не с чем пока.
Да уж. Ле4 что ли впаивать, дабы по чтению из порта под номером 58 импульс выскакивал...
Изменение типа задвоения младшего и старшего байта ожидаемо вследствии изменения порядка чтения на старший/младший.
Само задвоение - непонятка, по схемотехнике невозможная... Как предположение - а может сама запись была так сделана? Попробуй в Виктории или MHDD или Disk Editor из Norton Utilities напрямую в MBR записать заведомо известную инфу (свой какой-либо тестовый паттерн), а потом на Орионе считать и показать нам. Ну и другой винт/CF попробуй.
P.S. Кстати в том коде, что ты предоставил, перед чтением сектора с винта не вижу обнуления/установки дорожки/головки/сектора/номера LBA...
- - - Добавлено - - -
5ИЛИ там надо, без инверсии, на корпусе ЛЛ1 можно сделать, и завести на D10.11
Последний раз редактировалось LeoN65816; 10.08.2016 в 06:38.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Запись в MBR сделана корректно. Я с этим диском постоянно работаю, гружу с него Альтаир-ДОС. А вот замена на другую флешку помогла, теперь MBR читается четко. Ошибок нет. Выходит, что не любая CF карта и не любой диск может работать с этим контроллером. Значит ли это, что контроллер работает нормально? вот бы еще запись проверить ... тест HDD по прежнему не полностью проходит. Может это софт некорректно написан?
LeoN65816 имеются исходники теста HDD, можете их глянуть, вдруг что-то странное обнаружите?
PS: задвоение байтов было с картой объёмом 256МГб, с 2ГБт картой все стало нормально.
Последний раз редактировалось Дмитрий2012; 10.08.2016 в 19:31.
Если есть зависимость от экземпляров карточек CF (причем не работают те, которые нормально работают в схеме IDE на ВВ55), то тут ИМХО что-то с задержками. Нужно чтобы для устройства IDE (CF-карточки в нашем случае) было правильно чередование фронтов приходящих из регистров контроллера данных и тактирующих управляющих импульсов. Т.е. не чтобы как в большинстве схем "а-ля Немо-ИДЕ" сигнал процессора /WR сразу писал во вторую половинку 16-битного слова и одновременно транслировался как сигнал /WR на IDE, а чтобы сначала записывался регистр нашего контроллера (ИР23), а потом уже (пару тактов CPU спустя) дергалась управляющая ножка /WR на IDE - именно так во времени работает схема на ВВ55 (что и понятно - сигналы управления в порт там программно выставляет CPU в команде OUT, следующей после команды записи регистров данных). И аналогично с чтением - чтобы не было "сквозного сквозь буфер/регистр" чтения по единому для IDE и для контроллера сигналу /RD.
Последний раз редактировалось Error404; 10.08.2016 в 20:32.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Вот тут неплохо последовательность описана записи/чтения регистров IDE http://www.pjrc.com/tech/8051/ide/wesley.html#rcycle
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Да, в схеме IDE на ВВ55 256МГб CF карточка работает нормально. Значит надо дорабатывать контроллер. Похоже он все-таки работает неправильно. Я тут обнаружил, что информация с диска читается только один раз при включении компа. Если потом повторно запустить загрузку с HDD, ничего не происходит, данные с диска не читаются.
Последний раз редактировалось Дмитрий2012; 11.08.2016 в 18:35.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)