11#include "libspu2_internal.h"
13void _spu2_config_iop(
void)
15 *((vu32 *)0xBF801404) = 0xBF900000;
16 *((vu32 *)0xBF80140C) = 0xBF900800;
17 *((vu32 *)0xBF8010F0) |= 0x80000u;
18 *((vu32 *)0xBF801570) |= 8u;
19 *((vu32 *)0xBF801014) = 0x200B31E1;
20 *((vu32 *)0xBF801414) = 0x200B31E1;
23static void _spu2_config_SPDIF(
int flag)
25 *((vu16 *)0xBF9007C6) = 2304;
26 *((vu16 *)0xBF9007C8) = 512;
28 *((vu16 *)0xBF9007C8) = 0;
29 *((vu16 *)0xBF9007CA) = 8;
32void _spu2_config_initialize(
void)
35 _spu2_config_SPDIF(0);
38void _spu2_config_initialize_typically(
void)
40 *((vu16 *)0xBF9007C0) = 0xC032;
41 *((vu16 *)0xBF90019A) = 0xC000;
42 *((vu16 *)0xBF90059A) = 0xC001;
43 *((vu16 *)0xBF900188) = 0xFFFF;
44 *((vu16 *)0xBF90018A) = 0xFF;
45 *((vu16 *)0xBF900190) = 0xFFFF;
46 *((vu16 *)0xBF900192) = 0xFF;
47 *((vu16 *)0xBF90018C) = 0xFFFF;
48 *((vu16 *)0xBF90018E) = 0xFF;
49 *((vu16 *)0xBF900194) = 0xFFFF;
50 *((vu16 *)0xBF900196) = 0xFF;
51 *((vu16 *)0xBF900588) = 0xFFFF;
52 *((vu16 *)0xBF90058A) = 0xFF;
53 *((vu16 *)0xBF900590) = 0xFFFF;
54 *((vu16 *)0xBF900592) = 0xFF;
55 *((vu16 *)0xBF90058C) = 0xFFFF;
56 *((vu16 *)0xBF90058E) = 0xFF;
57 *((vu16 *)0xBF900594) = 0xFFFF;
58 *((vu16 *)0xBF900596) = 0xFF;
59 *((vu16 *)0xBF900198) = 0xFFF;
60 *((vu16 *)0xBF900598) = 0xFFF;
61 *((vu16 *)0xBF900760) = 0;
62 *((vu16 *)0xBF900762) = 0;
63 *((vu16 *)0xBF900788) = 0;
64 *((vu16 *)0xBF90078A) = 0;
65 *((vu16 *)0xBF900764) = 0;
66 *((vu16 *)0xBF900766) = 0;
67 *((vu16 *)0xBF90078C) = 0;
68 *((vu16 *)0xBF90078E) = 0;
69 *((vu16 *)0xBF900768) = 0;
70 *((vu16 *)0xBF90076A) = 0;
71 *((vu16 *)0xBF900790) = 0x7FFF;
72 *((vu16 *)0xBF900792) = 0x7FFF;
73 *((vu16 *)0xBF90076C) = 0;
74 *((vu16 *)0xBF90076E) = 0;
75 *((vu16 *)0xBF900794) = 0;
76 *((vu16 *)0xBF900796) = 0;
77 *((vu16 *)0xBF90033C) = 0xE;
78 *((vu16 *)0xBF90073C) = 0xF;
81void _spu2_config_initialize_hot(
void)
83 *((vu16 *)0xBF9007C0) = 0xC032;
84 *((vu16 *)0xBF90019A) = 0xC080;
85 *((vu16 *)0xBF90059A) = 0xC081;
86 *((vu16 *)0xBF900188) = 0xFFFF;
87 *((vu16 *)0xBF90018A) = 0xFF;
88 *((vu16 *)0xBF900190) = 0xFFFF;
89 *((vu16 *)0xBF900192) = 0xFF;
90 *((vu16 *)0xBF90018C) = 0xFFFF;
91 *((vu16 *)0xBF90018E) = 0xFF;
92 *((vu16 *)0xBF900194) = 0xFFFF;
93 *((vu16 *)0xBF900196) = 0xFF;
94 *((vu16 *)0xBF900588) = 0xFFFF;
95 *((vu16 *)0xBF90058A) = 0xFF;
96 *((vu16 *)0xBF900590) = 0xFFFF;
97 *((vu16 *)0xBF900592) = 0xFF;
98 *((vu16 *)0xBF90058C) = 0xFFFF;
99 *((vu16 *)0xBF90058E) = 0xFF;
100 *((vu16 *)0xBF900594) = 0xFFFF;
101 *((vu16 *)0xBF900596) = 0xFF;
102 *((vu16 *)0xBF900198) = 0xFFF;
103 *((vu16 *)0xBF900598) = 0xFFF;
104 *((vu16 *)0xBF900768) = 0;
105 *((vu16 *)0xBF90076A) = 0;
106 *((vu16 *)0xBF900790) = 0x7FFF;
107 *((vu16 *)0xBF900792) = 0x7FFF;
108 *((vu16 *)0xBF90076C) = 0;
109 *((vu16 *)0xBF90076E) = 0;
110 *((vu16 *)0xBF900794) = 0;
111 *((vu16 *)0xBF900796) = 0;
114void _spu2_config_before_compatible(
void)
116 *((vu16 *)0xBF9007C0) = 0xC032;
117 *((vu16 *)0xBF900188) = 0xFFFF;
118 *((vu16 *)0xBF90018A) = 0xFF;
119 *((vu16 *)0xBF900190) = 0xFFFF;
120 *((vu16 *)0xBF900192) = 0xFF;
121 *((vu16 *)0xBF90018C) = 0xFFFF;
122 *((vu16 *)0xBF90018E) = 0xFF;
123 *((vu16 *)0xBF900194) = 0xFFFF;
124 *((vu16 *)0xBF900196) = 0xFF;
125 *((vu16 *)0xBF900198) = 0xFFF;
126 *((vu16 *)0xBF90033C) = 3;
127 _spu2_config_SPDIF(1);