Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: вывод символа 4*8

  1. #1
    Veteran
    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,007
    Спасибо Благодарностей отдано 
    75
    Спасибо Благодарностей получено 
    114
    Поблагодарили
    77 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вывод делать через маску. Всего два варианта: #f0 и #0f
    Символы сами кодировать тоже выгоднее двойными. Одновременно и левую и правую половинку. Т.е. допустим #00,#77,#55,#55,#55,#55,#77,#00 - "квадратный" вариант нолика. И сдвиги нафиг не нужны.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,254
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    34 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если мне не изменяет склероз, есть 3 подхода к печати символов 4х8: экономный, нормальный и быстрый. Все 3 подхода отличаются форматом хранения символов в шрифте
    1)в шрифте только печатные символы (32-255, может быть меньше) по 2 в 8 байтах. весьма экономно, но относительные трудности с расчетом адреса символа и его доставанием
    2)в шрифте символы продублированы, сам шрифт имеет "экранную" структуру (для ускорения). Вывод по маске 15/240 (#0f/#f0).
    3)два шрифта в экранном формате. В одном символы слева, в другом- справа. Крайне неэкономно по памяти, зато очень и очень быстро. Обычно такой вариант редко используется, поскольку выигрыш в скорости обычно не перекрывает проигрыша в памяти (2кб).

    Если нужна печать без привязки к знакоместам, то тут почти все ухищрения по скорости идут насмарку, ибо надо скроллировать данные перед выводом. В таком случае символы лучше хранить по одному в 8 байтах, прижатые к левому краю. Экранную структуру шрифта лучше всегда использовать для ускорения вывода и поиска символа.
    Куча всего разного собрано на http://www.zxdn.narod.ru/

  4. #3
    Guru
    Регистрация
    16.11.2005
    Адрес
    Санкт-Петербург
    Сообщений
    2,893
    Спасибо Благодарностей отдано 
    1,125
    Спасибо Благодарностей получено 
    343
    Поблагодарили
    190 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для вывода без привязки к знакоместу можно неэкономично хранить в памяти 8 уже сдвинутых циклически шрифтов, а затем их выводить, используя соответствующую маску, а-ля вывод 4*8.

    В плюс к этому, для ускорения вывода, имеет смысл делать вывод не посимвольно, а построчно; т.е. сначала рисуется верхняя линия всей текстовой строки, затем следующая (ниже) и так далее.
    Последний раз редактировалось Evgeny Muchkin; 10.04.2007 в 10:58.

  5. #4
    Veteran Аватар для Grand
    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,152
    Спасибо Благодарностей отдано 
    214
    Спасибо Благодарностей получено 
    331
    Поблагодарили
    146 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от mig'95
    Для полной ясности укажу, что шрифте в каждом знакоместе (8*8) хранится по 2 символа.
    В моём Grand's Boot процедура печати очевидно именно такая (написана мной в 2000 году): весь фонт занимает в два раза меньше места. Исходники на ZX Open Source: http://opensourcezx.untergrund.net/c...and_boot2.html.
    Последний раз редактировалось Grand; 11.11.2008 в 03:25. Причина: изменение гиперссылки
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

  6. #5
    Junior
    Регистрация
    20.04.2007
    Адрес
    Kharkov
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если критична память то
    можно попробовать следующий алгоритм:
    хранить в памяти не 1 набор знакомест, а 4 т.е.
    1 это нормальное значение ххххХХХХ,
    2 это сдвинутое значение XxxxxXXX,
    3 xxxxXXXX
    4 xxxXXXXx
    маленькие х это само знакоместо, большие пустота.
    Таким образом чтоб получить 3 вариант XXxxxxXX требуется сдвинуть 1 раз или влево или вправо.
    Если память не критична то наприсовать 5 табличку.
    впринципе этот алгоритм можно подправить под любое колво пикселей.

    А езе самый быстрый вариант это создать отдельно табличку с 2 буквами. по идее навскидку 32 русских буквы комбинации кадой с каждой это 1024 вариации 32*32.
    а в букве 8 сайт соответсвенно 1024*8=8192. зато оч много проблем решается.
    Последний раз редактировалось MYA; 20.04.2007 в 18:47.

  7. #6
    Member Аватар для gRAVER_ZX
    Регистрация
    28.05.2005
    Адрес
    Москва
    Сообщений
    72
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В своем Сапере - смотри ветку про игры - я в бейсике сделал шрифт 4*8. Для этого использовал два нарисованных шрифта - одна буква нарисована слева, другая соответственно справа - а потом при печати накладывал их по OR'у.

  8. #7
    Junior
    Регистрация
    20.04.2007
    Адрес
    Kharkov
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    это есть долго.

  9. #8
    Member Аватар для gRAVER_ZX
    Регистрация
    28.05.2005
    Адрес
    Москва
    Сообщений
    72
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    с компилятором DELPHIN быстро.

  10. #9
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Меня всегда интересовал вопрос: как в таком шрифте делать буквы Ж, Ш и Щ

    ---------- Post added at 16:32 ---------- Previous post was at 16:29 ----------

    Цитата Сообщение от MYA Посмотреть сообщение
    А езе самый быстрый вариант это создать отдельно табличку с 2 буквами. по идее навскидку 32 русских буквы комбинации кадой с каждой это 1024 вариации 32*32.
    На самом деле, комбинаций меньше. Т.к. после гласных нет мягкого знака, не встречаются две подряд буквы ЙЙ, ЫЫ и т.п. К тому же, неэкономное хранение этих комбинаций с лихвой компенсируется экономным в 2 раза кодированием слов из них. Так что, предложенный вариант имеет место быть.
    Последний раз редактировалось Andrew771; 12.04.2011 в 16:35.

  11. #10
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    ###. #.#. #.#.
    ###. ###. ###.
    ###. ###. ###.
    .#.. ###. ###.
    ###. ###. ###.
    ###. ###. ###.
    ###. ###. ###.
    .... .... ..#.
    как-то так
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вывод на нынешнюю видеотехнику. RGB ZX и SCART.
    от TomCaT в разделе Изображение
    Ответов: 57
    Последнее: 29.09.2007, 09:51
  2. Вывод изображения
    от Shnurkov в разделе Изображение
    Ответов: 5
    Последнее: 10.02.2007, 15:07
  3. 52 символа в строке...
    от Strunov в разделе Программирование
    Ответов: 6
    Последнее: 30.01.2006, 03:38
  4. вывод буковочек шириной точечек
    от fk0 в разделе Программирование
    Ответов: 15
    Последнее: 10.01.2006, 23:26

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •