Documentation updates
authorJean-Paul Mari <djipi.mari@gmail.com>
Thu, 27 May 2021 01:22:41 +0000 (21:22 -0400)
committerJean-Paul Mari <djipi.mari@gmail.com>
Thu, 27 May 2021 01:22:41 +0000 (21:22 -0400)
docs/INSTALL
docs/WHATSNEW
docs/virtualjaguar.1
docs/vj_HistoryNotes.txt
res/help.html

index b95c96b..6eb8760 100644 (file)
@@ -16,9 +16,9 @@ The minimum requirements for compiling Virtual Jaguar from source are:
  o  libcdio v0.90 or higher (optional, for Jaguar CD support)
  o  OpenGL libraries
  o  Qt 5.5.1 or higher
  o  libcdio v0.90 or higher (optional, for Jaguar CD support)
  o  OpenGL libraries
  o  Qt 5.5.1 or higher
- o  Visual Studio 2015 or 2017 (if any of interest)
+ o  Visual Studio 2017 (if any of interest)
  o  supported OS (WIN64 through msys2/MinGW64, Windows 64 bits); other
  o  supported OS (WIN64 through msys2/MinGW64, Windows 64 bits); other
-    OSs may work to but you may need to change some items in the Makefile or adapt the Visual Studio project.
+    OSs may work too but you may need to change some items in the Makefile or adapt the Visual Studio project.
  o  cygwin64 support is done but no test has been completed
 
 Previously supported OS (BeOS, Linux, FreeBSD and WIN32 through mingw, MacOS);
  o  cygwin64 support is done but no test has been completed
 
 Previously supported OS (BeOS, Linux, FreeBSD and WIN32 through mingw, MacOS);
@@ -90,4 +90,4 @@ You may have to adapt such files to handle your own development environement,
 usualy to put the right include and library paths will be enough assuming you have all the requirements properly set.
 
 Assuming all went well, you will have either Debug or Release executables.
 usualy to put the right include and library paths will be enough assuming you have all the requirements properly set.
 
 Assuming all went well, you will have either Debug or Release executables.
-You will also need the QT5 & SDL necessary DLLs in the executable directory.
+You will also need the necessary DLLs in the executable directory.
index 8b6491e..271bf48 100644 (file)
@@ -1,3 +1,23 @@
+Virtual Jaguar v2.1.3 R5 GCC/Qt
+-------------------------------
+
+* Specific breakpoints for the M68000 "illegal instruction", "address error", "bus error",  "Unimplemented instruction", and "Exception not referenced" exceptions
+* Specific breakpoints will occur in case of a rom writes at an unknown location
+* Added a HW registers browser window for the Blitter
+* Fixes for the Linux platform from @richard42
+* Stability & improvements for the debugger mode
+- ELF & DWARF information support improvements
+- Modified the call stack layout window
+- Added a search feature in the All Watch global variables window
+- Added a video output display in a specific window
+- Show the SR value as a readable form in the M68000 CPU browser
+- Added a tracing, step in and step over, at source code level
+- Added a source code file date check when reading DWARF information
+- Support the structure's members in the Local variables window
+- Improvements for the two Breakpoints windows
+- Added two M68000 cycles counters in the status window
+
+
 Virtual Jaguar v2.1.3 R4 GCC/Qt
 -------------------------------
 
 Virtual Jaguar v2.1.3 R4 GCC/Qt
 -------------------------------
 
@@ -8,7 +28,7 @@ Virtual Jaguar v2.1.3 R4 GCC/Qt
 * Breakpoint / alert box may now occur in case of writing at unknown memory location or in case of ROM writing
 * UI modifications mostly for the debugger mode, key bindings, and icons
 * Added screenshot & call stack window features, Jaguar model & BIOS configurations, and a source code files list viewer
 * Breakpoint / alert box may now occur in case of writing at unknown memory location or in case of ROM writing
 * UI modifications mostly for the debugger mode, key bindings, and icons
 * Added screenshot & call stack window features, Jaguar model & BIOS configurations, and a source code files list viewer
