Unpacker for "one-parter"

You can discus menu disks by all those classic ST hack & pack teams. If you have questions, requests or remarks about hackers, packers, screens or just menu disks in general, this is the place to be!

Moderators: Mug UK, bodkinz, Moderator Team

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Unpacker for "one-parter"

Postby Mug UK » Tue May 04, 2004 7:02 pm

I know I tried to unpack it with my old Multi Depacker but got nowhere .. has anyone ever written a tool to unpack all the files etc?

Artura (crap game!) on RetroGamer CD 3 this month has been "single-parted" using this tool :(
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

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Postby Mug UK » Tue May 04, 2004 7:06 pm

Should have explained what this "one-parter" was .. have attached it as well ...

For those not in the know, the "one-parter" was a good idea but badly implemented. Used by many of the wanna-be's (and that includes myself in the early days but before I knew what I know now!) in which you placed all the files for a game into a RAMDisk. e.g. game data needed 200K .. so create 200K RAMdisk. Copy game files into RAMdisk and run "ONEPART.PRG" .. out pops a single working .PRG file of the game.

Then the output .PRG would (when ran) create the RAMdisk, move the files into the RAMdisk and then install some kind of TRAP #1 loader to make the game look for the files in the RAMdisk instead of on the floppy drive.

You could then "pretend" you'd single-parted the game by packing it again with say JAM Packer 3/4 (which took a long time to unpack) and claim that the delay after unpacking was down to your amazing 68000 prowess in your relocation code for the game data (hahahaha!) .. ring any bells with anyone who ever saw Awesome disks? Look for the "PMK!" header after you've unpacked any "single-parted" game on some of their disks :)
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

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Postby Mug UK » Tue May 04, 2004 7:40 pm

Here's the Artura example .. plus the Easyrider .PAR file and a documented (so far!) source code of the One-parter header.

I take it back about the Trap #1 loader .. it just forces a drive-change so that the default drive is the RAM disk .. so long as a game doesn't try and change that, then the game will load its files from the RAMdrive and nowhere else.


Code: Select all

' Example One-parter header
'
' Target: Artura (from Retro Gamer 3 CD)
'
' Synopsis:  Program sets up a RAMdisk, writes FAT table to RAMdisk and then executes the
' files from RAMdisk by changing the default drive letter.  Only games that don't force this
' change will work in this method.  My mistake as thought it was a TRAP #1 re-director!!!
'
' I'm guessing that the FAT table is a straight byte-for-byte copy due to the way that the
' files are stored somewhere after the "KMP!" header.
'
' Over to the brains @ www.atari-forum.com to contine with
'
' MUG U.K(tm), May 2nd 2004


l0000   equ   begin-$3ffcc7ce
l0001   equ   begin-$17fdca94
l0002   equ   begin-$1fe8cfc
l0003   equ   begin-$1fe8cee
l0004   equ   begin-$1fe827e
l0005   equ   begin-$1fe8270
l0006   equ   begin-$1fe80ee
l0007   equ   begin-$1fe80e0
l0008   equ   begin-$1fe737c
l0009   equ   begin-$1fe736e
l000a   equ   begin-$1fe6b00
l000b   equ   begin-$1fe6af2



   text
begin
   jmp   mshrink(pc)

' header that denotes "One parter" was here :)

   dc.b   'PMK!v1.2'

' default drive letter - assuming A = 0, this is set up for D:

ramdisk_drive
   dc.b   0,3

l000d
   dc.b   0,$a,7,0
l000e
   dc.b   2,0,0,2,4,0,0,7
   dc.b   0,5,0,6,0,$12,1,'U'
   dc.b   0,0

' file to run after RAMdisk set up etc.

file2run
   dc.b   'DEMO1.PRG',0,0,0

null
   dc.b   0,0

l0011
   jmp   $fc0f96
l0012
   move.w   ramdisk_drive(pc),d0
   cmp.w   4(a7),d0
   bne.s   l0011
   moveq   #0,d0
   rts

l0013
   jmp   $fc0de6
l0014
   move.w   ramdisk_drive(pc),d0
   cmp.w   4(a7),d0
   bne.s   l0013
   lea   l000e(pc),a0
   move.l   a0,d0
   rts

l0015
   jmp   $fc10d2
l0016
   move.w   ramdisk_drive(pc),d0
   cmp.w   $e(a7),d0
   bne.s   l0015
   movea.l   l000d(pc),a0
   movea.l   6(a7),a1
   move.w   $c(a7),d1
   moveq   #9,d0
   asl.l   d0,d1
   adda.l   d1,a0
   move.w   $a(a7),d0
   move.l   a1,d2
   btst   #0,5(a7)
   bne.s   l0017
   exg   a0,a1
l0017
   btst   #0,d2
   bne.s   l0019
   asl.l   #7,d0
l0018
   move.l   (a1)+,(a0)+
   subq.l   #1,d0
   bne.s   l0018
   rts

