drc: implement block addr list saving
[pcsx_rearmed.git] / libpcsxcore / gte.h
1 /***************************************************************************
2  *   PCSX-Revolution - PlayStation Emulator for Nintendo Wii               *
3  *   Copyright (C) 2009-2010  PCSX-Revolution Dev Team                     *
4  *   <http://code.google.com/p/pcsx-revolution/>                           *
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 02111-1307 USA.           *
20  ***************************************************************************/
21
22 #ifdef FLAGLESS
23
24 #define gteRTPS gteRTPS_nf
25 #define gteOP gteOP_nf
26 #define gteNCLIP gteNCLIP_nf
27 #define gteDPCS gteDPCS_nf
28 #define gteINTPL gteINTPL_nf
29 #define gteMVMVA gteMVMVA_nf
30 #define gteNCDS gteNCDS_nf
31 #define gteNCDT gteNCDT_nf
32 #define gteCDP gteCDP_nf
33 #define gteNCCS gteNCCS_nf
34 #define gteCC gteCC_nf
35 #define gteNCS gteNCS_nf
36 #define gteNCT gteNCT_nf
37 #define gteSQR gteSQR_nf
38 #define gteDCPL gteDCPL_nf
39 #define gteDPCT gteDPCT_nf
40 #define gteAVSZ3 gteAVSZ3_nf
41 #define gteAVSZ4 gteAVSZ4_nf
42 #define gteRTPT gteRTPT_nf
43 #define gteGPF gteGPF_nf
44 #define gteGPL gteGPL_nf
45 #define gteNCCT gteNCCT_nf
46
47 #define gteGPL_part_noshift gteGPL_part_noshift_nf
48 #define gteGPL_part_shift gteGPL_part_shift_nf
49 #define gteDPCS_part_noshift gteDPCS_part_noshift_nf
50 #define gteDPCS_part_shift gteDPCS_part_shift_nf
51 #define gteINTPL_part_noshift gteINTPL_part_noshift_nf
52 #define gteINTPL_part_shift gteINTPL_part_shift_nf
53 #define gteMACtoRGB gteMACtoRGB_nf
54
55 #undef __GTE_H__
56 #endif
57
58 #ifndef __GTE_H__
59 #define __GTE_H__
60
61 #ifdef __cplusplus
62 extern "C" {
63 #endif
64
65 #include "psxcommon.h"
66 #include "r3000a.h"
67
68 struct psxCP2Regs;
69
70 void gteMFC2();
71 void gteCFC2();
72 void gteMTC2();
73 void gteCTC2();
74 void gteLWC2();
75 void gteSWC2();
76
77 void gteRTPS(struct psxCP2Regs *regs);
78 void gteOP(struct psxCP2Regs *regs);
79 void gteNCLIP(struct psxCP2Regs *regs);
80 void gteDPCS(struct psxCP2Regs *regs);
81 void gteINTPL(struct psxCP2Regs *regs);
82 void gteMVMVA(struct psxCP2Regs *regs);
83 void gteNCDS(struct psxCP2Regs *regs);
84 void gteNCDT(struct psxCP2Regs *regs);
85 void gteCDP(struct psxCP2Regs *regs);
86 void gteNCCS(struct psxCP2Regs *regs);
87 void gteCC(struct psxCP2Regs *regs);
88 void gteNCS(struct psxCP2Regs *regs);
89 void gteNCT(struct psxCP2Regs *regs);
90 void gteSQR(struct psxCP2Regs *regs);
91 void gteDCPL(struct psxCP2Regs *regs);
92 void gteDPCT(struct psxCP2Regs *regs);
93 void gteAVSZ3(struct psxCP2Regs *regs);
94 void gteAVSZ4(struct psxCP2Regs *regs);
95 void gteRTPT(struct psxCP2Regs *regs);
96 void gteGPF(struct psxCP2Regs *regs);
97 void gteGPL(struct psxCP2Regs *regs);
98 void gteNCCT(struct psxCP2Regs *regs);
99
100 void gteSQR_part_noshift(struct psxCP2Regs *regs);
101 void gteSQR_part_shift(struct psxCP2Regs *regs);
102 void gteOP_part_noshift(struct psxCP2Regs *regs);
103 void gteOP_part_shift(struct psxCP2Regs *regs);
104 void gteDCPL_part(struct psxCP2Regs *regs);
105 void gteGPF_part_noshift(struct psxCP2Regs *regs);
106 void gteGPF_part_shift(struct psxCP2Regs *regs);
107
108 void gteGPL_part_noshift(struct psxCP2Regs *regs);
109 void gteGPL_part_shift(struct psxCP2Regs *regs);
110 void gteDPCS_part_noshift(struct psxCP2Regs *regs);
111 void gteDPCS_part_shift(struct psxCP2Regs *regs);
112 void gteINTPL_part_noshift(struct psxCP2Regs *regs);
113 void gteINTPL_part_shift(struct psxCP2Regs *regs);
114 void gteMACtoRGB(struct psxCP2Regs *regs);
115
116 #ifdef __cplusplus
117 }
118 #endif
119 #endif