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

This commit is contained in:
Peter Helcmanovsky (Ped)
2022-09-14 01:01:07 +02:00
parent 511ddefc08
commit 02d20867ee

View File

@@ -109,12 +109,10 @@ unpack:
; offset = upkr_decode_length(257) - 1; ; offset = upkr_decode_length(257) - 1;
; if (0 == offset) break; ; if (0 == offset) break;
; } ; }
ld a,d ; A = prev_was_match xor a
or a cp d ; CF = prev_was_match
jr nz,.decode_offset ; if(prev_was_match call nc,decode_bit ; if not prev_was_match, then upkr_decode_bit(256)
call decode_bit ; upkr_decode_bit(256) jr nc,.keep_offset ; if neither, keep old offset
jr nc,.keep_offset
.decode_offset:
inc c inc c
call decode_length call decode_length
dec de ; offset = upkr_decode_length(257) - 1; dec de ; offset = upkr_decode_length(257) - 1;