summaryrefslogtreecommitdiff
path: root/asm/TRK_MINNOW_DOLPHIN/notify.s
blob: 58e7805d68519c59bcacde38413167271a8f65ef (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"  # 0x80005600 - 0x8036FBA0
.global TRKDoNotifyStopped
TRKDoNotifyStopped:
/* 8008A264 000871A4  7C 08 02 A6 */	mflr r0
/* 8008A268 000871A8  90 01 00 04 */	stw r0, 4(r1)
/* 8008A26C 000871AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8008A270 000871B0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8008A274 000871B4  38 81 00 0C */	addi r4, r1, 0xc
/* 8008A278 000871B8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8008A27C 000871BC  3B C3 00 00 */	addi r30, r3, 0
/* 8008A280 000871C0  38 61 00 08 */	addi r3, r1, 8
/* 8008A284 000871C4  4B FF DE 7D */	bl TRKGetFreeBuffer
/* 8008A288 000871C8  7C 7F 1B 79 */	or. r31, r3, r3
/* 8008A28C 000871CC  40 82 00 94 */	bne lbl_8008A320
/* 8008A290 000871D0  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 8008A294 000871D4  80 65 00 0C */	lwz r3, 0xc(r5)
/* 8008A298 000871D8  28 03 08 80 */	cmplwi r3, 0x880
/* 8008A29C 000871DC  41 80 00 0C */	blt lbl_8008A2A8
/* 8008A2A0 000871E0  38 80 03 01 */	li r4, 0x301
/* 8008A2A4 000871E4  48 00 00 24 */	b lbl_8008A2C8
lbl_8008A2A8:
/* 8008A2A8 000871E8  38 03 00 01 */	addi r0, r3, 1
/* 8008A2AC 000871EC  7C 65 1A 14 */	add r3, r5, r3
/* 8008A2B0 000871F0  90 05 00 0C */	stw r0, 0xc(r5)
/* 8008A2B4 000871F4  38 80 00 00 */	li r4, 0
/* 8008A2B8 000871F8  9B C3 00 10 */	stb r30, 0x10(r3)
/* 8008A2BC 000871FC  80 65 00 08 */	lwz r3, 8(r5)
/* 8008A2C0 00087200  38 03 00 01 */	addi r0, r3, 1
/* 8008A2C4 00087204  90 05 00 08 */	stw r0, 8(r5)
lbl_8008A2C8:
/* 8008A2C8 00087208  2C 04 00 00 */	cmpwi r4, 0
/* 8008A2CC 0008720C  40 82 00 24 */	bne lbl_8008A2F0
/* 8008A2D0 00087210  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 8008A2D4 00087214  28 00 00 90 */	cmplwi r0, 0x90
/* 8008A2D8 00087218  40 82 00 10 */	bne lbl_8008A2E8
/* 8008A2DC 0008721C  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8008A2E0 00087220  48 00 0F 55 */	bl TRKTargetAddStopInfo
/* 8008A2E4 00087224  48 00 00 0C */	b lbl_8008A2F0
lbl_8008A2E8:
/* 8008A2E8 00087228  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8008A2EC 0008722C  48 00 0F D9 */	bl TRKTargetAddExceptionInfo
lbl_8008A2F0:
/* 8008A2F0 00087230  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8008A2F4 00087234  38 81 00 10 */	addi r4, r1, 0x10
/* 8008A2F8 00087238  38 A0 00 02 */	li r5, 2
/* 8008A2FC 0008723C  38 C0 00 03 */	li r6, 3
/* 8008A300 00087240  38 E0 00 01 */	li r7, 1
/* 8008A304 00087244  4B FF FD A5 */	bl TRKRequestSend
/* 8008A308 00087248  7C 7F 1B 79 */	or. r31, r3, r3
/* 8008A30C 0008724C  40 82 00 0C */	bne lbl_8008A318
/* 8008A310 00087250  80 61 00 10 */	lwz r3, 0x10(r1)
/* 8008A314 00087254  4B FF DE B5 */	bl TRKReleaseBuffer
lbl_8008A318:
/* 8008A318 00087258  80 61 00 08 */	lwz r3, 8(r1)
/* 8008A31C 0008725C  4B FF DE AD */	bl TRKReleaseBuffer
lbl_8008A320:
/* 8008A320 00087260  7F E3 FB 78 */	mr r3, r31
/* 8008A324 00087264  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8008A328 00087268  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8008A32C 0008726C  38 21 00 20 */	addi r1, r1, 0x20
/* 8008A330 00087270  80 01 00 04 */	lwz r0, 4(r1)
/* 8008A334 00087274  7C 08 03 A6 */	mtlr r0
/* 8008A338 00087278  4E 80 00 20 */	blr