You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Reverted moving the buffers to fix pool issues
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
* importing large custom content.
|
||||
*/
|
||||
|
||||
#define SEG_POOL_START _engineSegmentBssEnd // 0x0165000 in size
|
||||
#define SEG_POOL_START _framebuffersSegmentBssEnd // 0x0165000 in size
|
||||
#define POOL_SIZE RAM_END - SEG_POOL_START
|
||||
|
||||
#define MAP_PARSER_ADDRESS 0x80345678
|
||||
|
||||
26
sm64.ld
26
sm64.ld
@@ -102,6 +102,13 @@ SECTIONS
|
||||
END_SEG(boot)
|
||||
|
||||
. = (RAM_START + 0x400);
|
||||
BEGIN_NOLOAD(zbuffer)
|
||||
{
|
||||
BUILD_DIR/src/buffers/zbuffer.o(.bss*);
|
||||
}
|
||||
END_NOLOAD(zbuffer)
|
||||
|
||||
. = _zbufferSegmentBssEnd;
|
||||
BEGIN_NOLOAD(buffers)
|
||||
{
|
||||
BUILD_DIR/src/buffers/buffers.o(.bss*);
|
||||
@@ -279,28 +286,13 @@ SECTIONS
|
||||
. = ALIGN(0x40);
|
||||
}
|
||||
END_NOLOAD(engine)
|
||||
#ifndef USE_EXT_RAM
|
||||
. = 0x80200000;
|
||||
#else
|
||||
. = 0x80400000;
|
||||
#endif
|
||||
|
||||
. = _engineSegmentBssEnd;
|
||||
BEGIN_NOLOAD(framebuffers)
|
||||
{
|
||||
BUILD_DIR/src/buffers/framebuffers.o(.bss*);
|
||||
}
|
||||
END_NOLOAD(framebuffers)
|
||||
#ifndef USE_EXT_RAM
|
||||
. = 0x80300000;
|
||||
#else
|
||||
. = 0x80500000;
|
||||
#endif
|
||||
BEGIN_NOLOAD(zbuffer)
|
||||
{
|
||||
BUILD_DIR/src/buffers/zbuffer.o(.bss*);
|
||||
}
|
||||
END_NOLOAD(zbuffer)
|
||||
|
||||
. = _engineSegmentBssEnd;
|
||||
|
||||
__mainPoolStart = .;
|
||||
__mainPoolSize = (RAM_END - .);
|
||||
|
||||
@@ -139,11 +139,6 @@ void main_pool_init(void *start, void *end) {
|
||||
#endif
|
||||
}
|
||||
|
||||
extern u8 _framebuffersSegmentBssStart[];
|
||||
extern u8 _framebuffersSegmentBssEnd[];
|
||||
extern u8 _zbufferSegmentBssStart[];
|
||||
extern u8 _zbufferSegmentBssEnd[];
|
||||
|
||||
/**
|
||||
* Allocate a block of memory from the pool of given size, and from the
|
||||
* specified side of the pool (MEMORY_POOL_LEFT or MEMORY_POOL_RIGHT).
|
||||
@@ -158,12 +153,6 @@ void *main_pool_alloc(u32 size, u32 side) {
|
||||
sPoolFreeSpace -= size;
|
||||
if (side == MEMORY_POOL_LEFT) {
|
||||
newListHead = (struct MainPoolBlock *) ((u8 *) sPoolListHeadL + size);
|
||||
if ((u32)newListHead >= (u32)&_framebuffersSegmentBssStart && (u32)newListHead <= (u32)&_framebuffersSegmentBssEnd) {
|
||||
newListHead = (struct MainPoolBlock *)ALIGN16((u32)&_framebuffersSegmentBssEnd + 0x40);
|
||||
}
|
||||
if ((u32)newListHead >= (u32)&_zbufferSegmentBssStart && (u32)newListHead <= (u32)&_zbufferSegmentBssEnd) {
|
||||
newListHead = (struct MainPoolBlock *)ALIGN16((u32)&_zbufferSegmentBssEnd + 0x40);
|
||||
}
|
||||
sPoolListHeadL->next = newListHead;
|
||||
newListHead->prev = sPoolListHeadL;
|
||||
newListHead->next = NULL;
|
||||
|
||||
Reference in New Issue
Block a user