-* Added multiple breakpoints feature but only for M68K functions
+* Added multiple breakpoints feature but only for M68000 functions
 * Added a Save Dump As... feature to save a memory zone to a file
 * Added a cartdridge view menu to display cartdridge directory system and his files list
 * Added some log information for the emulator initialisations
 * Added a Save Dump As... feature to save a memory zone to a file
 * Added a cartdridge view menu to display cartdridge directory system and his files list
 * Added some log information for the emulator initialisations
@@ -32,7 +52,7 @@ Virtual Jaguar v2.1.3 R3 GCC/Qt
 * Fixed a crash, in Release mode, when the HW labels setting is turn on
 * Fixed the SP (Stack) window UI potential missing data
 * Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist
 * Fixed a crash, in Release mode, when the HW labels setting is turn on
 * Fixed the SP (Stack) window UI potential missing data
 * Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist
-* Keep the scrollbar position in accordance of the M68K PC pointer
+* Keep the scrollbar position in accordance of the M68000 PC pointer
 * Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file
 * Improved the .heap section detection to avoid a detection error
 * Fixed a crash when DWARF information does references to missing source code files
 * Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file
 * Improved the .heap section detection to avoid a detection error
 * Fixed a crash when DWARF information does references to missing source code files
@@ -68,13 +88,13 @@ Virtual Jaguar v2.1.3 R1 GCC/Qt
 * BPM (Breapoint) now stop at the designated address and no longer stop after executing the code
 * Added SP (Stack) memory browser
 * User can change now the number of lines of disassembly displayed in the tracing window
 * BPM (Breapoint) now stop at the designated address and no longer stop after executing the code
 * Added SP (Stack) memory browser
 * User can change now the number of lines of disassembly displayed in the tracing window
-* User can turn on/off the op-codes associated in the disassembly lines displayed in the M68K tracing window
-* Added an emulator status window (GPU status, M68K debugger & tracking status)
+* User can turn on/off the op-codes associated in the disassembly lines displayed in the M68000 tracing window
+* Added an emulator status window (GPU status, M68000 debugger & tracking status)
 * Added a GPU disassembly tracing window - Display the current PC pointer
 * Added a DSP disassembly tracing window - Display the current PC pointer
 * Added possibility to change refresh rate of browser windows when emulation is launched
 * Added a GPU disassembly tracing window - Display the current PC pointer
 * Added a DSP disassembly tracing window - Display the current PC pointer
 * Added possibility to change refresh rate of browser windows when emulation is launched
-* Display partial hardware labels (Internal Memory & Graphics sub-system address space) in the disassembly lines displayed in the M68K tracing window
-* User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68K tracing window
+* Display partial hardware labels (Internal Memory & Graphics sub-system address space) in the disassembly lines displayed in the M68000 tracing window
+* User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68000 tracing window
 
 
 Virtual Jaguar v2.1.3 R0 GCC/Qt
 
 
 Virtual Jaguar v2.1.3 R0 GCC/Qt
@@ -85,7 +105,7 @@ Virtual Jaguar v2.1.3 R0 GCC/Qt
 * ELF debug symbol support
 * "Step Into" code function
 * Menus layout dedicated to the debugger
 * ELF debug symbol support
 * "Step Into" code function
 * Menus layout dedicated to the debugger
-* Added a dedicated main window for tracing (M68K)
+* Added a dedicated main window for tracing (M68000)
 * Added a Debugger tab in the config tab
 
 
 * Added a Debugger tab in the config tab
 
 
index 9c85eb2..35c4795 100644 (file)
@@ -1,4 +1,4 @@
-.TH virtualjaguar 1 2018-09-19 Virtualjaguar Rx
+.TH virtualjaguar 1 2021-05-24 Virtualjaguar Rx
 .SH NAME
 virtualjaguar \- An Atari Jaguar emulator
 
 .SH NAME
 virtualjaguar \- An Atari Jaguar emulator
 
@@ -8,12 +8,12 @@ virtualjaguar \- An Atari Jaguar emulator
 .RI [rom image file]
 
 .SH DESCRIPTION
 .RI [rom image file]
 
 .SH DESCRIPTION
