User Tag List

Страница 4 из 22 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 219

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

  1. #31

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,141
    Спасибо Благодарностей получено 
    1,467
    Поблагодарили
    524 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Кнопку "запуск" не надо жать два.
    Пункт меню Autostart либо в командной строке опция /autostart
    Плюс ещё рекомендую в командной строке опцию /boot - чтобы не выбирать пункт из меню.
    Последний раз редактировалось nzeemin; 30.10.2021 в 19:54.

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

    BlaireCas(31.10.2021), Oleg N. Cher(03.11.2021)

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

  3. #32

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

    По умолчанию

    Казалось процедуру спрайта шириной в 16-пикселей в буфер особо не ускорить.
    Однако подсчитав такты и почесав голову оно все-же ускоряется.

    Код:
    BSFB04:	; 4-pix shift, R0-spr addr, R5-buf addr, R3-height, R4=30.
    	mov	#4, R2
    10$:	; first 8-pix
    
    ;	clr	R1			; 14T
    ;	bisb	(R0)+, R1		; 32T mask byte -> R1
    ;	clr	R2			; 14T
    ;	bisb	(R0)+, R2		; 32T color byte -> R2
    ;	bicb	ShiftTable1(R1), (R5)	; 77T shift 4-pix and apply mask
    ;	bisb	ShiftTable1(R2), (R5)+	; 77T shift 4-pix and apply color
    ;	bicb	ShiftTable2(R1), (R5)	; 77T same for out-of-byte shifted pixels
    ;	bisb	ShiftTable2(R2), (R5)	; 77T
    					; = 400T
    
    	clr	R1			; 14T
    	bisb	(R0)+, R1		; 32T mask byte -> R1
    	ash	R2, R1			; 40T (R2=4)
    	bicb	R1, (R5)+		; 43T
    	swab	R1			; 14T
    	bicb	R1, (R5)		; 43T
    	dec	R5			; 14T	
    	clr	R1			; 14T
    	bisb	(R0)+, R1		; 32T color byte -> R1
    	ash	R2, R1			; 40T (R2=4)
    	bisb	R1, (R5)+		; 43T
    	swab	R1			; 14T
    	bisb	R1, (R5)		; 43T
    					; = 386T
    
    	; repeat for second 8-pix sprite part
    ...
    Закомментированная часть использовала таблицы для байтовых сдвигов. Однако ведь у нас "мощный 16-битный процессор!" (тм) ахахах.. Вообщем таблицы оказались не слишком нужны. Вроде выигрыш небольшой, а на сдвиге на 6 так и вообще будет отсутствовать.
    Но, во-первых будет +память от таблиц сдвигов. А во-вторых это ускоряется еще дальше, поскольку половина спрайта всегда попадет на четный адрес и опять-таки "мощный 16-битный процессор!" (тм) начнет делать что-то полезное. Правда придется размножить эти процедуры (будто их и так мало было).

    .. вообще уже начинает садо-мазохизмом попахивать, а не программированием ..

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

    Oleg N. Cher(03.11.2021)

  4. #33

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

    По умолчанию

    А как ты подсчитал такты? )

  5. #34

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    половина спрайта всегда попадет на четный адрес и опять-таки "мощный 16-битный процессор!" (тм) начнет делать что-то полезное.
    Напрямую не по теме игры, но всё же. Вот сколько бы ни уверяли приверженцы PDP, что сохранение знака числа важно и нужно (размножение 7-го бита на старший байт командой MOVB), в программах каждый раз вижу мучения кодеров при загрузке младшего байта в регистры. Конкретно в данном примере из-за этой фичи приходится выполнять кучу лишних команд навроде обнуления регистров и взятия данных через индексную адресацию, одну из самых медленных. А если бы старший байт не портился - достаточно было бы загрузить младший. В старшем всегда бы находился адрес таблицы, что убирает обнуление и медленную и жрущую память индексную адресацию. В итоге выигрыш получился бы конкретный. Но что имеем, то имеем.
    С телефона писать неудобно, так бы "перевёл" прогу под вариант с MOVB для сравнения.

  6. #35

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    А как ты подсчитал такты? )
    Использовал местную тему подсчета выполнения комманд. Пробовал разные .sav-ки, от Patron'a скажем. Затем написал свой измеритель (поскольку мне было еще нужно замерить не только одну комманду, а сразу кусок кода). А как измерять - ну думаю (к другим в код не заглядывал) все измеряли как-то так: забивается относительно большой буфер повторяющейся командой (+буфер данных для всяких mov 4(R0), (R1)+). Крутится в цикле. Считаются прерывания сетевого таймера 50Гц. Потом зная частоту процессора считаются такты. Из-за работы контроллера памяти конечно вылезает всякая девиация +/- сколько-то, но тут уж ничего не поделать.

    Кстати очень интересная тема, всем спасибо. Особенно удивил баг в процессоре 1801вм2 (заюзал в демке - если проц настоящий, в меню внизу напишет вместо "эмуляция").

    Цитата Сообщение от reddie Посмотреть сообщение
    Вот сколько бы ни уверяли приверженцы PDP, что сохранение знака числа важно и нужно
    Меня это раздражает кстати. Не могли добавить команду movbb скажем без размножения знака. Уууу.. нехорошие разработчики. А еще-бы команду addb тоже не помешало. Но, возможно, такие команды уже просто нереально добавить не поломав систему команд (то-есть совместимость с pdp)
    Последний раз редактировалось BlaireCas; 31.10.2021 в 10:51.

  7. #36

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

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Кстати очень интересная тема, всем спасибо. Особенно удивил баг в процессоре 1801вм2 (заюзал в демке - если проц настоящий, в меню внизу напишет вместо "эмуляция").
    Ты про баг со сбоем кэша? С ним надо аккуратнее, т.к. судя по всему его эффект может плавать.

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

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Затем написал свой измеритель
    А, ну если сам измерял, то хорошо.
    Но опять же, на разных моделях и с разной степенью нагретости - разное может быть время.

  8. #37

    Регистрация
    26.04.2019
    Адрес
    г. Новосибирск
    Сообщений
    57
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какая симпатичная демка, надеюсь дорастет до игры! А какой-то сюжет уже придуман?
    Без пробела, без совести и души! (с) Дробышевский
    Pulsar-444

  9. #38

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

    По умолчанию

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

  10. #39

    Регистрация
    01.12.2017
    Адрес
    г. Воронеж
    Сообщений
    1,129
    Спасибо Благодарностей отдано 
    625
    Спасибо Благодарностей получено 
    742
    Поблагодарили
    312 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Записал на видео запуск демки на реальной машине. До сих пор не верится что наконец-то появился проект, который столь полно использует графический потенциал машины!



    Ну я там немного побаловался, пожмакал К1 для смены палитры, итд.

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

    BlaireCas(02.11.2021), CityAceE(02.11.2021), nzeemin(02.11.2021), Oleg N. Cher(01.11.2021), Titus(01.11.2021), tnt23(01.11.2021)

  11. #40

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я бы тебе скомпилировал версию с нужными параметрами по умолчанию
    Да не мучайся, я-ж написал что привык уже жать эти кнопки
    Не в обиду Никите, поскольку его эмулятор я использую тоже, забыл написать что эмустудио еще имеет такой плюс как максимальная скорость при сохранении частоты прерывания vsync (я так понимаю с монитора винды берется, т.е. не 50Гц, а сколько у винды выставлено).
    UKNCBTL тоже можно ускорить чтобы поменьше ждать загрузки системы и файла игры, но там ускоряется вообще всё, персонаж начинает гонзать
    Ну и в эмустудио показывает все кадры, UKNCBTL только половину. Когда делал River Raid на УКНЦ это было заметно, у вертолетов не "крутился" винт ибо пропускался один кадр анимации. В данной игрухе пофиг, она почти везде 25Гц
    Вообщем эмуляторы по-своему оба хороши.

    Насчет дописывания демки игрухи - пишется очень медленно. Понемногу выбрасываю из нее хлам, ускоряю то-сё. Дело в том что работаю программистом и, вернувшись после работы, браться опять за код - нууу.. как в анекдоте про ".. а вокруг станки, станки ..". Поэтому медленно.

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

    Цитата Сообщение от Temar Посмотреть сообщение
    Какая симпатичная демка, надеюсь дорастет до игры! А какой-то сюжет уже придуман?
    Жил-был хоббит. Работал шахтером (неудивительно для хоббита). Взял лопату и пошел копать (нет, террарию не осилю). Копал-копал, через 20 игровых экранов докопался до Vault 101, оттуда вылезли ваульт двеллеры, он их заразил коронавирусом. Потом прилетел анклав с президентом Генри Эденом, начали геноцид. Главный герой из подручных средств собирает оружие, бетмобиль, встает на акулу с электрогитарой и всем показывает крутоту.
    Ахахахахах (ну тут зачатки движка сначала-бы доделать)
    Последний раз редактировалось BlaireCas; 02.11.2021 в 21:17.

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

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

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

Эту тему просматривают: 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

Ваши права

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