Unpack Automation

All about the serious stuff.

Moderators: Mug UK, Zorro 2, Moderator Team

Post Reply
rockyone
Atari Super Hero
Atari Super Hero
Posts: 531
Joined: Thu Jan 20, 2011 8:47 pm
Location: France
Contact:

Unpack Automation

Post by rockyone »

I am looking for Automation V2.3 Unpacking routine or code.
User avatar
Mug UK
Administrator
Administrator
Posts: 11542
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Re: Unpack Automation

Post by Mug UK »

Here you go.

Code: Select all

;should now be capable of decoding from odd to odd addresses
;11th October 1989

DEPACK		adda.l #4,a0
		move.w $ff8240,-(sp)
		move.b (a0)+,d5
		lsl.w 	#8,d5
		move.b	(a0)+,d5
		swap	d5
		move.b	(a0)+,d5
		lsl.w	#8,d5
		move.b	(a0)+,d5
		adda.l d5,a1
		move.b	(a0),d0
		lsl.w	#8,d0
		move.b	1(a0),d0
		swap	d0
		move.b	2(a0),d0
		lsl.w	#8,d0
		move.b	3(a0),d0
		adda.l 	d0,a0
		subq.l #4,a0
		move.b	-2(a0),d0
		lsl.w	#8,d0
		move.b	-1(a0),d0
		subq.l	#2,a0
		tst.w	d0
		bpl.s L_1
		subq.l #1,a0
L_1		move.b -(a0),d0
L_2		lsl.b #1,d0
		bne.s L_3
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_3		BCC.S	L_10
		CLR.W	D1
		LSL.B	#1,D0
		BNE.S	L_4
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_4		BCC.S	L_9
		LEA	NUMS(PC),A3
		MOVEQ	#3,D3
L_5		CLR.W	D1
		MOVE.B	0(A3,D3.W),D2
		EXT.W	D2
		MOVEQ	#-1,D4
		LSL.W	D2,D4
		NOT.W	D4
		SUBQ.W	#1,D2
L_6		LSL.B	#1,D0
		BNE.S	L_7
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_7		ROXL.W	#1,D1
		DBF	D2,L_6
		TST.W	D3
		BEQ.S	L_8
		CMP.W	D1,D4
		DBNE	D3,L_5
L_8		MOVE.B	4(A3,D3.W),D2
		EXT.W	D2
		ADD.W	D2,D1
		BRA	L_9

NUMS		DC.B	$0A,$03,$02,$02,$0E,$07,$04,$01

L_9		MOVE.B	-(A0),-(A1)
		eor.w	#$777,$ff8240
		DBF	D1,L_9

L_10		MOVE.L	A4,A3		;get crunch position
		ADDQ.L	#$8,A3
		CMPA.L	A3,A0
		BLE	BYENOW
		LEA	NUMS2(PC),A3
		MOVEQ	#3,D2
L_11		LSL.B	#1,D0
		BNE.S	L_12
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_12		BCC.S	L_13
		DBF	D2,L_11

L_13		CLR.W	D1
		ADDQ.W	#1,D2
		MOVE.B	0(A3,D2.W),D3
		BEQ.S	L_16
		EXT.W	D3
		SUBQ.W	#1,D3
L_14		LSL.B	#1,D0
		BNE.S	L_15
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_15		ROXL.W	#1,D1
		DBF	D3,L_14
L_16		MOVE.B	5(A3,D2.W),D3
		EXT.W	D3
		ADD.W	D3,D1
		BRA	L_161

NUMS2		DC.B	$0A,$02,$01,$00,$00,$0A,$06,$04,$03,$02

L_161		CMPI.W	#2,D1
		BEQ.S	L_22
		LEA	NUMS3(PC),A3
		MOVEQ	#1,D3
L_17		LSL.B	#1,D0
		BNE.S	L_18
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_18		BCC.S	L_19
		DBF	D3,L_17
L_19		ADDQ.W	#1,D3
		CLR.W	D2
		MOVE.B	0(A3,D3.W),D4
		EXT.W	D4
L_20		LSL.B	#1,D0
		BNE.S	L_21
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_21		ROXL.W	#1,D2
		DBF	D4,L_20
		LSL.W	#1,D3
		ADD.W	4(A3,D3.W),D2
		BRA.S	L_26

NUMS3		DC.B	$0B,$04,$07,$00,$01,$20,$00,$00
		DC.B	$00,$20,$00,$00

L_22		CLR.W	D2
		MOVEQ	#5,D3
		CLR.W	D4
		LSL.b	#1,D0
		BNE.S	L_23
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_23		BCC.S	L_24
		MOVEQ	#8,D3
		MOVEQ	#$40,D4
L_24		LSL.B	#1,D0
		BNE.S	L_25
		MOVE.B	-(A0),D0
		ROXL.B	#1,D0
