summaryrefslogtreecommitdiff
path: root/asm/code_802238A0.s
blob: 2c80dfc3107a4f04652175d5c6363d18dee7cda0 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
.include "macros.inc"

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

.global func_802238A0
func_802238A0:
/* 802238A0 0021F500  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 802238A4 0021F504  7C 08 02 A6 */	mflr r0
/* 802238A8 0021F508  90 01 00 54 */	stw r0, 0x54(r1)
/* 802238AC 0021F50C  DB E1 00 40 */	stfd f31, 0x40(r1)
/* 802238B0 0021F510  F3 E1 00 48 */	psq_st f31, 72(r1), 0, qr0
/* 802238B4 0021F514  DB C1 00 30 */	stfd f30, 0x30(r1)
/* 802238B8 0021F518  F3 C1 00 38 */	psq_st f30, 56(r1), 0, qr0
/* 802238BC 0021F51C  DB A1 00 20 */	stfd f29, 0x20(r1)
/* 802238C0 0021F520  F3 A1 00 28 */	psq_st f29, 40(r1), 0, qr0
/* 802238C4 0021F524  CB A2 9C 40 */	lfd f29, lbl_80642240-_SDA2_BASE_(r2)
/* 802238C8 0021F528  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802238CC 0021F52C  3F E0 43 30 */	lis r31, 0x4330
/* 802238D0 0021F530  C3 C2 9C 3C */	lfs f30, lbl_8064223C-_SDA2_BASE_(r2)
/* 802238D4 0021F534  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802238D8 0021F538  3F C0 80 49 */	lis r30, lbl_80493330@ha
/* 802238DC 0021F53C  C3 E2 9C 38 */	lfs f31, lbl_80642238-_SDA2_BASE_(r2)
/* 802238E0 0021F540  3B DE 33 30 */	addi r30, r30, lbl_80493330@l
/* 802238E4 0021F544  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802238E8 0021F548  3B A0 00 00 */	li r29, 0
lbl_802238EC:
/* 802238EC 0021F54C  6F A0 80 00 */	xoris r0, r29, 0x8000
/* 802238F0 0021F550  93 E1 00 08 */	stw r31, 8(r1)
/* 802238F4 0021F554  90 01 00 0C */	stw r0, 0xc(r1)
/* 802238F8 0021F558  C8 01 00 08 */	lfd f0, 8(r1)
/* 802238FC 0021F55C  EC 00 E8 28 */	fsubs f0, f0, f29
/* 80223900 0021F560  EC 1E 00 32 */	fmuls f0, f30, f0
/* 80223904 0021F564  EC 3F 00 32 */	fmuls f1, f31, f0
/* 80223908 0021F568  4B FB 07 71 */	bl cos
/* 8022390C 0021F56C  FC 00 08 18 */	frsp f0, f1
/* 80223910 0021F570  3B BD 00 01 */	addi r29, r29, 1
/* 80223914 0021F574  2C 1D 00 B5 */	cmpwi r29, 0xb5
/* 80223918 0021F578  D0 1E 00 00 */	stfs f0, 0(r30)
/* 8022391C 0021F57C  3B DE 00 04 */	addi r30, r30, 4
/* 80223920 0021F580  41 80 FF CC */	blt lbl_802238EC
/* 80223924 0021F584  E3 E1 00 48 */	psq_l f31, 72(r1), 0, qr0
/* 80223928 0021F588  CB E1 00 40 */	lfd f31, 0x40(r1)
/* 8022392C 0021F58C  E3 C1 00 38 */	psq_l f30, 56(r1), 0, qr0
/* 80223930 0021F590  CB C1 00 30 */	lfd f30, 0x30(r1)
/* 80223934 0021F594  E3 A1 00 28 */	psq_l f29, 40(r1), 0, qr0
/* 80223938 0021F598  CB A1 00 20 */	lfd f29, 0x20(r1)
/* 8022393C 0021F59C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80223940 0021F5A0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80223944 0021F5A4  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80223948 0021F5A8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8022394C 0021F5AC  7C 08 03 A6 */	mtlr r0
/* 80223950 0021F5B0  38 21 00 50 */	addi r1, r1, 0x50
/* 80223954 0021F5B4  4E 80 00 20 */	blr
lbl_80223958:
/* 80223958 0021F5B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8022395C 0021F5BC  7C 08 02 A6 */	mflr r0
/* 80223960 0021F5C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80223964 0021F5C4  DB E1 00 10 */	stfd f31, 0x10(r1)
/* 80223968 0021F5C8  F3 E1 00 18 */	psq_st f31, 24(r1), 0, qr0
/* 8022396C 0021F5CC  C0 02 9C 4C */	lfs f0, lbl_8064224C-_SDA2_BASE_(r2)
/* 80223970 0021F5D0  C3 E2 9C 48 */	lfs f31, lbl_80642248-_SDA2_BASE_(r2)
/* 80223974 0021F5D4  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80223978 0021F5D8  40 81 00 14 */	ble lbl_8022398C
/* 8022397C 0021F5DC  C3 E2 9C 50 */	lfs f31, lbl_80642250-_SDA2_BASE_(r2)
/* 80223980 0021F5E0  C8 42 9C 58 */	lfd f2, lbl_80642258-_SDA2_BASE_(r2)
/* 80223984 0021F5E4  4B FB 0C 5D */	bl fmod
/* 80223988 0021F5E8  FC 20 08 18 */	frsp f1, f1
lbl_8022398C:
/* 8022398C 0021F5EC  C0 02 9C 60 */	lfs f0, lbl_80642260-_SDA2_BASE_(r2)
/* 80223990 0021F5F0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80223994 0021F5F4  40 81 00 0C */	ble lbl_802239A0
/* 80223998 0021F5F8  C0 02 9C 4C */	lfs f0, lbl_8064224C-_SDA2_BASE_(r2)
/* 8022399C 0021F5FC  EC 20 08 28 */	fsubs f1, f0, f1
lbl_802239A0:
/* 802239A0 0021F600  C0 42 9C 64 */	lfs f2, lbl_80642264-_SDA2_BASE_(r2)
/* 802239A4 0021F604  C0 02 9C 3C */	lfs f0, lbl_8064223C-_SDA2_BASE_(r2)
/* 802239A8 0021F608  EC 22 00 72 */	fmuls f1, f2, f1
/* 802239AC 0021F60C  EC 20 08 2A */	fadds f1, f0, f1
/* 802239B0 0021F610  4B FA 36 51 */	bl __cvt_fp2unsigned
/* 802239B4 0021F614  3C 80 80 49 */	lis r4, lbl_80493330@ha
/* 802239B8 0021F618  54 60 10 3A */	slwi r0, r3, 2
/* 802239BC 0021F61C  38 84 33 30 */	addi r4, r4, lbl_80493330@l
/* 802239C0 0021F620  7C 04 04 2E */	lfsx f0, r4, r0
/* 802239C4 0021F624  EC 3F 00 32 */	fmuls f1, f31, f0
/* 802239C8 0021F628  E3 E1 00 18 */	psq_l f31, 24(r1), 0, qr0
/* 802239CC 0021F62C  CB E1 00 10 */	lfd f31, 0x10(r1)
/* 802239D0 0021F630  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802239D4 0021F634  7C 08 03 A6 */	mtlr r0
/* 802239D8 0021F638  38 21 00 20 */	addi r1, r1, 0x20
/* 802239DC 0021F63C  4E 80 00 20 */	blr

.global func_802239E0
func_802239E0:
/* 802239E0 0021F640  C0 02 9C 60 */	lfs f0, lbl_80642260-_SDA2_BASE_(r2)
/* 802239E4 0021F644  EC 20 08 28 */	fsubs f1, f0, f1
/* 802239E8 0021F648  4B FF FF 70 */	b lbl_80223958

.global func_802239EC
func_802239EC:
/* 802239EC 0021F64C  38 A0 00 01 */	li r5, 1
/* 802239F0 0021F650  38 6D A2 E0 */	addi r3, r13, lbl_8063F5A0-_SDA_BASE_
/* 802239F4 0021F654  38 80 00 04 */	li r4, 4
/* 802239F8 0021F658  38 00 00 00 */	li r0, 0
/* 802239FC 0021F65C  98 AD A2 E0 */	stb r5, lbl_8063F5A0-_SDA_BASE_(r13)
/* 80223A00 0021F660  B0 83 00 02 */	sth r4, 2(r3)
/* 80223A04 0021F664  98 03 00 04 */	stb r0, 4(r3)
/* 80223A08 0021F668  4E 80 00 20 */	blr