powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / знакогенератор
11 сообщений из 11, страница 1 из 1
знакогенератор
    #35304196
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, участники форума.
Подскажите пожалуйста как составить самому кодовую таблицу символов, на примере одного символа. Как её оформить и записать в знакогенератор, для дальнейшего использования в текстовом режиме, таблицу необходимо загрузить не используя функции BIOS и DOS, и ещё вопрос, как потом на неё переключиться для её использования, когда я использую стандартную уже прошитую ASCII таблицу, я например написал такую программу -
записываю свой обработчик прерываний от клавиатуры в память и далее обрабатываю нажатие клавиш. Например нажата клавиша "S" с порта поступает скан код 1Fh, я проверяю все возможные коды нахожу соответствие и записываю в видеопамять начальный адрес 0B800h код 53h и у меня изображается буква "S", а как быть с русскими буквами. Допустим я нарисовал букву "Ы" записал её код потом при нажатии отловил 1Fh, а далее что писать в видеопамять непонятно ???
За ответ заранее благодарен.
...
Рейтинг: 0 / 0
знакогенератор
    #35304224
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567 пишет:
> Подскажите пожалуйста как составить самому кодовую таблицу символов, на
> примере одного символа. Как её оформить и записать в знакогенератор, для
> дальнейшего использования в текстовом режиме, таблицу необходимо
> загрузить не используя функции BIOS и DOS,

У, это искусство давно-давно забыто. Надо открывать Абела и Джордейна,
стоящих у меня на полке, и даже возможно это не поможет
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
знакогенератор
    #35307001
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567... Например нажата клавиша "S" с порта поступает скан код 1Fh, я проверяю все возможные коды нахожу соответствие и записываю в видеопамять начальный адрес 0B800h код 53h и у меня изображается буква "S", а как быть с русскими буквами. Допустим я нарисовал букву "Ы" записал её код потом при нажатии отловил 1Fh, а далее что писать в видеопамять непонятно ???
За ответ заранее благодарен.

Ищите тома Библиотека Системного Программиста Фроловых. Тома 5, 6 что ли... Видеодела под досиком. Переиздовали их, посему найдёте и в более старших томах... Смысл следующий - по пиксельно строиться матрица знакогенератора, каждого знакоместа. Потом Вы просто на него ссылаетесь. Например символ пробел 20h будет в знакогенераторе все нули (не засвечиваются ячейки). Соответственно если Вы хотите вывести пробел - так и посылаете в видео память 020h. Отсюда понятно, что где расположите свою буковку 'Ы' (по какому адресу) - тот и будете юзать... Чтоб данные коды между разработчиками шрифтов совпадали - были все коды стандартизированы ISO. Под форточками досовская кодировка вроде ISO866 была(если ничего не путаю)...

кстати видеопамять не только с 0B800h может начинаться ;) рекомендую при загрузке проги тестировать методом чтения-инверсии-записи-чтения-записи оригинала данный адресс, дабы убедиться что именно там начинается ваша видео память. а не по адресу 0B000h


удачи Вам
(круглый)
...
Рейтинг: 0 / 0
знакогенератор
    #35307583
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567Подскажите пожалуйста как составить самому кодовую таблицу символов,
Ну... сесть, решить какие символы хотите в нее включить, какие у них будут коды, как Вы убедите производителей поддерживать именно ее вместо ASCII и прочих...

Виталийv4567Как её оформить и записать в знакогенератор,
Взять например evafont , нарисовать и при необходимости сгенерить загрузчик.

Виталийv4567таблицу необходимо загрузить не используя функции BIOS и DOS,
Это в смысле - на уровне портов? Не уверен, что это возможно - вроде как у разных производителей этот момент отличался. В любом случае, брать

R. Wilton: Programmer's guide to PC & PS/2 video systems. Maximum video. Performance from the EGA, VGA, HGC and MCGA

и читать. Все, что публиковалось на русском языке - бездарно переведенные фрагменты этой книги с внесенными по дороге ошибками.

Виталийv4567и ещё вопрос, как потом на неё переключиться для её использования,
Обычно она начинает использоваться после загрузки, переключаться никуда не надо. В принципе в память VGA можно загрузить две таблицы символов, как переключиться на вторую - смотри того же Уилтона. Кроме того, VGA можно запрограммировать для отображения сразу обеих таблиц, то есть знакогенератор на 512 символов.

