Commit | Line | Data |
---|---|---|
f08e7110 JPM |
1 | Release 4a (15th August 2019) |
2 | ----------------------------- | |
3 | Git commit: f04df4f185ed4f3cfc805d0f61b3c019a108ae2c | |
f04df4f1 JPM |
4 | - |
5 | 0) Fix specific breakpoint for ROM cartridge or unknown memory location writing | |
6 | ||
7 | Release 4 (10th August 2019) | |
8 | ---------------------------- | |
9 | Git commit: 9b25d85d1ea4a9476b83476bcec65e05464f68da | |
1081a838 JPM |
10 | - |
11 | 0) The zoom value setting has been fixed in the registry | |
12 | 1) Debugger mode now shares the same alpine rom path setting | |
13 | 2) Local variables window displays register name now | |
14 | 3) Switch to Zlib 1.2.11 static library 64bits for VS 2017 | |
15 | 4) Switch to SDL 1.2.15 static library 64bits for VS 2017 | |
16 | 5) Local variables window displays values from function's parameters | |
17 | 6) Fixed the typedef's name display in Local and Watch variables window | |
18 | 7) Breakpoint may now occur in case of a ROM cartridge writing | |
19 | -- ROM cartridge writing detection follow the alpine "allow writes to cartridge rom"'s flag check | |
20 | -- 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 | |
21 | 8) Local variables window detects now if a variable is used or not by the code | |
22 | 9) The address provided in the debugger memory windows is now verified to prevent crash | |
23 | -- Wrong address will be displayed in red | |
24 | 10) UI changes | |
25 | -- Added new icons for the exit and status features | |
26 | -- Modified icons for the SP (Stack) browser | |
27 | -- Unified icons sizes depend on their usage (drop down menu and main menu) | |
28 | -- Underline the active M68K line in the disassembly window | |
29 | -- Allow the up/down navigation on the SP (Stack) browser | |
30 | -- Restart function cleans-up the SP (Stack) browser and the heap allocator system | |
31 | -- Fixed the up navigation on the memory window | |
32 | 11) Added some log information for the emulator initialisations | |
33 | 12) Breakpoint will happen in case of writing at unknown memory location | |
34 | -- Alert box will display a message and then the code will stop | |
35 | 13) Added the DRAM size in the emulator status window | |
36 | 14) Debugger sources code clean-up | |
37 | 15) Added a call stack feature | |
38 | 16) Follow platform requirement to prevent source file reading issue | |
39 | 17) UI modifications | |
40 | -- Modified icon for the memory window to make a distinction with the memory browser | |
41 | -- The all watch, and Exception Vector Table windows, can be closed using keyboard | |
42 | -- Renamed the debugger dedicated icons to make a distinction | |
43 | -- Added the call stack window | |
44 | 18) Fixed a crash in the all watch window after loading a new binary without ELF/DWARF information | |
45 | -- Previously used ELF/DWARF information was still accessible | |
46 | 19) Fixed slash/backslash issue, in the Alpine tab, to follow platform requirement | |
47 | 20) Heap allocation window uses the DRAM size limit option and detect if heap allocation shares space with SP (Stack) | |
48 | 21) Added a Jaguar model and BIOS configuration tab | |
49 | 22) Jaguar model and BIOS configuration integration | |
50 | 23) Added LEB128 decoding functions | |
51 | -- It is used for the DWARF decoding information | |
52 | 24) Debugger support improvement | |
53 | -- DWARF support for the enum type (partial), structure and subroutine type | |
54 | -- Debugger can report variable's unsigned char value | |
55 | 25) UI modifications | |
56 | -- Added a status bar, better status report & information display for the heap allocation window | |
57 | -- Added a status bar, better status report & information display for the local variables window | |
58 | -- Added better information display for the exception vectors table window, and added some missing vectors | |
59 | -- Added a status bar, better status report & information display for the call stack window | |
60 | -- Added a status bar, better status report & information display for the all watches window | |
61 | 26) Added screenshot feature | |
62 | -- Not accessible in debugger mode | |
63 | -- Added screenshot editable path in the general tab, and a key binding | |
64 | 27) Minor misspellings fixes | |
65 | 28) DWARF source code directory path clean-up | |
66 | 29) Added a source code files list viewer | |
67 | -- List comes from the DWARF information | |
68 | 30) Check potential variables missing/incomplete description found in the DWARF information | |
69 | -- No crash involved but can help to reduce such as variables duplicate or the blank ones | |
70 | 31) Added a sorting filter in the all watches window | |
71 | 32) Improve source code file reading to avoid additional text/bytes reading | |
72 | 33) Help & content texts updates | |
73 | 34) Fixed a crash legacy issue when emulator launches in Alpine mode without a valid rom | |
74 | 35) Added the support for the used lines source's DWARF structure | |
75 | -- Mostly used to handle missing subprogram's lines information, and missing CU's low/high PC | |
76 | 36) Added the Rx version's contact in the help text | |
77 | 37) Added search paths in case of missing DWARF directories information | |
78 | -- Used to look for the file(s) | |
79 | 38) Setup CU's low/high PC in case of the DWARF structures doesn't have it | |
80 | -- Used mostly to allow display the source assembled with vasm | |
81 | 39) Added function name support from ELF structure | |
82 | 40) Added the return address information in the call stack | |
8d705db0 | 83 | 41) Added multiple breakpoints feature, and their key bindings, for functions only |
24470541 | 84 | 42) Added timer initialisation for the SDL setup |
f99a6ebc | 85 | 43) Added a cartridge view menu |
24470541 | 86 | -- Added a window to display my own directory and his files list |
6642f781 | 87 | 44) Debugger sources code clean-up |
acd3342f | 88 | 45) Fix a crash when emulator, in non-debugger mode, opens the breakpoint UIs at launch |
f951022b | 89 | 46) Fix crash with potential missing DWARF structure tag's type name |
c57d3e56 JPM |
90 | 47) Added ELF sections check so a potential unknown section will stop, or not stop, the decoding |
91 | 48) Project has switched to QT 5.12.0 library 64bits for VS 2017 | |
3323d78b | 92 | 49) Added a Save Dump As... feature to save a memory zone to a file |
9c4d8f10 JPM |
93 | 50) The -d command line option, dedicated to the debugger, has been renamed to avoid duplication with the dsp one |
94 | -- -d has been renamed by -D because another -d was also used for the dsp command line option | |
8d705db0 | 95 | 51) Removed the sorting filter in the all watches window |
96bd5390 | 96 | 52) Fix the support of the DRAM size limit option in the heap allocation window |
f99a6ebc | 97 | 53) Set cartridge view menu for debugger mode only |
8b11a1b0 | 98 | 54) Prevent crash in case of call stack is out of range |
1081a838 JPM |
99 | |
100 | Release 3 (13th November 2017) | |
101 | ------------------------------ | |
102 | Git commit: b1b673a3b0d19e3c2c45b6590b773b11e45bced7 | |
103 | - | |
104 | 0) Fixed the windows respawning in the next emulator launch within --alpine or --debugger options | |
105 | 1) Added an Exception Vector Table window | |
106 | 2) Modified the About window to update the credits list in a more appropriate way | |
107 | -- Updated the emulator application credits line | |
108 | 3) Added 'Rx' word to the emulator name | |
109 | 4) Fixed a crash when reading the DWARF information in the case of the DWARF2 format has not been used | |
110 | 5) Added ui, alpine and debugger groups in the settings | |
111 | 6) Added the possibility to erase settings | |
112 | 7) Added the --es-all, --es-ui, --es-alpine and --es-debugger options to erase specific settings | |
113 | 8) Added a key bindings tab and adapted the configuration dialog tabs | |
114 | -- User can modify the key bindings where appropriate | |
115 | -- Key bindings UI is displayed based on the option used (--debugger, -- alpine) | |
116 | 9) Fixed a crash, in Release mode, when the HW labels setting is turn on | |
117 | 10) Solved an interference between the HW labels setting and the one used by the debugger | |
118 | -- The setting is now only the reference used | |
119 | 11) Fixed the SP (Stack) browser UI potential missing data | |
120 | 12) Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist | |
121 | 13) Keep the scrollbar position in accordance of the M68K PC pointer | |
122 | -- UI displays the source without the need to move down/up the scrollbar | |
123 | 14) Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file | |
124 | -- This may come from the linker vlink | |
125 | 15) Improved the .heap section detection to avoid a detection error | |
126 | -- Depend vlink version, .heap section may have an Alloc flag | |
127 | 16) Fixed a crash when DWARF information does references to missing source code files | |
128 | 17) Added a local variables window | |
129 | 18) Project has switched to Visual Studio 2017 and QT 5.9.1 library | |
130 | ||
131 | Release 2 (3rd September 2017) | |
132 | ------------------------------ | |
133 | 0) Added some error detections when reading the ELF executable file | |
134 | 1) Added all hardware labels (based on the document scans from the Version 2.4 - June 7, 1995) | |
135 | 2) "Step Over" code function for BSR/JSR functions | |
136 | 3) Added the .debug_ranges detection to avoid a detection error | |
137 | 4) DWARF support | |
138 | -- TAG: Compilation Unit, Subprogram, Variables, Types | |
139 | -- Line numbers, symbols, functions | |
140 | 5) Added an All Watch window for non-local variables | |
141 | 6) Added a heap allocator window based on my own memory allocation functions | |
142 | 7) Added additional 4 memory windows with address input based on hexa, decimal or symbol name | |
143 | 8) Windows refreshing executed only if windows is visible | |
144 | 9) Added a restart function | |
145 | -- Restart only the 68000 program counter to his original set | |
146 | 10) Modified the icons color backgound for the "Step In" and "Step Over" functions | |
147 | 11) Updated the About window to update the credits list | |
148 | 12) 64 bits Release executable | |
149 | 13) Fixed (hacking) the display of the SP (Stack) browser | |
150 | 14) Set the emulator in Halt mode when launched in alpine debug mode without a loaded rom | |
151 | -- Otherwise the 68000 program counter will have a 0 value and will execute the code at this address | |
152 | 15) Added some information in the --help/-h/-? option | |
153 | 16) --debugger option no longer force the log file | |
154 | 17) Added a --dram-max option to extend the DRAM size to 8MB | |
155 | 18) Added the "enter" key support when setting the BPM (Breapoint) | |
156 | 19) Save the windows positions, size and visibilities (show or hide) status | |
157 | -- Such windows will automatically respawn in the next emulator launch | |
158 | ||
159 | Release 1 (12th February 2017) | |
160 | ------------------------------ | |
161 | 0) BPM (Breapoint) now stop at the designated address and no longer stop after executing the code | |
162 | 1) Clean-up the tracing / no-tracing flags for better U.I understanding | |
163 | 2) Added SP (Stack) browser | |
164 | 3) User can change now the number of lines of disassembly displayed in the tracing window | |
165 | 4) User can turn on/off the op-codes associated in the disassembly lines displayed in the M68K tracing window | |
166 | 5) Added an emulator status window (GPU status, M68K debugger and tracking status) | |
167 | 6) Added a GPU disassembly tracing window - Display the current PC pointer | |
168 | 7) Added a DSP disassembly tracing window - Display the current PC pointer | |
169 | 8) Added possibility to change refresh rate of browsers when emulation is launched | |
170 | 9) Display partial hardware labels (Internal Memory and Graphics sub-system address space) in the disassembly lines displayed in the M68K tracing window | |
171 | -- Display first the hardware labels (based from the Jag V8 dev. PDF) and then the ones possibly found in the ELF debug symbol | |
172 | 10) Minor U.I cosmetic changes | |
173 | 11) User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68K tracing window | |
174 | -- It doesn't apply to the hardware labels possibly found in the ELF debug symbol | |
175 | ||
176 | Release 0 (5th January 2017) | |
177 | ---------------------------- | |
178 | 0) New option --debugger | |
179 | 1) ELF format support | |
180 | 2) ELF debug symbol support | |
181 | 3) "Step Into" code function | |
182 | 4) Menus layout dedicated to the debugger | |
183 | 5) Added a dedicated main window for tracing (M68K) | |
184 | 6) Added a Debugger tab in the config tab | |
185 | 7) Visual Studio 2015 project support | |
186 | 8) libelf-0.8.13 library support | |
187 | 9) 64 bits debug executable only | |
188 | ||
189 | ||
190 | Known issues | |
191 | ============ | |
192 | 1) Video output is not displayed due to my OpenGL / QT5 5.5.1 integration with VS 2015 but solved when using the QT 5.9.1 package for VS 2017 | |
193 | 2) The BPM (Breapoint) remains stuck on his address when user wants to continue the code execution | |
194 | -- Need to trace over the BPM or unset the BPM | |
195 | -- The issue can be prevented if the code doesn't set IRQ, otherwise the IRQ will need to be traced to get back control | |
196 | 3) DWARF 2 support | |
197 | -- With GCC: the code must be compiled with the -gdwarf-2 option | |
198 | 4) The Local and Watch variables window may display not available type information or empty information | |
199 | -- Such missing information may be included in future release | |
200 | -- The 'const' type may not be reported correctly in the DWARF information | |
201 | 5) The 2MB mirroring is no longer applied in case of --dram-max option usage | |
202 | 6) Stack must reflect the --dram-max option usage otherwise the stack may be corrupted | |
203 | -- The application needs to set the SP (Stack) in accordance | |
204 | 7) The Exception Vector Table window displays only 65 vectors | |
205 | -- Missing vectors may be added in future release | |
206 | 8) User needs to manualy check if the Atari Jaguar executable match his source code files | |
207 | -- Otherwise, source code and assembly may not match or leads to instabilities | |
208 | 9) The emulator needs to be restarted in case of the following actions occur | |
209 | -- Key bindings changes | |
210 | -- BIOS selection changes and without new executable load | |
211 | 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 | |
212 | 11) Emulator will crash in case of wrong address value provided in the memory browser | |
213 | 12) The RAM access log is limited to the 2MB | |
214 | 13) In various occasions, global variables may be duplicated or without name in the DWARF information | |
215 | -- It may come from the Vlink linker and/or GCC 7.1.0 or 8.2.0 compilation with -gdwarf-2 option | |
216 | 14) Source code disply only assembled code from vasm with option -dwarf | |
217 | 15) After a new breakpoint set, the breakpoint list window is not refreshed | |
218 | -- User must perform an operation, such code tracing, to see the breakpoints list update | |
219 | 16) Some ASCII characters may be not displayed correctly | |
220 | -- It depend how the text is displayed, this is related to the QT/HTML encoding done when reading DWARF file | |
24470541 | 221 | 17) Potential legacy crash when leaving emulator in pause mode for a long period of time |
1081a838 JPM |
222 | |
223 | Cosmetic / UX issues | |
224 | ==================== | |
225 | 1) The SP (Stack) icon color backgound doesn't look similar with the other ones | |
226 | 2) The SP (Stack) browser size always open at a forced size no matter if the size has been changed | |
227 | 3) Not every features have associated key bindings | |
228 | ||
229 | Legacy issues/hints | |
230 | =================== | |
231 | 1) Emulator seems to have easter egg(s) | |
232 | -- The option --yarrr displays a single message and end the application | |
233 | -- Pressing F8, while in the main window, will create an extra message in the log file | |
234 | 2) The --alpine option force the log file but it can be override if --no-log option is set after the --alpine option | |
235 | ||
236 | Project information | |
237 | =================== | |
238 | 1) Code based on the Shamus Hammons source code available via Gethub by the 12th September 2017 (2.1.3 Final) | |
239 | 2) Visual Studio 2015/2017 project support for 64 bits | |
240 | 3) libelf 0.8.13 library 64bits for VS 2015/2017 | |
241 | 4) libdwarf 1.41 library 64bits for VS 2015, cygwin64 and Msys2/MinGW64 | |
242 | 5) QT 5.5.1 library 64bits for VS 2015 | |
f951022b | 243 | 6) QT 5.12.0 library 64bits for VS 2017 |
1081a838 JPM |
244 | 7) Zlib 1.2.8 library 64bits for VS 2015 |
245 | 8) Zlib 1.2.11 library 64bits for VS 2017 | |
246 | 9) SDL 1.2.15 library 64bits for VS 2015/2017 | |
247 | 10) The original make files have been modified to follow the requirements and modifications | |
248 | 11) The 'Rx' word has been added to the emulator name to make distinction with the official version | |
249 | 12) The project is set at https://github.com/djipi/Virtual-Jaguar-Rx | |
250 | 13) GPLv3 file document has been renamed as LICENSE, to fit better the GitHub requirements | |
251 | -- Text / License terms are the same | |
252 | ||
253 | ||
254 | Download statistics | |
255 | ------------------- | |
256 | jaguar64eu : 15 downloads for the Release 0 on the 12th Feb, 2017 | |
257 | jaguar64eu : 18 downloads for the Release 1 on the 21st May, 2017 | |
258 | No downloads statistics available for the Release 2 | |
259 | No downloads statistics available for the Release 3 |