Скрещиваем XT-IDE и FDC BIOS Киселева
Скрещиваем XT-IDE и FDC BIOS Киселева
Поделюсь опытом скрещивания XT-IDE и FDC BIOS Сергея Киселева (официально Multi-Floppy BIOS Extension by Sergey Kiselev).
Про BIOS Киселева очень мало информации. Может кому-то пригодится.
Недавно здесь (может путаю?) читал тему про этот BIOS, но поиском найти ее не смог даже через Google.
Т.к. первым моим компьютером был 386 и XT видел только на картинках, то давно хотел собрать XT.
Недавно на форуме купил материнку, контроллер XT-IDE v4 и адаптер клавиатуры XT-PS/2. Спасибо V1talya, sasa1965 и Rio444.
У себя купил ISA 16 bit видеокарту Cirrus Logic GD-5401 (бывший Acumos AVGA1).
Были некоторые проблемы, но все заработало и с диском и с CF картой через переходник.
Следующим этапом решил прикрутить дисковод.
Поставил типовую мультикарту ISA 16 bit на Goldstar Prime 2C и дисковод 3.5" 1.44 MB.
Купил ПЗУ 27С512 (27С256 не было) для прошивки дополнительного дисководного BIOS.
И тут начались проблемы
Сконфигурировал под себя FDC BIOS, пересчитал контрольную сумму, добавил к XT-IDE BIOS.
Сделал вторую копию во второй части ПЗУ (с адреса 8000h). На XT-IDE поставил перемычку для 28C256 (Оба переключателя 8K в положение OFF).
И... не работает.
Прошил дефолтный FDC BIOS - не работает. Убрал вообще FDC BIOS - не работает.
Решил сделать 4 копии с адресов 4000h, 8000h, C000h. Заработало!!!
Получилось две копии XT-IDE BIOS и FDC BIOS, но все работает и загружается.
Дальнейшие эксперименты показали, что копия по адресу 4000h двоит BIOS. Эту копию убрал.
Но без копии в C000h ничего не работает. Возможно это особенность работы платы XT-IDE с нештатным размером BIOS или еще что-то
При этом BIOS загружается в сегмент D400h, хотя по перемычкам на плате должен грузиться в сегмент D000h. FDC BIOS загружается в сегмент D600h.
Перешивал в разных комбинациях раз 20, сломал пару ног на ПЗУ Припаял.
Дальше было проще, но опять не без проблем.
При конфигурировании FDC BIOS вручную (с пересчетом контрольной суммы) он перестает загружаться.
Сконфигурировал встроенной утилитой (по клавише F2). При попытке записать конфигурацию закономерно запись не удается, при этом выводится дамп конфигурации. Его вручную переписываем в прошивку. Конфигурация получается странная и мало похожая на то, что в документации, но в этом случае все работает.
В результате грузится FDC BIOS, перехватывает дисководные функции прерывания INT 13h (кстати, исходники хорошо документированы, автор молодец). Далее грузится XT-IDE BIOS. Если есть жесткий диск, то грузится с него. Если диска нет, то грузится с дискеты.
PS: Теоретически можно обойтись вообще без платы XT-IDE если не нужна загрузка с "железных" жестких дисков, а достаточно Compact Flash. BIOS можно прошить в ISA сетевую карту, карту через переходник IDE-CF подключить к ISA 16 bit мультиконтроллеру. Но на практике не проверял.
Ссылки:
Собранные версии XT-IDE BIOS:
https://www.xtideuniversalbios.org/binaries/
ide_xt.bin - BIOS для XT
ide_at.bin - BIOS для AT 286
ide_386.bin - BIOS для 386+
Буква l в названии - Large. Добавлено загрузочное меню. Может еще что-то?
Буква p в ide_xtp.bin - компиляция для NEC V20, на 8086/8088 работать не будет.
Перед прошивкой ОБЯЗАТЕЛЬНО прогнать скачанный BIOS через xtidecfg.com
Для платы XT-IDE v4 в поле Controller Type выбрать XTIDE rev 2 or modded rev 1.
На плате поставить перемычки J1 и J2 в положение Hi-Speed Mode.
Иначе не определяет диски.
Multi-Floppy BIOS Extension Сергея Киселева:
https://github.com/skiselev/floppy_bios
Готовый BIOS - floppy_bios.bin
Во вложении готовый дамп под 27С512. Последняя версия XT-IDE BIOS 624 + FDC BIOS 2.6 (конфигурация с одним дисководом 1.44 MB, с загрузкой через штатный загрзчик и с ожиданием нажатия F2 1 секунду).
Про BIOS Киселева очень мало информации. Может кому-то пригодится.
Недавно здесь (может путаю?) читал тему про этот BIOS, но поиском найти ее не смог даже через Google.
Т.к. первым моим компьютером был 386 и XT видел только на картинках, то давно хотел собрать XT.
Недавно на форуме купил материнку, контроллер XT-IDE v4 и адаптер клавиатуры XT-PS/2. Спасибо V1talya, sasa1965 и Rio444.
У себя купил ISA 16 bit видеокарту Cirrus Logic GD-5401 (бывший Acumos AVGA1).
Были некоторые проблемы, но все заработало и с диском и с CF картой через переходник.
Следующим этапом решил прикрутить дисковод.
Поставил типовую мультикарту ISA 16 bit на Goldstar Prime 2C и дисковод 3.5" 1.44 MB.
Купил ПЗУ 27С512 (27С256 не было) для прошивки дополнительного дисководного BIOS.
И тут начались проблемы
Сконфигурировал под себя FDC BIOS, пересчитал контрольную сумму, добавил к XT-IDE BIOS.
Сделал вторую копию во второй части ПЗУ (с адреса 8000h). На XT-IDE поставил перемычку для 28C256 (Оба переключателя 8K в положение OFF).
И... не работает.
Прошил дефолтный FDC BIOS - не работает. Убрал вообще FDC BIOS - не работает.
Решил сделать 4 копии с адресов 4000h, 8000h, C000h. Заработало!!!
Получилось две копии XT-IDE BIOS и FDC BIOS, но все работает и загружается.
Дальнейшие эксперименты показали, что копия по адресу 4000h двоит BIOS. Эту копию убрал.
Но без копии в C000h ничего не работает. Возможно это особенность работы платы XT-IDE с нештатным размером BIOS или еще что-то
При этом BIOS загружается в сегмент D400h, хотя по перемычкам на плате должен грузиться в сегмент D000h. FDC BIOS загружается в сегмент D600h.
Перешивал в разных комбинациях раз 20, сломал пару ног на ПЗУ Припаял.
Дальше было проще, но опять не без проблем.
При конфигурировании FDC BIOS вручную (с пересчетом контрольной суммы) он перестает загружаться.
Сконфигурировал встроенной утилитой (по клавише F2). При попытке записать конфигурацию закономерно запись не удается, при этом выводится дамп конфигурации. Его вручную переписываем в прошивку. Конфигурация получается странная и мало похожая на то, что в документации, но в этом случае все работает.
В результате грузится FDC BIOS, перехватывает дисководные функции прерывания INT 13h (кстати, исходники хорошо документированы, автор молодец). Далее грузится XT-IDE BIOS. Если есть жесткий диск, то грузится с него. Если диска нет, то грузится с дискеты.
PS: Теоретически можно обойтись вообще без платы XT-IDE если не нужна загрузка с "железных" жестких дисков, а достаточно Compact Flash. BIOS можно прошить в ISA сетевую карту, карту через переходник IDE-CF подключить к ISA 16 bit мультиконтроллеру. Но на практике не проверял.
Ссылки:
Собранные версии XT-IDE BIOS:
https://www.xtideuniversalbios.org/binaries/
ide_xt.bin - BIOS для XT
ide_at.bin - BIOS для AT 286
ide_386.bin - BIOS для 386+
Буква l в названии - Large. Добавлено загрузочное меню. Может еще что-то?
Буква p в ide_xtp.bin - компиляция для NEC V20, на 8086/8088 работать не будет.
Перед прошивкой ОБЯЗАТЕЛЬНО прогнать скачанный BIOS через xtidecfg.com
Для платы XT-IDE v4 в поле Controller Type выбрать XTIDE rev 2 or modded rev 1.
На плате поставить перемычки J1 и J2 в положение Hi-Speed Mode.
Иначе не определяет диски.
Multi-Floppy BIOS Extension Сергея Киселева:
https://github.com/skiselev/floppy_bios
Готовый BIOS - floppy_bios.bin
Во вложении готовый дамп под 27С512. Последняя версия XT-IDE BIOS 624 + FDC BIOS 2.6 (конфигурация с одним дисководом 1.44 MB, с загрузкой через штатный загрзчик и с ожиданием нажатия F2 1 секунду).
- mcloud4477
- Advanced Member
- Сообщения: 1263
- Зарегистрирован: 03.04.2010,01:28
- Откуда: Москва
Скрещиваем XT-IDE и FDC BIOS Киселева
Есть мнение, что не прокатит. Мультык ISA16 работает в XT ISA8 только как флопоконтроллер, IDE часть использует "дополнительную" 16ти разрядную часть и в ХТ не заведётся.a2kkv писал(а): ↑03.11.2022,22:23 PS: Теоретически можно обойтись вообще без платы XT-IDE если не нужна загрузка с "железных" жестких дисков, а достаточно Compact Flash. BIOS можно прошить в ISA сетевую карту, карту через переходник IDE-CF подключить к ISA 16 bit мультиконтроллеру. Но на практике не проверял.
286x3 386x4 486x4 p1 без счёта, дальше- больше.
Скрещиваем XT-IDE и FDC BIOS Киселева
Спорить не буду, не проверял.
Но читал, что CF (в отличие от настоящих дисков) умеют работать в 8-битном режиме и XT-IDE BIOS для этого достаточно.
Но читал, что CF (в отличие от настоящих дисков) умеют работать в 8-битном режиме и XT-IDE BIOS для этого достаточно.
- mcloud4477
- Advanced Member
- Сообщения: 1263
- Зарегистрирован: 03.04.2010,01:28
- Откуда: Москва
Скрещиваем XT-IDE и FDC BIOS Киселева
А это не существенно, IDE суть "умный" 16ти разрядный интерфейс, контроллер на винте (или CF) и в случае подключения к ISA16 получается весьма примитивная схема, там банально примитивная дешифрация и пара буферов, половина сигналов идёт с 16ти разрядного "хвоста". По этому в случае с ХТ, когда оный "хвост" висит в воздухе ИДЕ не будет работать. Не имеет такой возможности.
286x3 386x4 486x4 p1 без счёта, дальше- больше.
- Rio444
- Почётный пользователь
- Сообщения: 26861
- Зарегистрирован: 14.09.2014,19:11
- Откуда: Ростов-на-Дону
-
Вклад в сообщество
Скрещиваем XT-IDE и FDC BIOS Киселева
a2kkv, Так решено же https://phantom.sannata.org/viewtopic.php?f=14&t=37279 Правда там биос от DTK, но остальное всё то же.
И даже обсуждали недавно.
Там важно, чтобы контрольная сумма каждого биоса была равна нулю, и начало каждого биоса был выровнено по 2Кб. Т.е. начиналось с D0000h, D0800h, D1000h, D1800h и так далее.
Адреса C0000h - C8000h лучше не использовать, там видеобиос. Т.е. доступны с C8000h до DFFFFh. Дальше уже идёт биос материнской платы.
И даже обсуждали недавно.
Там важно, чтобы контрольная сумма каждого биоса была равна нулю, и начало каждого биоса был выровнено по 2Кб. Т.е. начиналось с D0000h, D0800h, D1000h, D1800h и так далее.
Адреса C0000h - C8000h лучше не использовать, там видеобиос. Т.е. доступны с C8000h до DFFFFh. Дальше уже идёт биос материнской платы.
Электронка: копия
Скрещиваем XT-IDE и FDC BIOS Киселева
Да, согласен. Хоть и более простой XT-CF адаптер, но все равно нужен.mcloud4477 писал(а): ↑04.11.2022,00:01По этому в случае с ХТ, когда оный "хвост" висит в воздухе ИДЕ не будет работать.
Скрещиваем XT-IDE и FDC BIOS Киселева
Тут больше про косяки при использовании ПЗУ бОльшего размера чем штатный.Rio444 писал(а): ↑04.11.2022,07:46 a2kkv, Так решено же https://phantom.sannata.org/viewtopic.php?f=14&t=37279 Правда там биос от DTK, но остальное всё то же.
Непонятно почему без копии в ПЗУ по адресу C000h ничего не работает.
Ну и про настройку BIOS Киселева.
- Rio444
- Почётный пользователь
- Сообщения: 26861
- Зарегистрирован: 14.09.2014,19:11
- Откуда: Ростов-на-Дону
-
Вклад в сообщество
Скрещиваем XT-IDE и FDC BIOS Киселева
Не может быть аппаратной ошибки?
Детектор адрес скорее всего выполнен на ls688. Хорошо бы измерить уровни на входах со стороны блока переключателей. Может где переключатель плохо контачит.
Электронка: копия
Скрещиваем XT-IDE и FDC BIOS Киселева
Все работает. Проверено. ISA16-бит Legacy сетевая карта с XT IDE universal BIOS, 16-бит MIO Prime 2C, CF-карта. Вот с хардами не экспериментировал. Попробую на дняхmcloud4477 писал(а): ↑04.11.2022,00:01А это не существенно, IDE суть "умный" 16ти разрядный интерфейс, контроллер на винте (или CF) и в случае подключения к ISA16 получается весьма примитивная схема, там банально примитивная дешифрация и пара буферов, половина сигналов идёт с 16ти разрядного "хвоста". По этому в случае с ХТ, когда оный "хвост" висит в воздухе ИДЕ не будет работать. Не имеет такой возможности.
Скрещиваем XT-IDE и FDC BIOS Киселева
Дополнение по контроллерам MIO. Байт D0-D7 на контроллере должен быть буферирован. Обычно, для этого, на плате контроллера, установлен буфер 74245. Если оного нет, значит линии D0-D7 с ISA8 слота напрямую заведены на линии D0-D7 IDE разъема. Из-за нестыковки уровня сигналов у CF и шины ISA с большой вероятностью работать не будет.
Скрещиваем XT-IDE и FDC BIOS Киселева
Пример "плохого" контроллера. Байт D0-D7 не буферизирован - место 74245 пустое. Можно вылечить - перерезать перемычки и установить буфер.
Пример "хорошего" контроллера. Байт D0-D7 буферизирован - установлен буфер 74245.