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