User Tag List

Страница 25 из 43 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 428

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

  1. #241

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    LD HL, 63648; 55296+6144+96+64
    зачем так мучатсо?
    и мучать других
    эти цифры не читаемые (кроме 6144)

    пишЫ покомпутерному же

    ld hl,$D800+$1800+96+64
    и сразу выражением а не магическим числом

    будет висеть незаметная очепятка
    и ты хрен найдешь почему все не работает

    ну и щас на вид сумма и выражение в коментах не совпадают...

    в придачу на таком например прекрасно видно
    $4000
    $4100
    $4200
    что инкрементитсо только H
    и этим можно и нужно пользоватсо

    а на последовательности
    16384
    16640
    16896
    ничего не видно...

    ну или
    FFFF 65535
    FEFE 65278
    FDFD 65021
    FCFC 64764

    этож реально удобней
    шестнадцатеричные цифры не просто так изобретены



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


    Цитата Сообщение от ALKO Посмотреть сообщение
    На ней можно выиграть тактов в оптимизации?
    щас глянем

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

    Цитата Сообщение от ALKO Посмотреть сообщение
    Процедура очистки, кстати.
    На ней можно выиграть тактов в оптимизации?
    Код:
    CLEARVIRTSCR
    		LD HL, 63648; 55296+6144+96+64 начало атрибутной области виртуалки 
    		
    		LD    BC,320       
    CLEARVIRTSCR1             
    		ld a,(_CLRCOL)
    		ld (hl),a
    		inc hl
    	   
    		DEC   BC        
    		LD    A,B        
    		OR    C
    		JR    NZ,CLEARVIRTSCR1
    		ret
    с ходу у тебя страшная ошибка
    ld a,(_CLRCOL) читается 320 раз
    что 2240 тактов
    а можно было положить
    ld a,(_CLRCOL)
    ld e,a

    а потом
    ld (hl),e


    сейчас твой вариант 16655 тактов





    первое что приходит в голову заюзать ldir

    Код:
    		LD HL,63648; 55296+6144+96+64 начало атрибутной области виртуалки 
    		
    		LD BC,320-1     
    
    		ld de,63648+1
    		
    		ld a,(_CLRCOL)
    		ld (hl),a
    
    		ldir        ;6744
    это уже 6744 такта





    второе что приходит заюзать ldi
    опять же предположим что у тебя есть процедура ldi_32
    если вставить ее вместо call
    то зачищать будет еще быстрее (за 5295 тактов)

    Код:
             ld hl,63648
             ld de,63648+1
             ld bc,320+$A00
    	 
    		ld a,(_CLRCOL)
    		ld (hl),a
    		
    loop
             ; ldir
             call ldi_32
             djnz loop      ;5565
    	 
    	 	jp $
    
    	 
    ldi_32		dup 32
    		ldi
    		edup
    		ret
    это 5565 такта

    АХТУНХ ЭТА ПРОЦЕДУРА ЗАТИРАЕТ НА 1 БАЙТ БОЛЬШЕ ЧЕМ НУЖНО !!!!!
    тк может затерать только кратное 32-м + 1 количество

    если это критично и нужно затереть ровно 320
    то сделай на 1 цикл меньше
    а остальные 31 байта затри обычным ldir-ом





    ну и для сравнения
    если включить режим гулять так гулять

    Код:
    	ld sp,63648+320
    	ld a,(_CLRCOL)
    	
    	ld h,a
    	ld l,a
    	
    	dup 320/2
    	push hl
    	edup
    1791 такт

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




    ну и вариант по проще
    Код:
             ld hl,63648
             ld b,320/32
    	 
    		ld a,(_CLRCOL)
    				
    loop2
    		dup 31
    		ld (hl),a
    		inc l
    		edup
    		ld (hl),a
    		inc hl
    		
             djnz loop2    ;3695
    на 3695 тактов

    что примечательно
    его можно уменьшить по объему в 2...3 раза
    а подобная скорость должна будет оставаться

    вот смотри


    уменьшает в 2 раза

    Код:
             ld hl,63648
             ld b,320/16
    	 
    		ld a,(_CLRCOL)
    				
    loop3
    		dup 15
    		ld (hl),a
    		inc l
    		edup
    		ld (hl),a
    		inc hl
    		
             djnz loop3    ;3845
    в итоге 3845 такта против 3695 того что при 32 dup-ах
    [свернуть]
    Последний раз редактировалось NEO SPECTRUMAN; 01.09.2020 в 03:01.

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

    ALKO(01.09.2020), Bedazzle(01.09.2020), Dwa83(02.09.2020), Oleg N. Cher(01.09.2020), ZX_NOVOSIB(01.09.2020)

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

  3. #242

    Регистрация
    31.12.2017
    Адрес
    г. Реж
    Сообщений
    156
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ну и для сравнения
    если включить режим гулять так гулять

    Код:

    ld sp,63648+320
    ld a,(_CLRCOL)

    ld h,a
    ld l,a

    dup 320/2
    push hl
    edup

    1791 такт
    Клёвый вариант, и регулируемый "скорость <> объём", если всё-таки сделать цикл

    Скрытый текст

    Код:
    ;вариант "влоб"
    
    	ld b,160			7
    LP	push hl			11     = 1760
    	djnz LP			13*159+8 = 2075
    ;итого 3842
    
    ;---------------------------------------
    ;увеличим пуши
    	ld b,40			7
    LP	push hl			11
    	push hl			11
    	push hl			11
    	push hl			11	1760
    	djnz LP			13*39+8 = 515
    ;на 3 байта длинее, но уже 2282
    
    ;---------------------------------------
    ;ещё увеличим пуши
    	ld b,20			7
    LP	push hl			11
    	push hl			11
    	push hl			11
    	push hl			11	
    	push hl			11
    	push hl			11
    	push hl			11
    	push hl			11	1760
    	djnz LP			13*19+8 = 255
    ;на 7 байт длинее, но уже 2022, яб прям этот вариант и взял
    [свернуть]

  4. #243

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

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    Клёвый вариант, и регулируемый "скорость <> объём", если всё-таки сделать цикл
    до но тут надо подружить все это с прерываниями
    а это лишняя головная боль
    думаю ALKO с ходу ниасилит
    в придачу это еще и намешано с *****сямипаскалями

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

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

  5. #244

    Регистрация
    31.12.2017
    Адрес
    г. Реж
    Сообщений
    156
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    34
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а так если бы все стековые операции проводить сразу после прихода инта
    то вполне до
    можно было бы запрещать прерывания
    все чистить
    и до конца фрейма разрешать
    и было бы апсолютно пофиг
    Ну так DI
    ld (pop_sp+1),sp 20
    ld sp,63648+320 20
    теперь прерывание не придёт
    очищаем
    pop_sp ld sp,0000 20
    EI

    Такой вариант

    Скрытый текст

    Код:
            di
    	ld (pop_sp+1),sp	20
    	ld sp,63648+320		20
    	ld a,(_CLRCOL)		13
    	
    	ld h,a			4
    	ld l,a			4
    
    	ld b,40			7
    LP	push hl			11
    	push hl			11
    	push hl			11
    	push hl			11	1760
    	djnz LP			13*39+8 = 515
    
    pop_sp	ld sp,0000		20
            ei
    [свернуть]


    Или я чего-то не понял?
    Если прерывание должно прийти в то время, когда мы его запретили, ну просерили одну обработку прерывания, ФПС тут не на прерываниях, а "как нарисовали так и пофиг на луч")))
    Да и отключить их к чёрту, если конечно паскаль не использует данные, которые меняются стандартными прерываниями.

    ПС: не нашёл инфу, сколько тактов длится стандартная процедура обработки прерывания, а интересно бы было узнать

    ППС:
    Крик души после второй бутылки пива. Доколе программист должен всегда балансировать, отталкиваясь от быстродействия? Чуть-чуть не попали к фронту третьего прерывания - 16 кадров в секунду(хотя меня эти проблемы пока не коснулись).
    Написал шикарный шейдер, но твоя прога работает с минимальным фпс, убирай нафиг половину.
    Воот щас я для физ движка всё красиво нашлёпаю в три строчки. Не-а. Нельзя всё сталкивать со всем, давай ка придумывай ухищрения, дели на отдельные объёмы, забивая память и листинг кучей строк. Более мощные компьютеры? Ха, на тебе более крутые запросы пользователя. Жаль, что программирование это всё таки не творчество, когда ты делаешь что затеял, а технарство, когда ты штудируешь всякие матчасти, чтоб твоё "что затеял" и выглядело бы хоть мало-мальски так же как задумано

    Хотя на самом деле это даже хорошо - узнавать то, чего до этого не знал. Как например я себя чувствовал, когда только недавно узнал, что страницы памяти-то переключаются не сами по себе, и там свои сложности. И мой старенький кворум был 128, а не 48(хотя я это и знал, но.. 65535 а дальше что?)))

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

    ALKO, Кстати решил посмотреть тему с паскалем и увидел, что ты там аш с 15ого года какую-то игру пилил с мужигом и с шипастым афтаматом. Какова судьба игры? Или это он в алису переродился?)))
    Ещё вопрос есть. Вот ты портировал игру на разные платформы. Если есть версия для нес, на чём пилил? Ато я как веселопедист хотел свой компиль написать, но у меня случился затык с интерпретацией команд, связаных с работой с первой страницей(первые 256), либо с остальной памятью, по коду они разные получатся, а по написанию в листинге одно и то-же.
    Последний раз редактировалось Dwa83; 02.09.2020 в 17:41.

  6. #245

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

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    теперь прерывание не придёт
    ну до
    а какая нибудь музыка на прерываниях тоже ушла лесом

    всключая тех кто пожелает ее туда притулить вместо аффтара потом
    если он ее не притулит сам

    да и по хорошему у игры должен быть дельта тайминг

    так что прерывания всегда нужны
    а не нужны они только дебилам
    и пилятелям советских компутеров
    которые по совместительству дебилы

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

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    ld (pop_sp+1),sp
    Цитата Сообщение от Dwa83 Посмотреть сообщение
    pop_sp ld sp,0000
    кстате это плохая конструкция

    лучше писать
    Код:
    		ld (var),bc
    
    ...
    
    var = $+1 :	ld de,$0000
    пушо если ВНЕЗАПНО понадобится заменить var на переменную в виде defw
    придется менять все ld (var+1),bc \ ld (var+2),bc \ ld bc,(var+1)
    которые могут быть раскиданы по куче файлов
    и вспоминать того мудака кто это сделал

    особенно актуально когда таких конструкций много по коду

    я подобное гафно несколько лет пытаюсь отскребсти от некоторых своих старых поделок
    Последний раз редактировалось NEO SPECTRUMAN; 02.09.2020 в 20:12.

  7. #246

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

    По умолчанию

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    ALKO, Кстати решил посмотреть тему с паскалем и увидел, что ты там аш с 15ого года какую-то игру пилил с мужигом и с шипастым афтаматом. Какова судьба игры? Или это он в алису переродился?)))
    Хах.... у меня же стопицот незавершённых параллельно делающихся проектов, к которым я время от времени возвращаюсь и вновь забрасываю.
    Причём не только на спек. В круг моих интересов входит также сега, пентиум+вуда, андроид-смартфоны. На всё это я делал те или иные демки-недоделки.
    А мужык с шыпастым...афтаматом (ли?) - то Агрессор, изначально я делал его на пеку в спектрумском стиле, затем на андроид в виде раннера, но пока проект заморожен.

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

    Цитата Сообщение от Dwa83 Посмотреть сообщение
    Если есть версия для нес, на чём пилил?
    на Нес интересно было бы по-кодить, ЕСЛИ был бы флеш-картридж. А без возможности запуска на реальном хардваре - не интересно вникать.

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

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    да и по хорошему у игры должен быть дельта тайминг
    На спеке не критично, там +/- частота в пределах ~3.5 мегагерц (не принимаю во внимание всякие вундервафли с турбами, на которых надо уже запускать не каличное спектрумское недо-2д, а вульфенштайн-подобное недо-3д).

    Я вообще сколько ни смотрел оверклок-демонстраций популярных игрушек на хз-нексте, везде по-бешенному шпарят с ускоренным темпом игрового процесса.

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

    В общем-то на дельта-тайм даже в ранних дос-играх подавляющее большинство разрабов клали болт.
    Чего уж говорить про спек...

  8. #247

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Я вообще сколько ни смотрел оверклок-демонстраций популярных игрушек на хз-нексте, везде по-бешенному шпарят с ускоренным темпом игрового процесса.
    пушо написано криво
    и ты такое же пишишь и говоришь что это правильно

    нормальные софтвари повышают ФПС в турбе

    запусти тот же survivisection на 14\28МГц
    ничего летать не будет...

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

    Цитата Сообщение от ALKO Посмотреть сообщение
    В общем-то на дельта-тайм даже в ранних дос-играх подавляющее большинство разрабов клали болт.
    Чего уж говорить про спек...
    ну клали по не знанию\лени\малому умственному развитию

    сейчас класть уже нельзя
    а многие так и продолжают...

    кстате ЛИЧНО ТЕБЕ я не говорю
    "брать и переписывать под дельтатайминг"
    возможно уже поздно
    и нужно будет переписывать все подряд...

    учитывай оно в следующей поделке с самого начала

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

    Цитата Сообщение от ALKO Посмотреть сообщение
    Я вообще сколько ни смотрел оверклок-демонстраций популярных игрушек
    кстате есть оверклокеры дебилы
    которые вместе с процем разгоняют другие времянки
    и даже выносят еще ручку регулирования
    и снимают видео как они ее крутят и все начинает носится

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

    ну а в некоторых старых играх
    дельтатайминга нет
    но есть FPS лимит

    что вощем то не так страшно на турбе

    но на обычной скорости как правило проседания скорости все равно есть
    и это не труЪ


    в принципе что то такое можошь притулить и ты
    глянуть средний фпс
    и повесить на прерывание счетик
    и если весь цикл закончился раньше чем нужно
    то включать тормозилку
    перегенерировать рнд
    может делать что то другое полезное чтоб тупо не стоять
    опрашивать клавиатуру лишний раз
    чтоб была бОльшая "отзывчивость"

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

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    ну клали по не знанию\лени\малому умственному развитию

    сейчас класть уже нельзя
    а многие так и продолжают...
    кстате таких дебилов достаточно много

    а потом запускаешь какой нибудь гофно WOT
    а там на фоне 5 ФПС в тридэ
    2Дэ курсор мыши в менюшке движется ВНЕЗАПНО тоже с 5 ФПС и без дельта тайминга
    и плавает с заносами и попасть в что либо(в менюшке) не реально

    а потом другие дебилы глядя на такое ***** думают что 5...10 ФПС не плеябельно

    хотя в нормальных играх
    даже если ФПС просел до 0
    курсор и весь интерфейс обновлятся со скорость обновления экрана
    и ВСЕ вполне плеябельно...

    ну к примеру мну прошел NFS Underground 2 с 5...10 ФПС-ами
    ну а на говорунов которые расказывают что для гонак нужно 40ФПС минимум
    я смотрю как на лохов
    (хотя я уже не помню на сколько там инертная менюшка при тормозах...)
    но управляемость в геймплее точно не теряется как у некоторых....
    Последний раз редактировалось NEO SPECTRUMAN; 03.09.2020 в 00:04.

  9. #248

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

    По умолчанию

    WOTы NFSы выходили в эпоху, когда конфигурация железа варьируется в большом диапазоне, тут ясен пень без дельта тайминга или разделения на потоки рендер/логика - никак.
    А спек чë, у него общепринятый стандарт 3.5 мегагерц. Всë что в турбе это уже не спек, а обратно-совместимое со спекою.

  10. #249

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    А спек чë, у него общепринятый стандарт 3.5 мегагерц. Всë что в турбе это уже не спек, а обратно-совместимое со спекою.
    вот только запускаешь в турбе какую нибудь плавающую тормозилку
    в надежде что она уплавнится
    а она начинает летать как бешенная при том так же с разной скоростью


    вот тебе наглядный пример унылости плавающей скорости
    https://youtu.be/eDhSH-GJDqE?t=1600
    на фоне вполне симпатичной игры

  11. #250

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

    По умолчанию

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

    А вообще, плавующую скорость я обычно сглаживал согласно этой статейке.
    https://habr.com/ru/post/136878/
    Но на продвинутых ЭВМ, включая сегу мд, благо там имеется аппаратный таймер, в отличие от убогого Горбатого, где остаëтся полагаться лишь на сигнал прерывания.

Страница 25 из 43 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

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

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

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

Ваши права

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