mirror of https://github.com/PrimeDecomp/prime.git
75 lines
3.3 KiB
ArmAsm
75 lines
3.3 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
.global DVDCompareDiskID
|
|
DVDCompareDiskID:
|
|
/* 80374C48 00371BA8 7C 08 02 A6 */ mflr r0
|
|
/* 80374C4C 00371BAC 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80374C50 00371BB0 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80374C54 00371BB4 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80374C58 00371BB8 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 80374C5C 00371BBC 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 80374C60 00371BC0 7C 7E 1B 78 */ mr r30, r3
|
|
/* 80374C64 00371BC4 88 03 00 00 */ lbz r0, 0(r3)
|
|
/* 80374C68 00371BC8 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80374C6C 00371BCC 41 82 00 30 */ beq lbl_80374C9C
|
|
/* 80374C70 00371BD0 88 1F 00 00 */ lbz r0, 0(r31)
|
|
/* 80374C74 00371BD4 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80374C78 00371BD8 41 82 00 24 */ beq lbl_80374C9C
|
|
/* 80374C7C 00371BDC 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 80374C80 00371BE0 38 9F 00 00 */ addi r4, r31, 0
|
|
/* 80374C84 00371BE4 38 A0 00 04 */ li r5, 4
|
|
/* 80374C88 00371BE8 48 01 B2 D5 */ bl strncmp
|
|
/* 80374C8C 00371BEC 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80374C90 00371BF0 41 82 00 0C */ beq lbl_80374C9C
|
|
/* 80374C94 00371BF4 38 60 00 00 */ li r3, 0
|
|
/* 80374C98 00371BF8 48 00 00 90 */ b lbl_80374D28
|
|
lbl_80374C9C:
|
|
/* 80374C9C 00371BFC 88 1E 00 04 */ lbz r0, 4(r30)
|
|
/* 80374CA0 00371C00 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80374CA4 00371C04 41 82 00 28 */ beq lbl_80374CCC
|
|
/* 80374CA8 00371C08 88 1F 00 04 */ lbz r0, 4(r31)
|
|
/* 80374CAC 00371C0C 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80374CB0 00371C10 41 82 00 1C */ beq lbl_80374CCC
|
|
/* 80374CB4 00371C14 38 7E 00 04 */ addi r3, r30, 4
|
|
/* 80374CB8 00371C18 38 9F 00 04 */ addi r4, r31, 4
|
|
/* 80374CBC 00371C1C 38 A0 00 02 */ li r5, 2
|
|
/* 80374CC0 00371C20 48 01 B2 9D */ bl strncmp
|
|
/* 80374CC4 00371C24 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 80374CC8 00371C28 41 82 00 0C */ beq lbl_80374CD4
|
|
lbl_80374CCC:
|
|
/* 80374CCC 00371C2C 38 60 00 00 */ li r3, 0
|
|
/* 80374CD0 00371C30 48 00 00 58 */ b lbl_80374D28
|
|
lbl_80374CD4:
|
|
/* 80374CD4 00371C34 88 7E 00 06 */ lbz r3, 6(r30)
|
|
/* 80374CD8 00371C38 28 03 00 FF */ cmplwi r3, 0xff
|
|
/* 80374CDC 00371C3C 41 82 00 20 */ beq lbl_80374CFC
|
|
/* 80374CE0 00371C40 88 1F 00 06 */ lbz r0, 6(r31)
|
|
/* 80374CE4 00371C44 28 00 00 FF */ cmplwi r0, 0xff
|
|
/* 80374CE8 00371C48 41 82 00 14 */ beq lbl_80374CFC
|
|
/* 80374CEC 00371C4C 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80374CF0 00371C50 41 82 00 0C */ beq lbl_80374CFC
|
|
/* 80374CF4 00371C54 38 60 00 00 */ li r3, 0
|
|
/* 80374CF8 00371C58 48 00 00 30 */ b lbl_80374D28
|
|
lbl_80374CFC:
|
|
/* 80374CFC 00371C5C 88 7E 00 07 */ lbz r3, 7(r30)
|
|
/* 80374D00 00371C60 28 03 00 FF */ cmplwi r3, 0xff
|
|
/* 80374D04 00371C64 41 82 00 20 */ beq lbl_80374D24
|
|
/* 80374D08 00371C68 88 1F 00 07 */ lbz r0, 7(r31)
|
|
/* 80374D0C 00371C6C 28 00 00 FF */ cmplwi r0, 0xff
|
|
/* 80374D10 00371C70 41 82 00 14 */ beq lbl_80374D24
|
|
/* 80374D14 00371C74 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80374D18 00371C78 41 82 00 0C */ beq lbl_80374D24
|
|
/* 80374D1C 00371C7C 38 60 00 00 */ li r3, 0
|
|
/* 80374D20 00371C80 48 00 00 08 */ b lbl_80374D28
|
|
lbl_80374D24:
|
|
/* 80374D24 00371C84 38 60 00 01 */ li r3, 1
|
|
lbl_80374D28:
|
|
/* 80374D28 00371C88 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80374D2C 00371C8C 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80374D30 00371C90 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 80374D34 00371C94 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80374D38 00371C98 7C 08 03 A6 */ mtlr r0
|
|
/* 80374D3C 00371C9C 4E 80 00 20 */ blr
|