В качестве точек входа вызовов
п/п из BIOS нужно использовать стандартные RST 8, RST 16 и т.д.
Синтаксис обычный:
RST XX ; вызов п/п
DEFB YY ; класс п/п
DEFB ZZ ; функция
DEFB A1,A2,... ; параметры
внимательней надо читать:
раз рассматривается проект ПЗУ для спекка, то подразумевается что система будет отдельно работать.
Для спекка нет защищённого режима вообще, так что любая работа с портами не должна вестись из ОС и ПО этой ОСи. Или по крайней мере значительно исключаться и переноситься в защищённые области.
Поэтому работу с портами берёт на себя ПЗУ, а никак не ОСь. Я про это и говорю.
А какой девайс будет на портах работать, это уже не важно.
Работа с тем же DMA USC на себя тоже будет брать ПЗУ (всё таки DMA это ресурс материнской платы, а то что есть возможность выводить звук это уже побочный эффект :D)
Кроме того, меня вот буквально только что потыкали ПЦшничеством, а потом приводится аргумент про звук на ПЦ. Спекк - не ПЦ, в нём нет туевой хучи звуковых девайсов, их можно на пальцах рук пересчитать, поэтому с этой точких зрения даже стоит полностью поддержку звука ложить в ПЗУ.
Дело в том, что система никак не сможет
обнаружить расширенный экран (будь то текстовый режим или что ещё), если об этом не скажет (тем или иным образом, согласно общему интерфейсу) ПЗУ твоей системы, потому что разные графические экраны по сути просто способы представления одной и той же информации, основанные на хранящихся в ОЗУ данных. Т.е. пример (опять меня будут упрекать в ПЦшничестве) стандартный видеоускоритель для AGP - его BIOS содержит информацию и предоставляемых регистрах, а предоставляемых режимах и т.д. И никто (ни БИОС мат. платы на драйвера, даже будучи они поставлены) не смогут привести список режимов и регистров, которые предоставляются видеоускорителем. Для примера выньте ПЗУ из вашего ускорителя и поймёте о чём я говорю :D
Шутка, не надо ничего вынимать. В ПЗУ должны быть данные о том, какие есть экраны и что с ними можно делать. А вот как конкретно делать - это уже согласен ложится на плечи драйверов ОСей, и уж точно не лежит в ПЗУ (для примера засунуть Detonator'ы или там Catalyst'ы в BIOS видеокарты :D).
А с учётом того, что пока ещё видеоподсистема пока интегрирована в системную плату, то даже вопрос надо ли располагать низкоуровневые драйвера экрана в ПЗУ или нет мне кажется однозначно решённым