Список деталей COM-AY где взять?
Список деталей COM-AY где взять?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Не знаю куда лучше запостить, оставлю здесь. Проигрыватель unipl2.com для тех, кто не будет собирать доработку для спектрумовской дешифрации.
Решил еще раз вернуться к контроллеру IDE-RTC. Надо все-таки настраивать платку. Имеющиеся тесты она не проходит. На этот раз решил посмотреть, что все-таки читается в память с жесткого диска. Для этого у нас на прошке есть режим загрузки системы с жесткого диска. В моем случае, в качестве диска использовал компакт флеш карту с записанным образом Альтаир-ДОС. Так вот, информация с диска читается, но как-то странно. Считанные контроллером с диска младший и старший байты повторяются два раза подряд. Может у кого из схемотехников будут какие-нибудь предположения почему так может происходить? А еще лучше, чтобы кто-нибудь из спецов проанализировал схему, может в схеме остались ошибки?
Также нашел исходник, в котором есть участок кода работы с жестким диском. Хорошо бы программист еще посмотрел бы этот код, может чего в нем намудрили, и возможно платка у нас рабочая, а проблема в «корявом» софте?
Сдается мне, надо в низовых подпрограммах чтения и записи блока с IDE тупо забить nop-ами одно лишнее чтение/запись и один лишний инкремент адреса по буферу. Разбираться - дольше. Остальное похоже работает, прочие блоки (кроме первого) же читаются?
- - - Добавлено - - -
Кстати, по исходнику с HDD читается 512 байт. Не понятно с чего бы там читаться задвоенному. Разве только железка по обращению к DATAL/DATAH (58H/57H) где-то не формирует целый импульс, а только половинку (и происходит двойное чтение того же слова, что и на предыдущей итерации). А после второй половинки управляющего импульса (когда мы уже второй раз читанули оттуда слово), HDD выдает из регистра следующее слово сектора.
Последний раз редактировалось Error404; 07.08.2016 в 23:05.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Интересненнько. Читать одинаковые 8-bit. С портов 2-х)
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Насколько я помню, конвертер 8-16 сделан обычно на 1 двухстороннем регистре и шинном формирователе. Регистр доступен всегда. По направлению к HDD данные записываются в любое время процессором, по направлению от HDD считываются в любое время. При обращении к шинному формирователю, формируется однократное обращение к регистру данных 16 бит, используя данные из вышеупомянутого регистра (для D8-D15) и шины через шинный формирователь (для D0-D7). Таким образом, при записи в HDD, сначала заполняются данные для D8-D15 в регистре расширения, потом пишутся в D0-D7. А при чтении следует делать наоборот: сначала считывать D0-D7, а потом забирать данные D8-D15 из регистра. Нарушение порядка приводит к дублированию байт. а теперь скажите мне, прав ли я конкретно в вашем случае?
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)