ZXNet эхоконференция «code.zx»


тема: Печать текста.



от: Станислав Ломакин
кому: All
дата: 30 Mar 2006
Hello, mig'95 mig> Пожалуйста, подскажите, каким образом можно организовать печать mig> текста на экране не по RST 16. Приводить здесь код не обязательно, mig> достаточно лишь общее описание алгоритма.. Сам я что-то в mig> затруднении.. :v2_conf2: по координатам x,y вычислить адрес верхнего байта знакоместа, (*) взять код символа, по коду символа и адресу фонта найти адрес первого из 8и байт графики символа. взять байт символа, положить в экранный адрес, перейти к следующему байту символа и адресу в экране на пиксел ниже, и так 8 раз. перейти к экранному адресу для следущего символа, повторять все это, начиная с (*), до тех пор, пока строка не закончится.

от: Kirill Frolov
кому: All
дата: 30 Mar 2006
Hello, boo_boo Построчно будет быстрей. Т.е. вначале верхняя строка всей строки, потом вторая и т.п.

от: Игорь Мамонов
кому: All
дата: 30 Mar 2006
Hello, boo_boo boo> по коду символа и адресу фонта найти адрес первого из 8и байт графики boo> символа. Вот это совсем непонятно. Можно поподробнее? Hапример, если я использую стандартный шрифт, размещающийся с адреса 15616 (тоже, кстати, непонятно - ведь для запуска TR-DOS мы обращаемся из Бейсика по этому адресу, а там - шрифт) и мне нужно вывести на печать символ, например "H" (код 72) .

от: Stanislav Yudin
кому: All
дата: 30 Mar 2006
Hello, mig'95 mig> Hапример, если я использую стандартный шрифт, размещающийся с адреса mig> 15616 (тоже, кстати, непонятно - ведь для запуска TR-DOS мы mig> обращаемся из Бейсика по этому адресу, а там - шрифт) и мне нужно mig> вывести на печать символ, например "H" (код 72) . Каждый символ в ПЗУ занимает 8 байт. Шрифт начинается с символа пробела. Его код - 32. Значит реальное начало шрифта, то есть символа с кодом 0, находится по адресу 15616-32*8. Чтобы получить адрес буквы "H" в шрифте очевидно нужно сделать так: (15616-32*8)+(72*8). Следующие за этим адресом 8 байт и будут составляющие символа H. Что же касается TR-DOS, то контроллер Beta Disk устроен так, что при попытке перехода на определённую область адресов ПЗУ, в которую как раз и входит упомянутый адрес 15616, включается ПЗУ TR-DOS, которое заменяет собой стандартное ПЗУ с Бейсиком. А в ПЗУ TR-DOS по этим адресам находтся уже не шрифт, а код программы работы с дисководом.

от: Wladimir Bulchukey
кому: All
дата: 30 Mar 2006
Hello, CityAceE Общий принцип такой: Физический адрес видеопамяти: Адрес=16384+2048*I+32*J+256*K+X, где: I=0...2 - номер трети экрана (сверху вниз); J=0...7 - номер строки символов в трети (сверху вниз); K=0...7 - номе линии (байта) в символе (сверху вниз); X=0...31 - номер знакоместа в строке (слева направо).




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Письмо в номер - программа резидент от CompoWellcome Co. Ltd.
Наши новости - Скоро Новый год!..
Реклама - рeклaму я люблю, только помню плоxо.
Развлечения - Двое в гамаке.
Премьера - системные программы: Sound Tracker Blockmaer v1.0, Sound Tracker Player v1.01, Pt Player v1.0, DAF v7.09, SCG v4.2, Сканер, Bolo 128k.

В этот день...   8 мая