mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-09-01 16:29:55 -04:00
Debug work + some retail regalloc fixes (#2787)
* Debug work + some retail regalloc fixes * Use AUDIO_INSTANCES in places it's missing, link d_a_e_bee * Link m_Do_machine * Fix clang putting other includes before the pchs * Link some more debug TUs that already match
This commit is contained in:
+292
-158
@@ -24,11 +24,12 @@
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_machine_exception.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
#include "DynamicLink.h"
|
||||
|
||||
/* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */
|
||||
#if DEBUG
|
||||
u8 mDoMch::mDebugFill = true;
|
||||
u8 mDoMch::mDebugFillNotuse = 0xDD;
|
||||
u8 mDoMch::mDebugFillNotUse = 0xDD;
|
||||
u8 mDoMch::mDebugFillNew = 0xF7;
|
||||
u8 mDoMch::mDebugFillDelete = 0xDD;
|
||||
|
||||
@@ -62,12 +63,153 @@ static int unknownHeapErrors;
|
||||
/* 80450C0C-80450C10 00010C 0004+00 1/1 0/0 0/0 .sbss heapErrors */
|
||||
static u32 heapErrors;
|
||||
|
||||
#if VERSION != VERSION_GCN_PAL
|
||||
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
|
||||
GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_NTSC_INT,
|
||||
608,
|
||||
448,
|
||||
448,
|
||||
27,
|
||||
16,
|
||||
666,
|
||||
448,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
|
||||
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
|
||||
GXRenderModeObj g_ntscZeldaProg = {
|
||||
VI_TVMODE_NTSC_PROG,
|
||||
608,
|
||||
448,
|
||||
448,
|
||||
27,
|
||||
16,
|
||||
666,
|
||||
448,
|
||||
VI_XFBMODE_SF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{0, 0, 21, 22, 21, 0, 0},
|
||||
};
|
||||
#else
|
||||
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
|
||||
GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_PAL_INT,
|
||||
608,
|
||||
448,
|
||||
538,
|
||||
25,
|
||||
18,
|
||||
670,
|
||||
538,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
|
||||
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
|
||||
GXRenderModeObj g_ntscZeldaProg = {
|
||||
VI_TVMODE_EURGB60_INT,
|
||||
608,
|
||||
448,
|
||||
448,
|
||||
27,
|
||||
16,
|
||||
666,
|
||||
448,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
static void myGXVerifyCallback(GXWarningLevel, u32, const char*);
|
||||
|
||||
GXRenderModeObj g_palZeldaProg60 = {
|
||||
VI_TVMODE_EURGB60_PROG,
|
||||
640, 456, 456, 25, 12, 670, 456,
|
||||
VI_XFBMODE_SF, 0, 0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{ 8, 8, 10, 12, 10, 8, 8 },
|
||||
};
|
||||
#endif
|
||||
|
||||
/* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c
|
||||
*/
|
||||
GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf;
|
||||
|
||||
/* 8000B1EC-8000B3EC 005B2C 0200+00 2/2 0/0 0/0 .text myGetHeapTypeByString__FP7JKRHeap
|
||||
*/
|
||||
static const char* myGetHeapTypeByString(JKRHeap* p_heap) {
|
||||
static char tmpString[5];
|
||||
|
||||
if (p_heap == JKRHeap::getSystemHeap()) {
|
||||
if (p_heap == JKRGetSystemHeap()) {
|
||||
return "SystemHeap";
|
||||
}
|
||||
|
||||
@@ -416,135 +558,17 @@ static void dummy_string() {
|
||||
|
||||
/* 8000BCF4-8000BCF8 006634 0004+00 1/1 0/0 0/0 .text my_PrintHeap__FPCcUl */
|
||||
static void my_PrintHeap(char const* heapName, u32 heapSize) {
|
||||
/* empty function */
|
||||
OS_REPORT("\x1b[32m%-24s = size=%d KB\n\x1b[m", heapName, heapSize / 1024);
|
||||
}
|
||||
|
||||
/* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */
|
||||
void my_SysPrintHeap(char const* message, void* start, u32 size) {
|
||||
uintptr_t end = (uintptr_t)start + size;
|
||||
OSReport_System("\x1b[32m%-24s = %08x-%08x size=%d KB\n\x1b[m", message, start,
|
||||
(uintptr_t)start + size, size / 1024);
|
||||
end, size / 1024);
|
||||
}
|
||||
|
||||
#if VERSION != VERSION_GCN_PAL
|
||||
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
|
||||
extern GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_NTSC_INT,
|
||||
608,
|
||||
448,
|
||||
448,
|
||||
27,
|
||||
16,
|
||||
666,
|
||||
448,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
|
||||
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
|
||||
extern GXRenderModeObj g_ntscZeldaProg = {
|
||||
VI_TVMODE_NTSC_PROG,
|
||||
608,
|
||||
448,
|
||||
448,
|
||||
27,
|
||||
16,
|
||||
666,
|
||||
448,
|
||||
VI_XFBMODE_SF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{0, 0, 21, 22, 21, 0, 0},
|
||||
};
|
||||
#else
|
||||
/* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */
|
||||
extern GXRenderModeObj g_ntscZeldaIntDf = {
|
||||
VI_TVMODE_PAL_INT,
|
||||
608,
|
||||
448,
|
||||
538,
|
||||
25,
|
||||
18,
|
||||
670,
|
||||
538,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
|
||||
/* 803A2F9C-803A2FD8 0000BC 003C+00 1/1 1/1 0/0 .data g_ntscZeldaProg */
|
||||
extern GXRenderModeObj g_ntscZeldaProg = {
|
||||
VI_TVMODE_EURGB60_INT,
|
||||
608,
|
||||
448,
|
||||
448,
|
||||
27,
|
||||
16,
|
||||
666,
|
||||
448,
|
||||
VI_XFBMODE_DF,
|
||||
0,
|
||||
0,
|
||||
{{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6},
|
||||
{6, 6}},
|
||||
{8, 8, 10, 12, 10, 8, 8},
|
||||
};
|
||||
#endif
|
||||
|
||||
/* 804505A0-804505A8 -00001 0004+04 1/1 3/3 0/0 .sdata mRenderModeObj__15mDoMch_render_c
|
||||
*/
|
||||
GXRenderModeObj* mDoMch_render_c::mRenderModeObj = &g_ntscZeldaIntDf;
|
||||
|
||||
/* 8000BD44-8000C0CC 006684 0388+00 0/0 2/1 0/0 .text mDoMch_Create__Fv */
|
||||
// NONMATCHING - small regalloc
|
||||
int mDoMch_Create() {
|
||||
if (mDoMain::developmentMode == 0 || !(OSGetConsoleType() & 0x10000000)) {
|
||||
OSReportDisable();
|
||||
@@ -552,7 +576,7 @@ int mDoMch_Create() {
|
||||
|
||||
JKRHeap::setDefaultDebugFill(mDoMch::mDebugFill);
|
||||
#ifdef DEBUG
|
||||
JKRSetDebugFillNotuse(mDoMch::mDebugFillNotuse);
|
||||
JKRSetDebugFillNotuse(mDoMch::mDebugFillNotUse);
|
||||
JKRSetDebugFillNew(mDoMch::mDebugFillNew);
|
||||
JKRSetDebugFillDelete(mDoMch::mDebugFillDelete);
|
||||
#endif
|
||||
@@ -574,31 +598,98 @@ int mDoMch_Create() {
|
||||
arenaSize += mDoMain::memMargin;
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
u32 uVar14 = 0xf20c00;
|
||||
u32 local_1c = 0x74e000;
|
||||
if (mDoMain::archiveHeapSize == -1) {
|
||||
mDoMain::archiveHeapSize = 0x106ec00;
|
||||
} else {
|
||||
OSReport_Error("アーカイブヒープサイズ指定!\n");
|
||||
uVar14 = mDoMain::archiveHeapSize;
|
||||
}
|
||||
if (mDoMain::gameHeapSize == -1) {
|
||||
mDoMain::gameHeapSize = 0x74e000;
|
||||
} else {
|
||||
OSReport_Error("ゲームヒープサイズ指定!\n");
|
||||
local_1c = mDoMain::gameHeapSize;
|
||||
}
|
||||
JKRHeap* heap; // sp4C
|
||||
u32 archiveHeapSize; // r30
|
||||
u32 j2dHeapSize; // sp48
|
||||
u32 gameHeapSize; // sp44
|
||||
u32 commandHeapSize; // sp40
|
||||
u32 dynamicLinkHeapSize; // sp3C
|
||||
u32 dbPrintHeapSize; // sp38
|
||||
dbPrintHeapSize = 0x1800;
|
||||
commandHeapSize = 0x1000;
|
||||
gameHeapSize = 0x400000;
|
||||
archiveHeapSize = 0x740000;
|
||||
archiveHeapSize += 0xED000;
|
||||
archiveHeapSize += 0xA0000;
|
||||
gameHeapSize += 0x4E000;
|
||||
archiveHeapSize += 0x30000;
|
||||
archiveHeapSize += 0x2000;
|
||||
archiveHeapSize += 0x4B000;
|
||||
archiveHeapSize -= 0xC0000;
|
||||
archiveHeapSize += 0x4800;
|
||||
j2dHeapSize = 0xBB800;
|
||||
archiveHeapSize += 0x10000;
|
||||
archiveHeapSize += 0x2400;
|
||||
archiveHeapSize += 0x80000;
|
||||
archiveHeapSize += 0x100000;
|
||||
archiveHeapSize += 0x400000;
|
||||
archiveHeapSize += 0x100000;
|
||||
gameHeapSize += 0x200000;
|
||||
gameHeapSize += 0x100000;
|
||||
dynamicLinkHeapSize = 0x180000;
|
||||
|
||||
#ifndef DEBUG
|
||||
// Fakematch because the heap sizes differ between debug and retail.
|
||||
// Maybe the actual calculations above use sizeof or constants and that's why it's different?
|
||||
archiveHeapSize -= 0x641800;
|
||||
j2dHeapSize -= 0x3E800;
|
||||
gameHeapSize -= 0x300000;
|
||||
#endif
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
archiveHeapSize += 0x6C00;
|
||||
gameHeapSize += 0xC800;
|
||||
#endif
|
||||
|
||||
JFWSystem::setSysHeapSize(arenaSize - 0xDACD30);
|
||||
my_PrintHeap("システムヒープ", arenaSize - 0xDACD30);
|
||||
#ifdef DEBUG
|
||||
if (mDoMain::archiveHeapSize != -1) {
|
||||
OSReport_Error("アーカイブヒープサイズ指定!\n");
|
||||
archiveHeapSize = mDoMain::archiveHeapSize;
|
||||
} else {
|
||||
mDoMain::archiveHeapSize = archiveHeapSize + 0x14E000;
|
||||
}
|
||||
if (mDoMain::gameHeapSize != -1) {
|
||||
OSReport_Error("ゲームヒープサイズ指定!\n");
|
||||
gameHeapSize = mDoMain::gameHeapSize;
|
||||
} else {
|
||||
mDoMain::gameHeapSize = gameHeapSize;
|
||||
}
|
||||
arenaSize -= dynamicLinkHeapSize;
|
||||
arenaSize -= gameHeapSize + commandHeapSize;
|
||||
#endif
|
||||
|
||||
arenaSize -= (dbPrintHeapSize + 0x10);
|
||||
arenaSize -= 0x120;
|
||||
#ifndef DEBUG
|
||||
arenaSize -= 0xDAB400;
|
||||
#endif
|
||||
#if VERSION == VERSION_GCN_JPN
|
||||
arenaSize -= 0x6C00;
|
||||
arenaSize -= 0xC800;
|
||||
#endif
|
||||
JFWSystem::setSysHeapSize(arenaSize);
|
||||
my_PrintHeap("システムヒープ", arenaSize);
|
||||
|
||||
if (arenaSize) {
|
||||
// Fakematch to force arenaSize into a register for debug.
|
||||
}
|
||||
|
||||
JFWSystem::setFifoBufSize(0xA0000);
|
||||
#ifdef DEBUG
|
||||
JFWSystem::setAramAudioBufSize(0xB00000);
|
||||
#else
|
||||
JFWSystem::setAramAudioBufSize(0xA00000);
|
||||
#endif
|
||||
JFWSystem::setAramGraphBufSize(-1);
|
||||
|
||||
#if VERSION != VERSION_GCN_PAL
|
||||
#ifdef DEBUG
|
||||
VIInit();
|
||||
if (VIGetDTVStatus() != 0 && mDoMch_IsProgressiveMode()) {
|
||||
mDoMch_render_c::setProgressiveMode();
|
||||
OSReport("=== プログレッシブモードです ===\n");
|
||||
} else if (VIGetTvFormat() == 5) {
|
||||
mDoMch_render_c::setRenderModeObj(&g_palZeldaProg60);
|
||||
}
|
||||
#elif VERSION != VERSION_GCN_PAL
|
||||
if ((OSGetResetCode() >> 31) == 0) {
|
||||
if (VIGetDTVStatus() == 0) {
|
||||
OSSetProgressiveMode(0);
|
||||
@@ -620,8 +711,9 @@ int mDoMch_Create() {
|
||||
|
||||
JFWSystem::setRenderMode(mDoMch_render_c::getRenderModeObj());
|
||||
JFWSystem::firstInit();
|
||||
JUTDbPrint::start(NULL, mDoExt_createDbPrintHeap(0x1800, JKRHeap::getRootHeap()));
|
||||
mDoExt_createAssertHeap(JKRHeap::getRootHeap());
|
||||
JKRExpHeap* dbPrintHeap = mDoExt_createDbPrintHeap(dbPrintHeapSize, JKRGetRootHeap());
|
||||
JUTDbPrint::start(NULL, dbPrintHeap);
|
||||
mDoExt_createAssertHeap(JKRGetRootHeap());
|
||||
JFWSystem::init();
|
||||
|
||||
if (mDoMain::developmentMode == 0) {
|
||||
@@ -629,48 +721,90 @@ int mDoMch_Create() {
|
||||
JUTDbPrint::getManager()->setVisible(false);
|
||||
}
|
||||
|
||||
JKRHeap::setErrorHandler(myMemoryErrorRoutine);
|
||||
JKRHeap::getRootHeap()->setErrorFlag(true);
|
||||
JFWSystem::getSystemHeap()->setErrorFlag(true);
|
||||
JKRSetErrorHandler(myMemoryErrorRoutine);
|
||||
JKRSetErrorFlag(JKRHeap::getRootHeap(), true);
|
||||
JKRSetErrorFlag(JFWSystem::getSystemHeap(), true);
|
||||
|
||||
JKRHeap* rootHeap = (JKRHeap*)JKRGetRootHeap();
|
||||
#ifdef DEBUG
|
||||
JKRHeap* rootHeap2 = JKRGetRootHeap2();
|
||||
#else
|
||||
JKRHeap* rootHeap2 = rootHeap;
|
||||
#endif
|
||||
|
||||
JKRHeap* rootHeap = JKRGetRootHeap();
|
||||
// Command Heap size: 4 KB
|
||||
my_SysPrintHeap("コマンドヒープ", mDoExt_createCommandHeap(0x1000, rootHeap), 0x1000);
|
||||
heap = mDoExt_createCommandHeap(commandHeapSize, rootHeap);
|
||||
my_SysPrintHeap("コマンドヒープ", heap, commandHeapSize);
|
||||
|
||||
#ifdef DEBUG
|
||||
heap = DynamicModuleControlBase::createHeap(dynamicLinkHeapSize, rootHeap);
|
||||
my_SysPrintHeap("ダイナミックリンクヒープ", heap, dynamicLinkHeapSize);
|
||||
#endif
|
||||
|
||||
// Archive Heap size: 9085 KB
|
||||
my_SysPrintHeap("アーカイブヒープ", mDoExt_createArchiveHeap(0x8DF400, rootHeap), 0x8DF400);
|
||||
heap = mDoExt_createArchiveHeap(archiveHeapSize, rootHeap2);
|
||||
my_SysPrintHeap("アーカイブヒープ", heap, archiveHeapSize);
|
||||
|
||||
// J2D Heap size: 500 KB
|
||||
my_SysPrintHeap("J2D用ヒープ", mDoExt_createJ2dHeap(0x7D000, rootHeap), 0x7D000);
|
||||
heap = mDoExt_createJ2dHeap(j2dHeapSize, rootHeap2);
|
||||
my_SysPrintHeap("J2D用ヒープ", heap, j2dHeapSize);
|
||||
|
||||
// Game Heap size: 4408 KB
|
||||
my_SysPrintHeap("ゲームヒープ", mDoExt_createGameHeap(0x44E000, rootHeap), 0x44E000);
|
||||
heap = mDoExt_createGameHeap(gameHeapSize, rootHeap);
|
||||
my_SysPrintHeap("ゲームヒープ", heap, gameHeapSize);
|
||||
|
||||
JKRHeap* sysHeap = JKRGetSystemHeap();
|
||||
u32 zeldaHeapSize = sysHeap->getFreeSize() - 0x10000;
|
||||
JKRHeap* zeldaHeap = mDoExt_createZeldaHeap(zeldaHeapSize, sysHeap);
|
||||
my_SysPrintHeap("ゼルダヒープ", zeldaHeap, zeldaHeapSize);
|
||||
zeldaHeap->becomeCurrentHeap();
|
||||
#ifdef DEBUG
|
||||
JKRHeap* sp28 = rootHeap2;
|
||||
u32 hostIOHeapSize = 0x71450;
|
||||
hostIOHeapSize += 0x32000;
|
||||
JKRHeap* hostIOHeap = mDoExt_createHostIOHeap(hostIOHeapSize, sp28);
|
||||
my_SysPrintHeap("HostIOヒープ", hostIOHeap, hostIOHeapSize);
|
||||
#endif
|
||||
|
||||
JKRAramStream::setTransBuffer(NULL, 0x2000, JKRGetSystemHeap());
|
||||
JKRHeap* systemHeap = JKRGetSystemHeap();
|
||||
s32 size = systemHeap->getFreeSize();
|
||||
size -= 0x10000;
|
||||
JUT_ASSERT(1549, size > 0);
|
||||
JKRHeap* zeldaHeap = mDoExt_createZeldaHeap(size, systemHeap);
|
||||
my_SysPrintHeap("ゼルダヒープ", zeldaHeap, size);
|
||||
JKRSetCurrentHeap(zeldaHeap);
|
||||
|
||||
#ifdef DEBUG
|
||||
my_PrintHeap("システムヒープ", JKRGetSystemHeap()->getTotalFreeSize());
|
||||
my_PrintHeap("ルートヒープ", JKRGetRootHeap()->getTotalFreeSize());
|
||||
my_PrintHeap("ルートヒープ2", JKRGetRootHeap2()->getTotalFreeSize());
|
||||
#endif
|
||||
|
||||
JKRSetAramTransferBuffer(NULL, 0x2000, JKRGetSystemHeap());
|
||||
JKRThreadSwitch::createManager(NULL);
|
||||
{ // Fakematch to fix stack on debug, unsure where this block is supposed to go
|
||||
JKRThread* thread = new JKRThread(OSGetCurrentThread(), 0);
|
||||
}
|
||||
|
||||
JUTConsole* sysConsole = JFWSystem::getSystemConsole();
|
||||
sysConsole->setOutput(JUTConsole::OUTPUT_CONSOLE | JUTConsole::OUTPUT_OSREPORT);
|
||||
sysConsole->setPosition(16, 42);
|
||||
|
||||
#ifdef DEBUG
|
||||
JUTException::setMapFile("/map/RVL/Debug/RframeworkD.map");
|
||||
#else
|
||||
JUTException::appendMapFile("/map/Final/Release/frameworkF.map");
|
||||
#endif
|
||||
JUTException::setPreUserCallback(myExceptionCallback);
|
||||
JUTException::setPostUserCallback(fault_callback_scroll);
|
||||
|
||||
cMl::init(mDoExt_getZeldaHeap());
|
||||
cM_initRnd(100, 100, 100);
|
||||
#ifdef DEBUG
|
||||
GXSetVerifyLevel((GXWarningLevel)mDoMch::GXWarningLevel);
|
||||
GXSetVerifyCallback((GXVerifyCallback)&myGXVerifyCallback);
|
||||
#endif
|
||||
JKRDvdRipper::setSZSBufferSize(0x4000);
|
||||
JKRDvdAramRipper::setSZSBufferSize(0x4000);
|
||||
JKRAram::setSZSBufferSize(0x2000);
|
||||
mDoDvdThd::create(OSGetThreadPriority(OSGetCurrentThread()) - 2);
|
||||
mDoDvdErr_ThdInit();
|
||||
mDoMemCd_ThdInit();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
+24
-1
@@ -500,7 +500,7 @@ void mDoMain_HIO_c::listenPropertyEvent(const JORPropertyEvent* property) {
|
||||
}
|
||||
}
|
||||
|
||||
JKRSetDebugFillNotuse(mDoMch::mDebugFillNotuse);
|
||||
JKRSetDebugFillNotuse(mDoMch::mDebugFillNotUse);
|
||||
JKRSetDebugFillNew(mDoMch::mDebugFillNew);
|
||||
JKRSetDebugFillDelete(mDoMch::mDebugFillDelete);
|
||||
}
|
||||
@@ -977,91 +977,114 @@ bool JKRHeap::dump_sort() {
|
||||
/* ############################################################################################## */
|
||||
/* 80450B38-80450B3C 000038 0004+00 0/0 2/2 0/0 .sbss
|
||||
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
|
||||
template<>
|
||||
Z2WolfHowlMgr* JASGlobalInstance<Z2WolfHowlMgr>::sInstance;
|
||||
|
||||
/* 80450B3C-80450B40 00003C 0004+00 0/0 6/6 0/0 .sbss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
|
||||
*/
|
||||
template<>
|
||||
Z2EnvSeMgr* JASGlobalInstance<Z2EnvSeMgr>::sInstance;
|
||||
|
||||
/* 80450B40-80450B44 000040 0004+00 0/0 6/6 0/0 .sbss
|
||||
* sInstance__32JASGlobalInstance<11Z2FxLineMgr> */
|
||||
template<>
|
||||
Z2FxLineMgr* JASGlobalInstance<Z2FxLineMgr>::sInstance;
|
||||
|
||||
/* 80450B44-80450B48 000044 0004+00 0/0 18/18 0/0 .sbss
|
||||
* sInstance__31JASGlobalInstance<10Z2Audience> */
|
||||
template<>
|
||||
Z2Audience* JASGlobalInstance<Z2Audience>::sInstance;
|
||||
|
||||
/* 80450B48-80450B4C 000048 0004+00 0/0 17/17 0/0 .sbss
|
||||
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
|
||||
template<>
|
||||
Z2SoundObjMgr* JASGlobalInstance<Z2SoundObjMgr>::sInstance;
|
||||
|
||||
/* 80450B4C-80450B50 00004C 0004+00 0/0 10/10 0/0 .sbss
|
||||
* sInstance__32JASGlobalInstance<11Z2SoundInfo> */
|
||||
template<>
|
||||
Z2SoundInfo* JASGlobalInstance<Z2SoundInfo>::sInstance;
|
||||
|
||||
/* 80450B50-80450B54 000050 0004+00 0/0 5/5 0/0 .sbss
|
||||
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
|
||||
template<>
|
||||
JAUSoundInfo* JASGlobalInstance<JAUSoundInfo>::sInstance;
|
||||
|
||||
/* 80450B54-80450B58 000054 0004+00 0/0 2/2 0/0 .sbss
|
||||
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
|
||||
template<>
|
||||
JAUSoundNameTable* JASGlobalInstance<JAUSoundNameTable>::sInstance;
|
||||
|
||||
/* 80450B58-80450B5C 000058 0004+00 0/0 12/12 0/0 .sbss
|
||||
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
|
||||
template<>
|
||||
JAUSoundTable* JASGlobalInstance<JAUSoundTable>::sInstance;
|
||||
|
||||
/* 80450B5C-80450B60 00005C 0004+00 0/0 6/6 0/0 .sbss
|
||||
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
|
||||
template<>
|
||||
JAISoundInfo* JASGlobalInstance<JAISoundInfo>::sInstance;
|
||||
|
||||
/* 80450B60-80450B64 000060 0004+00 0/0 29/29 0/0 .sbss
|
||||
* sInstance__31JASGlobalInstance<10Z2SoundMgr> */
|
||||
template<>
|
||||
Z2SoundMgr* JASGlobalInstance<Z2SoundMgr>::sInstance;
|
||||
|
||||
/* 80450B64-80450B68 000064 0004+00 0/0 2/2 0/0 .sbss
|
||||
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
|
||||
template<>
|
||||
JAIStreamMgr* JASGlobalInstance<JAIStreamMgr>::sInstance;
|
||||
|
||||
/* 80450B68-80450B6C 000068 0004+00 0/0 3/3 0/0 .sbss sInstance__29JASGlobalInstance<9JAISeqMgr>
|
||||
*/
|
||||
template<>
|
||||
JAISeqMgr* JASGlobalInstance<JAISeqMgr>::sInstance;
|
||||
|
||||
/* 80450B6C-80450B70 00006C 0004+00 0/0 4/4 0/0 .sbss sInstance__28JASGlobalInstance<8JAISeMgr> */
|
||||
template<>
|
||||
JAISeMgr* JASGlobalInstance<JAISeMgr>::sInstance;
|
||||
|
||||
/* 80450B70-80450B74 000070 0004+00 0/0 9/9 0/0 .sbss
|
||||
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
|
||||
template<>
|
||||
Z2SpeechMgr2* JASGlobalInstance<Z2SpeechMgr2>::sInstance;
|
||||
|
||||
/* 80450B74-80450B78 000074 0004+00 0/0 22/22 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
|
||||
template<>
|
||||
Z2SoundStarter* JASGlobalInstance<Z2SoundStarter>::sInstance;
|
||||
|
||||
/* 80450B78-80450B7C 000078 0004+00 0/0 2/2 0/0 .sbss
|
||||
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
|
||||
template<>
|
||||
JAISoundStarter* JASGlobalInstance<JAISoundStarter>::sInstance;
|
||||
|
||||
/* 80450B7C-80450B80 00007C 0004+00 0/0 34/34 0/0 .sbss
|
||||
* sInstance__32JASGlobalInstance<11Z2StatusMgr> */
|
||||
template<>
|
||||
Z2StatusMgr* JASGlobalInstance<Z2StatusMgr>::sInstance;
|
||||
|
||||
/* 80450B80-80450B84 000080 0004+00 0/0 46/46 0/0 .sbss
|
||||
* sInstance__31JASGlobalInstance<10Z2SceneMgr> */
|
||||
template<>
|
||||
Z2SceneMgr* JASGlobalInstance<Z2SceneMgr>::sInstance;
|
||||
|
||||
/* 80450B84-80450B88 000084 0004+00 0/0 38/38 0/0 .sbss sInstance__28JASGlobalInstance<8Z2SeqMgr>
|
||||
*/
|
||||
template<>
|
||||
Z2SeqMgr* JASGlobalInstance<Z2SeqMgr>::sInstance;
|
||||
|
||||
/* 80450B88-80450B8C 000088 0004+00 0/0 25/25 0/0 .sbss sInstance__27JASGlobalInstance<7Z2SeMgr>
|
||||
*/
|
||||
template<>
|
||||
Z2SeMgr* JASGlobalInstance<Z2SeMgr>::sInstance;
|
||||
|
||||
/* 80450B8C-80450B90 00008C 0004+00 0/0 6/6 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14JASAudioThread> */
|
||||
template<>
|
||||
JASAudioThread* JASGlobalInstance<JASAudioThread>::sInstance;
|
||||
|
||||
/* 80450B90-80450B98 000090 0004+04 0/0 4/4 0/0 .sbss
|
||||
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
|
||||
template<>
|
||||
JASDefaultBankTable* JASGlobalInstance<JASDefaultBankTable>::sInstance;
|
||||
|
||||
Reference in New Issue
Block a user