Меня всегда привлекали оконные интерфейсы.
Когда-то в 90х я наконстролил нечто рудиментарное с окошками для редактирования шрифтов в МикроДОСе с BoldBIOS.
Вот теперь решил снова заняться этой темой. Чтобы не изобретать велосипед с нуля, взял свой старый код и начал его рихтовать. Вместе с ним росла и оконная библиотека.
Пока удалось сделать десктоп, горизонтальные и выпадающие меню, листбокс, модальные диалоги, обработку групбоксов, property sheets, push button и checkbox. Ну и минимальный набор для управления оконным API и WINDOW messaging (хоть и без очередей). Меню и листбокс сделаны пока криво, без прокрутки хотя "правильный" код у меня тоже на руках.
Так как я начал с имеющегося кода с 90х, выбор С компилятора - не самый удачный. Это SuperSoft C, даже не K&R и оптимизировать генерируемый им код - постоянный вызов. С другой стороны, я обожаю недокомпиляторы и перспективу впихивать невпихуемое. Как вышло - судить вам. Весь исходный код прилагается в аттаче. Там же образ дискеты fonted.fdd. Чтобы запустить редактор шрифтов, просто смонтируйте в эмуле на приводе A, загрузитесь и нажмите <ВК>. На диске есть несколько разных видов шрифтов для примера. Их можно загружать в редактор а потом в ОС. Также можно сгенерить ОС с новым шрифтом
Зачем я это всё делаю? Мечта на самом деле вместо МикроДОСа подключить графические библиотеки и получить многоцветные окошки на нативном Векторе. Естественно, при этом будет смена компилятора, а в какой-то момент возможно вместо C будет portasm чтобы ужать и сделать некий API с поддержкой различных языков высокого уровня.
Ну и потом, может кому сырки пригодятся. Буду рад комментам/замечаниям/предложениям. Ну а пока вот как есть.
Обновление до версии 1.2
Fonted12.zip
Пофикшено сохранение символа в окне редактирования (забыл доделать начатую оптимизацию)