11#include "libspu2_internal.h"
13void SpuStopFreeRun(
void)
24 v1 = (u16 *)0xBF900000;
25 v2 = (s16 *)0xBF900400;
26 v3 = (u16 *)0xBF9001C0;
27 v4 = (u16 *)0xBF9005C0;
28 *((vu16 *)0xBF9001A8) = 0;
29 *((vu16 *)0xBF9001AA) = 10240;
31 for ( v15 = 0; v15 < 16; v15 += 1 )
33 *((vu16 *)0xBF9001AC) = 1799u;
35 *((vu16 *)0xBF90019A) = (*((vu16 *)0xBF90019A) & ~0x30) | 0x10;
36 while ( (*((vu16 *)0xBF900344) & 0x400) != 0 )
38 *((vu16 *)0xBF90019A) &= ~0x30;
39 for ( i = 0; i < 24; i += 1 )
65 *((vu16 *)0xBF9005A0) = -1;
66 *((vu16 *)0xBF9001A0) = -1;
67 *((vu16 *)0xBF9005A2) = 255;
68 *((vu16 *)0xBF9001A2) = 255;
69 for ( j = 0; j < 3124; j += 1 )
71 __asm__ __volatile__(
"" :
"+g"(j) : :);
73 *((vu16 *)0xBF9005A4) = -1;
74 *((vu16 *)0xBF9001A4) = -1;
75 *((vu16 *)0xBF9005A6) = 255;
76 *((vu16 *)0xBF9001A6) = 255;
77 for ( k = 0; k < 3124; k += 1 )
79 __asm__ __volatile__(
"" :
"+g"(k) : :);
81 *((vu16 *)0xBF900342) = 0;
82 *((vu16 *)0xBF900340) = 0;