25 lines
512 B
C
25 lines
512 B
C
|
#include "shared/attributes.h"
|
||
|
#include "shared/sio.h"
|
||
|
|
||
|
__noreturn void _iop_start() {
|
||
|
// setup iop
|
||
|
*(char*)0xbf802070 = 9;
|
||
|
|
||
|
// Poke around with the cache control registers
|
||
|
//
|
||
|
*(int*)0xfffe0130 = 0xcc4;
|
||
|
*(int*)0xfffe0130 = 0xcc0;
|
||
|
|
||
|
// it seems like if bit 8 is set here,
|
||
|
// then the cache control is set nearly
|
||
|
// exactly like the PS1 kernel did
|
||
|
if((*(int*)0xbf801450) & 8)
|
||
|
*(int*)0xfffe0130 = 0x1e988;
|
||
|
else
|
||
|
*(int*)0xfffe0130 = 0x1edd8;
|
||
|
|
||
|
SIO_puts("IOP: Hello World from Lily~\n");
|
||
|
while(1)
|
||
|
;
|
||
|
}
|