Updated filesys and CPU files from latest WinUAE
This commit is contained in:
parent
1ff538b8ce
commit
d8811e6efa
16 changed files with 44295 additions and 35911 deletions
|
@ -62,7 +62,8 @@
|
|||
<CPPLanguageStandard>GNUPP14</CPPLanguageStandard>
|
||||
<AdditionalIncludeDirectories>=/usr/local/include/SDL2;=/usr/include/libxml2;../../src;../../src/osdep;../../src/threaddep;../../src/include;../../guisan-dev/include;../../src/archivers;%(ClCompile.AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DEBUG=1;ARMV6T2;USE_ARMNEON;ARM_HAS_DIV;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL2;_FILE_OFFSET_BITS=64;%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalOptions>-march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalCOptions>-march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard </AdditionalCOptions>
|
||||
<AdditionalCPPOptions>-march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard </AdditionalCPPOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLinkerInputs>;%(Link.AdditionalLinkerInputs)</AdditionalLinkerInputs>
|
||||
|
@ -141,7 +142,6 @@
|
|||
<ClCompile Include="..\..\src\archivers\7z\LzFind.cpp" />
|
||||
<ClCompile Include="..\..\src\archivers\7z\Lzma2Dec.cpp" />
|
||||
<ClCompile Include="..\..\src\archivers\7z\Lzma86Dec.c" />
|
||||
<ClCompile Include="..\..\src\archivers\7z\Lzma86Enc.c" />
|
||||
<ClCompile Include="..\..\src\archivers\7z\LzmaDec.cpp" />
|
||||
<ClCompile Include="..\..\src\archivers\7z\LzmaLib.c" />
|
||||
<ClCompile Include="..\..\src\archivers\7z\Sha256.c" />
|
||||
|
|
|
@ -487,9 +487,6 @@
|
|||
<ClCompile Include="..\..\src\archivers\7z\Lzma86Dec.c">
|
||||
<Filter>Source files\archivers\7z</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\archivers\7z\Lzma86Enc.c">
|
||||
<Filter>Source files\archivers\7z</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\archivers\7z\LzmaDec.cpp">
|
||||
<Filter>Source files\archivers\7z</Filter>
|
||||
</ClCompile>
|
||||
|
|
67974
src/aros.rom.cpp
67974
src/aros.rom.cpp
File diff suppressed because it is too large
Load diff
1907
src/cpuemu_0.cpp
1907
src/cpuemu_0.cpp
File diff suppressed because it is too large
Load diff
1715
src/cpuemu_11.cpp
1715
src/cpuemu_11.cpp
File diff suppressed because it is too large
Load diff
1715
src/cpuemu_4.cpp
1715
src/cpuemu_4.cpp
File diff suppressed because it is too large
Load diff
1905
src/cpuemu_40.cpp
1905
src/cpuemu_40.cpp
File diff suppressed because it is too large
Load diff
1715
src/cpuemu_44.cpp
1715
src/cpuemu_44.cpp
File diff suppressed because it is too large
Load diff
|
@ -2,6 +2,7 @@
|
|||
#include "options.h"
|
||||
#include "memory.h"
|
||||
#include "newcpu.h"
|
||||
#include "cpu_prefetch.h"
|
||||
#include "cputbl.h"
|
||||
#define CPUFUNC(x) x##_ff
|
||||
#define SET_CFLG_ALWAYS(x) SET_CFLG(x)
|
||||
|
@ -289,21 +290,21 @@ const struct cputbl CPUFUNC(op_smalltbl_0)[] = {
|
|||
{ CPUFUNC(op_0e18_0), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_0), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_0), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_0), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_0), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_0), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_0), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_0), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_0), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_0), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_0), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_0), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_0), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_0), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_0), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_0), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_0), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_0), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -2162,21 +2163,21 @@ const struct cputbl CPUFUNC(op_smalltbl_1)[] = {
|
|||
{ CPUFUNC(op_0e18_0), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_0), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_0), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_0), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_0), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_0), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_0), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_0), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_0), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_0), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_0), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_0), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_0), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_0), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_0), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_0), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_0), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_0), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -4031,21 +4032,21 @@ const struct cputbl CPUFUNC(op_smalltbl_2)[] = {
|
|||
{ CPUFUNC(op_0e18_0), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_0), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_0), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_0), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_0), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_0), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_0), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_0), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_0), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_0), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_0), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_0), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_0), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_0), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_0), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_0), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_0), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_0), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -5869,21 +5870,21 @@ const struct cputbl CPUFUNC(op_smalltbl_3)[] = {
|
|||
{ CPUFUNC(op_0e18_0), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_0), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_0), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_0), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_0), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_0), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_0), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_0), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_0), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_0), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_0), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_0), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_0), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_0), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_0), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_0), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_0), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_0), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_0), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_0), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_0), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -13895,21 +13896,21 @@ const struct cputbl CPUFUNC(op_smalltbl_40)[] = {
|
|||
{ CPUFUNC(op_0e18_40), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_40), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_40), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_40), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_40), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_40), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_40), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_40), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_40), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_40), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_40), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_40), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_40), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_40), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_40), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_40), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_40), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_40), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -15768,21 +15769,21 @@ const struct cputbl CPUFUNC(op_smalltbl_41)[] = {
|
|||
{ CPUFUNC(op_0e18_40), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_40), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_40), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_40), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_40), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_40), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_40), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_40), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_40), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_40), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_40), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_40), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_40), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_40), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_40), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_40), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_40), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_40), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -17637,21 +17638,21 @@ const struct cputbl CPUFUNC(op_smalltbl_42)[] = {
|
|||
{ CPUFUNC(op_0e18_40), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_40), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_40), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_40), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_40), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_40), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_40), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_40), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_40), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_40), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_40), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_40), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_40), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_40), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_40), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_40), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_40), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_40), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
@ -19475,21 +19476,21 @@ const struct cputbl CPUFUNC(op_smalltbl_43)[] = {
|
|||
{ CPUFUNC(op_0e18_40), 0x0e18, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e20_40), 0x0e20, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e28_40), 0x0e28, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e30_40), 0x0e30, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e38_40), 0x0e38, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e39_40), 0x0e39, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e50_40), 0x0e50, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e58_40), 0x0e58, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e60_40), 0x0e60, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e68_40), 0x0e68, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e70_40), 0x0e70, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e78_40), 0x0e78, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e79_40), 0x0e79, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e90_40), 0x0e90, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0e98_40), 0x0e98, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea0_40), 0x0ea0, 4, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ea8_40), 0x0ea8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 8, { 6, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb0_40), 0x0eb0, 4, { 2, 2 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb8_40), 0x0eb8, 6, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0eb9_40), 0x0eb9, 8, { 0, 0 }, 0 }, /* MOVES */
|
||||
{ CPUFUNC(op_0ed0_40), 0x0ed0, 4, { 0, 0 }, 0 }, /* CAS */
|
||||
|
|
BIN
src/filesys
BIN
src/filesys
Binary file not shown.
1112
src/filesys.asm
1112
src/filesys.asm
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -15,9 +15,6 @@
|
|||
#include "gui.h"
|
||||
#include "uae.h"
|
||||
|
||||
#define FLASH_LOG 0
|
||||
#define EEPROM_LOG 0
|
||||
|
||||
/* I2C EEPROM */
|
||||
|
||||
#define NVRAM_PAGE_SIZE 16
|
||||
|
@ -82,9 +79,6 @@ static void nvram_write (struct bitbang_i2c_interface *i2c, int offset, int len)
|
|||
|
||||
static void bitbang_i2c_enter_stop(bitbang_i2c_interface *i2c)
|
||||
{
|
||||
#if EEPROM_LOG
|
||||
write_log(_T("I2C STOP\n"));
|
||||
#endif
|
||||
if (i2c->write_offset >= 0)
|
||||
nvram_write(i2c, i2c->write_offset, 16);
|
||||
i2c->write_offset = -1;
|
||||
|
@ -97,7 +91,6 @@ static void bitbang_i2c_enter_stop(bitbang_i2c_interface *i2c)
|
|||
static int bitbang_i2c_ret(bitbang_i2c_interface *i2c, int level)
|
||||
{
|
||||
i2c->device_out = level;
|
||||
//DPRINTF("%d %d %d\n", i2c->last_clock, i2c->last_data, i2c->device_out);
|
||||
return level & i2c->last_data;
|
||||
}
|
||||
|
||||
|
@ -124,9 +117,6 @@ int eeprom_i2c_set(void *fdv, int line, int level)
|
|||
return bitbang_i2c_nop(i2c);
|
||||
}
|
||||
if (level == 0) {
|
||||
#if EEPROM_LOG
|
||||
write_log(_T("I2C START\n"));
|
||||
#endif
|
||||
/* START condition. */
|
||||
i2c->state = SENDING_BIT7;
|
||||
i2c->current_addr = -1;
|
||||
|
@ -172,9 +162,6 @@ int eeprom_i2c_set(void *fdv, int line, int level)
|
|||
case WAITING_FOR_ACK:
|
||||
if (i2c->estate == I2C_DEVICEADDR) {
|
||||
i2c->current_addr = i2c->buffer;
|
||||
#if EEPROM_LOG
|
||||
write_log(_T("I2C device address 0x%02x\n"), i2c->current_addr);
|
||||
#endif
|
||||
if ((i2c->current_addr & i2c->device_address_mask) != i2c->device_address) {
|
||||
write_log (_T("I2C WARNING: device address != %02x\n"), i2c->device_address);
|
||||
i2c->state = STOPPED;
|
||||
|
@ -190,13 +177,7 @@ int eeprom_i2c_set(void *fdv, int line, int level)
|
|||
i2c->estate = I2C_DATA;
|
||||
i2c->eeprom_addr &= i2c->addressbitmask << 8;
|
||||
i2c->eeprom_addr |= i2c->buffer;
|
||||
#if EEPROM_LOG
|
||||
write_log(_T("I2C device address 0x%02x (Address %04x)\n"), i2c->buffer, i2c->eeprom_addr);
|
||||
#endif
|
||||
} else if (!(i2c->current_addr & 1)) {
|
||||
#if EEPROM_LOG
|
||||
write_log(_T("I2C sent %04x 0x%02x\n"), i2c->eeprom_addr, i2c->buffer);
|
||||
#endif
|
||||
if (i2c->write_offset < 0)
|
||||
i2c->write_offset = i2c->eeprom_addr;
|
||||
if (i2c->write_func) {
|
||||
|
@ -222,9 +203,6 @@ int eeprom_i2c_set(void *fdv, int line, int level)
|
|||
i2c->buffer = i2c->memory[i2c->eeprom_addr];
|
||||
}
|
||||
//i2c->buffer = i2c_recv(i2c->bus);
|
||||
#if EEPROM_LOG
|
||||
write_log(_T("I2C RX byte %04X 0x%02x\n"), i2c->eeprom_addr, i2c->buffer);
|
||||
#endif
|
||||
i2c->eeprom_addr++;
|
||||
i2c->eeprom_addr &= i2c->size - 1;
|
||||
gui_flicker_led (LED_MD, 0, 1);
|
||||
|
@ -245,21 +223,13 @@ int eeprom_i2c_set(void *fdv, int line, int level)
|
|||
case SENDING_ACK:
|
||||
i2c->state = RECEIVING_BIT7;
|
||||
if (data != 0) {
|
||||
#if EEPROM_LOG > 1
|
||||
write_log(_T("I2C NACKED\n"));
|
||||
#endif
|
||||
i2c->state = SENT_NACK;
|
||||
//i2c_nack(i2c->bus);
|
||||
} else {
|
||||
;
|
||||
#if EEPROM_LOG > 1
|
||||
write_log(_T("I2C ACKED\n"));
|
||||
#endif
|
||||
}
|
||||
return bitbang_i2c_ret(i2c, 1);
|
||||
}
|
||||
target_startup_msg(_T("Internal error"), _T("eeprom_i2c_set: Unhandled case."));
|
||||
uae_restart(1, NULL);
|
||||
target_startup_msg(_T("Internal error"), _T("eeprom_i2c_set: Unhandled case."));
|
||||
uae_restart(1, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,10 +28,6 @@
|
|||
#include "newcpu.h"
|
||||
#include "fpp.h"
|
||||
|
||||
#ifdef JIT
|
||||
double fp_1e8 = 1.0e8;
|
||||
#endif
|
||||
|
||||
static uae_u32 dhex_nan[] ={0xffffffff, 0x7fffffff};
|
||||
static double *fp_nan = (double *)dhex_nan;
|
||||
static const double twoto32 = 4294967296.0;
|
||||
|
|
|
@ -381,12 +381,6 @@ void comp_fscc_opp(uae_u32 opcode, uae_u16 extra)
|
|||
}
|
||||
}
|
||||
|
||||
void comp_ftrapcc_opp(uae_u32 opcode, uaecptr oldpc)
|
||||
{
|
||||
FAIL(1);
|
||||
return;
|
||||
}
|
||||
|
||||
void comp_fbcc_opp(uae_u32 opcode)
|
||||
{
|
||||
const auto start_68k_offset = m68k_pc_offset;
|
||||
|
@ -449,18 +443,6 @@ void comp_fbcc_opp(uae_u32 opcode)
|
|||
}
|
||||
}
|
||||
|
||||
void comp_fsave_opp(uae_u32 opcode)
|
||||
{
|
||||
FAIL(1);
|
||||
return;
|
||||
}
|
||||
|
||||
void comp_frestore_opp(uae_u32 opcode)
|
||||
{
|
||||
FAIL(1);
|
||||
return;
|
||||
}
|
||||
|
||||
static uae_u32 dhex_pi[] = { 0x54442D18, 0x400921FB };
|
||||
static uae_u32 dhex_exp_1[] = { 0x8B145769, 0x4005BF0A };
|
||||
static uae_u32 dhex_l2_e[] = { 0x652B82FE, 0x3FF71547 };
|
||||
|
@ -473,9 +455,7 @@ static uae_u32 dhex_1e32[] = { 0xB5056E17, 0x4693B8B5 };
|
|||
static uae_u32 dhex_1e64[] = { 0xE93FF9F5, 0x4D384F03 };
|
||||
static uae_u32 dhex_1e128[] = { 0xF9301D32, 0x5A827748 };
|
||||
static uae_u32 dhex_1e256[] = { 0x7F73BF3C, 0x75154FDD };
|
||||
static uae_u32 dhex_inf[] = { 0x00000000, 0x7ff00000 };
|
||||
static uae_u32 dhex_nan[] = { 0xffffffff, 0x7fffffff };
|
||||
extern double fp_1e8;
|
||||
static double fp_1e8;
|
||||
|
||||
void comp_fpp_opp(uae_u32 opcode, uae_u16 extra)
|
||||
{
|
||||
|
|
|
@ -157,12 +157,12 @@ blockinfo* dormant;
|
|||
#if !defined (WIN32) || !defined(ANDROID)
|
||||
#include <sys/mman.h>
|
||||
|
||||
void cache_free (uae_u8 *cache, int size)
|
||||
static void cache_free (uae_u8 *cache, int size)
|
||||
{
|
||||
munmap(cache, size);
|
||||
}
|
||||
|
||||
uae_u8 *cache_alloc (int size)
|
||||
static uae_u8 *cache_alloc (int size)
|
||||
{
|
||||
size = size < getpagesize() ? getpagesize() : size;
|
||||
|
||||
|
@ -384,20 +384,6 @@ STATIC_INLINE void create_jmpdep(blockinfo* bi, int i, uae_u32* jmpaddr, uae_u32
|
|||
tbi->deplist = &(bi->dep[i]);
|
||||
}
|
||||
|
||||
STATIC_INLINE void block_need_recompile(blockinfo * bi)
|
||||
{
|
||||
uae_u32 cl = cacheline(bi->pc_p);
|
||||
|
||||
set_dhtu(bi,bi->direct_pen);
|
||||
bi->direct_handler = bi->direct_pen;
|
||||
|
||||
bi->handler_to_use = (cpuop_func *)popall_execute_normal;
|
||||
bi->handler = (cpuop_func *)popall_execute_normal;
|
||||
if (bi == cache_tags[cl + 1].bi)
|
||||
cache_tags[cl].handler = (cpuop_func *)popall_execute_normal;
|
||||
bi->status = BI_NEED_RECOMP;
|
||||
}
|
||||
|
||||
STATIC_INLINE blockinfo* get_blockinfo_addr_new(void* addr)
|
||||
{
|
||||
blockinfo* bi = get_blockinfo_addr(addr);
|
||||
|
@ -565,10 +551,10 @@ STATIC_INLINE void alloc_blockinfos(void)
|
|||
int i;
|
||||
blockinfo* bi;
|
||||
|
||||
for (i=0;i<MAX_HOLD_BI;i++) {
|
||||
for (i = 0; i < MAX_HOLD_BI; i++) {
|
||||
if (hold_bi[i])
|
||||
return;
|
||||
bi=hold_bi[i]=alloc_blockinfo();
|
||||
bi = hold_bi[i] = alloc_blockinfo();
|
||||
prepare_block(bi);
|
||||
}
|
||||
}
|
||||
|
@ -603,19 +589,9 @@ bool check_prefs_changed_comp(bool checkonly)
|
|||
|
||||
static uae_u8* target;
|
||||
|
||||
STATIC_INLINE void emit_byte(uae_u8 x)
|
||||
{
|
||||
*target++ = x;
|
||||
}
|
||||
|
||||
STATIC_INLINE void emit_long(uae_u32 x)
|
||||
{
|
||||
*((uae_u32*)target) = x;
|
||||
target += 4;
|
||||
}
|
||||
|
||||
STATIC_INLINE void skip_long()
|
||||
{
|
||||
target += 4;
|
||||
}
|
||||
|
||||
|
@ -817,15 +793,6 @@ STATIC_INLINE void writeback_const(int r)
|
|||
set_status(r, INMEM);
|
||||
}
|
||||
|
||||
STATIC_INLINE void tomem_c(int r)
|
||||
{
|
||||
if (isconst(r)) {
|
||||
writeback_const(r);
|
||||
}
|
||||
else
|
||||
tomem(r);
|
||||
}
|
||||
|
||||
static void evict(int r)
|
||||
{
|
||||
int rr;
|
||||
|
@ -898,13 +865,13 @@ static int alloc_reg_hinted(int r, int willclobber, int hint)
|
|||
badness = 0;
|
||||
if (i == hint)
|
||||
badness -= 200000000;
|
||||
if (!live.nat[i].locked && badness<when) {
|
||||
bestreg = i;
|
||||
when = badness;
|
||||
if (live.nat[i].nholds == 0 && hint < 0)
|
||||
break;
|
||||
if (i == hint)
|
||||
break;
|
||||
if (!live.nat[i].locked && badness < when) {
|
||||
bestreg = i;
|
||||
when = badness;
|
||||
if (live.nat[i].nholds == 0 && hint < 0)
|
||||
break;
|
||||
if (i == hint)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1034,7 +1001,7 @@ STATIC_INLINE void make_exclusive(int r, int size)
|
|||
if (size < live.state[r].validsize) {
|
||||
if (live.state[r].val) {
|
||||
/* Might as well compensate for the offset now */
|
||||
compemu_raw_lea_l_brr(nr,rr,oldstate.val);
|
||||
compemu_raw_lea_l_brr(nr, rr, oldstate.val);
|
||||
live.state[r].val = 0;
|
||||
set_status(r, DIRTY);
|
||||
}
|
||||
|
@ -1266,7 +1233,7 @@ STATIC_INLINE int f_writereg(int r)
|
|||
answer = live.fate[r].realreg;
|
||||
}
|
||||
if (answer < 0) {
|
||||
answer = f_alloc_reg(r,1);
|
||||
answer = f_alloc_reg(r, 1);
|
||||
}
|
||||
live.fate[r].status = DIRTY;
|
||||
return answer;
|
||||
|
@ -1280,7 +1247,7 @@ STATIC_INLINE int f_rmw(int r)
|
|||
n = live.fate[r].realreg;
|
||||
}
|
||||
else
|
||||
n = f_alloc_reg(r,0);
|
||||
n = f_alloc_reg(r, 0);
|
||||
live.fate[r].status = DIRTY;
|
||||
return n;
|
||||
}
|
||||
|
@ -1445,7 +1412,7 @@ void init_comp(void)
|
|||
live.fate[i].mem = (uae_u32*)(&scratch.fregs[i]);
|
||||
}
|
||||
|
||||
for (i=0; i<N_REGS; i++) {
|
||||
for (i = 0; i < N_REGS; i++) {
|
||||
live.nat[i].touched = 0;
|
||||
live.nat[i].nholds = 0;
|
||||
live.nat[i].locked = 0;
|
||||
|
@ -1484,7 +1451,7 @@ void flush(int save_regs)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
for (i=0; i<=FLAGTMP; i++) {
|
||||
for (i = 0; i <= FLAGTMP; i++) {
|
||||
switch(live.state[i].status) {
|
||||
case INMEM:
|
||||
if (live.state[i].val) {
|
||||
|
@ -1507,9 +1474,9 @@ void flush(int save_regs)
|
|||
#ifdef USE_JIT_FPU
|
||||
for (i = 0; i <= FP_RESULT; i++) {
|
||||
if (live.fate[i].status == DIRTY) {
|
||||
f_evict(i);
|
||||
}
|
||||
}
|
||||
f_evict(i);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -1517,7 +1484,7 @@ void flush(int save_regs)
|
|||
void freescratch(void)
|
||||
{
|
||||
int i;
|
||||
for (i=0; i<N_REGS; i++)
|
||||
for (i = 0; i < N_REGS; i++)
|
||||
#if defined(CPU_arm)
|
||||
if (live.nat[i].locked && i != 2 && i != 3 && i != 10 && i != 11 && i != 12) {
|
||||
#else
|
||||
|
@ -1759,7 +1726,7 @@ void get_n_addr(int address, int dest)
|
|||
if (special_mem)
|
||||
get_n_addr_old(address, dest);
|
||||
else
|
||||
get_n_addr_real(address,dest);
|
||||
get_n_addr_real(address, dest);
|
||||
}
|
||||
|
||||
void get_n_addr_jmp(int address, int dest)
|
||||
|
@ -1769,7 +1736,7 @@ void get_n_addr_jmp(int address, int dest)
|
|||
if (special_mem)
|
||||
get_n_addr_old(address, dest);
|
||||
else
|
||||
get_n_addr_real(address,dest);
|
||||
get_n_addr_real(address, dest);
|
||||
}
|
||||
|
||||
/* base is a register, but dp is an actual value.
|
||||
|
@ -1851,7 +1818,7 @@ void alloc_cache(void)
|
|||
compiled_code = popallspace + POPALLSPACE_SIZE;
|
||||
|
||||
if (compiled_code) {
|
||||
jit_log("Actual translation cache size : %d KB at %p-%p", cache_size, compiled_code, compiled_code + cache_size*1024);
|
||||
write_log("Actual translation cache size : %d KB at %p-%p", cache_size, compiled_code, compiled_code + cache_size*1024);
|
||||
#if defined(CPU_arm) && !defined(ARMV6T2)
|
||||
max_compile_start = compiled_code + cache_size*1024 - BYTES_PER_INST - DATA_BUFFER_SIZE;
|
||||
#else
|
||||
|
@ -1881,12 +1848,12 @@ static void calc_checksum(blockinfo* bi, uae_u32* c1, uae_u32* c2)
|
|||
#endif
|
||||
uae_u32* pos;
|
||||
|
||||
len += (tmp&3);
|
||||
len += (tmp & 3);
|
||||
tmp &= ~((uintptr)3);
|
||||
pos = (uae_u32*)tmp;
|
||||
|
||||
if (len >= 0 && len <= MAX_CHECKSUM_LEN) {
|
||||
while (len>0) {
|
||||
while (len > 0) {
|
||||
k1 += *pos;
|
||||
k2 ^= *pos;
|
||||
pos++;
|
||||
|
@ -1911,7 +1878,7 @@ int check_for_cache_miss(void)
|
|||
int cl = cacheline(regs.pc_p);
|
||||
if (bi != cache_tags[cl+1].bi) {
|
||||
raise_in_cl_list(bi);
|
||||
return 1;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -2272,14 +2239,14 @@ void flush_icache(int n)
|
|||
if (bi == cache_tags[cl+1].bi)
|
||||
cache_tags[cl].handler = (cpuop_func *)popall_execute_normal;
|
||||
bi->handler_to_use = (cpuop_func *)popall_execute_normal;
|
||||
set_dhtu(bi,bi->direct_pen);
|
||||
set_dhtu(bi, bi->direct_pen);
|
||||
bi->status = BI_INVALID;
|
||||
}
|
||||
else {
|
||||
if (bi == cache_tags[cl+1].bi)
|
||||
cache_tags[cl].handler = (cpuop_func *)popall_check_checksum;
|
||||
bi->handler_to_use = (cpuop_func *)popall_check_checksum;
|
||||
set_dhtu(bi,bi->direct_pcc);
|
||||
set_dhtu(bi, bi->direct_pcc);
|
||||
bi->status = BI_NEED_CHECK;
|
||||
}
|
||||
bi2 = bi;
|
||||
|
@ -2315,7 +2282,7 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
int i;
|
||||
int r;
|
||||
int was_comp = 0;
|
||||
uae_u8 liveflags[MAXRUN+1];
|
||||
uae_u8 liveflags[MAXRUN + 1];
|
||||
#if USE_CHECKSUM_INFO
|
||||
bool trace_in_rom = isinrom((uintptr)pc_hist[0].location) != 0;
|
||||
uintptr max_pcp = (uintptr)pc_hist[blocklen - 1].location;
|
||||
|
@ -2329,7 +2296,6 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
blockinfo* bi = NULL;
|
||||
blockinfo* bi2;
|
||||
|
||||
redo_current_block = 0;
|
||||
if (current_compile_p >= MAX_COMPILE_PTR)
|
||||
flush_icache_hard(3);
|
||||
|
||||
|
@ -2371,13 +2337,13 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
min_pcp = (uintptr)currpcp;
|
||||
#else
|
||||
if ((uintptr)currpcp < min_pcp)
|
||||
min_pcp=(uintptr)currpcp;
|
||||
min_pcp = (uintptr)currpcp;
|
||||
if ((uintptr)currpcp > max_pcp)
|
||||
max_pcp=(uintptr)currpcp;
|
||||
max_pcp = (uintptr)currpcp;
|
||||
#endif
|
||||
|
||||
liveflags[i] = ((liveflags[i + 1] & (~prop[op].set_flags)) | prop[op].use_flags);
|
||||
if (prop[op].is_addx && (liveflags[i+1] & FLAG_Z) == 0)
|
||||
if (prop[op].is_addx && (liveflags[i + 1] & FLAG_Z) == 0)
|
||||
liveflags[i] &= ~FLAG_Z;
|
||||
}
|
||||
|
||||
|
@ -2424,11 +2390,11 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
cpuop_func **cputbl;
|
||||
compop_func **comptbl;
|
||||
uae_u32 opcode = DO_GET_OPCODE(pc_hist[i].location);
|
||||
needed_flags = (liveflags[i+1] & prop[opcode].set_flags);
|
||||
needed_flags = (liveflags[i + 1] & prop[opcode].set_flags);
|
||||
special_mem = pc_hist[i].specmem;
|
||||
if (!needed_flags) {
|
||||
cputbl=cpufunctbl;
|
||||
comptbl=nfcompfunctbl;
|
||||
cputbl = cpufunctbl;
|
||||
comptbl = nfcompfunctbl;
|
||||
}
|
||||
else {
|
||||
cputbl = cpufunctbl;
|
||||
|
@ -2443,10 +2409,10 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
init_comp();
|
||||
}
|
||||
was_comp = 1;
|
||||
|
||||
|
||||
comptbl[opcode](opcode);
|
||||
freescratch();
|
||||
if (!(liveflags[i+1] & FLAG_CZNV)) {
|
||||
if (!(liveflags[i + 1] & FLAG_CZNV)) {
|
||||
/* We can forget about flags */
|
||||
dont_care_flags();
|
||||
}
|
||||
|
@ -2625,7 +2591,7 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
compemu_raw_maybe_cachemiss((uintptr)cache_miss);
|
||||
comp_pc_p = (uae_u8*)pc_hist[0].location;
|
||||
|
||||
bi->status=BI_FINALIZING;
|
||||
bi->status = BI_FINALIZING;
|
||||
init_comp();
|
||||
match_states(bi);
|
||||
flush(1);
|
||||
|
@ -2642,8 +2608,6 @@ void compile_block(cpu_history* pc_hist, int blocklen, int totcycles)
|
|||
flush_icache_hard(3);
|
||||
|
||||
bi->status = BI_ACTIVE;
|
||||
if (redo_current_block)
|
||||
block_need_recompile(bi);
|
||||
|
||||
#ifdef PROFILE_COMPILE_TIME
|
||||
compile_time += (clock() - start_time);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue