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