Updated filesys and CPU files from latest WinUAE

This commit is contained in:
Dimitris Panokostas 2019-03-24 18:46:16 +01:00
parent 1ff538b8ce
commit d8811e6efa
16 changed files with 44295 additions and 35911 deletions

View file

@ -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" />

View file

@ -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>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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 */

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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;
}

View file

@ -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;

View file

@ -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)
{

View file

@ -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);