z80_unpacker: optimisations: -2B in unpack implementation = 183B

This commit is contained in:
Peter Helcmanovsky (Ped)
2022-09-14 01:44:04 +02:00
parent 02d20867ee
commit c7ea11bce3

View File

@@ -89,13 +89,12 @@ unpack:
jr c,.copy_chunk jr c,.copy_chunk
; * extract byte from compressed data (literal) ; * extract byte from compressed data (literal)
ld e,1 ; E = byte = 1 inc c ; C = byte = 1 (and also context_index)
.decode_byte: .decode_byte:
ld c,e
call decode_bit ; bit = upkr_decode_bit(byte); call decode_bit ; bit = upkr_decode_bit(byte);
rl e ; byte = (byte << 1) + bit; rl c ; byte = (byte << 1) + bit;
jr nc,.decode_byte ; while(byte < 256) jr nc,.decode_byte ; while(byte < 256)
ld a,e ld a,c
exx exx
ld (de),a ; *write_ptr++ = byte; ld (de),a ; *write_ptr++ = byte;
inc de inc de