rapid1337.com

SKID ROW – JUPITER MASTERDRIVE

2009-12-01 · [ code ] · by staff

;Loader used in the SKID ROW crack of "JUPITER MASTERDRIVE"

<-- Track Loader Prox | [ Code ]

[ read in diskmag ]


;Loader used in the SKID ROW crack of "JUPITER MASTERDRIVE"
;Unknown author, ripped by WK

; was called like this in the crack:-
;
;	movem.l d0-a6,-(sp)
;	movea.l (dword_164).l,a0 ; mfmbuff
;	movea.l (dword_174).l,a1 ; load addr
;	move.l  (dword_170).l,d0 ; disk offset
;	move.l  (dword_16C).l,d1 ; filesize
;	bsr.s   sub_6F428
;	moveq   #0,d0
;	tst.l   d0
;	movem.l (sp)+,d0-a6
;	rts

; ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ S U B R O U T I N E ヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲヲ

sub_6F428:
    lea     off_6F604(pc),a4
    move.l  a0,8(a4)
    move.l  a1,(a4)
    adda.l  d1,a1
    move.l  a1,4(a4)
    divu.w  #$1600,d0
    move.w  d0,$C(a4)
    swap    d0
    move.w  d0,$E(a4)
    lea     ($BFD100).l,a5
    lea     ($DFF000).l,a6
    bsr.s   sub_6F486
    bsr.s   sub_6F4A8

loc_6F456:
    bsr.s   sub_6F4D6
    move.l  4(a4),d0
    cmp.l   (a4),d0
    beq.s   locret_6F468
    addq.w  #1,$C(a4)
    bsr.s   sub_6F46A
    bra.s   loc_6F456

locret_6F468:
    rts

sub_6F46A:
    move.w  $C(a4),d0
    btst    #0,d0
    bne.s   locret_6F484
    bclr    #1,(a5)
    bclr    #0,(a5)
    nop
    bset    #0,(a5)
    bsr.s   sub_6F4CC

locret_6F484:
    rts

sub_6F486:
    move.b  #$7F,(a5)
    moveq   #3,d0
    bclr    d0,(a5)
    bset    #1,(a5)

loc_6F492:
    btst    #4,$F01(a5)
    beq.s   locret_6F484
    bclr    #0,(a5)
    nop
    bset    #0,(a5)
    bsr.s   sub_6F4CC
    bra.s   loc_6F492

sub_6F4A8:
    move.w  $C(a4),d0
    divu.w  #2,d0
    bclr    #1,(a5)
    tst.w   d0
    beq.s   locret_6F4CA
    subq.w  #1,d0

loc_6F4BA:
    bclr    #0,(a5)
    nop
    bset    #0,(a5)
    bsr.s   sub_6F4CC
    dbf     d0,loc_6F4BA

locret_6F4CA:
    rts

sub_6F4CC:
    move.w  #$F40,d7

loc_6F4D0:
    dbf     d7,loc_6F4D0
    rts

sub_6F4D6:
    move.w  $C(a4),d0
    btst    #0,d0
    bne.s   loc_6F4E6
    bset    #2,(a5)
    bra.s   loc_6F4EA

loc_6F4E6:
    bclr    #2,(a5)

loc_6F4EA:
    bsr.s   sub_6F55C
    move.l  4(a4),d3
    moveq   #0,d0
    move.w  $E(a4),d0
    clr.w   $E(a4)
    divu.w  #$200,d0
    swap    d0
    move.w  d0,$10(a4)
    swap    d0
    mulu.w  #$200,d0
    moveq   #0,d1
    add.l   d0,d1

loc_6F50E:
    moveq   #0,d2
    movea.l 8(a4),a0
    lea     unk_6F616(pc),a2

loc_6F518:
    cmp.w   (a2),d1
    beq.s   loc_6F522
    addq.l  #2,a2
    addq.w  #1,d2
    bra.s   loc_6F518

loc_6F522:
    mulu.w  #$200,d2
    adda.l  d2,a0
    adda.w  $10(a4),a0
    movea.l (a4),a1
    move.w  #$1FF,d2
    sub.w   $10(a4),d2
    clr.w   $10(a4)

loc_6F53A:
    move.b  (a0)+,(a1)+
    addq.l  #1,(a4)
;	addq.l  #1,(dword_170).l
    cmp.l   (a4),d3
    beq.s   locret_6F55A
    dbf     d2,loc_6F53A
    addi.l  #$200,d1
    cmpi.l  #$1600,d1
    bne.s   loc_6F50E

locret_6F55A:
    rts

sub_6F55C:
    btst    #5,$F01(a5)
    bne.s   sub_6F55C
    lea     ($DFF000).l,a6
    move.w  #$8210,$96(a6)
    move.w  #$4489,d4
    move.w  d4,$7E(a6)
    move.w  #$9500,$9E(a6)
    lea     $20(a6),a1
;	movea.l dword_6F60C,a0
;	move.l  a0,(a1)+
    lea	dword_6F60C(pc),a0
    move.l	(a0),d5
    move.l	d5,(a1)+
    move.w  #$4000,(a1)
    move.w  #$9900,(a1)
    move.w  #$9900,(a1)
    move.w  #2,$9C(a6)

loc_6F59A:
    btst    #1,$1F(a6)
    beq.s   loc_6F59A
    move.w  #$4000,(a1)
    moveq   #$A,d5
    movea.l a0,a1
    lea     unk_6F616(pc),a3

loc_6F5AE:
    cmp.w   (a1)+,d4
    bne.s   loc_6F5AE
    cmp.w   (a1),d4
    beq.s   loc_6F5AE
    move.l  #$55555555,d7
    move.l  (a1)+,d0
    move.l  (a1),d1
    and.l   d7,d0
    asl.l   #1,d0
    and.l   d7,d1
    or.l    d1,d0
    lsl.w   #1,d0
    andi.w  #$1E00,d0
    move.w  d0,(a3)+
    lea     (a0),a2
    lea     $34(a1),a1
    move.l  -4(a1),d2
    moveq   #$7F,d3

loc_6F5DC:
    move.l  $200(a1),d1
    eor.l   d1,d2
    move.l  (a1)+,d0
    eor.l   d0,d2
    and.l   d7,d0
    asl.l   #1,d0
    and.l   d7,d1
    or.l    d1,d0
    move.l  d0,(a2)+
    dbf     d3,loc_6F5DC
    and.l   d7,d2
    bne.w   sub_6F55C
    lea     $200(a0),a0
    dbf     d5,loc_6F5AE
    rts

; ---------------------------------------------------------------------------
off_6F604:
    dc.l 0
    dc.l 0
dword_6F60C:
    dc.l 0
    dc.w 0
    dc.w 0
    dc.w 0
unk_6F616:
    dc.w 0,0,0,0,0,0,0,0,0,0,0,0

#amiga #cracking #loaders


<-- Track Loader Prox | [ Code ] | Compilation Menu #2 + LoadSeg -->