Ну, я предупредил, что с головы пишу
Вот это проверил:
Код:org $8000 entry: ld a, 9 ld (22528),a ld (22528+767),a starter: halt ld hl, 22529-1 ld de, 22528-1 ld a, 24 scroll: inc hl ; можно заменить на inc l inc de ex af, af' ld a, (de) DUP 31 ldi EDUP ld (de), a ex af, af' dec a jp nz, scroll jp starter ret
Heavy on the disasm
Eric and the disasm
Mask 3: Venom strikes disasm
Bard's disasm
ALKO(02.11.2024)
jerri, удали EmuZWin.exe.manifest, тогда кнопки будут отображаться в винде 10 нормально.
Скорее ALKO
- - - Добавлено - - -
Ну разве что совсем чуточку, и освободим альт рег А:
Код: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
ALKO(02.11.2024)
Bedazzle, спасибо, пашет.
Но я пока не уверен, как там ляжет условие в конце, где 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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)