Added missing files and VS solution

This commit is contained in:
Dimitris Panokostas 2016-12-03 11:51:25 +01:00
parent aec45d4138
commit 6e084710dc
11 changed files with 2347 additions and 0 deletions

14
.gitignore vendored
View file

@ -2,3 +2,17 @@
conf/*.uae conf/*.uae
conf/*.conf conf/*.conf
kickstarts/*.rom kickstarts/*.rom
*.db
*.dep
*.ast
*.rdb
*.npd
*.rsp
*.suo
*.alldeps
*.log
*.lck
*.npa00
*.psf
*.000
*.001

21
Amiberry/Amiberry.sln Normal file
View file

@ -0,0 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.25920.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Amiberry", "Amiberry\Amiberry.vcxproj", "{D76BB09D-FF2A-4028-A065-421C430CD238}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|VisualGDB = Debug|VisualGDB
Release|VisualGDB = Release|VisualGDB
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D76BB09D-FF2A-4028-A065-421C430CD238}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB
{D76BB09D-FF2A-4028-A065-421C430CD238}.Debug|VisualGDB.Build.0 = Debug|VisualGDB
{D76BB09D-FF2A-4028-A065-421C430CD238}.Release|VisualGDB.ActiveCfg = Release|VisualGDB
{D76BB09D-FF2A-4028-A065-421C430CD238}.Release|VisualGDB.Build.0 = Release|VisualGDB
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,131 @@
<?xml version="1.0"?>
<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConfigurationName>Debug</ConfigurationName>
<Project xsi:type="com.visualgdb.project.linux">
<CustomSourceDirectories>
<Directories />
<PathStyle>MinGWUnixSlash</PathStyle>
</CustomSourceDirectories>
<DeploymentHost>
<HostName>192.168.1.152</HostName>
<Transport>SSH</Transport>
<UserName>pi</UserName>
</DeploymentHost>
<AllowChangingHostForMainCommands>false</AllowChangingHostForMainCommands>
<SkipBuildIfNoSourceFilesChanged>false</SkipBuildIfNoSourceFilesChanged>
<IgnoreFileTransferErrors>false</IgnoreFileTransferErrors>
<RemoveRemoteDirectoryOnClean>false</RemoveRemoteDirectoryOnClean>
<SkipDeploymentTests>true</SkipDeploymentTests>
<MainSourceDirectoryForLocalBuilds>$(ProjectDir)</MainSourceDirectoryForLocalBuilds>
</Project>
<Build xsi:type="com.visualgdb.build.msbuild">
<Toolchain>
<Name>Raspberry PI</Name>
<UniqueID>com.visualgdb.raspberry_pi</UniqueID>
<Location>C:\SysGCC\raspberry</Location>
<UnixSystem>false</UnixSystem>
<GCC>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gcc.exe</GCC>
<GXX>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-g++.exe</GXX>
<GDB>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gdb.exe</GDB>
<AR>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-ar.exe</AR>
<OBJCOPY>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-objcopy.exe</OBJCOPY>
<Make>C:\SysGCC\raspberry\bin\make.exe</Make>
<AdditionalPathDirectories>
<string>C:\SysGCC\raspberry\bin</string>
</AdditionalPathDirectories>
<RequireCmdExe>true</RequireCmdExe>
<RequireCtrlBreak>false</RequireCtrlBreak>
<SourceDirMapping>
<Directories />
<PathStyle>MinGWUnixSlash</PathStyle>
</SourceDirMapping>
</Toolchain>
<ProjectFile>Amiberry.vcxproj</ProjectFile>
<RemoteBuildEnvironment>
<Records />
</RemoteBuildEnvironment>
<ParallelJobCount>1</ParallelJobCount>
</Build>
<Debug xsi:type="com.visualgdb.debug.remote">
<AdditionalStartupCommands />
<AdditionalGDBSettings>
<Features>
<DisableAutoDetection>false</DisableAutoDetection>
<UseFrameParameter>false</UseFrameParameter>
<SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
<ListLocalsSupported>false</ListLocalsSupported>
<ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
<ThreadInfoSupported>false</ThreadInfoSupported>
<PendingBreakpointsSupported>false</PendingBreakpointsSupported>
<SupportTargetCommand>false</SupportTargetCommand>
<ReliableBreakpointNotifications>false</ReliableBreakpointNotifications>
</Features>
<EnableSmartStepping>false</EnableSmartStepping>
<FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
<ForceSingleThreadedMode>false</ForceSingleThreadedMode>
<UseAppleExtensions>false</UseAppleExtensions>
<CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
<MakeLogFile>false</MakeLogFile>
<IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
<UseRelativePathsOnly>false</UseRelativePathsOnly>
<ExitAction>None</ExitAction>
<DisableDisassembly>false</DisableDisassembly>
<ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
<StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
<ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
<DisableSignals>false</DisableSignals>
<EnableAsyncExecutionMode>false</EnableAsyncExecutionMode>
<EnableNonStopMode>false</EnableNonStopMode>
</AdditionalGDBSettings>
<LaunchGDBSettings xsi:type="GDBLaunchParametersNewInstance">
<GDBEnvironment>
<Records>
<Record>
<VariableName>LANG</VariableName>
<Value>en_US.UTF-8</Value>
</Record>
<Record>
<VariableName>PATH</VariableName>
<Value>C:\SysGCC\raspberry\bin;%PATH%</Value>
</Record>
</Records>
</GDBEnvironment>
<DebuggedProgram>$(TargetPath)</DebuggedProgram>
<GDBServerPort>2000</GDBServerPort>
<ProgramArguments />
</LaunchGDBSettings>
<GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
<DeploymentTargetPath>/tmp/$(TargetFileName)</DeploymentTargetPath>
<X11WindowMode>Local</X11WindowMode>
<KeepConsoleAfterExit>false</KeepConsoleAfterExit>
<RunGDBUnderSudo>false</RunGDBUnderSudo>
<DeploymentMode>Auto</DeploymentMode>
<DeployWhenLaunchedWithoutDebugging>true</DeployWhenLaunchedWithoutDebugging>
</Debug>
<CustomBuild>
<PreSyncActions />
<PreBuildActions />
<PostBuildActions />
<PreCleanActions />
<PostCleanActions />
</CustomBuild>
<CustomDebug>
<PreDebugActions />
<PostDebugActions />
<DebugStopActions />
<BreakMode>Default</BreakMode>
</CustomDebug>
<CustomShortcuts>
<Shortcuts />
<ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
</CustomShortcuts>
<UserDefinedVariables />
<ImportedPropertySheets />
<CodeSense>
<Enabled>Unknown</Enabled>
<ExtraSettings>
<HideErrorsInSystemHeaders>true</HideErrorsInSystemHeaders>
</ExtraSettings>
</CodeSense>
<BuildContextDirectory>VisualGDB\VisualGDBCache</BuildContextDirectory>
</VisualGDBProjectSettings2>

View file

@ -0,0 +1,131 @@
<?xml version="1.0"?>
<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConfigurationName>Release</ConfigurationName>
<Project xsi:type="com.visualgdb.project.linux">
<CustomSourceDirectories>
<Directories />
<PathStyle>MinGWUnixSlash</PathStyle>
</CustomSourceDirectories>
<DeploymentHost>
<HostName>192.168.1.152</HostName>
<Transport>SSH</Transport>
<UserName>pi</UserName>
</DeploymentHost>
<AllowChangingHostForMainCommands>false</AllowChangingHostForMainCommands>
<SkipBuildIfNoSourceFilesChanged>false</SkipBuildIfNoSourceFilesChanged>
<IgnoreFileTransferErrors>false</IgnoreFileTransferErrors>
<RemoveRemoteDirectoryOnClean>false</RemoveRemoteDirectoryOnClean>
<SkipDeploymentTests>true</SkipDeploymentTests>
<MainSourceDirectoryForLocalBuilds>$(ProjectDir)</MainSourceDirectoryForLocalBuilds>
</Project>
<Build xsi:type="com.visualgdb.build.msbuild">
<Toolchain>
<Name>Raspberry PI</Name>
<UniqueID>com.visualgdb.raspberry_pi</UniqueID>
<Location>C:\SysGCC\raspberry</Location>
<UnixSystem>false</UnixSystem>
<GCC>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gcc.exe</GCC>
<GXX>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-g++.exe</GXX>
<GDB>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gdb.exe</GDB>
<AR>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-ar.exe</AR>
<OBJCOPY>C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-objcopy.exe</OBJCOPY>
<Make>C:\SysGCC\raspberry\bin\make.exe</Make>
<AdditionalPathDirectories>
<string>C:\SysGCC\raspberry\bin</string>
</AdditionalPathDirectories>
<RequireCmdExe>true</RequireCmdExe>
<RequireCtrlBreak>false</RequireCtrlBreak>
<SourceDirMapping>
<Directories />
<PathStyle>MinGWUnixSlash</PathStyle>
</SourceDirMapping>
</Toolchain>
<ProjectFile>Amiberry.vcxproj</ProjectFile>
<RemoteBuildEnvironment>
<Records />
</RemoteBuildEnvironment>
<ParallelJobCount>1</ParallelJobCount>
</Build>
<Debug xsi:type="com.visualgdb.debug.remote">
<AdditionalStartupCommands />
<AdditionalGDBSettings>
<Features>
<DisableAutoDetection>false</DisableAutoDetection>
<UseFrameParameter>false</UseFrameParameter>
<SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
<ListLocalsSupported>false</ListLocalsSupported>
<ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
<ThreadInfoSupported>false</ThreadInfoSupported>
<PendingBreakpointsSupported>false</PendingBreakpointsSupported>
<SupportTargetCommand>false</SupportTargetCommand>
<ReliableBreakpointNotifications>false</ReliableBreakpointNotifications>
</Features>
<EnableSmartStepping>false</EnableSmartStepping>
<FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
<ForceSingleThreadedMode>false</ForceSingleThreadedMode>
<UseAppleExtensions>false</UseAppleExtensions>
<CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
<MakeLogFile>false</MakeLogFile>
<IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
<UseRelativePathsOnly>false</UseRelativePathsOnly>
<ExitAction>None</ExitAction>
<DisableDisassembly>false</DisableDisassembly>
<ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
<StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
<ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
<DisableSignals>false</DisableSignals>
<EnableAsyncExecutionMode>false</EnableAsyncExecutionMode>
<EnableNonStopMode>false</EnableNonStopMode>
</AdditionalGDBSettings>
<LaunchGDBSettings xsi:type="GDBLaunchParametersNewInstance">
<GDBEnvironment>
<Records>
<Record>
<VariableName>LANG</VariableName>
<Value>en_US.UTF-8</Value>
</Record>
<Record>
<VariableName>PATH</VariableName>
<Value>C:\SysGCC\raspberry\bin;%PATH%</Value>
</Record>
</Records>
</GDBEnvironment>
<DebuggedProgram>$(TargetPath)</DebuggedProgram>
<GDBServerPort>2000</GDBServerPort>
<ProgramArguments />
</LaunchGDBSettings>
<GenerateCtrlBreakInsteadOfCtrlC>false</GenerateCtrlBreakInsteadOfCtrlC>
<DeploymentTargetPath>/tmp/$(TargetFileName)</DeploymentTargetPath>
<X11WindowMode>Local</X11WindowMode>
<KeepConsoleAfterExit>false</KeepConsoleAfterExit>
<RunGDBUnderSudo>false</RunGDBUnderSudo>
<DeploymentMode>Auto</DeploymentMode>
<DeployWhenLaunchedWithoutDebugging>true</DeployWhenLaunchedWithoutDebugging>
</Debug>
<CustomBuild>
<PreSyncActions />
<PreBuildActions />
<PostBuildActions />
<PreCleanActions />
<PostCleanActions />
</CustomBuild>
<CustomDebug>
<PreDebugActions />
<PostDebugActions />
<DebugStopActions />
<BreakMode>Default</BreakMode>
</CustomDebug>
<CustomShortcuts>
<Shortcuts />
<ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
</CustomShortcuts>
<UserDefinedVariables />
<ImportedPropertySheets />
<CodeSense>
<Enabled>Unknown</Enabled>
<ExtraSettings>
<HideErrorsInSystemHeaders>true</HideErrorsInSystemHeaders>
</ExtraSettings>
</CodeSense>
<BuildContextDirectory>VisualGDB\VisualGDBCache</BuildContextDirectory>
</VisualGDBProjectSettings2>

View file

@ -0,0 +1,383 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|VisualGDB">
<Configuration>Debug</Configuration>
<Platform>VisualGDB</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|VisualGDB">
<Configuration>Release</Configuration>
<Platform>VisualGDB</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D76BB09D-FF2A-4028-A065-421C430CD238}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|VisualGDB'">
<GNUConfigurationType>Debug</GNUConfigurationType>
<Toolchain>C:\SysGCC\raspberry</Toolchain>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|VisualGDB'">
<Toolchain>C:\SysGCC\raspberry</Toolchain>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|VisualGDB'">
<ClCompile>
<CPPLanguageStandard>GNUPP14</CPPLanguageStandard>
<AdditionalIncludeDirectories>../../src;../../src/include;../../src/od-pandora;../../src/td-sdl;=/opt/vc/include;=/opt/vc/include/interface/vmcs_host/linux;=/opt/vc/include/interface/vcos/pthreads;=/usr/include/SDL;=/usr/include/libxml2;%(ClCompile.AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEBUG=1;_REENTRANT;RASPBERRY;CAPSLOCK_DEBIAN_WORKAROUND;ARMV6T2;PICASSO96;USE_ARMNEON;CPU_arm;ARM_ASSEMBLY;ARMV6_ASSEMBLY;PANDORA;WITH_INGAME_WARNING;USE_SDL;ROM_PATH_PREFIX=\"./\";DATA_PREFIX=\"./data/\";SAVE_PREFIX=\"./saves/\";GCCCONSTFUNC="__attribute__((const))";%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>-mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalLinkerInputs>;%(Link.AdditionalLinkerInputs)</AdditionalLinkerInputs>
<LibrarySearchDirectories>=/opt/vc/lib;%(Link.LibrarySearchDirectories)</LibrarySearchDirectories>
<AdditionalLibraryNames>bcm_host;SDL;pthread;m;z;SDL_image;png;rt;xml2;FLAC;mpg123;dl;SDL_ttf;guichan_sdl;guichan;%(Link.AdditionalLibraryNames)</AdditionalLibraryNames>
<LinkerScript />
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|VisualGDB'">
<ClCompile>
<CPPLanguageStandard>GNUPP14</CPPLanguageStandard>
<AdditionalIncludeDirectories>../../src;../../src/include;../../src/od-pandora;../../src/td-sdl;=/opt/vc/include;=/opt/vc/include/interface/vmcs_host/linux;=/opt/vc/include/interface/vcos/pthreads;=/usr/include/SDL;=/usr/include/libxml2;%(ClCompile.AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG=1;RELEASE=1;_REENTRANT;RASPBERRY;CAPSLOCK_DEBIAN_WORKAROUND;ARMV6T2;PICASSO96;USE_ARMNEON;CPU_arm;ARM_ASSEMBLY;ARMV6_ASSEMBLY;PANDORA;WITH_INGAME_WARNING;USE_SDL;ROM_PATH_PREFIX=\"./\";DATA_PREFIX=\"./data/\";SAVE_PREFIX=\"./saves/\";GCCCONSTFUNC="__attribute__((const))";%(ClCompile.PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalLinkerInputs>;%(Link.AdditionalLinkerInputs)</AdditionalLinkerInputs>
<LibrarySearchDirectories>=/opt/vc/lib;%(Link.LibrarySearchDirectories)</LibrarySearchDirectories>
<AdditionalLibraryNames>bcm_host;SDL;pthread;m;z;SDL_image;png;rt;xml2;FLAC;mpg123;dl;SDL_ttf;guichan_sdl;guichan;%(Link.AdditionalLibraryNames)</AdditionalLibraryNames>
<LinkerScript />
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="..\..\src\filesys.asm" />
<None Include="..\..\src\inputevents.def" />
<None Include="..\..\src\table68k" />
<None Include="Amiberry-Debug.vgdbsettings" />
<None Include="Amiberry-Release.vgdbsettings" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\akiko.cpp" />
<ClCompile Include="..\..\src\archivers\7z\7zBuf.cpp" />
<ClCompile Include="..\..\src\archivers\7z\7zCrc.cpp" />
<ClCompile Include="..\..\src\archivers\7z\7zStream.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zAlloc.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zDecode.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zExtract.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zHeader.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zIn.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zItem.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Bcj2.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Bra.cpp" />
<ClCompile Include="..\..\src\archivers\7z\Bra86.cpp" />
<ClCompile Include="..\..\src\archivers\7z\LzmaDec.cpp" />
<ClCompile Include="..\..\src\archivers\dms\crc_csum.cpp" />
<ClCompile Include="..\..\src\archivers\dms\getbits.cpp" />
<ClCompile Include="..\..\src\archivers\dms\maketbl.cpp" />
<ClCompile Include="..\..\src\archivers\dms\pfile.cpp" />
<ClCompile Include="..\..\src\archivers\dms\tables.cpp" />
<ClCompile Include="..\..\src\archivers\dms\u_deep.cpp" />
<ClCompile Include="..\..\src\archivers\dms\u_heavy.cpp" />
<ClCompile Include="..\..\src\archivers\dms\u_init.cpp" />
<ClCompile Include="..\..\src\archivers\dms\u_medium.cpp" />
<ClCompile Include="..\..\src\archivers\dms\u_quick.cpp" />
<ClCompile Include="..\..\src\archivers\dms\u_rle.cpp" />
<ClCompile Include="..\..\src\archivers\lha\crcio.cpp" />
<ClCompile Include="..\..\src\archivers\lha\dhuf.cpp" />
<ClCompile Include="..\..\src\archivers\lha\header.cpp" />
<ClCompile Include="..\..\src\archivers\lha\huf.cpp" />
<ClCompile Include="..\..\src\archivers\lha\larc.cpp" />
<ClCompile Include="..\..\src\archivers\lha\lhamaketbl.cpp" />
<ClCompile Include="..\..\src\archivers\lha\lharc.cpp" />
<ClCompile Include="..\..\src\archivers\lha\shuf.cpp" />
<ClCompile Include="..\..\src\archivers\lha\slide.cpp" />
<ClCompile Include="..\..\src\archivers\lha\uae_lha.cpp" />
<ClCompile Include="..\..\src\archivers\lha\util.cpp" />
<ClCompile Include="..\..\src\archivers\lzx\unlzx.cpp" />
<ClCompile Include="..\..\src\archivers\wrp\warp.cpp" />
<ClCompile Include="..\..\src\archivers\zip\unzip.cpp" />
<ClCompile Include="..\..\src\aros.rom.cpp" />
<ClCompile Include="..\..\src\audio.cpp" />
<ClCompile Include="..\..\src\autoconf.cpp" />
<ClCompile Include="..\..\src\blitfunc.cpp" />
<ClCompile Include="..\..\src\blitops.cpp" />
<ClCompile Include="..\..\src\blittable.cpp" />
<ClCompile Include="..\..\src\blitter.cpp" />
<ClCompile Include="..\..\src\blkdev.cpp" />
<ClCompile Include="..\..\src\blkdev_cdimage.cpp" />
<ClCompile Include="..\..\src\bsdsocket.cpp" />
<ClCompile Include="..\..\src\calc.cpp" />
<ClCompile Include="..\..\src\cdrom.cpp" />
<ClCompile Include="..\..\src\cfgfile.cpp" />
<ClCompile Include="..\..\src\cia.cpp" />
<ClCompile Include="..\..\src\cpudefs.cpp" />
<ClCompile Include="..\..\src\cpuemu_0.cpp" />
<ClCompile Include="..\..\src\cpuemu_11.cpp" />
<ClCompile Include="..\..\src\cpuemu_4.cpp" />
<ClCompile Include="..\..\src\cpustbl.cpp" />
<ClCompile Include="..\..\src\crc32.cpp" />
<ClCompile Include="..\..\src\custom.cpp" />
<ClCompile Include="..\..\src\disk.cpp" />
<ClCompile Include="..\..\src\diskutil.cpp" />
<ClCompile Include="..\..\src\drawing.cpp" />
<ClCompile Include="..\..\src\events.cpp" />
<ClCompile Include="..\..\src\expansion.cpp" />
<ClCompile Include="..\..\src\filesys.cpp" />
<ClCompile Include="..\..\src\fpp.cpp" />
<ClCompile Include="..\..\src\fsdb.cpp" />
<ClCompile Include="..\..\src\fsdb_unix.cpp" />
<ClCompile Include="..\..\src\fsusage.cpp" />
<ClCompile Include="..\..\src\genblitter.cpp" />
<ClCompile Include="..\..\src\gfxboard.cpp" />
<ClCompile Include="..\..\src\gfxutil.cpp" />
<ClCompile Include="..\..\src\hardfile.cpp" />
<ClCompile Include="..\..\src\inputdevice.cpp" />
<ClCompile Include="..\..\src\jit\compemu.cpp" />
<ClCompile Include="..\..\src\jit\compemu_fpp.cpp" />
<ClCompile Include="..\..\src\jit\compemu_support.cpp" />
<ClCompile Include="..\..\src\jit\compstbl.cpp" />
<ClCompile Include="..\..\src\keybuf.cpp" />
<ClCompile Include="..\..\src\main.cpp" />
<ClCompile Include="..\..\src\md-pandora\support.cpp" />
<ClCompile Include="..\..\src\memory.cpp" />
<ClCompile Include="..\..\src\native2amiga.cpp" />
<ClCompile Include="..\..\src\newcpu.cpp" />
<ClCompile Include="..\..\src\newcpu_common.cpp" />
<ClCompile Include="..\..\src\od-pandora\bsdsocket_host.cpp" />
<ClCompile Include="..\..\src\od-pandora\cda_play.cpp" />
<ClCompile Include="..\..\src\od-pandora\charset.cpp" />
<ClCompile Include="..\..\src\od-pandora\fsdb_host.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\CreateFilesysHardfile.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\EditFilesysHardfile.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\EditFilesysVirtual.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\InGameMessage.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\main_window.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\Navigation.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelChipset.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelConfig.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelCPU.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelDisplay.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelFloppy.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelHD.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelInput.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelMisc.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelPaths.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelRAM.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelROM.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelSavestate.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\PanelSound.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\sdltruetypefont.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\SelectFile.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\SelectFolder.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\SelectorEntry.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\ShowMessage.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\UaeCheckBox.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\UaeDropDown.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\UaeListBox.cpp" />
<ClCompile Include="..\..\src\od-pandora\gui\UaeRadioButton.cpp" />
<ClCompile Include="..\..\src\od-pandora\hardfile_pandora.cpp" />
<ClCompile Include="..\..\src\od-pandora\keyboard.cpp" />
<ClCompile Include="..\..\src\od-pandora\menu\menu_config.cpp" />
<ClCompile Include="..\..\src\od-pandora\mp3decoder.cpp" />
<ClCompile Include="..\..\src\od-pandora\neon_helper.s" />
<ClCompile Include="..\..\src\od-pandora\pandora.cpp" />
<ClCompile Include="..\..\src\od-pandora\pandora_filesys.cpp" />
<ClCompile Include="..\..\src\od-pandora\pandora_gfx.cpp" />
<ClCompile Include="..\..\src\od-pandora\pandora_gui.cpp" />
<ClCompile Include="..\..\src\od-pandora\pandora_input.cpp" />
<ClCompile Include="..\..\src\od-pandora\pandora_mem.cpp" />
<ClCompile Include="..\..\src\od-pandora\pandora_rp9.cpp" />
<ClCompile Include="..\..\src\od-pandora\picasso96.cpp" />
<ClCompile Include="..\..\src\od-pandora\sigsegv_handler.cpp" />
<ClCompile Include="..\..\src\od-pandora\writelog.cpp" />
<ClCompile Include="..\..\src\od-rasp\rasp_gfx.cpp" />
<ClCompile Include="..\..\src\readcpu.cpp" />
<ClCompile Include="..\..\src\rommgr.cpp" />
<ClCompile Include="..\..\src\savestate.cpp" />
<ClCompile Include="..\..\src\sd-sdl\sound_sdl_new.cpp" />
<ClCompile Include="..\..\src\statusline.cpp" />
<ClCompile Include="..\..\src\traps.cpp" />
<ClCompile Include="..\..\src\uaelib.cpp" />
<ClCompile Include="..\..\src\uaeresource.cpp" />
<ClCompile Include="..\..\src\zfile.cpp" />
<ClCompile Include="..\..\src\zfile_archive.cpp" />
</ItemGroup>
<ItemGroup>
<Image Include="..\..\data\35floppy.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\chip.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\cpu.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\delete.png">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\drive.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\expansion.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\file.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\joystick.bmp">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\joystick.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\misc.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\mouse.bmp">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\paths.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\remapping.bmp">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\savestate.png">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\screen.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
<Image Include="..\..\data\sound.ico">
<DeploymentContent>true</DeploymentContent>
</Image>
</ItemGroup>
<ItemGroup>
<Font Include="..\..\data\FreeSans.ttf">
<DeploymentContent>true</DeploymentContent>
</Font>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\archivers\7z\7zBuf.h" />
<ClInclude Include="..\..\src\archivers\7z\7zCrc.h" />
<ClInclude Include="..\..\src\archivers\7z\7zVersion.h" />
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zAlloc.h" />
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zDecode.h" />
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zExtract.h" />
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zHeader.h" />
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zIn.h" />
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zItem.h" />
<ClInclude Include="..\..\src\archivers\7z\Bcj2.h" />
<ClInclude Include="..\..\src\archivers\7z\Bra.h" />
<ClInclude Include="..\..\src\archivers\7z\CpuArch.h" />
<ClInclude Include="..\..\src\archivers\7z\LzmaDec.h" />
<ClInclude Include="..\..\src\archivers\7z\Types.h" />
<ClInclude Include="..\..\src\archivers\dms\cdata.h" />
<ClInclude Include="..\..\src\archivers\dms\crc_csum.h" />
<ClInclude Include="..\..\src\archivers\dms\getbits.h" />
<ClInclude Include="..\..\src\archivers\dms\maketbl.h" />
<ClInclude Include="..\..\src\archivers\dms\pfile.h" />
<ClInclude Include="..\..\src\archivers\dms\tables.h" />
<ClInclude Include="..\..\src\archivers\dms\u_deep.h" />
<ClInclude Include="..\..\src\archivers\dms\u_heavy.h" />
<ClInclude Include="..\..\src\archivers\dms\u_init.h" />
<ClInclude Include="..\..\src\archivers\dms\u_medium.h" />
<ClInclude Include="..\..\src\archivers\dms\u_quick.h" />
<ClInclude Include="..\..\src\archivers\dms\u_rle.h" />
<ClInclude Include="..\..\src\archivers\lha\lha.h" />
<ClInclude Include="..\..\src\archivers\lha\lha_macro.h" />
<ClInclude Include="..\..\src\archivers\wrp\warp.h" />
<ClInclude Include="..\..\src\archivers\zip\unzip.h" />
<ClInclude Include="..\..\src\include\akiko.h" />
<ClInclude Include="..\..\src\include\audio.h" />
<ClInclude Include="..\..\src\include\autoconf.h" />
<ClInclude Include="..\..\src\include\blit.h" />
<ClInclude Include="..\..\src\include\blitfunc.h" />
<ClInclude Include="..\..\src\include\blitter.h" />
<ClInclude Include="..\..\src\include\blkdev.h" />
<ClInclude Include="..\..\src\include\bsdsocket.h" />
<ClInclude Include="..\..\src\include\calc.h" />
<ClInclude Include="..\..\src\include\cia.h" />
<ClInclude Include="..\..\src\include\clipboard.h" />
<ClInclude Include="..\..\src\include\commpipe.h" />
<ClInclude Include="..\..\src\include\cputbl.h" />
<ClInclude Include="..\..\src\include\cpu_prefetch.h" />
<ClInclude Include="..\..\src\include\crc32.h" />
<ClInclude Include="..\..\src\include\custom.h" />
<ClInclude Include="..\..\src\include\debug.h" />
<ClInclude Include="..\..\src\include\disk.h" />
<ClInclude Include="..\..\src\include\diskutil.h" />
<ClInclude Include="..\..\src\include\drawing.h" />
<ClInclude Include="..\..\src\include\ersatz.h" />
<ClInclude Include="..\..\src\include\events.h" />
<ClInclude Include="..\..\src\include\execio.h" />
<ClInclude Include="..\..\src\include\execlib.h" />
<ClInclude Include="..\..\src\include\filesys.h" />
<ClInclude Include="..\..\src\include\flags_arm.h" />
<ClInclude Include="..\..\src\include\fpp-ieee-be.h" />
<ClInclude Include="..\..\src\include\fpp-unknown.h" />
<ClInclude Include="..\..\src\include\fsdb.h" />
<ClInclude Include="..\..\src\include\fsusage.h" />
<ClInclude Include="..\..\src\include\genblitter.h" />
<ClInclude Include="..\..\src\include\gensound.h" />
<ClInclude Include="..\..\src\include\gfxboard.h" />
<ClInclude Include="..\..\src\include\gui.h" />
<ClInclude Include="..\..\src\include\inputdevice.h" />
<ClInclude Include="..\..\src\include\keyboard.h" />
<ClInclude Include="..\..\src\include\keybuf.h" />
<ClInclude Include="..\..\src\include\mackbd.h" />
<ClInclude Include="..\..\src\include\memory.h" />
<ClInclude Include="..\..\src\include\native2amiga.h" />
<ClInclude Include="..\..\src\include\native2amiga_api.h" />
<ClInclude Include="..\..\src\include\newcpu.h" />
<ClInclude Include="..\..\src\include\options.h" />
<ClInclude Include="..\..\src\include\osemu.h" />
<ClInclude Include="..\..\src\include\picasso96.h" />
<ClInclude Include="..\..\src\include\readcpu.h" />
<ClInclude Include="..\..\src\include\rommgr.h" />
<ClInclude Include="..\..\src\include\rtgmodes.h" />
<ClInclude Include="..\..\src\include\savestate.h" />
<ClInclude Include="..\..\src\include\scsi.h" />
<ClInclude Include="..\..\src\include\scsidev.h" />
<ClInclude Include="..\..\src\include\statusline.h" />
<ClInclude Include="..\..\src\include\sysdeps.h" />
<ClInclude Include="..\..\src\include\traps.h" />
<ClInclude Include="..\..\src\include\uae.h" />
<ClInclude Include="..\..\src\include\uaeresource.h" />
<ClInclude Include="..\..\src\include\xwin.h" />
<ClInclude Include="..\..\src\include\zarchive.h" />
<ClInclude Include="..\..\src\include\zfile.h" />
<ClInclude Include="..\..\src\jit\codegen_arm.h" />
<ClInclude Include="..\..\src\jit\compemu.h" />
<ClInclude Include="..\..\src\jit\compemu_midfunc_arm.h" />
<ClInclude Include="..\..\src\jit\compemu_midfunc_arm2.h" />
<ClInclude Include="..\..\src\jit\comptbl.h" />
<ClInclude Include="..\..\src\md-pandora\m68k.h" />
<ClInclude Include="..\..\src\md-pandora\maccess.h" />
<ClInclude Include="..\..\src\md-pandora\md-fpp.h" />
<ClInclude Include="..\..\src\md-pandora\rpt.h" />
<ClInclude Include="..\..\src\od-pandora\cda_play.h" />
<ClInclude Include="..\..\src\od-pandora\config.h" />
<ClInclude Include="..\..\src\od-pandora\gui\gui_handling.h" />
<ClInclude Include="..\..\src\od-pandora\gui\sdltruetypefont.hpp" />
<ClInclude Include="..\..\src\od-pandora\gui\SelectorEntry.hpp" />
<ClInclude Include="..\..\src\od-pandora\gui\UaeCheckBox.hpp" />
<ClInclude Include="..\..\src\od-pandora\gui\UaeDropDown.hpp" />
<ClInclude Include="..\..\src\od-pandora\gui\UaeListBox.hpp" />
<ClInclude Include="..\..\src\od-pandora\gui\UaeRadioButton.hpp" />
<ClInclude Include="..\..\src\od-pandora\mp3decoder.h" />
<ClInclude Include="..\..\src\od-pandora\pandora_rp9.h" />
<ClInclude Include="..\..\src\od-pandora\sysconfig.h" />
<ClInclude Include="..\..\src\od-pandora\target.h" />
<ClInclude Include="..\..\src\sd-pandora\sound.h" />
<ClInclude Include="..\..\src\td-sdl\thread.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,964 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source files">
<UniqueIdentifier>{b16b49e6-388b-4870-9138-6522821dc4fa}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header files">
<UniqueIdentifier>{f1c11b7b-16ac-4c33-afc7-f48cb566cc0a}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource files">
<UniqueIdentifier>{718f34a1-b5f0-471d-87bd-7830c504177f}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
<Filter Include="VisualGDB settings">
<UniqueIdentifier>{426e7bc2-9690-418f-88f1-d3fbd4286058}</UniqueIdentifier>
<Extensions>*.vgdbsettings</Extensions>
</Filter>
<Filter Include="Resource files\data">
<UniqueIdentifier>{a3539168-deee-4fef-9e7e-6c265c4a1aaf}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\include">
<UniqueIdentifier>{a72de7b6-114c-46c1-94dd-e1c6824e51ae}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\td-sdl">
<UniqueIdentifier>{7a9137a1-118b-4810-891d-861d2c071939}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\sd-sdl">
<UniqueIdentifier>{7a9672f6-c9a7-458e-b273-0b24b0a19c11}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\sd-pandora">
<UniqueIdentifier>{37add0f8-d9ce-496d-b31b-7b4de37a28ba}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\od-rasp">
<UniqueIdentifier>{11863c92-f5fb-41a7-8888-0133c42939f5}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\od-pandora">
<UniqueIdentifier>{66889cab-a3cd-4751-a3b1-1cde1fffa8a9}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\od-pandora">
<UniqueIdentifier>{2395dddd-7a9e-4763-a1e6-3e9bf0b87d85}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\od-pandora\gui">
<UniqueIdentifier>{125cb7d1-693b-43b8-88b6-704e2c862045}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\od-pandora\gui">
<UniqueIdentifier>{8d2e90b3-4227-4898-b701-b3d43547a46e}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\od-pandora\menu">
<UniqueIdentifier>{f4dc4c59-aa7a-4cce-88bb-d743d6918cb4}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\md-pandora">
<UniqueIdentifier>{7c39070a-7b40-489a-9b73-d0a3393586b3}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\md-pandora">
<UniqueIdentifier>{d30f8b54-3f88-446c-85e1-e892a326a06e}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\jit">
<UniqueIdentifier>{bbb7c3af-1d98-4d1c-a2b2-a5d9f3cbae36}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\jit">
<UniqueIdentifier>{accf56a1-83fd-49be-886a-f8bc35ec1ec8}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers">
<UniqueIdentifier>{af250902-faaf-4f93-bf17-3d044c9af644}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers">
<UniqueIdentifier>{bf9a1a81-7b9d-4c8e-945b-6fbf2f69cf65}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\7z">
<UniqueIdentifier>{4c76dc23-c710-47d0-b2c0-21fe5e3c9b84}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\7z">
<UniqueIdentifier>{4e7f85db-d3e3-4b65-b969-a7b829bc3281}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\7z\Archive">
<UniqueIdentifier>{b1a09498-1e4a-40d4-a986-9e09ad865690}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\7z\Archive\7z">
<UniqueIdentifier>{dcfa291d-f91e-4f23-a259-791df4811cc0}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\7z\Archive">
<UniqueIdentifier>{7944e92f-3c23-4f86-842a-aa199a00dd35}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\7z\Archive\7z">
<UniqueIdentifier>{ad85bf25-c171-40d2-ae9d-997bd5237bab}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\dms">
<UniqueIdentifier>{a44fad77-d044-486d-8a84-3f2f17c6bb49}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\dms">
<UniqueIdentifier>{2a0d7085-3d1a-4180-b2ad-5d7333af5e67}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\lha">
<UniqueIdentifier>{c902da66-3854-4a23-be3f-fbb4bc6ce351}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\lha">
<UniqueIdentifier>{299069a6-54c8-4b5a-bb2d-d38199ea1a49}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\lzx">
<UniqueIdentifier>{c4235e7b-2e35-4514-a57e-4c86332ecc2b}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\wrp">
<UniqueIdentifier>{f1a3ad08-e3bb-42f7-83b9-9597f31cf7f8}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\wrp">
<UniqueIdentifier>{e1a264aa-b585-41b6-ac81-44f2f6b85a90}</UniqueIdentifier>
</Filter>
<Filter Include="Header files\archivers\zip">
<UniqueIdentifier>{91d43e6e-b831-4e13-8316-d1dc2a15cc69}</UniqueIdentifier>
</Filter>
<Filter Include="Source files\archivers\zip">
<UniqueIdentifier>{4e318f28-ff4d-4f7a-8a12-cbcf4b5032d7}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="Amiberry-Debug.vgdbsettings">
<Filter>VisualGDB settings</Filter>
</None>
<None Include="Amiberry-Release.vgdbsettings">
<Filter>VisualGDB settings</Filter>
</None>
<None Include="..\..\src\filesys.asm">
<Filter>Source files</Filter>
</None>
<None Include="..\..\src\inputevents.def">
<Filter>Source files</Filter>
</None>
<None Include="..\..\src\table68k">
<Filter>Source files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\akiko.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\aros.rom.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\audio.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\autoconf.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\blitfunc.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\blitops.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\blittable.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\blitter.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\blkdev.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\blkdev_cdimage.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\bsdsocket.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\calc.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cdrom.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cfgfile.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cia.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpudefs.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpuemu_0.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpuemu_4.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpuemu_11.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\cpustbl.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\crc32.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\custom.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\disk.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\diskutil.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\drawing.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\events.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\expansion.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\filesys.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\fpp.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\fsdb.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\fsdb_unix.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\fsusage.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\genblitter.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\gfxboard.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\gfxutil.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\hardfile.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\inputdevice.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\keybuf.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\main.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\memory.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\native2amiga.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\newcpu.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\newcpu_common.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\readcpu.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\rommgr.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\savestate.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\statusline.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\traps.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\uaelib.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\uaeresource.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\zfile.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\zfile_archive.cpp">
<Filter>Source files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sd-sdl\sound_sdl_new.cpp">
<Filter>Source files\sd-sdl</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-rasp\rasp_gfx.cpp">
<Filter>Source files\od-rasp</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\neon_helper.s">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\bsdsocket_host.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\cda_play.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\charset.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\fsdb_host.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\hardfile_pandora.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\keyboard.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\mp3decoder.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora_filesys.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora_gfx.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora_gui.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora_input.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora_mem.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\pandora_rp9.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\picasso96.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\sigsegv_handler.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\writelog.cpp">
<Filter>Source files\od-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\CreateFilesysHardfile.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\EditFilesysHardfile.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\EditFilesysVirtual.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\InGameMessage.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\main_window.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\Navigation.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelChipset.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelConfig.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelCPU.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelDisplay.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelFloppy.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelHD.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelInput.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelMisc.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelPaths.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelRAM.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelROM.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelSavestate.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\PanelSound.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\sdltruetypefont.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\SelectFile.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\SelectFolder.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\SelectorEntry.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\ShowMessage.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\UaeCheckBox.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\UaeDropDown.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\UaeListBox.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\gui\UaeRadioButton.cpp">
<Filter>Source files\od-pandora\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\src\od-pandora\menu\menu_config.cpp">
<Filter>Source files\od-pandora\menu</Filter>
</ClCompile>
<ClCompile Include="..\..\src\md-pandora\support.cpp">
<Filter>Source files\md-pandora</Filter>
</ClCompile>
<ClCompile Include="..\..\src\jit\compemu.cpp">
<Filter>Source files\jit</Filter>
</ClCompile>
<ClCompile Include="..\..\src\jit\compemu_fpp.cpp">
<Filter>Source files\jit</Filter>
</ClCompile>
<ClCompile Include="..\..\src\jit\compemu_support.cpp">
<Filter>Source files\jit</Filter>
</ClCompile>
<ClCompile Include="..\..\src\jit\compstbl.cpp">
<Filter>Source files\jit</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\7zBuf.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\7zCrc.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\7zStream.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Bcj2.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Bra.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Bra86.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\LzmaDec.cpp">
<Filter>Source files\archivers\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zAlloc.cpp">
<Filter>Source files\archivers\7z\Archive\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zDecode.cpp">
<Filter>Source files\archivers\7z\Archive\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zExtract.cpp">
<Filter>Source files\archivers\7z\Archive\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zHeader.cpp">
<Filter>Source files\archivers\7z\Archive\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zIn.cpp">
<Filter>Source files\archivers\7z\Archive\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\7z\Archive\7z\7zItem.cpp">
<Filter>Source files\archivers\7z\Archive\7z</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\crc_csum.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\getbits.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\maketbl.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\pfile.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\tables.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\u_deep.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\u_heavy.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\u_init.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\u_medium.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\u_quick.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\dms\u_rle.cpp">
<Filter>Source files\archivers\dms</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\crcio.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\dhuf.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\header.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\huf.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\larc.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\lhamaketbl.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\lharc.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\shuf.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\slide.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\uae_lha.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lha\util.cpp">
<Filter>Source files\archivers\lha</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\lzx\unlzx.cpp">
<Filter>Source files\archivers\lzx</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\wrp\warp.cpp">
<Filter>Source files\archivers\wrp</Filter>
</ClCompile>
<ClCompile Include="..\..\src\archivers\zip\unzip.cpp">
<Filter>Source files\archivers\zip</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Image Include="..\..\data\35floppy.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\chip.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\cpu.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\delete.png">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\drive.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\expansion.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\file.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\joystick.bmp">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\joystick.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\misc.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\mouse.bmp">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\paths.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\remapping.bmp">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\savestate.png">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\screen.ico">
<Filter>Resource files\data</Filter>
</Image>
<Image Include="..\..\data\sound.ico">
<Filter>Resource files\data</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<Font Include="..\..\data\FreeSans.ttf">
<Filter>Resource files\data</Filter>
</Font>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\include\akiko.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\audio.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\autoconf.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\blit.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\blitfunc.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\blitter.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\blkdev.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\bsdsocket.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\calc.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\cia.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\clipboard.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\commpipe.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\cpu_prefetch.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\cputbl.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\crc32.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\custom.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\debug.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\disk.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\diskutil.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\drawing.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\ersatz.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\events.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\execio.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\execlib.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\filesys.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\flags_arm.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\fpp-ieee-be.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\fpp-unknown.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\fsdb.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\fsusage.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\genblitter.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\gensound.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\gfxboard.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\gui.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\inputdevice.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\keyboard.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\keybuf.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\mackbd.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\memory.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\native2amiga.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\native2amiga_api.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\newcpu.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\options.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\osemu.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\picasso96.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\readcpu.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\rommgr.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\rtgmodes.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\savestate.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\scsi.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\scsidev.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\statusline.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\sysdeps.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\traps.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\uae.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\uaeresource.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\xwin.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\zarchive.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\include\zfile.h">
<Filter>Header files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\src\td-sdl\thread.h">
<Filter>Header files\td-sdl</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sd-pandora\sound.h">
<Filter>Header files\sd-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\cda_play.h">
<Filter>Header files\od-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\config.h">
<Filter>Header files\od-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\mp3decoder.h">
<Filter>Header files\od-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\pandora_rp9.h">
<Filter>Header files\od-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\sysconfig.h">
<Filter>Header files\od-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\target.h">
<Filter>Header files\od-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\gui_handling.h">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\sdltruetypefont.hpp">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\SelectorEntry.hpp">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\UaeCheckBox.hpp">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\UaeDropDown.hpp">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\UaeListBox.hpp">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\od-pandora\gui\UaeRadioButton.hpp">
<Filter>Header files\od-pandora\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\src\md-pandora\m68k.h">
<Filter>Header files\md-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\md-pandora\maccess.h">
<Filter>Header files\md-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\md-pandora\md-fpp.h">
<Filter>Header files\md-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\md-pandora\rpt.h">
<Filter>Header files\md-pandora</Filter>
</ClInclude>
<ClInclude Include="..\..\src\jit\codegen_arm.h">
<Filter>Header files\jit</Filter>
</ClInclude>
<ClInclude Include="..\..\src\jit\compemu.h">
<Filter>Header files\jit</Filter>
</ClInclude>
<ClInclude Include="..\..\src\jit\compemu_midfunc_arm.h">
<Filter>Header files\jit</Filter>
</ClInclude>
<ClInclude Include="..\..\src\jit\compemu_midfunc_arm2.h">
<Filter>Header files\jit</Filter>
</ClInclude>
<ClInclude Include="..\..\src\jit\comptbl.h">
<Filter>Header files\jit</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\7zBuf.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\7zCrc.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\7zVersion.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Bcj2.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Bra.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\CpuArch.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\LzmaDec.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Types.h">
<Filter>Header files\archivers\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zAlloc.h">
<Filter>Header files\archivers\7z\Archive\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zDecode.h">
<Filter>Header files\archivers\7z\Archive\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zExtract.h">
<Filter>Header files\archivers\7z\Archive\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zHeader.h">
<Filter>Header files\archivers\7z\Archive\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zIn.h">
<Filter>Header files\archivers\7z\Archive\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\7z\Archive\7z\7zItem.h">
<Filter>Header files\archivers\7z\Archive\7z</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\cdata.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\crc_csum.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\getbits.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\maketbl.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\pfile.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\tables.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\u_deep.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\u_heavy.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\u_init.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\u_medium.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\u_quick.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\dms\u_rle.h">
<Filter>Header files\archivers\dms</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\lha\lha.h">
<Filter>Header files\archivers\lha</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\lha\lha_macro.h">
<Filter>Header files\archivers\lha</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\wrp\warp.h">
<Filter>Header files\archivers\wrp</Filter>
</ClInclude>
<ClInclude Include="..\..\src\archivers\zip\unzip.h">
<Filter>Header files\archivers\zip</Filter>
</ClInclude>
</ItemGroup>
</Project>

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

32
src/gfxboard.cpp Normal file
View file

@ -0,0 +1,32 @@
/*
* UAE - The Un*x Amiga Emulator
*
* Cirrus Logic based graphics board emulation
*
* Copyright 2013 Toni Wilen
*
*/
#include "sysconfig.h"
#include "sysdeps.h"
#include "options.h"
#include "uae.h"
#include "include/memory.h"
#include "debug.h"
#include "custom.h"
#include "newcpu.h"
#include "picasso96.h"
#include "statusline.h"
#include "rommgr.h"
#include "zfile.h"
#include "gfxboard.h"
bool gfxboard_is_z3 (int type)
{
if (type == GFXBOARD_UAE_Z2)
return false;
if (type == GFXBOARD_UAE_Z3)
return true;
return false;
}