l0019
   moveq   #9,d1
   asl.l   d1,d0
l001a
   move.b   (a1)+,(a0)+
   subq.l   #1,d0
   bne.s   l001a
   rts

' Set up a few system variables to point in right direction!
'
' $472  L     hdv_bpb     Hard disk bpb vector, else 0
' $476  L     hdv_rw      Hard disk read/write vector, else 0
' $47E  L     hdv_mediach Hard disk media change vector else, 0
' $4C2  L     _drvbits    32 bit vector of live block devices


exec_in_super

' hdv_rw now at L0015(pc)

   lea   l0015(pc),a0
   move.l   $476.l,2(a0)

' hdv_bpb now at L0013(pc)

   lea   l0013(pc),a0
   move.l   $472.l,2(a0)

' hdv_mediach now at L0011(pc)

   lea   l0011(pc),a0
   move.l   $47e.l,2(a0)

' hdv_rw now at L0016(pc)

   lea   l0016(pc),a0
   move.l   a0,$476.l

' hdv_bpb now at L0014(pc)
   lea   l0014(pc),a0
   move.l   a0,$472.l

' hdv_mediach now at L0012(pc)
   lea   l0012(pc),a0
   move.l   a0,$47e.l

' check _drvbits
   move.l   $4c2.l,d0
   move.l   d0,d2
   bset   #2,d0
   moveq   #0,d1
l001c
   lsr.l   #1,d0
   bcc.s   l001d
   addq.w   #1,d1
   bra.s   l001c
l001d
   bset   d1,d2

   lea   ramdisk_drive(pc),a0
   move.w   d1,(a0)
   move.l   d2,$4c2.l
   move.l   a4,d2
   clr.b   d2
   move.l   d2,$436.l
   rts

l001e
   pea   exec_in_super(pc)
   move.w   #$26,-(a7)      ;supexec
   trap   #$e
   addq.l   #6,a7
   move.w   #2,-(a7)
   move.w   #1,-(a7)      ;bconstat
   trap   #$d
   addq.l   #4,a7
   tst.w   d0
   beq.s   set_new_drive
   move.w   #2,-(a7)
   move.w   #2,-(a7)      ;bconin
   trap   #$d
   addq.l   #4,a7
   cmpi.b   #$1b,d0
   beq.s   close_after_pexc

set_new_drive
   move.w   ramdisk_drive(pc),-(a7)
   move.w   #$e,-(a7)      ;dsetdrv
   trap   #1
   addq.l   #4,a7

' Load and Go the file we want to run

   pea   null(pc)
   pea   null(pc)
   pea   file2run(pc)
   move.w   #0,-(a7)
   move.w   #$4b,-(a7)      ;pexec
   trap   #1
   lea   $e(a7),a7

' Terminate but stay resident

close_after_pexc
   clr.w   -(a7)
   clr.l   -(a7)
   move.w   #$31,-(a7)      ;ptermres
   trap   #1

' Subroutines:

create_ram
   move.l   d0,-(a7)
   move.w   #$48,-(a7)      ;malloc
   trap   #1
   addq.l   #6,a7
   rts

free_up_ram
   move.l   d0,-(a7)
   move.w   #$49,-(a7)      ;mfree
   trap   #1
   addq.l   #6,a7
   rts

mshrink
   movea.l   4(a7),a6
   move.l   $c(a6),d1
   movea.l   a6,a3
   move.l   #$100,d0
   adda.l   d0,a6
   movea.l   a6,a5
   adda.l   d1,a6

   move.l   d0,-(a7)
   move.l   a3,-(a7)
   clr.w   -(a7)
   move.w   #$4a,-(a7)      ;mshrink
   trap   #1
   lea   $c(a7),a7
   clr.l   d0
   subq.l   #1,d0

   bsr.s   create_ram
   move.l   d0,d6

   bsr.s   create_ram
   move.l   d0,d5

   add.l   d6,d0
   movea.l   d0,a4
   suba.l   #$100,a4

   move.l   -(a6),d1
   tst.l   d1
   beq.s   l0025

clear_out_memory
   clr.l   -(a4)
   subq.l   #1,d1
   bne.s   clear_out_memory

l0025
   move.b   -(a6),d2
   tst.b   d2
   beq.s   l0025
   bra.s   l0027
l0026
   move.b   d0,-(a4)
l0027
   move.b   -(a6),d0
   cmp.b   d0,d2
   bne.s   l0026
   clr.w   d1
   move.b   -(a6),d1
   subq.w   #1,d1
   blt.s   l0026
   beq.s   l0029
   move.b   -(a6),d0
l0028
   move.b   d0,-(a4)
   subq.b   #1,d1
   bne.s   l0028
   beq.s   l0026
l0029
   lea   l000d(pc),a1
   move.l   a4,(a1)