-Virtualjaguar is an emulator for the Atari Jaguar videogame system.
+Virtual Jaguar Rx is an emulator for the Atari Jaguar videogame system. It includes a debugger.
 
 .SH OPTIONS
 .TP
 .B [rom image file]
 
 .SH OPTIONS
 .TP
 .B [rom image file]
-Name of file to load;
+Name of file to load
 .TP
 .B \-a, \-\-alpine
 Run in Alpine emulation mode
 .TP
 .B \-a, \-\-alpine
 Run in Alpine emulation mode
@@ -27,7 +27,7 @@ Do not use Jaguar BIOS
 .B \-D, \-\-debugger
 Run in Debugger emulation mode
 .TP
 .B \-D, \-\-debugger
 Run in Debugger emulation mode
 .TP
-.B \-\-dram-max
+.B \-\-dram-max
 Set the main ram to 8MB
 .TP
 .B \-g, \-\-gpu
 Set the main ram to 8MB
 .TP
 .B \-g, \-\-gpu
@@ -48,16 +48,19 @@ Show command line help
 .SH SETTINGS
 .TP
 .B \-\-es\-all
 .SH SETTINGS
 .TP
 .B \-\-es\-all
-Erase all settings,
+Erase all settings
+.TP
 .B \-\-es\-ui
 .B \-\-es\-ui
-Erase UI settings only,
+Erase UI settings only
+.TP
 .B \-\-es\-alpine
 .B \-\-es\-alpine
-Erase alpine mode settings only,
+Erase alpine mode settings only
+.TP
 .B \-\-es\-debugger
 Erase debugger mode settings only
 
 .SH SOUND
 .B \-\-es\-debugger
 Erase debugger mode settings only
 
 .SH SOUND
-DSP emulation is needed for audio output;
+DSP emulation is needed for audio output.
 .TP
 .B \-d, \-\-dsp
 Enable DSP emulation
 .TP
 .B \-d, \-\-dsp
 Enable DSP emulation
@@ -89,38 +92,47 @@ Do not show emulation of tv static. This can be slow on low end CPUs.
 .TP
 The default key bindings are:
 .TP
 .TP
 The default key bindings are:
 .TP
-.B Ctrl-Q
-Quit virtualjaguar,
+.B Ctrl+Q
+Quit virtualjaguar
 .TP
 .TP
-.B Ctrl-I
-Load a new program,
+.B Ctrl+I
+Pick file to load a new program
 .TP
 .B Ctrl+C
 .TP
 .B Ctrl+C
-Configure tab,
+Configure tab
 .TP
 .B Ctrl+S
 .TP
 .B Ctrl+S
-Emulator status,
+Emulator status
 .TP
 .B Ctrl+Shift+F5
 .TP
 .B Ctrl+Shift+F5
-Restart program,
+Restart program
 .TP
 .B F11
 .TP
 .B F11
-Step into code,
+Step into code
 .TP
 .B F10
 .TP
 .B F10
-Step over code,
+Step over code
 .TP
 .B Esc
 .TP
 .B Esc
-Pause emulation,
+Pause emulation
 .TP
 .B F7
 .TP
 .B F7
-Advance the emulation by a single frame,
+Advance the emulation by a single frame
 .TP
 .B F9
 .TP
 .B F9
-Toggle full screen mode,
+Toggle full screen mode
 .TP
 .B F8
 Screenshot
 .TP
 .B F8
 Screenshot
+.TP
+.B Ctrl+B
+Function breakpoint
+.TP
+.B Ctrl+Alt+B
+Breakpoints list
+.TP
+.B Ctrl+Shift+F9
+Delete all breakpoints
 
 .SH CONTROLS
 .TP
 
 .SH CONTROLS
 .TP
@@ -128,31 +140,31 @@ The default key bindings for controller 1 are:
 (Key bindings can be changed in the configuration dialog.)
 .TP
 .B S
 (Key bindings can be changed in the configuration dialog.)
 .TP
 .B S
-Up,
+Up
 .TP
 .B X
 .TP
 .B X
-Down,
+Down
 .TP
 .B A
 .TP
 .B A
-Left,
+Left
 .TP
 .B D
 .TP
 .B D
-Right,
+Right
 .TP
 .B P
 .TP
 .B P
