rlm@1: #ifndef VBA_GBA_H rlm@1: #define VBA_GBA_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: #if (defined(WIN32) && !defined(SDL)) rlm@1: #include "../win32/stdafx.h" // for HANDLE rlm@1: //#include // for HANDLE rlm@1: // NOTE: if you get this error: rlm@1: // #error WINDOWS.H already included. MFC apps must not #include rlm@1: // it is probably because stdafx.h is getting included at the wrong place rlm@1: // (i.e. after anything else) in a file, or your precompiled headers are otherwise wrong rlm@1: #endif rlm@1: rlm@1: #define SAVE_GAME_VERSION_1 1 rlm@1: #define SAVE_GAME_VERSION_2 2 rlm@1: #define SAVE_GAME_VERSION_3 3 rlm@1: #define SAVE_GAME_VERSION_4 4 rlm@1: #define SAVE_GAME_VERSION_5 5 rlm@1: #define SAVE_GAME_VERSION_6 6 rlm@1: #define SAVE_GAME_VERSION_7 7 rlm@1: #define SAVE_GAME_VERSION_8 8 rlm@1: #define SAVE_GAME_VERSION_9 9 rlm@1: #define SAVE_GAME_VERSION_10 10 rlm@1: #define SAVE_GAME_VERSION_11 11 rlm@1: #define SAVE_GAME_VERSION_12 12 rlm@1: #define SAVE_GAME_VERSION_13 13 rlm@1: #define SAVE_GAME_VERSION SAVE_GAME_VERSION_13 rlm@1: rlm@1: #if (defined(WIN32) && !defined(SDL)) rlm@1: extern HANDLE mapROM; // shared memory handles rlm@1: extern HANDLE mapWORKRAM; rlm@1: extern HANDLE mapBIOS; rlm@1: extern HANDLE mapIRAM; rlm@1: extern HANDLE mapPALETTERAM; rlm@1: extern HANDLE mapVRAM; rlm@1: extern HANDLE mapOAM; rlm@1: extern HANDLE mapPIX; rlm@1: extern HANDLE mapIOMEM; rlm@1: #endif rlm@1: rlm@1: /* rlm@1: extern reg_pair reg[45]; rlm@1: extern u8 biosProtected[4]; rlm@1: rlm@1: extern bool8 N_FLAG; rlm@1: extern bool8 Z_FLAG; rlm@1: extern bool8 C_FLAG; rlm@1: extern bool8 V_FLAG; rlm@1: extern bool8 armIrqEnable; rlm@1: extern bool8 armState; rlm@1: extern int32 armMode; rlm@1: */ rlm@1: extern void (*cpuSaveGameFunc)(u32, u8); rlm@1: rlm@1: extern bool8 freezeWorkRAM[0x40000]; rlm@1: extern bool8 freezeInternalRAM[0x8000]; rlm@1: extern bool CPUReadGSASnapshot(const char *); rlm@1: extern bool CPUWriteGSASnapshot(const char *, const char *, const char *, const char *); rlm@1: extern bool CPUWriteBatteryFile(const char *); rlm@1: extern bool CPUReadBatteryFile(const char *); rlm@1: extern bool CPUWriteBatteryToStream(gzFile); rlm@1: extern bool CPUReadBatteryFromStream(gzFile); rlm@1: extern bool CPUExportEepromFile(const char *); rlm@1: extern bool CPUImportEepromFile(const char *); rlm@1: extern bool CPUWritePNGFile(const char *); rlm@1: extern bool CPUWriteBMPFile(const char *); rlm@1: extern void CPUCleanUp(); rlm@1: extern void CPUUpdateRender(); rlm@1: extern void CPUUpdateRenderBuffers(bool force); rlm@1: extern bool CPUReadMemState(char *, int); rlm@1: extern bool CPUReadState(const char *); rlm@1: extern bool CPUWriteMemState(char *, int); rlm@1: extern bool CPUWriteState(const char *); rlm@1: extern bool CPUReadStateFromStream(gzFile); rlm@1: extern bool CPUWriteStateToStream(gzFile); rlm@1: extern int CPULoadRom(const char *); rlm@1: extern void CPUUpdateRegister(u32, u16); rlm@1: extern void CPUWriteHalfWord(u32, u16); rlm@1: extern void CPUWriteByte(u32, u8); rlm@1: extern bool CPULoadBios(const char *, bool); rlm@1: extern void CPUInit(); rlm@1: extern void CPUReset(bool userReset = false); rlm@92: extern int CPULoop(int); rlm@1: extern void CPUCheckDMA(int, int); rlm@1: #ifdef PROFILING rlm@1: extern void cpuProfil(char *buffer, int, u32, int); rlm@1: extern void cpuEnableProfiling(int hz); rlm@1: #endif rlm@1: rlm@1: extern struct EmulatedSystem GBASystem; rlm@1: extern struct EmulatedSystemCounters &GBASystemCounters; rlm@1: rlm@1: #define R13_IRQ 18 rlm@1: #define R14_IRQ 19 rlm@1: #define SPSR_IRQ 20 rlm@1: #define R13_USR 26 rlm@1: #define R14_USR 27 rlm@1: #define R13_SVC 28 rlm@1: #define R14_SVC 29 rlm@1: #define SPSR_SVC 30 rlm@1: #define R13_ABT 31 rlm@1: #define R14_ABT 32 rlm@1: #define SPSR_ABT 33 rlm@1: #define R13_UND 34 rlm@1: #define R14_UND 35 rlm@1: #define SPSR_UND 36 rlm@1: #define R8_FIQ 37 rlm@1: #define R9_FIQ 38 rlm@1: #define R10_FIQ 39 rlm@1: #define R11_FIQ 40 rlm@1: #define R12_FIQ 41 rlm@1: #define R13_FIQ 42 rlm@1: #define R14_FIQ 43 rlm@1: #define SPSR_FIQ 44 rlm@1: rlm@1: #endif // VBA_GBA_H