Pull to refresh

Comments 10

Эх… Помню как году в 1991-ом программировал графику на низком уровне на Си и Ассемблере. Даже игрушку написал. :)))
Тоже было дело. Но я не особо парился и использовал Unreal-mode, чтобы работали прерывания рисования текстовых символов.
Да — через знакогенератор делал курсор мыши в виде стрелочки, которая в текстовом режиме перемещалась плавно по пикселям. :)

А графику, насколько я помню, именно через регистры и доступ к памяти делал.
Ностальгия… CGA, EGA, Hercules, VGA, SuperVGA, VESA, подготовка буфера при обратном ходе луча… были времена свободы…
Помню даже, страшилку в документации по регистрам видеоадаптера: осторожно с разверткой — можно прожечь люминофор…
Школоте не понять :-)
GRUB сам умеет устанавливать видеорежим, стоит только его об этом попросить одним из двух способов: задать нужные параметры в заголовке Multiboot, www.gnu.org/software/grub/manual/multiboot/multiboot.html#Header-graphics-fields, либо задать параметр gfxpayload — по ссылке упоминается слово Linux, но для Multiboot-загрузки gfxpayload тоже поддерживается.
Если не нужно переключать видеорежим прямо в процессе работы системы, то тащить в систему полноценный эмулятор 16-битного кода совершенно ни к чему.
Очень по душе этот пост. Но формально, ОС все-таки есть — инфрастуктура работы с памятью и прерываниями есть — значит ОС, хоть и плохонькая. Самый честный хардкор был во времена демоцсены под девизом «в жопу DOS», когда Amiga по мультимедиа-возможностям рвала всех и вся надежно, гарантировано, и педантично чётко.
А я опять попиарю свой любимый сайт и статью про графическую ОС:
wiki.osdev.org/James_T._Klik — можно воспринимать как полезные, или наоборот, вредные советы.
Я эту штуку когда-то переводил на русский, но с тех пор как мне слили кармочку за перевод, зарекся тут публиковать свои тексты.
Портирование эмулятора конечно круто, но в итоге выглядит как набор костылей: «вот тут у нас была баночка с готовым кодом, мы туда еще налили несвежих конвервов, предварительно проварив». Так и подмывает написать в стиле современных быдлокодеров: «ну а чо, 200 мегабайт для программы разве много?».
Не раскрыта работа с банками, хотя кому надо и так все прекрасно знают.
В приведенном коде поиск видеорежима слишком наглый, я бы отсортировал в порядке «хорошести» и взял бы первый, который бы подходил ближе всего. С другой стороны, это уже совместимость и костыли как итог. Хотя вы все равно решили поддерживать сразу 24 и 32 бита, а пишете всегда 32, поэтому мало того что проблема с выравниванием (у меня от этого SIGBUS), так еще и целый байт пишется за буфер.

А теперь ложка дегтя. Почему такие статьи плохи.
Купил я значит «крутую» материнку p8h67-m pro. Гадость редкая, вернуть не получилось, но дело не в этом. В этой «крутой» материнке вместо биоса уже модное UEFI, крутые стрелочки-индикаторы, и вообще ГРАФОН вместо биоса. Надо сказать, подобное говно я видел еще во времена 80486 машин, тогда это называлось winbios и гадость рисовала окошки в стиле win3.11 с поддержкой мышки. Не помню уже, был ли это графический режим или текстовый с извращениями в знакогенераторе — этим многие тогда занимались (вспомнить бы утилитки от нортона).
Так вот. Я немного отвлекся.
В этой новой и модной, молодежной материнке, как вы уже догадались, тоже все графическое. Красивые вкладочки с градиентами, шрифты и вообще дизайнерские высеры по высшему разряду. В магазине все было неплохо, по крайней мере к говняным интерфейсам я уже привык, да и биосом пользуюсь редко.
А вот когда я пришел домой, то покупка превзошла все мои ожидания. Проблема в том, что на моем старом CRT-мониторе я видел обрезанное изображение, часть списков я просто не видел, половину опций я просто не мог выставить, красивые текстурки превращались в разноцветный мусор, ну а выключение питания при походе по менюшкам — это вообще замечательно. Просто поход по меню — даже не переключение опций. Нет, иногда это чудо дизайнерского высера инициализировалось «корректно», дико мерцая экран таки отображал весь экран. В эти недолгие моменты я старался выставить все нужные опции, равно как и запомнить комбинации, дабы можно было управляться вслепую.

Хотя я сам собирался написать низкоуровневое UI, пока мне не надоело решать мелкие нюансы. Может быть тоже такое говно получилось бы.
Хотя идея меня так и не покинула. Ну не нравится мне современный UI, да и дело даже не в текстурках и скинах.
А теперь ложка дегтя. Почему такие статьи плохи.

Интересная история… Я вот только не понял, почему же такие статьи плохи? :)
Спасибо вам. Я из ваших статей узнал и понял гораздо больше полезных и более-менее актуальных вещей, чем из курса ассемблера и АСВТ (аппаратные средства выч. техники) в универе. Ставлю виртуальный плюс в карму)
Sign up to leave a comment.