/*****************************************************************************\ 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 _FXEMU_H_ #define _FXEMU_H_ #define FX_BREAKPOINT (-1) #define FX_ERROR_ILLEGAL_ADDRESS (-2) // The FxInfo_s structure, the link between the FxEmulator and the Snes Emulator struct FxInfo_s { uint32 vFlags; uint8 *pvRegisters; // 768 bytes located in the memory at address 0x3000 uint32 nRamBanks; // Number of 64kb-banks in GSU-RAM/BackupRAM (banks 0x70-0x73) uint8 *pvRam; // Pointer to GSU-RAM uint32 nRomBanks; // Number of 32kb-banks in Cart-ROM uint8 *pvRom; // Pointer to Cart-ROM uint32 speedPerLine; bool8 oneLineDone; }; extern struct FxInfo_s SuperFX; void S9xInitSuperFX (void); void S9xResetSuperFX (void); void S9xSuperFXExec (void); void S9xSetSuperFX (uint8, uint16); uint8 S9xGetSuperFX (uint16); void fx_flushCache (void); void fx_computeScreenPointers (void); uint32 fx_run (uint32); #endif