summaryrefslogtreecommitdiff
path: root/asm/SDK/DWC/gamespy/gpiTransfer.s
blob: a74da80bf3e3195e58d8940056ea334689206ab9 (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
.include "macros.inc"

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

.global gpiHandleTransferMessage
gpiHandleTransferMessage:
/* 80347D3C 0034399C  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 80347D40 003439A0  7C 08 02 A6 */	mflr r0
/* 80347D44 003439A4  90 01 00 94 */	stw r0, 0x94(r1)
/* 80347D48 003439A8  38 A1 00 38 */	addi r5, r1, 0x38
/* 80347D4C 003439AC  93 E1 00 8C */	stw r31, 0x8c(r1)
/* 80347D50 003439B0  93 C1 00 88 */	stw r30, 0x88(r1)
/* 80347D54 003439B4  7C 9E 23 78 */	mr r30, r4
/* 80347D58 003439B8  38 8D 92 94 */	addi r4, r13, lbl_8063E554-_SDA_BASE_
/* 80347D5C 003439BC  93 A1 00 84 */	stw r29, 0x84(r1)
/* 80347D60 003439C0  7C 7D 1B 78 */	mr r29, r3
/* 80347D64 003439C4  7C C3 33 78 */	mr r3, r6
/* 80347D68 003439C8  38 C0 00 40 */	li r6, 0x40
/* 80347D6C 003439CC  48 00 03 21 */	bl gpiValueForKey
/* 80347D70 003439D0  2C 03 00 00 */	cmpwi r3, 0
/* 80347D74 003439D4  41 82 00 94 */	beq lbl_80347E08
/* 80347D78 003439D8  3C 80 80 45 */	lis r4, lbl_8044B538@ha
/* 80347D7C 003439DC  38 61 00 38 */	addi r3, r1, 0x38
/* 80347D80 003439E0  38 84 B5 38 */	addi r4, r4, lbl_8044B538@l
/* 80347D84 003439E4  38 A1 00 08 */	addi r5, r1, 8
/* 80347D88 003439E8  38 C1 00 0C */	addi r6, r1, 0xc
/* 80347D8C 003439EC  38 E1 00 10 */	addi r7, r1, 0x10
/* 80347D90 003439F0  4C C6 31 82 */	crclr 6
/* 80347D94 003439F4  4B E8 64 75 */	bl sscanf
/* 80347D98 003439F8  2C 03 00 03 */	cmpwi r3, 3
/* 80347D9C 003439FC  40 82 00 6C */	bne lbl_80347E08
/* 80347DA0 00343A00  7F A3 EB 78 */	mr r3, r29
/* 80347DA4 00343A04  7F C4 F3 78 */	mr r4, r30
/* 80347DA8 00343A08  38 C1 00 08 */	addi r6, r1, 8
/* 80347DAC 00343A0C  3B ED 92 90 */	addi r31, r13, lbl_8063E550-_SDA_BASE_
/* 80347DB0 00343A10  38 A0 00 C9 */	li r5, 0xc9
/* 80347DB4 00343A14  4B FF D6 39 */	bl gpiPeerStartTransferMessage
/* 80347DB8 00343A18  2C 03 00 00 */	cmpwi r3, 0
/* 80347DBC 00343A1C  40 82 00 4C */	bne lbl_80347E08
/* 80347DC0 00343A20  3C 80 80 45 */	lis r4, lbl_8044B520@ha
/* 80347DC4 00343A24  38 61 00 18 */	addi r3, r1, 0x18
/* 80347DC8 00343A28  38 84 B5 20 */	addi r4, r4, lbl_8044B520@l
/* 80347DCC 00343A2C  38 A0 00 01 */	li r5, 1
/* 80347DD0 00343A30  38 C0 00 02 */	li r6, 2
/* 80347DD4 00343A34  4C C6 31 82 */	crclr 6
/* 80347DD8 00343A38  4B E8 4D 25 */	bl sprintf
/* 80347DDC 00343A3C  7F A3 EB 78 */	mr r3, r29
/* 80347DE0 00343A40  7F C4 F3 78 */	mr r4, r30
/* 80347DE4 00343A44  38 A1 00 18 */	addi r5, r1, 0x18
/* 80347DE8 00343A48  4B FF 7A 11 */	bl func_8033F7F8
/* 80347DEC 00343A4C  2C 03 00 00 */	cmpwi r3, 0
/* 80347DF0 00343A50  40 82 00 18 */	bne lbl_80347E08
/* 80347DF4 00343A54  7F A3 EB 78 */	mr r3, r29
/* 80347DF8 00343A58  7F C4 F3 78 */	mr r4, r30
/* 80347DFC 00343A5C  7F E5 FB 78 */	mr r5, r31
/* 80347E00 00343A60  38 C0 FF FF */	li r6, -1
/* 80347E04 00343A64  4B FF D6 51 */	bl gpiPeerFinishTransferMessage
lbl_80347E08:
/* 80347E08 00343A68  80 01 00 94 */	lwz r0, 0x94(r1)
/* 80347E0C 00343A6C  83 E1 00 8C */	lwz r31, 0x8c(r1)
/* 80347E10 00343A70  83 C1 00 88 */	lwz r30, 0x88(r1)
/* 80347E14 00343A74  83 A1 00 84 */	lwz r29, 0x84(r1)
/* 80347E18 00343A78  7C 08 03 A6 */	mtlr r0
/* 80347E1C 00343A7C  38 21 00 90 */	addi r1, r1, 0x90
/* 80347E20 00343A80  4E 80 00 20 */	blr