forked from Mirror/GodMode9
Remove Multi EmuNAND stuff - this can't be supported
... but still leave a door open so it can be reintroduced
This commit is contained in:
parent
e586a65152
commit
47a09f8353
@ -23,7 +23,6 @@
|
|||||||
#define SUBTYPE_NONE 4
|
#define SUBTYPE_NONE 4
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
DWORD offset;
|
|
||||||
BYTE type;
|
BYTE type;
|
||||||
BYTE subtype;
|
BYTE subtype;
|
||||||
} FATpartition;
|
} FATpartition;
|
||||||
@ -35,38 +34,20 @@ typedef struct {
|
|||||||
BYTE keyslot;
|
BYTE keyslot;
|
||||||
} SubtypeDesc;
|
} SubtypeDesc;
|
||||||
|
|
||||||
FATpartition DriveInfo[31] = {
|
FATpartition DriveInfo[13] = {
|
||||||
{ 0x000000, TYPE_SDCARD, SUBTYPE_NONE }, // 0 - SDCARD
|
{ TYPE_SDCARD, SUBTYPE_NONE }, // 0 - SDCARD
|
||||||
{ 0x000000, TYPE_SYSNAND, SUBTYPE_CTRN_O }, // 1 - SYSNAND CTRNAND
|
{ TYPE_SYSNAND, SUBTYPE_CTRN_O }, // 1 - SYSNAND O3DS CTRNAND
|
||||||
{ 0x000000, TYPE_SYSNAND, SUBTYPE_TWLN }, // 2 - SYSNAND TWLN
|
{ TYPE_SYSNAND, SUBTYPE_TWLN }, // 2 - SYSNAND O3DS TWLN
|
||||||
{ 0x000000, TYPE_SYSNAND, SUBTYPE_TWLP }, // 3 - SYSNAND TWLP
|
{ TYPE_SYSNAND, SUBTYPE_TWLP }, // 3 - SYSNAND O3DS TWLP
|
||||||
{ 0x000000, TYPE_EMUNAND, SUBTYPE_CTRN_O }, // 4 - EMUNAND0 O3DS CTRNAND
|
{ TYPE_EMUNAND, SUBTYPE_CTRN_O }, // 4 - EMUNAND O3DS CTRNAND
|
||||||
{ 0x000000, TYPE_EMUNAND, SUBTYPE_TWLN }, // 5 - EMUNAND0 O3DS TWLN
|
{ TYPE_EMUNAND, SUBTYPE_TWLN }, // 5 - EMUNAND O3DS TWLN
|
||||||
{ 0x000000, TYPE_EMUNAND, SUBTYPE_TWLP }, // 6 - EMUNAND0 O3DS TWLP
|
{ TYPE_EMUNAND, SUBTYPE_TWLP }, // 6 - EMUNAND O3DS TWLP
|
||||||
{ 0x200000, TYPE_EMUNAND, SUBTYPE_CTRN_O }, // 7 - EMUNAND1 O3DS CTRNAND
|
{ TYPE_SYSNAND, SUBTYPE_CTRN_N }, // *1 - SYSNAND N3DS CTRNAND
|
||||||
{ 0x200000, TYPE_EMUNAND, SUBTYPE_TWLN }, // 8 - EMUNAND1 O3DS TWLN
|
{ TYPE_SYSNAND, SUBTYPE_TWLN }, // *2 - SYSNAND N3DS TWLN
|
||||||
{ 0x200000, TYPE_EMUNAND, SUBTYPE_TWLP }, // 9 - EMUNAND1 O3DS TWLP
|
{ TYPE_SYSNAND, SUBTYPE_TWLP }, // *3 - SYSNAND N3DS TWLP
|
||||||
{ 0x400000, TYPE_EMUNAND, SUBTYPE_CTRN_O }, // 10 - EMUNAND2 O3DS CTRNAND
|
{ TYPE_EMUNAND, SUBTYPE_CTRN_N }, // *4 - EMUNAND N3DS CTRNAND
|
||||||
{ 0x400000, TYPE_EMUNAND, SUBTYPE_TWLN }, // 11 - EMUNAND2 O3DS TWLN
|
{ TYPE_EMUNAND, SUBTYPE_TWLN }, // *5 - EMUNAND N3DS TWLN
|
||||||
{ 0x400000, TYPE_EMUNAND, SUBTYPE_TWLP }, // 12 - EMUNAND2 O3DS TWLP
|
{ TYPE_EMUNAND, SUBTYPE_TWLP }, // *6 - EMUNAND N3DS TWLP
|
||||||
{ 0x600000, TYPE_EMUNAND, SUBTYPE_CTRN_O }, // 13 - EMUNAND3 O3DS CTRNAND
|
|
||||||
{ 0x600000, TYPE_EMUNAND, SUBTYPE_TWLN }, // 14 - EMUNAND3 O3DS TWLN
|
|
||||||
{ 0x600000, TYPE_EMUNAND, SUBTYPE_TWLP }, // 15 - EMUNAND3 O3DS TWLPSDCARD
|
|
||||||
{ 0x000000, TYPE_SYSNAND, SUBTYPE_CTRN_N }, // *1 - SYSNAND CTRNAND
|
|
||||||
{ 0x000000, TYPE_SYSNAND, SUBTYPE_TWLN }, // *2 - SYSNAND TWLN
|
|
||||||
{ 0x000000, TYPE_SYSNAND, SUBTYPE_TWLP }, // *3 - SYSNAND TWLP
|
|
||||||
{ 0x000000, TYPE_EMUNAND, SUBTYPE_CTRN_N }, // *4 - EMUNAND0 N3DS CTRNAND
|
|
||||||
{ 0x000000, TYPE_EMUNAND, SUBTYPE_TWLN }, // *5 - EMUNAND0 N3DS TWLN
|
|
||||||
{ 0x000000, TYPE_EMUNAND, SUBTYPE_TWLP }, // *6 - EMUNAND0 N3DS TWLP
|
|
||||||
{ 0x400000, TYPE_EMUNAND, SUBTYPE_CTRN_N }, // *7 - EMUNAND1 N3DS CTRNAND
|
|
||||||
{ 0x400000, TYPE_EMUNAND, SUBTYPE_TWLN }, // *8 - EMUNAND1 N3DS TWLN
|
|
||||||
{ 0x400000, TYPE_EMUNAND, SUBTYPE_TWLP }, // *9 - EMUNAND1 N3DS TWLP
|
|
||||||
{ 0x800000, TYPE_EMUNAND, SUBTYPE_CTRN_N }, // *10 - EMUNAND2 N3DS CTRNAND
|
|
||||||
{ 0x800000, TYPE_EMUNAND, SUBTYPE_TWLN }, // *11 - EMUNAND2 N3DS TWLN
|
|
||||||
{ 0x800000, TYPE_EMUNAND, SUBTYPE_TWLP }, // *12 - EMUNAND2 N3DS TWLP
|
|
||||||
{ 0xC00000, TYPE_EMUNAND, SUBTYPE_CTRN_N }, // *13 - EMUNAND3 N3DS CTRNAND
|
|
||||||
{ 0xC00000, TYPE_EMUNAND, SUBTYPE_TWLN }, // *14 - EMUNAND3 N3DS TWLN
|
|
||||||
{ 0xC00000, TYPE_EMUNAND, SUBTYPE_TWLP } // *15 - EMUNAND3 N3DS TWLP
|
|
||||||
};
|
};
|
||||||
|
|
||||||
SubtypeDesc SubTypes[4] = {
|
SubtypeDesc SubTypes[4] = {
|
||||||
@ -77,6 +58,7 @@ SubtypeDesc SubTypes[4] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static bool mode_n3ds = false;
|
static bool mode_n3ds = false;
|
||||||
|
static u32 emunand_base_sector = 0x000000;
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
@ -178,7 +160,7 @@ DRESULT disk_read (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ((pdrv > 0) && mode_n3ds) // is this really set at this point?
|
if ((pdrv > 0) && mode_n3ds) // is this really set at this point?
|
||||||
pdrv += 15;
|
pdrv += 6;
|
||||||
|
|
||||||
BYTE type = DriveInfo[pdrv].type;
|
BYTE type = DriveInfo[pdrv].type;
|
||||||
|
|
||||||
@ -195,7 +177,7 @@ DRESULT disk_read (
|
|||||||
if (type == TYPE_SYSNAND) {
|
if (type == TYPE_SYSNAND) {
|
||||||
if (sdmmc_nand_readsectors(isector, count, buff))
|
if (sdmmc_nand_readsectors(isector, count, buff))
|
||||||
return RES_PARERR;
|
return RES_PARERR;
|
||||||
} else if (sdmmc_sdcard_readsectors(DriveInfo[pdrv].offset + isector, count, buff)) {
|
} else if (sdmmc_sdcard_readsectors(emunand_base_sector + isector, count, buff)) {
|
||||||
return RES_PARERR;
|
return RES_PARERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,7 +212,7 @@ DRESULT disk_write (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ((pdrv > 0) && mode_n3ds)
|
if ((pdrv > 0) && mode_n3ds)
|
||||||
pdrv += 15;
|
pdrv += 6;
|
||||||
|
|
||||||
if (DriveInfo[pdrv].type == TYPE_SDCARD) {
|
if (DriveInfo[pdrv].type == TYPE_SDCARD) {
|
||||||
if (sdmmc_sdcard_writesectors(sector, count, (BYTE *)buff)) {
|
if (sdmmc_sdcard_writesectors(sector, count, (BYTE *)buff)) {
|
||||||
@ -256,7 +238,7 @@ DRESULT disk_write (
|
|||||||
/*if (type == TYPE_SYSNAND) {
|
/*if (type == TYPE_SYSNAND) {
|
||||||
if (sdmmc_nand_writesectors(isector, count, buff))
|
if (sdmmc_nand_writesectors(isector, count, buff))
|
||||||
return RES_PARERR;
|
return RES_PARERR;
|
||||||
} else if (sdmmc_sdcard_writesectors(DriveInfo[pdrv].offset + isector, count, buff)) {
|
} else if (sdmmc_sdcard_writesectors(emunand_base_sector + isector, count, buff)) {
|
||||||
return RES_PARERR;
|
return RES_PARERR;
|
||||||
}*/
|
}*/
|
||||||
// stubbed, better be safe!
|
// stubbed, better be safe!
|
||||||
@ -283,7 +265,7 @@ DRESULT disk_ioctl (
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ((pdrv > 0) && mode_n3ds)
|
if ((pdrv > 0) && mode_n3ds)
|
||||||
pdrv += 15;
|
pdrv += 6;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case GET_SECTOR_SIZE:
|
case GET_SECTOR_SIZE:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user