| Proyecto de Sistemas Distribuidos | 20150709-2222 |
Parece increíble pero el proyecto del miniblog hecho con Java RMI avanza a pasos agigantados; ya solamente necesito resolver la cuestión de la gestión de sesiones y callbacks, y con suerte mañana todo funcionará por primera vez.
Mientras tanto pienso en un posible método con un byte previo a cada N bytes donde cada bit indica si un byte es opaco o no:
{ ; ----
ld a,(bc)
ld (de),a
inc [b]c
inc [d]e
} = 2+2+1+1 = 6 [+2!] µs ; 4 bytes
{ ; HL=^MASKFLIP
ld a,(bc)
ld l,a
ld a,(de)
and (hl)
or l
ld (de),a
inc [b]c
inc [d]e
} = 2+1+2+2+1+2+1+1= 12 [+2!] µs ; 8 bytes
{ ; HL=^MASKFLIP+256
ld a,(bc)
ld l,a
ld a,(hl)
ld (de),a
inc [b]c
dec [d]e
} = 2+1+2+2+1+1 = 9 [+2!] µs ; 6 bytes
{ ; HL=^MASKFLIP
ld a,(bc)
ld l,a
inc h
ld l,(hl)
dec h
ld a,(de)
and (hl)
or l
ld (de),a
inc [b]c
dec [d]e
} = 2+1+1+2+1+2+2+1+2+1+1= 12 [+2!] µs ; 11 bytes
para 6 bytes max,
* derecho: 6*4=24; 6* 8=48; 64*(24+48)/2= 2304
* reves..: 6*6=36; 6*11=66; 64*(36+66)/2= 3264
para 8 bytes max,
* derecho: 8*4=32; 8* 8=64; 256*(32+64)/2= 12288
* reves..: 8*6=48; 8*11=88; 256*(48+88)/2= 17408
20:47 04/07/2015
El código de control podría ser algo así:
{
ld a,(bc)
inc [b]c
add a
add lo JUMPTABLE
ld l,a
adc hi JUMPTABLE
sub l
ld h,a
push hl
ld h,hi MASKFLIP
ret
} = 2+1+1+2+1+2+1+1+4+2+3= 20 [+1!] µs; 14 bytes
...
{ jp XXXX } = 5 µs; 3 bytes
Óptimos nuevos contra genéricos viejos:
* 25+12= 37 µs > 2*12= 24 (154,16%)
* 25+24= 49 µs > 4*12= 48 (102,08%)
* 25+36= 61 µs < 6*12= 72 (84,72%)
* 50+48= 98 µs > 4*24= 96 (102,08%)
* 50+60= 110 µs < 5*24= 120 (91,66%)
* 50+72= 122 µs < 6*24= 144 (84,72%)
ld a,(bc) ; 2
inc [b]c ; 1/2
and a ; 1
jr z,$+3 ; 3/2
ld (de),a ; 2
inc [d],e ; 1/2
8/11
21:14 04/07/2015
No sé si tiene tanto sentido como parece tenerlo en mi cabeza. En general el método solamente parece mejorar el dibujo "bruto" de sprites cuando éstos son de más de 5 bytes de anchura (es decir, cuando miden tres caracteres o más). ¿Será suficiente para mover todos los sprites de "Parasol Stars" sin que el CPC se desplome agotado?
| [ ◀◀ PRIMERO ] [ ◀ ANTERIOR ] [ ▲ ] [ ▶ POSTERIOR ] [ ▶▶ ÚLTIMO ] |