Skip to content

Commit

Permalink
Add 'BOX64_MMAP32', 'BOX64_SSE42', 'BOX64_DYNAREC_FORWARD' variables,…
Browse files Browse the repository at this point in the history
… Small Code Cleanup
  • Loading branch information
KreitinnSoftware committed Jan 28, 2025
1 parent 6d61d3c commit 81e42b2
Show file tree
Hide file tree
Showing 9 changed files with 60 additions and 15 deletions.
10 changes: 8 additions & 2 deletions app/src/main/java/com/micewine/emu/activities/GeneralSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import com.micewine.emu.databinding.ActivityGeneralSettingsBinding
import com.micewine.emu.fragments.Box64SettingsFragment
import com.micewine.emu.fragments.DisplaySettingsFragment
import com.micewine.emu.fragments.DriversSettingsFragment
import com.micewine.emu.fragments.EnvironmentVarsSettingsFragment
import com.micewine.emu.fragments.EnvVarsSettingsFragment
import com.micewine.emu.fragments.GeneralSettingsFragment
import com.micewine.emu.fragments.WineSettingsFragment

Expand All @@ -28,7 +28,7 @@ class GeneralSettings : AppCompatActivity() {
private val wineSettingsFragment = WineSettingsFragment()
private val displaySettingsFragment = DisplaySettingsFragment()
private val driversSettingsFragment = DriversSettingsFragment()
private val environmentVariablesSettings = EnvironmentVarsSettingsFragment()
private val environmentVariablesSettings = EnvVarsSettingsFragment()
private val receiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val preference = intent.getStringExtra("preference")
Expand Down Expand Up @@ -130,8 +130,12 @@ class GeneralSettings : AppCompatActivity() {

const val BOX64_LOG = "BOX64_LOG"
const val BOX64_LOG_DEFAULT_VALUE = "1"
const val BOX64_MMAP32 = "BOX64_MMAP32"
const val BOX64_MMAP32_DEFAULT_VALUE = false
const val BOX64_AVX = "BOX64_AVX"
const val BOX64_AVX_DEFAULT_VALUE = "2"
const val BOX64_SSE42 = "BOX64_SSE42"
const val BOX64_SSE42_DEFAULT_VALUE = true
const val BOX64_DYNAREC_BIGBLOCK = "BOX64_DYNAREC_BIGBLOCK"
const val BOX64_DYNAREC_BIGBLOCK_DEFAULT_VALUE = "0"
const val BOX64_DYNAREC_STRONGMEM = "BOX64_DYNAREC_STRONGMEM"
Expand Down Expand Up @@ -160,6 +164,8 @@ class GeneralSettings : AppCompatActivity() {
const val BOX64_DYNAREC_WAIT_DEFAULT_VALUE = true
const val BOX64_DYNAREC_DIRTY = "BOX64_DYNAREC_DIRTY"
const val BOX64_DYNAREC_DIRTY_DEFAULT_VALUE = false
const val BOX64_DYNAREC_FORWARD = "BOX64_DYNAREC_FORWARD"
const val BOX64_DYNAREC_FORWARD_DEFAULT_VALUE = "128"
const val BOX64_SHOWSEGV = "BOX64_SHOWSEGV"
const val BOX64_SHOWSEGV_DEFAULT_VALUE = false
const val BOX64_SHOWBT = "BOX64_SHOWBT"
Expand Down
12 changes: 12 additions & 0 deletions app/src/main/java/com/micewine/emu/activities/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTN
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTNAN_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTROUND
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTROUND_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FORWARD
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FORWARD_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_NATIVEFLAGS
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_NATIVEFLAGS_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_PAUSE
Expand All @@ -61,6 +63,8 @@ import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_X87DO
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_X87DOUBLE_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_LOG
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_LOG_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_MMAP32
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_MMAP32_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_NOSIGILL
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_NOSIGILL_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_NOSIGSEGV
Expand All @@ -69,6 +73,8 @@ import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWBT
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWBT_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWSEGV
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWSEGV_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SSE42
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SSE42_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.DISPLAY_RESOLUTION
import com.micewine.emu.activities.GeneralSettings.Companion.DISPLAY_RESOLUTION_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.ENABLE_DRI3
Expand Down Expand Up @@ -815,7 +821,9 @@ class MainActivity : AppCompatActivity() {
var enableServices: Boolean = false
var appLang: String? = null
var box64LogLevel: String? = null
var box64Mmap32: String? = null
var box64Avx: String? = null
var box64Sse42: String? = null
var box64DynarecBigblock: String? = null
var box64DynarecStrongmem: String? = null
var box64DynarecWeakbarrier: String? = null
Expand All @@ -830,6 +838,7 @@ class MainActivity : AppCompatActivity() {
var box64DynarecBleedingEdge: String? = null
var box64DynarecWait: String? = null
var box64DynarecDirty: String? = null
var box64DynarecForward: String? = null
var box64ShowSegv: String? = null
var box64ShowBt: String? = null
var box64NoSigSegv: String? = null
Expand Down Expand Up @@ -924,7 +933,9 @@ class MainActivity : AppCompatActivity() {
selectedBox64 = preferences.getString(SELECTED_BOX64, SELECTED_DRIVER_DEFAULT_VALUE)

box64LogLevel = preferences.getString(BOX64_LOG, BOX64_LOG_DEFAULT_VALUE)
box64Mmap32 = booleanToString(preferences.getBoolean(BOX64_MMAP32, BOX64_MMAP32_DEFAULT_VALUE))
box64Avx = preferences.getString(BOX64_AVX, BOX64_AVX_DEFAULT_VALUE)
box64Sse42 = booleanToString(preferences.getBoolean(BOX64_SSE42, BOX64_SSE42_DEFAULT_VALUE))
box64DynarecBigblock = preferences.getString(BOX64_DYNAREC_BIGBLOCK, BOX64_DYNAREC_BIGBLOCK_DEFAULT_VALUE)
box64DynarecStrongmem = preferences.getString(BOX64_DYNAREC_STRONGMEM, BOX64_DYNAREC_STRONGMEM_DEFAULT_VALUE)
box64DynarecWeakbarrier = preferences.getString(BOX64_DYNAREC_WEAKBARRIER, BOX64_DYNAREC_WEAKBARRIER_DEFAULT_VALUE)
Expand All @@ -939,6 +950,7 @@ class MainActivity : AppCompatActivity() {
box64DynarecBleedingEdge = booleanToString(preferences.getBoolean(BOX64_DYNAREC_BLEEDING_EDGE, BOX64_DYNAREC_BLEEDING_EDGE_DEFAULT_VALUE))
box64DynarecWait = booleanToString(preferences.getBoolean(BOX64_DYNAREC_WAIT, BOX64_DYNAREC_WAIT_DEFAULT_VALUE))
box64DynarecDirty = booleanToString(preferences.getBoolean(BOX64_DYNAREC_DIRTY, BOX64_DYNAREC_DIRTY_DEFAULT_VALUE))
box64DynarecForward = preferences.getString(BOX64_DYNAREC_FORWARD, BOX64_DYNAREC_FORWARD_DEFAULT_VALUE)
box64ShowSegv = booleanToString(preferences.getBoolean(BOX64_SHOWSEGV, BOX64_SHOWSEGV_DEFAULT_VALUE))
box64ShowBt = booleanToString(preferences.getBoolean(BOX64_SHOWBT, BOX64_SHOWBT_DEFAULT_VALUE))
box64NoSigSegv = booleanToString(preferences.getBoolean(BOX64_NOSIGSEGV, BOX64_NOSIGSEGV_DEFAULT_VALUE))
Expand Down
16 changes: 12 additions & 4 deletions app/src/main/java/com/micewine/emu/core/EnvVars.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import com.micewine.emu.activities.MainActivity.Companion.box64DynarecCallret
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecDirty
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecFastnan
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecFastround
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecForward
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecNativeflags
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecPause
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecSafeflags
Expand All @@ -24,10 +25,12 @@ import com.micewine.emu.activities.MainActivity.Companion.box64DynarecWait
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecWeakbarrier
import com.micewine.emu.activities.MainActivity.Companion.box64DynarecX87double
import com.micewine.emu.activities.MainActivity.Companion.box64LogLevel
import com.micewine.emu.activities.MainActivity.Companion.box64Mmap32
import com.micewine.emu.activities.MainActivity.Companion.box64NoSigSegv
import com.micewine.emu.activities.MainActivity.Companion.box64NoSigill
import com.micewine.emu.activities.MainActivity.Companion.box64ShowBt
import com.micewine.emu.activities.MainActivity.Companion.box64ShowSegv
import com.micewine.emu.activities.MainActivity.Companion.box64Sse42
import com.micewine.emu.activities.MainActivity.Companion.enableDRI3
import com.micewine.emu.activities.MainActivity.Companion.enableMangoHUD
import com.micewine.emu.activities.MainActivity.Companion.homeDir
Expand All @@ -41,6 +44,7 @@ import com.micewine.emu.activities.MainActivity.Companion.tmpDir
import com.micewine.emu.activities.MainActivity.Companion.usrDir
import com.micewine.emu.activities.MainActivity.Companion.wineESync
import com.micewine.emu.activities.MainActivity.Companion.wineLogLevel
import com.micewine.emu.fragments.EnvVarsSettingsFragment.Companion.ENV_VARS_KEY
import com.micewine.emu.fragments.EnvironmentVariable

object EnvVars {
Expand All @@ -60,11 +64,13 @@ object EnvVars {

setEnv()

val savedVarsJson = sharedPreferences.getString("environment_variables", null)
val savedVarsJson = sharedPreferences.getString(ENV_VARS_KEY, null)
if (savedVarsJson != null) {
val type = object : TypeToken<List<EnvironmentVariable>>() {}.type
val savedVars = Gson().fromJson<List<EnvironmentVariable>>(savedVarsJson, type)
savedVars.forEach { putVar(it.key, it.value) }

Gson().fromJson<List<EnvironmentVariable>>(savedVarsJson, type).forEach {
putVar(it.key, it.value)
}
}

return "env ${vars.values.joinToString(" ")} "
Expand Down Expand Up @@ -119,8 +125,9 @@ object EnvVars {
if (Build.SUPPORTED_ABIS[0] != "x86_64") {
putVar("BOX64_LOG", box64LogLevel)
putVar("BOX64_CPUNAME", "ARM64 CPU")
putVar("BOX64_MMAP32", "1")
putVar("BOX64_MMAP32", box64Mmap32)
putVar("BOX64_AVX", box64Avx)
putVar("BOX64_SSE42", box64Sse42)
putVar("BOX64_RCFILE", "$usrDir/etc/box64.box64rc")
putVar("BOX64_DYNAREC_BIGBLOCK", box64DynarecBigblock)
putVar("BOX64_DYNAREC_STRONGMEM", box64DynarecStrongmem)
Expand All @@ -136,6 +143,7 @@ object EnvVars {
putVar("BOX64_DYNAREC_BLEEDING_EDGE", box64DynarecBleedingEdge)
putVar("BOX64_DYNAREC_WAIT", box64DynarecWait)
putVar("BOX64_DYNAREC_DIRTY", box64DynarecDirty)
putVar("BOX64_DYNAREC_FORWARD", box64DynarecForward)
putVar("BOX64_SHOWSEGV", box64ShowSegv)
putVar("BOX64_SHOWBT", box64ShowBt)
putVar("BOX64_NOSIGSEGV", box64NoSigSegv)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTN
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTNAN_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTROUND
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FASTROUND_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FORWARD
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_FORWARD_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_NATIVEFLAGS
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_NATIVEFLAGS_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_PAUSE
Expand All @@ -40,6 +42,8 @@ import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_X87DO
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_DYNAREC_X87DOUBLE_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_LOG
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_LOG_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_MMAP32
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_MMAP32_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_NOSIGILL
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_NOSIGILL_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_NOSIGSEGV
Expand All @@ -48,6 +52,8 @@ import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWBT
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWBT_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWSEGV
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SHOWSEGV_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SSE42
import com.micewine.emu.activities.GeneralSettings.Companion.BOX64_SSE42_DEFAULT_VALUE
import com.micewine.emu.activities.GeneralSettings.Companion.SPINNER
import com.micewine.emu.activities.GeneralSettings.Companion.SWITCH
import com.micewine.emu.adapters.AdapterSettingsPreferences
Expand Down Expand Up @@ -96,8 +102,11 @@ class Box64SettingsFragment : Fragment() {
addToAdapter(R.string.box64_bleeding_edge_title, R.string.box64_bleeding_edge_description, null, SWITCH, BOX64_DYNAREC_BLEEDING_EDGE_DEFAULT_VALUE, BOX64_DYNAREC_BLEEDING_EDGE)
addToAdapter(R.string.box64_dynarec_wait_title, R.string.box64_dynarec_wait_description, null, SWITCH, BOX64_DYNAREC_WAIT_DEFAULT_VALUE, BOX64_DYNAREC_WAIT)
addToAdapter(R.string.box64_dynarec_dirty_title, R.string.box64_dynarec_dirty_description, null, SWITCH, BOX64_DYNAREC_DIRTY_DEFAULT_VALUE, BOX64_DYNAREC_DIRTY)
addToAdapter(R.string.box64_dynarec_forward_title, R.string.box64_dynarec_forward_description, arrayOf("0", "128", "256", "512", "1024"), SPINNER, BOX64_DYNAREC_FORWARD_DEFAULT_VALUE, BOX64_DYNAREC_FORWARD)
addToAdapter(R.string.box64_log_title, R.string.box64_log_description, arrayOf("0", "1"), SPINNER, BOX64_LOG_DEFAULT_VALUE, BOX64_LOG)
addToAdapter(R.string.box64_avx_title, R.string.box64_avx_description, arrayOf("0", "1", "2"), SPINNER, BOX64_AVX_DEFAULT_VALUE, BOX64_AVX)
addToAdapter(R.string.box64_sse42_title, R.string.box64_sse42_description, null, SWITCH, BOX64_SSE42_DEFAULT_VALUE, BOX64_SSE42)
addToAdapter(R.string.box64_mmap32_title, R.string.box64_mmap32_description, null, SWITCH, BOX64_MMAP32_DEFAULT_VALUE, BOX64_MMAP32)

// Debugging Options

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,15 @@ import androidx.recyclerview.widget.RecyclerView
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken

class EnvironmentVarsSettingsFragment : Fragment() {
private lateinit var btnAddEnvVar: Button
class EnvVarsSettingsFragment : Fragment() {
private lateinit var addEnvButton: Button
private lateinit var rvEnvVars: RecyclerView

private val envVarsList = mutableListOf<EnvironmentVariable>()
private lateinit var envVarsAdapter: EnvironmentVarsAdapter

companion object {
private const val PREFS_NAME = "EnvironmentVariablesPrefs"
private const val ENV_VARS_KEY = "environment_variables"
const val ENV_VARS_KEY = "environmentVariables"
}

override fun onCreateView(
Expand All @@ -36,7 +35,7 @@ class EnvironmentVarsSettingsFragment : Fragment() {
): View? {
val view = inflater.inflate(R.layout.fragment_env_vars_settings, container, false)

btnAddEnvVar = view.findViewById(R.id.btnAddEnvVar)
addEnvButton = view.findViewById(R.id.btnAddEnvVar)
rvEnvVars = view.findViewById(R.id.rvEnvVars)

loadEnvironmentVariables()
Expand Down Expand Up @@ -75,7 +74,7 @@ class EnvironmentVarsSettingsFragment : Fragment() {
}

private fun setupAddButton() {
btnAddEnvVar.setOnClickListener {
addEnvButton.setOnClickListener {
showAddDialog()
}
}
Expand Down Expand Up @@ -147,8 +146,7 @@ class EnvironmentVarsAdapter(
) : RecyclerView.Adapter<EnvironmentVarsAdapter.ViewHolder>() {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_env_vars, parent, false)
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_env_vars, parent, false)
return ViewHolder(view, onItemClick, onDeleteClick)
}

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/layout/fragment_env_vars_settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
tools:context=".fragments.EnvironmentVarsSettingsFragment">
tools:context=".fragments.EnvVarsSettingsFragment">

<Button
android:id="@+id/btnAddEnvVar"
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/res/values-pt-rBR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@
<string name="box64_bleeding_edge_description">Detectar MonoBleedingEdge e aplicar configurações conservativas</string>
<string name="box64_dynarec_wait_description">Comportamento com FillBlock quando não está disponível (FillBlock cria blocos de Dynarec e não é multithreaded)</string>
<string name="box64_dynarec_dirty_description">Permitir continuar executando um bloco que está desprotegido e potencialmente comprometido.</string>
<string name="box64_dynarec_forward_description">Define o valor máximo de avanço permitido ao construir o bloco.</string>
<string name="box64_log_description">Nível de Logs do Box64</string>
<string name="box64_avx_description">Ativa ou Desativa a Emulação de AVX ou AVX2 do Box64</string>
<string name="box64_sse42_description">Ativa ou Desativa a Emulação de SSE4.2</string>
<string name="box64_mmap32_description">Ativa ou Desativa Solução Alternativa para Drivers Vulkan que não suportam a extensão \'VK_EXT_map_memory_placed\'</string>
<string name="box64_show_segv_description">Exibir o sinal de Segfault mesmo que um manipulador de sinal esteja presente.</string>
<string name="box64_no_sigsegv_description">Desabilitar o tratamento de SigSEGV. (Muito útil para depuração).</string>
<string name="box64_show_bt_description">Exibir Backtrace (Emulado) quando um sinal (SEGV, ILL ou BUS) for capturado.</string>
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@
<string name="box64_bleeding_edge_description">检测 MonoBleedingEdge 并应用保守设置</string>
<string name="box64_dynarec_wait_description">当 FillBlock 不可用时的行为(FillBlock 创建 Dynarec 块并非多线程)</string>
<string name="box64_dynarec_dirty_description">允许继续运行一个未受保护且可能存在问题的块。</string>
<string name="box64_dynarec_forward_description">定义构建块时允许的最大前进值。</string>
<string name="box64_log_description">Box64 日志级别</string>
<string name="box64_avx_description">启用或禁用 Box64 的 AVX 或 AVX2 仿真</string>
<string name="box64_sse42_description">启用或禁用 SSE4.2 模拟</string>
<string name="box64_mmap32_description">启用或禁用针对不支持‘VK_EXT_map_memory_placed’扩展的Vulkan驱动程序的解决方法</string>
<string name="box64_show_segv_description">即使存在信号处理程序,也显示 Segfault 信号。</string>
<string name="box64_no_sigsegv_description">禁用 SigSEGV 处理。(非常适合调试)。</string>
<string name="box64_show_bt_description">捕获信号(SEGV、ILL 或 BUS)时显示回溯(仿真)。</string>
Expand Down
Loading

0 comments on commit 81e42b2

Please sign in to comment.