RSP: Added musyx ucode suport to HLE from mupen64plus-ae
[mupen64plus-pandora.git] / source / mupen64plus-rsp-hle / src / alist.h
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  *   Mupen64plus-rsp-hle - alist_internal.h                                *
3  *   Mupen64Plus homepage: http://code.google.com/p/mupen64plus/           *
4  *   Copyright (C) 2002 Hacktarux                                          *
5  *                                                                         *
6  *   This program is free software; you can redistribute it and/or modify  *
7  *   it under the terms of the GNU General Public License as published by  *
8  *   the Free Software Foundation; either version 2 of the License, or     *
9  *   (at your option) any later version.                                   *
10  *                                                                         *
11  *   This program is distributed in the hope that it will be useful,       *
12  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
13  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
14  *   GNU General Public License for more details.                          *
15  *                                                                         *
16  *   You should have received a copy of the GNU General Public License     *
17  *   along with this program; if not, write to the                         *
18  *   Free Software Foundation, Inc.,                                       *
19  *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.          *
20  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
21
22 #ifndef ALIST_INTERNAL_H
23 #define ALIST_INTERNAL_H
24
25 #include <stdint.h>
26
27 typedef void (*acmd_callback_t)(uint32_t inst1, uint32_t inst2);
28
29 /*
30  * Audio flags
31  */
32
33 #define A_INIT          0x01
34 #define A_CONTINUE      0x00
35 #define A_LOOP          0x02
36 #define A_OUT           0x02
37 #define A_LEFT          0x02
38 #define A_RIGHT         0x00
39 #define A_VOL           0x04
40 #define A_RATE          0x00
41 #define A_AUX           0x08
42 #define A_NOAUX         0x00
43 #define A_MAIN          0x00
44 #define A_MIX           0x10
45
46 /* FIXME: this decomposition into 3 ABI is not accurate,
47  * there are a least 9 or 10 different ABI, each with one or a few revisions
48  * for a total of almost 16 differents audio ucode.
49  *
50  * ABI2 in fact is a mix of at least 7 differents ABI which are mostly compatible
51  * but not totally, that's why there is a isZeldaABI/isMKABI workaround.
52  */
53 extern const acmd_callback_t ABI1[0x10];
54 extern const acmd_callback_t ABI2[0x20];
55 extern const acmd_callback_t ABI3[0x10];
56
57 #endif