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
4#include "types.h"
5
9};
10
17
22
30
37
38#define MEMORY_POOL_LEFT 0
39#define MEMORY_POOL_RIGHT 1
40
41#define ALIGN4(val) (((val) + 0x3) & ~0x3)
42
43extern f32 vtxStretchY;
44
46uintptr_t set_segment_base_addr(s32, void*);
48void *segmented_to_virtual(const void *);
50void initialize_memory_pool(uintptr_t, uintptr_t);
51void *decompress_segments(u8*, u8*);
52void *allocate_memory(u32);
53void *load_data(uintptr_t, uintptr_t);
54void func_802A7D54(s32, s32);
55
57void *main_pool_alloc(u32, u32);
58u32 main_pool_free(void*);
59void *main_pool_realloc(void*, u32);
63void *func_802A80B0(u8*, u8*, u8*);
64void func_802A81EC(void);
69u32 MIO0_0F(u8*, u32, u32);
70void func_802A8844(void);
71void unpack_lights(Gfx*, u8*, s8);
72void unpack_displaylist(Gfx*, u8*, s8);
87void unpack_tile_sync(Gfx*, u8*, s8);
88void unpack_tile_load_sync(Gfx*, u8*, s8);
89void unpack_texture_on(Gfx*, u8*, s8);
90void unpack_texture_off(Gfx*, u8*, s8);
92
94
95#endif // MEMORY_H
void main_pool_init(u32, u32)
Definition memory.c:133
void * get_segment_base_addr(s32)
Returns the physical memory location of a segment.
Definition memory.c:63
void unpack_lights(Gfx *, u8 *, s8)
void func_802A8844(void)
Definition memory.c:475
u32 MIO0_0F(u8 *, u32, u32)
Definition memory.c:398
void * func_802A80B0(u8 *, u8 *, u8 *)
Definition memory.c:244
struct AllocOnlyPool * alloc_only_pool_init(u32, u32)
Definition memory.c:303
void unpack_render_mode_tex_edge(Gfx *, u8 *, u32)
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:54
void unpack_render_mode_opaque_decal(Gfx *, u8 *, u32)
void unpack_texture_on(Gfx *, u8 *, s8)
u32 func_802A82AC(s32)
Definition memory.c:319
void func_802A81EC(void)
Definition memory.c:286
void initialize_memory_pool(uintptr_t, uintptr_t)
Sets the starting location for allocating memory and calculates pool size.
Definition memory.c:90
u8 _other_texturesSegmentRomStart[]
void unpack_combine_mode5(Gfx *, u8 *, u32)
void * decompress_segments(u8 *, u8 *)
Definition memory.c:1303
void * load_data(uintptr_t, uintptr_t)
Allocate and DMA.
Definition memory.c:122
s32 main_pool_available(void)
Definition memory.c:214
void * main_pool_alloc(u32, u32)
Definition memory.c:152
void unpack_tile_sync(Gfx *, u8 *, s8)
Definition memory.c:606
void unpack_render_mode_opaque(Gfx *, u8 *, u32)
void unpack_set_geometry_mode(Gfx *, u8 *, s8)
void move_segment_table_to_dmem(void)
Definition memory.c:77
void unpack_clear_geometry_mode(Gfx *, u8 *, s8)
void unpack_render_mode_translucent(Gfx *, u8 *, u32)
u32 main_pool_pop_state(void)
Definition memory.c:236
u32 main_pool_push_state(void)
Definition memory.c:218
void unpack_render_mode_translucent_decal(Gfx *, u8 *, u32)
void * segmented_to_virtual(const void *)
converts an RSP segment + offset address to a normal memory address
Definition memory.c:70
void unpack_texture_off(Gfx *, u8 *, s8)
void unpack_combine_mode_shade(Gfx *, u8 *, u32)
void unpack_combine_mode2(Gfx *, u8 *, u32)
void unpack_end_displaylist(Gfx *, u8 *, s8)
u8 * load_course(s32)
Loads & DMAs course data. Vtx, textures, displaylists, etc.
Definition memory.c:1325
void * main_pool_realloc(void *, u32)
Definition memory.c:203
void * get_next_available_memory_addr(u32)
Returns the address of the next available memory location and updates the memory pointer to reference...
Definition memory.c:36
u8 * dma_textures(u8 *, u32, u32)
s32 func_802A8348(s32, s32, s32)
Definition memory.c:347
void unpack_combine_mode1(Gfx *, u8 *, u32)
void * allocate_memory(u32)
Allocates memory and adjusts gFreeMemorySize.
Definition memory.c:103
void unpack_cull_displaylist(Gfx *, u8 *, s8)
f32 vtxStretchY
Definition code_800029B0.c:64
void func_802A7D54(s32, s32)
Definition memory.c:114
u32 main_pool_free(void *)
Definition memory.c:181
void unpack_combine_mode4(Gfx *, u8 *, u32)
void unpack_tile_load_sync(Gfx *, u8 *, s8)
Definition memory.c:703
void unpack_displaylist(Gfx *, u8 *, s8)
Definition memory.h:31
u8 * startPtr
Definition memory.h:34
s32 usedSpace
Definition memory.h:33
s32 totalSpace
Definition memory.h:32
u8 * freePtr
Definition memory.h:35
Definition memory.h:6
struct MainPoolBlock * prev
Definition memory.h:7
struct MainPoolBlock * next
Definition memory.h:8
Definition memory.h:11
struct MainPoolState * prev
Definition memory.h:15
u32 freeSpace
Definition memory.h:12
struct MainPoolBlock * listHeadL
Definition memory.h:13
struct MainPoolBlock * listHeadR
Definition memory.h:14
Definition memory.h:18
s32 unk0
Definition memory.h:19
s32 unk4
Definition memory.h:20
Definition memory.h:23
s32 fill
Definition memory.h:28
s16 unk2
Definition memory.h:25
s32 unk8
Definition memory.h:27
s32 unk4
Definition memory.h:26
s16 unk0
Definition memory.h:24
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:33
unsigned char u8
Definition ultratypes.h:12