c62d2810 |
1 | /* FCE Ultra - NES/Famicom Emulator |
2 | * |
3 | * Copyright notice for this file: |
4 | * Copyright (C) 1998 Bero |
5 | * Copyright (C) 2002 Ben Parnell |
6 | * |
7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by |
9 | * the Free Software Foundation; either version 2 of the License, or |
10 | * (at your option) any later version. |
11 | * |
12 | * This program is distributed in the hope that it will be useful, |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | * GNU General Public License for more details. |
16 | * |
17 | * You should have received a copy of the GNU General Public License |
18 | * along with this program; if not, write to the Free Software |
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ |
21 | |
22 | #include "driver.h" |
23 | typedef struct __pal { |
24 | uint8 r; |
25 | uint8 g; |
26 | uint8 b; |
27 | } pal; |
28 | |
29 | typedef struct { |
30 | int PAL; |
31 | #ifdef NETWORK |
32 | int NetworkPlay; |
33 | #endif |
34 | int SoundVolume; |
35 | int GameGenie; |
36 | int SUnderBase; |
37 | |
38 | /* Current first and last rendered scanlines. */ |
39 | int FirstSLine; |
40 | int LastSLine; |
41 | |
42 | /* Driver code(user)-specified first and last rendered scanlines. |
43 | Usr*SLine[0] is for NTSC, Usr*SLine[1] is for PAL. |
44 | */ |
45 | int UsrFirstSLine[2]; |
46 | int UsrLastSLine[2]; |
47 | int SnapName; |
48 | unsigned int SndRate; |
49 | } FCEUS; |
50 | |
51 | extern FCEUS FSettings; |
52 | |
53 | void FCEU_PrintError(char *format, ...); |
54 | void FCEU_DispMessage(char *format, ...); |
55 | |
56 | void SetNESDeemph(uint8 d, int force); |
57 | void DrawTextTrans(uint8 *dest, uint32 width, uint8 *textmsg, uint8 fgcolor); |
58 | void FCEU_PutImage(void); |
59 | #ifdef FRAMESKIP |
60 | void FCEU_PutImageDummy(void); |
61 | #endif |
62 | |
63 | extern uint8 Exit; |
64 | extern uint8 pale; |
65 | extern uint8 vsdip; |
66 | void SetNESPalette(void); |
67 | |
68 | #define JOY_A 1 |
69 | #define JOY_B 2 |
70 | #define JOY_SELECT 4 |
71 | #define JOY_START 8 |
72 | #define JOY_UP 0x10 |
73 | #define JOY_DOWN 0x20 |
74 | #define JOY_LEFT 0x40 |
75 | #define JOY_RIGHT 0x80 |
76 | |
77 | extern pal *palo; |
78 | |
79 | void DoCommand(uint8 c); |
80 | extern uint8 CommandQueue; |
81 | void FCEU_ResetPalette(void); |
82 | void LoadGamePalette(void); |
83 | void FlushCommandQueue(void); |