aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/gte.h
blob: 8bc6988d38fced22b5cd6304e2ac3dd9f6e6c0ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/***************************************************************************
 *   PCSX-Revolution - PlayStation Emulator for Nintendo Wii               *
 *   Copyright (C) 2009-2010  PCSX-Revolution Dev Team                     *
 *   <http://code.google.com/p/pcsx-revolution/>                           *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA.           *
 ***************************************************************************/

#ifdef FLAGLESS

#define gteRTPS gteRTPS_nf
#define gteOP gteOP_nf
#define gteNCLIP gteNCLIP_nf
#define gteDPCS gteDPCS_nf
#define gteINTPL gteINTPL_nf
#define gteMVMVA gteMVMVA_nf
#define gteNCDS gteNCDS_nf
#define gteNCDT gteNCDT_nf
#define gteCDP gteCDP_nf
#define gteNCCS gteNCCS_nf
#define gteCC gteCC_nf
#define gteNCS gteNCS_nf
#define gteNCT gteNCT_nf
#define gteSQR gteSQR_nf
#define gteDCPL gteDCPL_nf
#define gteDPCT gteDPCT_nf
#define gteAVSZ3 gteAVSZ3_nf
#define gteAVSZ4 gteAVSZ4_nf
#define gteRTPT gteRTPT_nf
#define gteGPF gteGPF_nf
#define gteGPL gteGPL_nf
#define gteNCCT gteNCCT_nf

#define gteGPL_part_noshift gteGPL_part_noshift_nf
#define gteGPL_part_shift gteGPL_part_shift_nf
#define gteDPCS_part_noshift gteDPCS_part_noshift_nf
#define gteDPCS_part_shift gteDPCS_part_shift_nf
#define gteINTPL_part_noshift gteINTPL_part_noshift_nf
#define gteINTPL_part_shift gteINTPL_part_shift_nf
#define gteMACtoRGB gteMACtoRGB_nf

#undef __GTE_H__
#endif

#ifndef __GTE_H__
#define __GTE_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "psxcommon.h"
#include "r3000a.h"

struct psxCP2Regs;

u32 MFC2(int reg);
void MTC2(u32 value, int reg);
void CTC2(u32 value, int reg);

void gteMFC2();
void gteCFC2();
void gteMTC2();
void gteCTC2();
void gteLWC2();
void gteSWC2();

void gteRTPS(struct psxCP2Regs *regs);
void gteOP(struct psxCP2Regs *regs);
void gteNCLIP(struct psxCP2Regs *regs);
void gteDPCS(struct psxCP2Regs *regs);
void gteINTPL(struct psxCP2Regs *regs);
void gteMVMVA(struct psxCP2Regs *regs);
void gteNCDS(struct psxCP2Regs *regs);
void gteNCDT(struct psxCP2Regs *regs);
void gteCDP(struct psxCP2Regs *regs);
void gteNCCS(struct psxCP2Regs *regs);
void gteCC(struct psxCP2Regs *regs);
void gteNCS(struct psxCP2Regs *regs);
void gteNCT(struct psxCP2Regs *regs);
void gteSQR(struct psxCP2Regs *regs);
void gteDCPL(struct psxCP2Regs *regs);
void gteDPCT(struct psxCP2Regs *regs);
void gteAVSZ3(struct psxCP2Regs *regs);
void gteAVSZ4(struct psxCP2Regs *regs);
void gteRTPT(struct psxCP2Regs *regs);
void gteGPF(struct psxCP2Regs *regs);
void gteGPL(struct psxCP2Regs *regs);
void gteNCCT(struct psxCP2Regs *regs);

void gteSQR_part_noshift(struct psxCP2Regs *regs);
void gteSQR_part_shift(struct psxCP2Regs *regs);
void gteOP_part_noshift(struct psxCP2Regs *regs);
void gteOP_part_shift(struct psxCP2Regs *regs);
void gteDCPL_part(struct psxCP2Regs *regs);
void gteGPF_part_noshift(struct psxCP2Regs *regs);
void gteGPF_part_shift(struct psxCP2Regs *regs);

void gteGPL_part_noshift(struct psxCP2Regs *regs);
void gteGPL_part_shift(struct psxCP2Regs *regs);
void gteDPCS_part_noshift(struct psxCP2Regs *regs);
void gteDPCS_part_shift(struct psxCP2Regs *regs);
void gteINTPL_part_noshift(struct psxCP2Regs *regs);
void gteINTPL_part_shift(struct psxCP2Regs *regs);
void gteMACtoRGB(struct psxCP2Regs *regs);

#ifdef __cplusplus
}
#endif
#endif