Breakpoint will happen in case of writing at unknown memory location
authorJean-Paul Mari <djipi.mari@gmail.com>
Thu, 30 Aug 2018 00:57:33 +0000 (20:57 -0400)
committerJean-Paul Mari <djipi.mari@gmail.com>
Thu, 30 Aug 2018 00:57:33 +0000 (20:57 -0400)
Win-VS2017/virtualjaguar.vcxproj
docs/vj_ReleaseNotes.txt
src/gui/mainwin.cpp
src/gui/profile.cpp
src/jaguar.cpp
src/m68000/m68kinterface.c
src/m68000/m68kinterface.h

index 0f66a79..80c897b 100644 (file)
     <None Include="..\docs\virtualjaguar.1" />\r
     <None Include="..\docs\WHATSNEW" />\r
     <None Include="..\res\alpine-file.png">\r
     <None Include="..\docs\virtualjaguar.1" />\r
     <None Include="..\docs\WHATSNEW" />\r
     <None Include="..\res\alpine-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\blur-off.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\blur-off.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\cart-blank.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\cart-blank.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\compact-disc.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\compact-disc.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\controller.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\controller.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\frame-advance.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\frame-advance.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\fullscreen.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\fullscreen.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\generic.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\generic.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\help.html">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\help.html">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\homebrew-file.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\homebrew-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\insert.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\insert.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\label-blank.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\label-blank.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\ntsc.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\ntsc.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pal.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pal.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pause-off.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pause-off.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pause-on.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\pause-on.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-off.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-off.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-on-green.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-on-green.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-on-red.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\power-on-red.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\skunkboard-file.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\skunkboard-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\software.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\software.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\test-pattern-pal.jpg">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\test-pattern-pal.jpg">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\test-pattern.jpg">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\test-pattern.jpg">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-68k-dis.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-68k-dis.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-cpu.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-cpu.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-memory.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-memory.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-op.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-op.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-risc-dis.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\tool-risc-dis.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\unknown-file.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\unknown-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\upper-left.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\upper-left.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\upper-right.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\upper-right.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <CustomBuild Include="..\src\gui\virtualjaguar.qrc">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <CustomBuild Include="..\src\gui\virtualjaguar.qrc">\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>\r
     </CustomBuild>\r
     <None Include="..\res\vj-icon.png">\r
       <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>\r
     </CustomBuild>\r
     <None Include="..\res\vj-icon.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\vj_title_small.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\vj_title_small.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\wrench.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\wrench.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom100.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom100.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom200.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom200.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom300.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
     <None Include="..\res\zoom300.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\ELF-file.png">\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\ELF-file.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\StepOver.png">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\StepOver.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\StepInto.png">\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\StepInto.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\Restart.png">\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\Restart.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\Local.png">\r
   </ItemGroup>\r
   <ItemGroup>\r
     <None Include="..\res\Local.png">\r
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>\r
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
     </None>\r
   </ItemGroup>\r
   <ItemGroup>\r
index 04fe4ee..db03424 100644 (file)
@@ -7,8 +7,8 @@ Release 4 (TBD)
 4) Switch to SDL 1.2.15 static library 64bits for VS 2017\r
 5) Local variables window displays values from function's parameters\r
 6) Fixed the typedef's name display in Local and Watch variables window\r
 4) Switch to SDL 1.2.15 static library 64bits for VS 2017\r
 5) Local variables window displays values from function's parameters\r
 6) Fixed the typedef's name display in Local and Watch variables window\r
-7) ROM cartridge writing detection follow the alpine "allow writes to cartridge rom"'s flag check\r
--- Breakpoint can now occur in the case of a ROM cartridge writing\r
+7) Breakpoint may now occur in case of a ROM cartridge writing\r
+-- ROM cartridge writing detection follow the alpine "allow writes to cartridge rom"'s flag check\r
 -- Alert box will display a message with possibility to pass or not the breakpoint only if this is related to a 8 or 16 bits ROM access\r
 8) Local variables window detects now if a variable is used or not by the code\r
 9) The address provided in the memory window is now verified to prevent crash\r
 -- Alert box will display a message with possibility to pass or not the breakpoint only if this is related to a 8 or 16 bits ROM access\r
 8) Local variables window detects now if a variable is used or not by the code\r
 9) The address provided in the memory window is now verified to prevent crash\r
