
*************************************************
* Decrunch-Routine für Megacruncher V1.0        *
* Source by Nekron of PROTON. For Private use!  *
*************************************************


MEMSTART=	$0400		; Prg-Start
CRLENGTH=	$2320		; Crunch-Länge (!)


ReCrunch
	lea	repack1(pc),a3
	move.l	a3,d0
	move.l	8(a3),d1
	lea	repack2(pc),a0
	adda.l	d1,a0
	movea.l	4(a3),a1
	movea.l	-(a0),a2
	adda.l	a1,a2
	move.l	-(a0),d0
repack3	
	moveq	#3,d1
	bsr	repack4
	tst.b	d2
	beq	repack11
	cmpi.w	#7,d2
	bne	repack7
	lsr.l	#1,d0
	bne	repack5
	bsr	repack22
repack5	
	bcc	repack6
	moveq	#$a,d1
	bsr	repack4
	tst.w	d2
	bne	repack7
	moveq	#$12,d1
	bsr	repack4
	bra	repack7
repack6	
	moveq	#4,d1
	bsr	repack4
	addq.w	#7,d2
repack7	
	subq.w	#1,d2
repack8	
	moveq	#7,d1
repack9	
	lsr.l	#1,d0
	beq	repack10
	roxl.l	#1,d3
	dbf	d1,repack9
	move.b	d3,-(a2)
	;move.b	d3,$dff180
	dbf	d2,repack8
	bra	repack11
repack10	
	move.l	-(a0),d0
	move.b	#$10,CCR
	roxr.l	#1,d0
	roxl.l	#1,d3
	dbf	d1,repack9
	move.b	d3,-(a2)
	dbf	d2,repack8
repack11	
	cmpa.l	a2,a1
	bge	repack21
	moveq	#2,d1
	bsr	repack4
	moveq	#2,d3
	moveq	#8,d1
	tst.w	d2
	beq	repack19
	moveq	#4,d3
	cmpi.w	#2,d2
	beq	repack16
	moveq	#3,d3
	cmpi.w	#1,d2
	beq	repack14
	moveq	#2,d1
	bsr	repack4
	cmpi.w	#3,d2
	beq	repack13
	cmpi.w	#2,d2
	beq	repack12
	addq.w	#5,d2
	move.w	d2,d3
	bra	repack16
repack12	
	moveq	#2,d1
	bsr	repack4
	addq.w	#7,d2
	move.w	d2,d3
	bra	repack16
repack13	
	moveq	#8,d1
	bsr	repack4
	move.w	d2,d3
	bra	repack16
repack14	
	moveq	#8,d1
	lsr.l	#1,d0
	bne	repack15
	bsr	repack22
repack15	
	bcs	repack19
	moveq	#$e,d1
	bra	repack19
repack16	
	moveq	#$10,d1
	lsr.l	#1,d0
	bne	repack17
	bsr	repack22
repack17	
	bcc	repack19
	moveq	#8,d1
	lsr.l	#1,d0
	bne	repack18
	bsr	repack22
repack18	
	bcs	repack19
	moveq	#$c,d1
repack19	
	bsr	repack4
	subq.w	#1,d3
repack20	
	move.b	-1(a2,d2.l),-(a2)
	dbf	d3,repack20
	bra	repack3
repack21	
	jmp	MEMSTART
repack22	
	move.l	-(a0),d0
	move.b	#$10,CCR
	roxr.l	#1,d0
	rts
repack23	
	move.l	-(a0),d0
	move.b	#$10,CCR
	roxr.l	#1,d0
	roxl.l	#1,d2
	dbf	d1,repack24
	rts
repack4	
	subq.w	#1,d1
	clr.l	d2
repack24	
	lsr.l	#1,d0
	beq	repack23
	roxl.l	#1,d2
	dbf	d1,repack24
	rts
repack1	
	dc.l	$00040624		; Unbekannt??
	dc.l	MEMSTART
	dc.l	CRLENGTH

repack2
	INCBIN	"Data",0

