User Tag List

Показано с 1 по 10 из 428

Тема: Ищу желающих выступить в роли программиста

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    убери ld bc,32
    и постваь вместо ldir
    call на такую процедуру

    Код:
    	dup 32
    	ldi
    	edup
    	ret
    и 128 строк будет перекидыватсо уже за 71К такт
    80К вместе с атрибутами
    Последний раз редактировалось NEO SPECTRUMAN; 29.08.2020 в 18:47.

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

    ALKO(29.08.2020)

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    и 128 строк будет перекидыватсо уже за 71К такт
    80К вместе с атрибутами
    Местами поменял, но одна треть экрана у меня всё равно монолитная:
    ld hl,#4800+addr_virt_screen-#4000 ; вся вторая треть
    ld de,#4800
    ld bc,2048
    ldir
    конечно можно её поделить на 64 вызова LDI-процедурки. Но фпс от этого сильно не прибавится, лишь память зря загажу. Так как даже с использованием теневого экрана 128к хоть и удавалось сгладить рассинхрон хальтом, но сильно шустрее по сравнению с LDIRами оно не становилось. Наиболее затратен во всей этой лабуде именно расчёт каждого знакоместа отдельно взятого спрайта (на гифке зеркальные спрайты глючут, ибо таблица попала в область переключаемой банки).

  4. #3

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    фпс от этого сильно не прибавится,
    еще как прибавится, особенно на тормозных фирменных
    Прихожу без разрешения, сею смерть и разрушение...

  5. #4

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    еще как прибавится, особенно на тормозных фирменных
    ну и написано оно на неизвестно чем
    и раз речь идет про выравнивание halt-ом
    вангую что на 14МГц турбе все будет носится как бешенное

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

    Цитата Сообщение от ALKO Посмотреть сообщение
    Местами поменял, но одна треть экрана у меня всё равно монолитная:
    а буфер под оно полностью(каждый байт) перестраивается каждый кадр?

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

    Цитата Сообщение от ALKO Посмотреть сообщение
    Местами поменял, но одна треть экрана у меня всё равно монолитная:
    ld hl,#4800+addr_virt_screen-#4000 ; вся вторая треть
    ld de,#4800
    ld bc,2048
    ldir

    дешево и сердито сделать так

    у тебя уже есть процедура с 32 ldi
    сделай вместо ldir-а call на нее
    и небольшое условие

    Код:
             ld hl,$0000
             ld de,$4800
             ld bc,$800+$4000
    loop
             ; ldir
             call ldi_32
             djnz loop
                               ;dec b
                               ;jp nz,loop
    
             jp $
    
    ldi_32
    	dup 32
    	ldi
    	edup
    	ret
    ldir-ом ~43008 такта
    этой парашей ~35422

    +$4000 к BC это для 64 циклов ($40)
    чтоб делать быструю проверку на no zero
    без пересылания в регистр A
    тк ldi не ставит нужных флагов

    подкоректируй длину bc +-32 если я на глаз не попал




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

    так же будет полезно еcли твой набор ldi будет выглядеть так
    Код:
    ldi_20		ldi
    ldi_19		ldi
    ldi_18		ldi
    ldi_17		ldi
    ldi_16		ldi
    
    ldi_15		ldi
    ldi_14		ldi
    ldi_13		ldi
    ldi_12		ldi
    ldi_11		ldi
    
    ldi_10		ldi
    ldi_09		ldi
    ldi_08		ldi
    ldi_07		ldi
    ldi_06		ldi
    
    ldi_05		ldi
    ldi_04		ldi
    ldi_03		ldi
    ldi_02		ldi
    ldi_01		ldi
    	
    		ret
    и можно будет его использовать вместо любого ldir с фиксированным числом перекидываемых данных
    ну или не с фиксированным
    тк один ldi 2 байта
    и если кидать много
    то можно и рассчитать положение куда jp-ать
    Последний раз редактировалось NEO SPECTRUMAN; 30.08.2020 в 01:58.

  6. #5

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ну и написано оно на неизвестно чем
    на асме...

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

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    А зачем для каждого знакоместа полный расчёт делать?
    Все вопросы к автору этой книги.
    #ЯЖНЕПРОГРАММИСТ
    https://zxpress.ru/book_articles.php?id=1028
    Последний раз редактировалось ALKO; 30.08.2020 в 01:40.

  7. #6

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    https://zxpress.ru/book_articles.php?id=1028
    боже какая жесть
    а чего нельзя это все таблично?
    тем более все перемещение кратное 8 пикселям

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

    кстате Я щитаю что
    флеш водопад должен выглядеть не так


    а больше похоже на
    Последний раз редактировалось NEO SPECTRUMAN; 30.08.2020 в 01:45.

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

    ALKO(30.08.2020), Oleg N. Cher(01.09.2020)

  8. #7

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а чего нельзя это все таблично?
    (см. хештег выше.)

    Конечно можно воспользоваться ситуацией, что часть спрайтов рендерится строго на одной трети. Но я нифига не шарю в таких делах.

  9. #8

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

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    dec b
    jp nz,loop
    это же одна команда djnz
    Прихожу без разрешения, сею смерть и разрушение...

  10. #9

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    это же одна команда djnz
    я еще не отошел от ПЗУ для zx8080

    а так конечно НУЖНО менять на djnz

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

    поправил
    чтоб никто не брал за пример

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

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    и не надо call каждый раз, а сразу прописать там же цикл
    НЕТ у него уже есть готовая процедура ldi_32
    который он кидает строки по одной

    чтобы прописывать сразу в цикл
    уже нужно будет тянуть 32 ldi и сюда которые по 2 байта
    а аффтар зажимает память
    пушо пишет на каких то паскалях
    а потом еще ВНЕЗАПНО окажется что и для резинки...

    а так это и экономия
    и быстрей чем просто ldir

    а так с djnz это ~35422
    а прямо в цикле было бы ~33625
    еще +1,7 килотакта под блекджек и шлюх

    Я бы вообще поставил 2К ldi или бы заюзал стек
    Последний раз редактировалось NEO SPECTRUMAN; 30.08.2020 в 03:38.

  11. #10

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,698
    Спасибо Благодарностей отдано 
    305
    Спасибо Благодарностей получено 
    226
    Поблагодарили
    160 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Наиболее затратен во всей этой лабуде именно расчёт каждого знакоместа отдельно взятого спрайта
    А зачем для каждого знакоместа полный расчёт делать?
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

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

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

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

Похожие темы

  1. с Днем Программиста!
    от goblinish в разделе Поздравления
    Ответов: 17
    Последнее: 16.09.2015, 02:04
  2. С Днём компьютерщика и программиста !
    от Хорошист в разделе Поздравления
    Ответов: 4
    Последнее: 17.02.2013, 05:54
  3. С Днём компьютерщика и программиста !
    от Хорошист в разделе Новости
    Ответов: 5
    Последнее: 17.02.2013, 05:54
  4. Ищу желающих написать программу для ВИДЕО-игры
    от ALKO в разделе Программирование
    Ответов: 26
    Последнее: 17.02.2012, 15:07

Ваши права

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