Hide unsafe optimizations on all but arm32 platform

Non-functional changes
This commit is contained in:
Flyinghead 2019-09-30 15:36:39 +02:00
parent 834082519d
commit 87023c722d
5 changed files with 13 additions and 11 deletions

View File

@ -68,18 +68,14 @@ void UpdateSh4Ints()
u32 p_ints = MCIEB->full & MCIPD->full;
if (p_ints)
{
if ((SB_ISTEXT & SH4_IRQ_BIT )==0)
{
if ((SB_ISTEXT & SH4_IRQ_BIT) == 0)
//if no interrupt is already pending then raise one :)
asic_RaiseInterrupt(holly_SPU_IRQ);
}
}
else
{
if (SB_ISTEXT&SH4_IRQ_BIT)
{
if ((SB_ISTEXT & SH4_IRQ_BIT) != 0)
asic_CancelInterrupt(holly_SPU_IRQ);
}
}
}

View File

@ -1,7 +1,7 @@
#include "aica_mem.h"
#include "dsp.h"
#include "sgc_if.h"
#include "hw/aica/aica_if.h"
#include "aica_if.h"
u8 aica_reg[0x8000];

View File

@ -16,7 +16,7 @@
test game suite.
Initiall code by skmp, now part of the reicast project.
Initial code by skmp, now part of the reicast project.
See LICENSE & COPYRIGHT files further details
*/

View File

@ -373,7 +373,9 @@ void _vmem_reset()
verify(_vmem_register_handler(0,0,0,0,0,0)==0);
}
void _vmem_term() {}
void _vmem_term()
{
}
u8* virt_ram_base;
bool vmem_4gb_space;
@ -395,7 +397,8 @@ static void* malloc_pages(size_t size) {
// Resets the FPCB table (by either clearing it to the default val
// or by flushing it and making it fault on access again.
void _vmem_bm_reset() {
void _vmem_bm_reset()
{
// If we allocated it via vmem:
if (virt_ram_base)
vmem_platform_reset_mem(p_sh4rcb->fpcb, sizeof(p_sh4rcb->fpcb));
@ -445,7 +448,8 @@ static void _vmem_set_p0_mappings()
vmem_platform_create_mappings(&mem_mappings[0], ARRAY_SIZE(mem_mappings));
}
bool _vmem_reserve() {
bool _vmem_reserve()
{
// TODO: Static assert?
verify((sizeof(Sh4RCB)%PAGE_SIZE)==0);

View File

@ -1214,9 +1214,11 @@ static void gui_display_settings()
ImGui::Checkbox("Safe Mode", &settings.dynarec.safemode);
ImGui::SameLine();
ShowHelpMarker("Do not optimize integer division. Recommended");
#if HOST_CPU == CPU_ARM
ImGui::Checkbox("Unstable Optimizations", &settings.dynarec.unstable_opt);
ImGui::SameLine();
ShowHelpMarker("Enable unsafe optimizations. Will cause crash or environmental disaster");
#endif
ImGui::Checkbox("Idle Skip", &settings.dynarec.idleskip);
ImGui::SameLine();
ShowHelpMarker("Skip wait loops. Recommended");