Про маску

ZXNet эхоконференция «code.zx»

От Slavik Tretiak Кому All 22.02.2006

Hello, Soplik смотря как определять. если заранее раздекрянчить выводилку спрайта, то можно ускорится сильно. а если выводить спрайт познакоместово, беря из таблички "по маске" или "не по маске" то может и тормознее станет. на самом деле имеет смысл если спрайты достаточно большие и мест "не по маске" больше чем "по маске"

От Виктор Иванов Кому All 22.02.2006

Hello, All Hасколько можно ускориться, если заранее определить, какие знакоместа выводятся по маске, а какие просто так? Спасибо.

От Виктор Иванов Кому All 24.02.2006

Hello, Sinus Файтинги, то есть. И гоночки - если бы под Спек писали гоночки. А, и попиксельно по горизонтали так не повыводишь.

От Гаврилов Виталий Кому All 24.02.2006

Hello, Soplik Обычная выводилка: ;hl->de spr: ld c,height push de ld b,width row: call putzn inc e jr z,$+6 ld a,d sub 8 ld d,a djnz row pop de call d_de_zn dec c jr nz,spr оптимизированная: ld a,(hl) inc hl exx ld c,a ld b,8 exx ld c,height spr: push de ld b,width row: exx rr c djnz $+9 exx ld a,(hl) inc hl exx ld c,a ld b,8 exx call nc,put_zn call c,put_zn_msk inc e jr z,$+6 ld a,d sub 8 ld d,a djnz row pop de call d_de_zn dec c jr nz,spr put_zn: dup 8 ld a,(hl) ld (de),a inc hl inc d edup ret put_zn_msk: dup 8 ld a,(de) and (hl) inc hl or (hl) ld (de),a inc hl inc d edup ret просьба не пинать если где накосячил или не соптимизировал, писалось на лету. Общий принцип работы с битовой маской думаю понятен %)