Subj не у кого не завалялся? (для картинки)
Желательно фремовый.
Вид для печати
Subj не у кого не завалялся? (для картинки)
Желательно фремовый.
1994. одно время там в лидерах была процедура из terminator-2 длиной 11 байт. щас посмотрю точно скажу
млин, 2 раза ошибся. 1995 год, 2й номер, процедура длиной 33 байта :) а из терминатора - 39 байт
Цитата:
Сообщение от zx-ревю 1995`2б стр. 44
а так ещё автор IceClimber хвалился, что у него самая фастовая и манюсенькая...
а нахрена в вышеприведённой процедуре?
это можно спотойно заменить на простоКод:xor e
and e
xor e
ибоКод:and e
и ещё одно: все эти процедурки по 30 байт будут не очень красиво затемнять картинку, если на ней есть и пэйпер, и инк, и брайт.Код:xor e : and e : xor e == xor a,e : and a,e : xor a,e == ((a ^ e) & e) ^ e
a : 0 : 1 : 0 : 1
e : 0 : 0 : 1 : 1
((a^e)&e)^e : 0 : 0 : 0 : 1
a&e : 0 : 0 : 0 : 1
я вот в таргете делал с табличкой в 256 байт, это конечно не 33 байта, но зато сверхфастово, правильно и красиво выглядит :)
Сорри за кривость и ламость - писалось наживую прям тут в посте /и все это нехило оптимизируемо и по скорости, и по размеру/...Код:LD B,8
F_OUT04
LD HL,#5800
F_OUT03
LD A,(HL)
AND %11000000
LD E,A
LD A,(HL)
AND %00000111
JR Z,F_OUT01
DEC A
F_OUT01 LD D,A
LD A,(HL)
RRCA
RRCA
RRCA
AND %00000111
JR Z,F_OUT02
DEC A
F_OUT02 RLCA
RLCA
RLCA
OR D
OR E
LD (HL),A
INC HL
LD A,H
CP #5B
JR NZ,F_OUT03
HALT
DJNZ F_OUT04
уважаемый Sinus - почему фэйдоут сделанный по подобию будет работать криво?
идея такая (пишу прямо тут, ничего не проверял, и в оригинальный код не смотрел):Цитата:
Поделись?
табличка ATTR_TABLE должна быть расположена по круглому адресу.Код: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
есть одна проблема: если аттрибут будет #FF (хотя нах кому нужет белый папер, белый инк с брайтом и с флэшэм :) ? ), то после LDI рег. H перескочит на другой адрес. но эта проблема надуманная, ибо такое нигде не встречается.
самая главная фишка это конечно таблички :) но я сейчас так не вспомню что я там писал в них. надо код искать.
зы. от DUP 32 можно избавится, это значительно сократит размер процедуры, но зато будет не мега фастово :)
Добавлено через 3 минуты
твой фэйд будет работать прямо, но очень не быстро.Цитата:
уважаемый Sinus - почему фэйдоут сделанный по подобию будет работать криво?
а если сделать его быстро, то он хорошо вырастет в размере :)
А так ли важна тут быстрота то? Ведь аттрибуты за фрейм хоть как кидай, опоздать к инту невозможно. Или при этом ещё что-то считается?