prime/asm/Dolphin/dvd/dvdfatal.s

121 lines
4.7 KiB
ArmAsm
Raw Normal View History

2022-04-02 21:03:04 +00:00
.include "macros.inc"
.section .sdata
.global lbl_805A8AB0
lbl_805A8AB0:
.incbin "baserom.dol", 0x3F6450, 0x4
.global lbl_805A8AB4
lbl_805A8AB4:
.incbin "baserom.dol", 0x3F6454, 0x4
.section .sbss
.global lbl_805A9820
lbl_805A9820:
.skip 0x8
.section .sdata2
.global lbl_805AEB20
lbl_805AEB20:
.incbin "baserom.dol", 0x3FB3C0, 0x4
.global lbl_805AEB24
lbl_805AEB24:
.incbin "baserom.dol", 0x3FB3C4, 0x4
2022-04-06 10:04:03 +00:00
.section .rodata
lbl_803D8570:
.incbin "baserom.dol", 0x3D5570, 0x18
2022-04-02 21:03:04 +00:00
.section .text, "ax"
.global ShowMessage
ShowMessage:
/* 80374D40 00371CA0 7C 08 02 A6 */ mflr r0
/* 80374D44 00371CA4 90 01 00 04 */ stw r0, 4(r1)
/* 80374D48 00371CA8 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374D4C 00371CAC 80 62 CE 00 */ lwz r3, lbl_805AEB20@sda21(r2)
/* 80374D50 00371CB0 80 02 CE 04 */ lwz r0, lbl_805AEB24@sda21(r2)
/* 80374D54 00371CB4 90 61 00 14 */ stw r3, 0x14(r1)
/* 80374D58 00371CB8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80374D5C 00371CBC 48 01 47 7D */ bl VIGetTvFormat
/* 80374D60 00371CC0 28 03 00 00 */ cmplwi r3, 0
/* 80374D64 00371CC4 40 82 00 24 */ bne lbl_80374D88
/* 80374D68 00371CC8 48 00 C1 DD */ bl OSGetFontEncode
/* 80374D6C 00371CCC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80374D70 00371CD0 28 00 00 01 */ cmplwi r0, 1
/* 80374D74 00371CD4 40 82 00 0C */ bne lbl_80374D80
/* 80374D78 00371CD8 80 AD 9E F0 */ lwz r5, lbl_805A8AB0@sda21(r13)
/* 80374D7C 00371CDC 48 00 00 24 */ b lbl_80374DA0
lbl_80374D80:
/* 80374D80 00371CE0 80 AD 9E F4 */ lwz r5, lbl_805A8AB4@sda21(r13)
/* 80374D84 00371CE4 48 00 00 1C */ b lbl_80374DA0
lbl_80374D88:
/* 80374D88 00371CE8 48 00 F4 C1 */ bl OSGetLanguage
/* 80374D8C 00371CEC 3C 80 80 3E */ lis r4, lbl_803D8570@ha
/* 80374D90 00371CF0 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
/* 80374D94 00371CF4 38 04 85 70 */ addi r0, r4, lbl_803D8570@l
/* 80374D98 00371CF8 7C 60 1A 14 */ add r3, r0, r3
/* 80374D9C 00371CFC 80 A3 00 00 */ lwz r5, 0(r3)
lbl_80374DA0:
/* 80374DA0 00371D00 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 80374DA4 00371D04 38 81 00 08 */ addi r4, r1, 8
/* 80374DA8 00371D08 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80374DAC 00371D0C 38 61 00 0C */ addi r3, r1, 0xc
/* 80374DB0 00371D10 90 C1 00 08 */ stw r6, 8(r1)
/* 80374DB4 00371D14 90 01 00 0C */ stw r0, 0xc(r1)
/* 80374DB8 00371D18 48 00 B7 79 */ bl OSFatal
/* 80374DBC 00371D1C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374DC0 00371D20 38 21 00 18 */ addi r1, r1, 0x18
/* 80374DC4 00371D24 7C 08 03 A6 */ mtlr r0
/* 80374DC8 00371D28 4E 80 00 20 */ blr
.global DVDSetAutoFatalMessaging
DVDSetAutoFatalMessaging:
/* 80374DCC 00371D2C 7C 08 02 A6 */ mflr r0
/* 80374DD0 00371D30 90 01 00 04 */ stw r0, 4(r1)
/* 80374DD4 00371D34 94 21 FF E8 */ stwu r1, -0x18(r1)
/* 80374DD8 00371D38 93 E1 00 14 */ stw r31, 0x14(r1)
/* 80374DDC 00371D3C 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80374DE0 00371D40 7C 7E 1B 78 */ mr r30, r3
/* 80374DE4 00371D44 48 00 C8 7D */ bl OSDisableInterrupts
/* 80374DE8 00371D48 80 0D AC 60 */ lwz r0, lbl_805A9820@sda21(r13)
/* 80374DEC 00371D4C 28 00 00 00 */ cmplwi r0, 0
/* 80374DF0 00371D50 41 82 00 0C */ beq lbl_80374DFC
/* 80374DF4 00371D54 3B E0 00 01 */ li r31, 1
/* 80374DF8 00371D58 48 00 00 08 */ b lbl_80374E00
lbl_80374DFC:
/* 80374DFC 00371D5C 3B E0 00 00 */ li r31, 0
lbl_80374E00:
/* 80374E00 00371D60 2C 1E 00 00 */ cmpwi r30, 0
/* 80374E04 00371D64 41 82 00 10 */ beq lbl_80374E14
/* 80374E08 00371D68 3C 80 80 37 */ lis r4, ShowMessage@ha
/* 80374E0C 00371D6C 38 04 4D 40 */ addi r0, r4, ShowMessage@l
/* 80374E10 00371D70 48 00 00 08 */ b lbl_80374E18
lbl_80374E14:
/* 80374E14 00371D74 38 00 00 00 */ li r0, 0
lbl_80374E18:
/* 80374E18 00371D78 90 0D AC 60 */ stw r0, lbl_805A9820@sda21(r13)
/* 80374E1C 00371D7C 48 00 C8 6D */ bl OSRestoreInterrupts
/* 80374E20 00371D80 7F E3 FB 78 */ mr r3, r31
/* 80374E24 00371D84 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 80374E28 00371D88 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 80374E2C 00371D8C 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 80374E30 00371D90 38 21 00 18 */ addi r1, r1, 0x18
/* 80374E34 00371D94 7C 08 03 A6 */ mtlr r0
/* 80374E38 00371D98 4E 80 00 20 */ blr
.global __DVDPrintFatalMessage
__DVDPrintFatalMessage:
/* 80374E3C 00371D9C 7C 08 02 A6 */ mflr r0
/* 80374E40 00371DA0 90 01 00 04 */ stw r0, 4(r1)
/* 80374E44 00371DA4 94 21 FF F8 */ stwu r1, -8(r1)
/* 80374E48 00371DA8 81 8D AC 60 */ lwz r12, lbl_805A9820@sda21(r13)
/* 80374E4C 00371DAC 28 0C 00 00 */ cmplwi r12, 0
/* 80374E50 00371DB0 41 82 00 0C */ beq lbl_80374E5C
/* 80374E54 00371DB4 7D 88 03 A6 */ mtlr r12
/* 80374E58 00371DB8 4E 80 00 21 */ blrl
lbl_80374E5C:
/* 80374E5C 00371DBC 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80374E60 00371DC0 38 21 00 08 */ addi r1, r1, 8
/* 80374E64 00371DC4 7C 08 03 A6 */ mtlr r0
/* 80374E68 00371DC8 4E 80 00 20 */ blr