l002a
   move.b   -(a6),-(a4)
   cmpa.l   a6,a5
   bne   l002a
   move.l   d5,d0
   bsr   free_up_ram
   move.l   a4,d0
   clr.b   d0
   move.l   d0,d4
   sub.l   d5,d0
   bsr   create_ram
   move.l   d5,d0
   add.l   d6,d0
   sub.l   d4,d0
   bsr   create_ram
   move.l   d5,d0
   bsr   free_up_ram
   lea   l001e(pc),a1
   adda.l   a4,a1
   suba.l   a5,a1
   jmp   (a1)
   dc.b   '!KMP',1,$a6,0,$ff
   dc.b   $a6,0,$ff,$a6,0,5,$a6,3
   dc.b   '@',0,5,'`',0,$ff,$8f,0
   dc.b   9,$a0,0,$b,$c0,0,$d,$e0
   dc.b   0,$f,0,1,$11,' ',1,$13
   dc.b   '@',1,$15,'`',1,$17,$80,1
   dc.b   $19,$a0,1,$1b,$c0,1,$1d,$e0
   dc.b   1,$1f,0,2,'! ',2,'#'
   dc.b   '@',2,'%`',2,$27,$80,2
   dc.b   ')',$a0,2,'+',$c0,2,'-',$e0
   dc.b   2,'/',0,3,'1 ',3,$ff
   dc.b   'O',3,'5`',3,'7',$80,3
   dc.b   '9',$a0,3,';',$c0,3,'=',$e0
   dc.b   3,'?',0,4,'A ',4,'C'
   dc.b   '@',4,'E`',4,'G',$80,4
   dc.b   'I',$a0,4,'K',$c0,4,'M',$e0
   dc.b   4,'O',0,5,'Q ',5,$ff
   dc.b   'O',5,'U`',5,'W',$80,5
   dc.b   'Y',$a0,5,'[',$c0,5,']',$e0
   dc.b   5,'_',0,6,'a ',6,'c'
   dc.b   '@',6,'e`',6,'g',$80,6
   dc.b   'i',$a0,6,'k',$c0,6,'m',$e0
   dc.b   6,'o',0,7,'q ',7,$ff
   dc.b   'O',7,'u`',7,'w',$80,7
   dc.b   'y',$a0,7,'{',$c0,7,'}',$e0
   dc.b   7,$7f,0,8,$81,' ',8,$83
   dc.b   '@',8,$85,'`',8,$87,$80,8
   dc.b   $89,$a0,8,$8b,$c0,8,$8d,$e0
   dc.b   8,$8f,0,9,$91,' ',9,$ff
   dc.b   'O',9,$95,'`',9,$97,$80,9
   dc.b   $99,$a0,9,$9b,$c0,9,$9d,$e0
   dc.b   9,$9f,0,$a,$a1,' ',$a,$a3
   dc.b   '@',$a,$a5,'`',$a,$a7,$80,$a
   dc.b   $a9,$a0,$a,$ab,$c0,$a,$ad,$e0
   dc.b   $a,$af,0,$b,$b1,' ',$b,$ff
   dc.b   'O',$b,$b5,'`',$b,$b7,$80,$b
   dc.b   $b9,$a0,$b,$bb,$c0,$b,$bd,$e0
   dc.b   $b,$bf,0,$c,$c1,' ',$c,$c3
   dc.b   '@',$c,$c5,'`',$c,$c7,$80,$c
   dc.b   $c9,$a0,$c,$cb,$c0,$c,$cd,$e0
   dc.b   $c,$cf,0,$d,$d1,' ',$d,$ff
   dc.b   'O',$d,$d5,'`',$d,$d7,$80,$d
   dc.b   $d9,$a0,$d,$db,$c0,$d,$dd,$e0
   dc.b   $d,$df,0,$e,$e1,' ',$e,$e3
   dc.b   '@',$e,$e5,'`',$e,$e7,$80,$e
   dc.b   $e9,$a0,$e,$eb,$c0,$e,$ed,$e0
   dc.b   $e,$ef,0,$f,$f1,' ',$f,$ff
   dc.b   $f,0,$ff,$a6,0,$ff,$a6,0
   dc.b   $ff,$a6,0,$ff,$a6,0,$ff,$a6
   dc.b   0,$ff,$a6,0,$ff,$a6,0,$ff
   dc.b   $a6,0,$9e,$a6,3,'@',0,5
   dc.b   '`',0,$ff,$8f,0,9,$a0,0
   dc.b   $b,$c0,0,$d,$e0,0,$f,0
   dc.b   1,$11,' ',1,$13,'@',1,$15
   dc.b   '`',1,$17,$80,1,$19,$a0,1
   dc.b   $1b,$c0,1,$1d,$e0,1,$1f,0
   dc.b   2,'! ',2,'#@',2,'%'
   dc.b   '`',2,$27,$80,2,')',$a0,2
   dc.b   '+',$c0,2,'-',$e0,2,'/',0
   dc.b   3,'1 ',3,$ff,'O',3,'5'
   dc.b   '`',3,'7',$80,3,'9',$a0,3
   dc.b   ';',$c0,3,'=',$e0,3,'?',0
   dc.b   4,'A ',4,'C@',4,'E'
   dc.b   '`',4,'G',$80,4,'I',$a0,4
   dc.b   'K',$c0,4,'M',$e0,4,'O',0
   dc.b   5,'Q ',5,$ff,'O',5,'U'
   dc.b   '`',5,'W',$80,5,'Y',$a0,5
   dc.b   '[',$c0,5,']',$e0,5,'_',0
   dc.b   6,'a ',6,'c@',6,'e'
   dc.b   '`',6,'g',$80,6,'i',$a0,6
   dc.b   'k',$c0,6,'m',$e0,6,'o',0
   dc.b   7,'q ',7,$ff,'O',7,'u'
   dc.b   '`',7,'w',$80,7,'y',$a0,7
   dc.b   '{',$c0,7,'}',$e0,7,$7f,0
   dc.b   8,$81,' ',8,$83,'@',8,$85
   dc.b   '`',8,$87,$80,8,$89,$a0,8
   dc.b   $8b,$c0,8,$8d,$e0,8,$8f,0
   dc.b   9,$91,' ',9,$ff,'O',9,$95
   dc.b   '`',9,$97,$80,9,$99,$a0,9
   dc.b   $9b,$c0,9,$9d,$e0,9,$9f,0
   dc.b   $a,$a1,' ',$a,$a3,'@',$a,$a5
   dc.b   '`',$a,$a7,$80,$a,$a9,$a0,$a
   dc.b   $ab,$c0,$a,$ad,$e0,$a,$af,0
   dc.b   $b,$b1,' ',$b,$ff,'O',$b,$b5
   dc.b   '`',$b,$b7,$80,$b,$b9,$a0,$b
   dc.b   $bb,$c0,$b,$bd,$e0,$b,$bf,0
   dc.b   $c,$c1,' ',$c,$c3,'@',$c,$c5
   dc.b   '`',$c,$c7,$80,$c,$c9,$a0,$c
   dc.b   $cb,$c0,$c,$cd,$e0,$c,$cf,0
   dc.b   $d,$d1,' ',$d,$ff,'O',$d,$d5
   dc.b   '`',$d,$d7,$80,$d,$d9,$a0,$d
   dc.b   $db,$c0,$d,$dd,$e0,$d,$df,0
   dc.b   $e,$e1,' ',$e,$e3,'@',$e,$e5
   dc.b   '`',$e,$e7,$80,$e,$e9,$a0,$e
   dc.b   $eb,$c0,$e,$ed,$e0,$e,$ef,0
   dc.b   $f,$f1,' ',$f,$ff,$f,0,$ff
   dc.b   $a6,0,$ff,$a6,0,$ff,$a6,0
   dc.b   $ff,$a6,0,$ff,$a6,0,$ff,$a6
   dc.b   0,$ff,$a6,0,$ff,$a6,0,$9b
   dc.b   $a6,'DEMO ',4,$a6
   dc.b   'DAT',0,$b,$a6,'!',0
   dc.b   'F',$c,2,0,0,$14,0,0
   dc.b   'DEMO1   '
   dc.b   'PRG',0,$b,$a6,'"',0
   dc.b   'F',$c,7,0,0,$b0,0,0
   dc.b   'GRAPHIC0'
   dc.b   'NEO',0,$b,$a6,'$',0
   dc.b   'F',$c,'3',0,$80,'}',0,0
   dc.b   'GRAPHIC1'
   dc.b   'NEO',0,$b,$a6,'&',0
   dc.b   'F',$c,'S',0,$80,'}',0,0
   dc.b   'GRAPHIC2'
   dc.b   'NEO',0,$b,$a6,'(',0
   dc.b   'F',$c,'s',0,$80,'}',0,0
   dc.b   'GRAPHIC3'
   dc.b   'NEO',0,$b,$a6,'*',0
   dc.b   'F',$c,$93,0,$80,'}',0,0
   dc.b   'GRAPHIC4'
   dc.b   'NEO',0,$b,$a6,',',0
   dc.b   'F',$c,$b3,0,$80,'}',0,0
   dc.b   'GRAPHIC5'
   dc.b   'NEO',0,$b,$a6,'-',0
   dc.b   'F',$c,$d3,0,$80,'}',0,0
   dc.b   $e5,'ITLE   '
   dc.b   'NEO',0,$b,$a6,'/',0
   dc.b   'F',$c,$f3,0,$80,'}',0,$ff
   dc.b   $a6,0,$ff,$a6,0,$ff,$a6,0
   dc.b   $ff,$a6,0,$ff,$a6,0,$ff,$a6
   dc.b   0,$ff,$a6,0,$ff,$a6,0,$ff
   dc.b   $a6,0,$ff,$a6,0,$ff,$a6,0
   dc.b   $ff,$a6,0,$ef,$a6,1,8,9
   dc.b   $10,4,0,3,$10,1,0,3
   dc.b   $10,1,0,3,$10,1,0,3
   dc.b   $10,1,0,2,$10,3,0,2
   dc.b   $10,1,0,3,$10,2,0,2
   dc.b   $10,2,0,3,$10,2,0,2
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,3,0,3,$10,3,0,2
   dc.b   $10,3,0,5,8,'7',1,$c
   dc.b   0,$19,4,6,0,6,1,2
   dc.b   0,$1d,4,$15,$14,1,4,5
   dc.b   $14,2,4,'"',$14,3,4,'/'
   dc.b   0,$10,$10,3,0,2,$10,2
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,2,$10,3
   dc.b   0,2,$10,3,0,2,$10,4
   dc.b   0,3,$10,3,0,2,$10,2
   dc.b   0,2,$10,4,0,2,$10,4
   dc.b   0,2,$10,3,0,3,$10,3
   dc.b   0,3,$10,5,0,1,$10,4
   dc.b   0,2,$10,3,0,3,$10,4
   dc.b   0,4,4,$ff,0,$12,$10,4
   dc.b   0,2,$10,5,0,2,$10,3
   dc.b   0,3,$10,3,0,2,$10,3
   dc.b   0,1,$10,4,0,2,$10,3
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,3,$10,3,0,2,$10,4
   dc.b   0,2,8,3,0,1,$10,4
   dc.b   0,3,$10,4,0,2,$10,4
   dc.b   0,2,$10,3,0,3,$10,3
   dc.b   0,2,$10,4,0,4,4,5
   dc.b   0,8,$10,4,0,9,$10,3
   dc.b   0,3,$10,3,0,1,$10,3
   dc.b   0,2,$10,3,4,'G',8,$10
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,3,$10,2
   dc.b   0,2,$10,3,0,3,$10,3
   dc.b   0,3,$10,2,0,3,$10,1
   dc.b   0,3,$10,2,0,3,$10,3
   dc.b   0,2,$10,5,0,1,$10,3
   dc.b   0,2,$10,3,0,3,$10,3
   dc.b   0,3,$10,2,0,2,$10,3
   dc.b   0,2,$10,4,0,2,$10,3
   dc.b   0,3,$10,3,0,2,$10,5
   dc.b   0,2,$10,3,0,2,$10,3
   dc.b   0,2,$10,5,0,1,$10,4
   dc.b   0,2,$10,3,0,3,$10,3
   dc.b   0,2,$10,3,0,3,$10,4
   dc.b   0,1,$10,3,0,2,$10,4
   dc.b   0,2,8,'%',9,5,8,$c8
   dc.b   9,6,8,'%',9,6,8,'U'
   dc.b   0,4,$10,3,0,2,$10,2
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,2,$10,3,0,2,4,5
   dc.b   0,1,$10,3,0,8,$10,3
   dc.b   0,3,8,4,0,1,$10,3
   dc.b   0,$11,8,'3',2,2,4,'#'
   dc.b   6,1,2,2,8,$17,0,9
   dc.b   4,$12,0,1,1,1,8,'^'
   dc.b   0,4,$10,3,0,3,$10,1
   dc.b   0,4,$10,1,0,3,$10,1
   dc.b   0,$13,$10,1,0,4,$10,2
   dc.b   0,3,$10,2,0,8,$10,2
   dc.b   0,4,$10,2,0,3,$10,1
   dc.b   0,5,$10,1,0,4,$10,2
   dc.b   0,4,$10,1,0,3,8,$e
   dc.b   0,'=',$10,2,0,2,$10,3
   dc.b   0,3,$10,2,0,2,$10,3
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,3,$10,2,0,3,$10,3
   dc.b   0,2,$10,3,0,2,$10,3
   dc.b   0,3,$10,2,0,$1d,8,'('
   dc.b   0,8,4,$15,0,'"',8,3
   dc.b   0,4,$10,3,0,2,$10,2
   dc.b   0,2,$10,3,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,3,$10,2,0,2,$10,3
   dc.b   0,3,$10,2,0,2,$10,3
   dc.b   0,3,$10,1,0,1,8,'~'
   dc.b   2,2,0,$a,8,$1c,2,2
   dc.b   4,$13,0,5,$10,3,0,3
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,3,0,2,$10,3,0,2
   dc.b   $10,6,0,$e,4,'r',0,1
   dc.b   2,7,0,3,$10,3,0,2
   dc.b   $10,2,0,3,$10,2,0,2
   dc.b   $10,3,0,2,$10,2,0,2
   dc.b   $10,3,0,3,$10,2,0,2
   dc.b   $10,3,0,2,$10,3,0,3
   dc.b   $10,3,0,2,$10,2,0,2
   dc.b   $10,3,0,3,$10,3,0,3
   dc.b   $10,3,0,2,$10,4,0,'$'
   dc.b   $10,6,0,9,$10,6,0,7
   dc.b   4,'^',0,1,$10,3,0,3
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,2,0,3,$10,4,0,3
   dc.b   $10,1,0,4,$10,2,0,3
   dc.b   $10,1,0,3,$10,2,0,3
   dc.b   $10,3,0,3,$10,2,0,$16
   dc.b   4,$80,0,$b,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,2
   dc.b   $10,1,0,2,$10,2,0,1
   dc.b   $10,2,0,1,$10,3,0,1
   dc.b   $10,2,0,1,$10,2,0,2
   dc.b   $10,1,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,1,0,3
   dc.b   $10,1,0,$f,2,4,0,4
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,3,0,1,$10,3,0,2
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,3,0,4,$10,1,0,2
   dc.b   $10,3,0,2,$10,3,0,2
   dc.b   $10,3,0,2,$10,3,0,2
   dc.b   $10,3,0,1,$10,3,0,4
   dc.b   4,2,0,6,$10,3,0,8
   dc.b   4,4,0,3,$10,3,0,3
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,1,0,3,$10,2,0,3
   dc.b   $10,1,0,3,$10,2,0,3
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,2,0,2,$10,2,0,3
   dc.b   $10,3,0,2,$10,2,0,2
   dc.b   $10,4,0,4,4,',',0,1
   dc.b   $10,3,0,2,$10,2,0,3
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,2,0,2,$10,3,0,2
   dc.b   $10,3,0,2,$10,3,0,$d
   dc.b   4,'w',1,1,0,$a,4,'+'
   dc.b   8,$12,0,4,1,6,0,$1c
   dc.b   4,7,0,4,1,1,0,$e
   dc.b   8,$10,0,5,1,3,0,$11
   dc.b   4,'(',0,2,8,'9',0,7
   dc.b   2,9,$a,5,$1a,6,$a,5
   dc.b   $1a,3,$a,9,2,2,0,6
   dc.b   8,'0',0,$c,8,7,0,6
   dc.b   8,3,0,9,$10,2,0,1
   dc.b   $10,3,0,1,$10,2,0,1
   dc.b   $10,2,0,2,$10,1,0,2
   dc.b   $10,1,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,1,0,2
   dc.b   $10,2,0,1,$10,2,0,2
   dc.b   $10,2,0,1,$10,2,0,1
   dc.b   $10,2,0,2,$10,1,0,2
   dc.b   $10,2,0,2,$10,1,0,2
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,1,0,3,$10,1,0,2
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,1,0,3,$10,1,0,3
   dc.b   $10,1,0,$17,8,4,9,7
   dc.b   8,$1e,9,5,8,'6',0,4
   dc.b   4,$e,5,6,4,'3',5,4
   dc.b   4,'4',0,9,$10,1,0,3
   dc.b   $10,1,0,4,$10,2,0,1
   dc.b   $10,2,0,1,$10,2,0,1
   dc.b   $10,2,0,1,$10,2,0,1
   dc.b   $10,2,0,1,$10,3,0,1
   dc.b   $10,2,0,1,$10,2,0,1
   dc.b   $10,2,0,1,$10,2,0,2
   dc.b   $10,1,0,2,$10,1,0,2
   dc.b   $10,1,0,2,$10,1,0,2
   dc.b   $10,1,0,6,$10,1,0,2
   dc.b   $10,1,0,2,$10,1,0,2
   dc.b   $10,2,0,$17,4,'$',5,4
   dc.b   4,$18,0,$d,4,$16,0,1
   dc.b   8,'.',4,'&',6,1,2,2
   dc.b   8,$1f,$a,1,2,2,8,'@'
   dc.b   0,3,$10,2,0,2,$10,3
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,2,$10,1,0,4,$10,1
   dc.b   0,4,$10,2,0,2,$10,2
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,$b,$18,2,8,'\',0,1
   dc.b   4,5,$10,4,0,3,$10,1
   dc.b   0,3,$10,2,0,3,$10,1
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,2,$10,3,0,2,$10,2
   dc.b   0,3,$10,3,0,$b,8,'O'
   dc.b   $18,2,8,4,$18,1,8,'_'
   dc.b   0,6,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,3
   dc.b   0,2,$10,4,0,$c,$10,2
   dc.b   0,4,$10,2,0,4,$10,4
   dc.b   0,3,$10,3,0,$a,8,$1b
   dc.b   9,4,8,'5',9,4,8,$14
   dc.b   0,$a,8,'|',0,$11,8,9
   dc.b   0,1,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,3,$10,2
   dc.b   0,2,$10,3,0,2,$10,4
   dc.b   0,2,8,'w',0,'#',4,4
   dc.b   0,7,8,3,9,1,0,$1b
   dc.b   9,1,1,1,0,'+',4,'*'
   dc.b   5,5,4,$10,0,5,8,9
   dc.b   0,1,4,$c,8,$b,0,1
   dc.b   4,$12,0,1,8,1,4,3
   dc.b   8,$e,4,7,0,2,$10,3
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,2,$10,3,0,2,$10,3
   dc.b   0,2,$10,3,0,$c,4,'n'
   dc.b   0,1,$10,3,0,3,$10,3
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,3,$10,3,0,3,$10,1
   dc.b   0,4,$10,1,0,8,$10,3
   dc.b   0,3,$10,3,0,3,$10,2
   dc.b   0,2,$10,3,0,3,$10,3
   dc.b   0,2,4,7,$14,6,4,3
   dc.b   $14,3,4,'K',1,4,0,6
   dc.b   8,'W',9,5,8,$9f,0,$a
   dc.b   8,$17,0,$e,$10,6,0,1
   dc.b   $10,2,0,1,$10,2,0,2
   dc.b   $10,1,0,2,$10,1,0,2
   dc.b   $10,2,0,2,$10,1,0,2
   dc.b   $10,2,0,1,$10,2,0,1
   dc.b   $10,6,0,1,$10,2,0,1
   dc.b   $10,2,0,1,$10,2,0,2
   dc.b   $10,1,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,1,$10,2,0,2
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,1,0,2,$10,2,0,1
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,1,0,3,$10,1,0,2
   dc.b   $10,2,0,1,$10,3,0,1
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,1,0,3,$10,1,0,2
   dc.b   $10,2,0,1,$10,3,0,1
   dc.b   $10,2,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,2
   dc.b   $10,1,0,3,$10,1,0,2
   dc.b   $10,2,0,2,$10,2,0,2
   dc.b   $10,1,0,2,$10,1,0,3
   dc.b   $10,1,0,2,$10,2,0,2
   dc.b   $10,2,0,2,$10,1,0,'S'
   dc.b   2,9,$a,$a,$1a,3,$a,3
   dc.b   $1a,2,$a,3,$1a,2,$a,3
   dc.b   $1a,2,$a,3,$1a,3,$a,3
   dc.b   $1a,2,$a,7,8,5,9,7
   dc.b   8,'%',9,4,8,$15,0,1
   dc.b   4,4,0,2,$10,3,0,2
   dc.b   $10,2,0,3,$10,2,0,2
   dc.b   $10,2,0,3,$10,3,0,2
   dc.b   $10,3,0,2,$10,2,0,3
   dc.b   $10,3,0,7,8,$1a,4,8
   dc.b   6,$15,4,1,0,$1c,$10,3
   dc.b   0,$e,$10,2,0,2,$10,2
   dc.b   0,3,$10,1,0,2,$10,2
   dc.b   0,3,$10,1,0,3,$10,2
   dc.b   0,1,$10,3,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,1,$10,3
   dc.b   0,3,$10,1,0,3,$10,3
   dc.b   0,1,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,1,$10,3,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,2,0,1,$10,3
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,1,$10,3,0,2,$10,3
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,9,$10,3,0,2,$10,2
   dc.b   0,$15,$10,3,0,2,$10,1
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,$d,$10,2,0,2,$10,2
   dc.b   0,2,$10,1,0,2,$10,2
   dc.b   0,1,$10,3,0,2,$10,1
   dc.b   0,3,$10,2,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,2,$10,2,0,2,$10,3
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,2,$10,2,0,3,$10,2
   dc.b   0,3,$10,3,0,1,$10,3
   dc.b   0,2,$10,3,0,2,$10,3
   dc.b   0,'R',4,$f,0,9,4,$13
   dc.b   0,7,4,9,0,$f,4,9
   dc.b   5,6,4,$13,0,7,4,'!'
   dc.b   5,6,4,'Y',0,4,4,'5'
   dc.b   2,9,6,6,$16,4,6,4
   dc.b   $16,3,6,8,$16,4,6,$1a
   dc.b   $16,2,6,3,$16,2,6,3
   dc.b   $16,2,6,4,$16,2,6,3
   dc.b   $16,2,6,4,$16,3,6,4
   dc.b   $16,3,6,5,$16,2,6,4
   dc.b   $16,3,6,9,4,'(',5,5
   dc.b   4,$9f,0,$b,4,'7',0,' '
   dc.b   8,8,4,5,5,6,4,$13
   dc.b   0,' ',8,4,0,$12,2,6
   dc.b   $12,4,2,$e,0,3,2,9
   dc.b   $12,4,2,3,$12,4,2,2
   dc.b   $12,3,2,4,$12,2,2,3
   dc.b   $12,3,2,2,$12,5,2,7
   dc.b   0,5,4,7,5,1,4,$e
   dc.b   0,$1a,4,6,0,$e,4,$a
   dc.b   0,$11,2,$f,$12,3,2,3
   dc.b   $12,1,2,4,$12,2,2,3
   dc.b   $12,2,2,2,$12,2,2,3
   dc.b   $12,3,2,3,$12,3,2,3
   dc.b   $12,3,2,2,6,4,$16,3
   dc.b   6,4,$16,2,6,4,$16,2
   dc.b   6,4,$16,3,6,3,$16,2
   dc.b   6,4,$16,3,6,3,$16,2
   dc.b   6,3,$16,3,6,3,$16,4
   dc.b   6,3,$16,3,6,3,$16,3
   dc.b   6,3,$16,3,6,3,$16,3
   dc.b   6,1,4,',',$14,4,4,'H'
   dc.b   0,9,4,$80,0,$11,4,'$'
   dc.b   5,6,4,'$',0,$10,4,5
   dc.b   0,$10,$10,3,0,1,$10,2
   dc.b   0,2,$10,1,0,2,$10,1
   dc.b   0,3,$10,1,0,2,$10,1
   dc.b   0,2,$10,2,0,1,$10,2
   dc.b   0,1,$10,3,0,1,$10,2
   dc.b   0,2,$10,1,0,2,$10,1
   dc.b   0,3,$10,1,0,2,$10,2
   dc.b   0,1,$10,2,0,2,$10,2
   dc.b   0,2,$10,2,0,2,$10,1
   dc.b   0,3,$10,1,0,2,$10,1
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,1,0,3,$10,1
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,1,0,3,$10,2
   dc.b   0,3,$10,1,0,3,$10,1
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,2,$10,1,0,3,$10,2
   dc.b   0,2,$10,2,0,6,$10,2
   dc.b   0,2,$10,2,0,3,$10,1
   dc.b   0,2,$10,2,0,2,$10,2
   dc.b   0,3,$10,1,0,2,$10,2
   dc.b   0,3,$10,1,0,3,$10,1
   dc.b   0,2,$10,1,0,2,$10,2
   dc.b   0,$18,4,'#',0,$1c,8,4
   dc.b   0,'|',$80,'u',0,'@',8,2
   dc.b   0,$10,8,1,0,'D',4,2
   dc.b   0,$e,$10,$b,0,$b,8,1
   dc.b   0,1
   end
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

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Postby Mug UK » Tue May 04, 2004 7:43 pm