@@ -21,6 +21,9 @@ Release 4 (TBD)
 -- Allow the up/down navigation on the SP (Stack) browser\r
 -- Restart function cleans-up the SP (Stack) browser and the heap allocator system\r
 11) Fixed the up navigation on the memory window\r
 -- Allow the up/down navigation on the SP (Stack) browser\r
 -- Restart function cleans-up the SP (Stack) browser and the heap allocator system\r
 11) Fixed the up navigation on the memory window\r
+12) Added some log information for the emulator initialisations\r
+13) Breakpoint will happen in case of writing at unknown memory location\r
+-- Alert box will display a message and then code will stop\r
 \r
 Release 3 (13th November 2017)\r
 ------------------------------\r
 \r
 Release 3 (13th November 2017)\r
 ------------------------------\r
@@ -131,6 +134,7 @@ Known issues
 9) The emulator needs to be restarted in case of keybindings changes\r
 10) In the case of a ROM cartridge writing, and with occuring breakpoint, the PC pointer will point at the next instruction and not at the instruction causing the breakpoint\r
 11) Emulator will crash in case of wrong address value provided in the memory browser\r
 9) The emulator needs to be restarted in case of keybindings changes\r
 10) In the case of a ROM cartridge writing, and with occuring breakpoint, the PC pointer will point at the next instruction and not at the instruction causing the breakpoint\r
 11) Emulator will crash in case of wrong address value provided in the memory browser\r
+12) The RAM access log is limited to the 2MB\r
 \r
 Cosmetic / UX issues\r
 ====================\r
 \r
 Cosmetic / UX issues\r
 ====================\r
index 0bbf2df..2e6552c 100644 (file)
@@ -145,6 +145,8 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
        //      setCentralWidget(mainWindowCentrale);\r
        //}\r
 \r
        //      setCentralWidget(mainWindowCentrale);\r
        //}\r
 \r
+       WriteLog("Window creation start\n");\r
+\r
        // video output\r
        videoWidget = new GLWidget(this);\r
        videoWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
        // video output\r
        videoWidget = new GLWidget(this);\r
        videoWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);\r
@@ -251,8 +253,8 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
        connect(powerAct, SIGNAL(triggered()), this, SLOT(TogglePowerState()));\r
 \r
        QIcon pauseIcon;\r
        connect(powerAct, SIGNAL(triggered()), this, SLOT(TogglePowerState()));\r
 \r
        QIcon pauseIcon;\r
-       pauseIcon.addFile(":/res/pause-off", QSize(), QIcon::Normal, QIcon::Off);\r
-       pauseIcon.addFile(":/res/pause-on", QSize(), QIcon::Normal, QIcon::On);\r
+       pauseIcon.addFile(":/res/pause-off.png", QSize(), QIcon::Normal, QIcon::Off);\r
+       pauseIcon.addFile(":/res/pause-on.png", QSize(), QIcon::Normal, QIcon::On);\r
        pauseAct = new QAction(pauseIcon, tr("Pause"), this);\r
        pauseAct->setStatusTip(tr("Toggles the running state"));\r
        pauseAct->setCheckable(true);\r
        pauseAct = new QAction(pauseIcon, tr("Pause"), this);\r
        pauseAct->setStatusTip(tr("Toggles the running state"));\r
        pauseAct->setCheckable(true);\r
@@ -614,7 +616,11 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
        // Do this in case original size isn't correct (mostly for the first-run case)\r
        ResizeMainWindow();\r
 \r
        // Do this in case original size isn't correct (mostly for the first-run case)\r
        ResizeMainWindow();\r
 \r
