Как стать автором
Обновить

Интеграция собственных шрифтов в ПЗУ VGA-карты

Время на прочтение11 мин
Количество просмотров9.3K
Всего голосов 46: ↑45 и ↓1+63
Комментарии38

Комментарии 38

Очень уж сложно не поймать линию развертки электронного луча где-нибудь в середине экрана.

Такая же проблема с фотографированием DLP-проекторов.

Выход достаточно прост - увеличить выдержку, чтобы она была больше одного прохода кадра. Например увеличить ISO в настройках. А еще лучше применить затемняющий фильтр, лично я для этого использую две поляризационные пленки от старого дисплея которыми можно регулировать степень затемнеия.

Увеличение ISO уменьшает выдержку.
я как то прошивал русские шрифты в BIOS Geforce по этой инструкции, после этого уже не требовалось загружать кодовую страницу 866 в DOS.
Хотелось бы прошить в BIOS Geforce шрифт, который часто использовался в разных играх на ZX-Spectrum, в том числе в DIZZY:

image

Не могу его найти даже в ttf, может кто-нибудь знает такой шрифт в ttf?
Спасибо, попробую что-нибудь сделать
Я прошивал еще riva tnt 2. И после этого получал в DOS сразу русский и приятный шрифт. Жалко, что это уже был закат DOSа. Кстати в резидентных программах я тоже менял шрифт под тот, который мне нравился.
Для редактирования шрифтов можно было использовать EVAFONT от небезызвестного ещё в стародавние DOSовские времена Pete I. Kvitek, в то далёкое время EVAFONT был редактор номер один для EGA/VGA фонтов.
Делал такую штуку 20 лет назад. Только для универсальности фонты прошивались кмк в биос самой материнки. И будучи обнаруженными замещали шрифты из видеокарты.
НЛО прилетело и опубликовало эту надпись здесь
Их много было. Самым эффектным был резидент, который через рандомные промежутки времени рисовал (в текстовом режиме, естественно) пробегающую по экрану цепочку следов. Назывался, если не ошибаюсь, bigfoot :)
Именно так назывался, он ещё и топал.
Мне запомнился baby.com, который заменял шрифт на детские каракули.
А теперь если хочется поменять консольный шрифт, можно прямо пропатчить его в каком-нибудь dosbox (можно конечно и пересобрать, но это дольше), ну или поменять прямо в файле биоса для qemu, например.
НЛО прилетело и опубликовало эту надпись здесь

Интересно, а пригодна ли для этой цели лампа для полимеризации зубных пломб?


Нашёл первую попавшуюся в интернетах:
Длина волны (нм): 420-480 — вот тут, похоже, нестыковка будет — микросхемам более жёсткое УФ-излучение нужно
Интенсивность светового потока: 850-1000 мВт/см2

НЛО прилетело и опубликовало эту надпись здесь
Обычно кириллицу прошивали, чтобы не тратить оперативную память на фонты. Тогда только переключатель раскладок подгрузить можно было.

Правда, последняя видюшка, которой я это делал, был Radeon 7200, по-моему.
Все такое знакомое, но давно забытое. Спасибо за приятные воспоминания.

Навожу курсор на КПДВ, вижу что она ссылка. Ожидаю, что на хайрез, а она на ту же страницу, на которой я уже нахожусь. Зачем?

