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