User Tag List

Страница 2 из 22 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 219

Тема: Descent - демо игры с 8-цветными спрайтами для УКНЦ

  1. #11

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

    По умолчанию

    BlaireCas, есть более эффективные способы расхода процессора. алгоритмы ннада?
    С уважением,
    Jerri / Red Triangle.

  2. #12

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    483
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    BlaireCas, есть более эффективные способы расхода процессора. алгоритмы ннада?
    Было-бы интересно просто на словах.
    Допустим берем только один цвет (не все 8). Как в спеке пусть будет. 8точек = байт. Есть спрайт+маска (2 байта). Есть фреймбуфер и там бекграунд.
    Вроде особо много чего тут и не придумать. Сдвигаем байт маски на нужное число пикселей либо через таблицы либо командами сдвигов (таблицы быстрее). Получаем два байта, маскируем их в буфере. Повторить то-же самое для байта цвета.
    Затем измененные части буфера на экран и вернуть буферу исходное состояние.
    Где-то в деталях (навроде спрайты можно прешифтить заранее, анимацию заранее со сдвигами заготовить) могут быть различия, но вроде алгоритм какой-то такой

    Соответственно для 4-х цветов будет все это повторено для фреймбуфера 2-го цветового бита, для 8-ми цветов еще и для третьего цветового бита. Поэтому общую задачу достаточно решить только для 1-битного цвета для начала видимо (ну в УКНЦ вообще без вариантов ибо один из цветовых планов экрана может рисовать лишь второй процессор)
    Последний раз редактировалось BlaireCas; 29.10.2021 в 13:48.

  3. #13

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,215
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,648
    Поблагодарили
    573 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Отделил в отдельную тему и перенёс в правильное место все сообщения, касающиеся демки игры для УКНЦ.
    С уважением, Станислав.

    Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    bakka(29.10.2021)

  4. #14

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    483
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Отделил в отдельную тему и перенёс в правильное место всё сообщения касающиеся демки игры для УКНЦ
    Придется видимо доделывать раз уж тема появилась

    - - - Добавлено - - -

    Собственно по выводу спрайта (ширина 16 пикселей) с маской в один из цветовых планов буфера ..
    Код с таблицами сдвигов вот такой (кусок кода для сдвига на 4 пикселя, для других сдвигов оно похожее, только смещения таблиц сдвигов другие).
    Спрайт (каждые 8-пикс) идет в виде .BYTE маска, цвет, маска, цвет и тут зарыта гигантская собака ибо маска одинаковая для всех цветовых планов, а у меня маска для скорости размножена по каждому цветовому плану памяти. Это надо будет как-то чинить а то так памяти не напасешься.

    Код:
    BSFB04:	; 4-pix shift, R0-spr addr, R5-buf addr, R3-height, R4=30.
    	clr	R1			;
    	bisb	(R0)+, R1		; mask byte -> R1
    	clr	R2			;
    	bisb	(R0)+, R2		; sprite byte -> R2
    	bicb	ShiftTable1(R1), (R5)	; shift and apply mask
    	bisb	ShiftTable1(R2), (R5)+	; shift and apply color
    	bicb	ShiftTable2(R1), (R5)	; same for out-of-byte shifted pixels
    	bisb	ShiftTable2(R2), (R5)
    	; repeat for second 8-pix sprite part
    	clr	R1			;
    	bisb	(R0)+, R1		; mask byte -> R1
    	clr	R2			;
    	bisb	(R0)+, R2		; sprite byte -> R2
    	bicb	ShiftTable1(R1), (R5)
    	bisb	ShiftTable1(R2), (R5)+
    	bicb	ShiftTable2(R1), (R5)
    	bisb	ShiftTable2(R2), (R5)
    	add	R4, R5			; R4=30., buffer next line addition
    	sob	R3, BSFB04
    	return
    В чем тут можно ускорить .. Черт его знает.

    Эти 3 пользователя(ей) поблагодарили BlaireCas за это полезное сообщение:

    CityAceE(29.10.2021), Oleg N. Cher(03.11.2021), Titus(29.10.2021)

  5. #15

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,390
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Шикарный движок, графика и сама игруха!
    А на EmuStudio вообще летает)
    Надо доделывать.

  6. #16

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    483
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А на EmuStudio вообще летает
    Кстати я его вполне себе использую чтобы "побыстрому посмотреть результат" (для дебага юзается UKNCBTL).
    Уже даже привык нажимать shift-del, ctrl-del, ctrl-del при его запуске - и вот бы их какими-нибудь параметрами задать.

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

  8. #17

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,390
    Спасибо Благодарностей отдано 
    1,701
    Спасибо Благодарностей получено 
    2,217
    Поблагодарили
    871 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Кстати я его вполне себе использую чтобы "побыстрому посмотреть результат" (для дебага юзается UKNCBTL).
    Уже даже привык нажимать shift-del, ctrl-del, ctrl-del при его запуске - и вот бы их какими-нибудь параметрами задать.
    А в чем разница с UKNCBTL?

  9. #18

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если заменить
    add R4, R5
    на
    add #30., R5
    то замедление сравнительно небольшое, зато можно использовать R4 для адреса маски и избавиться от лишнего дублирования маски.

  10. #19

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    483
    Спасибо Благодарностей отдано 
    139
    Спасибо Благодарностей получено 
    391
    Поблагодарили
    146 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А в чем разница с UKNCBTL?
    Разница в отображении? Наверное никакой нету. Только дефолтно EmuStudio "скушивает" последние 8 (что-ли) строк экрана и приходится жать shift-del чтобы они показались. А также сканлайны конечно винтажны, но для разработки мешают (без них пиксели виднее что-ли). Поэтому приходится два раза еще и жать ctrl-del.
    А какая еще разница? Звука нет, дебага нет, да это думается ты знаешь-же. (в UKNCBTL еще и в восьмеричной системе всё в дебаге, что нереально удобно).

    Эти 2 пользователя(ей) поблагодарили BlaireCas за это полезное сообщение:

    nzeemin(30.10.2021), Oleg N. Cher(03.11.2021)

  11. #20

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще можно разделить процедуры на две ветки. При нечетном R5 делать как сейчас, а при четном - словами вместо байтов (тут нужны будут альтернативные таблицы сдвигов).

Страница 2 из 22 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 42
    Последнее: 22.11.2021, 02:55
  2. Демо-версия новой игры SaNchez-а ;)
    от SaNchez в разделе Игры
    Ответов: 91
    Последнее: 26.02.2014, 22:08
  3. Помогите найти Демо из игры Dizzy
    от женя999 в разделе Демо
    Ответов: 8
    Последнее: 15.09.2012, 00:08
  4. Ответов: 10
    Последнее: 07.06.2012, 12:24

Ваши права

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