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


тема: Про маску



от: Slavik Tretiak
кому: All
дата: 22 Feb 2006
Hello, Soplik

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

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

на самом деле имеет смысл если спрайты достаточно большие и мест "не по маске"
больше чем "по маске"

от: Виктор Иванов
кому: All
дата: 22 Feb 2006
Hello, All

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

от: Виктор Иванов
кому: All
дата: 24 Feb 2006
Hello, Sinus

Файтинги, то есть.
И гоночки - если бы под Спек писали гоночки.

А, и попиксельно по горизонтали так не повыводишь.

от: Гаврилов Виталий
кому: All
дата: 24 Feb 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

просьба не пинать если где накосячил или не соптимизировал, писалось на лету.
Общий принцип работы с битовой маской думаю понятен %)




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Возможности Спектрума - Pseudo-Color: миф или реальность? Алгоритм перевод чёрно-белого изображения в цветное.
Интерфейс - Пароли и секреты к играм : Sly Spy, Pithon. Советы по играм: Винни Пух, Prince of Persia, Elite, Lords of Chaos, Приключения Буратино.
Рек-тайм - Реклама и объявления ...
BBS - список станций BBS ZXNet.
Проекты - печатная брошюра "этюды в программировании на ассемблере z-80" (новый проект от создателе газеты Абзац)

В этот день...   5 мая