User Tag List

Страница 7 из 24 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 234

Тема: Спрайты

  1. #61

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    554
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    tnt23, ты был прав, надо было сразу на форуме обсуждать, чтобы несколько раз об одном и том же не говорить.
    Необратима только смерть, из всего остального можно даже извлечь пользу

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

    Цитата Сообщение от svofski Посмотреть сообщение
    Особо не вчитывался, но выглядит так, как будто PaintHorizontalBitmap и PaintBitmap слишком универсальные и могут быть специализированы для рисования ракетки побыстрее. Очень много push, pop, call, все это красиво и высокоуровнево, но отъедает много времени.
    Это задел на будущее, когда наступит тактовое голодание и можно будет с наслаждением отгрызать корочки.

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

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    жумчужина...
    mvi a, 0
    Подскажите другой способ поместить в аккумулятор ноль, не трогая флаги.

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

  3. #62

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Arrow

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Подскажите другой способ поместить в аккумулятор ноль, не трогая флаги.
    MOV A,x

    Как правило, в каком-нибудь регистре всегда ноль болтается, всякие счётчики циклов в финале обнуляются... достаточно чутка отмотать назад и посмотреть
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #63

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    554
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    MOV A,x
    Как правило, в каком-нибудь регистре всегда ноль болтается, всякие счётчики циклов в финале обнуляются... достаточно чутка отмотать назад и посмотреть
    Очень, очень удобно!

  5. #64

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Очень, очень удобно!
    Бонусом получаем доп. расход нервных клеток у дизассемблирующих
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #65

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

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    другой способ поместить в аккумулятор ноль, не трогая флаги.
    Например
    Код:
    push psw
    xthl
    mvi h,0
    xthl
    pop psw
    Понимаю, что простовато, но можно постараться и развить эту идею (добавить xchg и т.п.).

  7. #66

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    554
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Например
    Код:
    push psw
    xthl
    mvi h,0
    xthl
    pop psw
    Понимаю, что простовато, но можно постараться и развить эту идею (добавить xchg и т.п.).
    На mvi h,0 можно сэкономить, если ноль уже есть в каком-нибудь другом регистре.

  8. #67

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, главное, что в отличие от mvi a,0 глаз не режет. +10 очков за применение ftagn\\\\\xthl.
    Больше игр нет

  9. #68

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

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    если ноль уже есть в каком-нибудь другом регистре
    Мы не будем ждать ноля у программиста, создать его - наша задача.
    Код:
    push psw
    ora a
    sbb a
    xthl
    xchg
    mov d,a
    xchg
    xthl
    pop psw
    Все еще слишком прозрачно для понимания, надо самомодифицирующегося кода добавить. Ладно, извините, больше не буду оффтопить

  10. #69

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    554
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Ниже идет слой красных кирпичей, это перерисовка ракетки. Фиг знает, почему так жруче, там вообще никаких тяжелых проверок и рендера нет.
    Зато есть сперва тупое стирание ракетки без анализа необходимости (ок, для монотонности пусть будет) - 3392 такта, а потом тупое рисование ее же за те же 3392 такта. Есть простор для оптимизаций (потом, после мячечных и кирпичечных оптимизаций)

  11. #70

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

    По умолчанию

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

    вот те мой вариант этой чистилки буфера
    Код:
    RenderBackground
            lxi     hl, NOBATTY+1
            lxi     de, BALLBUF
            mvi     b, 32
            call    Copy_B_Bytes_From_HL_To_DE
            ret


    например


    Код:
    RenderBackground
            lxi     hl, NOBATTY+1
            lxi     de, BALLBUF
            mvi     b, 32
    
    RenderBackground_1
            mov     a, m
            stax    de
            inc     l
            inc     e
            dcr     b
            jnz     RenderBackground_1
    
            ret
    только нужно позабодтится чтобы буфера не пересекали границу 256 байт


    я бы написал вообще так
    только не говорите что вам жалко 128 байт для этого

    Код:
    RenderBackground
            lxi     hl, NOBATTY+1
            lxi     de, BALLBUF
    
    
        dup 31              ;повторить 4 строки ниже 31 раз
            mov     a, m
            stax    de
            inc     l
            inc     e
        edup
            mov     a, m
            stax    de
    
            ret
    посчитайте по тактам разницу

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

    Помоему у вас сильно много оптимизации по памяти
    каждый пол пчиха
    у вас call туда call сюда
    а там по 2 команді и jp еще куда то...

    в итоге вместо полезного кода
    выполняются одни call-ы и jp-ы...
    Последний раз редактировалось NEO SPECTRUMAN; 15.04.2019 в 13:20.

Страница 7 из 24 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Спрайты из игр
    от newart в разделе Графика
    Ответов: 16
    Последнее: 11.08.2022, 07:52
  2. Как вырезать спрайты
    от Bedazzle в разделе Графика
    Ответов: 20
    Последнее: 09.02.2019, 21:27
  3. dehrust и спрайты
    от drbars в разделе Программирование
    Ответов: 21
    Последнее: 15.01.2013, 16:51
  4. Спрайты из бейсика
    от Руслан в разделе Графика
    Ответов: 15
    Последнее: 26.07.2012, 20:54
  5. Спрайты в бейсике
    от AER в разделе Для начинающих
    Ответов: 13
    Последнее: 28.03.2010, 11:50

Ваши права

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