-       // Create our test pattern bitmaps\r
+       WriteLog("Window creation done\n");\r
+\r
+       // Create our test pattern NTSC bitmap\r
+       WriteLog("Test pattern 1 bitmap\n");\r
+\r
        QImage tempImg(":/res/test-pattern.jpg");\r
        QImage tempImgScaled = tempImg.scaled(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT_PAL, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);\r
 \r
        QImage tempImg(":/res/test-pattern.jpg");\r
        QImage tempImgScaled = tempImg.scaled(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT_PAL, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);\r
 \r
@@ -629,7 +635,10 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false),
                }\r
        }\r
 \r
                }\r
        }\r
 \r
-       QImage tempImg2(":/res/test-pattern-pal");\r
+       // Create our test pattern PAL bitmap\r
+       WriteLog("Test pattern 2 bitmap\n");\r
+\r
+       QImage tempImg2(":/res/test-pattern-pal.jpg");\r
        QImage tempImgScaled2 = tempImg2.scaled(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT_PAL, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);\r
 \r
        for(uint32_t y=0; y<VIRTUAL_SCREEN_HEIGHT_PAL; y++)\r
        QImage tempImgScaled2 = tempImg2.scaled(VIRTUAL_SCREEN_WIDTH, VIRTUAL_SCREEN_HEIGHT_PAL, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);\r
 \r
        for(uint32_t y=0; y<VIRTUAL_SCREEN_HEIGHT_PAL; y++)\r
@@ -1762,6 +1771,8 @@ void MainWin::ReadSettings(void)
        vjs.p2KeyBindings[BUTTON_s] = settings.value("p2k_star", Qt::Key_Asterisk).toInt();\r
 #endif\r
 \r
        vjs.p2KeyBindings[BUTTON_s] = settings.value("p2k_star", Qt::Key_Asterisk).toInt();\r
 #endif\r
 \r
+       WriteLog("Read setting = Done\n");\r
+\r
        ReadProfiles(&settings);\r
 }\r
 \r
        ReadProfiles(&settings);\r
 }\r
 \r
@@ -1899,6 +1910,8 @@ void MainWin::ReadUISettings(void)
        }\r
 \r
        settings.endGroup();\r
        }\r
 \r
        settings.endGroup();\r
+\r
+       WriteLog("Read UI setting = Done\n");\r
 }\r
 \r
 \r
 }\r
 \r
 \r
index 9b547ef..a0f8245 100644 (file)
@@ -147,6 +147,8 @@ printf("Setting up default profile...\n");
                for(int i=0; i<21; i++)
                        profile[0].map[i] = defaultMap[i];
        }
                for(int i=0; i<21; i++)
                        profile[0].map[i] = defaultMap[i];
        }
+
+       WriteLog("Read profiles = Done\n");
 }
 
 
 }
 
 
index d3e3ec9..46c5eaa 100644 (file)
@@ -1041,12 +1041,15 @@ void    M68K_Debughalt(void)
 #endif
 
 
 #endif
 
 
+// 
 unsigned int m68k_read_memory_8(unsigned int address)
 {
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
 unsigned int m68k_read_memory_8(unsigned int address)
 {
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
+       {
                M68KDebugHalt();
                M68KDebugHalt();
+       }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
@@ -1069,22 +1072,51 @@ unsigned int m68k_read_memory_8(unsigned int address)
 
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 1)))
 
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 1)))
+       {
                retVal = jaguarMainRAM[address];
                retVal = jaguarMainRAM[address];
+       }
 //     else if ((address >= 0x800000) && (address <= 0xDFFFFF))
 //     else if ((address >= 0x800000) && (address <= 0xDFFFFF))
-       else if ((address >= 0x800000) && (address <= 0xDFFEFF))
-               retVal = jaguarMainROM[address - 0x800000];
-       else if ((address >= 0xE00000) && (address <= 0xE3FFFF))
-//             retVal = jaguarBootROM[address - 0xE00000];
-//             retVal = jaguarDevBootROM1[address - 0xE00000];
-               retVal = jagMemSpace[address];
-       else if ((address >= 0xDFFF00) && (address <= 0xDFFFFF))
-               retVal = CDROMReadByte(address);
-       else if ((address >= 0xF00000) && (address <= 0xF0FFFF))
-               retVal = TOMReadByte(address, M68K);
-       else if ((address >= 0xF10000) && (address <= 0xF1FFFF))
-               retVal = JERRYReadByte(address, M68K);
        else
        else