L_25		ROXL.W	#1,D2
		DBF	D3,L_24
		ADD.W	D4,D2
L_26		LEA	0(A1,D2.W),A2
		EXT.L	D1
		ADDA.L	D1,A2
		SUBQ.W	#1,D1
L_27		MOVE.B	-(A2),-(A1)
		DBF	D1,L_27
		BRA	L_2
BYENOW		move.w (a7)+,$ff8240
		RTS
My main site: http://www.mug-uk.co.uk - slowly digging up the bits from my past (and re-working a few): Atari ST, Sega 8-bit (game hacks) and NDS (Music ripping guide).

I develop a free Word (for Windows) add-in that's available for Word 2007 upwards. It's a fix-it toolbox that will allow power Word users to fix document errors. You can find it at: http://www.mikestoolbox.co.uk
rockyone
Atari Super Hero
Atari Super Hero
Posts: 531
Joined: Thu Jan 20, 2011 8:47 pm
Location: France
Contact:

Re: Unpack Automation

Post by rockyone »

thank you Mug UK.
rockyone
Atari Super Hero
Atari Super Hero
Posts: 531
Joined: Thu Jan 20, 2011 8:47 pm
Location: France
Contact:

Re: Unpack Automation

Post by rockyone »

In test ..
I removed the animation on the palette, ...
added
Depack: movea.l a0, a4
                ...
But it's not good. This causes me an error when I release the used memory areas.

But with
Depack: movea.l a1, a4
...
L_10: cmpa.l a4, a1
         beq BYENOW
           ....
its good ..

What is the reason for the read mode used to read the uncompressed file size?

Is the Automation signature v2.3.r always 'LSD!' Or are there variants ?
User avatar
Mug UK
Administrator
Administrator
Posts: 11542
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Re: Unpack Automation

Post by Mug UK »

Unless someone has hacked the header signature, then up to v2.51, it was "LSD!".

For the version of the Automation packer after that it was a front-end hack for the Ice Packer v2.4 (I think, it's been a long time). So you can depack it with the Ice depack code *but* the header is "AU5!" instead.
My main site: http://www.mug-uk.co.uk - slowly digging up the bits from my past (and re-working a few): Atari ST, Sega 8-bit (game hacks) and NDS (Music ripping guide).

I develop a free Word (for Windows) add-in that's available for Word 2007 upwards. It's a fix-it toolbox that will allow power Word users to fix document errors. You can find it at: http://www.mikestoolbox.co.uk
rockyone
Atari Super Hero
Atari Super Hero
Posts: 531
Joined: Thu Jan 20, 2011 8:47 pm
Location: France
Contact:

Re: Unpack Automation

Post by rockyone »

Mug UK wrote:Unless someone has hacked the header signature, then up to v2.51, it was "LSD!".

For the version of the Automation packer after that it was a front-end hack for the Ice Packer v2.4 (I think, it's been a long time). So you can depack it with the Ice depack code *but* the header is "AU5!" instead.
Canvas v1.0 but the color palette of the image (48 bytes!) Before the identification of the file.

Unfortunately, I do not have automation packages, or different versions of unpacking. If you could provide them to me ...

But, I tested with New Depack v1.1, a file ".ICE" v2.40 labeled "AU5!" Is well unpacked with atomation v5.01 : :cheers:
User avatar
prog99
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 122
Joined: Thu Jun 19, 2003 8:08 pm
Location: Edinburgh
Contact:

Re: Unpack Automation

Post by prog99 »

From the newdpak code (less some setup stuff). It never cares about file names or extensions just whats in the header -
/*
** Automation 5.01 datafile
*/
if ISDATA('AU5!')
{
....

ice2_3_4_data(file_start,depacked_pointer);
....
}

From memory the Automation 5.01 packer is just a gem front end to ice.

Anything else you need let me know.
Regards, Mike.
All my real skills are undervalued
User avatar
Mug UK
Administrator
Administrator
Posts: 11542
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Re: Unpack Automation

Post by Mug UK »

Various unpackers and Automation 5.01 Packer (and depack routines) are attached below.
UNPACK.S.zip
PowerPacker Decrunch assembler subroutine V2.0.zip
automatn.501.zip
You do not have the required permissions to view the files attached to this post.
My main site: http://www.mug-uk.co.uk - slowly digging up the bits from my past (and re-working a few): Atari ST, Sega 8-bit (game hacks) and NDS (Music ripping guide).

I develop a free Word (for Windows) add-in that's available for Word 2007 upwards. It's a fix-it toolbox that will allow power Word users to fix document errors. You can find it at: http://www.mikestoolbox.co.uk
rockyone
Atari Super Hero
Atari Super Hero
Posts: 531
Joined: Thu Jan 20, 2011 8:47 pm
Location: France
Contact:

Re: Unpack Automation

Post by rockyone »

Thank you for sharing Mug UK
:cheers:
Post Reply

Return to “Applications”