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