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

User Tag List

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

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

  1. #1
    Activist
    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    353
    Благодарностей: 6
    Mentioned
    0 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,057
    Благодарностей: 1437
    Mentioned
    1 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. Этот пользователь поблагодарил Vitamin за это полезное сообщение:
    GriV (12.04.2011)

  5. #3
    Veteran
    Регистрация
    16.11.2005
    Адрес
    Санкт-Петербург
    Сообщений
    1,884
    Благодарностей: 813
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    В плюс к этому, для ускорения вывода, имеет смысл делать вывод не посимвольно, а построчно; т.е. сначала рисуется верхняя линия всей текстовой строки, затем следующая (ниже) и так далее.
    Последний раз редактировалось Evgeny Muchkin; 10.04.2007 в 09:58.
    Scorpion ZS-256 Turbo, SMUC v2.A, HDD 40Gb, GS 2Mb, ZXMC1v25, TSFM,
    FDD 5'25 Teac x2, FDD 3'5 Sony, VGA&PAL v3.0, PC Keyboard & Mouse

  6. #4
    Master Аватар для Grand
    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    708
    Благодарностей: 149
    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 в 04:25. Причина: изменение гиперссылки
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении.

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

  7. #5
    Junior
    Регистрация
    20.04.2007
    Адрес
    Kharkov
    Сообщений
    2
    Благодарностей: 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 в 17:47.

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

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

  11. #9
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,563
    Благодарностей: 690
    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 в 15:35.

  12. #10
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,270
    Благодарностей: 190
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

Похожие темы

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

Ваши права

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