diff options
author | Arisotura <thetotalworm@gmail.com> | 2020-07-01 00:01:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-01 00:01:11 +0200 |
commit | 62c6e2f703d88660e0ca9bda78032c5bd6b63a78 (patch) | |
tree | 1dbf9eb1bbe418d14f07dc3a0e30821fb5deb258 /src/ARMJIT_Memory.h | |
parent | d97ce22b010e868437c649911bce89d679a4deaa (diff) | |
parent | c5381d2911d47fb1fcbd6ec27a83f5da3606c4bd (diff) |
Merge pull request #667 from Arisotura/generic_jit
merge jit
Diffstat (limited to 'src/ARMJIT_Memory.h')
-rw-r--r-- | src/ARMJIT_Memory.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/ARMJIT_Memory.h b/src/ARMJIT_Memory.h new file mode 100644 index 0000000..123e18e --- /dev/null +++ b/src/ARMJIT_Memory.h @@ -0,0 +1,63 @@ +#ifndef ARMJIT_MEMORY +#define ARMJIT_MEMORY + +#include "types.h" + +#include "ARM.h" + +namespace ARMJIT_Memory +{ + +extern void* FastMem9Start; +extern void* FastMem7Start; + +void Init(); +void DeInit(); + +void Reset(); + +enum +{ + memregion_Other = 0, + memregion_ITCM, + memregion_DTCM, + memregion_BIOS9, + memregion_MainRAM, + memregion_SharedWRAM, + memregion_IO9, + memregion_VRAM, + memregion_BIOS7, + memregion_WRAM7, + memregion_IO7, + memregion_Wifi, + memregion_VWRAM, + + // DSi + memregion_BIOS9DSi, + memregion_BIOS7DSi, + memregion_NewSharedWRAM_A, + memregion_NewSharedWRAM_B, + memregion_NewSharedWRAM_C, + + memregions_Count +}; + +int ClassifyAddress9(u32 addr); +int ClassifyAddress7(u32 addr); + +bool GetMirrorLocation(int region, u32 num, u32 addr, u32& memoryOffset, u32& mirrorStart, u32& mirrorSize); +u32 LocaliseAddress(int region, u32 num, u32 addr); + +bool IsFastmemCompatible(int region); + +void RemapDTCM(u32 newBase, u32 newSize); +void RemapSWRAM(); +void RemapNWRAM(int num); + +void SetCodeProtection(int region, u32 offset, bool protect); + +void* GetFuncForAddr(ARM* cpu, u32 addr, bool store, int size); + +} + +#endif
\ No newline at end of file |