cdrom: change pause timing again
[pcsx_rearmed.git] / libpcsxcore / gte.h
CommitLineData
ef79bbde
P
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
59774ed0 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
6c0eefaf 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__
59774ed0 56#endif
57
ef79bbde
P
58#ifndef __GTE_H__
59#define __GTE_H__
60
61#ifdef __cplusplus
62extern "C" {
63#endif
64
65#include "psxcommon.h"
66#include "r3000a.h"
67
6c0eefaf 68struct psxCP2Regs;
f74fb727 69
32631e6a 70extern const unsigned char gte_cycletab[64];
81dbbf4c 71
72int gteCheckStallRaw(u32 op_cycles, psxRegisters *regs);
73void gteCheckStall(u32 op);
74
4cc373dd 75u32 MFC2(struct psxCP2Regs *regs, int reg);
76void MTC2(struct psxCP2Regs *regs, u32 value, int reg);
77void CTC2(struct psxCP2Regs *regs, u32 value, int reg);
ef79bbde 78
6c0eefaf 79void gteRTPS(struct psxCP2Regs *regs);
80void gteOP(struct psxCP2Regs *regs);
81void gteNCLIP(struct psxCP2Regs *regs);
82void gteDPCS(struct psxCP2Regs *regs);
83void gteINTPL(struct psxCP2Regs *regs);
84void gteMVMVA(struct psxCP2Regs *regs);
85void gteNCDS(struct psxCP2Regs *regs);
86void gteNCDT(struct psxCP2Regs *regs);
87void gteCDP(struct psxCP2Regs *regs);
88void gteNCCS(struct psxCP2Regs *regs);
89void gteCC(struct psxCP2Regs *regs);
90void gteNCS(struct psxCP2Regs *regs);
91void gteNCT(struct psxCP2Regs *regs);
92void gteSQR(struct psxCP2Regs *regs);
93void gteDCPL(struct psxCP2Regs *regs);
94void gteDPCT(struct psxCP2Regs *regs);
95void gteAVSZ3(struct psxCP2Regs *regs);
96void gteAVSZ4(struct psxCP2Regs *regs);
97void gteRTPT(struct psxCP2Regs *regs);
98void gteGPF(struct psxCP2Regs *regs);
99void gteGPL(struct psxCP2Regs *regs);
100void gteNCCT(struct psxCP2Regs *regs);
101
102void gteSQR_part_noshift(struct psxCP2Regs *regs);
103void gteSQR_part_shift(struct psxCP2Regs *regs);
104void gteOP_part_noshift(struct psxCP2Regs *regs);
105void gteOP_part_shift(struct psxCP2Regs *regs);
106void gteDCPL_part(struct psxCP2Regs *regs);
107void gteGPF_part_noshift(struct psxCP2Regs *regs);
108void gteGPF_part_shift(struct psxCP2Regs *regs);
109
110void gteGPL_part_noshift(struct psxCP2Regs *regs);
111void gteGPL_part_shift(struct psxCP2Regs *regs);
112void gteDPCS_part_noshift(struct psxCP2Regs *regs);
113void gteDPCS_part_shift(struct psxCP2Regs *regs);
114void gteINTPL_part_noshift(struct psxCP2Regs *regs);
115void gteINTPL_part_shift(struct psxCP2Regs *regs);
116void gteMACtoRGB(struct psxCP2Regs *regs);
ef79bbde
P
117
118#ifdef __cplusplus
119}
120#endif
121#endif