Последний раз редактировалось drbars; 18.08.2013 в 10:24.
drbars, я к тому что у тебя максимальный размер линии 149 точек по вертикали
С уважением,
Jerri / Red Triangle.
Игровое пространство 144 точки по вертикали.. буфер позволяет 149.
---------- Post added at 22:43 ---------- Previous post was at 22:29 ----------
Не получится наметить, я уже максимально оптимизировал. Старший адрес как раз и проверяет, закончился ли буфер.
85*3=255. Это значит что 2-ой INC HL попадает на границу. Если мы буфер на байт сдвинем, как из него выходить? L у нас может быть одинаковым 2 раза. Тут уже ничего не сделаешь.
Не забывай ещё, что буфер строится от конца к началу, а востанавливается от начала к концу.
Последний раз редактировалось drbars; 18.08.2013 в 19:49.
ld sp,#7fff
выйдет только по этому адресу
#7eff на проверку не попадает, только #00 будет сравниваться с A (предыдущий же был #FD)
sp=#7fffok, при размере буфера менее 2 секторов, граница переходится 1 раз, ежели наметить переход на команду ldi, тогда и оба inc hl получится заменить на inc l?
... видимо, с заменой cp h на cp l ...
...
заполнили буфер
...
a=#ff
...
ldi
cp l
jp nz,RES_LN
L при сравнении с A будет #ff только в конце.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)