Виталийv4567и записываю в видеопамять начальный адрес 0B800h код 53h и у меня изображается буква "S", а как быть с русскими буквами. Допустим я нарисовал букву "Ы" записал её код потом при нажатии отловил 1Fh, а далее что писать в видеопамять непонятно ???
Код русской буквы "Ы". Его получение вызывает вопросы?
...
Рейтинг: 0 / 0
знакогенератор
    #35307591
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0кстати видеопамять не только с 0B800h может начинаться ;) рекомендую при загрузке проги тестировать методом чтения-инверсии-записи-чтения-записи оригинала данный адресс, дабы убедиться что именно там начинается ваша видео память. а не по адресу 0B000h
Хм. Во-первых, видеопамять может начинаться не только с B800 и B000. Во-вторых, мне интересно, где Вы сейчас найдете видеокарту с B000. Ну и наконец, может таки не извращаться с сомнительными методами, а просто как грамотным разработчикам взять нужный адрес из 40h?
...
Рейтинг: 0 / 0
знакогенератор
    #35309695
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer..Хм. Во-первых, видеопамять может начинаться не только с B800 и B000.
речь идёт про текстовые режимы...

softwarer.Во-вторых, мне интересно, где Вы сейчас найдете видеокарту с B000.
всяко бывает..более того - ышо в начале этого века НАСА работала под досиком...так чтоэээээ..кхм..хз..

softwarer Ну и наконец, может таки не извращаться с сомнительными методами, а просто как грамотным разработчикам взять нужный адрес из 40h?
а вот этот адрес я Вам не рекомендовал бы юзать :) не ну конечно же дышать будет...иногда :))

удачи Вам
(круглый)
...
Рейтинг: 0 / 0
знакогенератор
    #35309711
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0речь идёт про текстовые режимы...
Само собой, о другом не говорю.

kolobok0 softwarer.Во-вторых, мне интересно, где Вы сейчас найдете видеокарту с B000.
всяко бывает..более того - ышо в начале этого века НАСА работала под досиком...так чтоэээээ..кхм..хз..
Таки что? Одно дело - софт, другое хард.

kolobok0а вот этот адрес я Вам не рекомендовал бы юзать :) не ну конечно же дышать будет...иногда :))
Может, поподробнее? А то сбился со счета, сколько же лет дышало, а тут вдруг - иногда.
...
Рейтинг: 0 / 0
знакогенератор
    #35309875
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer..Может, поподробнее? А то сбился со счета, сколько же лет дышало, а тут вдруг - иногда.

данные в озу - это данные в озу..
наличие реальной видео памяти - это наличие реальной видеопамяти..
(надеюсь я не открыл америку?)

по поводу что может портить данные в памяти - всё что угодно. начиная от вирусов, кончая обычного софта...

лет много...с того века - точно...

удачи Вам
(круглый)
...
Рейтинг: 0 / 0
знакогенератор
    #35309888
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0данные в озу - это данные в озу..
Да.

kolobok0наличие реальной видео памяти - это наличие реальной видеопамяти..
Да.

kolobok0по поводу что может портить данные в памяти - всё что угодно. начиная от вирусов, кончая обычного софта...
Видите ли в чем дело, если "что угодно" испортит данные в $40, то ДОС навернется целиком, и ответ на вопрос "нашла ли Ваша программа видеопамять" будет ну совершенно не важен.
...
Рейтинг: 0 / 0
знакогенератор
    #35309925
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВидите ли в чем дело, если "что угодно" испортит данные в $40, то ДОС навернется целиком, и ответ на вопрос "нашла ли Ваша программа видеопамять" будет ну совершенно не важен.

:) Вы же в курсе, что изменять эти данные можно..если осторожно. например церберус(если не попутал название) при уходе от отладки, что только не меняет. переменные биоса - это так, цветочки :))

удачи Вам
(круглый)
ЗЫ
Т.к. разговор уходит (или ушёл) хрен знает куда, а память может подводить всех - то пущай будет так как Вы сказали.
...
Рейтинг: 0 / 0
знакогенератор
    #35309942
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, что есть церберус, но к гипотетической программе нашего топикстартера он вряд ли имеет отношение. Я говорю все же о нормальной программе, работающей в нормальных условиях; если же на Вашу программу сбоку нападет какой-то церберус.... да он с тем же успехом может просто затереть ее исполняемый код в памяти :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / знакогенератор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]