What would be nice is a tool similar to the old Cameo deprotectors ..

e.g. you point the tool at a one-parter file and it goes through the motions and before the target program is run, it either:-

drops to the desktop so you can extract the files

or

extracts the files for you ?


How about it?
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

User avatar
Grazey / PHF
Captain Atari
Captain Atari
Posts: 487
Joined: Fri Jun 21, 2002 12:50 pm
Location: Montreal, Quebec
Contact:

Postby Grazey / PHF » Tue May 04, 2004 8:27 pm

Mug
Yeah, I remember Pampuk or whatever it was called.
Simply trace it in MonST, when it tries to do a PEXEC.. control C out. Check the d: drive , in it you'll find all the files.

Grz
http://phf.atari.org - demo coders since 1983
http://sndh.atari.org - Maintainer of the Atari ST chip music archive
http://www.scenemusic.net - Nectarine Administrator

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Postby Mug UK » Tue May 04, 2004 8:34 pm

D'oh .. didn't think of that at all .. what a pillock!

So an auto-booting CD with Toxic MONST and the example target .. never thought of stopping it at the P_EXEC .. I was always trying to trace the JMP (A1) part etc.

Mind you .. and in theory .. couldn't the guy who wrote that MSA tool write one to extract the files from within PAMPUK file as I'm assuming the code will be there to read in FAT tables etc?
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

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Postby Mug UK » Tue May 04, 2004 10:18 pm

