mmuhack, 6502 tweaks, fskip
[fceu.git] / unif.h
1 /* FCE Ultra - NES/Famicom Emulator
2  *
3  * Copyright notice for this file:
4  *  Copyright (C) 2002 Ben Parnell
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 Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef UNIFPRIV
22 int UNIFLoad(char *name, int fp);
23 #endif
24
25 void TCU01_Init(void);
26 void S8259B_Init(void);
27 void S8259A_Init(void);
28 void S74LS374N_Init(void);
29 void SA0161M_Init(void);
30
31 void SA72007_Init(void);
32 void SA72008_Init(void);
33 void SA0036_Init(void);
34 void SA0037_Init(void);
35
36 void H2288_Init(void);
37
38 void HKROM_Init(void);
39
40 void ETROM_Init(void);
41 void EKROM_Init(void);
42 void ELROM_Init(void);
43 void EWROM_Init(void);
44
45 void SAROM_Init(void);
46 void SBROM_Init(void);
47 void SCROM_Init(void);
48 void SEROM_Init(void);
49 void SGROM_Init(void);
50 void SKROM_Init(void);
51 void SLROM_Init(void);
52 void SL1ROM_Init(void);
53 void SNROM_Init(void);
54 void SOROM_Init(void);
55
56 void NROM_Init(void);
57 void NROM256_Init(void);
58 void NROM128_Init(void);
59 void MHROM_Init(void);
60 void UNROM_Init(void);
61 void MALEE_Init(void);
62 void Supervision16_Init(void);
63 void Super24_Init(void);
64 void Novel_Init(void);
65 void CNROM_Init(void);
66 void CPROM_Init(void);
67
68 void TFROM_Init(void);
69 void TGROM_Init(void);
70 void TKROM_Init(void);
71 void TSROM_Init(void);
72 void TLROM_Init(void);
73 void TLSROM_Init(void);
74 void TKSROM_Init(void);
75 void TQROM_Init(void);
76 void TQROM_Init(void);
77
78
79 void UNIFOpenWRAM(int t, char *ext, int override);
80 void UNIFWriteWRAM(uint8 *p, int size);
81 void UNIFReadWRAM(uint8 *p, int size);
82 void UNIFCloseWRAM(void);
83 #define UOW_RD  0
84 #define UOW_WR  1
85
86 extern void (*BoardClose)(void);
87 extern void (*BoardPower)(void);
88 extern void (*BoardReset)(void);
89
90 #define UNIFMemBlock (GameMemBlock+32768)
91
92 extern int UNIFbattery;
93 extern char *UNIFchrrama;       // Meh.  So I can't stop CHR RAM 
94                                 // bank switcherooing with certain boards...