User Tag List

Страница 7 из 9 ПерваяПервая ... 3456789 ПоследняяПоследняя
Показано с 61 по 70 из 85

Тема: Зачем всё делать плоским? (Опять о спрайтах)

  1. #61

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Valen Посмотреть сообщение
    А не хотите попробовать, взять за основу обычный сеговский (мегадрайв) видео-процессор.
    Только немного изменить (улучшить):
    Спрайты сделать - 8бит на пиксель (вместо 4бит)
    Разрешение сделать - 320*240 (вместо 320*224)
    Палитра 4096 цветов (12бит)

    Остальное реализовать по докам, на этот чип.
    Я хотел бы использовать стандартное разрешение 256х192, чтобы прежний спековский экран (с учётом сдвига по х,у) можно было использовать как задний план. Что касается цветов на точку, то их получается столько, сколько хочется, было бы место, где разместить достаточное число палитр. Номер палитры может быть расширен до байта, но независимо от того, лежат палитры в общей памяти, или предварительно загружаются в собственную память "процессора спрайтов", занимают они довольно прилично (например, если это RGBA8, т.е. 32 бит на цвет). Меня в чисто спрайтовом движке смущает только ограничение на число спрайтов по горизонтали. Оно можно подумать над таким вариантом, когда таблица задаёт не размещение спрайтов по строкам, а просто задаются местоположения спрайтов, дальше их размещением занимается процессор, а будет это блиттер или схема, строящая изображение на лету - уже не суть важно. Но в случае схемы слишком много одновременно спрайтов задать не получится, у схемы должно быть физическое ограничение хотя бы на количество одновременно считающих счётчиков, а ещё компараторов до кучи... В случае блиттера ограничение как бы снимается, можно построить изображение по такой таблице...


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Будь на телевизоре пиксели размером даже со спековский атрибут, кромки всех объектов в телепередачах все равно будут столь же "гладкими", как и их внутренность
    Это я не понимаю. Блиттер, получается, делает гладкое изображение, а спрайтовый движок - нет? Чушь какая-то, тем более что спрайтовый движок принципиально ничем от блиттера не отличается, кроме того, что в случае блиттера изображение строится в буфере, а потом кидается на экран, а в спрайтовом режиме - изображение сразу отправляется на экран, минуя буфер.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Контрпример - верхняя кромка сплющенного эллипса (в одну строчку!). Вот здесь на каждый пиксель (даже строгой симметрии может не быть, так что даже не на каждый второй) должна идти своя уникальная альфа-характеристика.
    И сколько пикселей у верхней кромки эллипса будет в разрешении 256х192? Думаю, 16 максимум. Как раз столько, чтобы можно было выделить особую палитру под верхнюю кромку. А с учётом симметрии эллипса, и до 32 дотянет. Это если действительно требуется уникальное значение на каждый пиксель (половины эллипса, вторая половина симметрична). Но это тоже не очень умно: по мне, можно использовать одинаковый "цвет" с альфой и на 2-3 подряд пикселя.


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    перегружать уникальную
    Что имеется в виду под перегружать? Все палитры или берутся из страницы видеопамяти, или заранее загружаются в собственную видеопамять видеоустройства. Даже если их 256 штук, по 16 цветов х 4 байта.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Память придется раз в 6 разгонять (как раз 15ns статика покатит) - только чтобы картинку отобразить суметь, и то Z80 встанет намертво. Забудьте про общую память и 3.5МГц.
    Я не схемотехник.

    Но почему 8 строк надо читать за 224 такта? По мне так достаточно читать те "пиксели", которые в данной точке подлежат отображению. В большинстве случаев это будет 0,5 (ноль целых пять десятых) байта на точку, итого 128 байт пикселей. Плюс 32 байта на чтение описателя спрайтов, если их 8 в строке, плюс по одному байту на чтение длины спрайтной строки, для присутствующих спрайтов (т.е. от 0 до 8 байтов). Если учесть наложения полупрозрачных пикселей, то ограничив их максимум 3 слоями, получим 1,5 байта на точку. Неужели <500 байт не потянет? Что-то не верится. Я потому и говорю, что вы чего-то недопоняли: мой набросок показывает, что общие требования на физические параметры даже меньше, чем требования на режим 16с, о котором здесь все слышали.

    И почему надо читать 2 бакграунда? Задний план в моём варианте - это стандартный спековский видеорежим с одновременным скроллом всех точек и атрибутов с точностью до пикселя. Итого 64 байта на строчку для него.

    Я хочу реализовать настолько простую "машинку" для спрайтов, чтобы её можно было чрезвычайно легко повторить, в другом эмуляторе, или в железе, мысля под железом не конкретно то железо, которое использовалось для спектрума традиционно, но и всякие эмуляторы спектрума на фпга. Может, и появятся желающие попробовать что-нибудь запрограммировать, хотя бы сначала на эмуляторе. Но я - почти полный ноль в схемотехнике, и поэтому мне совершенно неизвестны ограничения, которые могут возникнуть при реализации совсем простого, на взгляд программера, устройства, в том же фпга. Мне очень не хочется останавливаться на 8 спрайтах в ширину, но судя по описанию v9990, там это ограничение ещё жёстче - 6 штук на строку. Я бы очень хотел вообще не ограничиваться в числе спрайтов на строку, предпочитая общее ограничение на число спрайтов или пикселей. Это даёт блиттер, но мне он кажется слишком громоздким из-за промежуточной памяти для буфера изображения. Если включать в машинку масштабирование или повороты, т.е. делать полноценный 2Д, то это уже потянет на громоздкую реализацию, а это сложности с отладкой-доводкой, и этого мне тоже не хочется. В общем, я ещё подумаю над своим видеорежимом, пока довожу чужой до ума.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

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

  3. #62

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,965
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov
    Это я не понимаю. Блиттер, получается, делает гладкое изображение, а спрайтовый движок - нет? Чушь какая-то, тем более что спрайтовый движок принципиально ничем от блиттера не отличается, кроме того, что в случае блиттера изображение строится в буфере, а потом кидается на экран, а в спрайтовом режиме - изображение сразу отправляется на экран, минуя буфер.
    В том-то и дело, что "сразу" в данном случае означает "с жесткой привязкой по времени". Отсюда следует (см. ниже), что паковать спрайты хотя бы за счет "дырок и обрезанных границ" толку мало (разве что несколько разгрузить шину для CPU). А вот блиттер легко пропускает ненужные точки и может использовать любую схему компрессии (например нужен объект в 17 цветов - тогда самый "редкий" цвет отделяем в отдельную картинку и потом накладываем на 16-цветный объект всего несколько таких точек, без лишних затрат времени; в случае спрайтового движка нужно убить два спрайта либо портить бэкграунд). И уж конечно "потом кидать на экран" буфер не надо, просто переключаем отображаемые буфера.

    А принципиальное отличие состоит в коренном ОГРАНИЧЕНИИ:
    * Для спрайтовых движков - суммарное количество (включая прозрачные) обрабатываемых накладывающихся пикселей (даже не спрайтов как таковых, хотя от их кол-ва схема тоже разбухает) на каждую СТРОКУ.
    * Для блиттера - суммарное количество обрабатываемых накладывающихся пикселей (легко делается без прозрачных, в зависимости от раскладки) на весь КАДР (считая бордюр и интервалы гашения!). К тому же в крайнем случае всегда можно частоту обновления игрового поля (не скорость самой игры!) понизить - мигать ничего не будет, в отличие от спрайтового движка.

    Цитата Сообщение от Vladimir Kladov
    И сколько пикселей у верхней кромки эллипса будет в разрешении 256х192? Думаю, 16 максимум. Как раз столько, чтобы можно было выделить особую палитру под верхнюю кромку. А с учётом симметрии эллипса, и до 32 дотянет. Это если действительно требуется уникальное значение на каждый пиксель (половины эллипса, вторая половина симметрична).
    Проблемы начнутся на следующих строчках, когда помимо кромки возникает шиииироооокая и непрозрачная середина. И если на нее истрачены все цвета - хоть ты тресни, а на сглаживание кромок не остается. Нужно использовать дополнительный спрайт. На самом деле весьма вероятная ситуация для любых обычных корявых объектов, а не только для гипотетических эллипсов.

    Цитата Сообщение от Vladimir Kladov
    Но это тоже не очень умно: по мне, можно использовать одинаковый "цвет" с альфой и на 2-3 подряд пикселя.
    Суррогат.

    Цитата Сообщение от Vladimir Kladov
    Что имеется в виду под перегружать? Все палитры или берутся из страницы видеопамяти, или заранее загружаются в собственную видеопамять видеоустройства. Даже если их 256 штук, по 16 цветов х 4 байта.
    Проблема в том, что на любую отдельную строчку спрайта в общем случае потребуется своя собственная палитра. Сколько строк - столько уникальных палитр. На ОДИН спрайт. Сколько тогда потребуется внутренней памяти для палитр? Кстати эти палитры из-за прозрачности еще на треть (а то и вдвое) разбухнут. Дык их там еще и обновлять придется при любой анимации (не путать с простым движением) спрайта! А тянуть из внешней видеопамяти - ну так и есть, фактически второй спрайт. Иначе - подбирать внутренне зависимые жесткие раскраски (если уникальных не хватит) на каждый игровой эпизод без потери качества - ну, это для отпетых мазохистов.

    Цитата Сообщение от Vladimir Kladov
    И почему надо читать 2 бакграунда? Задний план в моём варианте - это стандартный спековский видеорежим с одновременным скроллом всех точек и атрибутов с точностью до пикселя. Итого 64 байта на строчку для него.
    Даже так освобождается только 64 байта. Итого осталось 1216.

    Цитата Сообщение от Vladimir Kladov
    Но почему 8 строк надо читать за 224 такта? По мне так достаточно читать те "пиксели", которые в данной точке подлежат отображению.
    Ничего не выйдет. Любой спрайтовый движок ОБЯЗАН обеспечить вывод строки "в худшем случае" в жестких временнЫх рамках - иначе это не спрайтовый движок, а фуфло. Сказано - "8 спрайтов в строке" - значит, 8! Сказано "в спрайте до 256 точек" - значит, будь ВСЕГДА готов обработать ВСЕ возможные 256*8=2048 пикселей. Плюс бэкграунды.

    Уфф.. я надеюсь, мне все-таки не придется объяснять - почему.

    Цитата Сообщение от Vladimir Kladov
    Я хочу реализовать настолько простую "машинку" для спрайтов, чтобы её можно было чрезвычайно легко повторить, в другом эмуляторе, или в железе, мысля под железом не конкретно то железо, которое использовалось для спектрума традиционно, но и всякие эмуляторы спектрума на фпга.
    Просто = убого.

    Цитата Сообщение от Vladimir Kladov
    Мне очень не хочется останавливаться на 8 спрайтах в ширину, но судя по описанию v9990, там это ограничение ещё жёстче - 6 штук на строку.
    Там - 16 на строку (но всего по 16 пикселей на каждый) в 16 цветах, на весь экран 4 палитры. Конкретно спрайтовые режимы у тридевятого не фонтан. А растровые - тормозные.

    Выгрызать и делать отдельно аналог одних только спрайтовых режимов особого смысла не вижу.

    Цитата Сообщение от Vladimir Kladov
    Это даёт блиттер, но мне он кажется слишком громоздким из-за промежуточной памяти для буфера изображения. Если включать в машинку масштабирование или повороты, т.е. делать полноценный 2Д, то это уже потянет на громоздкую реализацию,
    И что "громоздкого" в буфере? Как второй экран на Спеке-128 (можно еще и не полностью все окошко впечатывать). Масштабирование - конечно с тотальным сглаживанием (и вращением) подробно считать надо (если просто с одним прозрачным цветом - ерунда). Повороты на прямой угол и отражения - даром, пару счетчиков переименовать.
    Последний раз редактировалось Lethargeek; 30.04.2008 в 19:19.
    Прихожу без разрешения, сею смерть и разрушение...

  4. #63

    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    415
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Я хотел бы использовать стандартное разрешение 256х192, чтобы прежний спековский экран (с учётом сдвига по х,у) можно было использовать как задний план.
    Вероятно проще сразу делать нормальный (полно-функциональный)
    новый экран, чем возиться со старым.
    Если напрягает ограничение на спрайты в строке, тогда блитер.
    Взять тотже 320*240 * (4бит на точку) и реализовать команды блитера.

    Насчет спековского экрана как задника, тут проще и быстрее будет
    кодеру напрограммить хоть 2, хоть 3 "игровых плана",
    используя блитер нового экрана.

  5. #64

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Valen Посмотреть сообщение
    Вероятно проще сразу делать нормальный (полно-функциональный)
    новый экран, чем возиться со старым.
    дык есть уже - в РС - "нормальный полнофункциональный" и главное уже не надо возиться со старым Спеком

  6. #65

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    шиииироооокая и непрозрачная середина. И если на нее истрачены все цвета - хоть ты тресни, а на сглаживание кромок не остается.
    Там кромок-то две всего. Значит, 2х цветов достаточно. Уж как-нибудь в 16 цветов в строчку вписаться вполне можно. В любом случае это больше, чем 16 цветов на экран или даже на строчку экрана. И вообще, это не имеет значения, блиттером или спрайтом. Я не хочу заморачиваться с кучей всяких вариантов сжатий, это уже усложнение неоправданное для простого устройства. 16 цветов, но из кучи палитр. Это в любом случае решит и проблему сжатия, и разнообразия. Каждый пиксель экрана раскрасить своим уникальным цветом - это уже снобизм.


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    принципиальное отличие состоит в коренном ОГРАНИЧЕНИИ
    я знаю прекрасно об этом ограничении и оно мне изначально не нравится. Но я хочу простое (хотя бы для целей эмуляции), экономное для целей реализации в железе и чтобы красиво было и удобно программировать. Если команды блиттеру помещать в память, думаю, будет так же удобно, как и для спрайтера. Набор команд мне кажется надо ограничить самыми примитивными пересылками с флипом по горизонтали и поворотами на 90 градусов, и без всякого аппаратного масштабирования. А вот альфа пригодилась бы в палитре как раз. Те же 16 цветов на точку, из одной из до кучи палитр.

    Я всё-таки хочу оставить именно спековский экран+аппаратный сколл в качестве заднего плана. Можно и не использовать, но если использовать, то это очень экономичный режим, практически 1 пиксель на точку, и при правильном использовани атрибутов вона какие красявые картинки рисует народ. Можно на крайняк из двух экранов составлять, тот же флаш+брайт. Но с общим скроллом, и тогда никакого клэша на заднем плане.

    Добавлено через 4 минуты
    Кстати, по поводу раскраски. Тут к празднику говорят покажут Штирлица раскрашенного... Если кому интересно глянуть, как могла бы выглядеть графика на спеке, то мне кажется самым показательным knight lore в 256 режиме. Ну очень симпатяшный. Прочие раскрашенные игрульки меня как то не особенно тронули.
    Последний раз редактировалось Vladimir Kladov; 30.04.2008 в 22:57. Причина: Добавлено сообщение
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  7. #66

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я вот смотрю все предлагают разные графические режимы для спека 320x240, 640x480,... Однако на мой взгляд графический режим у спека есть, вот чего спеку не хватает, так это текстового режима
    Серьезно, читать тексты в режиме 4x8 пиксела, не очень-то комфортно
    В нормальном текстовом режиме 80x25, с цветами, аппаратным знакогенератором с возможностью загрузки своих фонтов... вот что было бы классно
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  8. #67

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,965
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Там кромок-то две всего. Значит, 2х цветов достаточно.
    А вот и НЕТ! В одной кромке запросто может быть более одной точки. А в корявых спрайтах может быть и более двух кромок (например сечение человечка вполоборота: рука-туловище-рука, итого 6 кромок, это значит уж минус 6 цветов из 16 как минимум, а то и 8).

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    В любом случае это больше, чем 16 цветов на экран или даже на строчку экрана.
    Но меньше, чем 32K цветов на экран.
    На Спеке вон тоже как бы "15 цветов на строчку", а на самом деле?

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    И вообще, это не имеет значения, блиттером или спрайтом. Я не хочу заморачиваться с кучей всяких вариантов сжатий, это уже усложнение неоправданное для простого устройства.
    То есть все аргументы чисто религиозные? Судя по отсутствию любых попыток более-менее подробно оценить (я уж не говорю - подробно просчитать) потенциально возникающие проблемы - так оно и есть.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    16 цветов, но из кучи палитр.
    Повторяю вопрос: где/как эта "куча палитр" будет храниться и связываться со спрайтами/бэкграундами?

    Это только кажется, что все просто.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Это в любом случае решит и проблему сжатия, и разнообразия.
    Голословное утверждение. Схема сжатия для спрайтов как минимум не проще таковой же для блиттера, при меньших возможностях.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Каждый пиксель экрана раскрасить своим уникальным цветом - это уже снобизм.
    Не снобизм, а отсутствие ненужной головной боли для программиста.

    Добавлено через 11 минут
    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Но я хочу простое (хотя бы для целей эмуляции), экономное для целей реализации в железе и чтобы красиво было и удобно программировать.
    Ну, то что описывалось до сих пор - не имеет шансов стать таковым.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Если команды блиттеру помещать в память, думаю, будет так же удобно, как и для спрайтера.
    Будет удобнее.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Набор команд мне кажется надо ограничить самыми примитивными пересылками с флипом по горизонтали и поворотами на 90 градусов, и без всякого аппаратного масштабирования.
    Хороший пример того, что не стоит спешить с программными заявлениями без предварительного обдумывания. Например примитивное масштабирование без сглаживания (а-ля Doom) делается проще простого, всего лишь разрешением дробных приращений счетчиков адреса.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    А вот альфа пригодилась бы в палитре как раз. Те же 16 цветов на точку, из одной из до кучи палитр.
    Палитровая альфа годится только для эффектов типа полупрозрачного дыма. Да и то - тратить на это спрайты, которых и так немного...

    Про "кучу палитр" уже упоминал - несерьезно.

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    Я всё-таки хочу оставить именно спековский экран+аппаратный сколл в качестве заднего плана. Можно и не использовать, но если использовать, то это очень экономичный режим, практически 1 пиксель на точку,
    Прежде всего стОит задать себе вопрос - ЧТО собираемся экономить ("если" использовать)?
    Неэкономично иметь кучу режимов, пригодных только для одной какой-то задачи.

    Добавлено через 19 минут
    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    я вот смотрю все предлагают разные графические режимы для спека 320x240, 640x480,... Однако на мой взгляд графический режим у спека есть, вот чего спеку не хватает, так это текстового режима
    Для любителей текстового режима например существует такая скучная хрень, как GMX. Проблема надумана, поскольку легко решается в рамках любого графического движка простым удвоением разрешения по горизонтали за счет цветности (в простейшем варианте это "кулибинский" режим 512x192) - и поддержу знакогенератора городить незачем.
    Последний раз редактировалось Lethargeek; 01.05.2008 в 05:41. Причина: Добавлено сообщение
    Прихожу без разрешения, сею смерть и разрушение...

  9. #68

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    чего спеку не хватает, так это текстового режима
    А вот это неправда. Если режим монохромный для Пентагона и Таймекса, 512х??? (не помню вертикаль, кажется, 200 или 240).

    Добавлено через 3 минуты
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    А в корявых спрайтах может быть и более двух кромок (например сечение человечка вполоборота: рука-туловище-рука
    Ну, не корявых. Опять же в случае блиттера, кто мешает уменьшить число дырок и увеличить число выпуклых спрайтов за счёт разбивки корявого спрайта на части (рука отдельно, туловище отдельно). А в случае спрайтера, поверьте, вы не увидите особых ступенек внутри спрайта, чего-там просвечивает, и ладно. Опять же не вижу причины, почиму нельзя использовать тот же единственный цвет на полупрозрачность на все кромки, просто заплпнировать и туловище и руку одним цветом и всех делов.

    Добавлено через 11 минут
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    где/как эта "куча палитр"
    вот это я не знаю. Мне кажется, в памяти спека - нехорошо, даже если память используется видеопроцессором, блитеер он или спрайтер, полностью независимо. Просто из экономии имеет смысл сделать отдельное хранилище, а перегружать палитры в это хранилище каким-нибудь несложным способом. (Несложным - это важно). А из всех несложных способов самым несложным кажется мне дубляж памяти спека, когда после вывода в какой-то порт всё, что пишется в память спека, попадает в тень. Раз загрузили под завязку, дальше только переключаем наборы палитр в массиве (частями, как банки памяти), и юзаем до 256 одновременно разных палитр. 256х16 = 4096 разных цветов на экране, а если делать альфа-канал и разрешить смешивать их в разных пропорциях, то легко получается ещё хN, где N зависит отдискретности альфа-канала. Максиму х256, итого 64К разных цветов. Замечу, что это не то же, что режим 64К на ПЦ с его 5+6+5 битами на RGB. При желании можно получить (легко) плавнейший градиен по нужному оттенку цвета.

    Добавлено через 15 минут
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    спековский экран+аппаратный сколл в качестве заднего плана. Можно и не использовать, но если использовать, то это очень экономичный режим, практически 1 пиксель на точку,


    Прежде всего стОит задать себе вопрос - ЧТО собираемся экономить ("если" использовать)?
    Неэкономично иметь кучу режимов, пригодных только для одной какой-то задачи.
    Этот режим уже есть, к нему просто добавляется скролл. Экономить - память спека. Кроме того, этот режим можно использовать сам по себе, например для плавной фреймовой прокрутки текстов.
    Последний раз редактировалось Vladimir Kladov; 01.05.2008 в 10:30. Причина: Добавлено сообщение
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  10. #69

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    512х??? (не помню вертикаль, кажется, 200 или 240).
    не, обычный - 192

  11. #70

    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    примитивное масштабирование без сглаживания (а-ля Doom) делается проще простого, всего лишь разрешением дробных приращений
    Я знаю, но это в любом случае усложнение, без которого можно (скрипя сердцем) обойтись.

    Добавлено через 1 минуту
    Цитата Сообщение от Black_Cat Посмотреть сообщение
    512х??? (не помню вертикаль, кажется, 200 или 240).


    не, обычный - 192
    Да, именно, я ещё помню, в Таймексе есть такая возможность, переключить режим на обычный с нужной строки экрана, и получается, например - вверху графика, внизу текст или наоборот. Даже в паре адвенчур типа хоббита использовалось.

    Добавлено через 3 минуты
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    существует такая скучная хрень, как GMX
    Я кстати когда хотел реализовать ещё в старом EmuZWin, так и не нашёл достаточной документации на эту хрень, чтобы реализовать. Может из схемы что-то можно понять, но я схемы не читаю.
    Последний раз редактировалось Vladimir Kladov; 01.05.2008 в 10:36. Причина: Добавлено сообщение
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

Страница 7 из 9 ПерваяПервая ... 3456789 ПоследняяПоследняя

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

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

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

Похожие темы

  1. [FWD] Знать, что делать, а не как делать Автор: Сергей Леонов
    от Wladimir Bulchukey (500:95/462) в разделе Зарубежные компьютеры
    Ответов: 1
    Последнее: 29.06.2006, 17:29
  2. Зачем Вам Спектрум?
    от Titus в разделе Разный софт
    Ответов: 37
    Последнее: 23.04.2006, 03:52

Ваши права

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