diff --git a/desmume/configure.ac b/desmume/configure.ac index ace01ca2c..4e628bce2 100644 --- a/desmume/configure.ac +++ b/desmume/configure.ac @@ -224,10 +224,10 @@ fi dnl - wifi support AC_ARG_ENABLE(wifi, - [AC_HELP_STRING(--enable-wifi, enable experimental wifi support)], + [AC_HELP_STRING(--enable-wifi, enable experimental wifi comm support)], [ AC_CHECK_LIB(pcap, main,[ - AC_DEFINE(EXPERIMENTAL_WIFI) + AC_DEFINE(EXPERIMENTAL_WIFI_COMM) LIBS="$LIBS -lpcap" ]) ]) diff --git a/desmume/src/MMU.cpp b/desmume/src/MMU.cpp index ebdffc001..0e49264cc 100644 --- a/desmume/src/MMU.cpp +++ b/desmume/src/MMU.cpp @@ -3411,15 +3411,13 @@ void FASTCALL _MMU_ARM7_write08(u32 adr, u8 val) } } -#ifdef EXPERIMENTAL_WIFI if ((adr & 0xFF800000) == 0x04800000) { /* is wifi hardware, dont intermix with regular hardware registers */ // 8-bit writes to wifi I/O and RAM are ignored // Reference: http://nocash.emubase.de/gbatek.htm#dswifiiomap - return ; + return; } -#endif if (adr >> 24 == 4) { @@ -3459,8 +3457,6 @@ void FASTCALL _MMU_ARM7_write16(u32 adr, u16 val) return; } -#ifdef EXPERIMENTAL_WIFI - //wifi mac access if ((adr>=0x04800000)&&(adr<0x05000000)) { @@ -3468,9 +3464,6 @@ void FASTCALL _MMU_ARM7_write16(u32 adr, u16 val) T1WriteWord(MMU.MMU_MEM[ARMCPU_ARM7][0x48], adr&MMU.MMU_MASK[ARMCPU_ARM7][0x48], val); return; } -#else - //if ((adr>=0x04800000)&&(adr<0x05000000)) return ; -#endif adr &= 0x0FFFFFFF; @@ -3765,7 +3758,6 @@ void FASTCALL _MMU_ARM7_write32(u32 adr, u32 val) return; } -#ifdef EXPERIMENTAL_WIFI if ((adr & 0xFF800000) == 0x04800000) { // access to non regular hw registers @@ -3775,7 +3767,6 @@ void FASTCALL _MMU_ARM7_write32(u32 adr, u32 val) T1WriteLong(MMU.MMU_MEM[ARMCPU_ARM7][0x48], adr&MMU.MMU_MASK[ARMCPU_ARM7][0x48], val); return; } -#endif adr &= 0x0FFFFFFF; @@ -3880,8 +3871,7 @@ u8 FASTCALL _MMU_ARM7_read08(u32 adr) { mmu_log_debug_ARM7(adr, "(read08) %0x%X", MMU.MMU_MEM[ARMCPU_ARM7][(adr>>20)&0xFF][adr&MMU.MMU_MASK[ARMCPU_ARM7][(adr>>20)&0xFF]]); -#ifdef EXPERIMENTAL_WIFI - /* wifi mac access */ + // wifi mac access if ((adr>=0x04800000)&&(adr<0x05000000)) { if (adr & 1) @@ -3889,7 +3879,6 @@ u8 FASTCALL _MMU_ARM7_read08(u32 adr) else return WIFI_read16(adr) & 0xFF; } -#endif if ( (adr >= 0x08000000) && (adr < 0x0A010000) ) return addon.read08(adr); @@ -3915,11 +3904,9 @@ u16 FASTCALL _MMU_ARM7_read16(u32 adr) { mmu_log_debug_ARM7(adr, "(read16) %0x%X", T1ReadWord(MMU.MMU_MEM[ARMCPU_ARM7][(adr >> 20) & 0xFF], adr & MMU.MMU_MASK[ARMCPU_ARM7][(adr >> 20) & 0xFF])); -#ifdef EXPERIMENTAL_WIFI //wifi mac access if ((adr>=0x04800000)&&(adr<0x05000000)) return WIFI_read16(adr) ; -#endif if ( (adr >= 0x08000000) && (adr < 0x0A010000) ) return addon.read16(adr); @@ -3984,11 +3971,9 @@ u32 FASTCALL _MMU_ARM7_read32(u32 adr) { mmu_log_debug_ARM7(adr, "(read32) %0x%X", T1ReadWord(MMU.MMU_MEM[ARMCPU_ARM7][(adr >> 20) & 0xFF], adr & MMU.MMU_MASK[ARMCPU_ARM7][(adr >> 20) & 0xFF])); -#ifdef EXPERIMENTAL_WIFI //wifi mac access if ((adr>=0x04800000)&&(adr<0x05000000)) return (WIFI_read16(adr) | (WIFI_read16(adr+2) << 16)); -#endif if ( (adr >= 0x08000000) && (adr < 0x0A010000) ) return addon.read32(adr); diff --git a/desmume/src/NDSSystem.cpp b/desmume/src/NDSSystem.cpp index a9b689562..e9fd3f4f5 100644 --- a/desmume/src/NDSSystem.cpp +++ b/desmume/src/NDSSystem.cpp @@ -47,14 +47,6 @@ PathInfo path; -#if 0 - #ifndef PUBLIC_RELEASE - #undef EXPERIMENTAL_WIFI - #endif -#endif - -#undef EXPERIMENTAL_WIFI - TCommonSettings CommonSettings; static BaseDriver _stub_driver; BaseDriver* driver = &_stub_driver; @@ -533,9 +525,7 @@ int NDS_Init( void) { if (SPU_Init(SNDCORE_DUMMY, 740) != 0) return -1; -#ifdef EXPERIMENTAL_WIFI WIFI_Init() ; -#endif nds.FW_ARM9BootCode = NULL; nds.FW_ARM7BootCode = NULL; @@ -562,9 +552,7 @@ void NDS_DeInit(void) { MMU_DeInit(); gpu3D->NDS_3D_Close(); -#ifdef EXPERIMENTAL_WIFI WIFI_DeInit(); -#endif cheatsSearchClose(); } @@ -1958,7 +1946,7 @@ void Sequencer::init() dma_1_3.controller = &MMU_new.dma[1][3]; - #ifdef EXPERIMENTAL_WIFI + #ifdef EXPERIMENTAL_WIFI_COMM wifi.enabled = true; wifi.timestamp = kWifiCycles; #else @@ -2169,7 +2157,7 @@ u64 Sequencer::findNext() if(sqrtunit.isEnabled()) next = _fast_min(next,sqrtunit.next()); if(gxfifo.enabled) next = _fast_min(next,gxfifo.next()); -#ifdef EXPERIMENTAL_WIFI +#ifdef EXPERIMENTAL_WIFI_COMM next = _fast_min(next,wifi.next()); #endif @@ -2207,7 +2195,7 @@ void Sequencer::execHardware() } } -#ifdef EXPERIMENTAL_WIFI +#ifdef EXPERIMENTAL_WIFI_COMM if(wifi.isTriggered()) { WIFI_usTrigger(); @@ -2722,9 +2710,7 @@ void NDS_Reset() gpu3D->NDS_3D_Reset(); SPU_Reset(); -#ifdef EXPERIMENTAL_WIFI WIFI_Reset(); -#endif memcpy(FW_Mac, (MMU.fw.data + 0x36), 6); diff --git a/desmume/src/wifi.cpp b/desmume/src/wifi.cpp index ff289f354..561157654 100644 --- a/desmume/src/wifi.cpp +++ b/desmume/src/wifi.cpp @@ -25,10 +25,11 @@ #include "debug.h" #include "bits.h" -#ifdef EXPERIMENTAL_WIFI + #ifdef WIN32 #include + #include #define socket_t SOCKET #define sockaddr_t SOCKADDR #include "windriver.h" @@ -41,7 +42,6 @@ #define socket_t int #define sockaddr_t struct sockaddr #define closesocket close - #include "pcap/pcap.h" #endif #ifndef INVALID_SOCKET @@ -53,10 +53,14 @@ bool wifi_netEnabled = false; socket_t wifi_socket = INVALID_SOCKET; sockaddr_t sendAddr; -pcap_t *wifi_bridge = NULL; const u8 BroadcastMAC[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +#ifdef EXPERIMENTAL_WIFI_COMM +#ifndef WIN32 +#include "pcap/pcap.h" +#endif +pcap_t *wifi_bridge = NULL; #endif wifimac_t wifiMac; @@ -216,8 +220,6 @@ FW_WFCProfile FW_WFCProfile3 = {"", {0, 0} } ; -#ifdef EXPERIMENTAL_WIFI - /******************************************************************************* Communication interface @@ -239,6 +241,7 @@ void SoftAP_Reset(); void SoftAP_SendPacket(u8 *packet, u32 len); void SoftAP_usTrigger(); +#ifdef EXPERIMENTAL_WIFI_COMM WifiComInterface SoftAP = { SoftAP_Init, SoftAP_DeInit, @@ -246,6 +249,7 @@ WifiComInterface SoftAP = { SoftAP_SendPacket, SoftAP_usTrigger }; +#endif bool Adhoc_Init(); void Adhoc_DeInit(); @@ -263,7 +267,9 @@ WifiComInterface Adhoc = { WifiComInterface* wifiComs[] = { &Adhoc, +#ifdef EXPERIMENTAL_WIFI_COMM &SoftAP, +#endif NULL }; WifiComInterface* wifiCom; @@ -305,6 +311,7 @@ INLINE u32 WIFI_alignedLen(u32 len) return ((len + 3) & ~3); } +#ifdef EXPERIMENTAL_WIFI_COMM #ifdef WIN32 static pcap_t *desmume_pcap_open(const char *source, int snaplen, int flags, int read_timeout, char *errbuf) @@ -359,6 +366,7 @@ static int desmume_pcap_sendpacket(pcap_t *p, u_char *buf, int size) return pcap_sendpacket(p, buf, size); } #endif +#endif /******************************************************************************* @@ -1954,6 +1962,7 @@ const u8 SoftAP_AssocResponse[] = { //todo - make a class to wrap this //todo - zeromus - inspect memory leak safety of all this +#ifdef EXPERIMENTAL_WIFI_COMM static pcap_if_t * WIFI_index_device(pcap_if_t *alldevs, int index) { pcap_if_t *curr = alldevs; for(int i=0;igetHWnd(), TRUE); -#ifdef EXPERIMENTAL_WIFI +#ifdef EXPERIMENTAL_WIFI_COMM EnableMenuItem(mainMenu, IDM_WIFISETTINGS, MF_ENABLED); #endif @@ -3399,7 +3399,7 @@ void RunConfig(CONFIGSCREEN which) DialogBox(hAppInst, MAKEINTRESOURCE(IDD_PATHSETTINGS), hwnd, (DLGPROC)PathSettingsDlgProc); break; case CONFIGSCREEN_WIFI: -#ifdef EXPERIMENTAL_WIFI +#ifdef EXPERIMENTAL_WIFI_COMM if(wifi_netEnabled) { DialogBox(hAppInst,MAKEINTRESOURCE(IDD_WIFISETTINGS), hwnd, (DLGPROC) WifiSettingsDlgProc); @@ -5281,7 +5281,7 @@ LRESULT CALLBACK MicrophoneSettingsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LRESULT CALLBACK WifiSettingsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { - #ifdef EXPERIMENTAL_WIFI + #ifdef EXPERIMENTAL_WIFI_COMM switch(uMsg) { case WM_INITDIALOG: diff --git a/desmume/src/windows/mapView.cpp b/desmume/src/windows/mapView.cpp index 19d2323ef..cfa3478e1 100644 --- a/desmume/src/windows/mapView.cpp +++ b/desmume/src/windows/mapView.cpp @@ -86,7 +86,7 @@ LRESULT MapView_OnPaint(mapview_struct * win, HWND hwnd, WPARAM wParam, LPARAM l BITMAPV4HEADER bmi; u16 lg; u16 ht; - BGxPARMS * parms; + //BGxPARMS * parms; //CreateBitmapIndirect(&bmi); memset(&bmi, 0, sizeof(bmi)); diff --git a/desmume/src/windows/windriver.h b/desmume/src/windows/windriver.h index ffa427029..219363bea 100644 --- a/desmume/src/windows/windriver.h +++ b/desmume/src/windows/windriver.h @@ -26,7 +26,7 @@ #include "../common.h" #include "CWindow.h" -#ifdef EXPERIMENTAL_WIFI +#ifdef EXPERIMENTAL_WIFI_COMM #include #include //uh?