Here's a working disk image with MonST on it in the AUTO folder.

Also done a quick tutorial to go with it .. if anyone spots any errors in the tutorial, then let me know and I'll fix them.

If you've got this months Retro Gamer 3, then you'll find it will work on the ARTURA.PRG file and you should end up with a DEMO1.PRG, DEMO.DAT and several .NEO picture files if you follow the tutorial through.

Have fun ..
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

User avatar
Patrice Mandin
Atari User
Atari User
Posts: 35
Joined: Mon Aug 09, 2004 7:06 pm
Location: France
Contact:

You can tell pampuk ramdisk to quit before running program

Postby Patrice Mandin » Mon Aug 29, 2005 12:33 pm

Hello, as I got some game packed using pampuk ramdisk saver (+ program runner). I remember there was a key to press to get back to gem.

In fact, just press 'ESC' 2 or 3 times while the program is being run (don't use an accelerated emu, or you'll skip the point where the esc key is tested). And you'll got a nice ramdisk waiting to you in one of your gemdos drives.
Linux and Atari coder
Development tools, games

User avatar
Mug UK
Administrator
Administrator
Posts: 11175
Joined: Thu Apr 29, 2004 7:16 pm
Location: Stockport (UK)
Contact:

Re: Unpacker for "one-parter"

Postby Mug UK » Tue May 12, 2015 4:50 pm

Phew! I thought I'd lost this Pampuk ripper. Glad it's still on the forum after 11 years :)
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


Social Media

     

Return to “Menu Disks”

Who is online

Users browsing this forum: No registered users and 4 guests