Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Во-первых, в старших 64к реального режима лежат только... 09.01.20 11:09 Число просмотров: 4127
Автор: Den <Denis> Статус: The Elderman Отредактировано 09.01.20 11:32 Количество правок: 2
|
> Флешка БИОСа 2 метра. А под, собственно, БИОС у 86го > отводится только 64 старших К. Там сейчас только > несменяемый загрузчик, который рулит южным мостом, к > которому подключена флешка. По команде проца ЮМ переливает > ее содержимое в ОЗУ через ДМА. И далее, надо полагать, все > работает уже через дескрипторы сегментов. В 16 или > 32-разрядном моде - вопрос.
Во-первых, в старших 64к реального режима лежат только обработчики прерываний BIOS. Во-вторых, когда писюк стартует в реальном режиме, то до первого far jump дескрипторы сегментов в регистрах указывают на конец всего доступного адресного пространства для защищённого режима куда картирована процедура инициализации и развёртывания BIOS в памяти. В-третьих, запретить в реальном режиме перехват прерываний невозможно и ты можешь изменить вектор абсолютно любого прерывания.
> Вектора прерываний сидят, как раз, в ОЗУ, в самых старших > адресах 1го мега и настроив перекрывающийся сегмент с > правом записи их править можно. У 410 (сдохшей) платы на > каждый вектор с 1 по 14 2 варианта - PCI и ISA, причем, > переназначение идет, видимо, в чипсете, а прога ЧПУ их сама > переписывает на себя. Но из чипсета они просто не доходят.
Нет! Таблица векторов прерываний расположена в самых младших адресах начиная с 0 (нулевого), а в старших адресах расположены обработчики прерываний BIOS, на которые и указывают адреса из таблицы векторов прерываний.
Если чип БИОСа съемный, попробуй его просто переставить с SBC-410 на SBC-400, если существенных отличий между ними действительно нет. Хотя, помимо чипсета, на платформах могут быть всякие watchdog таймеры, которые могут использовать отличные адреса портов.
> Там такая фигня получается: по Х и У стоят датчики "0". > Перед работой стол едет до этих датчиков, там > останавливается и сбрасывает счетчики координат. Потом > пляшет от этого положения, как от печки. Весь прикол в том, > что по Х он останавливается и обнуляется, а по У - нет и > ползет, пока не заклинит. При этом в программе есть > "лампочки", показывающие состояния датчиков, так они > исправно загораются. Т.е. сигналы датчиков читаются, а > сброс счетчика и останов для точности происходит, видимо, > по прерыванию и оно, надо полагать, не проходит.
С нестандартными промышленными писюками и не такие чудеса происходят! Мой коллега, в своё время, задолбался вкрячивать патчи в свою прогу под DOS extender на схожие фаствеловские (Fastwell) платформы и тоже с прерываниями возился. Если интересно, через неделю могу его поспрашивать о деталях.
|
|
|