Replace boot_get_mem_size with osGetMemSize
This commit is contained in:
parent
8319a25c5a
commit
9839a54b55
|
@ -21,7 +21,7 @@
|
|||
|
||||
/*---------------------------------------------------------------------*
|
||||
Copyright (C) 1998 Nintendo. (Originated by SGI)
|
||||
|
||||
|
||||
$RCSfile: os_system.h,v $
|
||||
$Revision: 1.1 $
|
||||
$Date: 1998/10/09 08:01:18 $
|
||||
|
@ -54,7 +54,7 @@ extern "C" {
|
|||
*/
|
||||
|
||||
/*
|
||||
* Values for osTvType
|
||||
* Values for osTvType
|
||||
*/
|
||||
#define OS_TV_PAL 0
|
||||
#define OS_TV_NTSC 1
|
||||
|
@ -103,7 +103,6 @@ extern OSIntMask __OSGlobalIntMask; /* global interrupt mask */
|
|||
|
||||
extern void osInitialize(void);
|
||||
extern void osExit(void);
|
||||
extern u32 osGetMemSize(void);
|
||||
|
||||
/* pre-NMI */
|
||||
extern s32 osAfterPreNMI(void);
|
||||
|
|
|
@ -2,8 +2,13 @@
|
|||
#define _IN_LIB_BOOT_H
|
||||
#include <ultra64.h>
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
extern s32 osGetMemSize(void);
|
||||
#else
|
||||
extern u32 osGetMemSize(void);
|
||||
#endif
|
||||
|
||||
void boot(void);
|
||||
s32 boot_get_mem_size(void);
|
||||
void *boot_allocate_stack(s32 threadid, s32 size);
|
||||
void boot_check_stack_overflow(void);
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ u32 var8008dbcc;
|
|||
OSSched g_Sched;
|
||||
OSScClient g_MainSchedClient;
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
u32 g_OsMemSize;
|
||||
u32 g_SavedOsMemSize;
|
||||
#else
|
||||
u16 *var800902e4;
|
||||
u16 var800902e8;
|
||||
|
@ -54,9 +54,9 @@ extern u8 *_inflateSegmentRomStart;
|
|||
extern u8 *_inflateSegmentRomEnd;
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
s32 boot_get_mem_size(void)
|
||||
s32 osGetMemSize(void)
|
||||
{
|
||||
return g_OsMemSize;
|
||||
return g_SavedOsMemSize;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -89,10 +89,15 @@ void boot(void)
|
|||
u32 flags;
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
// In NTSC beta, libultra's osGetMemSize is used several times during boot.
|
||||
// This function writes to the expansion area but this shouldn't be a problem...
|
||||
// In NTSC 1.0 and later, libultra's osGetMemSize is not linked and is replaced
|
||||
// with one which returns osMemSize. But it appears as though osMemSize is only
|
||||
// reliable on a cold boot, because it's saved and reloaded here on a reset.
|
||||
if (osResetType == RESETTYPE_WARM) {
|
||||
g_OsMemSize = *(u32 *) STACK_START;
|
||||
g_SavedOsMemSize = *(u32 *) STACK_START;
|
||||
} else {
|
||||
*(u32 *) STACK_START = g_OsMemSize = osMemSize;
|
||||
*(u32 *) STACK_START = g_SavedOsMemSize = osMemSize;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -404,7 +404,7 @@ void main_init(void)
|
|||
// In 4MB mode, place it close to the end of memory,
|
||||
// but before the thread stacks and VM system.
|
||||
// In 8MB mode, put it at the end of the expansion pak.
|
||||
if (boot_get_mem_size() <= 4 * 1024 * 1024) {
|
||||
if (osGetMemSize() <= 4 * 1024 * 1024) {
|
||||
addr = K0BASE + 4 * 1024 * 1024;
|
||||
addr -= STACKSIZE_MAIN;
|
||||
addr -= STACKSIZE_IDLE;
|
||||
|
|
|
@ -90,18 +90,9 @@ void memp_set_heap(u8 *heapstart, u32 heaplen)
|
|||
g_MempOnboardPools[MEMPOOL_STAGE].rightpos = heapstart + heaplen;
|
||||
|
||||
// If 8MB, reserve the entire expansion pak for the stage pool
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
extraend = (u8 *) K0BASE + boot_get_mem_size();
|
||||
#else
|
||||
extraend = (u8 *) K0BASE + osGetMemSize();
|
||||
#endif
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (boot_get_mem_size() > 4 * 1024 * 1024)
|
||||
#else
|
||||
if (osGetMemSize() > 4 * 1024 * 1024)
|
||||
#endif
|
||||
{
|
||||
if (osGetMemSize() > 4 * 1024 * 1024) {
|
||||
g_MempExpansionPools[MEMPOOL_STAGE].start = (u8 *) K0BASE + 4 * 1024 * 1024;
|
||||
g_MempExpansionPools[MEMPOOL_STAGE].rightpos = extraend;
|
||||
}
|
||||
|
|
|
@ -199,12 +199,7 @@ void vm_init(void)
|
|||
|
||||
rzip_init();
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
if (boot_get_mem_size() <= 0x400000)
|
||||
#else
|
||||
if (osGetMemSize() <= 0x400000)
|
||||
#endif
|
||||
{
|
||||
if (osGetMemSize() <= 0x400000) {
|
||||
g_Is4Mb = true;
|
||||
|
||||
g_VmNumPages = (s32)((&_gameSegmentEnd - &_gameSegmentStart) + (VM_PAGE_SIZE - 1)) / VM_PAGE_SIZE;
|
||||
|
|
Loading…
Reference in New Issue