mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-21 05:09:46 -06:00
hey look, more crap
no MrRean this doesn't run NSMB yet
This commit is contained in:
50
NDS.cpp
50
NDS.cpp
@ -1,15 +1,23 @@
|
||||
#include <stdio.h>
|
||||
#include "NDS.h"
|
||||
#include "ARM.h"
|
||||
|
||||
|
||||
namespace NDS
|
||||
{
|
||||
|
||||
//
|
||||
ARM* ARM9;
|
||||
ARM* ARM7;
|
||||
|
||||
u8 ARM9BIOS[0x1000];
|
||||
u8 ARM7BIOS[0x4000];
|
||||
|
||||
|
||||
void Init()
|
||||
{
|
||||
ARM9 = new ARM(0);
|
||||
ARM7 = new ARM(1);
|
||||
|
||||
Reset();
|
||||
}
|
||||
|
||||
@ -22,13 +30,51 @@ void Reset()
|
||||
printf("ARM9 BIOS not found\n");
|
||||
else
|
||||
{
|
||||
// load BIOS here
|
||||
fseek(f, 0, SEEK_SET);
|
||||
fread(ARM9BIOS, 0x1000, 1, f);
|
||||
|
||||
printf("ARM9 BIOS loaded: %08X\n", ARM9Read32(0xFFFF0000));
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
f = fopen("bios7.bin", "rb");
|
||||
if (!f)
|
||||
printf("ARM7 BIOS not found\n");
|
||||
else
|
||||
{
|
||||
fseek(f, 0, SEEK_SET);
|
||||
fread(ARM7BIOS, 0x4000, 1, f);
|
||||
|
||||
printf("ARM7 BIOS loaded: %08X\n", ARM7Read32(0x00000000));
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
u32 ARM9Read32(u32 addr)
|
||||
{
|
||||
// implement ARM9y shit here, like memory protection
|
||||
|
||||
if ((addr & 0xFFFFF000) == 0xFFFF0000)
|
||||
{
|
||||
return *(u32*)&ARM9BIOS[addr & 0xFFF];
|
||||
}
|
||||
|
||||
printf("unknown arm9 read32 %08X\n", addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 ARM7Read32(u32 addr)
|
||||
{
|
||||
if (addr < 0x00004000)
|
||||
{
|
||||
return *(u32*)&ARM7BIOS[addr];
|
||||
}
|
||||
|
||||
printf("unknown arm7 read32 %08X\n", addr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
template<typename T> T Read(u32 addr)
|
||||
{
|
||||
return (T)0;
|
||||
|
Reference in New Issue
Block a user