From cbfedc1188fc0542c43baf09ab0d7887e94aeef7 Mon Sep 17 00:00:00 2001 From: lifehackerhansol Date: Mon, 18 Mar 2024 08:50:31 -0700 Subject: [PATCH] v2.11 --- BootLoader/loader.bin | Bin 16384 -> 0 bytes BootLoader/source/boot.c | 61 +++++++++++++++++++++++++-------- Flasher/data/loader.bin | Bin 16384 -> 16384 bytes Flasher/ndsmp_gba/ndsmp_mb.gba | Bin 87984 -> 87984 bytes Flasher/ndsmp_nds/Makefile | 2 +- Flasher/source/flashapp.cpp | 2 +- 6 files changed, 49 insertions(+), 16 deletions(-) delete mode 100644 BootLoader/loader.bin diff --git a/BootLoader/loader.bin b/BootLoader/loader.bin deleted file mode 100644 index 3be9256ee3df172c9cd438284395dcc5a255b010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 diff --git a/BootLoader/source/boot.c b/BootLoader/source/boot.c index 812c18e..82731f1 100644 --- a/BootLoader/source/boot.c +++ b/BootLoader/source/boot.c @@ -56,6 +56,37 @@ Helpful information: #define STORED_FILE_SECTOR (*(vu32*)0x027FFFF8) const char* bootName = "_BOOT_MP.NDS"; + +//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// Firmware stuff + +#define FW_READ 0x03 + +void readFirmware(uint32 address, uint32 size, uint8 * buffer) { + uint32 index; + + // Read command + while (REG_SPICNT & SPI_BUSY); + REG_SPICNT = SPI_ENABLE | SPI_CONTINUOUS | SPI_DEVICE_NVRAM; + REG_SPIDATA = FW_READ; + while (REG_SPICNT & SPI_BUSY); + + // Set the address + REG_SPIDATA = (address>>16) & 0xFF; + while (REG_SPICNT & SPI_BUSY); + REG_SPIDATA = (address>>8) & 0xFF; + while (REG_SPICNT & SPI_BUSY); + REG_SPIDATA = (address) & 0xFF; + while (REG_SPICNT & SPI_BUSY); + + for (index = 0; index < size; index++) { + REG_SPIDATA = 0; + while (REG_SPICNT & SPI_BUSY); + buffer[index] = REG_SPIDATA & 0xFF; + } + REG_SPICNT = 0; +} + //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // CF card stuff //#define _CF_USE_DMA @@ -907,6 +938,8 @@ Modified by Chishm: void __attribute__ ((long_call)) resetMemory_ARM7 (void) { int i; + u8 settings1, settings2; + REG_IME = 0; for (i=0; i<16; i++) { @@ -956,7 +989,7 @@ void __attribute__ ((long_call)) resetMemory_ARM7 (void) // clear most of EWRAM - except after 0x023FF800, which has DS settings "mov r8, #0x02000000 \n" // Start address part 1 - "orr r8, r8, #0x4000 \n" // Start address part 2 + "orr r8, r8, #0x8000 \n" // Start address part 2 "mov r9, #0x02300000 \n" // End address part 1 "orr r9, r9, #0xff000 \n" // End address part 2 "orr r9, r9, #0x00800 \n" // End address part 3 @@ -974,6 +1007,16 @@ void __attribute__ ((long_call)) resetMemory_ARM7 (void) (*(vu32*)(0x04000000-4)) = 0; //IRQ_HANDLER ARM7 version (*(vu32*)(0x04000000-8)) = ~0; //VBLANK_INTR_WAIT_FLAGS, ARM7 version POWER_CR = 1; //turn off power to stuffs + + // Reload DS Firmware settings + readFirmware((u32)0x03FE70, 0x1, &settings1); + readFirmware((u32)0x03FF70, 0x1, &settings2); + + if (settings1 > settings2) { + readFirmware((u32)0x03FE00, 0x70, (u8*)0x027FFC80); + } else { + readFirmware((u32)0x03FF00, 0x70, (u8*)0x027FFC80); + } } @@ -1004,21 +1047,11 @@ void __attribute__ ((long_call)) loadBinary_ARM7 (u32 fileCluster) } else { fileRead(ARM7_DST, fileCluster, ARM7_SRC, ARM7_LEN); } - if (((u32)ndsHeader[0x050>>2]) != 0) + if (((ndsHeader[0x070>>2]) != 0) && ((ndsHeader[0x04c>>2]) != 0)) { __asm volatile ("swi 0x00"); } -/* Not needed for WMB demos - //mirrored header CRC - (*(vu16*)0x027FF808) = ndsHeader[0x15E>>2]; - (*(vu16*)0x027FFC08) = ndsHeader[0x15E>>2]; - - //mirrored secure area CRC - (*(vu16*)0x027FF80A) = ndsHeader[0x06C>>2]; - (*(vu16*)0x027FFC0A) = ndsHeader[0x06C>>2]; -*/ - // first copy the header to its proper location, excluding // the ARM9 start address, so as not to start it TEMP_ARM9_START_ADDRESS = ndsHeader[0x024>>2]; // Store for later @@ -1183,11 +1216,11 @@ int main (void) { // Load the NDS file loadBinary_ARM7(fileCluster); - + // Store start cluster and sector of loaded file, in case the loaded NDS wants it STORED_FILE_CLUSTER = fileCluster; STORED_FILE_SECTOR = FAT_ClustToSect(fileCluster); - + // ARM7 moved out of SIWRAM to clear it, then start binaries // copy ARM7 function to location just after ARM9 start function, // and make the ARM7 jump to it diff --git a/Flasher/data/loader.bin b/Flasher/data/loader.bin index 3be9256ee3df172c9cd438284395dcc5a255b010..04c14f0c2726cbdd90c09e69f7a3dff9cc2b4f28 100644 GIT binary patch delta 959 zcmZ{jUr19?9LLW&_tu>07;c#^m)9w6PM0^OeLY^FH*F53yJeJ!A}hiO3i|n9v`+=Q>iCxCaYK<@P(Kr4L^C@jK^tKEL1j-Sa(1 zRk5n#WXKs56N+$IQ-qGNBD{U92*qhlU!4goh{-nQLnucqDCf(xvizO+{1LN3N9mDl z1^DxEI^gWH)kErfToDj_`8fUM>{jwHl_9*c6&7a$S#dT#$FuFBzydZjgM>8QvJ_)U z`J1jHhp}#&u7_te!xGSpr2Ih-S4S8WG4KSRkL#AnD6n7tv62t+n>E9f2n#n2vZOSj z<7%ECQ2_k-AFSCE+{Ga%=-IpIZWeVKmPyS48#=-h(Gu9S1R>2~MW_(TLEiCuePg|TL!*>6EL=eF9PEkJkyy-l^zZf7iXMce4Xba?tw2#(A(~FI7Xkj>qxnnnsSd~ z+jcQt2)2z?zQeYB3rGb`3Luq`roB~1MKROPXtXMW3BBRDpqK|hAP@=Jqgk&_g)ox<09-N6#nemBJrVcO8mCP&HvsRMewAaim0`xksQ|K5fOG;7 zgLHs&X3W`aCS%1U1yYj%#2|T)-VhKCRG%M4jnmsY@ebAChJCVW5R3`O-^IJ(@2)1i|dCLIk>C zmq?>sM=2vUU6}`c$XFC1Bx4gQAyem$OX?;rVIX8o=bF~~;4p`K=iJ{p_ssp@6C6qi z!aLegE(R3gvZ@HR9z}TjSP@b~s=m44S`mXatN@`Xv7l%{xSGXo`$|TMKWMK z=chk98g0c8y5&~{1W(LQ8#^167<|g$-q>-Ai>`>c=wIT|_Da_ZHdKRDs=8&($Aa>_ z?nVw{%QT%2POFB+r5Zu`z3$2NGDu?J3I08<;sLrrVs}9)E;hAVngH6*AQXN)=l961_D}JZP7r`qR z<Q{U`h_E`@3W6RoH=MqWgib!C20d4AOAI5L!oxplw9(Xdq z3gBc9!I;DenA>4Y0pk%oGCiRAy2^=@GwEP_oyQ_R0-q9~tosc1(d?cga#+-^_Vi)f zZZe(-woQCCg>A7akP3S8p*f0;f%(0 zV)rm2wXvI9W|XfBFh2on*sdBkz(=I75kUq+*K|0qCtdj{323y?zc#)o*=8b4E|aAXyBK1_Msv)!Bromov#+~Fuglijf?5z;1~Rvb`KqN zj49o=p1#%5%*8 delta 536 zcmdn6o^=Bd?U-Q|F{hq+&b)f&fW~@enQ8URyayIM{Bd9RCCdh%M;Z(aucxyyyw(=fBsg0E!dxksQ|K5fOG;7 zgLHs&X3W{VZh;k(6i7`55QF4FdP6`oP<_Ij$xMsw7_%okF4kuH#=JRi@hV0>m|-A; zfYz!lJ;lh!XuRO@2Y20<%s}rlJ52t!Ol`8p@(YZNlYcIE7GX44@R&iM=jjH6Lk~Z= z?*;pN^NAHTER4OAUDwJhw*LM9+TOV35tC{2BPL5A<_vz!+pyrF8UuqC6KCjSxyh|- zEO;0U6u&dsaoulDn~A{SanOBvakA_B`;1p6t8VaSG?-kt;Wp#1$-W!K zrDpWhGfx4kInWCW24E0QsAt~NzqxMXJZ2_~Ig{nKN-;(JoNTq#io*dI4k|#rIdOXi U^Ja_f8+(}yjJLmbVLU1X0F#pGCjbBd diff --git a/Flasher/ndsmp_nds/Makefile b/Flasher/ndsmp_nds/Makefile index 64089b9..8566c76 100644 --- a/Flasher/ndsmp_nds/Makefile +++ b/Flasher/ndsmp_nds/Makefile @@ -112,7 +112,7 @@ DEPENDS := $(OFILES:.o=.d) # main targets #--------------------------------------------------------------------------------- $(OUTPUT).nds : $(OUTPUT).arm9 - @ndstool -c $@ -9 $< -b $(CURDIR)/../icon.bmp "NDS MP;GBAMP NDS Firmware Hack Version 2.0;By Chishm" + @ndstool -c $@ -9 $< -b $(CURDIR)/../icon.bmp "NDS MP;GBAMP NDS Firmware Hack Version 2.11;By Chishm" $(OUTPUT).arm9 : $(OUTPUT).elf $(OUTPUT).elf : $(OFILES) diff --git a/Flasher/source/flashapp.cpp b/Flasher/source/flashapp.cpp index c9ad4b6..c5070a3 100644 --- a/Flasher/source/flashapp.cpp +++ b/Flasher/source/flashapp.cpp @@ -45,7 +45,7 @@ void FlashApp() { xprintf("GBA Movie Player flasher v1.2\n"); xprintf(" by Rafael Vuijk (DarkFader) \n"); - xprintf("NDSMP - GBAMP FW Hack v2.03 \n"); + xprintf("NDSMP - GBAMP FW Hack v2.11 \n"); xprintf(" NDS support for GBAMP \n"); xprintf(" by Michael Chisholm (Chishm)\n"); xprintf("\n");