Added the return address information in the call stack
[clinton/Virtual-Jaguar-Rx.git] / docs / vj_ReleaseNotes.txt
CommitLineData
879b84c5
JPM
1Release 4 (TBD)\r
2---------------\r
2b91c435
JPM
3Git commit: TBD\r
4-\r
879b84c5 50) The zoom value setting has been fixed in the registry\r
e857856a 61) Debugger mode now shares the same alpine rom path setting\r
1bb61ebf 72) Local variables window displays register name now\r
a2dfb8e5 83) Switch to Zlib 1.2.11 static library 64bits for VS 2017\r
169c1409 94) Switch to SDL 1.2.15 static library 64bits for VS 2017\r
1bb61ebf
JPM
105) Local variables window displays values from function's parameters\r
116) Fixed the typedef's name display in Local and Watch variables window\r
a8c13b4d
JPM
127) Breakpoint may now occur in case of a ROM cartridge writing\r
13-- ROM cartridge writing detection follow the alpine "allow writes to cartridge rom"'s flag check\r
eb20f274 14-- 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\r
47b6ecae 158) Local variables window detects now if a variable is used or not by the code\r
fe3b257d 169) The address provided in the debugger memory windows is now verified to prevent crash\r
a2dfb8e5 17-- Wrong address will be displayed in red\r
2b91c435 1810) UI changes \r
a2dfb8e5
JPM
19-- Added new icons for the exit and status features\r
20-- Modified icons for the SP (Stack) browser\r
21-- Unified icons sizes depend on their usage (drop down menu and main menu)\r
22-- Underline the active M68K line in the disassembly window\r
23-- Allow the up/down navigation on the SP (Stack) browser\r
24-- Restart function cleans-up the SP (Stack) browser and the heap allocator system\r
2b91c435
JPM
25-- Fixed the up navigation on the memory window\r
2611) Added some log information for the emulator initialisations\r
2712) Breakpoint will happen in case of writing at unknown memory location\r
28-- Alert box will display a message and then the code will stop\r
2913) Added the DRAM size in the emulator status window\r
3014) Debugger sources code clean-up\r
3115) Added a call stack feature\r
3216) Follow platform requirement to prevent source file reading issue\r
3317) UI modifications\r
a4e46c05
JPM
34-- Modified icon for the memory window to make a distinction with the memory browser\r
35-- The all watch, and Exception Vector Table windows, can be closed using keyboard\r
36-- Renamed the debugger dedicated icons to make a distinction\r
37-- Added the call stack window\r
2b91c435 3818) Fixed a crash in the all watch window after loading a new binary without ELF/DWARF information\r
a4e46c05 39-- Previously used ELF/DWARF information was still accessible\r
2b91c435
JPM
4019) Fixed slash/backslash issue, in the Alpine tab, to follow platform requirement\r
4120) Heap allocation window uses the DRAM size limit option and detect if heap allocation shares space with SP (Stack)\r
4221) Added a Jaguar model and BIOS configuration tab\r
4322) Jaguar model and BIOS configuration integration\r
4423) Added LEB128 decoding functions\r
45-- It is used for the DWARF decoding information\r
4624) Debugger support improvement\r
fe3b257d 47-- DWARF support for the enum type (partial), structure and subroutine type\r
2b91c435
JPM
48-- Debugger can report variable's unsigned char value\r
4925) UI modifications\r
50-- Added a status bar, better status report & information display for the heap allocation window\r
51-- Added a status bar, better status report & information display for the local variables window\r
52-- Added better information display for the exception vectors table window, and added some missing vectors\r
53-- Added a status bar, better status report & information display for the call stack window\r
54-- Added a status bar, better status report & information display for the all watches window\r
fe3b257d
JPM
5526) Added screenshot feature\r
56-- Not accessible in debugger mode\r
57-- Added screenshot editable path in the general tab, and a key binding\r
5827) Minor misspellings fixes\r
5928) DWARF source code directory path clean-up\r
6029) Added a source code files list viewer\r
61-- List comes from the DWARF information\r
6230) Check potential variables missing/incomplete description found in the DWARF information\r
63-- No crash involved but can help to reduce such as variables duplicate or the blank ones\r
6431) Added a sorting filter in the all watches window\r
6532) Improve source code file reading to avoid additional text/bytes reading\r
6633) Help & content texts updates\r
425f1b79 6734) Fixed a crash legacy issue when emulator launches in Alpine mode without a valid rom\r
5fa7aa73
JPM
6835) Added the support for the used lines source's DWARF structure\r
69-- Mostly used to handle missing subprogram's lines information, and missing CU's low/high PC\r
7036) Added the Rx version's contact in the help text\r
f0dd2f7b
JPM
7137) Added search paths in case of missing DWARF directories information\r
72-- Used to look for the file(s)\r
879b84c5 73\r
b1b673a3
JPM
74Release 3 (13th November 2017)\r
75------------------------------\r
a2dfb8e5
JPM
76Git commit: b1b673a3b0d19e3c2c45b6590b773b11e45bced7\r
77-\r
2d0121d4 780) Fixed the windows respawning in the next emulator launch within --alpine or --debugger options\r
8d867eb2 791) Added an Exception Vector Table window\r
be44e757
JPM
802) Modified the About window to update the credits list in a more appropriate way\r
81-- Updated the emulator application credits line\r
823) Added 'Rx' word to the emulator name\r
834) Fixed a crash when reading the DWARF information in the case of the DWARF2 format has not been used\r
1bb61ebf 845) Added ui, alpine and debugger groups in the settings\r
be44e757 856) Added the possibility to erase settings\r
1bb61ebf 867) Added the --es-all, --es-ui, --es-alpine and --es-debugger options to erase specific settings\r
fe3b257d
JPM
878) Added a key bindings tab and adapted the configuration dialog tabs\r
88-- User can modify the key bindings where appropriate\r
89-- Key bindings UI is displayed based on the option used (--debugger, -- alpine)\r
2d0121d4
JPM
909) Fixed a crash, in Release mode, when the HW labels setting is turn on\r
9110) Solved an interference between the HW labels setting and the one used by the debugger\r
92-- The setting is now only the reference used\r
a2dfb8e5 9311) Fixed the SP (Stack) browser UI potential missing data\r
4bb7c3f5 9412) Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist\r
9bf5c434 9513) Keep the scrollbar position in accordance of the M68K PC pointer\r
41d6f5f7 96-- UI displays the source without the need to move down/up the scrollbar\r
95fe01d7 9714) Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file\r
41d6f5f7 98-- This may come from the linker vlink\r
88b2434e
JPM
9915) Improved the .heap section detection to avoid a detection error\r
100-- Depend vlink version, .heap section may have an Alloc flag\r
95fe01d7 10116) Fixed a crash when DWARF information does references to missing source code files\r
8d867eb2 10217) Added a local variables window\r
820579e2 10318) Project has switched to Visual Studio 2017 and QT 5.9.1 library\r
be44e757
JPM
104\r
105Release 2 (3rd September 2017)\r
106------------------------------\r
1070) Added some error detections when reading the ELF executable file\r
1081) Added all hardware labels (based on the document scans from the Version 2.4 - June 7, 1995)\r
1092) "Step Over" code function for BSR/JSR functions\r
1103) Added the .debug_ranges detection to avoid a detection error\r
1114) DWARF support\r
112-- TAG: Compilation Unit, Subprogram, Variables, Types\r
113-- Line numbers, symbols, functions\r
8d867eb2
JPM
1145) Added an All Watch window for non-local variables\r
1156) Added a heap allocator window based on my own memory allocation functions\r
1167) Added additional 4 memory windows with address input based on hexa, decimal or symbol name\r
be44e757
JPM
1178) Windows refreshing executed only if windows is visible\r
1189) Added a restart function\r
119-- Restart only the 68000 program counter to his original set\r
12010) Modified the icons color backgound for the "Step In" and "Step Over" functions\r
12111) Updated the About window to update the credits list\r
12212) 64 bits Release executable\r
a2dfb8e5 12313) Fixed (hacking) the display of the SP (Stack) browser\r
be44e757
JPM
12414) Set the emulator in Halt mode when launched in alpine debug mode without a loaded rom\r
125-- Otherwise the 68000 program counter will have a 0 value and will execute the code at this address\r
12615) Added some information in the --help/-h/-? option\r
12716) --debugger option no longer force the log file\r
12817) Added a --dram-max option to extend the DRAM size to 8MB\r
12918) Added the "enter" key support when setting the BPM (Breapoint)\r
13019) Save the windows positions, size and visibilities (show or hide) status\r
131-- Such windows will automatically respawn in the next emulator launch\r
132\r
133Release 1 (12th February 2017)\r
134------------------------------\r
1350) BPM (Breapoint) now stop at the designated address and no longer stop after executing the code\r
1361) Clean-up the tracing / no-tracing flags for better U.I understanding\r
a2dfb8e5 1372) Added SP (Stack) browser\r
be44e757
JPM
1383) User can change now the number of lines of disassembly displayed in the tracing window\r
1394) User can turn on/off the op-codes associated in the disassembly lines displayed in the M68K tracing window\r
1bb61ebf 1405) Added an emulator status window (GPU status, M68K debugger and tracking status)\r
be44e757
JPM
1416) Added a GPU disassembly tracing window - Display the current PC pointer\r
1427) Added a DSP disassembly tracing window - Display the current PC pointer\r
a2dfb8e5 1438) Added possibility to change refresh rate of browsers when emulation is launched\r
1bb61ebf 1449) Display partial hardware labels (Internal Memory and Graphics sub-system address space) in the disassembly lines displayed in the M68K tracing window\r
be44e757
JPM
145-- Display first the hardware labels (based from the Jag V8 dev. PDF) and then the ones possibly found in the ELF debug symbol\r
14610) Minor U.I cosmetic changes\r
14711) User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68K tracing window\r
148-- It doesn't apply to the hardware labels possibly found in the ELF debug symbol\r
149\r
150Release 0 (5th January 2017)\r
151----------------------------\r
1520) New option --debugger\r
1531) ELF format support\r
1542) ELF debug symbol support\r
1553) "Step Into" code function\r
1564) Menus layout dedicated to the debugger\r
1575) Added a dedicated main window for tracing (M68K)\r
1586) Added a Debugger tab in the config tab\r
1597) Visual Studio 2015 project support\r
1608) libelf-0.8.13 library support\r
1619) 64 bits debug executable only\r
162\r
163\r
164Known issues\r
165============\r
820579e2 1661) 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\r
be44e757
JPM
1672) The BPM (Breapoint) remains stuck on his address when user wants to continue the code execution\r
168-- Need to trace over the BPM or unset the BPM\r
eb20f274 169-- The issue can be prevented if the code doesn't set IRQ, otherwise the IRQ will need to be traced to get back control\r
425f1b79
JPM
1703) To support DWARF 2\r
171-- With GCC: the code must be compiled with the -gdwarf-2 option\r
2b91c435 1724) The Local and Watch variables window may display not available type information or empty information\r
be44e757 173-- Such missing information may be included in future release\r
2b91c435 174-- The 'const' type may not be reported correctly in the DWARF information \r
be44e757
JPM
1755) The 2MB mirroring is no longer applied in case of --dram-max option usage\r
1766) Stack must reflect the --dram-max option usage otherwise the stack may be corrupted\r
177-- The application needs to set the SP (Stack) in accordance\r
a2dfb8e5 1787) The Exception Vector Table window displays only 65 vectors\r
be44e757 179-- Missing vectors may be added in future release\r
49a6ac1c
JPM
1808) User needs to manualy check if the Atari Jaguar executable match his source code files\r
181-- Otherwise, source code and assembly may not match or leads to instabilities\r
2b91c435 1829) The emulator needs to be restarted in case of the following actions occur\r
fe3b257d 183-- Key bindings changes\r
2b91c435 184-- BIOS selection changes and without new executable load\r
a2dfb8e5
JPM
18510) 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\r
18611) Emulator will crash in case of wrong address value provided in the memory browser\r
a8c13b4d 18712) The RAM access log is limited to the 2MB\r
fe3b257d
JPM
18813) In various occasions, global variables may be duplicated or without name in the DWARF information\r
189-- It may come from the Vlink linker and/or GCC 7.1.0 or 8.2.0 compilation with -gdwarf-2 option\r
be44e757
JPM
190\r
191Cosmetic / UX issues\r
192====================\r
1931) The SP (Stack) icon color backgound doesn't look similar with the other ones\r
a2dfb8e5 1942) The SP (Stack) browser size always open at a forced size no matter if the size has been changed\r
fe3b257d 1953) Not every features have associated key bindings\r
be44e757
JPM
196\r
197Legacy issues/hints\r
198===================\r
1991) Emulator seems to have easter egg(s)\r
200-- The option --yarrr displays a single message and end the application\r
2d0121d4 201-- Pressing F8, while in the main window, will create an extra message in the log file\r
be44e757
JPM
2022) The --alpine option force the log file but it can be override if --no-log option is set after the --alpine option\r
203\r
204Project information\r
205===================\r
024bfc46 2061) Code based on the Shamus Hammons source code available via Gethub by the 12th September 2017 (2.1.3 Final)\r
820579e2
JPM
2072) Visual Studio 2015/2017 project support for 64 bits\r
2083) libelf 0.8.13 library 64bits for VS 2015/2017\r
1bb61ebf 2094) libdwarf 1.41 library 64bits for VS 2015, cygwin64 and Msys2/MinGW64\r
be44e757 2105) QT 5.5.1 library 64bits for VS 2015\r
820579e2 2116) QT 5.9.1 library 64bits for VS 2017\r
e857856a 2127) Zlib 1.2.8 library 64bits for VS 2015\r
fe3b257d
JPM
2138) Zlib 1.2.11 library 64bits for VS 2017\r
2149) SDL 1.2.15 library 64bits for VS 2015/2017\r
21510) The original make files have been modified to follow the requirements and modifications\r
21611) The 'Rx' word has been added to the emulator name to make distinction with the official version\r
21712) The project is set at https://github.com/djipi/Virtual-Jaguar-Rx\r
21813) GPLv3 file document has been renamed as LICENSE, to fit better the GitHub requirements\r
be44e757
JPM
219-- Text / License terms are the same\r
220\r
221\r
222Download statistics\r
223-------------------\r
224jaguar64eu : 15 downloads for the Release 0 on the 12th Feb, 2017\r
225jaguar64eu : 18 downloads for the Release 1 on the 21st May, 2017\r
e857856a
JPM
226No downloads statistics available for the Release 2\r
227No downloads statistics available for the Release 3\r