;Entpackprg for Slavepack V1.3 ® Lyn×x of PANIC in '91. UnpackSlave: lea Data(pc),a0 ;Source lea $40000,a1 ;Dest move.l a1,-(a7) ;Jump to DestinationAddr after entpacking ? lea Ent(pc),a6 move.l (a0)+,d0 move.l (a0)+,d1 movem.l d1/a1,-(a7) move.l (a0)+,d5 move.l a1,a2 add.l d0,a0 add.l d1,a2 move.l -(a0),d0 eor.l d0,d5 moveq #8,d6 moveq #2,d7 move.l d7,a3 moveq #$c,d7 move.l d7,a4 moveq #1,d7 L1: lsr.l d7,d0 bne.s L2 move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 L2: bcs.s L9 move.l d6,d1 move.l d7,d3 lsr.l d7,d0 bne.s L3 move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 L3: bcs.L LB moveq #3,d1 moveq #0,d4 L4: sub d7,d1 moveq #0,d2 LG: lsr.l d7,d0 bne.s LH move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 LH: roxl.l d7,d2 dbf d1,LG move d2,d3 add d4,d3 L5: moveq #7,d1 L6: lsr.l d7,d0 bne.s L7 move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 L7: roxl.l d7,d2 dbf d1,L6 move.b d2,-(a2) dbf d3,L5 bra.s LD L8: move.l d6,d1 move.l d6,d4 bra.s L4 L9: move.l a3,d1 sub d7,d1 moveq #0,d2 LG2: lsr.l d7,d0 bne.s LH2 move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 LH2: roxl.l d7,d2 dbf d1,LG2 cmp.b 2(a6),d2 blt.s LA cmp.b 3(a6),d2 beq.s L8 move.l d6,d1 sub d7,d1 moveq #0,d2 LG3: lsr.l d7,d0 bne.s LH3 move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 LH3: roxl.l d7,d2 dbf d1,LG3 move d2,d3 move a4,d1 bra.s LB LA: moveq #9,d1 add d2,d1 add a3,d2 move d2,d3 LB: sub d7,d1 moveq #0,d2 LG4: lsr.l d7,d0 bne.s LH4 move.l -(a0),d0 eor.l d0,d5 move (a6),CCR roxr.l d7,d0 LH4: roxl.l d7,d2 dbf d1,LG4 LC: sub d7,a2 move.b (a2,d2.w),(a2) dbf d3,LC LD: ;move d2,$dff180 ;Decrunch effekt ! cmp.l a2,a1 blt.L L1 movem.l (a7)+,d0/a0 move.b (a0)+,d1 LE: move.b (a0),d2 add.b d1,(a0) move.b (a0)+,d1 add.b d1,d2 subq.l #1,d0 bne.s LE rts Ent: dc.b 0,$10,2,3 Data:blk.l 12345,0 ;Enter here the real length !