1 /*---------------------------------------------------------------------------*
2   Project:  TwlSDK - OS - include
3   File:     os_systemCall.c
4 
5   Copyright 2003-2008 Nintendo.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Date:: 2008-09-18#$
14   $Rev: 8573 $
15   $Author: okubata_ryoma $
16 
17  *---------------------------------------------------------------------------*/
18 #ifdef SDK_ARM9
19 #include <nitro.h>
20 
21 //----------------------------------------------------------------
SVC_WaitByLoop(s32 count)22 asm void SVC_WaitByLoop( s32 count )
23 {
24   swi         3
25   bx          lr
26 }
27 
28 #if 0
29 //----------------------------------------------------------------
30 asm void SVC_WaitIrq( BOOL clear, OSIrqMask irqFlags )
31 {
32   mov         r2,#0
33   swi         4
34   bx          lr
35 }
36 #endif
37 
38 //----------------------------------------------------------------
SVC_WaitVBlankIntr(void)39 asm void SVC_WaitVBlankIntr( void )
40 {
41   mov         r2,#0
42   swi         5
43   bx          lr
44 }
45 
46 //----------------------------------------------------------------
SVC_Halt(void)47 asm void SVC_Halt( void )
48 {
49   swi         6
50   bx          lr
51 }
52 
53 //----------------------------------------------------------------
SVC_Div(s32 number,s32 denom)54 asm s32 SVC_Div( s32 number, s32 denom )
55 {
56   swi         9
57   bx          lr
58 }
59 
60 //----------------------------------------------------------------
SVC_DivRem(s32 number,s32 denom)61 asm s32 SVC_DivRem( s32 number, s32 denom )
62 {
63   swi         9
64   mov         r0,r1
65   bx          lr
66 }
67 
68 //----------------------------------------------------------------
SVC_CpuSet(const void * srcp,void * destp,u32 dmaCntData)69 asm void SVC_CpuSet( const void *srcp, void *destp, u32 dmaCntData )
70 {
71   swi         11
72   bx          lr
73 }
74 
75 //----------------------------------------------------------------
SVC_CpuSetFast(const void * srcp,void * destp,u32 dmaCntData)76 asm void SVC_CpuSetFast( const void *srcp, void *destp, u32 dmaCntData )
77 {
78   swi         12
79   bx          lr
80 }
81 
82 //----------------------------------------------------------------
SVC_Sqrt(u32 src)83 asm u16 SVC_Sqrt( u32 src )
84 {
85   swi         13
86   bx          lr
87 }
88 
89 //----------------------------------------------------------------
SVC_GetCRC16(u32 start,const void * datap,u32 size)90 asm u16 SVC_GetCRC16( u32 start, const void *datap, u32 size )
91 {
92   swi         14
93   bx          lr
94 }
95 
96 //----------------------------------------------------------------
SVC_IsMmemExpanded(void)97 asm BOOL SVC_IsMmemExpanded( void )
98 {
99   swi         15
100   bx          lr
101 }
102 
103 //----------------------------------------------------------------
SVC_UnpackBits(const void * srcp,void * destp,const MIUnpackBitsParam * paramp)104 asm void SVC_UnpackBits( const void *srcp, void *destp, const MIUnpackBitsParam *paramp )
105 {
106   swi         16
107   bx          lr
108 }
109 
110 //----------------------------------------------------------------
SVC_UncompressLZ8(const void * srcp,void * destp)111 asm void SVC_UncompressLZ8( const void *srcp, void *destp )
112 {
113   swi         17
114   bx          lr
115 }
116 
117 //----------------------------------------------------------------
SVC_UncompressLZ16FromDevice(const void * srcp,void * destp,const void * paramp,const MIReadStreamCallbacks * callbacks)118 asm s32 SVC_UncompressLZ16FromDevice( const void *srcp, void *destp, const void *paramp, const MIReadStreamCallbacks *callbacks )
119 {
120   swi         18
121   bx          lr
122 }
123 
124 //----------------------------------------------------------------
SVC_UncompressHuffmanFromDevice(const void * srcp,void * destp,u8 * tableBufp,const MIReadStreamCallbacks * callbacks)125 asm s32 SVC_UncompressHuffmanFromDevice( const void *srcp, void *destp, u8 *tableBufp, const MIReadStreamCallbacks *callbacks )
126 {
127   swi         19
128   bx          lr
129 }
130 
131 //----------------------------------------------------------------
SVC_UncompressRL8(const void * srcp,void * destp)132 asm void SVC_UncompressRL8( const void *srcp, void *destp )
133 {
134   swi         20
135   bx          lr
136 }
137 
138 //----------------------------------------------------------------
SVC_UncompressRL16FromDevice(const void * srcp,void * destp,const void * paramp,const MIReadStreamCallbacks * callbacks)139 asm s32 SVC_UncompressRL16FromDevice( const void *srcp, void *destp, const void *paramp, const MIReadStreamCallbacks *callbacks )
140 {
141   swi         21
142   bx          lr
143 }
144 #endif // ifdef SDK_ARM9
145