Commit | Line | Data |
---|---|---|
82c1bdcc JPM |
1 | Virtual Jaguar v2.1.3 R5 GCC/Qt |
2 | ------------------------------- | |
3 | ||
4 | * Specific breakpoints for the M68000 "illegal instruction", "address error", "bus error", "Unimplemented instruction", and "Exception not referenced" exceptions | |
5 | * Specific breakpoints will occur in case of a rom writes at an unknown location | |
6 | * Added a HW registers browser window for the Blitter | |
7 | * Fixes for the Linux platform from @richard42 | |
8 | * Stability & improvements for the debugger mode | |
9 | - ELF & DWARF information support improvements | |
10 | - Modified the call stack layout window | |
11 | - Added a search feature in the All Watch global variables window | |
12 | - Added a video output display in a specific window | |
13 | - Show the SR value as a readable form in the M68000 CPU browser | |
14 | - Added a tracing, step in and step over, at source code level | |
15 | - Added a source code file date check when reading DWARF information | |
16 | - Support the structure's members in the Local variables window | |
17 | - Improvements for the two Breakpoints windows | |
18 | - Added two M68000 cycles counters in the status window | |
19 | ||
20 | ||
9b25d85d JPM |
21 | Virtual Jaguar v2.1.3 R4 GCC/Qt |
22 | ------------------------------- | |
23 | ||
24 | * Fixed a crash legacy issue when emulator launches in Alpine mode without a valid rom | |
25 | * Stability improvements for the DWARF information decoding, the all watch, and the debugger memory windows | |
26 | * Improvements and fixes for the Heap allocation, the Alpine tab, the emulator status, Local & all Watch variables windows | |
27 | * Debugger mode improvements, better source code file reading and ELF/DWARF structures decoding | |
28 | * Breakpoint / alert box may now occur in case of writing at unknown memory location or in case of ROM writing | |
29 | * UI modifications mostly for the debugger mode, key bindings, and icons | |
30 | * Added screenshot & call stack window features, Jaguar model & BIOS configurations, and a source code files list viewer | |
82c1bdcc | 31 | * Added multiple breakpoints feature but only for M68000 functions |
9b25d85d JPM |
32 | * Added a Save Dump As... feature to save a memory zone to a file |
33 | * Added a cartdridge view menu to display cartdridge directory system and his files list | |
34 | * Added some log information for the emulator initialisations | |
35 | * Added search paths in case of missing DWARF directories information | |
36 | * Added ELF sections check so a potential unknown section will stop, or not stop, the ELF structure decoding | |
37 | * Minor misspellings fixes and text help update | |
38 | * The -d command line option, dedicated to the debugger, has been renamed with -D | |
39 | * Updates for the setup registries | |
40 | ||
41 | ||
b1b673a3 | 42 | Virtual Jaguar v2.1.3 R3 GCC/Qt |
cf76e892 JPM |
43 | ------------------------------- |
44 | ||
b1b673a3 JPM |
45 | * Added an Exception Vector Table browser window |
46 | * Modified the About window to update the credits list in a more appropriate way | |
47 | * Fixed a crash when reading the DWARF information in the case of the DWARF2 format has not been used | |
48 | * Added ui, alpine & debugger groups in the settings | |
49 | * Added the possibility to erase settings | |
50 | * Added the --es-all, --es-ui, --es-alpine & --es-debugger options to erase specific settings | |
fe3b257d | 51 | * Added a key bindings tab and adapted the configuration dialog tabs |
b1b673a3 JPM |
52 | * Fixed a crash, in Release mode, when the HW labels setting is turn on |
53 | * Fixed the SP (Stack) window UI potential missing data | |
54 | * Create a directory for EEPROMs (based on the EEPROMs setting) if it doesn't already exist | |
82c1bdcc | 55 | * Keep the scrollbar position in accordance of the M68000 PC pointer |
b1b673a3 JPM |
56 | * Fixed a crash when DWARF information report a source line number exceeding the number of lines present in a source file |
57 | * Improved the .heap section detection to avoid a detection error | |
58 | * Fixed a crash when DWARF information does references to missing source code files | |
59 | * Added a Local browser window for local variables | |
cf76e892 JPM |
60 | |
61 | ||
b1b673a3 JPM |
62 | Virtual Jaguar v2.1.3 R2 GCC/Qt |
63 | ------------------------------- | |
64 | ||
65 | * Added some error detections when reading the ELF executable file | |
66 | * Added all hardware labels (based on the document scans from the Version 2.4 - June 7, 1995) | |
67 | * "Step Over" code function for BSR/JSR functions | |
68 | * Added the .debug_ranges detection to avoid a detection error | |
69 | * DWARF format support | |
70 | * Added an All Watch browser window for non-local variables | |
71 | * Added a heap allocator browser window based on my own memory allocation functions | |
72 | * Added additional 4 memory browser windows with address input based on hexa, decimal or symbol name | |
73 | * Windows refreshing executed only if windows is visible | |
74 | * Added a restart function | |
75 | * Updated the About window to update the credits list | |
76 | * Fixed (hacking) the display of the SP (Stack) memory browser | |
77 | * Set the emulator in Halt mode when launched in alpine debug mode without a loaded rom | |
78 | * Added some information in the --help/-h/-? option | |
79 | * --debugger option no longer force the log file | |
80 | * Added a --dram-max option to extend the DRAM size to 8MB | |
81 | * Added the "enter" key support when setting the BPM (Breapoint) | |
82 | * Save the windows positions, size and visibilities (show or hide) status | |
83 | ||
84 | ||
85 | Virtual Jaguar v2.1.3 R1 GCC/Qt | |
86 | ------------------------------- | |
87 | ||
88 | * BPM (Breapoint) now stop at the designated address and no longer stop after executing the code | |
89 | * Added SP (Stack) memory browser | |
90 | * User can change now the number of lines of disassembly displayed in the tracing window | |
82c1bdcc JPM |
91 | * User can turn on/off the op-codes associated in the disassembly lines displayed in the M68000 tracing window |
92 | * Added an emulator status window (GPU status, M68000 debugger & tracking status) | |
b1b673a3 JPM |
93 | * Added a GPU disassembly tracing window - Display the current PC pointer |
94 | * Added a DSP disassembly tracing window - Display the current PC pointer | |
95 | * Added possibility to change refresh rate of browser windows when emulation is launched | |
82c1bdcc JPM |
96 | * Display partial hardware labels (Internal Memory & Graphics sub-system address space) in the disassembly lines displayed in the M68000 tracing window |
97 | * User can turn on/off the hardware labels associated in the disassembly lines displayed in the M68000 tracing window | |
b1b673a3 JPM |
98 | |
99 | ||
100 | Virtual Jaguar v2.1.3 R0 GCC/Qt | |
101 | ------------------------------- | |
102 | ||
103 | * New option --debugger | |
104 | * ELF format support | |
105 | * ELF debug symbol support | |
106 | * "Step Into" code function | |
107 | * Menus layout dedicated to the debugger | |
82c1bdcc | 108 | * Added a dedicated main window for tracing (M68000) |
b1b673a3 JPM |
109 | * Added a Debugger tab in the config tab |
110 | ||
cf76e892 JPM |
111 | |
112 | Virtual Jaguar v2.1.3 GCC/Qt | |
113 | ---------------------------- | |
114 | ||
115 | * Added interlaced mode handling. [Shamus] | |
116 | ||
117 | ||
118 | Virtual Jaguar v2.1.2 GCC/Qt | |
119 | ---------------------------- | |
120 | ||
121 | * Bugfix for catastrophic failure in Controller config dialog. Thanks to ggn for | |
122 | reporting this! [Shamus] | |
123 | * Bugfix for non-English locales. Thanks to SCPCD for reporting! [Shamus] | |
124 | ||
125 | ||
126 | Virtual Jaguar v2.1.1 GCC/Qt | |
127 | ---------------------------- | |
128 | ||
129 | * Added controller profiles. What this means is that if you left your gamepad | |
130 | behind and/or have a different one, VJ will let you create a controller | |
131 | config for the new controller without destroying the old one. This also means | |
132 | that if you have *no* controllers, you can still play VJ with the keyboard. | |
133 | [Shamus] | |
134 | * Fixed a few problems with the DSP timing; as a result, the sound in Rayman | |
135 | and the FACTS demo is correct now. [Shamus] | |
136 | * Removed toolbar from full screen mode. [Shamus] | |
137 | * Added analog inputs to gamepad support. [Shamus] | |
138 | * Fixed 6MB cartridge space access limitation. 6MB carts should work now. | |
139 | [Shamus] | |
140 | * Fixed problem with JERRY interrupts corrupting the M68K core. [Shamus] | |
141 | ||
142 | ||
143 | Virtual Jaguar v2.1.0 GCC/Qt | |
144 | ---------------------------- | |
145 | ||
146 | * Added gamepad support. [Shamus] | |
147 | * Added fullscreen option. [Shamus] | |
148 | * Added some more developer goodies to Alpine mode. [Shamus] | |
149 | * Re-added command line switches. [Shamus] | |
150 | * Moved JERRY into host audio IRQ. This should make sound much smoother, though | |
151 | it may run ahead of the rest of the emulator. [Shamus] | |
152 | * Kludged a fix into the audio handler to set the correct frequency for audio | |
153 | playback. Note that there could still be problems with this approach, as it | |
154 | can be easily fooled. Thanks to Dr. Typo for the initial analysis and insight | |
155 | into this bug. :-) [Shamus] | |
156 | * Preliminary fixes for proper emulation of memory reads between $200000 and | |
157 | $800000. [Shamus] | |
158 | * Proper handling in the OP of objects with 0 IWIDTH. [Shamus] | |
159 | ||
160 | ||
161 | Virtual Jaguar v2.0.2 GCC/Qt | |
162 | ---------------------------- | |
163 | ||
164 | * Fixed problem on OP with 24BPP bitmaps. [Shamus] | |
165 | * Cosmetic GUI fixes. [Shamus] | |
166 | * Switched to UAE 68000 CPU core. [Shamus] | |
167 | * Fixed some RISC STORE and LOAD alignment issues. Still need to verify against | |
168 | real hardware. [Shamus] | |
169 | * Fixed video frame timing for both NTSC *and* PAL. [Shamus] | |
170 | * Improved OP logging, added emulation of OP bug. [Shamus] | |
171 | * Fixed addressing bug with UAE 68000 core. [Shamus] | |
172 | ||
173 | ||
174 | Virtual Jaguar v2.0.1 GCC/Qt | |
175 | ---------------------------- | |
176 | ||
177 | * Fixed NTSC timings; they were hardwired to PAL rates. [Shamus] | |
178 | * Fixed possible missing trailing slash on path fields input by user. [Shamus] | |
179 | * Fixed exit hotkey to work on Win32. [Shamus] | |
180 | * Changed PAL/NTSC switch to only work when virtual machine is powered off. | |
181 | [Shamus] | |
182 | * Miscellaneous documentation fixes. [Shamus] | |
183 | ||
184 | ||
185 | Virtual Jaguar v2.0.0 GCC/Qt | |
186 | ---------------------------- | |
187 | ||
188 | * Switched GUI to Qt. And there was much rejoicing. ;-) [Shamus] | |
189 | * Added detection code to fish out files from inside ZIP archives. What this | |
190 | means is that now you can have other goodies inside of your ROM ZIP like | |
191 | labels, box art, and overlays. See built-in help for details. [Shamus] | |
192 | * Various usability improvements, too many to list here. ;-) [Shamus] | |
193 | * Various compatibility improvements to the Jaguar core, too many to list | |
194 | here. ;-) [Shamus] | |
195 | ||
196 | ||
197 | Virtual Jaguar v1.1.0 GCC/SDL (r299 - Never officially released) | |
198 | ---------------------------------------------------------------- | |
199 | ||
200 | * Switched OpenGL rendering to 32 BPP. This is not only how a real Jaguar | |
201 | renders graphics, but it also gives VJ a nice speed boost. ;-) [Shamus] | |
202 | * Changed execution to a time-based solution so that timers and IRQs and | |
203 | such can happen when they're supposed to. [Shamus] | |
204 | * Fixed blitter writes so that Intensity[0-3] and Z[0-3] are written in the | |
205 | correct order. [Shamus] | |
206 | * Major rewrite of blitter to conform the the TOM ASIC nets. This should fix a | |
207 | bunch of stuff that wasn't working correctly before. [Shamus] | |
208 | * Fixed writes to 64 bit blitter registers. [Shamus] | |
209 | * Refactored GUI to be more maintainable, better looking and more responsive. | |
210 | [Shamus] | |
211 | ||
212 | ||
213 | Virtual Jaguar v1.0.7 GCC/SDL | |
214 | ----------------------------- | |
215 | ||
216 | * Various fixes to make for smoother compilation on MacOS. [Adam Green] | |
217 | * Fixes to filetype parsing. VJ now properly recognizes .abs, .jag, .rom, | |
218 | and .j64 files--be sure to check the README for the gory details! [Shamus] | |
219 | * Added a kludge to allow homebrew demos to run without a Stubulator ROM and | |
220 | without crashing the emulator. [Shamus] | |
221 | * Fixed a blitter intensity addition problem. This fixes the title in Hover | |
222 | Strike and the road/shadows in Checkered Flag. [Shamus] | |
223 | * Partially fixed a problem with the SUBC opcode in the RISC processors. This | |
224 | allows Hover Strike, Phase Zero and Fight For Life to boot into their title | |
225 | screens and makes them somewhat playable. [Shamus] | |
226 | * Fixed a horizontal scaling problem in the OP and the off-by-one bug that it | |
227 | reintroduced. This fixes the road in Atari Karts and probably a few others. | |
228 | [Shamus] | |
229 | * Fixed a long standing blitter bug that kept certain doors in AvP from | |
230 | rendering correctly. [Shamus] | |
231 | * Fixed some vertical positioning bugs in the OP. Now Checkered Flag, Alien | |
232 | vs Predator and probably others now work as they should (graphically ;-) | |
233 | [Caz] | |
234 | * Better GUI support. Most options in the GUI work now, and more are expected | |
235 | to be functional in the near future. [Shamus] | |
236 | * Fixed a few more lingering blitter bugs (there are more to be found). This | |
237 | fixes most of the glitches in Cybermorph and Alien vs Predator. [Shamus] | |
238 | * Fixed an Object Processor scaled bitmap bug that caused incorrect | |
239 | positioning of scaled bitmaps that started outside the line buffer, and | |
240 | also fixed a problem that caused the OP to hang in certain situations. This | |
241 | fixes Bubsy, International Sensible Soccer, and probably a few others. | |
242 | [Shamus] | |
243 | * Cleaned up various bits of video rendering related code. [nwagenaar] | |
244 | * Added support for OpenGL textures with a depth of 16bpp, 24bpp or 32bpp. | |
245 | [nwagenaar] | |
246 | * Rewrote several OpenGL related rendering code concerning the new OpenGL | |
247 | texture depths and texture sizes. [nwagenaar] | |
248 | * Rewrote several OpenGL rendering functions concerning speed related items. | |
249 | [nwagenaar] | |
250 | * Several bugs resolved due to OpenGL and normal rendering code. [nwagenaar] | |
251 | * Default resolution for OpenGL is now 640x480. [nwagenaar] | |
252 | ||
253 | ||
254 | Virtual Jaguar v1.0.6 GCC/SDL | |
255 | ----------------------------- | |
256 | ||
257 | * Added support for gzipped ROM files. [Adam Green] | |
258 | * Added OpenGL support. Because of this, aspect ratios in the various | |
259 | graphic modes should be correct now. Thanks goes to Niels for enlightenment | |
260 | in this area. :-) [Shamus] | |
261 | * Moved all platform specific video code to video.cpp. This should make it | |
262 | easier to add functionality to the video subsystem without having to chase | |
263 | code around in places where it didn't belong. [Shamus] | |
264 | * Key bindings are now customizable. [Shamus] | |
265 | * VJ now uses a config file (vj.cfg) for commonly used settings. Settings in | |
266 | the config file can still be overridden by command line switches. [Shamus] | |
267 | * Preliminary GUI mouse support. [Shamus] | |
268 | * Fixed an off-by-one bug in the Object Processor when dealing with scaled | |
269 | bitmap objects. [Shamus] | |
270 | * Fully virtualized screen size. What this means is that we can keep the | |
271 | Jagaur screen displayed in a convenient size (320 x 240) and the graphics | |
272 | that various ROMs display will now be properly centered (more or less, they | |
273 | were really centered for a TV display). [Shamus] | |
274 | * Border color is now displayed properly. [Shamus] | |
275 | * Fully pipelined DSP core. Because of this, Wolfenstein 3D now has sound. To | |
276 | use the old core, use the -nopipeline switch. [Shamus] | |
277 | ||
278 | ||
279 | Virtual Jaguar v1.0.5 GCC/SDL | |
280 | ----------------------------- | |
281 | ||
282 | * Various fixes to the codebase so that it compiles and works properly on | |
283 | Linux. :-) The makefiles are almost identical now, the only thing that's | |
284 | different between them are the SYSTYPE and EXESUFFIX variables defined at | |
285 | the top. [Shamus] | |
286 | * Fixed a pernicious blitter bug that kept Rayman from doing proper collision | |
287 | detection. [Shamus] | |
288 | * Added a simple file selector so that typing in long filenames in order to | |
289 | run the emulator is no longer necessary. :-) To use it, instead of | |
290 | supplying a ROM name, simply put in the name of the directory where your | |
291 | ROMs live. [Shamus] | |
292 | * Removed all the assembly language code from the DSP, so it should be a | |
293 | little less buggy now. Also, removed some brain-dead timeslice releasing | |
294 | that was causing a bunch of problems with various ROMs. [Shamus] | |
295 | * Added sound support! In order to hear any sound, you probably have to | |
296 | start VJ with the -dspon switch. Also, unless you have a very fast computer | |
297 | the sound is going to be choppy. Hopefully future optimizations will cure | |
298 | this. ;-) [Shamus] | |
299 | * Added GUI support. You can see the results by hitting the TAB key while the | |
300 | emulator is running. ;-) [Shamus] | |
301 | * Lots of cleanups to the source code including the ability to trace who | |
302 | writes what to where. [Shamus] | |
303 | ||
304 | ||
305 | Virtual Jaguar v1.0.4 GCC/SDL - source only release | |
306 | --------------------------------------------------- | |
307 | ||
308 | * Lots of bugfixes. [Shamus] | |
309 | * Jaguar BIOS now works properly and is used by default. BIOS failure was | |
310 | due to a bug in the GPU (specifically in the SUBC and ADDC opcodes). To | |
311 | override this behavior, use the -nobios switch. [Shamus] | |
312 | * Rewrote the OP code--mostly because it was pissing me off. ;-) Not | |
313 | to mention that it was almost completely unmaintainable in its former | |
314 | state and was just plain wrong in its implementation in many places. | |
315 | Because of this, some RMW effects that were missing from AvP are present | |
316 | now and leftover crud in scaled bitmaps in Rayman is gone now. ;-) [Shamus] | |
317 | * ZIP support! Now there is no longer any need to unzip ROMs (although if | |
318 | you prefer to waste HD space, VJ will gladly accomodate you). The code to | |
319 | support this is a pretty ugly hack, but it works and there are other fish | |
320 | to fry at the moment. Also, ZLIB is now required to compile VJ. [Shamus] | |
321 | * Support for PD ROMs. Currently the only one that works at all is JagMania, | |
322 | though as the hardware emulation gets better more PD ROMs will begin to | |
323 | work. Note that you must use the -nobios switch for this to work. [Shamus] | |
324 | * Preliminary support for PAL Jaguar emulation. Default is NTSC. To use it, | |
325 | use the -pal switch. [Shamus] | |
326 | * Support for DSP activation. The DSP is now *off* by default, since it | |
327 | doesn't work properly yet. Use the -dspon switch to force the DSP on. | |
328 | [Shamus] | |
329 | * Removed all hacks that were written to support a specific ROM from the OP | |
330 | and GPU code (much more remains to be removed). Since the CRCs that were | |
331 | calculated to support these hacks were done on byte swapped ROMs, they | |
332 | weren't working anyway. Besides which, a hack means that you don't | |
333 | understand the hardware properly and/or don't know how to write the code to | |
334 | properly emulate the hardware. ;-) [Shamus] | |
335 | * Renamed the executable from the ridiculously named jag_em to the more | |
336 | sensibly named vj. Note that the Jag_em.cpp file has also been changed to | |
337 | reflect this name change. [Shamus] | |
338 | * Removed Aaron Giles 68K dissasembler in favor of the one included with the | |
339 | Musashi core. It's there, why not use it? ;-) [Shamus] | |
340 | * Reordered the order of A, B, and C buttons to more accurately reflect their | |
341 | respective positions on a real Jaguar controller. Also fixed a small bug that | |
342 | kept the number pad from reporting the right numbers to the emulator. :-) | |
343 | [Shamus] | |
344 | * Started to remove the !__PORT__ defintions from the source code. Since this | |
345 | is supposed to be a portable emulator, we won't be using any MS specific | |
346 | code anyway. [Shamus] | |
347 | * Fixed some problems with the blitter when doing clipping and bit expansion. | |
348 | Also fixed (reintroduced?) a bug that existed in the real blitter HW (the | |
349 | YADD1 bit in A2--fixes Tempest 2000). [Shamus] | |
350 | * Probably a bunch of other stuff that I've forgotten about. ;-) [Shamus] | |
351 | ||
352 | NOTE: Tested only on WIN32 platform! ;-) | |
353 | ||
354 | ||
355 | Virtual Jaguar v1.0.3 GCC/SDL - source only release | |
356 | --------------------------------------------------- | |
357 | ||
358 | * Converted GNU assembly in the GPU core to C code -- Rayman and | |
359 | Alien vs Predator work again. :-) [Shamus] | |
360 | * Removed closed source Starscream and replaced it with the open source | |
361 | Musashi core. Because of this, VJ runs a little faster now. :-) [Shamus] | |
362 | * Various cleanups to the source files (still lots of work to do!). [Shamus] | |
363 | ||
364 | NOTE: Tested only on WIN32 platform! | |
365 | ||
366 | ||
367 | 1.0.1 - 1.0.2 - Unreleased, mostly for testing/finding bugs | |
368 | ----------------------------------------------------------- | |
369 | ||
370 | * Lots of stuff happened, but we can't remember any of it. :-) | |
371 | ||
372 | ||
373 | Virtual Jaguar v1.0.0 GCC/SDL - initial source release | |
374 | ------------------------------------------------------ | |
375 | ||
376 | * Converted VC++ assembly to standard GNU assembly. | |
377 | * Fixed small bugs in SDL related items (keyboard/graphics). | |
378 | * Added *some* optimalisations to the graphics sources. | |
379 | * Added joystick support (not tested). | |
380 | * Added joystick port support (not tested). | |
381 | * Added frameskip support. | |
382 | ||
383 | Source only release. Tested on BeOS, Linux, FreeBSD and WIN32. | |
384 | SOUND emulation was NOT done. Need help with this one :) | |
385 | ||
386 | ||
387 | SDLEMU (Niels Wagenaar & Caz) - http://sdlemu.ngemu.com |