DS: Allow booting homebrew

This commit is contained in:
Vicki Pfau 2017-01-30 16:36:40 -08:00
parent 37f1105fd9
commit fea365678b
2 changed files with 5 additions and 4 deletions

View File

@ -28,14 +28,14 @@ static struct mCoreFilter {
struct mCore* (*open)(void); struct mCore* (*open)(void);
enum mPlatform platform; enum mPlatform platform;
} _filters[] = { } _filters[] = {
#ifdef M_CORE_DS
{ DSIsROM, DSCoreCreate, PLATFORM_DS },
#endif
#ifdef M_CORE_GBA #ifdef M_CORE_GBA
{ GBAIsROM, GBACoreCreate, PLATFORM_GBA }, { GBAIsROM, GBACoreCreate, PLATFORM_GBA },
#endif #endif
#ifdef M_CORE_GB #ifdef M_CORE_GB
{ GBIsROM, GBCoreCreate, PLATFORM_GB }, { GBIsROM, GBCoreCreate, PLATFORM_GB },
#endif
#ifdef M_CORE_DS
{ DSIsROM, DSCoreCreate, PLATFORM_DS },
#endif #endif
{ 0, 0, PLATFORM_NONE } { 0, 0, PLATFORM_NONE }
}; };

View File

@ -25,6 +25,7 @@ const uint32_t DS_COMPONENT_MAGIC = 0x1FF61FE;
static const size_t DS_ROM_MAGIC_OFFSET = 0x15C; static const size_t DS_ROM_MAGIC_OFFSET = 0x15C;
static const uint8_t DS_ROM_MAGIC[] = { 0x56, 0xCF }; static const uint8_t DS_ROM_MAGIC[] = { 0x56, 0xCF };
static const uint8_t DS_ROM_MAGIC_2[] = { 0x1A, 0x9E };
enum { enum {
DS7_SP_BASE = 0x380FD80, DS7_SP_BASE = 0x380FD80,
@ -352,7 +353,7 @@ bool DSIsROM(struct VFile* vf) {
if (vf->read(vf, &signature, sizeof(signature)) != sizeof(signature)) { if (vf->read(vf, &signature, sizeof(signature)) != sizeof(signature)) {
return false; return false;
} }
return memcmp(signature, DS_ROM_MAGIC, sizeof(signature)) == 0; return memcmp(signature, DS_ROM_MAGIC, sizeof(signature)) == 0 || memcmp(signature, DS_ROM_MAGIC_2, sizeof(signature)) == 0;
} }
bool DSLoadBIOS(struct DS* ds, struct VFile* vf) { bool DSLoadBIOS(struct DS* ds, struct VFile* vf) {