summaryrefslogtreecommitdiff
path: root/asm/SDK/DVD/dvdidutils.s
blob: c73d605d27e4e4c9728f4ee0a8a3e6c7c9be60d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global DVDCompareDiskID
DVDCompareDiskID:
/* 8028CEEC 00288B4C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8028CEF0 00288B50  7C 08 02 A6 */	mflr r0
/* 8028CEF4 00288B54  90 01 00 14 */	stw r0, 0x14(r1)
/* 8028CEF8 00288B58  88 03 00 00 */	lbz r0, 0(r3)
/* 8028CEFC 00288B5C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8028CF00 00288B60  7C 9F 23 78 */	mr r31, r4
/* 8028CF04 00288B64  7C 00 07 75 */	extsb. r0, r0
/* 8028CF08 00288B68  93 C1 00 08 */	stw r30, 8(r1)
/* 8028CF0C 00288B6C  7C 7E 1B 78 */	mr r30, r3
/* 8028CF10 00288B70  41 82 00 28 */	beq lbl_8028CF38
/* 8028CF14 00288B74  88 04 00 00 */	lbz r0, 0(r4)
/* 8028CF18 00288B78  7C 00 07 75 */	extsb. r0, r0
/* 8028CF1C 00288B7C  41 82 00 1C */	beq lbl_8028CF38
/* 8028CF20 00288B80  38 A0 00 04 */	li r5, 4
/* 8028CF24 00288B84  4B F4 16 45 */	bl strncmp
/* 8028CF28 00288B88  2C 03 00 00 */	cmpwi r3, 0
/* 8028CF2C 00288B8C  41 82 00 0C */	beq lbl_8028CF38
/* 8028CF30 00288B90  38 60 00 00 */	li r3, 0
/* 8028CF34 00288B94  48 00 00 90 */	b lbl_8028CFC4
lbl_8028CF38:
/* 8028CF38 00288B98  88 1E 00 04 */	lbz r0, 4(r30)
/* 8028CF3C 00288B9C  7C 00 07 75 */	extsb. r0, r0
/* 8028CF40 00288BA0  41 82 00 28 */	beq lbl_8028CF68
/* 8028CF44 00288BA4  88 1F 00 04 */	lbz r0, 4(r31)
/* 8028CF48 00288BA8  7C 00 07 75 */	extsb. r0, r0
/* 8028CF4C 00288BAC  41 82 00 1C */	beq lbl_8028CF68
/* 8028CF50 00288BB0  38 7E 00 04 */	addi r3, r30, 4
/* 8028CF54 00288BB4  38 9F 00 04 */	addi r4, r31, 4
/* 8028CF58 00288BB8  38 A0 00 02 */	li r5, 2
/* 8028CF5C 00288BBC  4B F4 16 0D */	bl strncmp
/* 8028CF60 00288BC0  2C 03 00 00 */	cmpwi r3, 0
/* 8028CF64 00288BC4  41 82 00 0C */	beq lbl_8028CF70
lbl_8028CF68:
/* 8028CF68 00288BC8  38 60 00 00 */	li r3, 0
/* 8028CF6C 00288BCC  48 00 00 58 */	b lbl_8028CFC4
lbl_8028CF70:
/* 8028CF70 00288BD0  88 7E 00 06 */	lbz r3, 6(r30)
/* 8028CF74 00288BD4  28 03 00 FF */	cmplwi r3, 0xff
/* 8028CF78 00288BD8  41 82 00 20 */	beq lbl_8028CF98
/* 8028CF7C 00288BDC  88 1F 00 06 */	lbz r0, 6(r31)
/* 8028CF80 00288BE0  28 00 00 FF */	cmplwi r0, 0xff
/* 8028CF84 00288BE4  41 82 00 14 */	beq lbl_8028CF98
/* 8028CF88 00288BE8  7C 03 00 40 */	cmplw r3, r0
/* 8028CF8C 00288BEC  41 82 00 0C */	beq lbl_8028CF98
/* 8028CF90 00288BF0  38 60 00 00 */	li r3, 0
/* 8028CF94 00288BF4  48 00 00 30 */	b lbl_8028CFC4
lbl_8028CF98:
/* 8028CF98 00288BF8  88 7E 00 07 */	lbz r3, 7(r30)
/* 8028CF9C 00288BFC  28 03 00 FF */	cmplwi r3, 0xff
/* 8028CFA0 00288C00  41 82 00 20 */	beq lbl_8028CFC0
/* 8028CFA4 00288C04  88 1F 00 07 */	lbz r0, 7(r31)
/* 8028CFA8 00288C08  28 00 00 FF */	cmplwi r0, 0xff
/* 8028CFAC 00288C0C  41 82 00 14 */	beq lbl_8028CFC0
/* 8028CFB0 00288C10  7C 03 00 40 */	cmplw r3, r0
/* 8028CFB4 00288C14  41 82 00 0C */	beq lbl_8028CFC0
/* 8028CFB8 00288C18  38 60 00 00 */	li r3, 0
/* 8028CFBC 00288C1C  48 00 00 08 */	b lbl_8028CFC4
lbl_8028CFC0:
/* 8028CFC0 00288C20  38 60 00 01 */	li r3, 1
lbl_8028CFC4:
/* 8028CFC4 00288C24  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8028CFC8 00288C28  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8028CFCC 00288C2C  83 C1 00 08 */	lwz r30, 8(r1)
/* 8028CFD0 00288C30  7C 08 03 A6 */	mtlr r0
/* 8028CFD4 00288C34  38 21 00 10 */	addi r1, r1, 0x10
/* 8028CFD8 00288C38  4E 80 00 20 */	blr