User Tag List

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

Тема: Тема для всяких глупых вопросов

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

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

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    jerri, удали EmuZWin.exe.manifest, тогда кнопки будут отображаться в винде 10 нормально.

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    jerri, удали EmuZWin.exe.manifest
    Скорее ALKO

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

    Цитата Сообщение от M80 Посмотреть сообщение
    Так да. Быстрее этого вряд ли получится.)
    Ну разве что совсем чуточку, и освободим альт рег А:

    Код:
        org $8000
    
    entry:
        ld a, 9
        ld (22528),a
        ld (22528+767),a
    
    
    starter:
        halt
    
        ld hl, 22529
        ld de, 22528
    
    scroll:
        ld a, (de)
    
        DUP 31
            ldi
        EDUP
    
        ld (de), a
    
        inc l
        inc de
    
        ld a, $5B
        cp d
        jp nz, scroll
    
        jp starter
    
        ret
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

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

    ALKO(02.11.2024)

  4. #3

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Ну разве что совсем чуточку...
    Ха! Всегда есть место для совершенства!) +

  5. #4

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

    По умолчанию

    Bedazzle, спасибо, пашет.
    Но я пока не уверен, как там ляжет условие в конце, где ld a, $5B.
    У меня буфер 40х24, так что 960 на 256 делится с остатком, и в один байт не укладывается.

  6. #5

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

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Но я пока не уверен, как там ляжет условие в конце, где ld a, $5B.
    У меня буфер 40х24, так что 960 на 256 делится с остатком, и в один байт не укладывается.
    Ну, тогда можно вернуться к версии с AF'
    Последний раз редактировалось Bedazzle; 02.11.2024 в 10:31.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  7. #6

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Но я пока не уверен, как там ляжет условие в конце, где ld a, $5B.
    У меня буфер 40х24, так что 960 на 256 делится с остатком, и в один байт не укладывается.
    А прокручивать ты весь буфер будешь, или только видимую часть ? Насколько помню ты буфер вроде мутил тупо чтоб спрайты обрезать ))
    Код:
        ; ...
        
         ld de,Boofer
         ld hl,Boofer+1
         ld bc,24*31    ; 24*(размер прокручиваемой зоны-1: т.е. количество LDI ),
                        ; т.е. 24*31 для видимой части, 24*39 для всего буфера
         
    loop
         ld a,(de)
    
         DUP 31  ; если прокручивается только видимая часть или 'DUP 39' , если весь буфер
           ldi
         EDUP
         
         ld (de),a
         
         DUP 9  ; если крутится видимая часть или убрать обёртку 'DUP/EDUP' вокруг инков, если весь буфер
           inс hl
           inc de
         EDUP
         
          ld a,b
          or c
         jp nz,loop
         
        ; ...
    - - - Добавлено - - -

    Пожалуй если прокручивается видимая часть буфера, то лучше пожалуй заменить
    Код:
         DUP 9 
           inс hl  ; 6
           inc de  ; 6
         EDUP      ; (6+6)*9 = 108 тактов , 18 байт
    на :
    Код:
          push bc     ; 11
          ld bc,9     ; 10
          add hl,bc   ; 11
          ex de,hl    ; 4
          add hl,bc   ; 11
          ex de,hl    ; 4
          pop bc      ; 10  = 61 такт , 9 байт
                 ;
    - - - Добавлено - - -

    Да так, как флаг p/v кроме ldi никакая команда здесь не меняет,
    то можно
    Код:
          ld a,b
          or c
         jp nz,loop
    заменить всего лишь на
    Код:
        jp pe,loop

  8. #7

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

    По умолчанию

    Цитата Сообщение от Dart Alver Посмотреть сообщение
    А прокручивать ты весь буфер будешь, или только видимую часть ? Насколько помню ты буфер вроде мутил тупо чтоб спрайты обрезать ))
    Да, весь. Чтоб слой плавно вылазил из-за экрана.
    А уж итоговый результат обрезаю, и кидаю на реал-экран.

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

    Ну как на той же сеге мд, реальный экран 320х224, но слои 512х512 (либо 1024х256, в зависимости от режима)

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

    Попробовал код Bedazzle на полноценной пикче в буфере, там чёта несколько рядов пикселей рушится
    Должно быть так равномерно


    Но тут в одном участке вот такой бугорок


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

    Возможно, это я что-то у себя накосячил.

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

    Цитата Сообщение от Dart Alver Посмотреть сообщение
    ты буфер вроде мутил тупо чтоб спрайты обрезать
    Ещё и микшировать слой прокрутки со спрайтами.
    Можно канешн и без буфера, сразу на реал экран фигарить. Но это надо угадать с тактами, прерываниями. Я тут на элементарном спотыкаюсь. Куда уж мне до такой вышки.

  9. #8

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Да, весь. Чтоб слой плавно вылазил из-за экрана.
    А уж итоговый результат обрезаю, и кидаю на реал-экран.
    Ну тогда прокрутка для буфа 40x24 :
    Код:
        ; ...
        
         ld de,Буфер
         ld hl,Буфер+1
         ld bc,24*39    ; счетчик цикла через ldi  = 24*(размер прокручиваемой зоны-1)
     
    l0_
         ld a,(de)
    
         DUP 39 
           ldi
         EDUP
         
         ld (de),a
         
         inс hl
         inc de
        
      jp pe,l0_
         
        ; ...
    Вроде так, а там х.з.

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

    ALKO(03.11.2024)

  10. #9

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

    По умолчанию

    Цитата Сообщение от Dart Alver Посмотреть сообщение
    ld bc,24*39 ; счетчик цикла через ldi = 24*(размер прокручиваемой зоны-1)
    А, походу на этом моменте мой фейл. А то я там множил на 40.
    ща перепроверю.

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

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

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

Похожие темы

  1. Ответов: 42
    Последнее: 05.05.2021, 17:01
  2. Общая тема для моих вопросов (ассемблер и zx spectrum)
    от moronizzz в разделе Для начинающих
    Ответов: 17
    Последнее: 23.08.2016, 18:13
  3. тема для мобильного....
    от rasmer в разделе Музыка
    Ответов: 0
    Последнее: 18.01.2008, 20:25

Метки этой темы

Ваши права

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