Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » прочитать свой биос в досе |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 3 февраля 2018 8:56 Сообщение отредактировано: 3 февраля 2018 8:59
Rio444 написал: Если не рассматривать более современные системы, с упакованным BIOS (тут понятно, Мне кажется биос может сам менять свой код. что чтение памяти не одно и то же, что чтение BIOS, кстати к таким BIOS относится win-AMI для 486, 64KB размером), то: 1.При использовании shadow/cache для Fsegment BIOS уже может копироваться не весь/копироваться с изменениями/меняться в процессе работы (обычно отличия в нескольких байтах). Неплохая аналогия - BIOS-ы PCI cards, которые всегда исполняются из памяти, а не из ROM. Не всегда этот shadow/cache для Fsegment можно отключить по факту. 2. Универсальную програму для чтения BIOS можно попробовать создать, имея документацию на конкретный чипсет (или привязываясь к движку BIOS - если разобраться, что именно меняется при shadow). В более современных системах (Pentium1 +) за отображение ПЗУ BIOS (в частности) на адресное пространство отвечают регистры PAM. 3. alecv написал: Это тоже, но в данном случае рассматривается именно искажение образа ПЗУ, читаемое процессором Достаточно, например, махнуть местами D0 и D1 ПЗУ и результаты при чтении "из памяти" будут совершенно отличаться от чтения 'программатором'. Причем для клонировани устройства нужен именно образ считаный "программатором". из адресного пространства. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
i8088 написал: Чуть-чуть вчера почитал на эту тему. 1.При использовании shadow/cache для Fsegment BIOS уже может копироваться невесь/копироваться с изменениями/меняться в процессе работы (обычно отличия внескольких байтах). Неплохая аналогия - BIOS-ы PCI cards, которые всегда исполняютсяиз памяти, а не из ROM. Не всегда этот shadow/cache для Fsegment можно отключитьпо факту. Изначально, при загрузке, управление передаётся BIOS в ROM. Но дальше BIOS может делать всё, что хочет. Например, загрузиться вовсе не в диапазон F0000-FFFFF (где он должен быть), а в любой другой. Память пока что девственно чистая. Затем загрузить уже в RAM по адресам F0000-FFFFF любой нужный код. Установить для этой области памяти "Shadow", т.е. обращение будет не в ROM, а в RAM по данным адресам. И включить для этой области памяти режим "только чтение". Ни одна программа ничего не заподозрит, а содержаться по этим адресам будет уже не ROM. Как Вы правильно заметили, делается это всё средствами чипсета. И на разных чипсетах по-разному. Книжка была относительно современная (2007 год). Совсем древние системы там не рассматривались. Поэтому точно не знаю, что там на 386-х и 486-х. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
i8088 написал: Вот это вряд ли. Иначе была бы невозможна прошивка на программаторе. Такое было только на некоторых старых видеокартах. 3. alecv написал:Это тоже, но в данном случае рассматривается именно искажение образа ПЗУ, читаемое процессоромиз адресного пространства. Достаточно, например, махнуть местами D0 и D1 ПЗУ и результаты при чтении "из памяти" будут совершенно отличаться от чтения 'программатором'. Причем для клонировани устройства нужен именно образ считаный "программатором".Или вопрос не об этом ? |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 3 февраля 2018 15:19 Сообщение отредактировано: 3 февраля 2018 15:21
Rio444 написал: На XT все прозрачно - BIOS исполняется из ROM, из Fseg. На XT DMA обычно не работае по Книжка была относительно современная (2007 год). Совсем древние системы там не рассматривались. адресамв Fseg, но это уже другая тема, поднималась на форуме. На 286-386 то же, но уже на некоторых 286 появился shadow, DMA в Fseg работает. На 486 по разному, на поздних встречается уже вполне современный упакованный Award (SiS 496/497) Rio444 написал: У Award копируется original.tmp в Eseg и Fseg. Примечательно, что original.tmp содержит и Затем загрузить уже в RAM по адресам F0000-FFFFF любой нужный код. почти копию boot-block без декомпрессора. Есть идея, что для облегчения отладки 128KB Award BIOS можно использовать (в некоторых случаях) распакованный original.tmp, просто записанный в ПЗУ. Работать это может, если в упакованных компонентах нет критичных исполняемых модулей (как правило, ранние BIOS 4.5). Никак не соберусь проверить. Rio444 написал: На 286 плате TD60C переставлены линии адреса, с линиями данных нормально Вот это вряд ли. Иначе была бы невозможна прошивка на программаторе. Такое было только на некоторых старых видеокартах. |
IdeaFix |
NEW! Сообщение отправлено: 3 февраля 2018 22:43
La Forge написал: И не только за это... +1 в общем. За одно только это i8088 нужно в рейтинг +несколько пунктов сразу! |
Сейчас на форуме |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
i8088 подскажите, пожалуйста, что делает Ваша программа bios64.exe? Она просто сохраняет содержимое ячеек F0000-FFFFF в файл, или проделывает ещё какие-то манипуляции? |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 февраля 2018 12:23 Сообщение отредактировано: 4 февраля 2018 12:24
Да, просто сохраняет Fsegment (стандартные функции C используют промежуточный буфер, из-за этого нормально работает и на XT без дополнительного создания буфера, тк у большинства XT не работает DMA в Fseg). Делать чипсетозависимые вещи из-за отсутствия документации на старые чипсеты затруднительно. Исходник прилагаю Прикрепленный файл (bios64.c, 0 байт, скачан: 24 раза) |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Спасибо! |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
i8088 написал: Есть Делать чипсетозависимые вещи из-за отсутствияhttps://wiki.osdev.org/Ralf_Brown's_Interrupt_List , содержит, кроме прерываний, инфу по портам старых чипсетов. Мне когда-то заменил даташит на OPTi Viper. |
DOS Logic
Advanced Member
d(-_-)b Откуда: Украина. Ивано-Франковск Всего сообщений: 4778 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 1 июля 2006 |
И так проблема перешла в другую плоскость Все делалось для такой платы https://2.bp.blogspot.com/-yFw...G_3991.jpg Хотел прочитать биос на программаторе но он всегда читался разный ((( А потом вообще умер Так что теперь я немогу запустить плату чтобы что-то прочитать Из тех файлов что у меня остались от чтения ничего не понятно потому что в двух разных файлах есть смысл!!! сами посмотрите: Как такое может быть? настройки программатора были выставлены правильно по чипу 27С512 файлики: https://www.sendspace.com/file/a5bmpe А может у кого-то есть такая плата? или биос? |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » прочитать свой биос в досе |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |