PDA

Просмотр полной версии : ЕС-1842



Sancho45
23.03.2025, 17:32
Решил создать отдельную тему по ЕС-1842. Тут буду понемногу публиковать всю собранную мною и др. участниками инфу, в основном техническую. Наработки, схемы, прошивки и т.д.
Начнём-с …
Биос ЕС-1842 является логическим продолжением биоса ЕС-1841, с некоторыми его нюансами. Например, он содержит копию прошивки расширение биоса поддержки MFM контроллера и т.д. Так же, по моему мнению, он содержит множество недоработок, что и побудило меня к созданию немного доработанной версии.

Что исправлено:
1. Вызов п/п поиска расширений биоса. Как видно из кода ниже, поиск п/п расширения биоса пропускается, если сдохла батарейка кмоса или неверная контрольная сумма. Что полностью исключает загрузку с любого другого устр-ва, кроме дискетки. Так же при верных данных КМОС, НО наличия в векторе INT13h указателя на сегмент C800h, пропускается инициализация MFM биоса.


mov al, DIAG_STATUS
out CMOS_PORT, al
jmp short $+2
in al, CMOS_DATA
jmp short $+2
test al, BAD_BAT or BAD_CKSUM ; check cmos status
jnz short alzo ; jmp if chksum is bad or cmos lost power
mov al, 12h
out CMOS_PORT, al
jmp short $+2
in al, CMOS_DATA
or al, al
jz short alzo ; jmp if no hard drive set
mov dx, 0C800h

ROM_SCAN_1:

mov ds, dx
sub bx, bx
mov ax, [bx]
push bx
pop bx
cmp ax, 0AA55h
jnz short NEXT_ROM
call ROM_CHECK
jmp short ARE_WE_DONE


NEXT_ROM:
add dx, 80h


ARE_WE_DONE:
cmp dx, 0F600h
jl short ROM_SCAN_1
xor ax, ax
mov es, ax
cmp word ptr es:INT_13h+2, 0C800h
jz short alzo
call HD_init

alzo:

2. При установленной, перемычками на материнке, типа видеокарты EGA устанавливается заглушка на INT10h(iret), до вызова биоса видеокарты. Это позволяет избежать проблем с VGA видеокартами (при наличии ISA разъёма на материнке), которые проверяют наличие оригинального вектора INT10h F000:F065h (включают режим 40х25), а так же продолжить загрузку при отсутствующей/неисправной видеокарты (например при ремонте/диагностики материнки биос подвисает на опросе регистров видеокарты, которая отсутствует или неисправна).

3. Исправлена ошибка – “Не прошёл сброс КЛВ” при подключении классической АТ клавиатуры. В биосе не правильно была установлена константа ожидания сброса. АТ клавиатура делает более обширный самотест.


Что улучшено:
1. Заменены все вызовы CALL DDS на PUSH 40h, POP DS(для проца 86м). Последние 2 команды занимают так же 3 байта, что и CALL. Должно несколько ускорить биос.

2. Добавлена надпись БСУВВ ЕС1842 при запуске.

3. Изменён INT19h, теперь он более информативен и распознает отсутствие загрузочного устройства, неформатированный носитель или отсутствие системной дорожки, о чем информирует.

4. Добавлен SHELL для настроек биоса, а-ля ес-1849. Теперь можно настроить Дату/Время и самое главное произвольный тип/геометрию МФМ диска БЕЗ ТПС. 38 вариантов(15й не использ.) + ЮЗЕР тип(параметры можно свои задать). Не нужно переставлять перемычки на контроллере МФМ. Так же формат даты правильный ДД-ММ-ГГГГ.

5. Добавлены 2 кода для POST diag card (23h,24h), использовались для проверки, решил оставить, что бы биос хоть что-то выдавал (при наличии isa).


https://pic.maxiol.com/thumbs2/1742738902.1549832139.20250323141055.jpg (https://pic.maxiol.com/?v=1742738902.1549832139.20250323141055.jpg&dp=2) https://pic.maxiol.com/thumbs2/1742739340.1549832139.20250323141300.jpg (https://pic.maxiol.com/?v=1742739340.1549832139.20250323141300.jpg&dp=2)https://pic.maxiol.com/thumbs2/1742739444.1549832139.20250323141509.jpg (https://pic.maxiol.com/?v=1742739444.1549832139.20250323141509.jpg&dp=2)https://pic.maxiol.com/thumbs2/1742739586.1549832139.20250323151717.jpg (https://pic.maxiol.com/?v=1742739586.1549832139.20250323151717.jpg&dp=2)https://pic.maxiol.com/thumbs2/1742739644.1549832139.20250323151915.jpg (https://pic.maxiol.com/?v=1742739644.1549832139.20250323151915.jpg&dp=2)


В остальном это родной биос ес1842. Всё это умещается в стандартные пзу материнки 4х27c64. Файлы во вложении пронумерованы в соответствии с маркировкой микросхем пзу(004/005/006/007).

Некоторые опции биоса резервные для варианта внешнего биоса на 64кб с поддержкой полноценного, 16бит интерфейса IDE. Новая плата с плюшками и биос к ней протестированы. Ожидается новая ревизия. В создании самой платы активно участвует Atomic. Фото ниже.

https://pic.maxiol.com/thumbs2/1742739761.1549832139.20250323175144.png (https://pic.maxiol.com/?v=1742739761.1549832139.20250323175144.png&dp=2)


Топик будет пополняться со временем.