В молодости, годах так в 85-90, приходилось заниматься аналогичными бубнотанцами.
Сначала приходилось перепрошивать ПЗУ знакогенератора в Нейронах и ЕС1840. Позднее в конторе появились импортные персоналки с VGA/EGA видеокартами и фичей типа «теневой БИОС» (копирование видеоБИОСа в оперативку для ускорения), написал на ассемблере руссификатор с загрузкой шрифтов непосредственно в теневой БИОС.
Я использовал S_font (не помню автора), он умел также грузить шрифты в shadow RAM на куче разных чипсетов. А вот моего там не оказалось, поэтому пришлось лезть с IDA в BIOS и смотреть инициализацию теневой памяти.
И самое интересное, что среди кучи операций с железом получилось найти нужную и оставить shadow RAM открытым на запись, изначально — после копирования туда ПЗУ он закрывался. В итоге пропатчил биос, перепрошил его, и использовал русификатор долго и счастливо, пока не пришла Windows… :)
Круто, прям ностальгия по этим ПЗУ с ультрафиолетовым стиранием, они были практически во всей компьютерной технике. Когда учился в школе тоже извращался со шрифтами, но только на Z80, и проще, там не было русских шрифтов и взять их было неоткуда, а в своих программах хотелось их использовать, брал тетрадку и рисовал матрицу 8х8 и с помощью карандаша выделял каждый пиксель и рисовал каждую букву, через пару дней шрифт был готов и перенесен в код, дальше это все трансформировалось в текстовый редактор.
Редактируя дефолтные шрифты в ПЗУ спектрума, можно было получить необычные шрифты в большом количестве софта, которые использовали за основу копию оттуда, например, когда вывод текста был утолщённым.
Со шрифтами на спеке был один курьёзный случай: есть такой ассемблер ZEUS, так у него строчный редактор устроен так, что текст выводился шрифтом из ПЗУ, а редактируемая строка вводилась в память через сканирование экрана и сравнение образов букв с заранее прошитыми в себя наборами символов, лютый изврат, но это так. Откуда я это знаю? -Захотелось шрифт поменять, а получил «кирпич».
Перепись олдфагов, и как выясняется, изобретателей собственных велосипедов.
Отпишусь, что и меня эта участь не избежала, еще в 90-х прошивал NVIDIA RIVA TNT2 русскими фонтами. Редактировал фонты через evafont, для патча образа ROM делал собственный велосипед на asm, ещё под дос.
По ходу пьесы выяснял, как считается контрольная сумма. Потом пробовал пришить аналогичную карту, не вышло, оказалось, в ней образ ROM расположен чередованием адресного пространства.
Эх, сколько было свободного времени, а ради чего? чтобы keyrus не грузить и освободить каких-то 40 из 640кб, или чтобы в некоторых прогах русские сообщения были не кракозябрами (синие экраны windows 3.х были такими).
Это сейчас «освободить каких-то 40 из 640кб», а в те времена было «освободить ЦЕЛЫХ 40 из 640кб!!!».
Ха! Для мелких COM резидентов вполне распространённой была техника, когда после запуска резидент смещался (просто копировался) на 100h байт вниз, на место заголовка и параметров командной строки. Ну и хвост обрезался максимально. Не помню уже, на сколько его можно было реально сдвинуть, но когда у тебя 512Кб оперативки — даже это было ощутимо.
*С грустью глядя на менеджер процессов, который показывает, что какая-то мелкая прога выделила себе кусок виртуалки в 2Тб*
640кб это была просто роскошь. У меня на z80 было только 48кб и это была целая вселенная, и люди раньше думали старались все оптимизировать, сейчас люди пишут плохие алгоритмы, и в принципе даже не понимают что написали плохо.
У меня на z80 было только 48кб и это была целая вселенная, и люди раньше думали старались все оптимизировать
А какая борьба была за байты в АОНах, что бы не переходить со 27C64 на 27C128… это потом уже пошли со звуком, где терять уже было нечего:)
А те, что лайт версию делали, считаются? Собственный шрифт (для той же связки, что и у автора: ДН+ИДЕ Борландов) со своим резидентом и своим же редактором. Написать его тогда было проще, чем найти. Из источников информации был только подробный справочник прерываний и всё, что удавалось выковырнуть дизассемблером из уже имеющегося софта.

Ну не могли вы прошивать riva tnt 2,даже не у обывателя она появилась только в начале 2K+

Помнится в 1990е годы нас студентами водили на ж/д станцию оснащённую одной из первых отечественных микропроцессорных централизаций стрелок и сигналов.
Она была написана на ассемблере, а дисплеи работали в текстовом режиме и выводили план станции псевдографикой со специально разработанным набором символов.

Вот были времена…
Упоротости тогда хватало, сейчас у программеров просто времени на такое нет.

Попиксельный курсор мыши в текстовом режиме — легко (4 редко используемых символа переопределялись на лету), графическая игрушка-платформер в том же текстовом режиме — тоже можно (там уже весь знакогенератор задействовался).

Сейчас такое только в программировании микроконтроллеров можно увидеть, где остались килобайты и мегагерцы. В писишном царстве гигабайт с гигагерцами это невыгодно.
И там уже эта эпоха проходит. Ресурсов становится больше и отношение к ним уже не такое бережное.
С legacy картами я делал дамп биоса, а далее брался tdfx BIOS editor (Забив на тот факт, что он для 3Dfx карт сделан был) и им просто вшивал русские шрифты (которые шли в комплекте с редактором). Далее полученный биос либо зашивался в видеокарту, либо в BIOS материнки (если это была интегрированная графика). В современных реалиях это уже неактуально, UEFI GOP и так далее.

Тоже делал такое на ЕС 1841 в 90х, за неимением информации и опыта делал свою рисовалку фонта а потом какой то другой прогой заменял в резидентной проге по какому то вычисленному смещению весь блок фонтов

Большую часть времени я провожу в DOS-навигаторе и IDE Pascal

Интересно, что пишет автор на паскале? Посмотрел его сайт, про паскаль там нет статей, буквально разовые упоминания.

Эх... Свою Matrox Mystique убил не разобравшись предварительно в bios pnp... :(

Зарегистрируйтесь на Хабре, чтобы оставить комментарий