summaryrefslogtreecommitdiff
path: root/asm/SDK/SI/SISamplingRate.s
blob: 26171ff251f87f40589b87a214d4cc1f7cea107a (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
.include "macros.inc"

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

.global SISetSamplingRate
SISetSamplingRate:
/* 802772B4 00272F14  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802772B8 00272F18  7C 08 02 A6 */	mflr r0
/* 802772BC 00272F1C  28 03 00 0B */	cmplwi r3, 0xb
/* 802772C0 00272F20  90 01 00 24 */	stw r0, 0x24(r1)
/* 802772C4 00272F24  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802772C8 00272F28  3F E0 80 43 */	lis r31, lbl_80433FE0@ha
/* 802772CC 00272F2C  3B FF 3F E0 */	addi r31, r31, lbl_80433FE0@l
/* 802772D0 00272F30  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802772D4 00272F34  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802772D8 00272F38  7C 7D 1B 78 */	mr r29, r3
/* 802772DC 00272F3C  40 81 00 08 */	ble lbl_802772E4
/* 802772E0 00272F40  3B A0 00 0B */	li r29, 0xb
lbl_802772E4:
/* 802772E4 00272F44  4B FF 74 79 */	bl OSDisableInterrupts
/* 802772E8 00272F48  93 AD A8 B0 */	stw r29, lbl_8063FB70-_SDA_BASE_(r13)
/* 802772EC 00272F4C  7C 7E 1B 78 */	mr r30, r3
/* 802772F0 00272F50  48 00 26 E5 */	bl VIGetTvFormat
/* 802772F4 00272F54  2C 03 00 02 */	cmpwi r3, 2
/* 802772F8 00272F58  41 82 00 24 */	beq lbl_8027731C
/* 802772FC 00272F5C  40 80 00 14 */	bge lbl_80277310
/* 80277300 00272F60  2C 03 00 00 */	cmpwi r3, 0
/* 80277304 00272F64  41 82 00 18 */	beq lbl_8027731C
/* 80277308 00272F68  40 80 00 1C */	bge lbl_80277324
/* 8027730C 00272F6C  48 00 00 20 */	b lbl_8027732C
lbl_80277310:
/* 80277310 00272F70  2C 03 00 05 */	cmpwi r3, 5
/* 80277314 00272F74  41 82 00 08 */	beq lbl_8027731C
/* 80277318 00272F78  48 00 00 14 */	b lbl_8027732C
lbl_8027731C:
/* 8027731C 00272F7C  38 BF 00 00 */	addi r5, r31, 0
/* 80277320 00272F80  48 00 00 20 */	b lbl_80277340
lbl_80277324:
/* 80277324 00272F84  38 BF 00 30 */	addi r5, r31, 0x30
/* 80277328 00272F88  48 00 00 18 */	b lbl_80277340
lbl_8027732C:
/* 8027732C 00272F8C  38 7F 00 60 */	addi r3, r31, 0x60
/* 80277330 00272F90  4C C6 31 82 */	crclr 6
/* 80277334 00272F94  4B D9 07 91 */	bl OSReport
/* 80277338 00272F98  3B A0 00 00 */	li r29, 0
/* 8027733C 00272F9C  38 BF 00 00 */	addi r5, r31, 0
lbl_80277340:
/* 80277340 00272FA0  3C 60 CC 00 */	lis r3, 0xCC00206C@ha
/* 80277344 00272FA4  57 A0 10 3A */	slwi r0, r29, 2
/* 80277348 00272FA8  A0 83 20 6C */	lhz r4, 0xCC00206C@l(r3)
/* 8027734C 00272FAC  7C 65 02 14 */	add r3, r5, r0
/* 80277350 00272FB0  7C 05 02 2E */	lhzx r0, r5, r0
/* 80277354 00272FB4  54 85 07 FE */	clrlwi r5, r4, 0x1f
/* 80277358 00272FB8  88 83 00 02 */	lbz r4, 2(r3)
/* 8027735C 00272FBC  38 65 00 01 */	addi r3, r5, 1
/* 80277360 00272FC0  7C 63 01 D6 */	mullw r3, r3, r0
/* 80277364 00272FC4  4B FF F8 99 */	bl SISetXY
/* 80277368 00272FC8  7F C3 F3 78 */	mr r3, r30
/* 8027736C 00272FCC  4B FF 74 19 */	bl OSRestoreInterrupts
/* 80277370 00272FD0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80277374 00272FD4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80277378 00272FD8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027737C 00272FDC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80277380 00272FE0  7C 08 03 A6 */	mtlr r0
/* 80277384 00272FE4  38 21 00 20 */	addi r1, r1, 0x20
/* 80277388 00272FE8  4E 80 00 20 */	blr

.global SIRefreshSamplingRate
SIRefreshSamplingRate:
/* 8027738C 00272FEC  80 6D A8 B0 */	lwz r3, lbl_8063FB70-_SDA_BASE_(r13)
/* 80277390 00272FF0  4B FF FF 24 */	b SISetSamplingRate