;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
0

Publication author

offline 5 hours

mus@shi9

0
Comments: 1160Publics: 2778Registration: 06-03-2017

Subscribe
Notify of
guest

4 Comments
Newest
Oldest
Inline Feedbacks
View all comments
morpa
7 years ago

Download isn’t working for this one

0
newton
14 years ago

…nerds!! 😀

0
WayneK
14 years ago

Why? I’m sure if you look closer you’ll see that’s actually a special delay loop that works on all 680×0 machines…
OK, maybe not… but this was on a 1990 crack, and I guess almost all loaders (including the original disk) had some shocking code like that 😛
My personal favourite is: divu.w #2,d0 :O

0
mr.spiv
14 years ago

I’ll slap them because of the subroutine at sub_6F4CC..

0
Authorization
*
*

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Registration
*
*
*

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Password generation

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

4
0
Would love your thoughts, please comment.x
()
x