Пытался найти подобные эмуляторы. Но нечего лучшего, чем
21 мая 2007 - 01:37 Unknown BIOS
Пытался найти подобные эмуляторы. Но нечего лучшего, чем EMU, для себя не нашел. Для меня важна, прежде всего, пошаговая отладка и удобный интерфейс. Загрузка ОС и дальнейшая работа мне пока неинтересно.
Хорошо было бы, если б проект стал open source.
Получилось подсунуть 128Кб БИОС от 440LX платы, все прекрасно работает.
Но вот, что для меня сейчас более важно, БИОС размером 512Кб от ноутбука P4 (чипсет неизвестен) кушать не хочет. Я понимаю, что эмулируется конкретная мать, поэтому и хотелось бы самому на скорую руку подправить исходники.
Первое, на что ругается прога (как я понимаю в силу моей просвещенности), это отсутствующие регистры MSR
Второе, что выяснилось в ходе отладки, это отсутствие эмуляции портов в/в с адресами 0xd800…0xd8ff (интервал может быть неточен). Не знаю, что находится по этим адресам, похоже какая-то ОЗУ, т.к. этот диапазон адресов используется для хранения адресов возвратов из подпрограмм. Соответственно при неправильной эмуляции, адреса возвратов не сохраняются.
[img][650:189]molc.narod.ru/bios/d8a0.png[/img]
Может, есть способ как-то это тоже обойти?
Пытался найти подобные эмуляторы. Но нечего лучшего, чем EMU, для себя не нашел. Для меня важна, прежде всего, пошаговая отладка и удобный интерфейс. Загрузка ОС и дальнейшая работа мне пока неинтересно.
Хорошо было бы, если б проект стал open source.
Получилось подсунуть 128Кб БИОС от 440LX платы, все прекрасно работает.
Но вот, что для меня сейчас более важно, БИОС размером 512Кб от ноутбука P4 (чипсет неизвестен) кушать не хочет. Я понимаю, что эмулируется конкретная мать, поэтому и хотелось бы самому на скорую руку подправить исходники.
Первое, на что ругается прога (как я понимаю в силу моей просвещенности), это отсутствующие регистры MSR
[img][650:500]molc.narod.ru/bios/msr_error.png[/img]
Это пока удалось обойти. Только не знаю какие будут последствия.
Второе, что выяснилось в ходе отладки, это отсутствие эмуляции портов в/в с адресами 0xd800…0xd8ff (интервал может быть неточен). Не знаю, что находится по этим адресам, похоже какая-то ОЗУ, т.к. этот диапазон адресов используется для хранения адресов возвратов из подпрограмм. Соответственно при неправильной эмуляции, адреса возвратов не сохраняются.
[img][650:189]molc.narod.ru/bios/d8a0.png[/img]
Может, есть способ как-то это тоже обойти?