--- hatari/src/gui-sdl/dlgCpu.c 2019/04/09 08:57:06 1.1 +++ hatari/src/gui-sdl/dlgCpu.c 2019/04/09 08:59:36 1.1.1.3 @@ -13,8 +13,6 @@ const char DlgCpu_fileid[] = "Hatari dlg #include "dialog.h" #include "sdlgui.h" -#define FPU_JIT 0 - #define DLGCPU_68000 4 #define DLGCPU_68010 5 #define DLGCPU_68020 6 @@ -28,22 +26,15 @@ const char DlgCpu_fileid[] = "Hatari dlg #define DLGCPU_FPU_68881 18 #define DLGCPU_FPU_68882 19 #define DLGCPU_FPU_CPU_IN 20 -#if FPU_JIT -#define DLGCPU_FPU_JIT_COMPAT 21 -#define DLGCPU_PREFETCH 25 -#define DLGCPU_CYC_EXACT 26 -#define DLGCPU_MMU_EMUL 27 -#define DLGCPU_24BITS 28 -#else #define DLGCPU_PREFETCH 23 #define DLGCPU_CYC_EXACT 24 #define DLGCPU_MMU_EMUL 25 #define DLGCPU_24BITS 26 -#endif +#define DLGCPU_SOFTFLOAT 27 static SGOBJ cpudlg[] = { - { SGBOX, 0, 0, 0,0, 46,23, NULL }, + { SGBOX, 0, 0, 0,0, 46,24, NULL }, { SGTEXT, 0, 0, 17,1, 14,1, "CPU options" }, { SGBOX, 0, 0, 2,3, 13,9, NULL }, @@ -74,33 +65,29 @@ static SGOBJ cpudlg[] = { SGRADIOBUT, 0, 0, 31,6, 7,1, "68881" }, { SGRADIOBUT, 0, 0, 31,7, 7,1, "68882" }, { SGRADIOBUT, 0, 0, 31,8, 10,1, "_internal" }, -# if FPU_JIT - { SGCHECKBOX, 0, 0, 31,10, 12,1, "_compatible," }, - { SGTEXT, 0, 0, 33,11, 12,1, "but slower" }, -# endif #else { SGTEXT, 0, 0, 31,5, 10,1, "FPU config" }, { SGTEXT, 0, 0, 31,6, 10,1, "unavailable" }, { SGTEXT, 0, 0, 31,7, 10,1, "in old UAE" }, { SGTEXT, 0, 0, 31,8, 10,1, "CPU core" }, - { SGTEXT, 0, 0, 31,10, 25,1, "" }, - { SGTEXT, 0, 0, 33,11, 12,1, "" }, #endif - { SGBOX, 0, 0, 2,13, 42,7, NULL }, + { SGBOX, 0, 0, 2,13, 42,8, NULL }, { SGTEXT, 0, 0, 3,13, 11,1, "CPU parameters" }, { SGCHECKBOX, 0, 0, 3,15, 23,1, "Prefetc_h mode, slower" }, #ifdef ENABLE_WINUAE_CPU { SGCHECKBOX, 0, 0, 3,16, 21,1, "Cycle e_xact, slower" }, { SGCHECKBOX, 0, 0, 3,17, 15,1, "MM_U emulation" }, { SGCHECKBOX, 0, 0, 3,18, 20,1, "24 bits add_ressing" }, + { SGCHECKBOX, 0, 0, 3,19, 38,1, "Full software FPU emulation(softfloat)" }, #else { SGTEXT, 0, 0, 3,16, 1,1, "" }, { SGTEXT, 0, 0, 3,17, 1,1, "" }, { SGTEXT, 0, 0, 3,18, 1,1, "" }, + { SGTEXT, 0, 0, 3,18, 1,1, "" }, #endif - { SGBUTTON, SG_DEFAULT, 0, 13,21, 19,1, "Back to main menu" }, + { SGBUTTON, SG_DEFAULT, 0, 13,22, 19,1, "Back to main menu" }, { SGSTOP, 0, 0, 0,0, 0,0, NULL } }; @@ -167,19 +154,17 @@ void DlgCpu_Main(void) else cpudlg[DLGCPU_FPU_CPU_IN].state |= SG_SELECTED; - /* More compatible FPU JIT */ -# if FPU_JIT - if (ConfigureParams.System.bCompatibleFPU) - cpudlg[DLGCPU_FPU_JIT_COMPAT].state |= SG_SELECTED; - else - cpudlg[DLGCPU_FPU_JIT_COMPAT].state &= ~SG_SELECTED; -# endif - - /* MMU Emulation */ + /* MMU emulation */ if (ConfigureParams.System.bMMU) cpudlg[DLGCPU_MMU_EMUL].state |= SG_SELECTED; else cpudlg[DLGCPU_MMU_EMUL].state &= ~SG_SELECTED; + + /* FPU emulation using softfloat */ + if (ConfigureParams.System.bSoftFloatFPU) + cpudlg[DLGCPU_SOFTFLOAT].state |= SG_SELECTED; + else + cpudlg[DLGCPU_SOFTFLOAT].state &= ~SG_SELECTED; #endif /* Show the dialog: */ @@ -197,11 +182,11 @@ void DlgCpu_Main(void) } if (cpudlg[DLGCPU_32MHZ].state & SG_SELECTED) - ConfigureParams.System.nCpuFreq = 32; + Configuration_ChangeCpuFreq ( 32 ); else if (cpudlg[DLGCPU_16MHZ].state & SG_SELECTED) - ConfigureParams.System.nCpuFreq = 16; + Configuration_ChangeCpuFreq ( 16 ); else - ConfigureParams.System.nCpuFreq = 8; + Configuration_ChangeCpuFreq ( 8 ); ConfigureParams.System.bCompatibleCpu = (cpudlg[DLGCPU_PREFETCH].state & SG_SELECTED); @@ -209,6 +194,7 @@ void DlgCpu_Main(void) ConfigureParams.System.bCycleExactCpu = (cpudlg[DLGCPU_CYC_EXACT].state & SG_SELECTED); ConfigureParams.System.bMMU = (cpudlg[DLGCPU_MMU_EMUL].state & SG_SELECTED); ConfigureParams.System.bAddressSpace24 = (cpudlg[DLGCPU_24BITS].state & SG_SELECTED); + ConfigureParams.System.bSoftFloatFPU = (cpudlg[DLGCPU_SOFTFLOAT].state & SG_SELECTED); /* FPU emulation */ if (cpudlg[DLGCPU_FPU_NONE].state & SG_SELECTED) @@ -219,9 +205,5 @@ void DlgCpu_Main(void) ConfigureParams.System.n_FPUType = FPU_68882; else ConfigureParams.System.n_FPUType = FPU_CPU; - -# if FPU_JIT - ConfigureParams.System.bCompatibleFPU = (cpudlg[DLGCPU_FPU_JIT_COMPAT].state & SG_SELECTED); -# endif #endif }