/*****************************************************************************\ Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. This file is licensed under the Snes9x License. For further information, consult the LICENSE file in the root directory. \*****************************************************************************/ #ifndef _BSX_H_ #define _BSX_H_ #include struct SBSX { bool8 dirty; // Changed register values bool8 dirty2; // Changed register values bool8 bootup; // Start in bios mapping bool8 flash_enable; // Flash state bool8 write_enable; // ROM write protection bool8 read_enable; // Allow card vendor reading uint32 flash_command; // Flash command uint32 old_write; // Previous flash write address uint32 new_write; // Current flash write address uint8 out_index; uint8 output[32]; uint8 PPU[32]; uint8 MMC[16]; uint8 prevMMC[16]; uint8 test2192[32]; bool flash_csr; bool flash_gsr; bool flash_bsr; bool flash_cmd_done; std::ifstream sat_stream1; std::ifstream sat_stream2; bool sat_pf_latch1_enable, sat_dt_latch1_enable; bool sat_pf_latch2_enable, sat_dt_latch2_enable; bool sat_stream1_loaded, sat_stream2_loaded; bool sat_stream1_first, sat_stream2_first; uint8 sat_stream1_count, sat_stream2_count; uint16 sat_stream1_queue, sat_stream2_queue; }; extern struct SBSX BSX; uint8 S9xGetBSX (uint32); void S9xSetBSX (uint8, uint32); uint8 S9xGetBSXPPU (uint16); void S9xSetBSXPPU (uint8, uint16); uint8 * S9xGetBasePointerBSX (uint32); void S9xInitBSX (void); void S9xResetBSX (void); void S9xBSXPostLoadState (void); #endif