|
|
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, участники форума. Подскажите пожалуйста как составить самому кодовую таблицу символов, на примере одного символа. Как её оформить и записать в знакогенератор, для дальнейшего использования в текстовом режиме, таблицу необходимо загрузить не используя функции BIOS и DOS, и ещё вопрос, как потом на неё переключиться для её использования, когда я использую стандартную уже прошитую ASCII таблицу, я например написал такую программу - записываю свой обработчик прерываний от клавиатуры в память и далее обрабатываю нажатие клавиш. Например нажата клавиша "S" с порта поступает скан код 1Fh, я проверяю все возможные коды нахожу соответствие и записываю в видеопамять начальный адрес 0B800h код 53h и у меня изображается буква "S", а как быть с русскими буквами. Допустим я нарисовал букву "Ы" записал её код потом при нажатии отловил 1Fh, а далее что писать в видеопамять непонятно ??? За ответ заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2008, 00:20 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
Виталийv4567 пишет: > Подскажите пожалуйста как составить самому кодовую таблицу символов, на > примере одного символа. Как её оформить и записать в знакогенератор, для > дальнейшего использования в текстовом режиме, таблицу необходимо > загрузить не используя функции BIOS и DOS, У, это искусство давно-давно забыто. Надо открывать Абела и Джордейна, стоящих у меня на полке, и даже возможно это не поможет Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2008, 01:59 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
Виталийv4567... Например нажата клавиша "S" с порта поступает скан код 1Fh, я проверяю все возможные коды нахожу соответствие и записываю в видеопамять начальный адрес 0B800h код 53h и у меня изображается буква "S", а как быть с русскими буквами. Допустим я нарисовал букву "Ы" записал её код потом при нажатии отловил 1Fh, а далее что писать в видеопамять непонятно ??? За ответ заранее благодарен. Ищите тома Библиотека Системного Программиста Фроловых. Тома 5, 6 что ли... Видеодела под досиком. Переиздовали их, посему найдёте и в более старших томах... Смысл следующий - по пиксельно строиться матрица знакогенератора, каждого знакоместа. Потом Вы просто на него ссылаетесь. Например символ пробел 20h будет в знакогенераторе все нули (не засвечиваются ячейки). Соответственно если Вы хотите вывести пробел - так и посылаете в видео память 020h. Отсюда понятно, что где расположите свою буковку 'Ы' (по какому адресу) - тот и будете юзать... Чтоб данные коды между разработчиками шрифтов совпадали - были все коды стандартизированы ISO. Под форточками досовская кодировка вроде ISO866 была(если ничего не путаю)... кстати видеопамять не только с 0B800h может начинаться ;) рекомендую при загрузке проги тестировать методом чтения-инверсии-записи-чтения-записи оригинала данный адресс, дабы убедиться что именно там начинается ваша видео память. а не по адресу 0B000h удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2008, 16:33 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
Виталий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, а далее что писать в видеопамять непонятно ??? Код русской буквы "Ы". Его получение вызывает вопросы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2008, 20:47 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
kolobok0кстати видеопамять не только с 0B800h может начинаться ;) рекомендую при загрузке проги тестировать методом чтения-инверсии-записи-чтения-записи оригинала данный адресс, дабы убедиться что именно там начинается ваша видео память. а не по адресу 0B000h Хм. Во-первых, видеопамять может начинаться не только с B800 и B000. Во-вторых, мне интересно, где Вы сейчас найдете видеокарту с B000. Ну и наконец, может таки не извращаться с сомнительными методами, а просто как грамотным разработчикам взять нужный адрес из 40h? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2008, 20:58 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
softwarer..Хм. Во-первых, видеопамять может начинаться не только с B800 и B000. речь идёт про текстовые режимы... softwarer.Во-вторых, мне интересно, где Вы сейчас найдете видеокарту с B000. всяко бывает..более того - ышо в начале этого века НАСА работала под досиком...так чтоэээээ..кхм..хз.. softwarer Ну и наконец, может таки не извращаться с сомнительными методами, а просто как грамотным разработчикам взять нужный адрес из 40h? а вот этот адрес я Вам не рекомендовал бы юзать :) не ну конечно же дышать будет...иногда :)) удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2008, 16:58 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
kolobok0речь идёт про текстовые режимы... Само собой, о другом не говорю. kolobok0 softwarer.Во-вторых, мне интересно, где Вы сейчас найдете видеокарту с B000. всяко бывает..более того - ышо в начале этого века НАСА работала под досиком...так чтоэээээ..кхм..хз.. Таки что? Одно дело - софт, другое хард. kolobok0а вот этот адрес я Вам не рекомендовал бы юзать :) не ну конечно же дышать будет...иногда :)) Может, поподробнее? А то сбился со счета, сколько же лет дышало, а тут вдруг - иногда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2008, 17:02 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
softwarer..Может, поподробнее? А то сбился со счета, сколько же лет дышало, а тут вдруг - иногда. данные в озу - это данные в озу.. наличие реальной видео памяти - это наличие реальной видеопамяти.. (надеюсь я не открыл америку?) по поводу что может портить данные в памяти - всё что угодно. начиная от вирусов, кончая обычного софта... лет много...с того века - точно... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2008, 17:53 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
kolobok0данные в озу - это данные в озу.. Да. kolobok0наличие реальной видео памяти - это наличие реальной видеопамяти.. Да. kolobok0по поводу что может портить данные в памяти - всё что угодно. начиная от вирусов, кончая обычного софта... Видите ли в чем дело, если "что угодно" испортит данные в $40, то ДОС навернется целиком, и ответ на вопрос "нашла ли Ваша программа видеопамять" будет ну совершенно не важен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2008, 17:58 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
softwarerВидите ли в чем дело, если "что угодно" испортит данные в $40, то ДОС навернется целиком, и ответ на вопрос "нашла ли Ваша программа видеопамять" будет ну совершенно не важен. :) Вы же в курсе, что изменять эти данные можно..если осторожно. например церберус(если не попутал название) при уходе от отладки, что только не меняет. переменные биоса - это так, цветочки :)) удачи Вам (круглый) ЗЫ Т.к. разговор уходит (или ушёл) хрен знает куда, а память может подводить всех - то пущай будет так как Вы сказали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2008, 18:16 |
|
||
|
знакогенератор
|
|||
|---|---|---|---|
|
#18+
Не знаю, что есть церберус, но к гипотетической программе нашего топикстартера он вряд ли имеет отношение. Я говорю все же о нормальной программе, работающей в нормальных условиях; если же на Вашу программу сбоку нападет какой-то церберус.... да он с тем же успехом может просто затереть ее исполняемый код в памяти :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2008, 18:24 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=143&tid=1345297]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
19ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 343ms |

| 0 / 0 |
