Про маску — ZXNet «code.zx»

Про маску

ZXNet echo conference «code.zx»



from: Slavik Tretiak
to: All
date: 22 February 2006
Hello, Soplik смотря как определять. если заранее раздекрянчить выводилку спрайта, то можно ускорится сильно. а если выводить спрайт познакоместово, беря из таблички "по маске" или "не по маске" то может и тормознее станет. на самом деле имеет смысл если спрайты достаточно большие и мест "не по маске" больше чем "по маске"

from: Виктор Иванов
to: All
date: 22 February 2006
Hello, All Hасколько можно ускориться, если заранее определить, какие знакоместа выводятся по маске, а какие просто так? Спасибо.

from: Виктор Иванов
to: All
date: 24 February 2006
Hello, Sinus Файтинги, то есть. И гоночки - если бы под Спек писали гоночки. А, и попиксельно по горизонтали так не повыводишь.

from: Гаврилов Виталий
to: All
date: 24 February 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 просьба не пинать если где накосячил или не соптимизировал, писалось на лету. Общий принцип работы с битовой маской думаю понятен %)