Leka пишет: Внешнюю память из принципиальных соображений не хочу использовать, а внутренней памяти мало. У Марсохода2, например, ~~46КБайт. А экран желательно от 1280*720. Так что изобретаю "минималистичную графику"...
А какой размер тайла или знакоместа Вы хотите? Легко подсчитать, что 1280*720 при знакоместе 8*8 и 256 одноцветных символах в знакогенераторе это
(1280 / 8 ) * (720 / 8 ) + 8*256 = 160*90 + 2048 = 16448. Плохая, некруглая цифра - чуть больше, чем 16384. Но если отказаться от 256 символов, например, то становится лучше.
Но Вы видели размер таких букв при 160 символах в строке? Это же неудобно. В упомянутом здесь терминале шрифт был не квадратный, но непрямоугольные знакогенераторы неудобнее для псевдографики и тайловой графики.
Какой размер знакоместа считаете минимально пригодной для "красивого" шрифта?
Для себя сейчас продумываю такой вариант, когда есть специальный код символа, заставляющий текстовый видеоконтроллер пропускать чтение указанного количества символов. Т.е. если текстовые надписи разбросаны по большому экрану и содержат пустоты (в которых, например, как в осциллографе, какая-то формируемая иным образом информация выводится), то при движении над этими пустотами контроллер просто считает сколько символов ему надо пропустить без инкремента адреса в видеопамяти. даже символ пропуска строки уже поможет не тратить видеопамять если текст разбит на горизонтальные полосы (вверху и внизу, например)
Но надо понимать, что если весь экран плотно занят уникальной текстовой информацией, то никакой волшебной экономии не придумать. Слои хороши тоже когда в изображении есть области. Тайловая графика хороша для игр. Для бродилок и платформеров. Нарисовал тайлы для воды, для суши, для леса, береговой линии, гор, домиков - вот тебе целая волшебная страна :)