diff --git a/core/nullDC.cpp b/core/nullDC.cpp index 3a77b7720..7e4e21c3d 100755 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -129,7 +129,13 @@ void* webui_th(void* p) cThread webui_thd(&webui_th,0); #endif +#if defined(_ANDROID) +int reios_init_value; + +void reios_init(int argc,wchar* argv[]) +#else int dc_init(int argc,wchar* argv[]) +#endif { setbuf(stdin,0); setbuf(stdout,0); @@ -137,7 +143,12 @@ int dc_init(int argc,wchar* argv[]) if (!_vmem_reserve()) { printf("Failed to alloc mem\n"); +#if defined(_ANDROID) + reios_init_value = -1; + return; +#else return -1; +#endif } #if !defined(TARGET_NO_WEBUI) @@ -146,19 +157,29 @@ int dc_init(int argc,wchar* argv[]) if(ParseCommandLine(argc,argv)) { - return 69; +#if defined(_ANDROID) + reios_init_value = 69; + return; +#else + return 69; +#endif } if(!cfgOpen()) { msgboxf("Unable to open config file",MBX_ICONERROR); +#if defined(_ANDROID) + reios_init_value = -4; + return; +#else return -4; +#endif } LoadSettings(); #ifndef _ANDROID os_CreateWindow(); #endif - int rv= 0; + int rv = 0; #if HOST_OS != OS_DARWIN #define DATA_PATH "/data/" @@ -169,11 +190,34 @@ int dc_init(int argc,wchar* argv[]) if (settings.bios.UseReios || !LoadRomFiles(get_readonly_data_path(DATA_PATH))) { if (!LoadHle(get_readonly_data_path(DATA_PATH))) + { +#if defined(_ANDROID) + reios_init_value = -4; + return; +#else return -3; +#endif + } else + { printf("Did not load bios, using reios\n"); + } } + plugins_Init(); + +#if defined(_ANDROID) +} + +int dc_init() +{ + int rv = 0; + if (reios_init_value != 0) + return reios_init_value; +#else + LoadCustom(); +#endif + #if FEAT_SHREC != DYNAREC_NONE if(settings.dynarec.Enable) { @@ -192,8 +236,6 @@ int dc_init(int argc,wchar* argv[]) sh4_cpu.Init(); mem_Init(); - plugins_Init(); - mem_map_default(); #if DC_PLATFORM == DC_PLATFORM_DREAMCAST @@ -206,10 +248,6 @@ int dc_init(int argc,wchar* argv[]) mem_Reset(false); sh4_cpu.Reset(false); - -#ifndef _ANDROID - LoadCustom(); -#endif return rv; } diff --git a/shell/android-studio/reicast/src/main/java/com/android/util/FileUtils.java b/shell/android-studio/reicast/src/main/java/com/android/util/FileUtils.java index 110f06b87..a394cc767 100644 --- a/shell/android-studio/reicast/src/main/java/com/android/util/FileUtils.java +++ b/shell/android-studio/reicast/src/main/java/com/android/util/FileUtils.java @@ -9,7 +9,6 @@ import android.net.Uri; import android.os.Environment; import android.preference.PreferenceManager; -import com.reicast.emulator.MainActivity; import com.reicast.emulator.config.Config; import java.io.File; diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java index 5206a9211..477dafd57 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/MainActivity.java @@ -33,9 +33,9 @@ import android.view.WindowManager; import android.widget.TextView; import com.reicast.emulator.config.Config; -import com.reicast.emulator.config.PGConfigFragment; import com.reicast.emulator.config.InputFragment; import com.reicast.emulator.config.OptionsFragment; +import com.reicast.emulator.config.PGConfigFragment; import com.reicast.emulator.debug.GenerateLogs; import com.reicast.emulator.emu.JNIdc; import com.reicast.emulator.periph.Gamepad; diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/XMLParser.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/XMLParser.java index d54254d2e..e282d903d 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/XMLParser.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/XMLParser.java @@ -6,7 +6,6 @@ import android.content.DialogInterface; import android.content.SharedPreferences; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.graphics.PorterDuff; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.ConnectivityManager; diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GenerateLogs.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GenerateLogs.java index f42dd473d..e40a2ff42 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GenerateLogs.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/debug/GenerateLogs.java @@ -3,8 +3,8 @@ package com.reicast.emulator.debug; import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.net.Uri; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.AsyncTask; import android.os.Build; import android.support.constraint.ConstraintLayout; @@ -13,7 +13,6 @@ import android.support.graphics.drawable.VectorDrawableCompat; import android.view.Gravity; import android.view.View; import android.widget.TextView; -import android.widget.Toast; import com.reicast.emulator.R; import com.reicast.emulator.config.Config; diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/GL2JNIView.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/GL2JNIView.java index 4c75e13df..6d89f201d 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/GL2JNIView.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/GL2JNIView.java @@ -156,7 +156,6 @@ public class GL2JNIView extends GLSurfaceView if (GL2JNIActivity.syms != null) JNIdc.data(1, GL2JNIActivity.syms); } - JNIdc.init(fileName); JNIdc.query(ethd); diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/OnScreenMenu.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/OnScreenMenu.java index 88d4824b9..5cdc35593 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/OnScreenMenu.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/OnScreenMenu.java @@ -6,7 +6,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.os.Environment; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; @@ -25,7 +24,6 @@ import com.reicast.emulator.R; import com.reicast.emulator.config.Config; import com.reicast.emulator.periph.VmuLcd; -import java.io.File; import java.util.Vector; public class OnScreenMenu { diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/periph/Gamepad.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/periph/Gamepad.java index 1f17d2ef4..92d96df52 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/periph/Gamepad.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/periph/Gamepad.java @@ -5,7 +5,6 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Configuration; -import android.os.Build; import android.util.SparseArray; import android.util.SparseIntArray; import android.view.KeyEvent; diff --git a/shell/android-studio/reicast/src/main/jni/src/Android.cpp b/shell/android-studio/reicast/src/main/jni/src/Android.cpp index 0d5cf3751..743931f1b 100644 --- a/shell/android-studio/reicast/src/main/jni/src/Android.cpp +++ b/shell/android-studio/reicast/src/main/jni/src/Android.cpp @@ -10,7 +10,6 @@ #include #include -#include "types.h" #include "hw/maple/maple_cfg.h" #include "profiler/profiler.h" #include "rend/TexCache.h" @@ -182,7 +181,8 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_dreamtime(JNIEnv *env void egl_stealcntx(); void SetApplicationPath(wchar *path); -int dc_init(int argc,wchar* argv[]); +void reios_init(int argc,wchar* argv[]); +int dc_init(); void dc_run(); void dc_pause(); void dc_term(); @@ -239,7 +239,7 @@ static void *ThreadHandler(void *UserData) } // Run nullDC emulator - dc_init(Args[2]? 3:1,Args); + reios_init(Args[2]? 3:1,Args); return 0; } @@ -380,6 +380,8 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_query(JNIEnv *env,job jstring reios_name = env->NewStringUTF(name); env->CallVoidMethod(emu_thread, reiosInfoMid, reios_id, reios_name); + + dc_init(); } JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_run(JNIEnv *env,jobject obj,jobject emu_thread)