home *** CD-ROM | disk | FTP | other *** search
-
- ; Depacker for "Demo data packer v2.0"
- ; () by Volcano/EXON
- ;
- ; Length: $69 bytes!
- ;
- ; For example:
- ;
- ; Data at ..... $97ed
- ; Depack to ... $5af3
- ;
- ; Do it:
- ;
- ; ldx #$ed ; lo byte of start
- ; ldy #$97 ; hi byte of start
- ; jsr init
- ; ldx #$f3 ; lo byte of depack area
- ; ldy #$5a ; hi byte of depack area
- ; jsr depack
- ;
- ; That's all ...
-
- vec1 = $fa ;-$fb
- vec2 = $fc ;-$fd
-
- *= $0900
-
- init stx vec1
- sty vec1+1
- end rts
- depack stx vec2
- sty vec2+1
- ;-----------
- continue ldy #$00
- lda (vec1),y
- bmi end
- bne dep
- ;-----------
- inc vec1
- bne *+4
- inc vec1+1
- lda (vec1),y
- sta howmuch1+1
- inc vec1
- bne *+4
- inc vec1+1
- loop1 lda (vec1),y
- sta (vec2),y
- iny
- howmuch1 cpy #$00
- bne loop1
- tya
- beq go1
- clc
- adc vec1
- sta vec1
- bcc go2
- go1 inc vec1+1
- jmp go2
- ;-----------
- dep inc vec1
- bne *+4
- inc vec1+1
- lda (vec1),y
- sta howmuch2+1
- inc vec1
- bne *+4
- inc vec1+1
- lda (vec1),y
- inc vec1
- bne *+4
- inc vec1+1
- loop2 sta (vec2),y
- iny
- howmuch2 cpy #$00
- bne loop2
- go2 tya
- beq go3
- clc
- adc vec2
- sta vec2
- bcc continue
- go3 inc vec2+1
- jmp continue
- ;-----------
-
-
-