Сторінка 1 з 1

Поиск-2 и все-все-все

Додано: 22 січня 2025, 11:16
Babasha
В архивных целях закину сюда инфо:

1) Я не мог найти исходные тексты БИОС версии 2.6, но я нашел исходные тексты для версии 2.1. Я дизассеблировал файл БИОС версии 2.6 и внес правки в код версии 2.1 таким образом, что из него собирается файл, идентичный файлу версии 2.6. Исходный текст версии 2.1 был при этом немного почищен от мусора, который в компиляции не участвует. Получившийся в результате текст выложен на облаке Mail.ru в zip-архиве. В архиве есть сам текст и автоматический сборщик, в результате работы которого получаются 2 файла, которые можно зашить в микросхемы БИОС. И в архиве есть инструкция. Начните с нее.

2) Кстати, я в начале 2023 года смог найти контакты программиста из Киева, который этот БИОС написал. Максим Парамонов, его копирайт есть в файле БИОС версии 2.6. Я ему написал на предмет исходных текстов для версии 2.6, но он ответил, что у него ничего не сохранилось. А у меня руки только сейчас дошли этим заняться. Из полезной информации, которую сообщил автор, можно выделить только то, что микросхемы перекодировщика адресов ОЗУ, который есть в Поиске-2, вносили дополнительные задержки, что привело к увеличению проблем с ОЗУ. Возможно, это была одна из причин, по которой в Поиске-3 от перекодировщика отказались.

3) В общих чертах, изменения в БИОС с версии 2.1 по 2.6 следующие:
1. Введена задержка при включении компьютера;
2. Убрано тестирование памяти при перезагрузке по нажатию Ctrl+Alt+Del;
3. Добавлено тестирование наличия 4 COM-портов и 2 параллельных портов;
4. Внесены многочисленные, но небольшие, исправления в работу с дисководами и жесткими дисками;
5. Внесены мелкие изменения в обработчик INT10 (видео) и из него полностью убрана процедура работы со световым пером;
6. Введена возможность выбора между загрузкой с дискеты и загрузкой с жесткого диска;
7. Убран учет результатов внешнего теста памяти (видимо, на производстве использовали и результаты в CMOS записывали);
8. Убрана возможность запуска отладочного БИОС с адреса C8000H (тоже использовали при производстве);
9. Сокращено количество вариантов выбора конфигурации жесткого диска с 14 до 5;
10. Исправлено формирование слова конфигурации, которое размещается при загрузке компьютера в ОЗУ в сегменте данных 400H;
11. Частично убран мусорный код, использовавшийся для отладки.

При этом была допущена, как минимум, 1 ошибка. Код в файле POISKPR.ASM, отвечающий за запись значений 0xFFH в перекодирощик адресов ОЗУ, был перемещен. В результате пропала первоначальное обнуление регистра AL, необходимое для работы этого фрагмента кода. Этот фрагмент кода может исполняться только в двух случаях: сразу при включении компьютера и при перезагрузке после выхода из меню SETUP БИОС. В первом случае регистр и так аппаратно обнулен (хотя это неэстетично - использовать значение из регистра предварительно не записав в него ничего). Второй случай хуже, так как AL при выходе из SETUP содержит младший байт контрольной суммы CMOS. Куда при этом будет осуществляться запись при инициализации перекодировщика, предсказать нельзя. Спасает ситуацию то, что дальше осуществляется тестирование памяти, которое записывает в перекодировщик новые данные. А исправлять ошибку автор не стал, так как код оказался написан настолько плотно, что просто нет места в bin-файле. Для этого надо перемещать еще фрагмент кода на другой адрес.