mirror of
https://github.com/exoticorn/upkr.git
synced 2026-01-20 11:36:42 +01:00
z80_unpacker: optimisation: -2B in backward unpack (fwd 172B / rev 169B)
backward was already -1B, so now the total difference is -3B.
This commit is contained in:
Binary file not shown.
@@ -139,16 +139,19 @@ unpack:
|
||||
call decode_number ; length = upkr_decode_length(257 + 64);
|
||||
push de
|
||||
exx
|
||||
IFNDEF BACKWARDS_UNPACK
|
||||
ld h,d ; DE = write_ptr
|
||||
ld l,e
|
||||
.offset+*: ld bc,0
|
||||
IFNDEF BACKWARDS_UNPACK
|
||||
sbc hl,bc ; CF=0 from decode_number ; HL = write_ptr - offset
|
||||
ELSE
|
||||
add hl,bc ; HL = write_ptr + offset
|
||||
ENDIF
|
||||
pop bc ; BC = length
|
||||
IFNDEF BACKWARDS_UNPACK : ldir : ELSE : lddr : ENDIF
|
||||
ldir
|
||||
ELSE
|
||||
.offset+*: ld hl,0
|
||||
add hl,de ; HL = write_ptr + offset
|
||||
pop bc ; BC = length
|
||||
lddr
|
||||
ENDIF
|
||||
exx
|
||||
ld d,b ; prev_was_match = true
|
||||
djnz .decompress_data ; adjust context_index back to 0..255 range, go to main loop
|
||||
|
||||
Reference in New Issue
Block a user