mirror of
https://github.com/pret/pmd-red.git
synced 2026-10-01 21:38:41 -05:00
Renamed primary heap variables and partial cleanup m4a.s
This commit is contained in:
@@ -8,6 +8,8 @@
|
||||
|
||||
#define IWRAM_DATA __attribute__((section("iwram_data")))
|
||||
#define EWRAM_DATA __attribute__((section("ewram_data")))
|
||||
#define UNUSED __attribute__((unused))
|
||||
#define NAKED __attribute__((naked))
|
||||
|
||||
#define ALIGNED(n) __attribute__((aligned(n)))
|
||||
|
||||
@@ -59,4 +61,4 @@
|
||||
|
||||
#define WIN_RANGE(a, b) (((a) << 8) | (b))
|
||||
|
||||
#endif // GUARD_GBA_DEFINES
|
||||
#endif // GUARD_GBA_DEFINES
|
||||
56
include/memory.h
Normal file
56
include/memory.h
Normal file
@@ -0,0 +1,56 @@
|
||||
#ifndef GUARD_MEMORY_H
|
||||
#define GUARD_MEMORY_H
|
||||
|
||||
#define HEAP_SIZE 0x24000
|
||||
|
||||
struct HeapSettings
|
||||
{
|
||||
u8 *start;
|
||||
u32 size;
|
||||
};
|
||||
|
||||
struct HeapMemoryBlock {
|
||||
u8 *start;
|
||||
s32 size;
|
||||
s32 allocatedSize;
|
||||
};
|
||||
|
||||
struct HeapFreeListElement
|
||||
{
|
||||
u32 unk_atb;
|
||||
u32 atb;
|
||||
u32 grp;
|
||||
struct HeapMemoryBlock block;
|
||||
};
|
||||
|
||||
struct HeapDescriptor
|
||||
{
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
struct HeapFreeListElement *freeList;
|
||||
s32 freeCount;
|
||||
u32 freeListLength;
|
||||
u8 *start;
|
||||
u32 size;
|
||||
};
|
||||
|
||||
void InitHeap(void);
|
||||
|
||||
void MemoryClear8(u8 *dest, s32 size);
|
||||
void MemoryClear16(u16 *dest, s32 size);
|
||||
void MemoryClear32(u32 *dest, s32 size);
|
||||
void MemoryFill8(u8 *dest, u8 value, s32 size);
|
||||
void MemoryFill16(u16 *dest, u16 value, s32 size);
|
||||
void MemoryFill32(u32 *dest, u32 value, s32 size);
|
||||
void MemoryCopy8(u8 *dest, u8 *src, s32 size);
|
||||
void MemoryCopy16(u16 *dest, u16 *src, s32 size);
|
||||
void MemoryCopy32(u32 *dest, u32 *src, s32 size);
|
||||
void MemoryCopy8(u8 *dest, u8 *src, s32 size);
|
||||
void MemoryCopy16(u16 *dest, u16 *src, s32 size);
|
||||
void MemoryCopy32(u32 *dest, u32 *src, s32 size);
|
||||
|
||||
void InitHeapInternal(void);
|
||||
void DoInitHeap(struct HeapDescriptor *, struct HeapSettings *, struct HeapFreeListElement *, u32);
|
||||
void InitSubHeap(struct HeapDescriptor *, struct HeapFreeListElement *, u32);
|
||||
|
||||
#endif // GUARD_MEMORY_H
|
||||
Reference in New Issue
Block a user