From 96ffc3a52450ce830afcf4d28eca2e35a013b724 Mon Sep 17 00:00:00 2001 From: Bryan Barnes Date: Wed, 5 Feb 2014 00:23:06 -0500 Subject: [PATCH 1/2] mic notes, wip vmu swap --- docs/microphone support notes.txt | 9 ++++----- shell/android/jni/src/Android.cpp | 9 +++++++++ .../com/reicast/emulator/GL2JNIActivity.java | 18 ++++++++++++++---- .../src/com/reicast/emulator/JNIdc.java | 1 + 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/docs/microphone support notes.txt b/docs/microphone support notes.txt index cc22ba69c..9328162b5 100644 --- a/docs/microphone support notes.txt +++ b/docs/microphone support notes.txt @@ -26,12 +26,11 @@ maximum size of a Maple Bus packet is 256 words (1024 bytes) ================ Games that can use mic: --Seaman +-Seaman [tested, working!] -Alien Front Online -Planet Ring --Mr Driller --Otoire +-Mr Driller [tested, working!] (lol @ telling mr driller to dig) +-Otoire [tested, working!] -Propeller Arena -Visual Park --Kiteretsu Boys Gangagan - +-Kiteretsu Boys Gangagan \ No newline at end of file diff --git a/shell/android/jni/src/Android.cpp b/shell/android/jni/src/Android.cpp index 93b6748af..39ad41b81 100644 --- a/shell/android/jni/src/Android.cpp +++ b/shell/android/jni/src/Android.cpp @@ -38,6 +38,7 @@ extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_initControllers(JNIEnv *env, jobject obj, jbooleanArray controllers) __attribute__((visibility("default"))); JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_setupMic(JNIEnv *env,jobject obj,jobject sip) __attribute__((visibility("default"))); + JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_vmuSwap(JNIEnv *env,jobject obj) __attribute__((visibility("default"))); }; @@ -224,6 +225,14 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_stop(JNIEnv *env,jobject dc_term(); } +JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_vmuSwap(JNIEnv *env,jobject obj) +{ + maple_device* swap = MapleDevices[0][1]; + MapleDevices[0][1] = MapleDevices[0][0]; + MapleDevices[0][0] = swap; + +} + JNIEXPORT jint JNICALL Java_com_reicast_emulator_JNIdc_send(JNIEnv *env,jobject obj,jint cmd, jint param) { if (cmd==0) diff --git a/shell/android/src/com/reicast/emulator/GL2JNIActivity.java b/shell/android/src/com/reicast/emulator/GL2JNIActivity.java index f83712df3..855ed7fa3 100644 --- a/shell/android/src/com/reicast/emulator/GL2JNIActivity.java +++ b/shell/android/src/com/reicast/emulator/GL2JNIActivity.java @@ -90,31 +90,34 @@ public class GL2JNIActivity extends Activity { GL2JNIActivity.this.finish(); } }), params); + + //TODO comment what these do + //TODO update these icons hlay.addView(addbut(R.drawable.config, new OnClickListener() { public void onClick(View v) { - JNIdc.send(0, 0); + JNIdc.send(0, 0); //Killing texture cache popUp.dismiss(); } }), params); hlay.addView(addbut(R.drawable.profiler, new OnClickListener() { public void onClick(View v) { - JNIdc.send(1, 3000); + JNIdc.send(1, 3000); //sample_Start(param); popUp.dismiss(); } }), params); hlay.addView(addbut(R.drawable.profiler, new OnClickListener() { public void onClick(View v) { - JNIdc.send(1, 0); + JNIdc.send(1, 0); //sample_Start(param); popUp.dismiss(); } }), params); hlay.addView(addbut(R.drawable.disk_unknown, new OnClickListener() { public void onClick(View v) { - JNIdc.send(0, 1); + JNIdc.send(0, 1); //settings.pvr.ta_skip popUp.dismiss(); } }), params); @@ -122,6 +125,13 @@ public class GL2JNIActivity extends Activity { hlay.addView(addbut(R.drawable.profiler, new OnClickListener() { public void onClick(View v) { JNIdc.send(0, 2); + popUp.dismiss(); //print_stats=true; + } + }), params); + + hlay.addView(addbut(R.drawable.input, new OnClickListener() { + public void onClick(View v) { + JNIdc.vmuSwap(); popUp.dismiss(); } }), params); diff --git a/shell/android/src/com/reicast/emulator/JNIdc.java b/shell/android/src/com/reicast/emulator/JNIdc.java index b1dc12fbb..2a68aff44 100644 --- a/shell/android/src/com/reicast/emulator/JNIdc.java +++ b/shell/android/src/com/reicast/emulator/JNIdc.java @@ -24,6 +24,7 @@ public class JNIdc public static native void initControllers(boolean[] controllers); public static native void setupMic(Object sip); + public static native void vmuSwap(); public static void show_osd() { JNIdc.vjoy(13, 1,0,0,0); From 76852783a724bdb49de9ccc523a7ae0921bc8aa0 Mon Sep 17 00:00:00 2001 From: Bryan Barnes Date: Thu, 6 Feb 2014 00:02:53 -0500 Subject: [PATCH 2/2] its verking! tested in bios only --- core/types.h | 1 + shell/android/jni/src/Android.cpp | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/core/types.h b/core/types.h index d87e87426..e02b19917 100644 --- a/core/types.h +++ b/core/types.h @@ -703,6 +703,7 @@ static inline void do_nada(...) { } #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) #define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG_TAG,__VA_ARGS__) #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) +#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) #ifdef STRIP_TEXT #define puts do_nada #define printf do_nada diff --git a/shell/android/jni/src/Android.cpp b/shell/android/jni/src/Android.cpp index 39ad41b81..2f05061d9 100644 --- a/shell/android/jni/src/Android.cpp +++ b/shell/android/jni/src/Android.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -227,9 +228,18 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_stop(JNIEnv *env,jobject JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_vmuSwap(JNIEnv *env,jobject obj) { - maple_device* swap = MapleDevices[0][1]; - MapleDevices[0][1] = MapleDevices[0][0]; - MapleDevices[0][0] = swap; + LOGD("vmuSwap go!"); + + maple_device* olda = MapleDevices[0][0]; + maple_device* oldb = MapleDevices[0][1]; + MapleDevices[0][0] = NULL; + MapleDevices[0][1] = NULL; + usleep(50000);//50 ms, wait for host to detect disconnect + + MapleDevices[0][0] = oldb; + MapleDevices[0][1] = olda; + + LOGD("vmuSwap done"); }