Инструменты пользователя

Инструменты сайта


msx:font_editor:font_editor

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:font_editor:font_editor [2022-05-14 20:36]
GreyWolf [Работа с программой]
msx:font_editor:font_editor [2022-07-31 22:39] (текущий)
GreyWolf
Строка 1: Строка 1:
 ====== MSX2 Font editor ====== ====== MSX2 Font editor ======
-FIXME+ 
 +{{:​msx:​font_editor:​font_editor-52.gif|}} 
 + 
 + 
 +~~TOC wide~~ 
 +~~TOC_HERE~~
  
 [[github>​Dolphin101546015/​MSX2_2plus_Projects/​tree/​master/​8x16_Font_Editor_v2.5|MSX2 Font editor]] [[github>​Dolphin101546015/​MSX2_2plus_Projects/​tree/​master/​8x16_Font_Editor_v2.5|MSX2 Font editor]]
  
-(c) by Dolphin_Soft Vladivostok ​2019+(c) by Dolphin_Soft Vladivostok ​2018–2022 
 + 
 +Написан на [[msx:​nestor_basic:​nestor_basic|]].
  
-Программа предназначена для редактирования экранных шрифтов,​ разрешением ​8х16 пикселей. Эти шрифты могут использоваться во всех текстовых режимах или тайловых режимах:​ +Программа предназначена для редактирования экранных шрифтов,​ разрешением ​8×16 пикселей. Эти шрифты могут использоваться во всех текстовых режимах или тайловых режимах:​ 
-  * Screen 0, 40 символов шириной (аппаратное разрешение символа ​6х16+  * Screen 0, 40 символов шириной (аппаратное разрешение символа ​6×16
-  * Screen 0, 80 символов шириной (аппаратное разрешение символа ​6х16+  * Screen 0, 80 символов шириной (аппаратное разрешение символа ​6×16
-  * Screen 1 и выше: 32 символа шириной (аппаратное разрешение символа ​8х16)+  * Screen 1 и выше: 32 символа шириной (аппаратное разрешение символа ​8×16)
  
 Программа при старте включает режим черезстрочной развёртки,​ и инициализирует прерывание луча развёртки,​ в котором производится считывание чётности выводимого кадра, и в соответствии ей переключается адрес знакогенератора. Программа при старте включает режим черезстрочной развёртки,​ и инициализирует прерывание луча развёртки,​ в котором производится считывание чётности выводимого кадра, и в соответствии ей переключается адрес знакогенератора.
Строка 16: Строка 23:
 При редактировании,​ возможно искажение символов до такой степени,​ что интерфейс программы становится нечитаемым. Для того чтобы этого избежать,​ была создана возможность использования "​Системного шрифта",​ который загружается на этапе запуска,​ и реализована возможность переключения между редактируемым шрифтом и системным. При редактировании,​ возможно искажение символов до такой степени,​ что интерфейс программы становится нечитаемым. Для того чтобы этого избежать,​ была создана возможность использования "​Системного шрифта",​ который загружается на этапе запуска,​ и реализована возможность переключения между редактируемым шрифтом и системным.
  
-Так как при операциях дискового ввода/​вывода,​ невозможна работа прерываний,​ программа при старте копирует штатный шрифт (8х8) в теневую страницу,​ и при выполнении дискового ввода/​вывода,​ переключается кратковременно на него.+Так как при операциях дискового ввода/​вывода,​ невозможна работа прерываний,​ программа при старте копирует штатный шрифт (8×8) в теневую страницу,​ и при выполнении дискового ввода/​вывода,​ переключается кратковременно на него.
 \\ Эта возможность не была предусмотрена на этапе разработки программы,​ поэтому изначально,​ адреса банков для редактирования были выбраны штатные для режима SCREEN0, 80 символов в строке (адрес знакогенератора 0x1000). ​ \\ Эта возможность не была предусмотрена на этапе разработки программы,​ поэтому изначально,​ адреса банков для редактирования были выбраны штатные для режима SCREEN0, 80 символов в строке (адрес знакогенератора 0x1000). ​
 \\ Таким образом,​ проблема была устранена. \\ Таким образом,​ проблема была устранена.
Строка 26: Строка 33:
 При старте программы,​ выполняются инициализации,​ загрузка системного шрифта,​ перемещение таблицы цветов (области блинка),​ и выполняется вывод интерфейса. При старте программы,​ выполняются инициализации,​ загрузка системного шрифта,​ перемещение таблицы цветов (области блинка),​ и выполняется вывод интерфейса.
  
-Редактируемый шрифт при этом, берётся штатный (8х8), и выполняется его копия в Банк1 из Банк0, тем самым достигается конвертирование стандартного шрифта ​8х8, в удвоенный — 8х16.+Редактируемый шрифт при этом, берётся штатный (8×8), и выполняется его копия в Банк1 из Банк0, тем самым достигается конвертирование стандартного шрифта ​8×8, в удвоенный — 8×16.
  
 Все дальнейшие операции с программой эти действия не выполняют. Все дальнейшие операции с программой эти действия не выполняют.
  
 Используемая видеопамять распределена следующим образом:​ Используемая видеопамять распределена следующим образом:​
-|0x0000-0x07FF|Экранная область| +|0x00000x07FF|Экранная область| 
-|0x0800-0x0FFF|Теневая страница (при старте в ней создаётся справка по клавишам)| +|0x08000x0FFF|Теневая страница (при старте в ней создаётся справка по клавишам)| 
-|0x1000-0x17FF|Банк №0 редактируемого шрифта (чётные строки)| +|0x10000x17FF|Банк №0 редактируемого шрифта (чётные строки)| 
-|0x1800-0x1FFF|Банк №1 редактируемого шрифта (нечётные строки)| +|0x18000x1FFF|Банк №1 редактируемого шрифта (нечётные строки)| 
-|0x2000-0x27FF|Банк №0 системного шрифта (чётные строки)| +|0x20000x27FF|Банк №0 системного шрифта (чётные строки)| 
-|0x2800-0x2FFF|Банк №1 системного шрифта (нечётные строки)| +|0x28000x2FFF|Банк №1 системного шрифта (нечётные строки)| 
-|0x3000-0x37FF|Банк стандартного шрифта (8х8) для операций ввода/​вывода| +|0x30000x37FF|Банк стандартного шрифта (8×8) для операций ввода/​вывода| 
-|0x3800-0xBFFF|Неиспользуемая область видеопамяти| +|0x38000xBFFF|Неиспользуемая область видеопамяти| 
-|0xC000-0xC0FF|Таблица цветов (знакоместа областей блинка)| +|0xC0000xC0FF|Таблица цветов (знакоместа областей блинка)| 
-|0xC100-0xC112|Служебная область флагов и буфер копирования символа|+|0xC1000xC112|Служебная область флагов и буфер копирования символа|
  
-При сохранении редактируемого шрифта,​ создаётся бинарный файл ''​font.fnt'',​ в который копируется область видео-буфера,​ лежащая по адресам:​ \\ 0x1000 – 0x1FFF, размером 4кб.+При сохранении редактируемого шрифта,​ создаётся бинарный файл ''​font.fnt'',​ в который копируется область видеобуфера,​ лежащая по адресам:​ \\ 0x1000 – 0x1FFF, размером 4кб.
 Полученный файл представляет собой два банка шрифта,​ в первой половине файла находятся чётные строки,​ во второй соответственно нечётные. Полученный файл представляет собой два банка шрифта,​ в первой половине файла находятся чётные строки,​ во второй соответственно нечётные.
  
Строка 58: Строка 65:
  
 Интерфейс программы очень прост и информативен. Интерфейс программы очень прост и информативен.
-\\ Вверхней части находится тайтл, в котором содержится названия,​ номер версии,​ и правообладатель (я Dolphin_Soft) :)+\\ Вверхней части находится тайтл, в котором содержится названия,​ номер версии,​ и правообладатель (я — Dolphin_Soft) :)
 \\ В центре экрана находится табличка адресов редактируемого фонта, текущий адрес отображаемого шрифта (системный),​ под которым находится информация о текущем символе редактирования (его код в hex и dec виде, а так же сам символ) Под таблицей адресов,​ распологается карта шрифта,​ с выделенным в ней символом,​ который выбран в качестве редактируемого. \\ В центре экрана находится табличка адресов редактируемого фонта, текущий адрес отображаемого шрифта (системный),​ под которым находится информация о текущем символе редактирования (его код в hex и dec виде, а так же сам символ) Под таблицей адресов,​ распологается карта шрифта,​ с выделенным в ней символом,​ который выбран в качестве редактируемого.
  
-В правой части находится "​Линза символа" ​область для редактирования,​ в которой можно выполнять перемещения курсора,​ клавишами управления.+В правой части находится "​Линза символа" ​— область для редактирования,​ в которой можно выполнять перемещения курсора,​ клавишами управления.
 \\ Строки линзы тонированны разным цветом,​ показывая,​ в каком банке шрифта,​ находится ​ \\ Строки линзы тонированны разным цветом,​ показывая,​ в каком банке шрифта,​ находится ​
 редактируемая строка. редактируемая строка.
Строка 73: Строка 80:
 Внизу экрана находится панграма,​ отображающая все буквы шрифта,​ в кодировке MSX. Внизу экрана находится панграма,​ отображающая все буквы шрифта,​ в кодировке MSX.
  
-Под ней располагаются "​Ключи"​ — клавиши управления,​ более развёрнутую справку по которым,​ можно получить,​ удерживая клавишу ​<​key>​H</​key>:​ +Под ней располагаются "​Ключи"​ — клавиши управления,​ более развёрнутую справку по которым,​ можно получить,​ удерживая клавишу ​— <​key>​H</​key>:​ 
 +|<100% 10% 15% 75%>|
 |<​key>​S</​key>​|Save ''​Font.fnt''​|Сохранение редактируемого шрифта| |<​key>​S</​key>​|Save ''​Font.fnt''​|Сохранение редактируемого шрифта|
 |<​key>​L</​key>​|Load ''​Font.fnt''​|Загрузка ​  ​редактируемого шрифта| |<​key>​L</​key>​|Load ''​Font.fnt''​|Загрузка ​  ​редактируемого шрифта|
 |<​key>​B</​key>​|System Font Adr.|Переключает вид между шрифтами "​редактируемый"​ <-> "​системный"​| |<​key>​B</​key>​|System Font Adr.|Переключает вид между шрифтами "​редактируемый"​ <-> "​системный"​|
-|<​key>​C</​key>​|%%Copy Bank 0 -> 1%%|Выполняет копирование банка 0 в банк 1|+|<​key>​C</​key>​|Copy Bank 0 -> 1|Выполняет копирование банка 0 в банк 1|
 |<​key>​R</​key>​|Load ​ BIOS  char|Перечитывает карту символа из ПЗУ, с копированием в банк 1| |<​key>​R</​key>​|Load ​ BIOS  char|Перечитывает карту символа из ПЗУ, с копированием в банк 1|
 |<​key>​F</​key>​|Fill ​ ( white )|Заполняет все блоки линзы| |<​key>​F</​key>​|Fill ​ ( white )|Заполняет все блоки линзы|
Строка 107: Строка 114:
 Клавишами <​key>​S</​key>​ и <​key>​L</​key>,​ производятся сохранение и загрузка редактируемого шрифта,​ соответственно. Клавишами <​key>​S</​key>​ и <​key>​L</​key>,​ производятся сохранение и загрузка редактируемого шрифта,​ соответственно.
 \\ Загрузка и сохранение не подразумевают задания имени шрифта. \\ Загрузка и сохранение не подразумевают задания имени шрифта.
-\\ Используется имя файла ​''​font.fnt''​+\\ Используется имя файла ​— ''​font.fnt''​
  
 ====== Ссылки ====== ====== Ссылки ======
  
 +[[msxorg>​forum/​msx-talk/​development/​msx22-universal-font-editor-v33-with-drivers-kun-basic| MSX2(2+) Universal font editor v3.3, with drivers (Kun-Basic)]]
  
 +[[zxpkru>​threads/​30361-msx2-2-font-editor-8x16-(v2-5-final)-(x-basic)-sample-fonts-(also-with-codepages).html|MSX2/​2+ Font Editor 8x16 (v2.5 final) (X-Basic) + sample fonts (also with codepages)
 +]]
  
-{{tag>​MSX fonts Application}} 
  
 +{{tag>​MSX fonts Application BASIC X-BASIC}}
msx/font_editor/font_editor.1652549784.txt.gz · Последние изменения: 2022-05-14 20:36 — GreyWolf