Local browser window displays variables values from parameters
authorJean-Paul Mari <djipi.mari@gmail.com>
Tue, 14 Aug 2018 05:57:12 +0000 (01:57 -0400)
committerJean-Paul Mari <djipi.mari@gmail.com>
Tue, 14 Aug 2018 05:57:12 +0000 (01:57 -0400)
Win-VS2017/virtualjaguar.vcxproj
docs/vj_ReleaseNotes.txt
src/debugger/localbrowser.cpp
src/debugger/memory1browser.h

index b2e10f4..f56db07 100644 (file)
       <MinimalRebuild>false</MinimalRebuild>\r
     </ClCompile>\r
     <Link>\r
-      <AdditionalDependencies>qtmain.lib;Qt5OpenGL.lib;shell32.lib;jaguarcore.lib;zlib-1.2.11_vs2017_x64.lib;m68000.lib;gdi32.lib;user32.lib;sdl.lib;libelf-0.8.13_vs2017_x64.lib;legacy_stdio_definitions.lib;OpenGL32.lib;libdwarf_x64.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;opengl32.lib;glu32.lib;Ws2_32.lib;imm32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\platforms;obj;..\src\m68000\obj;C:\SDK\zlib\zlib-1.2.11\lib;C:\SDK\SDL\SDL-1.2.15-VS2015\SDL-x64-shared-release\lib;C:\SDK\Elf\libelf-0.8.13\lib;m68000\x64\Release;jaguarcore\x64\Release;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64;C:\SDK\DWARF\libdwarf-VS2015\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>qtmain.lib;Qt5OpenGL.lib;shell32.lib;jaguarcore.lib;zlib-1.2.11_vs2017_x64.lib;m68000.lib;gdi32.lib;user32.lib;SDL-1.2.15_vs2017_x64.lib;libelf-0.8.13_vs2017_x64.lib;legacy_stdio_definitions.lib;OpenGL32.lib;libdwarf_x64.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;opengl32.lib;glu32.lib;Ws2_32.lib;imm32.lib;winmm.lib;Advapi32.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\platforms;obj;..\src\m68000\obj;C:\SDK\zlib\zlib-1.2.11\lib;C:\SDK\SDL\SDL-1.2.15\lib\x64\static;C:\SDK\Elf\libelf-0.8.13\lib;m68000\x64\Release;jaguarcore\x64\Release;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64;C:\SDK\DWARF\libdwarf-VS2015\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>\r
       <DataExecutionPrevention>true</DataExecutionPrevention>\r
       <GenerateDebugInformation>false</GenerateDebugInformation>\r
       <SDLCheck>false</SDLCheck>\r
     </ClCompile>\r
     <Link>\r
-      <AdditionalDependencies>Qt5PlatformCompositorSupportd.lib;qtmaind.lib;Qt5OpenGLd.lib;shell32.lib;zlib-1.2.8_vs2017_x64d.lib;SDLd.lib;OpenGL32.lib;gdi32.lib;user32.lib;legacy_stdio_definitions.lib;libelf-0.8.13_vs2017_x64d.lib;m68000.lib;jaguarcore.lib;libdwarf_x64d.lib;Ws2_32.lib;imm32.lib;winmm.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\platforms;obj;..\..\src\m68000\obj;C:\SDK\zlib\zlib-1.2.8\lib;C:\SDK\SDL\SDL-1.2.15-VS2015\SDL-x64-shared-debug\lib;C:\SDK\Elf\libelf-0.8.13\lib;m68000\x64\Debug;jaguarcore\x64\Debug;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64;C:\SDK\DWARF\libdwarf-VS2015\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>Qt5PlatformCompositorSupportd.lib;qtmaind.lib;Qt5OpenGLd.lib;shell32.lib;zlib-1.2.8_vs2017_x64d.lib;SDL-1.2.15_vs2017_x64d.lib;OpenGL32.lib;gdi32.lib;user32.lib;legacy_stdio_definitions.lib;libelf-0.8.13_vs2017_x64d.lib;m68000.lib;jaguarcore.lib;libdwarf_x64d.lib;Ws2_32.lib;imm32.lib;winmm.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;opengl32.lib;glu32.lib;Advapi32.lib;dxguid.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\platforms;obj;..\..\src\m68000\obj;C:\SDK\zlib\zlib-1.2.8\lib;C:\SDK\SDL\SDL-1.2.15\lib\x64\static;C:\SDK\Elf\libelf-0.8.13\lib;m68000\x64\Debug;jaguarcore\x64\Debug;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\x64;C:\SDK\DWARF\libdwarf-VS2015\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>\r
       <DataExecutionPrevention>true</DataExecutionPrevention>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
