| Sinus |
7th August 2008 19:22 |
идея такая (пишу прямо тут, ничего не проверял, и в оригинальный код не смотрел):
Code:
LD LX,8
ONCE HALT
LD H,'ATTR_TABLE
LD DE,#5800
LOOP DUP 32
LD A,(DE)
LD L,A
LDI
EDUP
JP NZ,LOOP
DEC LX
JP NZ,ONCE
табличка ATTR_TABLE должна быть расположена по круглому адресу.
есть одна проблема: если аттрибут будет #FF (хотя нах кому нужет белый папер, белый инк с брайтом и с флэшэм :) ? ), то после LDI рег. H перескочит на другой адрес. но эта проблема надуманная, ибо такое нигде не встречается.
самая главная фишка это конечно таблички :) но я сейчас так не вспомню что я там писал в них. надо код искать.
зы. от DUP 32 можно избавится, это значительно сократит размер процедуры, но зато будет не мега фастово :)
Добавлено через 3 минуты
Quote:
уважаемый Sinus - почему фэйдоут сделанный по подобию будет работать криво?
|
твой фэйд будет работать прямо, но очень не быстро.
а если сделать его быстро, то он хорошо вырастет в размере :)
|