1 /******************************************************************************/ 2 /* Mednafen Fast SNES Emulation Module */ 3 /******************************************************************************/ 4 /* cart-private.h: 5 ** Copyright (C) 2019 Mednafen Team 6 ** 7 ** This program is free software; you can redistribute it and/or 8 ** modify it under the terms of the GNU General Public License 9 ** as published by the Free Software Foundation; either version 2 10 ** of the License, or (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 Foundation, Inc., 19 ** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 */ 21 22 #ifndef __MDFN_SNES_FAUST_CART_PRIVATE_H 23 #define __MDFN_SNES_FAUST_CART_PRIVATE_H 24 25 namespace MDFN_IEN_SNES_FAUST 26 { 27 28 enum 29 { 30 ROM_LAYOUT_LOROM = 0, 31 ROM_LAYOUT_HIROM, 32 ROM_LAYOUT_EXLOROM, 33 ROM_LAYOUT_EXHIROM, 34 35 ROM_LAYOUT_INVALID = 0xFFFFFFFF 36 }; 37 38 struct CartInfo 39 { 40 void (*Reset)(bool powering_up); 41 void (*Kill)(void); 42 43 void (*StateAction)(StateMem* sm, const unsigned load, const bool data_only); 44 45 void (*AdjustTS)(const int32 delta); 46 47 snes_event_handler EventHandler; 48 // 49 // 50 // 51 uint8* RAM; 52 size_t RAM_Mask; 53 size_t RAM_Size; 54 55 size_t ROM_Size; 56 unsigned ROMLayout; 57 // 58 uint8 ROM[8192 * 1024]; 59 }; 60 61 MDFN_HIDE extern CartInfo Cart; 62 } 63 64 #endif 65