Fixed potential crash with the debugger tabs reset
[clinton/Virtual-Jaguar-Rx.git] / docs / TODO
1 Stuff to add/fix for the next release of Virtual Jaguar
2 -------------------------------------------------------
3
4 - Fix VC behavior to match what a real Jaguar does. Still not sure just what
5 the heck is going on there. [Shamus]
6 - It would be nice to have the emulator pick up where you last left off, or at
7 least give you the option of continuing from your last session. This would
8 require save states, 'natch. ;-) [Shamus]
9 - It would be nice to have "save states" for instant save/load capability.
10 [Shamus]
11 - Cycle accuracy for GPU/DSP/OP/Blitter. [Shamus]
12 - Need to propagate blitter fixes in the A1 <- A2 direction to the A1 -> A2
13 direction and the GPU fixes to various instructions to the DSP. [Shamus]
14 - Blitter needs fixing. [Shamus]
15 - Audio/video dumping. [Shamus]
16 - Need to emulate bus contention. [Shamus]
17 - Need to fix timing in the OP. As it is now, it gives a false impression of
18 how much it's capable of. [Shamus]
19 - Fix coming out of fullscreen on Win32. As of now, it doesn't restore the
20 window position correctly [CJ]
21 - Fix the Tripper Getem ROM so that it works. It has some tight coupling
22 between the M68K and the DSP that causes the DSP to starve itself; fixing
23 this will probably fix a bunch of other timing related issues as well.
24 [Shamus]
25
26
27 Stuff that was added/fixed
28 --------------------------
29
30 - In emulator screenshots. [Shamus] [DONE--Flynn]
31 - Create an EEPROMs directory (or whatever is in EEPROMPath[]) if it doesn't
32 already exist. [Shamus] [DONE--Flynn]
33 - Controller handling. [Shamus] [DONE--Shamus]
34 - Full screen option. [Shamus] [DONE--Shamus]
35 - Command line switches for frontends. [Shamus] [DONE-Shamus]
36 - Fix DSP code so that it doesn't hang in a spinlock waiting for the sound
37 buffer to empty. Probably a CS lock contention issue. [Shamus] [DONE-Shamus]
38 - Need to fix PAL mode to work with the virtual screen code. [DONE--Shamus]
39 - There are a few ROMs that use some "quasi-illegal" 68K instructions. Need
40 to patch the 68K core to deal with these in a better way than they are
41 now. [DONE--Shamus]
42 NOTE: This behavior was verified on Rayman, the problem was due to attempting
43 to press both left & right at the same time!
44 - We need a comprehensive way of determining what gets written where and
45 by whom (i.e., blitter wrote to range $F03000-$F03230) in order to figure
46 out the remaining problems with various ROMs. [DONE--Shamus]
47 - Would also be nice to be able to dynamically change the keybindings for
48 the various keys on the emulated Jaguar controller while inside the emulator.
49 [DONE--Shamus]
50 - Make sure that VJ doesn't crash if the useJaguarBIOS key is set to 1 and the
51 BIOS file isn't available. [DONE--Shamus]
52 - There is a bug either with the GPU or the blitter (most likely the latter)
53 which causes the spinning "A"s in the BIOS startup code to be corrupted
54 when they are showing their backsides. [Shamus] [DONE--Shamus]
55 NOTE: This behavior has been verified on a real Jaguar and as such is not
56 an emulator bug. A Jaguar boot ROM bug, yes, but not ours. ;-)
57 - Make it possible to completely disable the GUI (using a switch like -nogui
58 or the like) for people running VJ in a cabinet. [Shamus] [DONE--Shamus]
59 - Code to stretch the display in a generic way would be nice. [Shamus]
60 [DONE for OpenGL--nwagenaar]
61 - Would be nice to have a GUI for things that are set on the command line or
62 in the config file. [Shamus] [DONE--Shamus]
63 - DSP code needs to be rewritten. [Shamus] [DONE but still work to be done--Shamus]
64 - We need to have an external configuration file for remembering a user's
65 preferences, such as key bindings, etc. [Shamus] [DONE--Shamus]
66 - We need to come up with a way to fix the aspect ratio for pixel modes that
67 aren't square (PWIDTH != 4). [Shamus] [DONE for OpenGL--Shamus]
68 - GUI for ROM selection [Shamus] [DONE--Shamus]
69 - Need to rewrite the main Jaguar execution loop to increment the VC by one
70 instead of by two, which is how the real Jaguar works. [Shamus] [DONE--Shamus]
71 - Sound needs a rewrite. With SDL, this shouldn't be much of a problem.
72 Of course, whoever does this should realize that the PCM outs are probably
73 not being used for a majority of the ROMs out there--according to the JTRM,
74 you're supposed to use the I2S interface to output sound since the PCM outs
75 aren't even physically hooked up in the console! [Shamus] [DONE--Shamus]