-Pause,
+Pause
 .TP
 .B O
 .TP
 .B O
-Option,
+Option
 .TP
 .B J
 .TP
 .B J
-Button C,
+Button C
 .TP
 .B K
 .TP
 .B K
-Button B,
+Button B
 .TP
 .B L
 .TP
 .B L
-Button A,
+Button A
 .TP
 .B 1 through 0
 Buttons 1 through 0 on the keypad
 .TP
 .B 1 through 0
 Buttons 1 through 0 on the keypad
index 36a4f21..dac67a6 100644 (file)
@@ -37,13 +37,15 @@ Release 5 (TBA)
 -- The cycles are displayed in the emulator status window
 24) Improve the DWARF source line number reporting
 25) Added a #line in the call stack window
 -- The cycles are displayed in the emulator status window
 24) Improve the DWARF source line number reporting
 25) Added a #line in the call stack window
-26) Add a search feature in the all watches window
-27) Added video output display in a specific window
-28) Fixed potential crash with the debugger tabs reset
-29) Added a search feature in the All Watch variables window
-30) Support the structure's members in the Local variables window
-31) Code refactoring for the variables support in debugger mode
-32) Support the structure and union members from the DWARF information
+26) Added video output display in a specific window
+27) Fixed potential crash with the debugger tabs reset
+28) Added a search feature in the All Watch variables window
+29) Support the structure's members in the Local variables window
+30) Code refactoring for the variables support in debugger mode
+31) Support the structure and union members from the DWARF information
+32) Added a Virtual Jaguar Rx logo in the About window
+33) Fix compilation / link error for MSYS2 / MinGW64
+34) Documentation updates
 
 Release 4a (15th August 2019)
 -----------------------------
 
 Release 4a (15th August 2019)
 -----------------------------
index cf23d34..e070a97 100644 (file)
@@ -82,7 +82,7 @@
 <p><strong>Insert Cartridge...</strong> does the same as the toolbar button; see the &ldquo;Insert Cartridge&rdquo; toolbar button description for details.</p>
 <p><strong>Use CD Unit</strong> does the same as the toolbar button; see the &ldquo;Use CD Unit&rdquo; toolbar button description for details.</p>
 <p><strong>Configure</strong> launches the Configure dialogue. A full description is given in the &ldquo;Configure Dialog&rdquo; section below.</p>
 <p><strong>Insert Cartridge...</strong> does the same as the toolbar button; see the &ldquo;Insert Cartridge&rdquo; toolbar button description for details.</p>
 <p><strong>Use CD Unit</strong> does the same as the toolbar button; see the &ldquo;Use CD Unit&rdquo; toolbar button description for details.</p>
 <p><strong>Configure</strong> launches the Configure dialogue. A full description is given in the &ldquo;Configure Dialog&rdquo; section below.</p>
-<p><strong>Status</strong>&nbsp;launches a window with emulator internal information.</p>
+<p><strong>Status</strong>&nbsp;launches a window with emulator internal information. It includes M68000 cycles counters.</p>
 <p><strong>Exit</strong> quits <em>Virtual Jaguar</em> immediately. You can also quit <em>Virtual Jaguar</em> by pressing <strong>Ctrl</strong> + <strong>Q</strong> on your keyboard.</p>
 <h2>Help Menu</h2>
 <p>This menu has the following options:</p>
 <p><strong>Exit</strong> quits <em>Virtual Jaguar</em> immediately. You can also quit <em>Virtual Jaguar</em> by pressing <strong>Ctrl</strong> + <strong>Q</strong> on your keyboard.</p>
 <h2>Help Menu</h2>
 <p>This menu has the following options:</p>
 <p>When started in Debugger mode, a specific tab&nbsp;is made available in the configuration dialogue which gives you the following options:</p>
 <ul>
 <li>Disassembly lines</li>
 <p>When started in Debugger mode, a specific tab&nbsp;is made available in the configuration dialogue which gives you the following options:</p>
 <ul>
 <li>Disassembly lines</li>
