diff --git a/.gitignore b/.gitignore index 69c0375e..dc40f3d6 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ Amiberry/VisualGDB/Debug/Amiberry Amiberry/VisualGDB/Release/Amiberry *.sqlite Amiberry/VisualGDB/Release-rpi2/Amiberry +*.ipch diff --git a/Amiberry/Amiberry-gles/Amiberry-gles-Debug.vgdbsettings b/Amiberry/Amiberry-gles/Amiberry-gles-Debug.vgdbsettings new file mode 100644 index 00000000..40763779 --- /dev/null +++ b/Amiberry/Amiberry-gles/Amiberry-gles-Debug.vgdbsettings @@ -0,0 +1,120 @@ + + + Debug + + + + MinGWUnixSlash + + + 192.168.1.152 + SSH + pi + + false + false + false + false + true + $(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 + + + Amiberry-gles.vcxproj + + + + 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 + + + $(TargetPath) + 2000 + + + false + /home/pi/projects/amiberry/$(TargetFileName) + Local + false + false + Auto + + true + + + + + + + + + + + + + Default + + + + true + + + + + Unknown + + true + + + VisualGDB\VisualGDBCache + \ No newline at end of file diff --git a/Amiberry/Amiberry-gles/Amiberry-gles-Release.vgdbsettings b/Amiberry/Amiberry-gles/Amiberry-gles-Release.vgdbsettings new file mode 100644 index 00000000..9375789f --- /dev/null +++ b/Amiberry/Amiberry-gles/Amiberry-gles-Release.vgdbsettings @@ -0,0 +1,131 @@ + + + Release + + + + MinGWUnixSlash + + + 192.168.1.152 + SSH + pi + + false + false + false + false + true + $(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 + + + Amiberry-gles.vcxproj + + + + 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/amiberry/$(TargetFileName) + Local + false + false + Auto + true + + + + + + + + + + + + + Default + + + + true + + + + + Unknown + + true + + + VisualGDB\VisualGDBCache + \ No newline at end of file diff --git a/Amiberry/Amiberry-gles/Amiberry-gles.vcxproj b/Amiberry/Amiberry-gles/Amiberry-gles.vcxproj new file mode 100644 index 00000000..716889e7 --- /dev/null +++ b/Amiberry/Amiberry-gles/Amiberry-gles.vcxproj @@ -0,0 +1,338 @@ + + + + + Debug + VisualGDB + + + Release + VisualGDB + + + + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E} + + + + + + + + + + Debug + C:\SysGCC\raspberry + + + C:\SysGCC\raspberry + + + + GNUPP14 + ../../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) + DEBUG=1;_REENTRANT;RASPBERRY;CAPSLOCK_DEBIAN_WORKAROUND;ARMV6T2;PICASSO96;USE_ARMNEON;CPU_arm;ARMV6_ASSEMBLY;PANDORA;WITH_INGAME_WARNING;USE_SDL;ROM_PATH_PREFIX=\"./\";DATA_PREFIX=\"./data/\";SAVE_PREFIX=\"./saves/\";GCCCONSTFUNC="__attribute__((const))";HAVE_GLES;SHADER_SUPPORT;%(ClCompile.PreprocessorDefinitions) + -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions) + + + ;%(Link.AdditionalLinkerInputs) + =/opt/vc/lib;%(Link.LibrarySearchDirectories) + bcm_host;SDL;pthread;m;z;SDL_image;png;rt;xml2;FLAC;mpg123;dl;SDL_ttf;guichan_sdl;guichan;EGL;GLESv2;%(Link.AdditionalLibraryNames) + + + + + + GNUPP14 + ../../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) + NDEBUG=1;RELEASE=1;_REENTRANT;RASPBERRY;CAPSLOCK_DEBIAN_WORKAROUND;ARMV6T2;PICASSO96;USE_ARMNEON;CPU_arm;ARMV6_ASSEMBLY;PANDORA;WITH_INGAME_WARNING;USE_SDL;ROM_PATH_PREFIX=\"./\";DATA_PREFIX=\"./data/\";SAVE_PREFIX=\"./saves/\";GCCCONSTFUNC="__attribute__((const))";HAVE_GLES;SHADER_SUPPORT;%(ClCompile.PreprocessorDefinitions) + -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard %(AdditionalOptions) + true + true + + + ;%(Link.AdditionalLinkerInputs) + =/opt/vc/lib;%(Link.LibrarySearchDirectories) + bcm_host;SDL;pthread;m;z;SDL_image;png;rt;xml2;FLAC;mpg123;dl;SDL_ttf;guichan_sdl;guichan;EGL;GLESv2;%(Link.AdditionalLibraryNames) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Amiberry/Amiberry-gles/Amiberry-gles.vcxproj.filters b/Amiberry/Amiberry-gles/Amiberry-gles.vcxproj.filters new file mode 100644 index 00000000..c767fd0c --- /dev/null +++ b/Amiberry/Amiberry-gles/Amiberry-gles.vcxproj.filters @@ -0,0 +1,930 @@ + + + + + {f7b1878b-1e90-4e7f-af6e-5bfbe0472379} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {500bf09f-2912-4a9b-99aa-45ca70a08d82} + h;hpp;hxx;hm;inl;inc;xsd + + + {f092da83-7fa0-4b6f-839e-b2fa5474affd} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {d4a7a442-40aa-47ca-962c-43f387907b11} + *.vgdbsettings + + + {17a34860-a02d-420b-b3ab-0f1db47cacb3} + + + {49446657-502d-4761-a17c-a7a3b8ba5151} + + + {b3b89d16-6020-44a0-9a26-c95b9bf085ca} + + + {8ad93770-58f5-41c3-bcb2-5ce63a5d0f10} + + + {936406c8-6881-47ea-af4b-dcfaab0c44c0} + + + {ac9827c0-2c36-4238-b3e3-4ef8e03a37d8} + + + {79b9a1ab-9dbf-4862-8fad-b1f794787428} + + + {c37d5944-1218-485d-b017-466f3b499ca2} + + + {9919a66e-283d-48c6-93f4-1d679849175c} + + + {7087c72a-65f3-47b2-9503-fb3dd54cee68} + + + {279ae879-655b-423b-8f77-2072a8bea3c1} + + + {53cbba1d-5bbc-4bcb-bea9-9fb79173ff23} + + + {ad1b8055-4cae-4662-93b2-94458518ff2d} + + + {ce4546be-2038-4107-a17f-d00050875d38} + + + {73862ad1-34b9-4143-9d71-cce93b99f154} + + + {7baf6f27-c7c2-4665-8490-b47a7e964a26} + + + {56b4de99-e470-4fcd-81c9-91d796c97b0e} + + + {da74b537-689c-48d8-b29c-888d9e726dfe} + + + {42b853e5-f34f-4d40-8b88-e60974fb012c} + + + {aa0398c7-efb1-475e-bba9-fe99057d4c89} + + + {d2a13290-1ea8-4356-9193-811d8c57dc27} + + + {471328d7-3386-4188-b818-b34529bd114f} + + + {4a2180c8-6990-49c5-b535-b075c7e0b005} + + + {ced2ce79-31b5-48b9-9842-d089717def57} + + + {6e336d18-7787-4211-9892-5432f6bc948f} + + + {7fbca5f1-5418-490c-914d-251adbcd6ea5} + + + {536fe3ed-8fd5-4e24-ae56-ba88d618fa62} + + + {1e3a52a0-7328-4533-b95f-37e3093d9193} + + + {e61172a9-1dcc-4fed-ba95-7803b8d8096c} + + + {1c9d7046-1d3f-43b0-8c65-b7761c437735} + + + {f90f25c8-8245-46c8-8523-dfee38f0ca0a} + + + {c980c564-8d4f-4bc1-8736-a4b08745765c} + + + + + VisualGDB settings + + + VisualGDB settings + + + Source files + + + Source files + + + Source files + + + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files + + + Source files\sd-sdl + + + Source files\od-gles + + + Source files\od-gles + + + Source files\od-gles + + + Source files\od-gles + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\gui + + + Source files\od-pandora\menu + + + Source files\md-pandora + + + Source files\jit + + + Source files\jit + + + Source files\jit + + + Source files\jit + + + Source files\archivers\zip + + + Source files\archivers\wrp + + + Source files\archivers\lzx + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\lha + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\dms + + + Source files\archivers\7z + + + Source files\archivers\7z + + + Source files\archivers\7z + + + Source files\archivers\7z + + + Source files\archivers\7z + + + Source files\archivers\7z + + + Source files\archivers\7z + + + Source files\archivers\7z\Archive\7z + + + Source files\archivers\7z\Archive\7z + + + Source files\archivers\7z\Archive\7z + + + Source files\archivers\7z\Archive\7z + + + Source files\archivers\7z\Archive\7z + + + Source files\archivers\7z\Archive\7z + + + + + Header files\od-gles + + + Header files\od-gles + + + Header files\od-gles + + + Header files\td-sdl + + + Header files\sd-pandora + + + Header files\od-pandora + + + Header files\od-pandora + + + Header files\od-pandora + + + Header files\od-pandora + + + Header files\od-pandora + + + Header files\od-pandora + + + Header files\od-pandora\gui + + + Header files\od-pandora\gui + + + Header files\od-pandora\gui + + + Header files\od-pandora\gui + + + Header files\od-pandora\gui + + + Header files\od-pandora\gui + + + Header files\od-pandora\gui + + + Header files\md-pandora + + + Header files\md-pandora + + + Header files\md-pandora + + + Header files\md-pandora + + + Header files\jit + + + Header files\jit + + + Header files\jit + + + Header files\jit + + + Header files\jit + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\include + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z + + + Header files\archivers\7z\Archive\7z + + + Header files\archivers\7z\Archive\7z + + + Header files\archivers\7z\Archive\7z + + + Header files\archivers\7z\Archive\7z + + + Header files\archivers\7z\Archive\7z + + + Header files\archivers\7z\Archive\7z + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\dms + + + Header files\archivers\lha + + + Header files\archivers\lha + + + Header files\archivers\wrp + + + Header files\archivers\zip + + + \ No newline at end of file diff --git a/Amiberry/Amiberry.sln b/Amiberry/Amiberry.sln index dc1d0757..2d8e4f51 100644 --- a/Amiberry/Amiberry.sln +++ b/Amiberry/Amiberry.sln @@ -4,22 +4,66 @@ 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 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Amiberry-gles", "Amiberry-gles\Amiberry-gles.vcxproj", "{AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|VisualGDB = Debug|VisualGDB + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|VisualGDB = Release|VisualGDB + Release|x64 = Release|x64 + Release|x86 = Release|x86 Release-rpi1|VisualGDB = Release-rpi1|VisualGDB + Release-rpi1|x64 = Release-rpi1|x64 + Release-rpi1|x86 = Release-rpi1|x86 Release-rpi2|VisualGDB = Release-rpi2|VisualGDB + Release-rpi2|x64 = Release-rpi2|x64 + Release-rpi2|x86 = Release-rpi2|x86 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}.Debug|x64.ActiveCfg = Debug|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Debug|x86.ActiveCfg = Debug|VisualGDB {D76BB09D-FF2A-4028-A065-421C430CD238}.Release|VisualGDB.ActiveCfg = Release|VisualGDB {D76BB09D-FF2A-4028-A065-421C430CD238}.Release|VisualGDB.Build.0 = Release|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Release|x64.ActiveCfg = Release|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Release|x86.ActiveCfg = Release|VisualGDB {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi1|VisualGDB.ActiveCfg = Release-rpi1|VisualGDB {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi1|VisualGDB.Build.0 = Release-rpi1|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi1|x64.ActiveCfg = Release-rpi1|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi1|x86.ActiveCfg = Release-rpi1|VisualGDB {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi2|VisualGDB.ActiveCfg = Release-rpi2|VisualGDB {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi2|VisualGDB.Build.0 = Release-rpi2|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi2|x64.ActiveCfg = Release-rpi2|VisualGDB + {D76BB09D-FF2A-4028-A065-421C430CD238}.Release-rpi2|x86.ActiveCfg = Release-rpi2|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Debug|VisualGDB.Build.0 = Debug|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Debug|x64.ActiveCfg = Debug|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Debug|x86.ActiveCfg = Debug|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release|VisualGDB.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release|VisualGDB.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release|x64.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release|x86.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|VisualGDB.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|VisualGDB.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|VisualGDB.Deploy.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|x64.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|x64.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|x64.Deploy.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|x86.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|x86.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi1|x86.Deploy.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|VisualGDB.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|VisualGDB.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|VisualGDB.Deploy.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|x64.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|x64.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|x64.Deploy.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|x86.ActiveCfg = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|x86.Build.0 = Release|VisualGDB + {AB3DAC01-999D-43CD-A9CD-4B2A16B6063E}.Release-rpi2|x86.Deploy.0 = Release|VisualGDB EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Amiberry/Amiberry/Amiberry-Debug.vgdbsettings b/Amiberry/Amiberry/Amiberry-Debug.vgdbsettings index c2c80147..c137fa0e 100644 --- a/Amiberry/Amiberry/Amiberry-Debug.vgdbsettings +++ b/Amiberry/Amiberry/Amiberry-Debug.vgdbsettings @@ -35,6 +35,7 @@ true true + false false diff --git a/Makefile b/Makefile index a5b38f71..e4956a1e 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,8 @@ else ifeq ($(PLATFORM),rpi1) else ifeq ($(PLATFORM),gles) CPU_FLAGS += -march=armv8-a -mfpu=neon-fp-armv8 -mfloat-abi=hard MORE_CFLAGS += -DARMV6T2 -DUSE_ARMNEON -DHAVE_GLES + # uncomment below to enable Shader support - might be slow on some systems + #MORE_CFLAGS += -DSHADER_SUPPORT LDFLAGS += -lEGL -lGLESv1_CM endif diff --git a/src/od-gles/gl.cpp b/src/od-gles/gl.cpp index 781c8199..2576c745 100644 --- a/src/od-gles/gl.cpp +++ b/src/od-gles/gl.cpp @@ -4,7 +4,7 @@ #include #include -#include +#include #include "gl_platform.h" #include "gl.h" @@ -84,8 +84,12 @@ int gl_init(void *display, void *window, int *quirks) static const EGLint context_attributes[] = { - EGL_CONTEXT_CLIENT_VERSION, 2, - EGL_NONE +#ifdef SHADER_SUPPORT + EGL_CONTEXT_CLIENT_VERSION, 2, +#else + EGL_CONTEXT_CLIENT_VERSION, 1, +#endif + EGL_NONE }; @@ -131,7 +135,6 @@ int gl_init(void *display, void *window, int *quirks) goto out; } -// ectxt = eglCreateContext(edpy, ecfg, EGL_NO_CONTEXT, NULL); ectxt = eglCreateContext(edpy, ecfg, EGL_NO_CONTEXT, context_attributes); if (ectxt == EGL_NO_CONTEXT) { printf("Unable to create EGL context (%x)\n", @@ -140,8 +143,9 @@ int gl_init(void *display, void *window, int *quirks) } eglMakeCurrent(edpy, esfc, esfc, ectxt); - - //glEnable(GL_TEXTURE_2D); // for old fixed-function pipeline +#ifndef SHADER_SUPPORT + glEnable(GL_TEXTURE_2D); // for old fixed-function pipeline +#endif //if (gl_have_error("glEnable(GL_TEXTURE_2D)")) goto out; glGenTextures(1, &texture_name); @@ -176,10 +180,11 @@ int gl_init(void *display, void *window, int *quirks) retval = 0; int shader_stuff_result; +#ifdef SHADER_SUPPORT shader_stuff_result = shader_stuff_init(); shader_stuff_result = shader_stuff_reload_shaders(); shader_stuff_result = shader_stuff_set_data(vertex_coords, texture_coords, texture_name); - +#endif out: free(tmp_texture_mem); return retval; @@ -191,6 +196,7 @@ int gl_flip(const void *fb, int w, int h) { static int old_w, old_h; +#ifdef SHADER_SUPPORT if (framecount % 60 == 0) { // printf("gl_flip() w: %d, h: %d\n", w, h); @@ -204,6 +210,7 @@ int gl_flip(const void *fb, int w, int h) } } +#endif framecount++; float floattime = (framecount * 0.04f); @@ -245,14 +252,16 @@ int gl_flip(const void *fb, int w, int h) return -1; } // if (fb != NULL) - // glVertexPointer(3, GL_FLOAT, 0, vertex_coords); - // if (gl_have_error("glVertexPointer")) return -1; - - // glTexCoordPointer(2, GL_FLOAT, 0, texture_coords); - // if (gl_have_error("glTexCoordPointer")) return -1; - +#ifdef SHADER_SUPPORT shader_stuff_frame(framecount, w, h, 800, 480); // TODO! hard-coded output size if (gl_have_error("use program")) return -1; +#else + glVertexPointer(3, GL_FLOAT, 0, vertex_coords); + if (gl_have_error("glVertexPointer")) return -1; + + glTexCoordPointer(2, GL_FLOAT, 0, texture_coords); + if (gl_have_error("glTexCoordPointer")) return -1; +#endif glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); // glDrawArrays(GL_TRIANGLE_FAN, 0, 4); diff --git a/src/od-gles/gl_platform.cpp b/src/od-gles/gl_platform.cpp index ac24594a..391b67d5 100644 --- a/src/od-gles/gl_platform.cpp +++ b/src/od-gles/gl_platform.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include "gl.h" #include "gl_platform.h" diff --git a/src/od-gles/gles_gfx.cpp b/src/od-gles/gles_gfx.cpp index 6ab735b7..404a6930 100644 --- a/src/od-gles/gles_gfx.cpp +++ b/src/od-gles/gles_gfx.cpp @@ -637,15 +637,15 @@ static void modesList (void) i = 0; while (DisplayModes[i].depth >= 0) { - write_log ("%d: %s (", i, DisplayModes[i].name); + write_log("%d: %s (", i, DisplayModes[i].name); j = 0; while (DisplayModes[i].refresh[j] > 0) { if (j > 0) - write_log (","); - write_log ("%d", DisplayModes[i].refresh[j]); + write_log(","); + write_log("%d", DisplayModes[i].refresh[j]); j++; } - write_log (")\n"); + write_log(")\n"); i++; } } @@ -668,7 +668,7 @@ void picasso_InitResolutions (void) Displays[0].name2 = my_strdup("Display"); md1 = Displays; - DisplayModes = md1->DisplayModes = (struct PicassoResolution*) xmalloc (sizeof (struct PicassoResolution) * MAX_PICASSO_MODES); + DisplayModes = md1->DisplayModes = xmalloc(struct PicassoResolution, MAX_PICASSO_MODES); for (i = 0; i < MAX_SCREEN_MODES && count < MAX_PICASSO_MODES; i++) { for(bitdepth = 16; bitdepth <= 32; bitdepth += 16) { int bit_unit = (bitdepth + 1) & 0xF8; diff --git a/src/od-gles/shader_stuff.cpp b/src/od-gles/shader_stuff.cpp index c6f691b2..3012ffd2 100644 --- a/src/od-gles/shader_stuff.cpp +++ b/src/od-gles/shader_stuff.cpp @@ -4,7 +4,7 @@ #include -#include +#include #include "shader_stuff.h" @@ -39,8 +39,9 @@ typedef struct STATE_T EGLDisplay display; EGLSurface surface; EGLContext context; - +#ifdef VCOS_VERSION EGL_DISPMANX_WINDOW_T nativewindow; +#endif UserData *user_data; void (*draw_func) (struct STATE_T* ); } STATE_T; diff --git a/src/sd-sdl/sound_sdl_new.cpp b/src/sd-sdl/sound_sdl_new.cpp index 4dc423e0..a0fd38d3 100644 --- a/src/sd-sdl/sound_sdl_new.cpp +++ b/src/sd-sdl/sound_sdl_new.cpp @@ -150,7 +150,8 @@ static int pandora_start_sound(int rate, int bits, int stereo) // init sem, start sound thread #ifdef DEBUG printf("starting sound thread..\n"); -#endif init_soundbuffer_usage(); +#endif + init_soundbuffer_usage(); ret = sem_init(&sound_sem, 0, 0); sem_init(&sound_out_sem, 0, 0); if (ret != 0) printf("sem_init() failed: %i, errno=%i\n", ret, errno); @@ -194,17 +195,28 @@ static int pandora_start_sound(int rate, int bits, int stereo) // this is meant to be called only once on exit void pandora_stop_sound(void) { + int valuesem; if (sound_thread_exit) printf("don't call pandora_stop_sound more than once!\n"); + SDL_PauseAudio (1); if (sound_thread_active) { #ifdef DEBUG printf("stopping sound thread..\n"); #endif sound_thread_exit = 1; - sem_post(&sound_sem); + sem_getvalue(&sound_sem,&valuesem); + while (valuesem == 0) + { + sem_post(&sound_sem); + usleep(200*1000); + sem_getvalue(&sound_sem,&valuesem); + } } - SDL_PauseAudio(1); + sound_thread_exit = 0; + SDL_CloseAudio(); + sem_destroy(&sound_sem); + sem_destroy(&sound_out_sem); } void finish_sound_buffer(void)