Переключение на 1024x768x24bpp при загрузке (Bare Metal OS) - PullRequest
1 голос
/ 19 марта 2019

Некоторое время я был заинтересован в изучении ОС Bare Metal и нашел этот замечательный GitHub от Евгения Обрезкова, который дает базовую текстовую оболочку, которая работает в QEMU.Я не смог заставить его работать в VirtualBox.

https://github.com/ghaiklor/ghaiklor-os-gcc

Я хочу расширить его и добавить простой заставочный экран загрузки, который работает, скажем, 1024x768x24bpp.Что является стандартным способом сделать это на современных компьютерах?

Этот вопрос, как и задавать несколько вопросов.:(

Должен ли я читать о VBE3? У меня есть документ, который я читаю здесь:

https://pdos.csail.mit.edu/6.828/2011/readings/hardware/vbe3.pdf

Я также взглянул на этот SE,который говорит не использовать VBE3, который немного описывает графический режим в UEFI, применим ли он к Bare Metal OS, которую я бы протестировал в QEMU или VirtualBox?

Сборка - Как установить графикурежим в UEFI (нет VGA, нет BIOS, ничего не рекомендуется)

Если ответ, основанный на исходном источнике Евгения, заключается в том, чтобы использовать VBE3 или UEFI, то есть в этом режиме я должен быть в числе реальных, защищенныхили долго? Вот что я нашел по поводу переключения между режимами:

https://www.codeproject.com/Articles/45788/The-Real-Protected-Long-mode-assembly-tutorial-for

1 Ответ

1 голос
/ 19 марта 2019

Какой стандартный метод используется на современных компьютерах?

Windows использует драйверы, которые напрямую обращаются к графической карте. Однако это предполагает, что у вас разные драйверы для разных видеокарт. Без специальных драйверов для определенной видеокарты максимум составляет 640x480x16.

Более поздние версии Linux могут использовать специальные драйверы или VESA BIOS. Долгое время VESA BIOS был по умолчанию.

...