.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global MPSetUserGameInfo MPSetUserGameInfo: /* 802F1234 002ECE94 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802F1238 002ECE98 7C 08 02 A6 */ mflr r0 /* 802F123C 002ECE9C 90 01 00 24 */ stw r0, 0x24(r1) /* 802F1240 002ECEA0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802F1244 002ECEA4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802F1248 002ECEA8 7C 9E 23 78 */ mr r30, r4 /* 802F124C 002ECEAC 93 A1 00 14 */ stw r29, 0x14(r1) /* 802F1250 002ECEB0 7C 7D 1B 78 */ mr r29, r3 /* 802F1254 002ECEB4 80 0D AF 38 */ lwz r0, lbl_806401F8-_SDA_BASE_(r13) /* 802F1258 002ECEB8 2C 00 00 00 */ cmpwi r0, 0 /* 802F125C 002ECEBC 40 82 00 0C */ bne lbl_802F1268 /* 802F1260 002ECEC0 38 60 FF 14 */ li r3, -236 /* 802F1264 002ECEC4 48 00 00 88 */ b lbl_802F12EC lbl_802F1268: /* 802F1268 002ECEC8 80 0D AF 3C */ lwz r0, lbl_806401FC-_SDA_BASE_(r13) /* 802F126C 002ECECC 2C 00 00 00 */ cmpwi r0, 0 /* 802F1270 002ECED0 41 82 00 0C */ beq lbl_802F127C /* 802F1274 002ECED4 38 60 FF FF */ li r3, -1 /* 802F1278 002ECED8 48 00 00 74 */ b lbl_802F12EC lbl_802F127C: /* 802F127C 002ECEDC 28 04 00 70 */ cmplwi r4, 0x70 /* 802F1280 002ECEE0 40 81 00 0C */ ble lbl_802F128C /* 802F1284 002ECEE4 38 60 FF 01 */ li r3, -255 /* 802F1288 002ECEE8 48 00 00 64 */ b lbl_802F12EC lbl_802F128C: /* 802F128C 002ECEEC 38 00 00 00 */ li r0, 0 /* 802F1290 002ECEF0 7C 03 00 40 */ cmplw r3, r0 /* 802F1294 002ECEF4 40 82 00 0C */ bne lbl_802F12A0 /* 802F1298 002ECEF8 38 60 FF 01 */ li r3, -255 /* 802F129C 002ECEFC 48 00 00 50 */ b lbl_802F12EC lbl_802F12A0: /* 802F12A0 002ECF00 4B F7 D4 BD */ bl OSDisableInterrupts /* 802F12A4 002ECF04 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2) /* 802F12A8 002ECF08 7C 7F 1B 78 */ mr r31, r3 /* 802F12AC 002ECF0C 7F A4 EB 78 */ mr r4, r29 /* 802F12B0 002ECF10 7F C5 F3 78 */ mr r5, r30 /* 802F12B4 002ECF14 93 C6 00 3C */ stw r30, 0x3c(r6) /* 802F12B8 002ECF18 38 66 00 40 */ addi r3, r6, 0x40 /* 802F12BC 002ECF1C 4B D1 2D 45 */ bl memcpy /* 802F12C0 002ECF20 28 1E 00 70 */ cmplwi r30, 0x70 /* 802F12C4 002ECF24 40 80 00 1C */ bge lbl_802F12E0 /* 802F12C8 002ECF28 80 02 AA 30 */ lwz r0, lbl_80643030-_SDA2_BASE_(r2) /* 802F12CC 002ECF2C 20 BE 00 70 */ subfic r5, r30, 0x70 /* 802F12D0 002ECF30 38 80 00 00 */ li r4, 0 /* 802F12D4 002ECF34 7C 60 F2 14 */ add r3, r0, r30 /* 802F12D8 002ECF38 38 63 00 40 */ addi r3, r3, 0x40 /* 802F12DC 002ECF3C 4B D1 2E 29 */ bl memset lbl_802F12E0: /* 802F12E0 002ECF40 7F E3 FB 78 */ mr r3, r31 /* 802F12E4 002ECF44 4B F7 D4 A1 */ bl OSRestoreInterrupts /* 802F12E8 002ECF48 38 60 00 00 */ li r3, 0 lbl_802F12EC: /* 802F12EC 002ECF4C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802F12F0 002ECF50 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802F12F4 002ECF54 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802F12F8 002ECF58 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802F12FC 002ECF5C 7C 08 03 A6 */ mtlr r0 /* 802F1300 002ECF60 38 21 00 20 */ addi r1, r1, 0x20 /* 802F1304 002ECF64 4E 80 00 20 */ blr .global MPSetEntryFlag MPSetEntryFlag: /* 802F1308 002ECF68 80 0D AF 38 */ lwz r0, lbl_806401F8-_SDA_BASE_(r13) /* 802F130C 002ECF6C 2C 00 00 00 */ cmpwi r0, 0 /* 802F1310 002ECF70 40 82 00 0C */ bne lbl_802F131C /* 802F1314 002ECF74 38 60 FF 14 */ li r3, -236 /* 802F1318 002ECF78 4E 80 00 20 */ blr lbl_802F131C: /* 802F131C 002ECF7C 80 0D AF 3C */ lwz r0, lbl_806401FC-_SDA_BASE_(r13) /* 802F1320 002ECF80 2C 00 00 00 */ cmpwi r0, 0 /* 802F1324 002ECF84 41 82 00 0C */ beq lbl_802F1330 /* 802F1328 002ECF88 38 60 FF FF */ li r3, -1 /* 802F132C 002ECF8C 4E 80 00 20 */ blr lbl_802F1330: /* 802F1330 002ECF90 2C 03 00 00 */ cmpwi r3, 0 /* 802F1334 002ECF94 41 82 00 0C */ beq lbl_802F1340 /* 802F1338 002ECF98 38 00 00 01 */ li r0, 1 /* 802F133C 002ECF9C 48 00 00 08 */ b lbl_802F1344 lbl_802F1340: /* 802F1340 002ECFA0 38 00 00 00 */ li r0, 0 lbl_802F1344: /* 802F1344 002ECFA4 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2) /* 802F1348 002ECFA8 38 60 00 00 */ li r3, 0 /* 802F134C 002ECFAC 90 04 00 30 */ stw r0, 0x30(r4) /* 802F1350 002ECFB0 4E 80 00 20 */ blr .global MPiSetMultiBootFlag MPiSetMultiBootFlag: /* 802F1354 002ECFB4 80 0D AF 38 */ lwz r0, lbl_806401F8-_SDA_BASE_(r13) /* 802F1358 002ECFB8 2C 00 00 00 */ cmpwi r0, 0 /* 802F135C 002ECFBC 40 82 00 0C */ bne lbl_802F1368 /* 802F1360 002ECFC0 38 60 FF 14 */ li r3, -236 /* 802F1364 002ECFC4 4E 80 00 20 */ blr lbl_802F1368: /* 802F1368 002ECFC8 80 0D AF 3C */ lwz r0, lbl_806401FC-_SDA_BASE_(r13) /* 802F136C 002ECFCC 2C 00 00 00 */ cmpwi r0, 0 /* 802F1370 002ECFD0 41 82 00 0C */ beq lbl_802F137C /* 802F1374 002ECFD4 38 60 FF FF */ li r3, -1 /* 802F1378 002ECFD8 4E 80 00 20 */ blr lbl_802F137C: /* 802F137C 002ECFDC 2C 03 00 00 */ cmpwi r3, 0 /* 802F1380 002ECFE0 41 82 00 0C */ beq lbl_802F138C /* 802F1384 002ECFE4 38 00 00 01 */ li r0, 1 /* 802F1388 002ECFE8 48 00 00 08 */ b lbl_802F1390 lbl_802F138C: /* 802F138C 002ECFEC 38 00 00 00 */ li r0, 0 lbl_802F1390: /* 802F1390 002ECFF0 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2) /* 802F1394 002ECFF4 38 60 00 00 */ li r3, 0 /* 802F1398 002ECFF8 90 04 00 34 */ stw r0, 0x34(r4) /* 802F139C 002ECFFC 4E 80 00 20 */ blr