PDA

Просмотр полной версии : ROM диагностика от Ruud's, адаптированная для ЕС-1841 (и 1840)



Gleb
16.11.2021, 22:44
Возможно кому-то понадобится.

Адаптировал для ЕС-1841 известный ROM тест Ruud's diagnostic ROM for IBM PC, XT and compatibles (https://www.vcfed.org/forum/forum/genres/pcs-and-clones/69279-ruud-s-diagnostic-rom-for-ibm-pc-xt-and-compatibles?68214-Ruud-s-diagnostic-ROM-for-IBM-PC-XT-and-compatibles=)

Выгода этой прошивки в том, что на первом этапе не нужна ни память, ни видеокарта, достаточно только самого процессора (оригинальный ЕС1841 без памяти даже не пикнет).

Оригинальный код на ЕС1841 не работает - нужно активировать память и проинициализировать знакогенератор, также используется другая константа для регенерации.
Ну и по мелочам - иное толкование перемычек, и т.п.

С этой прошивкой ЕС-1841 по старту пискнет, чтобы сообщить, что запустилась, потом проверяет процессор, инициализирует видео (CGA и MDA, оба), проверяет таймер и ПДП, эти результаты уже выводит на экран. Только после этого инициализирует память и выполняет остальные тесты.

Для совсем начальной диагностики - в самом начале, еще до инициализации чего-либо, примерно 3 секунды дергает порт 60h на чтение - можно смотреть осциллографом на 6-й ноге 8255, чтобы убедиться, что прошивка начала работать, даже если до первого писка еще не дошло.

На ЕС-1841 прошивается в четыре РФ5 с номерами 16, 17, 18 и 19 - так названы соответствующие файлы.
Остальные РФ5 можно оставить на месте, можно вынуть - не важно.

Для ЕС-1840 используйте следующее соответствие :



ЕС-1841
ЕС-1840


016
000


017
001


018
002


019
003



Экран выглядит примерно так:

https://www.gleb.cz/ES1841/BIOS-Firmware/RuudsDiagRomAdoptation1841/RuudsDiagRomAdoptation1841-Capture.png

Скачивать здесь (https://www.gleb.cz/ES1841/BIOS-Firmware/RuudsDiagRomAdoptation1841/RuudsDiagRomAdoptation1841.zip)

dk_spb
16.11.2021, 23:38
А вот интересный вопрос. Есть несколько таких оригинальных тестов разных производителей.
Почему-то на разных отечественных компьютерах они все имеют проблему с тестированием памяти.
Вот я пускал разные тесты на одном и том же _рабочем_компьютере (не ес184x), один тест говорит что все биты битые, второй всегда пишет что битые 3 (не подряд) из 8.
как они (тесты) добиваются такого эффекта на первых же 64К, если память заведомо рабочая???
Тут в примере экрана памяти нет в компьютере? Если её нет - почему тогда паритет не помечен крестом?

Gleb
17.11.2021, 00:28
Кто ж на это ответит однозначно, только спекуляции...
Возможно сильный разброс временнЫх параметров, на который авторы тестов не рассчитывают.
В этом тесте для устойчивой работы пришлось увеличить частоту регенерации памяти, в оригинале была ниже.

Память там есть до 128К, потом уже нет.
Алгоритм тестирования не знает, если это вся имеющаяся память, или как раз после 128 произошел сбой (перемычки для определения размера памяти не используются).
Поэтому тест просто указыват где обнаружен конец рабочей памяти и какие биты не изменяются (неисправны).
Решить ошибка это или же достигнут конец физически установленной памяти предоставляется человеку.
Если бы памяти было 640К и тесты прошли бы успешно - крестов бы не было, написало бы "Nо memory error found".

Относительно паритета не скажу, не разбирался с этим и тот участок кода не менял. Надо смотреть как автор с этим работает.
К тому же это картинка из эмулятора, возможно в нем что-то не так, и на реальной машине такого нет, я не обращал внимания.

xolod
08.12.2023, 21:26
А пробовал кто-нибудь этот тест на Искре-103х ?