; ; File generated by cc65 v 2.19 - Git ab8bb268 ; .fopt compiler,"cc65 v 2.19 - Git ab8bb268" .setcpu "6502" .smart on .autoimport on .case on .debuginfo off .importzp sp, sreg, regsave, regbank .importzp tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3, ptr4 .macpack longbranch .import _inflatemem .export _uncompress .import _adler32 ; --------------------------------------------------------------- ; int __near__ __fastcall__ uncompress (unsigned char *dest, unsigned int *destLen, const unsigned char *source, unsigned int sourceLen) ; --------------------------------------------------------------- .segment "CODE" .proc _uncompress: near .segment "CODE" jsr pushax jsr decsp2 ldy #$03 jsr ldaxysp clc ldy #$04 adc (sp),y pha txa iny adc (sp),y tax pla jsr decax4 jsr pushax jsr decsp4 ldy #$0B jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$00 lda (ptr1),y and #$8F cmp #$08 jne L000B ldy #$0B jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$01 lda (ptr1),y and #$20 jne L000B ldy #$0B jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$00 lda (ptr1),y sta sreg+1 ldy #$0B jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$01 lda (ptr1),y ldx sreg+1 jsr pushax lda #$1F jsr tosumoda0 stx tmp1 ora tmp1 jne L000B ldy #$0F jsr pushwysp ldy #$13 jsr pushwysp ldy #$0F jsr ldaxysp jsr incax2 jsr _inflatemem ldy #$08 jsr staxysp ldy #$00 jsr staxspidx jsr pushl0 jsr push0 jsr _adler32 jsr pusheax ldy #$15 jsr pushwysp ldy #$0D jsr ldaxysp jsr _adler32 jsr steax0sp ldy #$00 lda (sp),y sta sreg ldy #$05 jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$03 lda (ptr1),y cmp sreg bne L000B jsr ldeax0sp stx sreg ldy #$05 jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$02 lda (ptr1),y cmp sreg bne L000B jsr ldeax0sp lda sreg sta ptr2 ldy #$05 jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$01 lda (ptr1),y cmp ptr2 bne L000B jsr ldeax0sp lda sreg+1 sta ptr2 ldy #$05 jsr ldaxysp sta ptr1 stx ptr1+1 ldy #$00 lda (ptr1),y cmp ptr2 bne L000B ldx #$00 txa jmp L0001 L000B: ldx #$FF lda #$FD L0001: ldy #$10 jmp addysp .endproc