-               retVal = jaguar_unknown_readbyte(address, M68K);
+       {
+               if ((address >= 0x800000) && (address <= 0xDFFEFF))
+               {
+                       retVal = jaguarMainROM[address - 0x800000];
+               }
+               else
+               {
+                       if ((address >= 0xE00000) && (address <= 0xE3FFFF))
+                       {
+                               //              retVal = jaguarBootROM[address - 0xE00000];
+                               //              retVal = jaguarDevBootROM1[address - 0xE00000];
+                               retVal = jagMemSpace[address];
+                       }
+                       else
+                       {
+                               if ((address >= 0xDFFF00) && (address <= 0xDFFFFF))
+                               {
+                                       retVal = CDROMReadByte(address);
+                               }
+                               else
+                               {
+                                       if ((address >= 0xF00000) && (address <= 0xF0FFFF))
+                                       {
+                                               retVal = TOMReadByte(address, M68K);
+                                       }
+                                       else
+                                       {
+                                               if ((address >= 0xF10000) && (address <= 0xF1FFFF))
+                                               {
+                                                       retVal = JERRYReadByte(address, M68K);
+                                               }
+                                               else
+                                               {
+                                                       retVal = jaguar_unknown_readbyte(address, M68K);
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
 
 //if (address >= 0x2800 && address <= 0x281F)
 //     WriteLog("M68K: Read byte $%02X at $%08X [PC=%08X]\n", retVal, address, m68k_get_reg(NULL, M68K_REG_PC));
 
 //if (address >= 0x2800 && address <= 0x281F)
 //     WriteLog("M68K: Read byte $%02X at $%08X [PC=%08X]\n", retVal, address, m68k_get_reg(NULL, M68K_REG_PC));
@@ -1179,32 +1211,60 @@ unsigned int m68k_read_memory_16(unsigned int address)
 
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 2)))
 
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 2)))
-//             retVal = (jaguar_mainRam[address] << 8) | jaguar_mainRam[address+1];
+       {
+               //              retVal = (jaguar_mainRam[address] << 8) | jaguar_mainRam[address+1];
                retVal = GET16(jaguarMainRAM, address);
                retVal = GET16(jaguarMainRAM, address);
+       }
 //     else if ((address >= 0x800000) && (address <= 0xDFFFFE))
 //     else if ((address >= 0x800000) && (address <= 0xDFFFFE))
