diff --git a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Debug.vgdbsettings b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Debug.vgdbsettings index 22338584..04bc4ab8 100644 --- a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Debug.vgdbsettings +++ b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Debug.vgdbsettings @@ -6,11 +6,39 @@ MinGWUnixSlash + + None + - 192.168.1.189 + 192.168.1.121 SSH pi + + false + + None + + $(ProjectDir) + /tmp/VisualGDB/$(ProjectDirUnixStyle) + + *.cpp + *.h + *.hpp + *.c + *.cc + *.cxx + *.mak + Makefile + *.txt + *.cmake + + true + true + + false + true + false false false @@ -22,9 +50,9 @@ com.visualgdb.raspberry_pi - 6.3.0 - 7.12 - 1 + 4.9.2 + 7.7.1 + 4 Amiberry-sdl1.vcxproj diff --git a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings index 2392ac09..54a155ef 100644 --- a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings +++ b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings @@ -6,11 +6,39 @@ MinGWUnixSlash + + None + - 192.168.1.189 + 192.168.1.121 SSH pi + + false + + None + + $(ProjectDir) + /tmp/VisualGDB/$(ProjectDirUnixStyle) + + *.cpp + *.h + *.hpp + *.c + *.cc + *.cxx + *.mak + Makefile + *.txt + *.cmake + + true + true + + false + true + false false false @@ -22,9 +50,9 @@ com.visualgdb.raspberry_pi - 6.3.0 - 7.12 - 1 + 4.9.2 + 7.7.1 + 4 Amiberry-sdl1.vcxproj @@ -73,10 +101,11 @@ false /home/pi/projects/amiberry/$(TargetFileName) - Local + Remote false - false + true Auto + true false diff --git a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings.midwan.user b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings.midwan.user new file mode 100644 index 00000000..be8d5823 --- /dev/null +++ b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1-Release.vgdbsettings.midwan.user @@ -0,0 +1,17 @@ + + + + + + false + false + false + false + false + false + + + false + + + \ No newline at end of file diff --git a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj index 7cd09e9f..87540838 100644 --- a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj +++ b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj @@ -28,17 +28,17 @@ Debug com.visualgdb.raspberry_pi - 6.3.0/7.12/r1 + 4.9.2/7.7.1/r4 com.visualgdb.raspberry_pi - 6.3.0/7.12/r1 + 4.9.2/7.7.1/r4 GNUPP14 =/usr/include/SDL;=/opt/vc/include;=/opt/vc/include/interface/vmcs_host/linux;=/opt/vc/include/interface/vcos/pthreads;=/usr/include/libxml2;../../src;../../src/osdep;../../src/threaddep;../../src/include;../../src/archivers;%(ClCompile.AdditionalIncludeDirectories) - DEBUG=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL1;%(ClCompile.PreprocessorDefinitions) + DEBUG=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL1;USE_DISPMANX;%(ClCompile.PreprocessorDefinitions) -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions) @@ -52,7 +52,7 @@ GNUPP14 =/usr/include/SDL;=/opt/vc/include;=/opt/vc/include/interface/vmcs_host/linux;=/opt/vc/include/interface/vcos/pthreads;=/usr/include/libxml2;../../src;../../src/osdep;../../src/threaddep;../../src/include;../../src/archivers;%(ClCompile.AdditionalIncludeDirectories) - NDEBUG=1;RELEASE=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL1;%(ClCompile.PreprocessorDefinitions) + NDEBUG=1;RELEASE=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL1;USE_DISPMANX;%(ClCompile.PreprocessorDefinitions) -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions) @@ -335,6 +335,7 @@ + diff --git a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj.filters b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj.filters index 1a96d473..a695db3a 100644 --- a/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj.filters +++ b/VisualGDB/Amiberry-sdl1/Amiberry-sdl1.vcxproj.filters @@ -1022,5 +1022,8 @@ Source files\archivers\7z + + Source files\osdep\gui + \ No newline at end of file diff --git a/VisualGDB/Amiberry/Amiberry-Debug-dispmanx.vgdbsettings b/VisualGDB/Amiberry/Amiberry-Debug-dispmanx.vgdbsettings new file mode 100644 index 00000000..6f745d46 --- /dev/null +++ b/VisualGDB/Amiberry/Amiberry-Debug-dispmanx.vgdbsettings @@ -0,0 +1,195 @@ + + + Debug-dispmanx + + + + MinGWUnixSlash + + + None + + + 192.168.1.121 + SSH + pi + + + false + + None + + $(ProjectDir) + /tmp/VisualGDB/$(ProjectDirUnixStyle) + + *.cpp + *.h + *.hpp + *.c + *.cc + *.cxx + *.mak + Makefile + *.txt + *.cmake + + true + true + + false + true + + false + false + false + false + false + $(ProjectDir) + + + + com.visualgdb.raspberry_pi + + 6.3.0 + 7.12 + 1 + + + Amiberry.vcxproj + + + + + 1 + true + + + + + + false + true + true + true + true + true + true + true + true + + false + false + false + false + false + false + true + false + None + false + false + main + true + false + true + false + 0 + + + $(TargetPath) + 2000 + + + false + /home/pi/projects/amiberry/$(TargetFileName) + Remote + false + false + Auto + /usr/local/lib + true + false + + + + + + + + + + + + + Default + + + + true + + + + + False + + + + + true + false + + Enabled + true + true + true + + + + + + true + + core.builtin.BuiltinFunctions + core.builtin.NoReturnFunctions + core.CallAndMessage + core.DivideZero + core.DynamicTypePropagation + core.NonNullParamChecker + core.NullDereference + core.StackAddressEscape + core.UndefinedBinaryOperatorResult + core.uninitialized.ArraySubscript + core.uninitialized.Assign + core.uninitialized.Branch + core.uninitialized.CapturedBlockVariable + core.uninitialized.UndefReturn + core.VLASize + cplusplus.NewDelete + cplusplus.NewDeleteLeaks + deadcode.DeadStores + nullability.NullPassedToNonnull + nullability.NullReturnedFromNonnull + security.insecureAPI.getpw + security.insecureAPI.gets + security.insecureAPI.mkstemp + security.insecureAPI.mktemp + security.insecureAPI.UncheckedReturn + security.insecureAPI.vfork + unix.API + unix.cstring.BadSizeArg + unix.cstring.NullArg + unix.Malloc + unix.MallocSizeof + unix.MismatchedDeallocator + unix.Vfork + + + -analyzer-store=region + -analyzer-opt-analyze-nested-blocks + -analyzer-eagerly-assume + + + + VisualGDB\VisualGDBCache + + \ No newline at end of file diff --git a/VisualGDB/Amiberry/Amiberry-Debug-dispmanx.vgdbsettings.midwan.user b/VisualGDB/Amiberry/Amiberry-Debug-dispmanx.vgdbsettings.midwan.user new file mode 100644 index 00000000..be8d5823 --- /dev/null +++ b/VisualGDB/Amiberry/Amiberry-Debug-dispmanx.vgdbsettings.midwan.user @@ -0,0 +1,17 @@ + + + + + + false + false + false + false + false + false + + + false + + + \ No newline at end of file diff --git a/VisualGDB/Amiberry/Amiberry-Debug.vgdbsettings b/VisualGDB/Amiberry/Amiberry-Debug.vgdbsettings index 576fba97..e5f46b90 100644 --- a/VisualGDB/Amiberry/Amiberry-Debug.vgdbsettings +++ b/VisualGDB/Amiberry/Amiberry-Debug.vgdbsettings @@ -58,7 +58,6 @@ Amiberry.vcxproj - 1 true diff --git a/VisualGDB/Amiberry/Amiberry.sln b/VisualGDB/Amiberry/Amiberry.sln index 0c658228..7f99d09f 100644 --- a/VisualGDB/Amiberry/Amiberry.sln +++ b/VisualGDB/Amiberry/Amiberry.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.27004.2010 +VisualStudioVersion = 15.0.27130.2010 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Amiberry", "Amiberry.vcxproj", "{FDC6BF55-C4BC-44FB-85A9-3369784716E8}" ProjectSection(ProjectDependencies) = postProject @@ -12,24 +12,47 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "guisan", "..\guisan\guisan. EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Amiberry-sdl1", "..\Amiberry-sdl1\Amiberry-sdl1.vcxproj", "{14635D01-67B8-4863-9507-3FA5C8FB4B32}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genblitter", "..\genblitter\genblitter.vcxproj", "{619EFB8C-E41A-4058-B085-1B8CD22692DD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genlinetoscr", "..\genlinetoscr\genlinetoscr.vcxproj", "{883F2A00-8030-429B-AC7F-E930DDF9568F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|VisualGDB = Debug|VisualGDB + Debug-dispmanx|VisualGDB = Debug-dispmanx|VisualGDB Release|VisualGDB = Release|VisualGDB EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {FDC6BF55-C4BC-44FB-85A9-3369784716E8}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB {FDC6BF55-C4BC-44FB-85A9-3369784716E8}.Debug|VisualGDB.Build.0 = Debug|VisualGDB + {FDC6BF55-C4BC-44FB-85A9-3369784716E8}.Debug-dispmanx|VisualGDB.ActiveCfg = Debug-dispmanx|VisualGDB + {FDC6BF55-C4BC-44FB-85A9-3369784716E8}.Debug-dispmanx|VisualGDB.Build.0 = Debug-dispmanx|VisualGDB {FDC6BF55-C4BC-44FB-85A9-3369784716E8}.Release|VisualGDB.ActiveCfg = Release|VisualGDB {FDC6BF55-C4BC-44FB-85A9-3369784716E8}.Release|VisualGDB.Build.0 = Release|VisualGDB {E613050D-EE8C-4ED1-936D-EB9E0E155EA6}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB {E613050D-EE8C-4ED1-936D-EB9E0E155EA6}.Debug|VisualGDB.Build.0 = Debug|VisualGDB + {E613050D-EE8C-4ED1-936D-EB9E0E155EA6}.Debug-dispmanx|VisualGDB.ActiveCfg = Debug|VisualGDB + {E613050D-EE8C-4ED1-936D-EB9E0E155EA6}.Debug-dispmanx|VisualGDB.Build.0 = Debug|VisualGDB {E613050D-EE8C-4ED1-936D-EB9E0E155EA6}.Release|VisualGDB.ActiveCfg = Release|VisualGDB {E613050D-EE8C-4ED1-936D-EB9E0E155EA6}.Release|VisualGDB.Build.0 = Release|VisualGDB {14635D01-67B8-4863-9507-3FA5C8FB4B32}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB {14635D01-67B8-4863-9507-3FA5C8FB4B32}.Debug|VisualGDB.Build.0 = Debug|VisualGDB + {14635D01-67B8-4863-9507-3FA5C8FB4B32}.Debug-dispmanx|VisualGDB.ActiveCfg = Debug|VisualGDB + {14635D01-67B8-4863-9507-3FA5C8FB4B32}.Debug-dispmanx|VisualGDB.Build.0 = Debug|VisualGDB {14635D01-67B8-4863-9507-3FA5C8FB4B32}.Release|VisualGDB.ActiveCfg = Release|VisualGDB {14635D01-67B8-4863-9507-3FA5C8FB4B32}.Release|VisualGDB.Build.0 = Release|VisualGDB + {619EFB8C-E41A-4058-B085-1B8CD22692DD}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB + {619EFB8C-E41A-4058-B085-1B8CD22692DD}.Debug|VisualGDB.Build.0 = Debug|VisualGDB + {619EFB8C-E41A-4058-B085-1B8CD22692DD}.Debug-dispmanx|VisualGDB.ActiveCfg = Debug|VisualGDB + {619EFB8C-E41A-4058-B085-1B8CD22692DD}.Debug-dispmanx|VisualGDB.Build.0 = Debug|VisualGDB + {619EFB8C-E41A-4058-B085-1B8CD22692DD}.Release|VisualGDB.ActiveCfg = Release|VisualGDB + {619EFB8C-E41A-4058-B085-1B8CD22692DD}.Release|VisualGDB.Build.0 = Release|VisualGDB + {883F2A00-8030-429B-AC7F-E930DDF9568F}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB + {883F2A00-8030-429B-AC7F-E930DDF9568F}.Debug|VisualGDB.Build.0 = Debug|VisualGDB + {883F2A00-8030-429B-AC7F-E930DDF9568F}.Debug-dispmanx|VisualGDB.ActiveCfg = Debug|VisualGDB + {883F2A00-8030-429B-AC7F-E930DDF9568F}.Debug-dispmanx|VisualGDB.Build.0 = Debug|VisualGDB + {883F2A00-8030-429B-AC7F-E930DDF9568F}.Release|VisualGDB.ActiveCfg = Release|VisualGDB + {883F2A00-8030-429B-AC7F-E930DDF9568F}.Release|VisualGDB.Build.0 = Release|VisualGDB EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/VisualGDB/Amiberry/Amiberry.vcxproj b/VisualGDB/Amiberry/Amiberry.vcxproj index e60327a2..ed8cdccf 100644 --- a/VisualGDB/Amiberry/Amiberry.vcxproj +++ b/VisualGDB/Amiberry/Amiberry.vcxproj @@ -1,6 +1,10 @@  + + Debug-dispmanx + VisualGDB + Debug VisualGDB @@ -17,6 +21,7 @@ + @@ -31,6 +36,12 @@ 6.3.0/7.12/r1 $(ProjectName)-sdl2 + + Debug + com.visualgdb.raspberry_pi + 6.3.0/7.12/r1 + $(ProjectName)-sdl2 + com.visualgdb.raspberry_pi 6.3.0/7.12/r1 @@ -46,15 +57,30 @@ ;%(Link.AdditionalLinkerInputs) =/usr/local/lib;../../src/guisan/lib;%(Link.LibrarySearchDirectories) - SDL2;pthread;z;png;rt;xml2;FLAC;mpg123;dl;mpeg2convert;mpeg2;SDL2_image;SDL2_ttf;guisan;%(Link.AdditionalLibraryNames) + SDL2;pthread;z;png;rt;xml2;FLAC;mpg123;dl;mpeg2convert;mpeg2;SDL2_image;SDL2_ttf;guisan;m;%(Link.AdditionalLibraryNames) + + + GNUPP14 + =/usr/local/include/SDL2;=/usr/include/libxml2;../../src;../../src/osdep;../../src/threaddep;../../src/include;../../src/guisan/include;../../src/archivers;=/opt/vc/include;=/opt/vc/include/interface/vmcs_host/linux;=/opt/vc/include/interface/vcos/pthreads;%(ClCompile.AdditionalIncludeDirectories) + DEBUG=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL2;USE_DISPMANX;%(ClCompile.PreprocessorDefinitions) + -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions) + + + ;%(Link.AdditionalLinkerInputs) + =/usr/local/lib;../../src/guisan/lib;=/opt/vc/lib;%(Link.LibrarySearchDirectories) + SDL2;pthread;z;png;rt;xml2;FLAC;mpg123;dl;mpeg2convert;mpeg2;SDL2_image;SDL2_ttf;guisan;bcm_host;%(Link.AdditionalLibraryNames) + + + + GNUPP14 =/usr/local/include/SDL2;=/usr/include/libxml2;../../src;../../src/osdep;../../src/threaddep;../../src/include;../../src/guisan/include;../../src/archivers;%(ClCompile.AdditionalIncludeDirectories) - NDEBUG=1;RELEASE=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL2;%(ClCompile.PreprocessorDefinitions) + NDEBUG=1;RELEASE=1;ARMV6T2;USE_ARMNEON;_REENTRANT;AMIBERRY;CPU_arm;ARMV6_ASSEMBLY;USE_SDL2;USE_DISPMANX;%(ClCompile.PreprocessorDefinitions) -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions) @@ -248,6 +274,7 @@ + diff --git a/VisualGDB/Amiberry/Amiberry.vcxproj.filters b/VisualGDB/Amiberry/Amiberry.vcxproj.filters index 661360c5..b470a3d5 100644 --- a/VisualGDB/Amiberry/Amiberry.vcxproj.filters +++ b/VisualGDB/Amiberry/Amiberry.vcxproj.filters @@ -77,6 +77,9 @@ Source files + + Source files + diff --git a/VisualGDB/Amiberry/VisualGDB/Debug/genblitter b/VisualGDB/Amiberry/VisualGDB/Debug/genblitter new file mode 100644 index 00000000..50c35296 Binary files /dev/null and b/VisualGDB/Amiberry/VisualGDB/Debug/genblitter differ diff --git a/VisualGDB/Amiberry/VisualGDB/Debug/genlinetoscr b/VisualGDB/Amiberry/VisualGDB/Debug/genlinetoscr new file mode 100644 index 00000000..5cbb50ba Binary files /dev/null and b/VisualGDB/Amiberry/VisualGDB/Debug/genlinetoscr differ diff --git a/VisualGDB/genblitter/Readme.txt b/VisualGDB/genblitter/Readme.txt new file mode 100644 index 00000000..85dd819a --- /dev/null +++ b/VisualGDB/genblitter/Readme.txt @@ -0,0 +1,17 @@ +This tool generates the following files: +- blit.h +- blitfunc.cpp +- blitfunc.h +- blittable.cpp + +To use it, compile it for the target platform, then execute it there as follows: + +genblitter.exe i > blit.h + +genblitter.exe f > blitfunc.cpp + +genblitter.exe h > blitfunc.h + +genblitter.exe t > blittable.cpp + +Copy the resulting files back in the "src" directory of Amiberry \ No newline at end of file diff --git a/VisualGDB/genblitter/genblitter-Debug.vgdbsettings b/VisualGDB/genblitter/genblitter-Debug.vgdbsettings new file mode 100644 index 00000000..fb0eccc0 --- /dev/null +++ b/VisualGDB/genblitter/genblitter-Debug.vgdbsettings @@ -0,0 +1,169 @@ + + + Debug + + + + MinGWUnixSlash + + + 192.168.1.152 + SSH + pi + + false + false + false + false + false + $(ProjectDir) + + + + com.visualgdb.raspberry_pi + + 6.3.0 + 7.12 + 1 + + + + false + + C:\SysGCC\raspberry\bin + + false + + + MinGWUnixSlash + + Raspberry PI + com.visualgdb.raspberry_pi + C:\SysGCC\raspberry + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gcc.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-g++.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gdb.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-ar.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-objcopy.exe + C:\SysGCC\raspberry\bin\make.exe + false + + genblitter.vcxproj + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + + 1 + true + + + + + + false + false + false + false + false + false + false + false + false + + false + false + false + false + false + false + true + false + None + false + false + main + true + false + false + false + 0 + + + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + + $(TargetPath) + 2000 + + + false + /home/pi/projects//$(TargetFileName) + Local + false + false + Auto + true + false + + + + + + + + + + + + + Default + + + + true + + + + + False + + + + + true + false + + Enabled + true + true + true + + + + + + false + + + VisualGDB\VisualGDBCache + + \ No newline at end of file diff --git a/VisualGDB/genblitter/genblitter-Release.vgdbsettings b/VisualGDB/genblitter/genblitter-Release.vgdbsettings new file mode 100644 index 00000000..d05d7a56 --- /dev/null +++ b/VisualGDB/genblitter/genblitter-Release.vgdbsettings @@ -0,0 +1,142 @@ + + + Release + + + + MinGWUnixSlash + + + 192.168.1.152 + SSH + pi + + false + false + false + false + false + $(ProjectDir) + + + + Raspberry PI + com.visualgdb.raspberry_pi + C:\SysGCC\raspberry + false + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gcc.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-g++.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gdb.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-ar.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-objcopy.exe + C:\SysGCC\raspberry\bin\make.exe + + C:\SysGCC\raspberry\bin + + true + false + + + MinGWUnixSlash + + + genblitter.vcxproj + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + 1 + + + + + + false + false + false + false + false + false + false + false + false + + false + false + false + false + false + false + true + false + None + false + false + main + true + false + false + false + + + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + + $(TargetPath) + 2000 + + + false + /home/pi/projects//$(TargetFileName) + Local + false + false + Auto + true + false + + + + + + + + + + + + + Default + + + + true + + + + + Unknown + + true + + + VisualGDB\VisualGDBCache + \ No newline at end of file diff --git a/VisualGDB/genblitter/genblitter.vcxproj b/VisualGDB/genblitter/genblitter.vcxproj new file mode 100644 index 00000000..a1535f95 --- /dev/null +++ b/VisualGDB/genblitter/genblitter.vcxproj @@ -0,0 +1,75 @@ + + + + + Debug + VisualGDB + + + Release + VisualGDB + + + + 15.0 + {619EFB8C-E41A-4058-B085-1B8CD22692DD} + + + + + + + + + + Debug + C:\SysGCC\raspberry + com.visualgdb.raspberry_pi + 6.3.0/7.12/r1 + + + C:\SysGCC\raspberry + com.visualgdb.raspberry_pi + 6.3.0/7.12/r1 + + + + GNUPP14 + C:\SysGCC\raspberry\lib\gcc\arm-linux-gnueabihf\4.9\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\include\c++\4.9;C:\SysGCC\raspberry\arm-linux-gnueabihf\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\usr\include;..\..\src\include;..\..\src;..\..\src\osdep;%(ClCompile.AdditionalIncludeDirectories) + DEBUG=1;%(ClCompile.PreprocessorDefinitions) + + + ;%(Link.AdditionalLinkerInputs) + ;%(Link.LibrarySearchDirectories) + ;%(Link.AdditionalLibraryNames) + + + + + + GNUPP14 + C:\SysGCC\raspberry\lib\gcc\arm-linux-gnueabihf\4.9\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\include\c++\4.9;C:\SysGCC\raspberry\arm-linux-gnueabihf\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\usr\include;../../src/include;../../src;../../src/osdep;%(ClCompile.AdditionalIncludeDirectories) + NDEBUG=1;RELEASE=1;%(ClCompile.PreprocessorDefinitions) + + + ;%(Link.AdditionalLinkerInputs) + ;%(Link.LibrarySearchDirectories) + ;%(Link.AdditionalLibraryNames) + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualGDB/genblitter/genblitter.vcxproj.filters b/VisualGDB/genblitter/genblitter.vcxproj.filters new file mode 100644 index 00000000..fcb90c62 --- /dev/null +++ b/VisualGDB/genblitter/genblitter.vcxproj.filters @@ -0,0 +1,40 @@ + + + + + {afe8a49f-0586-4eea-b2ea-cc1c4567db36} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {4718ef87-4582-42a4-8469-11a35b5a4418} + h;hpp;hxx;hm;inl;inc;xsd + + + {e9ba1ae1-6dab-41af-8b75-7c41100a7fc9} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {c7346196-4f74-4afd-aa85-9da2661c7ab7} + *.vgdbsettings + + + + + VisualGDB settings + + + VisualGDB settings + + + + + Source files + + + Source files + + + + + + \ No newline at end of file diff --git a/VisualGDB/genblitter/genblitter.vcxproj.user b/VisualGDB/genblitter/genblitter.vcxproj.user new file mode 100644 index 00000000..be250787 --- /dev/null +++ b/VisualGDB/genblitter/genblitter.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/VisualGDB/genlinetoscr/Readme.txt b/VisualGDB/genlinetoscr/Readme.txt new file mode 100644 index 00000000..ff2f6f3c --- /dev/null +++ b/VisualGDB/genlinetoscr/Readme.txt @@ -0,0 +1,7 @@ +This tool generates the "linetoscr.cpp" file. + +Compile it for the target system (e.g. Raspberry) then run it there as: + +genlinetoscr > linetoscr.cpp + +Copy the generated file back into the "src" directory. \ No newline at end of file diff --git a/VisualGDB/genlinetoscr/genlinetoscr-Debug.vgdbsettings b/VisualGDB/genlinetoscr/genlinetoscr-Debug.vgdbsettings new file mode 100644 index 00000000..cc9c078f --- /dev/null +++ b/VisualGDB/genlinetoscr/genlinetoscr-Debug.vgdbsettings @@ -0,0 +1,169 @@ + + + Debug + + + + MinGWUnixSlash + + + 192.168.1.152 + SSH + pi + + false + false + false + false + false + $(ProjectDir) + + + + com.visualgdb.raspberry_pi + + 6.3.0 + 7.12 + 1 + + + + false + + C:\SysGCC\raspberry\bin + + false + + + MinGWUnixSlash + + Raspberry PI + com.visualgdb.raspberry_pi + C:\SysGCC\raspberry + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gcc.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-g++.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gdb.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-ar.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-objcopy.exe + C:\SysGCC\raspberry\bin\make.exe + false + + genlinetoscr.vcxproj + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + + 1 + true + + + + + + false + false + false + false + false + false + false + false + false + + false + false + false + false + false + false + true + false + None + false + false + main + true + false + false + false + 0 + + + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + + $(TargetPath) + 2000 + + + false + /home/pi/projects//$(TargetFileName) + Local + false + false + Auto + true + false + + + + + + + + + + + + + Default + + + + true + + + + + False + + + + + true + false + + Enabled + true + true + true + + + + + + false + + + VisualGDB\VisualGDBCache + + \ No newline at end of file diff --git a/VisualGDB/genlinetoscr/genlinetoscr-Release.vgdbsettings b/VisualGDB/genlinetoscr/genlinetoscr-Release.vgdbsettings new file mode 100644 index 00000000..4427ede4 --- /dev/null +++ b/VisualGDB/genlinetoscr/genlinetoscr-Release.vgdbsettings @@ -0,0 +1,142 @@ + + + Release + + + + MinGWUnixSlash + + + 192.168.1.152 + SSH + pi + + false + false + false + false + false + $(ProjectDir) + + + + Raspberry PI + com.visualgdb.raspberry_pi + C:\SysGCC\raspberry + false + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gcc.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-g++.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-gdb.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-ar.exe + C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-objcopy.exe + C:\SysGCC\raspberry\bin\make.exe + + C:\SysGCC\raspberry\bin + + true + false + + + MinGWUnixSlash + + + genlinetoscr.vcxproj + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + 1 + + + + + + false + false + false + false + false + false + false + false + false + + false + false + false + false + false + false + true + false + None + false + false + main + true + false + false + false + + + + + + LANG + en_US.UTF-8 + + + PATH + C:\SysGCC\raspberry\bin;%PATH% + + + + + $(TargetPath) + 2000 + + + false + /home/pi/projects//$(TargetFileName) + Local + false + false + Auto + true + false + + + + + + + + + + + + + Default + + + + true + + + + + Unknown + + true + + + VisualGDB\VisualGDBCache + \ No newline at end of file diff --git a/VisualGDB/genlinetoscr/genlinetoscr.vcxproj b/VisualGDB/genlinetoscr/genlinetoscr.vcxproj new file mode 100644 index 00000000..472bce97 --- /dev/null +++ b/VisualGDB/genlinetoscr/genlinetoscr.vcxproj @@ -0,0 +1,74 @@ + + + + + Debug + VisualGDB + + + Release + VisualGDB + + + + 15.0 + {883F2A00-8030-429B-AC7F-E930DDF9568F} + + + + + + + + + + Debug + C:\SysGCC\raspberry + com.visualgdb.raspberry_pi + 6.3.0/7.12/r1 + + + C:\SysGCC\raspberry + com.visualgdb.raspberry_pi + 6.3.0/7.12/r1 + + + + GNUPP14 + C:\SysGCC\raspberry\lib\gcc\arm-linux-gnueabihf\4.9\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\include\c++\4.9;C:\SysGCC\raspberry\arm-linux-gnueabihf\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\usr\include;../../src/include;../../src;../../src/osdep;%(ClCompile.AdditionalIncludeDirectories) + DEBUG=1;%(ClCompile.PreprocessorDefinitions) + + + ;%(Link.AdditionalLinkerInputs) + ;%(Link.LibrarySearchDirectories) + ;%(Link.AdditionalLibraryNames) + + + + + + GNUPP14 + C:\SysGCC\raspberry\lib\gcc\arm-linux-gnueabihf\4.9\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\include\c++\4.9;C:\SysGCC\raspberry\arm-linux-gnueabihf\include;C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\usr\include;../../src/include;../../src;../../src/osdep;%(ClCompile.AdditionalIncludeDirectories) + NDEBUG=1;RELEASE=1;%(ClCompile.PreprocessorDefinitions) + + + ;%(Link.AdditionalLinkerInputs) + ;%(Link.LibrarySearchDirectories) + ;%(Link.AdditionalLibraryNames) + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualGDB/genlinetoscr/genlinetoscr.vcxproj.filters b/VisualGDB/genlinetoscr/genlinetoscr.vcxproj.filters new file mode 100644 index 00000000..dc1e79f8 --- /dev/null +++ b/VisualGDB/genlinetoscr/genlinetoscr.vcxproj.filters @@ -0,0 +1,37 @@ + + + + + {19e139ec-d402-45d4-89fc-39f22443a95b} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {0a02e0a2-214b-4e9e-a7c5-0668ebf38e34} + h;hpp;hxx;hm;inl;inc;xsd + + + {30f92ef0-a24c-49e2-9e92-906dcef4d050} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {20bde34c-9e8e-42ee-83c1-c8c8143c7516} + *.vgdbsettings + + + + + VisualGDB settings + + + VisualGDB settings + + + + + Source files + + + + + + \ No newline at end of file diff --git a/VisualGDB/genlinetoscr/genlinetoscr.vcxproj.user b/VisualGDB/genlinetoscr/genlinetoscr.vcxproj.user new file mode 100644 index 00000000..be250787 --- /dev/null +++ b/VisualGDB/genlinetoscr/genlinetoscr.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/osdep/arm_helper.s b/src/osdep/arm_helper.s new file mode 100644 index 00000000..c1387345 --- /dev/null +++ b/src/osdep/arm_helper.s @@ -0,0 +1,97 @@ +@ Some functions and tests to increase performance in drawing.cpp and custom.cpp + +.arm + +.global copy_screen_8bit +.global copy_screen_16bit_swap +.global copy_screen_32bit_to_16bit + +.text + +.align 8 + + +@---------------------------------------------------------------- +@ copy_screen_8bit +@ +@ r0: uae_u8 *dst +@ r1: uae_u8 *src +@ r2: int bytes always a multiple of 64: even number of lines, number of pixel per line is multiple of 32 (320, 640, 800, 1024, 1152, 1280) +@ r3: uae_u32 *clut +@ +@ void copy_screen_8bit(uae_u8 *dst, uae_u8 *src, int bytes, uae_u32 *clut); +@ +@---------------------------------------------------------------- +copy_screen_8bit: + stmdb sp!, {r4-r6, lr} +copy_screen_8bit_loop: + pld [r1, #192] + mov lr, #64 +copy_screen_8bit_loop_2: + ldr r4, [r1], #4 + and r5, r4, #255 + ldr r6, [r3, r5, lsl #2] + lsr r5, r4, #8 + and r5, r5, #255 + strh r6, [r0], #2 + ldr r6, [r3, r5, lsl #2] + lsr r5, r4, #16 + and r5, r5, #255 + strh r6, [r0], #2 + ldr r6, [r3, r5, lsl #2] + lsr r5, r4, #24 + strh r6, [r0], #2 + ldr r6, [r3, r5, lsl #2] + subs lr, lr, #4 + strh r6, [r0], #2 + bgt copy_screen_8bit_loop_2 + subs r2, r2, #64 + bgt copy_screen_8bit_loop + ldmia sp!, {r4-r6, pc} + + +@---------------------------------------------------------------- +@ copy_screen_16bit_swap +@ +@ r0: uae_u8 *dst +@ r1: uae_u8 *src +@ r2: int bytes always a multiple of 128: even number of lines, 2 bytes per pixel, number of pixel per line is multiple of 32 (320, 640, 800, 1024, 1152, 1280) +@ +@ void copy_screen_16bit_swap(uae_u8 *dst, uae_u8 *src, int bytes); +@ +@---------------------------------------------------------------- +copy_screen_16bit_swap: +ldr r3, [r1], #4 +rev16 r3, r3 +str r3, [r0], #4 +subs r2, r2, #4 +bne copy_screen_16bit_swap +bx lr + + +@---------------------------------------------------------------- +@ copy_screen_32bit_to_16bit +@ +@ r0: uae_u8 *dst - Format (bits): rrrr rggg gggb bbbb +@ r1: uae_u8 *src - Format (bytes) in memory rgba +@ r2: int bytes +@ +@ void copy_screen_32bit_to_16bit(uae_u8 *dst, uae_u8 *src, int bytes); +@ +@---------------------------------------------------------------- +copy_screen_32bit_to_16bit: +stmdb sp!, {r4-r6, lr} +copy_screen_32bit_to_16bit_loop: +ldr r3, [r1], #4 +rev r3, r3 +lsr r4, r3, #27 +lsr r5, r3, #18 +and r5, r5, #63 +lsr r6, r3, #11 +and r6, r6, #31 +orr r6, r6, r5, lsl #5 +orr r6, r6, r4, lsl #11 +strh r6, [r0], #2 +subs r2, r2, #4 +bne copy_screen_32bit_to_16bit_loop +ldmia sp!, {r4-r6, pc}