add ability to disable DVDX
[libogc.git] / libdi / stubasm.h
blob289528c3b36675742d50b814e94a6800c7a3aad7
1 #ifndef __STUBASM_H__
2 #define __STUBASM_H__
4 #include <ogc/machine/asm.h>
6 #define MEM1_WORDS 0x1002
8 #ifdef _LANGUAGE_ASSEMBLY
10 #define MSR_OFF 0x00
11 #define R1_OFF 0x04
12 #define R2_OFF 0x08
13 #define R13_OFF 0x0c
14 #define R14_OFF 0x10
15 #define R15_OFF 0x14
16 #define R16_OFF 0x18
17 #define R17_OFF 0x1c
18 #define R18_OFF 0x20
19 #define R19_OFF 0x24
20 #define R20_OFF 0x28
21 #define R21_OFF 0x2c
22 #define R22_OFF 0x30
23 #define R23_OFF 0x34
24 #define R24_OFF 0x38
25 #define R25_OFF 0x3c
26 #define R26_OFF 0x40
27 #define R27_OFF 0x44
28 #define R28_OFF 0x48
29 #define R29_OFF 0x4c
30 #define R30_OFF 0x50
31 #define R31_OFF 0x54
32 #define MEM1_OFF 0x58
33 #define SPRG0_OFF 0x4060
34 #define SPRG1_OFF 0x4064
35 #define SPRG2_OFF 0x4068
36 #define SPRG3_OFF 0x406C
37 #define HID0_OFF 0x4070
38 #define HID1_OFF 0x4074
39 #define HID2_OFF 0x4078
40 #define HID4_OFF 0x407C
41 #define WPAR_OFF 0x4080
43 #else
45 typedef struct {
47 u32 _msr;
48 u32 _r1, _r2;
49 u32 _r13, _r14, _r15, _r16, _r17, _r18;
50 u32 _r19, _r20, _r21, _r22, _r23, _r24;
51 u32 _r25, _r26, _r27, _r28, _r29, _r30;
52 u32 _r31;
54 u32 _mem1[MEM1_WORDS];
56 u32 _sprg0, _sprg1, _sprg2, _sprg3;
57 u32 _hid0, _hid1, _hid2, _hid4;
59 u32 _wpar;
61 } context_storage;
63 typedef struct {
65 u32 piReg[6];
66 u64 timebase;
68 } register_storage;
70 void __distub_take_plunge(context_storage *ctx);
72 #endif
74 #endif