1 /****************************************************************************
3 * ____ ___ ____ __ ______ ___ ____ ____/ / *
4 * / __ `__ \/ __ `/ |/ / __ `__ \/ __ \/ __ / *
5 * / / / / / / /_/ /> </ / / / / / /_/ / /_/ / *
6 * /_/ /_/ /_/\__,_/_/|_/_/ /_/ /_/\____/\__,_/ *
8 * MACROS TO MAKE LIFE EASY *
10 * Copyright (c) 2008, Mukunda Johnson (mukunda@maxmod.org) *
12 * Permission to use, copy, modify, and/or distribute this software for any *
13 * purpose with or without fee is hereby granted, provided that the above *
14 * copyright notice and this permission notice appear in all copies. *
16 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES *
17 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF *
18 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR *
19 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES *
20 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN *
21 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *
22 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
23 ****************************************************************************/
27 .macro ret0 @ arm9 pop {pc} has mode change
30 .macro ret1 @ arm9 pop {pc} has mode change
33 .macro ret2 @ arm9 pop {pc} has mode change
36 .macro ret3 @ arm9 pop {pc} has mode change
53 .macro fjump2 function
60 .macro ret0 @ arm7 requires pop/bx combo
94 .macro fjump2 function
119 ldr \reg,=mm_mix_channels
122 ldr \reg,=mm_mixchannels
127 //#define ENABLE_PROFILE
129 .macro PROF_START mode
131 #ifdef ENABLE_PROFILE
135 ldr r1,=profile_start
149 #ifdef ENABLE_PROFILE
166 .macro __SECTION_IWRAM
168 .section ".iwram", "ax", %progbits
174 //------------------------------
175 .macro nocash_msg msg
176 //------------------------------
185 //------------------------------
186 .macro nocash_reset_clks
187 //------------------------------
188 nocash_msg %zeroclks%
190 //------------------------------
191 .macro nocash_print_clks
192 //------------------------------
193 nocash_msg %lastclks%
195 //------------------------------