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}