Код:
loc1:
ld d,h
ld e,l
res 0,l
ld a,high(sqrbase)
add a,h
ld h,a
ld a,(hl)
inc l
ld h,(hl)
ld l,a
ex de,hl ;de = r3 = sqr[r1&0xfffe]
add hl,bc ;r1 += r0
ld a,b
ld b,h
ld h,a
ld a,c
ld c,l
ld l,a
res 0,l
ld a,high(sqrbase)
add a,h
ld h,a
ld a,(hl)
inc l
ld h,(hl)
ld l,a ;r0 = sqr[r0&0xfffe]
add hl,de
ld a,h
cp 8
jr nc,loc2
push hl ;r0 += r3
ld h,b
ld l,c
ld a,high(sqrbase)
add a,h
ld h,a
res 0,l
ld a,(hl)
inc l
ld h,(hl)
ld l,a ;r1 = sqr[r1&0xfffe]
r5 equ $+1
ld bc,0
add hl,bc ;add r5, r1 ;sets C=0
pop bc ;r0
sbc hl,bc ;sub r0, r1
push hl
r4 equ $+1
ld hl,0
add hl,bc ;r0 += r4
sbc hl,de ;r0 -= r3
sbc hl,de
ld b,h ;r0 -= r3
ld c,l
pop hl
dec ixh
jr nz,loc1
Теперь Амстрад строит первые картинки даже быстрее БК0010, но с ростом числа итераций "букашка" опять выходит вперед. Например, восьмую картинку Амстрад строит за 12.0 сек (11.9 для варианта в 16 цветах), а БК за 9.8 сек. А вот и сами