-       else if ((address >= 0x800000) && (address <= 0xDFFEFE))
+       else
        {
        {
-               // Memory Track reading...
-               if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
+               if ((address >= 0x800000) && (address <= 0xDFFEFE))
                {
                {
-                       retVal = MTReadWord(address);
+                       // Memory Track reading...
+                       if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
+                       {
+                               retVal = MTReadWord(address);
+                       }
+                       else
+                       {
+                               retVal = (jaguarMainROM[address - 0x800000] << 8) | jaguarMainROM[address - 0x800000 + 1];
+                       }
                }
                else
                }
                else
-                       retVal = (jaguarMainROM[address - 0x800000] << 8)
-                               | jaguarMainROM[address - 0x800000 + 1];
-       }
-       else if ((address >= 0xE00000) && (address <= 0xE3FFFE))
-//             retVal = (jaguarBootROM[address - 0xE00000] << 8) | jaguarBootROM[address - 0xE00000 + 1];
-//             retVal = (jaguarDevBootROM1[address - 0xE00000] << 8) | jaguarDevBootROM1[address - 0xE00000 + 1];
-               retVal = (jagMemSpace[address] << 8) | jagMemSpace[address + 1];
-       else if ((address >= 0xDFFF00) && (address <= 0xDFFFFE))
-               retVal = CDROMReadWord(address, M68K);
-       else if ((address >= 0xF00000) && (address <= 0xF0FFFE))
-               retVal = TOMReadWord(address, M68K);
-       else if ((address >= 0xF10000) && (address <= 0xF1FFFE))
-               retVal = JERRYReadWord(address, M68K);
-       else
-               retVal = jaguar_unknown_readword(address, M68K);
+               {
+                       if ((address >= 0xE00000) && (address <= 0xE3FFFE))
+                       {
+                               //              retVal = (jaguarBootROM[address - 0xE00000] << 8) | jaguarBootROM[address - 0xE00000 + 1];
+                               //              retVal = (jaguarDevBootROM1[address - 0xE00000] << 8) | jaguarDevBootROM1[address - 0xE00000 + 1];
+                               retVal = (jagMemSpace[address] << 8) | jagMemSpace[address + 1];
+                       }
+                       else
+                       {
+                               if ((address >= 0xDFFF00) && (address <= 0xDFFFFE))
+                               {
+                                       retVal = CDROMReadWord(address, M68K);
+                               }
+                               else
+                               {
+                                       if ((address >= 0xF00000) && (address <= 0xF0FFFE))
+                                       {
+                                               retVal = TOMReadWord(address, M68K);
+                                       }
+                                       else
+                                       {
+                                               if ((address >= 0xF10000) && (address <= 0xF1FFFE))
+                                               {
+                                                       retVal = JERRYReadWord(address, M68K);
+                                               }
+                                               else
+                                               {
+                                                       retVal = jaguar_unknown_readword(address, M68K);
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
 
 //if (address >= 0xF1B000 && address <= 0xF1CFFF)
 //     WriteLog("M68K: Read word $%04X at $%08X [PC=%08X]\n", retVal, address, m68k_get_reg(NULL, M68K_REG_PC));
 
 //if (address >= 0xF1B000 && address <= 0xF1CFFF)
 //     WriteLog("M68K: Read word $%04X at $%08X [PC=%08X]\n", retVal, address, m68k_get_reg(NULL, M68K_REG_PC));
@@ -1226,7 +1286,9 @@ unsigned int m68k_read_memory_32(unsigned int address)
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
+       {
                M68KDebugHalt();
                M68KDebugHalt();
+       }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
@@ -1243,9 +1305,13 @@ unsigned int m68k_read_memory_32(unsigned int address)
        {
                // Memory Track reading...
                if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
        {
                // Memory Track reading...
                if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
+               {
                        retVal = MTReadLong(address);
                        retVal = MTReadLong(address);
+               }
                else
                else
+               {
                        retVal = GET32(jaguarMainROM, address - 0x800000);
                        retVal = GET32(jaguarMainROM, address - 0x800000);
+               }
 
                return retVal;
        }
 
                return retVal;
        }
@@ -1257,13 +1323,29 @@ unsigned int m68k_read_memory_32(unsigned int address)
 }
 
 
 }
 
 
+//
+bool m68k_write_unknown_alert(unsigned int address, char *bits, unsigned int value)
+{
+       QString msg;
+       QMessageBox msgBox;
+
+       msg.sprintf("$%06x: Writing at this unknown memory location $%06x with a (%s bits) value of $%0x", pcQueue[pcQPtr ? (pcQPtr - 1) : 0x3FF], address, bits, value);
+       msgBox.setText(msg);
+       msgBox.setStandardButtons(QMessageBox::Cancel);
+       msgBox.setDefaultButton(QMessageBox::Cancel);
+       msgBox.exec();
+       return M68KDebugHalt();
+}
+
+
 // 
 // 
-void m68k_write_memory_alert(unsigned int address, char *bits, unsigned int value)
+bool m68k_write_cartridge_alert(unsigned int address, char *bits, unsigned int value)
 {
        QString msg;
 {
        QString msg;
-       msg.sprintf("ROM cartridge writing detection, from $%06x, at $%06x with a (%s) value of $%0x", m68k_get_reg(NULL, M68K_REG_PC), address, bits, value);
-#if 1
        QMessageBox msgBox;
        QMessageBox msgBox;
+
+       msg.sprintf("$%06x: Writing at this ROM cartridge location $%06x with a (%s bits) value of $%0x", pcQueue[pcQPtr ? (pcQPtr - 1) : 0x3FF], address, bits, value);
+#if 1
        msgBox.setText(msg);
 
        if (!M68KDebugHaltStatus() && !strstr(bits, "32"))
        msgBox.setText(msg);
 
        if (!M68KDebugHaltStatus() && !strstr(bits, "32"))
@@ -1286,17 +1368,53 @@ void m68k_write_memory_alert(unsigned int address, char *bits, unsigned int valu
 
        if (retVal == QMessageBox::Ok)
        {
 
        if (retVal == QMessageBox::Ok)
        {
-               return;
+               return false;
        }
        else
        {
        }
        else
        {
-               M68KDebugHalt();
+               return M68KDebugHalt();
        }
 }
 
 
        }
 }
 
 
+// 
+bool m68k_write_memory_check(unsigned int address, char *bits, unsigned int value)
+{
+#ifdef ALPINE_FUNCTIONS
+       // Check if breakpoint on memory is active, and deal with it
+       if (bpmActive && (address == bpmAddress1))
+       {
+               return M68KDebugHalt();
+       }
+       else
+#endif
+       {
+               // Rom writing authorisation detection
+               if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xDFFF00)))
+               {
+                       return m68k_write_cartridge_alert(address, bits, value);
+               }
+               else
+               {
+                       //if ((address & 0xFF000000))
+                       //{
+                       //      return m68k_write_unknown_alert(address, bits, value);
+                       //}
+                       //else
+                       //{
+                               return false;
+                       //}
+               }
+       }
+}
+
+
+// 
 void m68k_write_memory_8(unsigned int address, unsigned int value)
 {
 void m68k_write_memory_8(unsigned int address, unsigned int value)
 {
+#if 1
+       m68k_write_memory_check(address, "8", value);
+#else
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && (address == bpmAddress1))
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && (address == bpmAddress1))
@@ -1304,17 +1422,18 @@ void m68k_write_memory_8(unsigned int address, unsigned int value)
                M68KDebugHalt();
        }
        else
                M68KDebugHalt();
        }
        else
