User Tag List

Показано с 1 по 1 из 1

Тема: ЕС-1842

  1. #1

    Регистрация
    30.05.2017
    Адрес
    г. Алматы, Казахстан
    Сообщений
    908
    Спасибо Благодарностей отдано 
    63
    Спасибо Благодарностей получено 
    275
    Поблагодарили
    148 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ЕС-1842

    Решил создать отдельную тему по ЕС-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).


    Картинки

    [свернуть]



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

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




    Топик будет пополняться со временем.
    Вложения Вложения
    Последний раз редактировалось Sancho45; 23.03.2025 в 17:57.

    Эти 2 пользователя(ей) поблагодарили Sancho45 за это полезное сообщение:

    anasana(24.03.2025), Gleb(01.04.2025)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •