Include rom revision in dump names

This commit is contained in:
d0k3 2017-01-26 01:31:29 +01:00
parent af32ca3ac5
commit cd7e0341d8
3 changed files with 7 additions and 5 deletions

View File

@ -38,7 +38,7 @@
(((v) % (a)) ? ((v) + (a) - ((v) % (a))) : (v)) (((v) % (a)) ? ((v) + (a) - ((v) % (a))) : (v))
// GodMode9 version // GodMode9 version
#define VERSION "0.9.5" #define VERSION "0.9.6"
// input / output paths // input / output paths
#define INPUT_PATHS "0:", "0:/files9", "1:/rw/files9" #define INPUT_PATHS "0:", "0:/files9", "1:/rw/files9"

View File

@ -12,7 +12,9 @@
typedef struct { typedef struct {
NcsdHeader ncsd; NcsdHeader ncsd;
u32 card2_offset; u32 card2_offset;
u8 cinfo[0x1000 - (0x200 + sizeof(u32))]; u8 cinfo0[0x312 - (0x200 + sizeof(u32))];
u32 rom_version;
u8 cinfo1[0x1000 - (0x312 + sizeof(u32))];
NcchHeader ncch; NcchHeader ncch;
u8 padding[0x3000 - 0x200]; u8 padding[0x3000 - 0x200];
u8 private[PRIV_HDR_SIZE]; u8 private[PRIV_HDR_SIZE];
@ -42,12 +44,12 @@ u32 GetCartName(char* name, CartData* cdata) {
if (cdata->cart_type & CART_CTR) { if (cdata->cart_type & CART_CTR) {
CartDataCtr* cdata_i = (CartDataCtr*)(void*) cdata; CartDataCtr* cdata_i = (CartDataCtr*)(void*) cdata;
NcsdHeader* ncsd = &(cdata_i->ncsd); NcsdHeader* ncsd = &(cdata_i->ncsd);
snprintf(name, 24, "%016llX", ncsd->mediaId); snprintf(name, 24, "%016llX_v%02lu", ncsd->mediaId, cdata_i->rom_version);
return 0; return 0;
} else if (cdata->cart_type & CART_NTR) { } else if (cdata->cart_type & CART_NTR) {
CartDataNtrTwl* cdata_i = (CartDataNtrTwl*)(void*) cdata; CartDataNtrTwl* cdata_i = (CartDataNtrTwl*)(void*) cdata;
TwlHeader* nds = &(cdata_i->ntr_header); TwlHeader* nds = &(cdata_i->ntr_header);
snprintf(name, 24, "%.12s.%.6s%02X", nds->game_title, nds->game_code, nds->rom_version); snprintf(name, 24, "%.12s_%.6s_%02u", nds->game_title, nds->game_code, nds->rom_version);
return 0; return 0;
} else return 1; } else return 1;
} }

View File

@ -24,7 +24,7 @@ bool ReadVCartDir(VirtualFile* vfile, VirtualDir* vdir) {
if (vdir->index == 2) { // private header if (vdir->index == 2) { // private header
if (!(cdata->cart_type & CART_CTR)) return false; if (!(cdata->cart_type & CART_CTR)) return false;
snprintf(vfile->name, 32, "%s-private.bin", name); snprintf(vfile->name, 32, "%s-priv.bin", name);
vfile->size = PRIV_HDR_SIZE; vfile->size = PRIV_HDR_SIZE;
vfile->flags = VFLAG_PRIV_HDR; vfile->flags = VFLAG_PRIV_HDR;
} else { } else {