From fd48c138d62cbb125a51ae3f39d376f2dc6eab4f Mon Sep 17 00:00:00 2001 From: RocketRobz Date: Thu, 11 Oct 2018 13:08:30 -0600 Subject: [PATCH] Try "tt_sd" from Wood for TT --- arm9/dldi-include/dldi-include.h | 2 + arm9/dldi-include/tt_sd_dldi.c | 101 ++++++++++++++++++++++++++++++ arm9/dldi/tt_sd (fixed name).dldi | Bin 0 -> 1148 bytes arm9/dldi/tt_sd.dldi | Bin 0 -> 1148 bytes arm9/source/driveOperations.cpp | 12 ++-- 5 files changed, 109 insertions(+), 6 deletions(-) create mode 100644 arm9/dldi-include/tt_sd_dldi.c create mode 100644 arm9/dldi/tt_sd (fixed name).dldi create mode 100644 arm9/dldi/tt_sd.dldi diff --git a/arm9/dldi-include/dldi-include.h b/arm9/dldi-include/dldi-include.h index 1f29582..93954a3 100644 --- a/arm9/dldi-include/dldi-include.h +++ b/arm9/dldi-include/dldi-include.h @@ -5,6 +5,8 @@ extern unsigned char r4_sd_dldi[]; //extern unsigned int r4_sd_dldi_len; extern unsigned char r4tf_dldi[]; //extern unsigned int r4tf_dldi_len; +extern unsigned char tt_sd_dldi[]; +//extern unsigned int tt_sd_dldi_len; extern unsigned char ttio_dldi[]; //extern unsigned int ttio_dldi_len; extern unsigned char CycloEvo_dldi[]; diff --git a/arm9/dldi-include/tt_sd_dldi.c b/arm9/dldi-include/tt_sd_dldi.c new file mode 100644 index 0000000..5e7915c --- /dev/null +++ b/arm9/dldi-include/tt_sd_dldi.c @@ -0,0 +1,101 @@ +#include + +TWL_CODE unsigned char tt_sd_dldi[] = { + 0xed, 0xa5, 0x8d, 0xbf, 0x20, 0x43, 0x68, 0x69, 0x73, 0x68, 0x6d, 0x00, + 0x01, 0x0c, 0x0e, 0x00, 0x54, 0x54, 0x43, 0x41, 0x52, 0x44, 0x20, 0x49, + 0x4f, 0x20, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xe1, + 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0xa0, 0xe1, + 0x00, 0x00, 0xa0, 0xe1, 0x00, 0x00, 0x80, 0xbf, 0x7c, 0x04, 0x80, 0xbf, + 0x80, 0x00, 0x80, 0xbf, 0x80, 0x00, 0x80, 0xbf, 0x7c, 0x04, 0x80, 0xbf, + 0x7c, 0x04, 0x80, 0xbf, 0x7c, 0x04, 0x80, 0xbf, 0x7c, 0x04, 0x80, 0xbf, + 0x54, 0x54, 0x49, 0x4f, 0x23, 0x00, 0x00, 0x00, 0x9c, 0x03, 0x80, 0xbf, + 0xbc, 0x03, 0x80, 0xbf, 0xdc, 0x03, 0x80, 0xbf, 0x24, 0x04, 0x80, 0xbf, + 0x6c, 0x04, 0x80, 0xbf, 0x74, 0x04, 0x80, 0xbf, 0x28, 0x30, 0x9f, 0xe5, + 0x3f, 0x20, 0xe0, 0xe3, 0xa1, 0x20, 0xc3, 0xe5, 0x00, 0x30, 0xa0, 0xe3, + 0x6b, 0x2f, 0x63, 0xe2, 0x03, 0x10, 0xd0, 0xe7, 0x01, 0x30, 0x83, 0xe2, + 0xc1, 0x23, 0x82, 0xe2, 0x08, 0x00, 0x53, 0xe3, 0x00, 0x10, 0xc2, 0xe5, + 0xf8, 0xff, 0xff, 0x1a, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x01, 0x00, 0x04, + 0x70, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, 0x03, 0x00, 0xa0, 0xe1, + 0x02, 0x60, 0xa0, 0xe1, 0x01, 0x50, 0xa0, 0xe1, 0xec, 0xff, 0xff, 0xeb, + 0x01, 0x33, 0xa0, 0xe3, 0xa4, 0x41, 0x83, 0xe5, 0x06, 0x61, 0x85, 0xe0, + 0x41, 0x26, 0xa0, 0xe3, 0xa4, 0x11, 0x93, 0xe5, 0x02, 0x05, 0x11, 0xe3, + 0x03, 0x00, 0x00, 0x0a, 0x10, 0x10, 0x92, 0xe5, 0x06, 0x00, 0x55, 0xe1, + 0x00, 0x10, 0x85, 0x35, 0x04, 0x50, 0x85, 0xe2, 0xa4, 0x11, 0x93, 0xe5, + 0x00, 0x00, 0x51, 0xe3, 0xf5, 0xff, 0xff, 0xba, 0x70, 0x40, 0xbd, 0xe8, + 0x1e, 0xff, 0x2f, 0xe1, 0xf8, 0x40, 0x2d, 0xe9, 0x00, 0x40, 0xa0, 0xe1, + 0x01, 0x70, 0xa0, 0xe1, 0x01, 0x53, 0xa0, 0xe3, 0x41, 0x66, 0xa0, 0xe3, + 0x07, 0x00, 0xa0, 0xe1, 0xd5, 0xff, 0xff, 0xeb, 0xa4, 0x41, 0x85, 0xe5, + 0x00, 0x30, 0xa0, 0xe3, 0xa4, 0x21, 0x95, 0xe5, 0x02, 0x05, 0x12, 0xe3, + 0x02, 0x00, 0x00, 0x0a, 0x10, 0x20, 0x96, 0xe5, 0x00, 0x00, 0x52, 0xe3, + 0x01, 0x30, 0xa0, 0x03, 0xa4, 0x21, 0x95, 0xe5, 0x00, 0x00, 0x52, 0xe3, + 0xf6, 0xff, 0xff, 0xba, 0x00, 0x00, 0x53, 0xe3, 0xf0, 0xff, 0xff, 0x0a, + 0xf8, 0x40, 0xbd, 0xe8, 0x1e, 0xff, 0x2f, 0xe1, 0x70, 0x40, 0x2d, 0xe9, + 0x00, 0x40, 0xa0, 0xe1, 0x03, 0x00, 0xa0, 0xe1, 0x01, 0x50, 0xa0, 0xe1, + 0x02, 0x60, 0xa0, 0xe1, 0xc0, 0xff, 0xff, 0xeb, 0x01, 0x23, 0xa0, 0xe3, + 0xa4, 0x41, 0x82, 0xe5, 0x06, 0x61, 0x85, 0xe0, 0x41, 0x16, 0xa0, 0xe3, + 0xa4, 0x31, 0x92, 0xe5, 0x02, 0x05, 0x13, 0xe3, 0x0a, 0x00, 0x00, 0x0a, + 0x06, 0x00, 0x55, 0xe1, 0x10, 0x30, 0x91, 0xe5, 0x06, 0x00, 0x00, 0x2a, + 0x23, 0x04, 0xa0, 0xe1, 0x00, 0x30, 0xc5, 0xe5, 0x01, 0x00, 0xc5, 0xe5, + 0x23, 0x08, 0xa0, 0xe1, 0x23, 0x3c, 0xa0, 0xe1, 0x02, 0x00, 0xc5, 0xe5, + 0x03, 0x30, 0xc5, 0xe5, 0x04, 0x50, 0x85, 0xe2, 0xa4, 0x31, 0x92, 0xe5, + 0x00, 0x00, 0x53, 0xe3, 0xee, 0xff, 0xff, 0xba, 0x70, 0x40, 0xbd, 0xe8, + 0x1e, 0xff, 0x2f, 0xe1, 0x73, 0x40, 0x2d, 0xe9, 0x46, 0x30, 0xe0, 0xe3, + 0x07, 0x30, 0xcd, 0xe5, 0x20, 0x3c, 0xa0, 0xe1, 0x06, 0x30, 0xcd, 0xe5, + 0x20, 0x38, 0xa0, 0xe1, 0x05, 0x30, 0xcd, 0xe5, 0x20, 0x34, 0xa0, 0xe1, + 0x01, 0x50, 0xa0, 0xe1, 0x04, 0x30, 0xcd, 0xe5, 0x03, 0x00, 0xcd, 0xe5, + 0x00, 0x30, 0xa0, 0xe3, 0x08, 0x40, 0x8d, 0xe2, 0x58, 0x00, 0x9f, 0xe5, + 0x0d, 0x10, 0xa0, 0xe1, 0x02, 0x30, 0xcd, 0xe5, 0x01, 0x30, 0xcd, 0xe5, + 0x08, 0x30, 0x64, 0xe5, 0x02, 0x60, 0xa0, 0xe1, 0xb8, 0xff, 0xff, 0xeb, + 0x45, 0x30, 0xe0, 0xe3, 0x03, 0x00, 0x15, 0xe3, 0x07, 0x30, 0xcd, 0xe5, + 0x05, 0x00, 0x00, 0x0a, 0x30, 0x00, 0x9f, 0xe5, 0x05, 0x10, 0xa0, 0xe1, + 0x06, 0x20, 0xa0, 0xe1, 0x0d, 0x30, 0xa0, 0xe1, 0xc5, 0xff, 0xff, 0xeb, + 0x04, 0x00, 0x00, 0xea, 0x18, 0x00, 0x9f, 0xe5, 0x05, 0x10, 0xa0, 0xe1, + 0x06, 0x20, 0xa0, 0xe1, 0x0d, 0x30, 0xa0, 0xe1, 0x93, 0xff, 0xff, 0xeb, + 0x7c, 0x40, 0xbd, 0xe8, 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x60, 0x58, 0xa7, + 0x00, 0x60, 0x58, 0xa1, 0x1f, 0x40, 0x2d, 0xe9, 0x4f, 0x30, 0xe0, 0xe3, + 0x0b, 0x30, 0xcd, 0xe5, 0x50, 0x30, 0x83, 0xe2, 0x0a, 0x30, 0xcd, 0xe5, + 0x09, 0x30, 0xcd, 0xe5, 0x08, 0x30, 0xcd, 0xe5, 0x07, 0x30, 0xcd, 0xe5, + 0x06, 0x30, 0xcd, 0xe5, 0x05, 0x30, 0xcd, 0xe5, 0x04, 0x30, 0xcd, 0xe5, + 0x1c, 0x00, 0x9f, 0xe5, 0x0c, 0x10, 0x8d, 0xe2, 0x01, 0x20, 0xa0, 0xe3, + 0x04, 0x30, 0x8d, 0xe2, 0x7f, 0xff, 0xff, 0xeb, 0x0c, 0x00, 0x9d, 0xe5, + 0x14, 0xd0, 0x8d, 0xe2, 0x04, 0xe0, 0x9d, 0xe4, 0x1e, 0xff, 0x2f, 0xe1, + 0x00, 0x60, 0x58, 0xa7, 0x73, 0x40, 0x2d, 0xe9, 0x44, 0x30, 0xe0, 0xe3, + 0x07, 0x30, 0xcd, 0xe5, 0x20, 0x3c, 0xa0, 0xe1, 0x06, 0x30, 0xcd, 0xe5, + 0x20, 0x38, 0xa0, 0xe1, 0x00, 0x50, 0xa0, 0xe3, 0x05, 0x30, 0xcd, 0xe5, + 0x03, 0x00, 0xcd, 0xe5, 0x20, 0x34, 0xa0, 0xe1, 0x08, 0x00, 0x8d, 0xe2, + 0x08, 0x50, 0x60, 0xe5, 0x0d, 0x00, 0xa0, 0xe1, 0x02, 0x60, 0xa0, 0xe1, + 0x01, 0x40, 0xa0, 0xe1, 0x04, 0x30, 0xcd, 0xe5, 0x02, 0x50, 0xcd, 0xe5, + 0x01, 0x50, 0xcd, 0xe5, 0x5a, 0xff, 0xff, 0xeb, 0x78, 0x20, 0x9f, 0xe5, + 0x01, 0x33, 0xa0, 0xe3, 0xa4, 0x21, 0x83, 0xe5, 0x06, 0x61, 0x84, 0xe0, + 0x41, 0x26, 0xa0, 0xe3, 0xa4, 0x11, 0x93, 0xe5, 0x02, 0x05, 0x11, 0xe3, + 0x0d, 0x00, 0x00, 0x0a, 0x06, 0x00, 0x54, 0xe1, 0x09, 0x00, 0x00, 0x2a, + 0x03, 0x00, 0x14, 0xe3, 0x02, 0x50, 0xd4, 0x15, 0x01, 0x10, 0xd4, 0x15, + 0x05, 0x58, 0xa0, 0x11, 0x01, 0x54, 0x85, 0x11, 0x00, 0x10, 0xd4, 0x15, + 0x01, 0x50, 0x85, 0x11, 0x03, 0x10, 0xd4, 0x15, 0x00, 0x50, 0x94, 0x05, + 0x01, 0x5c, 0x85, 0x11, 0x10, 0x50, 0x82, 0xe5, 0x04, 0x40, 0x84, 0xe2, + 0xa4, 0x11, 0x93, 0xe5, 0x00, 0x00, 0x51, 0xe3, 0xeb, 0xff, 0xff, 0xba, + 0x43, 0x30, 0xe0, 0xe3, 0x14, 0x00, 0x9f, 0xe5, 0x0d, 0x10, 0xa0, 0xe1, + 0x07, 0x30, 0xcd, 0xe5, 0x5f, 0xff, 0xff, 0xeb, 0x7c, 0x40, 0xbd, 0xe8, + 0x1e, 0xff, 0x2f, 0xe1, 0x00, 0x60, 0x58, 0xe1, 0x00, 0x60, 0x58, 0xa7, + 0x08, 0x40, 0x2d, 0xe9, 0xb3, 0xff, 0xff, 0xeb, 0x07, 0x00, 0x00, 0xe2, + 0x04, 0x00, 0x50, 0xe3, 0x00, 0x00, 0xa0, 0x13, 0x01, 0x00, 0xa0, 0x03, + 0x08, 0x40, 0xbd, 0xe8, 0x1e, 0xff, 0x2f, 0xe1, 0x08, 0x40, 0x2d, 0xe9, + 0xab, 0xff, 0xff, 0xeb, 0x07, 0x00, 0x00, 0xe2, 0x04, 0x00, 0x50, 0xe3, + 0x00, 0x00, 0xa0, 0x13, 0x01, 0x00, 0xa0, 0x03, 0x08, 0x40, 0xbd, 0xe8, + 0x1e, 0xff, 0x2f, 0xe1, 0xf8, 0x40, 0x2d, 0xe9, 0x00, 0x70, 0xa0, 0xe1, + 0x01, 0x60, 0xa0, 0xe1, 0x02, 0x50, 0xa0, 0xe1, 0x00, 0x40, 0xa0, 0xe3, + 0x05, 0x00, 0x00, 0xea, 0x05, 0x10, 0xa0, 0xe1, 0x80, 0x04, 0xa0, 0xe1, + 0x80, 0x20, 0xa0, 0xe3, 0x74, 0xff, 0xff, 0xeb, 0x02, 0x5c, 0x85, 0xe2, + 0x01, 0x40, 0x84, 0xe2, 0x06, 0x00, 0x54, 0xe1, 0x07, 0x00, 0x84, 0xe0, + 0xf6, 0xff, 0xff, 0x3a, 0x01, 0x00, 0xa0, 0xe3, 0xf8, 0x40, 0xbd, 0xe8, + 0x1e, 0xff, 0x2f, 0xe1, 0xf8, 0x40, 0x2d, 0xe9, 0x00, 0x70, 0xa0, 0xe1, + 0x01, 0x60, 0xa0, 0xe1, 0x02, 0x50, 0xa0, 0xe1, 0x00, 0x40, 0xa0, 0xe3, + 0x05, 0x00, 0x00, 0xea, 0x05, 0x10, 0xa0, 0xe1, 0x80, 0x04, 0xa0, 0xe1, + 0x80, 0x20, 0xa0, 0xe3, 0x9e, 0xff, 0xff, 0xeb, 0x02, 0x5c, 0x85, 0xe2, + 0x01, 0x40, 0x84, 0xe2, 0x06, 0x00, 0x54, 0xe1, 0x07, 0x00, 0x84, 0xe0, + 0xf6, 0xff, 0xff, 0x3a, 0x01, 0x00, 0xa0, 0xe3, 0xf8, 0x40, 0xbd, 0xe8, + 0x1e, 0xff, 0x2f, 0xe1, 0x01, 0x00, 0xa0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1, + 0x01, 0x00, 0xa0, 0xe3, 0x1e, 0xff, 0x2f, 0xe1 +}; +//unsigned int tt_sd_len = 1148; diff --git a/arm9/dldi/tt_sd (fixed name).dldi b/arm9/dldi/tt_sd (fixed name).dldi new file mode 100644 index 0000000000000000000000000000000000000000..fcbadecf5d0385ce03bb39276330c3885cf6bba9 GIT binary patch literal 1148 zcma)*O-K}B7{{M?XLfhoG-gvHB5GtKA_ylchzQz63xvQ)H;@q0icl(8)I)*LqV91I zX?4nc1*1d9E)m7{fk(lE-8$^d+e;r-bSb<||7To7E5d8cJ^$xpzCJ8hoVJ0% z;eqQU>bFup-!rZ37e5GhJb0BE3oPnZWWUxcVYqX5*y@uY zvyeUbiL%l+peNQRec?&}OBgPT!&1%V#&x2!d zrGU?f&Z-|__^gn9@sZgpHLfUt*)3J>id0F&cnkJit`zB;Yq<;NHWg#0a}SIzC0uFn zKKnnxBWV5}hN+brcfDTL%9>xY-VEy_xfY9mo8(E|+2Ca@wt`q`ROU+)wa&O!{$NkF3_rgm2J7l$Vt)2R$^S z8*H$#FJP8?S+mxs(0U3igPJ2=9Qs_`jpJ^@k$!_K{dwFmi9YZ6V}A>g8EY6ejwx}FfUY~A2U!&Q{N}uDzJmd^J5B?2jMn|*M!m~87VU`-A-sJr{ z^u?ei74w#wg}u}q?~!SdFQo~-@JeX|D|vU~qPLW`y)kWOCw|Y|GWyg8txd>{>&-b| z*jOi@Yh@v)C)iIC1txh4|6ZdYX;`&-^7-TcoJaFqK(Eomn1>n4q88{8_pOMTDx#(% kcpvL61p@jKl=qV~QN;`&M;x^_znkGa*aU}}+^@Cu7h-As-v9sr literal 0 HcmV?d00001 diff --git a/arm9/dldi/tt_sd.dldi b/arm9/dldi/tt_sd.dldi new file mode 100644 index 0000000000000000000000000000000000000000..8d36aab5f9759843990ab558db8c884d94ae7053 GIT binary patch literal 1148 zcma)*O-NKx6vxk<_vXXNi8rMY5%pvuED&F05D_$k=C;?&1QJ3m&VxSIyqRYi37*@RRP}R;rBZrAmobjs5kOZ!30Y z@bbP^syv6igYCne0oVwv*_!cBm{m1vzVXSD>T>G^Pcs%j2y5JXl^OFAR8VBR_E&;n z*Pfu&B|-X7w&fFLrK>?tq({2KmhP7zSQdw+n#+y*vGYzfw;z6b%8x|TN+U`d#-tyk zGcFm<5#4q?{zi0K{Ro0*L)jM}nY~iuiXkuyQssK3iX+Ecu;+44sBf<6E|}X?gqh|& zF!D-RQsX%LKfxnt{vHI$l^S=wUe?N*U$Wi|>m6Iwy955ANwBx8B-pIgux>*$9n9$H zyEX3%n)fpa>1K|D0bfHbtOf5l=eKpW45OA#tE%GGf^Xt}jL)Oejq=&H+A|%#MhjtG ziEP>Hq8UGBfQ`6-C9I1+Ykdl>C&ALFG2}&|&%)g(?#4{%rYz~s zeW0GMN3hww&~^&EEy!VG&PkkgVZH^Q^|Dsh$@+GKS8tR(VM?W2W$zYv^)&4_ES5dJ zI{iM}32?dIj(^lkwp7gGI=SuymA!=B13Dooi@i>vEldbUI+b&3IiCRDT`{Vz75BGTpv&IY~Hg+hBUSLK% rw-R=$gr1JzeWcs*1oXwI=*DTHiXA?NJZf!!H^X_b2@W%PUTfzs?0o-V literal 0 HcmV?d00001 diff --git a/arm9/source/driveOperations.cpp b/arm9/source/driveOperations.cpp index 200a2df..0f58155 100644 --- a/arm9/source/driveOperations.cpp +++ b/arm9/source/driveOperations.cpp @@ -148,11 +148,11 @@ TWL_CODE bool twl_flashcardMount(void) { sysSetCardOwner (BUS_OWNER_ARM7); // 3DS fix // Read a DLDI driver specific to the cart - /*if (!memcmp(gameid, "ASMA", 4)) { - io_dldi_data = dldiLoadFromBin(r4tf_dldi); + if (!memcmp(gameid, "ASMA", 4)) { + io_dldi_data = dldiLoadFromBin(r4_sd_dldi); fatMountSimple("fat", &io_dldi_data->ioInterface); } else if (!memcmp(gamename, "TOP TF/SD DS", 12) || !memcmp(gameid, "A76E", 4)) { - io_dldi_data = dldiLoadFromBin(ttio_dldi); + io_dldi_data = dldiLoadFromBin(tt_sd_dldi); fatMountSimple("fat", &io_dldi_data->ioInterface); } else if (!memcmp(gamename, "PASS", 4) && !memcmp(gameid, "ASME", 4)) { io_dldi_data = dldiLoadFromBin(CycloEvo_dldi); @@ -160,16 +160,16 @@ TWL_CODE bool twl_flashcardMount(void) { } else if (!memcmp(gamename, "D!S!XTREME", 12) && !memcmp(gameid, "AYIE", 4)) { io_dldi_data = dldiLoadFromBin(dsx_dldi); fatMountSimple("fat", &io_dldi_data->ioInterface); - } else*/ if (!memcmp(gamename, "QMATETRIAL", 9) || !memcmp(gamename, "R4DSULTRA", 9)) { + } else if (!memcmp(gamename, "QMATETRIAL", 9) || !memcmp(gamename, "R4DSULTRA", 9)) { io_dldi_data = dldiLoadFromBin(r4idsn_sd_dldi); fatMountSimple("fat", &io_dldi_data->ioInterface); } else if (!memcmp(gameid, "ACEK", 4) || !memcmp(gameid, "YCEP", 4) || !memcmp(gameid, "AHZH", 4)) { io_dldi_data = dldiLoadFromBin(ak2_sd_dldi); fatMountSimple("fat", &io_dldi_data->ioInterface); - } /*else if (!memcmp(gameid, "ALXX", 4)) { + } else if (!memcmp(gameid, "ALXX", 4)) { io_dldi_data = dldiLoadFromBin(dstwo_dldi); fatMountSimple("fat", &io_dldi_data->ioInterface); - }*/ + } if (flashcardFound()) { fatGetVolumeLabel("fat", fatLabel);