+<li>Source file search paths</li>
 <li>Display M68000 opcodes</li>
 <li>Display HW labels</li>
 <li>Display source filename</li>
 <li>ELF sections check</li>
 </ul>
 <p><strong>Disassembly lines</strong>&nbsp;represent the number of disassembly lines to display in the M68000 tracing window. This doesn't include the number of source lines displayed.</p>
 <li>Display M68000 opcodes</li>
 <li>Display HW labels</li>
 <li>Display source filename</li>
 <li>ELF sections check</li>
 </ul>
 <p><strong>Disassembly lines</strong>&nbsp;represent the number of disassembly lines to display in the M68000 tracing window. This doesn't include the number of source lines displayed.</p>
+<p><strong>Source file search paths</strong>&nbsp;may be used in case of the debugger cannot find files path in the DWARF information.</p>
 <p><strong>Display M68000 opcode</strong>&nbsp;allows or not the opcode display. Can be useful in case of user prefers to see the disassembly only.</p>
 <p><strong>Display HW labels</strong>&nbsp;allows or not the name of the Jaguar hardware registers as reported in the official documentation.</p>
 <p><strong>Display source filename</strong>&nbsp;allows or not the source code filename display depend the disassembly in the M68000 tracing window.</p>
 <p><strong>Display M68000 opcode</strong>&nbsp;allows or not the opcode display. Can be useful in case of user prefers to see the disassembly only.</p>
 <p><strong>Display HW labels</strong>&nbsp;allows or not the name of the Jaguar hardware registers as reported in the official documentation.</p>
 <p><strong>Display source filename</strong>&nbsp;allows or not the source code filename display depend the disassembly in the M68000 tracing window.</p>
 <li>ABS to load</li>
 <li>Windows refresh</li>
 <li>Allow writes to cartdridge ROM</li>
 <li>ABS to load</li>
 <li>Windows refresh</li>
 <li>Allow writes to cartdridge ROM</li>
+<li>Allow M68000 exception catch</li>
 </ul>
 <p><strong>ROM to load</strong> is the path to a Jaguar executable file that will be loaded into the Jaguar&rsquo;s cartridge memory space at $800000 (Alpine ROM images will load at $802000). As a convenience to coders, this file can be of any length, as long as it fits into the cartridge memory space (a file of this type is treated as an Alpine ROM and is loaded at $802000). The file thus loaded into memory will not be executed.</p>
 <p><strong>ABS to load</strong> is the path to a Jaguar executable file that will be loaded in the Jaguar&rsquo;s main RAM. This file must have valid headers, otherwise <em>Virtual Jaguar</em> won&rsquo;t be able to load it. Assuming the file exists and has the correct headers in it, it will be loaded and run when <em>Virtual Jaguar</em> is first run.</p>
 <p><strong>Windows refresh</strong>&nbsp;is the refresh rate for open windows. The smaller the rate, the faster the refresh window will occur. A 0 value will disable the refresh operations.</p>
 <p><strong>Allow writes to cartdridge ROM</strong>&nbsp;is the option allowing or not the cartdridge ROM writing. If allowed, emulator won't interfere but when turned off the emulator will display a dialog box with proper information, at this point user can allow to continue or stop the code.</p>
 </ul>
 <p><strong>ROM to load</strong> is the path to a Jaguar executable file that will be loaded into the Jaguar&rsquo;s cartridge memory space at $800000 (Alpine ROM images will load at $802000). As a convenience to coders, this file can be of any length, as long as it fits into the cartridge memory space (a file of this type is treated as an Alpine ROM and is loaded at $802000). The file thus loaded into memory will not be executed.</p>
 <p><strong>ABS to load</strong> is the path to a Jaguar executable file that will be loaded in the Jaguar&rsquo;s main RAM. This file must have valid headers, otherwise <em>Virtual Jaguar</em> won&rsquo;t be able to load it. Assuming the file exists and has the correct headers in it, it will be loaded and run when <em>Virtual Jaguar</em> is first run.</p>
 <p><strong>Windows refresh</strong>&nbsp;is the refresh rate for open windows. The smaller the rate, the faster the refresh window will occur. A 0 value will disable the refresh operations.</p>
 <p><strong>Allow writes to cartdridge ROM</strong>&nbsp;is the option allowing or not the cartdridge ROM writing. If allowed, emulator won't interfere but when turned off the emulator will display a dialog box with proper information, at this point user can allow to continue or stop the code.</p>