+#endif
        {
                // Rom writing authorisation detection
                if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
                {
        {
                // Rom writing authorisation detection
                if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
                {
-                       m68k_write_memory_alert(address, "8 bits", value);
+                       m68k_write_cartridge_alert(address, "8", value);
                }
        }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
                }
        }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
-       address &= 0x00FFFFFF;
+       //address &= 0x00FFFFFF;
 #ifdef CPU_DEBUG_MEMORY
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= 0x1FFFFF))
 #ifdef CPU_DEBUG_MEMORY
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= 0x1FFFFF))
@@ -1347,23 +1466,49 @@ void m68k_write_memory_8(unsigned int address, unsigned int value)
 #ifndef USE_NEW_MMU
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 1)))
 #ifndef USE_NEW_MMU
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= (vjs.DRAM_size - 1)))
+       {
                jaguarMainRAM[address] = value;
                jaguarMainRAM[address] = value;
-       else if ((address >= 0xDFFF00) && (address <= 0xDFFFFF))
-               CDROMWriteByte(address, value, M68K);
-       else if ((address >= 0xF00000) && (address <= 0xF0FFFF))
-               TOMWriteByte(address, value, M68K);
-       else if ((address >= 0xF10000) && (address <= 0xF1FFFF))
-               JERRYWriteByte(address, value, M68K);
+       }
        else
        else
-               jaguar_unknown_writebyte(address, value, M68K);
+       {
+               if ((address >= 0xDFFF00) && (address <= 0xDFFFFF))
+               {
+                       CDROMWriteByte(address, value, M68K);
+               }
+               else
+               {
+                       if ((address >= 0xF00000) && (address <= 0xF0FFFF))
+                       {
+                               TOMWriteByte(address, value, M68K);
+                       }
+                       else
+                       {
+                               if ((address >= 0xF10000) && (address <= 0xF1FFFF))
+                               {
+                                       JERRYWriteByte(address, value, M68K);
+                               }
+                               else
+                               {
+                                       jaguar_unknown_writebyte(address, value, M68K);
+                               }
+                       }
+               }
+       }
 #else
        MMUWrite8(address, value, M68K);
 #endif
 }
 
 
 #else
        MMUWrite8(address, value, M68K);
 #endif
 }
 
 