index d91c6f7..d37651e 100644 (file)
@@ -4,6 +4,8 @@ Release 4 (TBD)
 1) Debugger mode now shares the same alpine rom path setting\r
 2) Local browser window displays register name used for local variables\r
 3) Switch to Zlib 1.2.11 library 64bits for VS 2017\r
+4) Switch to SDL 1.2.15 static library 64bits for VS 2017\r
+5) Local browser window displays variables values from parameters\r
 \r
 Release 3 (13th November 2017)\r
 ------------------------------\r
@@ -134,7 +136,7 @@ Project information
 6) QT 5.9.1 library 64bits for VS 2017\r
 7) Zlib 1.2.8 library 64bits for VS 2015\r
 7) Zlib 1.2.11 library 64bits for VS 2017\r
-8) SDL 1.2.15 library 64bits for VS 2015\r
+8) SDL 1.2.15 library 64bits for VS 2015/2017\r
 9) The original make files have been modified to follow the requirements and modifications\r
 10) The 'Rx' word has been added to the emulator name to make distinction with the official version\r
 11) The project source is set at https://github.com/djipi/Virtual-Jaguar-Rx\r
index ce69ffa..77e7102 100644 (file)
@@ -84,6 +84,7 @@ bool LocalBrowserWindow::UpdateInfos(void)
                                LocalInfo = (WatchInfo *)realloc(LocalInfo, (sizeof(WatchInfo) * NbLocal));\r
                                for (size_t i = 0; i < NbLocal; i++)\r
                                {\r
+                                       // Get local variable name and his information\r
                                        if (LocalInfo[i].PtrVariableName = DBGManager_GetLocalVariableName(Adr, i + 1))\r
                                        {\r
                                                LocalInfo[i].Op = DBGManager_GetLocalVariableOp(Adr, i + 1);\r
@@ -140,10 +141,16 @@ void LocalBrowserWindow::RefreshContents(void)
                        {\r
                                if (LocalInfo[i].PtrVariableName)\r
                                {\r
-                                       if (((LocalInfo[i].Op >= DBG_OP_breg0) && (LocalInfo[i].Op <= DBG_OP_breg31)))\r
+                                       // Local or parameters variables\r
+                                       if (((LocalInfo[i].Op >= DBG_OP_breg0) && (LocalInfo[i].Op <= DBG_OP_breg31)) || (LocalInfo[i].Op == DBG_OP_fbreg))\r
                                        {\r
                                                LocalInfo[i].Adr = m68k_get_reg(NULL, M68K_REG_A6) + LocalInfo[i].Offset;\r
 \r
+                                               if ((LocalInfo[i].Op == DBG_OP_fbreg))\r
+                                               {\r
+                                                       LocalInfo[i].Adr += 8;\r
+                                               }\r
+\r
                                                if ((LocalInfo[i].Adr >= 0) && (LocalInfo[i].Adr < vjs.DRAM_size))\r
                                                {\r
                                                        PtrValue = DBGManager_GetVariableValueFromAdr(LocalInfo[i].Adr, LocalInfo[i].TypeEncoding, LocalInfo[i].TypeByteSize);\r
index b3f2ad1..fd3dbb7 100644 (file)
@@ -29,7 +29,7 @@ class Memory1BrowserWindow: public QWidget
 
        private:
                QVBoxLayout * layout;
-//             QTextBrowser * text;
+               //              QTextBrowser * text;
                QLabel * text;
                QPushButton * refresh;
                QLineEdit * address;