5
src/include/gfxboard.h Normal file
View file

@ -0,0 +1,5 @@
extern bool gfxboard_is_z3 (int);
#define GFXBOARD_UAE_Z2 0
#define GFXBOARD_UAE_Z3 1

2
src/include/scsi.h Normal file
View file

@ -0,0 +1,2 @@
#define SCSI_DATA_BUFFER_SIZE (512 * 512)

660
src/newcpu_common.cpp Normal file
View file

@ -0,0 +1,660 @@
#include "sysconfig.h"
#include "sysdeps.h"
#define MOVEC_DEBUG 0
#include "options.h"
#include "memory.h"
#include "newcpu.h"
#include "cpu_prefetch.h"
int movec_illg (int regno)
{
int regno2 = regno & 0x7ff;
if (currprefs.cpu_model == 68010) {
if (regno2 < 2)
return 0;
return 1;
} else if (currprefs.cpu_model == 68020) {
if (regno == 3)
return 1; /* 68040/060 only */
/* 4 is >=68040, but 0x804 is in 68020 */
if (regno2 < 4 || regno == 0x804)
return 0;
return 1;
} else if (currprefs.cpu_model == 68030) {
if (regno2 <= 2)
return 0;
if (regno == 0x803 || regno == 0x804)
return 0;
return 1;
} else if (currprefs.cpu_model == 68040) {
if (regno == 0x802)
return 1; /* 68020/030 only */
if (regno2 < 8) return 0;
return 1;
}
return 1;
}
int m68k_move2c (int regno, uae_u32 *regp)
{
if (movec_illg (regno)) {
op_illg (0x4E7B);
return 0;
} else {
switch (regno) {
case 0: regs.sfc = *regp & 7; break;
case 1: regs.dfc = *regp & 7; break;
case 2:
{
uae_u32 cacr_mask = 0;
if (currprefs.cpu_model == 68020)
cacr_mask = 0x0000000f;
else if (currprefs.cpu_model == 68030)
cacr_mask = 0x00003f1f;
else if (currprefs.cpu_model == 68040)
cacr_mask = 0x80008000;
regs.cacr = *regp & cacr_mask;
set_cpu_caches(false);
}
break;
/* 68040/060 only */
case 3:
regs.tcr = *regp & 0xc000;
break;
/* no differences between 68040 and 68060 */
case 4: regs.itt0 = *regp & 0xffffe364; break;
case 5: regs.itt1 = *regp & 0xffffe364; break;
case 6: regs.dtt0 = *regp & 0xffffe364; break;
case 7: regs.dtt1 = *regp & 0xffffe364; break;
/* 68060 only */
case 8: regs.buscr = *regp & 0xf0000000; break;
case 0x800: regs.usp = *regp; break;
case 0x801: regs.vbr = *regp; break;
case 0x802: regs.caar = *regp; break;
case 0x803: regs.msp = *regp; if (regs.m == 1) m68k_areg(regs, 7) = regs.msp; break;
case 0x804: regs.isp = *regp; if (regs.m == 0) m68k_areg(regs, 7) = regs.isp; break;
/* 68040 only */
case 0x805: regs.mmusr = *regp; break;
/* 68040/060 */
case 0x806: regs.urp = *regp & 0xfffffe00; break;
case 0x807: regs.srp = *regp & 0xfffffe00; break;
/* 68060 only */
case 0x808:
{
uae_u32 opcr = regs.pcr;
regs.pcr &= ~(0x40 | 2 | 1);
regs.pcr |= (*regp) & (0x40 | 2 | 1);
if (currprefs.fpu_model <= 0)
regs.pcr |= 2;
if (((opcr ^ regs.pcr) & 2) == 2) {
write_log (_T("68060 FPU state: %s\n"), regs.pcr & 2 ? _T("disabled") : _T("enabled"));
/* flush possible already translated FPU instructions */
flush_icache (0, 3);
}
}
break;
default:
op_illg (0x4E7B);
return 0;
}
}
return 1;
}
int m68k_movec2 (int regno, uae_u32 *regp)
{
if (movec_illg (regno)) {
op_illg (0x4E7A);
return 0;
} else {
switch (regno) {
case 0: *regp = regs.sfc; break;
case 1: *regp = regs.dfc; break;
case 2:
{
uae_u32 v = regs.cacr;
uae_u32 cacr_mask = 0;
if (currprefs.cpu_model == 68020)
cacr_mask = 0x00000003;
else if (currprefs.cpu_model == 68030)
cacr_mask = 0x00003313;
else if (currprefs.cpu_model == 68040)
cacr_mask = 0x80008000;
*regp = v & cacr_mask;
}
break;
case 3: *regp = regs.tcr; break;
case 4: *regp = regs.itt0; break;
case 5: *regp = regs.itt1; break;
case 6: *regp = regs.dtt0; break;
case 7: *regp = regs.dtt1; break;
case 8: *regp = regs.buscr; break;
case 0x800: *regp = regs.usp; break;
case 0x801: *regp = regs.vbr; break;
case 0x802: *regp = regs.caar; break;
case 0x803: *regp = regs.m == 1 ? m68k_areg(regs, 7) : regs.msp; break;
case 0x804: *regp = regs.m == 0 ? m68k_areg(regs, 7) : regs.isp; break;
case 0x805: *regp = regs.mmusr; break;
case 0x806: *regp = regs.urp; break;
case 0x807: *regp = regs.srp; break;
case 0x808: *regp = regs.pcr; break;
default:
op_illg (0x4E7A);
return 0;
}
}
return 1;
}
/*
* extract bitfield data from memory and return it in the MSBs
* bdata caches the unmodified data for put_bitfield()
*/
uae_u32 REGPARAM2 get_bitfield (uae_u32 src, uae_u32 bdata[2], uae_s32 offset, int width)
{
uae_u32 tmp, res, mask;
offset &= 7;
mask = 0xffffffffu << (32 - width);
switch ((offset + width + 7) >> 3) {
case 1:
tmp = get_byte (src);
res = tmp << (24 + offset);
bdata[0] = tmp & ~(mask >> (24 + offset));
break;
case 2:
tmp = get_word (src);
res = tmp << (16 + offset);
bdata[0] = tmp & ~(mask >> (16 + offset));
break;
case 3:
tmp = get_word (src);
res = tmp << (16 + offset);
bdata[0] = tmp & ~(mask >> (16 + offset));
tmp = get_byte (src + 2);
res |= tmp << (8 + offset);
bdata[1] = tmp & ~(mask >> (8 + offset));
break;
case 4:
tmp = get_long (src);
res = tmp << offset;
bdata[0] = tmp & ~(mask >> offset);
break;
case 5:
tmp = get_long (src);
res = tmp << offset;
bdata[0] = tmp & ~(mask >> offset);
tmp = get_byte (src + 4);
res |= tmp >> (8 - offset);
bdata[1] = tmp & ~(mask << (8 - offset));
break;
default:
/* Panic? */
write_log (_T("get_bitfield() can't happen %d\n"), (offset + width + 7) >> 3);
res = 0;
break;
}
return res;
}
/*
* write bitfield data (in the LSBs) back to memory, upper bits
* must be cleared already.
*/
void REGPARAM2 put_bitfield (uae_u32 dst, uae_u32 bdata[2], uae_u32 val, uae_s32 offset, int width)
{
offset = (offset & 7) + width;
switch ((offset + 7) >> 3) {
case 1:
put_byte (dst, bdata[0] | (val << (8 - offset)));
break;
case 2:
put_word (dst, bdata[0] | (val << (16 - offset)));
break;
case 3:
put_word (dst, bdata[0] | (val >> (offset - 16)));
put_byte (dst + 2, bdata[1] | (val << (24 - offset)));
break;
case 4:
put_long (dst, bdata[0] | (val << (32 - offset)));
break;
case 5:
put_long (dst, bdata[0] | (val >> (offset - 32)));
put_byte (dst + 4, bdata[1] | (val << (40 - offset)));
break;
default:
write_log (_T("put_bitfield() can't happen %d\n"), (offset + 7) >> 3);
break;
}
}
uae_u32 REGPARAM2 _get_disp_ea_020 (uae_u32 base)
{
uae_u16 dp = next_diword ();
int reg = (dp >> 12) & 15;
uae_s32 regd = regs.regs[reg];
if ((dp & 0x800) == 0)
regd = (uae_s32)(uae_s16)regd;
regd <<= (dp >> 9) & 3;
if (dp & 0x100) {
uae_s32 outer = 0;
if (dp & 0x80) base = 0;
if (dp & 0x40) regd = 0;
if ((dp & 0x30) == 0x20)
base += (uae_s32)(uae_s16) next_diword ();
if ((dp & 0x30) == 0x30)
base += next_dilong ();
if ((dp & 0x3) == 0x2)
outer = (uae_s32)(uae_s16) next_diword ();
if ((dp & 0x3) == 0x3)
outer = next_dilong ();
if ((dp & 0x4) == 0)
base += regd;
if (dp & 0x3)
base = get_long (base);
if (dp & 0x4)
base += regd;
return base + outer;
} else {
return base + (uae_s32)((uae_s8)dp) + regd;
}
}
/*
* Compute exact number of CPU cycles taken
* by DIVU and DIVS on a 68000 processor.
*
* Copyright (c) 2005 by Jorge Cwik, pasti@fxatari.com
*
* This is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*
The routines below take dividend and divisor as parameters.
They return 0 if division by zero, or exact number of cycles otherwise.
The number of cycles returned assumes a register operand.
Effective address time must be added if memory operand.
For 68000 only (not 68010, 68012, 68020, etc).
Probably valid for 68008 after adding the extra prefetch cycle.
Best and worst cases for register operand:
(Note the difference with the documented range.)
DIVU:
Overflow (always): 10 cycles.
Worst case: 136 cycles.
Best case: 76 cycles.
DIVS:
Absolute overflow: 16-18 cycles.
Signed overflow is not detected prematurely.
Worst case: 156 cycles.
Best case without signed overflow: 122 cycles.
Best case with signed overflow: 120 cycles
*/
int getDivu68kCycles (uae_u32 dividend, uae_u16 divisor)
{
int mcycles;
uae_u32 hdivisor;
int i;
if(divisor == 0)
return 0;
// Overflow
if((dividend >> 16) >= divisor)
return (mcycles = 5) * 2;
mcycles = 38;
hdivisor = divisor << 16;
for( i = 0; i < 15; i++) {
uae_u32 temp;
temp = dividend;
dividend <<= 1;
// If carry from shift
if((uae_s32)temp < 0)
dividend -= hdivisor;
else {
mcycles += 2;
if(dividend >= hdivisor) {
dividend -= hdivisor;
mcycles--;
}
}
}
return mcycles * 2;
}
int getDivs68kCycles (uae_s32 dividend, uae_s16 divisor)
{
int mcycles;
uae_u32 aquot;
int i;
if(divisor == 0)
return 0;
mcycles = 6;
if( dividend < 0)
mcycles++;
// Check for absolute overflow
if(((uae_u32)abs(dividend) >> 16) >= (uae_u16)abs(divisor))
return (mcycles + 2) * 2;
// Absolute quotient
aquot = (uae_u32) abs(dividend) / (uae_u16)abs(divisor);
mcycles += 55;
if(divisor >= 0) {
if(dividend >= 0)
mcycles--;
else
mcycles++;
}
// Count 15 msbits in absolute of quotient
for( i = 0; i < 15; i++) {
if((uae_s16)aquot >= 0)
mcycles++;
aquot <<= 1;
}
return mcycles * 2;
}
STATIC_INLINE int div_unsigned(uae_u32 src_hi, uae_u32 src_lo, uae_u32 div, uae_u32 *quot, uae_u32 *rem)
{
uae_u32 q = 0, cbit = 0;
int i;
if (div <= src_hi) {
return 1;
}
for (i = 0 ; i < 32 ; i++) {
cbit = src_hi & 0x80000000ul;
src_hi <<= 1;
if (src_lo & 0x80000000ul) src_hi++;
src_lo <<= 1;
q = q << 1;
if (cbit || div <= src_hi) {
q |= 1;
src_hi -= div;
}
}
*quot = q;
*rem = src_hi;
return 0;
}
void m68k_divl (uae_u32 opcode, uae_u32 src, uae_u16 extra)
{
// Done in caller
//if (src == 0) {
// Exception (5);
// return;
//}
#if defined(uae_s64)
if (extra & 0x800) {
/* signed variant */
uae_s64 a = (uae_s64)(uae_s32)m68k_dreg(regs, (extra >> 12) & 7);
uae_s64 quot, rem;
if (extra & 0x400) {
a &= 0xffffffffu;
a |= (uae_s64)m68k_dreg(regs, extra & 7) << 32;
}
if (a == 0x8000000000000000 && src == -1) {
SET_VFLG (1);
SET_NFLG (1);
SET_CFLG (0);
} else {
rem = a % (uae_s64)(uae_s32)src;
quot = a / (uae_s64)(uae_s32)src;
if ((quot & UVAL64(0xffffffff80000000)) != 0
&& (quot & UVAL64(0xffffffff80000000)) != UVAL64(0xffffffff80000000))
{
SET_VFLG (1);
SET_NFLG (1);
SET_CFLG (0);
} else {
if (((uae_s32)rem < 0) != ((uae_s64)a < 0)) rem = -rem;
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (((uae_s32)quot) == 0);
SET_NFLG (((uae_s32)quot) < 0);
m68k_dreg(regs, extra & 7) = (uae_u32)rem;
m68k_dreg(regs, (extra >> 12) & 7) = (uae_u32)quot;
}
}
} else {
/* unsigned */
uae_u64 a = (uae_u64)(uae_u32)m68k_dreg(regs, (extra >> 12) & 7);
uae_u64 quot, rem;
if (extra & 0x400) {
a &= 0xffffffffu;
a |= (uae_u64)m68k_dreg(regs, extra & 7) << 32;
}
rem = a % (uae_u64)src;
quot = a / (uae_u64)src;
if (quot > 0xffffffffu) {
SET_VFLG (1);
SET_NFLG (1);
SET_CFLG (0);
} else {
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (((uae_s32)quot) == 0);
SET_NFLG (((uae_s32)quot) < 0);
m68k_dreg(regs, extra & 7) = (uae_u32)rem;
m68k_dreg(regs, (extra >> 12) & 7) = (uae_u32)quot;
}
}
#else
if (extra & 0x800) {
/* signed variant */
uae_s32 lo = (uae_s32)m68k_dreg(regs, (extra >> 12) & 7);
uae_s32 hi = lo < 0 ? -1 : 0;
uae_s32 save_high;
uae_u32 quot, rem;
uae_u32 sign;
if (extra & 0x400) {
hi = (uae_s32)m68k_dreg(regs, extra & 7);
}
save_high = hi;
sign = (hi ^ src);
if (hi < 0) {
hi = ~hi;
lo = -lo;
if (lo == 0) hi++;
}
if ((uae_s32)src < 0) src = -src;
if (div_unsigned(hi, lo, src, &quot, &rem) ||
(sign & 0x80000000) ? quot > 0x80000000 : quot > 0x7fffffff) {
SET_VFLG (1);
SET_NFLG (1);
SET_CFLG (0);
} else {
if (sign & 0x80000000) quot = -quot;
if (((uae_s32)rem < 0) != (save_high < 0)) rem = -rem;
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (((uae_s32)quot) == 0);
SET_NFLG (((uae_s32)quot) < 0);
m68k_dreg(regs, extra & 7) = rem;
m68k_dreg(regs, (extra >> 12) & 7) = quot;
}
} else {
/* unsigned */
uae_u32 lo = (uae_u32)m68k_dreg(regs, (extra >> 12) & 7);
uae_u32 hi = 0;
uae_u32 quot, rem;
if (extra & 0x400) {
hi = (uae_u32)m68k_dreg(regs, extra & 7);
}
if (div_unsigned(hi, lo, src, &quot, &rem)) {
SET_VFLG (1);
SET_NFLG (1);
SET_CFLG (0);
} else {
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (((uae_s32)quot) == 0);
SET_NFLG (((uae_s32)quot) < 0);
m68k_dreg(regs, extra & 7) = rem;
m68k_dreg(regs, (extra >> 12) & 7) = quot;
}
}
#endif
}
STATIC_INLINE void mul_unsigned(uae_u32 src1, uae_u32 src2, uae_u32 *dst_hi, uae_u32 *dst_lo)
{
uae_u32 r0 = (src1 & 0xffff) * (src2 & 0xffff);
uae_u32 r1 = ((src1 >> 16) & 0xffff) * (src2 & 0xffff);
uae_u32 r2 = (src1 & 0xffff) * ((src2 >> 16) & 0xffff);
uae_u32 r3 = ((src1 >> 16) & 0xffff) * ((src2 >> 16) & 0xffff);
uae_u32 lo;
lo = r0 + ((r1 << 16) & 0xffff0000ul);
if (lo < r0) r3++;
r0 = lo;
lo = r0 + ((r2 << 16) & 0xffff0000ul);
if (lo < r0) r3++;
r3 += ((r1 >> 16) & 0xffff) + ((r2 >> 16) & 0xffff);
*dst_lo = lo;
*dst_hi = r3;
}
void m68k_mull (uae_u32 opcode, uae_u32 src, uae_u16 extra)
{
#if defined(uae_s64)
if (extra & 0x800) {
/* signed variant */
uae_s64 a = (uae_s64)(uae_s32)m68k_dreg(regs, (extra >> 12) & 7);
a *= (uae_s64)(uae_s32)src;
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (a == 0);
SET_NFLG (a < 0);
if (extra & 0x400)
m68k_dreg(regs, extra & 7) = (uae_u32)(a >> 32);
else if ((a & UVAL64(0xffffffff80000000)) != 0
&& (a & UVAL64(0xffffffff80000000)) != UVAL64(0xffffffff80000000))
{
SET_VFLG (1);
}
m68k_dreg(regs, (extra >> 12) & 7) = (uae_u32)a;
} else {
/* unsigned */
uae_u64 a = (uae_u64)(uae_u32)m68k_dreg(regs, (extra >> 12) & 7);
a *= (uae_u64)src;
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (a == 0);
SET_NFLG (((uae_s64)a) < 0);
if (extra & 0x400)
m68k_dreg(regs, extra & 7) = (uae_u32)(a >> 32);
else if ((a & UVAL64(0xffffffff00000000)) != 0) {
SET_VFLG (1);
}
m68k_dreg(regs, (extra >> 12) & 7) = (uae_u32)a;
}
#else
if (extra & 0x800) {
/* signed variant */
uae_s32 src1,src2;
uae_u32 dst_lo,dst_hi;
uae_u32 sign;
src1 = (uae_s32)src;
src2 = (uae_s32)m68k_dreg(regs, (extra >> 12) & 7);
sign = (src1 ^ src2);
if (src1 < 0) src1 = -src1;
if (src2 < 0) src2 = -src2;
mul_unsigned((uae_u32)src1,(uae_u32)src2,&dst_hi,&dst_lo);
if (sign & 0x80000000) {
dst_hi = ~dst_hi;
dst_lo = -dst_lo;
if (dst_lo == 0) dst_hi++;
}
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (dst_hi == 0 && dst_lo == 0);
SET_NFLG (((uae_s32)dst_hi) < 0);
if (extra & 0x400)
m68k_dreg(regs, extra & 7) = dst_hi;
else if ((dst_hi != 0 || (dst_lo & 0x80000000) != 0)
&& ((dst_hi & 0xffffffff) != 0xffffffff
|| (dst_lo & 0x80000000) != 0x80000000))
{
SET_VFLG (1);
}
m68k_dreg(regs, (extra >> 12) & 7) = dst_lo;
} else {
/* unsigned */
uae_u32 dst_lo,dst_hi;
mul_unsigned(src,(uae_u32)m68k_dreg(regs, (extra >> 12) & 7),&dst_hi,&dst_lo);
SET_VFLG (0);
SET_CFLG (0);
SET_ZFLG (dst_hi == 0 && dst_lo == 0);
SET_NFLG (((uae_s32)dst_hi) < 0);
if (extra & 0x400)
m68k_dreg(regs, extra & 7) = dst_hi;
else if (dst_hi != 0) {
SET_VFLG (1);
}
m68k_dreg(regs, (extra >> 12) & 7) = dst_lo;
}
#endif
}