diff --git a/desmume/src/MMU.c b/desmume/src/MMU.c index 39b5cbbd1..28b70b5af 100644 --- a/desmume/src/MMU.c +++ b/desmume/src/MMU.c @@ -648,10 +648,12 @@ u16 FASTCALL MMU_read16(u32 proc, u32 adr) // CFlash reading, Mic if ((adr>=0x08800000)&&(adr<0x09900000)) return (unsigned short)cflash_read(adr); - + +#ifdef EXPERIMENTAL_WIFI /* wifi mac access */ if ((proc==ARMCPU_ARM7) && (adr>=0x04800000)&&(adr<0x05000000)) return WIFI_read16(&wifiMac,adr) ; +#endif adr &= 0x0FFFFFFF; @@ -1165,9 +1167,12 @@ void FASTCALL MMU_write16(u32 proc, u32 adr, u16 val) return; } +#ifdef EXPERIMENTAL_WIFI + /* wifi mac access */ if ((proc==ARMCPU_ARM7) && (adr>=0x04800000)&&(adr<0x05000000)) WIFI_write16(&wifiMac,adr,val) ; +#endif adr &= 0x0FFFFFFF; @@ -1418,40 +1423,40 @@ void FASTCALL MMU_write16(u32 proc, u32 adr, u16 val) return; case REG_DISPB_BG2PA : if(proc == ARMCPU_ARM9) GPU_setPA(SubScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2PB : if(proc == ARMCPU_ARM9) GPU_setPB(SubScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2PC : if(proc == ARMCPU_ARM9) GPU_setPC(SubScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2PD : if(proc == ARMCPU_ARM9) GPU_setPD(SubScreen.gpu, 2, val); - return; + break; case REG_DISPA_BG3PA : if(proc == ARMCPU_ARM9) GPU_setPA(MainScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG3PB : if(proc == ARMCPU_ARM9) GPU_setPB(MainScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG3PC : if(proc == ARMCPU_ARM9) GPU_setPC(MainScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG3PD : if(proc == ARMCPU_ARM9) GPU_setPD(MainScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3PA : if(proc == ARMCPU_ARM9) GPU_setPA(SubScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3PB : if(proc == ARMCPU_ARM9) GPU_setPB(SubScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3PC : if(proc == ARMCPU_ARM9) GPU_setPC(SubScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3PD : if(proc == ARMCPU_ARM9) GPU_setPD(SubScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG2XL : if(proc == ARMCPU_ARM9) GPU_setXL(MainScreen.gpu, 2, val); return; @@ -2028,53 +2033,53 @@ void FASTCALL MMU_write32(u32 proc, u32 adr, u32 val) #endif case REG_DISPA_BG2PA : if (proc == ARMCPU_ARM9) GPU_setPAPB(MainScreen.gpu, 2, val); - return; + break; case REG_DISPA_BG2PC : if (proc == ARMCPU_ARM9) GPU_setPCPD(MainScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2PA : if (proc == ARMCPU_ARM9) GPU_setPAPB(SubScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2PC : if (proc == ARMCPU_ARM9) GPU_setPCPD(SubScreen.gpu, 2, val); - return; + break; case REG_DISPA_BG3PA : if (proc == ARMCPU_ARM9) GPU_setPAPB(MainScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG3PC : if (proc == ARMCPU_ARM9) GPU_setPCPD(MainScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3PA : if (proc == ARMCPU_ARM9) GPU_setPAPB(SubScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3PC : if (proc == ARMCPU_ARM9) GPU_setPCPD(SubScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG2XL : if (proc == ARMCPU_ARM9) GPU_setX(MainScreen.gpu, 2, val); - return; + break; case REG_DISPA_BG2YL : if (proc == ARMCPU_ARM9) GPU_setY(MainScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2XL : if (proc == ARMCPU_ARM9) GPU_setX(SubScreen.gpu, 2, val); - return; + break; case REG_DISPB_BG2YL : if (proc == ARMCPU_ARM9) GPU_setY(SubScreen.gpu, 2, val); - return; + break; case REG_DISPA_BG3XL : if (proc == ARMCPU_ARM9) GPU_setX(MainScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG3YL : if (proc == ARMCPU_ARM9) GPU_setY(MainScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3XL : if (proc == ARMCPU_ARM9) GPU_setX(SubScreen.gpu, 3, val); - return; + break; case REG_DISPB_BG3YL : if (proc == ARMCPU_ARM9) GPU_setY(SubScreen.gpu, 3, val); - return; + break; case REG_DISPA_BG0HOFS : if (proc == ARMCPU_ARM9) GPU_scrollXY(MainScreen.gpu, 0, val); return; diff --git a/desmume/src/NDSSystem.c b/desmume/src/NDSSystem.c index 44d5dd3e8..2dff0dc3f 100644 --- a/desmume/src/NDSSystem.c +++ b/desmume/src/NDSSystem.c @@ -45,7 +45,9 @@ int NDS_Init(void) { if (SPU_Init(SNDCORE_DUMMY, 735) != 0) return -1; +#ifdef EXPERIMENTAL_WIFI WIFI_Init(&wifiMac) ; +#endif return 0; } @@ -522,6 +524,8 @@ int NDS_WriteBMP(const char *filename) /* creates an firmware flash image, which contains all needed info to initiate a wifi connection */ int NDS_CreateDummyFirmware(void) { +#ifdef EXPERIMENTAL_WIFI + memcpy(MMU.fw.data+0x36,FW_Mac,sizeof(FW_Mac)) ; memcpy(MMU.fw.data+0x44,FW_WIFIInit,sizeof(FW_WIFIInit)) ; MMU.fw.data[0x41] = 18 ; /* bits per RF value */ @@ -532,6 +536,7 @@ int NDS_CreateDummyFirmware(void) memcpy(MMU.fw.data+0x146,FW_BBChannel,sizeof(FW_BBChannel)) ; memcpy(MMU.fw.data+0x03FA40,FW_WFCProfile,sizeof(FW_WFCProfile)) ; +#endif } int NDS_LoadFirmware(const char *filename) diff --git a/desmume/src/NDSSystem.h b/desmume/src/NDSSystem.h index 4256f5ee5..6df2011f6 100644 --- a/desmume/src/NDSSystem.h +++ b/desmume/src/NDSSystem.h @@ -203,12 +203,15 @@ int NDS_CreateDummyFirmware(void); nds.ARM9Cycle += armcpu_exec(&NDS_ARM9); } +#ifdef EXPERIMENTAL_WIFI + if((nds.ARM7Cycle % 0x3F03) == 0) { /* 3F03 arm7 cyles = ~1usec */ WIFI_usTrigger(&wifiMac) ; } - if(nds.ARM7Cycle<=nds.cycles) +#endif + if(nds.ARM7Cycle<=nds.cycles) { #ifdef LOG_ARM7 if(logcount==1){