+// 
 void m68k_write_memory_16(unsigned int address, unsigned int value)
 {
 void m68k_write_memory_16(unsigned int address, unsigned int value)
 {
+#if 1
+       if (!M68KDebugHaltStatus())
+       {
+               m68k_write_memory_check(address, "16", value);
+       }
+#else
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
@@ -1371,20 +1516,21 @@ void m68k_write_memory_16(unsigned int address, unsigned int value)
                M68KDebugHalt();
        }
        else
                M68KDebugHalt();
        }
        else
+#endif
        {
                // Rom writing authorisation detection
                if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
                {
                        if (!M68KDebugHaltStatus())
                        {
        {
                // Rom writing authorisation detection
                if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
                {
                        if (!M68KDebugHaltStatus())
                        {
-                               m68k_write_memory_alert(address, "16 bits", value);
+                               m68k_write_cartridge_alert(address, "16", value);
                        }
                }
        }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
                        }
                }
        }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
-       address &= 0x00FFFFFF;
+       //address &= 0x00FFFFFF;
 #ifdef CPU_DEBUG_MEMORY
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= 0x1FFFFE))
 #ifdef CPU_DEBUG_MEMORY
        // Note that the Jaguar only has 2M of RAM, not 4!
        if ((address >= 0x000000) && (address <= 0x1FFFFE))
@@ -1450,25 +1596,45 @@ if (address == 0xF02110)
                SET16(jaguarMainRAM, address, value);
        }
        // Memory Track device writes....
                SET16(jaguarMainRAM, address, value);
        }
        // Memory Track device writes....
-       else if ((address >= 0x800000) && (address <= 0x87FFFE))
-       {
-               if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
-                       MTWriteWord(address, value);
-       }
-       else if ((address >= 0xDFFF00) && (address <= 0xDFFFFE))
-               CDROMWriteWord(address, value, M68K);
-       else if ((address >= 0xF00000) && (address <= 0xF0FFFE))
-               TOMWriteWord(address, value, M68K);
-       else if ((address >= 0xF10000) && (address <= 0xF1FFFE))
-               JERRYWriteWord(address, value, M68K);
        else
        {
        else
        {
-               jaguar_unknown_writeword(address, value, M68K);
+               if ((address >= 0x800000) && (address <= 0x87FFFE))
+               {
+                       if (((TOMGetMEMCON1() & 0x0006) == (2 << 1)) && (jaguarMainROMCRC32 == 0xFDF37F47))
+                       {
+                               MTWriteWord(address, value);
+                       }
+               }
+               else
+               {
+                       if ((address >= 0xDFFF00) && (address <= 0xDFFFFE))
+                       {
+                               CDROMWriteWord(address, value, M68K);
+                       }
+                       else
+                       {
+                               if ((address >= 0xF00000) && (address <= 0xF0FFFE))
+                               {
+                                       TOMWriteWord(address, value, M68K);
+                               }
+                               else
+                               {
+                                       if ((address >= 0xF10000) && (address <= 0xF1FFFE))
+                                       {
+                                               JERRYWriteWord(address, value, M68K);
+                                       }
+                                       else
+                                       {
+                                               jaguar_unknown_writeword(address, value, M68K);
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
-               WriteLog("\tA0=%08X, A1=%08X, D0=%08X, D1=%08X\n",
-                       m68k_get_reg(NULL, M68K_REG_A0), m68k_get_reg(NULL, M68K_REG_A1),
-                       m68k_get_reg(NULL, M68K_REG_D0), m68k_get_reg(NULL, M68K_REG_D1));
+                                               WriteLog("\tA0=%08X, A1=%08X, D0=%08X, D1=%08X\n",
+                                                       m68k_get_reg(NULL, M68K_REG_A0), m68k_get_reg(NULL, M68K_REG_A1),
+                                                       m68k_get_reg(NULL, M68K_REG_D0), m68k_get_reg(NULL, M68K_REG_D1));
 #endif
 #endif
+                                       }
+                               }
+                       }
+               }
        }
 #else
        MMUWrite16(address, value, M68K);
        }
 #else
        MMUWrite16(address, value, M68K);