+<p><strong>Allow M68000 exception catch</strong>&nbsp;is the option allowing or not the exception catch from the M68000. If allowed, the emulator will display a dialog box with proper information and user will have the choice to continue or to stop the code.</p>
 <p>Also, when in Debugger mode,&nbsp;extra toolbar buttons are defined (also found under the extra &ldquo;Debug&rdquo; menu) and also include the Alpine mode features:</p>
 <ul>
 <li>Restart</li>
 <p>Also, when in Debugger mode,&nbsp;extra toolbar buttons are defined (also found under the extra &ldquo;Debug&rdquo; menu) and also include the Alpine mode features:</p>
 <ul>
 <li>Restart</li>
 <li>Delete All Breakpoints</li>
 <li>Disable All Breakpoints</li>
 <li>Exception Vector Table</li>
 <li>Delete All Breakpoints</li>
 <li>Disable All Breakpoints</li>
 <li>Exception Vector Table</li>
+<li>Output Video</li>
 <li>All Watch</li>
 <li>Locals</li>
 <li>Call Stack</li>
 <li>All Watch</li>
 <li>Locals</li>
 <li>Call Stack</li>
 <p>Disable all breakpoints, and also disable BPM.</p>
 <h3>Exception Vector Table</h3>
 <p>Display a partial table of the M68000 exception vectors as reported by Motorola.</p>
 <p>Disable all breakpoints, and also disable BPM.</p>
 <h3>Exception Vector Table</h3>
 <p>Display a partial table of the M68000 exception vectors as reported by Motorola.</p>
+<h3>Output Video</h3>
+<p>Display the video output window.</p>
 <h3>All Watch</h3>
 <h3>All Watch</h3>
-<p>Display all global variables used by the Jaguar code. It uses the available DWARF debug information.</p>
+<p>Display all global variables used by the Jaguar code. It uses the available DWARF debug information. It has a search feature to look for a specific global variable.</p>
 <h3>Locals</h3>
 <p>Display the local variables of the traced M68000 function.&nbsp;It uses the available DWARF debug information, and the A6 register to point on the stack.</p>
 <h3>Call Stack</h3>
 <h3>Locals</h3>
 <p>Display the local variables of the traced M68000 function.&nbsp;It uses the available DWARF debug information, and the A6 register to point on the stack.</p>
 <h3>Call Stack</h3>
 <p>In the debugger mode, the main window doesn't display anymore the video output; it is replaced by a source code files viewer and a disassembly window made of tabs to allow tracing / display of code.</p>
 <p><strong>Source code files</strong></p>
 <p>It is available for convenience reason; it display all the filenames found in the DWARF information. It is turned off by default but user can turn it on.</p>
 <p>In the debugger mode, the main window doesn't display anymore the video output; it is replaced by a source code files viewer and a disassembly window made of tabs to allow tracing / display of code.</p>
 <p><strong>Source code files</strong></p>
 <p>It is available for convenience reason; it display all the filenames found in the DWARF information. It is turned off by default but user can turn it on.</p>
+<p><strong>Sources tab</strong></p>
+<p>This tab is populated by C, or asm, source files following the M68000 program counter (PC). User can trace source code within the tab.</p>
 <p><strong>Disassembly tabs</strong></p>
 <p>There are 3 tabs, each of them is dedicated to a specific processor (M68000, GPU, and DSP). Currently, only the M68000 is tracable, others 2 display only the code pointed by their respective program counter (PC).</p>
 <p>Also, when in Alpine mode, extra toolbar buttons are defined (also found under the extra &ldquo;Debug&rdquo; menu):</p>
 <p><strong>Disassembly tabs</strong></p>
 <p>There are 3 tabs, each of them is dedicated to a specific processor (M68000, GPU, and DSP). Currently, only the M68000 is tracable, others 2 display only the code pointed by their respective program counter (PC).</p>
 <p>Also, when in Alpine mode, extra toolbar buttons are defined (also found under the extra &ldquo;Debug&rdquo; menu):</p>