Mario Kart 64
Loading...
Searching...
No Matches
memory.h
Go to the documentation of this file.
1#ifndef MEMORY_H
2#define MEMORY_H
3
7};
8
15
20
28
35
36#define MEMORY_POOL_LEFT 0
37#define MEMORY_POOL_RIGHT 1
38
39#define ALIGN4(val) (((val) + 0x3) & ~0x3)
40
41extern f32 vtxStretchY;
42
43void* get_next_available_memory_addr(uintptr_t);
44uintptr_t set_segment_base_addr(s32, void*);
46void* segmented_to_virtual(const void*);
48void initialize_memory_pool(uintptr_t, uintptr_t);
49void* decompress_segments(u8*, u8*);
50void* allocate_memory(size_t);
51void* load_data(uintptr_t, uintptr_t);
52void func_802A7D54(s32, s32);
53
54void main_pool_init(uintptr_t, uintptr_t);
55void* main_pool_alloc(uintptr_t, uintptr_t);
56uintptr_t main_pool_free(void*);
57void* main_pool_realloc(void*, uintptr_t);
58uintptr_t main_pool_available(void);
59uintptr_t main_pool_push_state(void);
60uintptr_t main_pool_pop_state(void);
61void* func_802A80B0(u8*, u8*, u8*);
62void func_802A81EC(void);
63struct AllocOnlyPool* alloc_only_pool_init(uintptr_t, uintptr_t);
64uintptr_t func_802A82AC(s32);
65uintptr_t func_802A8348(s32, s32, s32);
67uintptr_t MIO0_0F(u8*, uintptr_t, uintptr_t);
68void func_802A8844(void);
69void unpack_lights(Gfx*, u8*, s8);
70void unpack_displaylist(Gfx*, u8*, s8);
75void unpack_combine_mode1(Gfx*, u8*, uintptr_t);
76void unpack_combine_mode2(Gfx*, u8*, uintptr_t);
77void unpack_combine_mode_shade(Gfx*, u8*, uintptr_t);
78void unpack_combine_mode4(Gfx*, u8*, uintptr_t);
79void unpack_combine_mode5(Gfx*, u8*, uintptr_t);
80void unpack_render_mode_opaque(Gfx*, u8*, uintptr_t);
81void unpack_render_mode_tex_edge(Gfx*, u8*, uintptr_t);
82void unpack_render_mode_translucent(Gfx*, u8*, uintptr_t);
83void unpack_render_mode_opaque_decal(Gfx*, u8*, uintptr_t);
85void unpack_tile_sync(Gfx*, u8*, s8);
86void unpack_tile_load_sync(Gfx*, u8*, s8);
87void unpack_texture_on(Gfx*, u8*, s8);
88void unpack_texture_off(Gfx*, u8*, s8);
90
92
93#endif // MEMORY_H
void unpack_render_mode_translucent(Gfx *, u8 *, uintptr_t)
void * get_segment_base_addr(s32)
Returns the physical memory location of a segment.
Definition memory.c:61
void unpack_lights(Gfx *, u8 *, s8)
void unpack_combine_mode1(Gfx *, u8 *, uintptr_t)
void main_pool_init(uintptr_t, uintptr_t)
Definition memory.c:131
void func_802A8844(void)
Definition memory.c:476
void unpack_combine_mode4(Gfx *, u8 *, uintptr_t)
uintptr_t MIO0_0F(u8 *, uintptr_t, uintptr_t)
Definition memory.c:398
void * func_802A80B0(u8 *, u8 *, u8 *)
Definition memory.c:242
uintptr_t main_pool_pop_state(void)
Definition memory.c:234
uintptr_t set_segment_base_addr(s32, void *)
Stores the physical memory addr for segmented memory in gSegmentTable using the segment number as an ...
Definition memory.c:52
void unpack_texture_on(Gfx *, u8 *, s8)
void func_802A81EC(void)
Definition memory.c:283
void initialize_memory_pool(uintptr_t, uintptr_t)
Sets the starting location for allocating memory and calculates pool size.
Definition memory.c:88
u8 _other_texturesSegmentRomStart[]
struct AllocOnlyPool * alloc_only_pool_init(uintptr_t, uintptr_t)
Definition memory.c:300
void unpack_render_mode_opaque_decal(Gfx *, u8 *, uintptr_t)
void unpack_render_mode_translucent_decal(Gfx *, u8 *, uintptr_t)
void * decompress_segments(u8 *, u8 *)
Definition memory.c:1304
void * main_pool_alloc(uintptr_t, uintptr_t)
Definition memory.c:150
void * load_data(uintptr_t, uintptr_t)
Allocate and DMA.
Definition memory.c:120
uintptr_t main_pool_push_state(void)
Definition memory.c:216
void unpack_tile_sync(Gfx *, u8 *, s8)
Definition memory.c:606
void unpack_combine_mode5(Gfx *, u8 *, uintptr_t)
void unpack_set_geometry_mode(Gfx *, u8 *, s8)
void move_segment_table_to_dmem(void)
Definition memory.c:75
void unpack_clear_geometry_mode(Gfx *, u8 *, s8)
uintptr_t func_802A82AC(s32)
Definition memory.c:316
void * segmented_to_virtual(const void *)
converts an RSP segment + offset address to a normal memory address
Definition memory.c:68
void * get_next_available_memory_addr(uintptr_t)
Returns the address of the next available memory location and updates the memory pointer to reference...
Definition memory.c:34
void unpack_combine_mode_shade(Gfx *, u8 *, uintptr_t)
void unpack_texture_off(Gfx *, u8 *, s8)
void unpack_combine_mode2(Gfx *, u8 *, uintptr_t)
void unpack_render_mode_tex_edge(Gfx *, u8 *, uintptr_t)
void * main_pool_realloc(void *, uintptr_t)
Definition memory.c:201
void unpack_end_displaylist(Gfx *, u8 *, s8)
uintptr_t main_pool_free(void *)
Definition memory.c:179
u8 * load_course(s32)
Loads & DMAs course data. Vtx, textures, displaylists, etc.
Definition memory.c:1326
uintptr_t func_802A8348(s32, s32, s32)
Definition memory.c:344
u8 * dma_textures(u8 *, u32, u32)
void unpack_cull_displaylist(Gfx *, u8 *, s8)
f32 vtxStretchY
Definition code_800029B0.c:63
void * allocate_memory(size_t)
Allocates memory and adjusts gFreeMemorySize.
Definition memory.c:101
void func_802A7D54(s32, s32)
Definition memory.c:112
void unpack_tile_load_sync(Gfx *, u8 *, s8)
Definition memory.c:703
void unpack_displaylist(Gfx *, u8 *, s8)
void unpack_render_mode_opaque(Gfx *, u8 *, uintptr_t)
uintptr_t main_pool_available(void)
Definition memory.c:212
Definition memory.h:29
u8 * startPtr
Definition memory.h:32
s32 usedSpace
Definition memory.h:31
s32 totalSpace
Definition memory.h:30
u8 * freePtr
Definition memory.h:33
Definition memory.h:4
struct MainPoolBlock * prev
Definition memory.h:5
struct MainPoolBlock * next
Definition memory.h:6
Definition memory.h:9
struct MainPoolState * prev
Definition memory.h:13
uintptr_t freeSpace
Definition memory.h:10
struct MainPoolBlock * listHeadL
Definition memory.h:11
struct MainPoolBlock * listHeadR
Definition memory.h:12
Definition memory.h:16
s32 unk0
Definition memory.h:17
s32 unk4
Definition memory.h:18
Definition memory.h:21
s32 fill
Definition memory.h:26
s16 unk2
Definition memory.h:23
s32 unk8
Definition memory.h:25
s32 unk4
Definition memory.h:24
s16 unk0
Definition memory.h:22
signed int s32
Definition ultratypes.h:15
unsigned int u32
Definition ultratypes.h:16
signed char s8
Definition ultratypes.h:11
signed short int s16
Definition ultratypes.h:13
float f32
Definition ultratypes.h:34
unsigned char u8
Definition ultratypes.h:12