Проекты в стол. Stillalive-os

Jan 15, 2024 11:30

У меня скопилось достаточно большое количество законченных и не описанных проектов. Сил закончить их нашёл, а пороха написать полноценную объёмную статью уже найти не могу. Поэтому, чтобы материал окончательно не пропал, буду делать некоторые заметки на полях, под названием "Проекты в стол".

Когда я ковырялся с BIOS, мне хотелось найти подходящий пример, чтобы проиллюстрировать свою статью Разработка BIOS на языках высокого уровня. Надо было, чтобы это был BIOS, проект был разработан на GCC и т.п. В результате я нашёл прекрасный проект польского студента техникума maniekx86, необыкновенно талантливого парня. Проект был демки в виде небольшой операционной системы для дискетки "Portal ending "Still Alive" as operating system", проще говоря демка из игры Portal. Там были ошибки, проект изначально был как монолитный си-файл, и работал только на дискетках. В результате, взял этот проект, склонировал и переписал, так чтобы он работал в BIOS, при этом раскидал это всё по раздельным файлам. Как оказалось, maniekx86 не тестировал его на реальном железе, и мы ещё исправляли возникшие ошибки и проблемы вживую. Не всё было доведено до идеала, но лучшее - враг хорошего, проект работает и теперь в виде BIOS.

Результатом есть благодарность в README.md проекта: Special thanks to @dlinyj for helping and testing! и куча моих коммитов в истории этого прекрасного проекта. Ну, а для вас снял ещё в марте месяце два крутых демо, которые вы можете лицезреть сегодня.

1. Still Alive on 386 DX in BIOS ROM
Демка на старом железе, на 386 процессоре. Видно, что процессор не вытягивает копирование таких больших областей памяти и там требуется оптимизация, однако демка звучит и показывает. Внимание: может быть громкий звук.

image Click to view



2. Still Alive on Pentium 4 in BIOS ROM
Тут мощности процессора хватает, чтобы всё просто летало. Но в силу особенностей реализации железа инициализации BIOS, для корректной работы здесь пришлось прилично попотеть. Тезисно, пришлось дополнительно копировать код программы (не элегантно, но работает).

image Click to view



Подробно описать проделанную работу что-то не хватает пороха, её было реально очень много. Но, главный посыл мой в том, что не бойтесь вливаться в чужие проекты, это реально очень круто и прикольно.

c, bios, Проекты в стол, habr, Программирование

Previous post Next post
Up