User Tag List

Страница 30 из 67 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя
Показано с 291 по 300 из 667

Тема: Разработка ZXOOM

  1. #291

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    есть возможность выделить еще 2 бита в атрибутах?
    Подо что? Под вот это?

    Цитата Сообщение от jerri Посмотреть сообщение
    00 стандартный
    01 стандартный зеркаленный
    10 перевернутый
    11 перевернутый зеркаленный
    Возможность есть даже 3 бита, т.к. paper не нужен. Только зачем? Это формирование уже задается в таблице вывода спрайтов.

  2. #292

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    Возможность есть даже 3 бита, т.к. paper не нужен. Только зачем? Это формирование уже задается в таблице вывода спрайтов.
    задается в таблице, а нужно еще и маркировку именно на тайле.

    у тебя сейчас 2 старших бита заняты под манипуляции с краевыми тайлами
    есть тема именно сделать 1 вывод за цикл непосредственно на экран
    это сильно ускорит обработку графики

    вот смотри
    сейчас ты чистишь 6912 байт, потом рисуешь, потом бросаешь 6912 байт

    я предлагаю заполнять 3840 байт
    потом отрисовать в буфере краевые тайлы
    потом прорисовать сразу на экране все что нужно (скорее всего от 1/2 до 1/4 экрана)
    будет сильный выигрыш по скорости

    ---------- Post added at 19:08 ---------- Previous post was at 18:13 ----------

    алгоритм по шагам
    утрировано
    вначале чистим буфер

    ld hl,ret_draw
    ld de,empty_char
    ld bc,0
    ld sp,end_buff
    ld (curr_buf),sp
    push hl
    dup 768
    push de,bc
    edup

    далее
    отрисовка спрайта
    если просто рисуем, то
    в обработчики заносим draw_char
    в адрес - адрес тайла
    в атрибуты добавляем краевой/некраевой левый/правый (как
    есть сейчас) и добавляем 2 бита манипуляции (флип по горизонтали, флип по вертикли)
    в случае если уже есть что-то есть и оно некраевое то просто игнорим
    в случае если уже есть что-то есть и оно краевое то:
    1 копируем новый тайл в соответствии с условиями (flip_h/flip_v) в (curr_buff)
    2 накладываем то что есть в соответствии с условиями (flip_h/flip_v mask_l/mask_r)
    3 заносим новый обработчик draw_char, новый адрес (curr_buff), зануляем флаги (flip_h/flip_v)
    4 приращиваем (curr_buf) на 8 для следующего условного тайла

    врядли возможна ситуация когда у тебя в одном месте рисуется с наложением больше 2х тайлов

    ---------- Post added at 19:11 ---------- Previous post was at 19:08 ----------

    могу написать кусочек кода
    на входе нужен адрес тайла в спрайте, его флаги и координаты на экране

    *тайл - кусочек 8*8 точек спрайта
    собственно ты ими и манипулируешь
    С уважением,
    Jerri / Red Triangle.

  3. #293

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

    По умолчанию

    Кстати, на счёт биперной музыки при загрузке картинок. Зацените как может звучать простой бипер: http://chipmusic.org/mister+beep/mus...-mermaid-1-bit

  4. #294

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    это оно так на пц звучит на спеке всетаки похуже
    С уважением,
    Jerri / Red Triangle.

  5. #295

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

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    это оно так на пц звучит на спеке всетаки похуже
    не, это именно запись с реала, а не с эмуля

  6. #296

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    вот смотри
    сейчас ты чистишь 6912 байт, потом рисуешь, потом бросаешь 6912 байт

    я предлагаю заполнять 3840 байт
    потом отрисовать в буфере краевые тайлы
    потом прорисовать сразу на экране все что нужно (скорее всего от 1/2 до 1/4 экрана)
    будет сильный выигрыш по скорости
    Сомневаюсь, что быстрее оно будет работать. У тебя идет заполнение промежуточного буфера почти 4к, в то время как у меня на вирт.экран сразу строится картинка. После прорисовки тайла мне не нужно больше помнить, откуда я его взял, флаги к нему и процедуру его вывода, а у тебя нужно. К тому же при выводе из буфера будет противное мерцание на экране, т.к. вывод по процедурам на реальный экран будет в реальном времени. А у меня весь вывод происходит на виртуальный экран, и когда он полностью построен, просто его копируем на реальный. Пока идет это строительство, игрок видит на экране полную предыдущую картинку, без мерцания и перерисовывания. Вирт.экран для этого и сделан, а не потому что я захотел потранжирить память.
    И еще непонятно, зачем заводить дополнительные два флага, если сразу можно указать адрес нужной процедуры вывода.
    Кстати, у меня в программе есть некое подобие этого буфера (ELEMxx), только я его заранее построил вручную, и он не меняется. В каждой его ячейке в зависимости от элемента клетки указан адрес спрайта, процедура его вывода и горизонтальная координата. Еще учти, что некоторые одни и те же спрайты выводятся различными процедурами и/или в разные координаты. Для этого я и писал зеркалку и перевертывание, чтобы в 4 раза сэкономить место под спрайты. Буфер невозможно просчитать программно, можно задать только вручную, т.к. для каждого спрайта индивидуальные параметры вывода.

  7. #297

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    не сомневайся
    давай попробуем

    ты обнуляешь 6912 байт
    я только 3900
    ты перебрасываешь потом на экран 6912 байт
    я только то что не черное
    надо смотреть
    потому как есть возможность именно сильно всё ускорить

    могу модифицировать 68 версию
    Последний раз редактировалось jerri; 05.04.2011 в 11:52.
    С уважением,
    Jerri / Red Triangle.

  8. #298

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    ты перебрасываешь потом на экран 6912 байт
    я только то что не черное
    Я тупо перебрасываю-копирую, а ты будешь выводить каждое знакоместо через процедуры.
    И формируешь этот буфер через многочисленные флаги.
    В общем, сомневаюсь я.
    Но попробуй на 68-й версии, если хочешь. Если получится ускорить, вставлю тогда.

    ---------- Post added at 12:09 ---------- Previous post was at 12:07 ----------

    Я сейчас занят вставкой спрайтов трупов и врагов.

  9. #299

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,312
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    187
    Поблагодарили
    90 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    похожий двиг:
    shining in the darkness [sega genesis]





  10. #300

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    РПГ же
    С уважением,
    Jerri / Red Triangle.

Страница 30 из 67 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Разработка клавиатуры для ZX.
    от ZXFanat в разделе ZX Концепции
    Ответов: 171
    Последнее: 13.02.2013, 10:24
  2. Разработка БК-0101-10
    от CodeMaster в разделе БК-0010/0011
    Ответов: 61
    Последнее: 21.04.2011, 21:13
  3. Разработка НОВОГО клона
    от MegaMyth в разделе Несортированное железо
    Ответов: 311
    Последнее: 01.08.2008, 21:52
  4. Методическая разработка. Выпуск.1
    от Ne01eX в разделе Пресса
    Ответов: 7
    Последнее: 06.09.2005, 14:32

Ваши права

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