@@ -1476,8 +1642,12 @@ if (address == 0xF02110)
 }
 
 
 }
 
 
+// 
 void m68k_write_memory_32(unsigned int address, unsigned int value)
 {
 void m68k_write_memory_32(unsigned int address, unsigned int value)
 {
+#if 1
+       m68k_write_memory_check(address, "32", value);
+#else
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
 #ifdef ALPINE_FUNCTIONS
        // Check if breakpoint on memory is active, and deal with it
        if (bpmActive && address == bpmAddress1)
@@ -1485,17 +1655,18 @@ void m68k_write_memory_32(unsigned int address, unsigned int value)
                M68KDebugHalt();
        }
        else
                M68KDebugHalt();
        }
        else
+#endif
        {
                // Rom writing authorisation detection
                if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
                {
        {
                // Rom writing authorisation detection
                if (!vjs.allowWritesToROM && ((address >= 0x800000) && (address < 0xe00000)))
                {
-                       m68k_write_memory_alert(address, "32 bits", value);
+                       m68k_write_cartridge_alert(address, "32", value);
                }
        }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
                }
        }
 #endif
 
        // Musashi does this automagically for you, UAE core does not :-P
-       address &= 0x00FFFFFF;
+       //address &= 0x00FFFFFF;
 /*if (address == 0x4E00)
        WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
 //WriteLog("--> [WM32]\n");
 /*if (address == 0x4E00)
        WriteLog("M68K: Writing %02X at %08X, PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC));//*/
 //WriteLog("--> [WM32]\n");
@@ -1617,6 +1788,7 @@ void M68K_show_context(void)
 
 void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32_t who/*=UNKNOWN*/)
 {
 
 void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32_t who/*=UNKNOWN*/)
 {
+       m68k_write_unknown_alert(address, "8", data);
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
        WriteLog("Jaguar: Unknown byte %02X written at %08X by %s (M68K PC=%06X)\n", data, address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC));
 #endif
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
        WriteLog("Jaguar: Unknown byte %02X written at %08X by %s (M68K PC=%06X)\n", data, address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC));
 #endif
@@ -1632,6 +1804,7 @@ void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32_t who/*=UN
 
 void jaguar_unknown_writeword(unsigned address, unsigned data, uint32_t who/*=UNKNOWN*/)
 {
 
 void jaguar_unknown_writeword(unsigned address, unsigned data, uint32_t who/*=UNKNOWN*/)
 {
+       m68k_write_unknown_alert(address, "16", data);
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
        WriteLog("Jaguar: Unknown word %04X written at %08X by %s (M68K PC=%06X)\n", data, address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC));
 #endif
 #ifdef LOG_UNMAPPED_MEMORY_ACCESSES
        WriteLog("Jaguar: Unknown word %04X written at %08X by %s (M68K PC=%06X)\n", data, address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC));
 #endif
index 9d9ac01..834b84b 100644 (file)
@@ -141,9 +141,9 @@ int M68KDebugHaltStatus(void)
 
 
 // Halt M68k
 
 
 // Halt M68k
-void M68KDebugHalt(void)
+int M68KDebugHalt(void)
 {
 {
-       regs.spcflags |= SPCFLAG_DEBUGGER;
+       return (regs.spcflags |= SPCFLAG_DEBUGGER);
 }
 
 
 }
 
 
index fb419aa..3a9c869 100644 (file)
@@ -102,7 +102,7 @@ int M68KGetCurrentOpcodeFamily(void);
 
 
 // Functions to allow debugging
 
 
 // Functions to allow debugging
-void M68KDebugHalt(void);
+int M68KDebugHalt(void);
 void M68KDebugResume(void);
 int M68KDebugHaltStatus(void);
 
 void M68KDebugResume(void);
 int M68KDebugHaltStatus(void);