Core: Support retrieving disk info before full init
This commit is contained in:
parent
757d1f7559
commit
31fb575165
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -156,7 +156,6 @@ public class GL2JNIView extends GLSurfaceView
|
|||
if (GL2JNIActivity.syms != null)
|
||||
JNIdc.data(1, GL2JNIActivity.syms);
|
||||
}
|
||||
|
||||
JNIdc.init(fileName);
|
||||
JNIdc.query(ethd);
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include <GLES2/gl2.h>
|
||||
#include <types.h>
|
||||
|
||||
#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)
|
||||
|
|
Loading…
Reference in New Issue