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

User Tag List

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

Тема: Переброска ЧБ картинки...

  1. #1
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,947
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Переброска ЧБ картинки...

    Подскажите как быстрее перекинуть ЧБ картинку на экран, с учетом того
    что память очень ограничена. Размер и формат картнки стандартный 6144
    байт. Всего есть пять картинок, в каждой из них есть некоторое кол-во
    повторяющихся байтов. (0, 255, и %01010101)
    Изначально я использовал процедуру вида:

    ld af,#ffff
    ld bc,#0
    ld hl,#%0101010101010101
    ld de,10
    push de
    ld de,14
    push de
    push bc
    push bc
    push bc

    За счет повтора байтов удавалось перекинуть
    картнку за фрейм и сэкономить память.
    Но 48-я память кончилась, и я решил отказаться
    от фрейма в пользу памяти.

    Однако пока кроме банального LDI в голову ничего не
    приходит.
    От процедуры зависит судьба игры.

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

  3. #2

    По умолчанию

    Цитата Сообщение от newart
    Подскажите как быстрее перекинуть ЧБ картинку на экран, с учетом того
    что память очень ограничена. Размер и формат картнки стандартный 6144
    байт. Всего есть пять картинок, в каждой из них есть некоторое кол-во
    повторяющихся байтов. (0, 255, и %01010101)
    Изначально я использовал процедуру вида:

    ld af,#ffff
    ld bc,#0
    ld hl,#%0101010101010101
    ld de,10
    push de
    ld de,14
    push de
    push bc
    push bc
    push bc
    Найти ещё несколько частых вордов и запхнуть их в hl'/bc'/af'/ix/iy ?

  4. #3
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,947
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Найти ещё несколько частых вордов и запхнуть их в hl'/bc'/af'/ix/iy ?
    Я же говорю страый метод уже не приемлем, слишком много места занимает.
    Уже решил, буду юзать ldi, тормозно, но других вариантов не вижу.
    Резка экран на спайты (чтобы исключить залитые знакоместа) выйгрышь дает смехотворный.

  5. #4

    По умолчанию

    Цитата Сообщение от newart
    Я же говорю страый метод уже не приемлем, слишком много места занимает.
    Уже решил, буду юзать ldi, тормозно, но других вариантов не вижу.
    Резка экран на спайты (чтобы исключить залитые знакоместа) выйгрышь дает смехотворный.
    А ещё можно повторяющиеся последовательности типа dup N:push hl: edup и любые другие загонять в лупы и 'процедуры' (ld ix,$+7:jp proc .... proc: ... :jp (ix) ).

  6. #5
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,213
    Благодарностей: 869
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    И в чем тогда будет выйгрыш? В скорости не будет, примерно как тот же ldi... В общем похож оставь ldi либо почему бы не сделать один раз декранч этой хрени предварительно, поюзать, потом убить? Или она тебе постоянно нужна в памяти? Или игра сугубо 48k и не больше?
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Мордовия - Республика звука

  7. #6
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,947
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shadow Maker
    В общем похож оставь ldi либо почему бы не сделать один раз декранч этой хрени предварительно, поюзать, потом убить? Или она тебе постоянно нужна в памяти? Или игра сугубо 48k и не больше?
    Картинка каждый игровой цикл заново выводится, игра 128к.

  8. #7
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,947
    Благодарностей: 1520
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кто-нибудь знает во сколько фреймов укладывался ЧВ? (в среднем)
    У меня получается порядка 4-7, и это без всяких алгоритмов поиска
    пути.
    Да и в турбо режиме у меня скорость игры не увеличивается.

  9. #8

    По умолчанию

    Картинка, которую ты перекидываешь - она статична? Т.е., её исходные данные никогда не изменяются?

  10. #9
    Activist Аватар для Alex/AT
    Регистрация
    14.03.2005
    Адрес
    Russia, Saint-Petersburg
    Сообщений
    213
    Благодарностей: 18
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Стоп... а почему "классический" подход типа LDSP/POP HL/DE/BC/AF/EX/EXA/POP HL/DE/BC/AF/LDSP/PUSH ... не катит?

  11. #10
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Благодарностей: 295
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Цитата Сообщение от newart
    Подскажите как быстрее перекинуть ЧБ картинку на экран, с учетом того
    что память очень ограничена. Размер и формат картнки стандартный 6144
    байт. Всего есть пять картинок, в каждой из них есть некоторое кол-во
    повторяющихся байтов. (0, 255, и %01010101)
    Изначально я использовал процедуру вида:

    ld af,#ffff
    ld bc,#0
    ld hl,#%0101010101010101
    ld de,10
    push de
    ld de,14
    push de
    push bc
    push bc
    push bc

    За счет повтора байтов удавалось перекинуть
    картнку за фрейм и сэкономить память.
    Но 48-я память кончилась, и я решил отказаться
    от фрейма в пользу памяти.

    Однако пока кроме банального LDI в голову ничего не
    приходит.
    От процедуры зависит судьба игры.
    Опиши более точно задачу, картинка статическая ? Может это спрайтовая картинка ?
    AAA

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

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

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

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

Похожие темы

  1. Графический редактор ZX-картинки на PC
    от Dr.Lion/RSM в разделе Графика
    Ответов: 45
    Последнее: 21.06.2014, 15:31
  2. Ограничение на размер картинки!
    от CHRV в разделе Форум
    Ответов: 2
    Последнее: 20.04.2005, 23:24

Ваши права

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