rlm@1: #ifndef VBA_GB_H rlm@1: #define VBA_GB_H rlm@1: rlm@1: #if _MSC_VER > 1000 rlm@1: #pragma once rlm@1: #endif // _MSC_VER > 1000 rlm@1: rlm@1: #include "zlib.h" rlm@1: #include "../Port.h" rlm@1: rlm@1: typedef union rlm@1: { rlm@1: struct rlm@1: { rlm@1: #ifdef WORDS_BIGENDIAN rlm@1: u8 B1, B0; rlm@1: #else rlm@1: u8 B0, B1; rlm@1: #endif rlm@1: } B; rlm@1: u16 W; rlm@1: } gbRegister; rlm@1: rlm@1: extern bool gbLoadRom(const char *); rlm@92: extern int gbEmulate(int); rlm@1: extern bool gbIsGameboyRom(const char *); rlm@1: extern void gbSoundReset(); rlm@1: extern void gbSoundSetQuality(int); rlm@1: extern void gbReset(bool userReset = false); rlm@1: extern void gbCleanUp(); rlm@1: extern bool gbWriteBatteryFile(const char *); rlm@1: extern bool gbWriteBatteryFile(const char *, bool); rlm@1: extern bool gbWriteBatteryToStream(gzFile); rlm@1: extern bool gbReadBatteryFile(const char *); rlm@1: extern bool gbReadBatteryFromStream(gzFile); rlm@1: extern bool gbWriteSaveState(const char *); rlm@1: extern bool gbWriteMemSaveState(char *, int); rlm@1: extern bool gbReadSaveState(const char *); rlm@1: extern bool gbReadMemSaveState(char *, int); rlm@1: extern bool gbReadSaveStateFromStream(gzFile); rlm@1: extern bool gbWriteSaveStateToStream(gzFile); rlm@1: extern void gbSgbRenderBorder(); rlm@1: extern bool gbWritePNGFile(const char *); rlm@1: extern bool gbWriteBMPFile(const char *); rlm@1: extern bool gbReadGSASnapshot(const char *); rlm@1: rlm@496: extern void getPixels32(int32 *); rlm@496: rlm@59: extern int getRamSize(); rlm@59: extern int getRomSize(); rlm@93: rlm@93: extern void storeMemory(int32 *); rlm@96: extern void writeMemory(int32 *); rlm@96: rlm@60: extern void storeRam(int32 *); rlm@61: extern void storeRom(int32 *); rlm@191: extern void writeRom(int32 *); rlm@191: rlm@61: extern void storeWRam(int32 *); rlm@61: extern void storeVRam(int32 *); rlm@62: extern void storeRegisters(int32 *); rlm@100: extern void setRegisters(int32 *); rlm@100: rlm@76: extern long gbWriteMemSaveStatePos(char *, int); rlm@59: rlm@522: extern u8 gbReadMemory(u16 address); rlm@522: rlm@523: extern u16 soundFrameSound[735 * 30 * 2]; rlm@523: extern int32 soundFrameSoundWritten; rlm@523: rlm@1: extern struct EmulatedSystem GBSystem; rlm@1: extern struct EmulatedSystemCounters &GBSystemCounters; rlm@1: rlm@1: #endif // VBA_GB_H