Shamus Hammons [Tue, 21 Oct 2014 01:02:42 +0000 (20:02 -0500)]
Miscellaneous fixes, plus extra whitespace munging for good effect.
Fixed a bug in the TOM 16 bit LUTs, the red value mask was wrong. Fixed
a typo in jaguar.cpp. Added feedback to user if they tried to pass in a
filename to a piece of software that wasn't found. And some whitespace
futzing, because that's how we roll. :-)
Shamus Hammons [Mon, 6 Oct 2014 14:47:15 +0000 (09:47 -0500)]
Made keyboard handling a bit more sane.
What this means is that now, if there are no gamepads plugged in, it
will add the keyboard as a device plugged into slot #0 (CONTROLLER1).
Also, if you have any devices plugged in it will also honor whatever
choice you have made WRT the keyboard and attempt to connect it to
whichever preferred slot you have set it to.
Assuming testing goes OK, this will be the 2.1.1 release. :-D
Shamus Hammons [Fri, 3 Oct 2014 14:48:02 +0000 (09:48 -0500)]
Fixed controller profile system.
What this means is that you have to set up profiles for controllers you
plug in now. Virtual Jaguar will try to do the right thing, but it's
still possible to make it screw up and do the wrong thing. Hopefully
this will be fixed in a future update. :-P
Shamus Hammons [Sat, 7 Dec 2013 20:30:03 +0000 (14:30 -0600)]
Fixed insert cart dialog, mouse hiding.
The insert cart dialog will now populate itself if you launch VJ with
just a filename (it didn't before), and the mouse will now only hide
itself while it's over the OpenGL window.
Shamus Hammons [Thu, 5 Dec 2013 16:07:51 +0000 (10:07 -0600)]
Added patch by Seb to fix endianness of EEPROM save files.
Note that this update will break your EEPROM files! VJ, however, will not
overwrite your old EEPROM files; it now uses the .eeprom file extension
instead of .eep. You can convert your old files by byte swapping them and
renaming the extension to .eeprom.
Shamus Hammons [Thu, 30 May 2013 20:54:57 +0000 (15:54 -0500)]
Added user controlled blitter logging.
Press F10 to have the blitter do a "short" dump of the blitter command;
this also dumps various blitter registers as well. Press F12 to have VJ
log the internal states of the blitter as well. This is pretty much only
useful if you're trying to fix problems with the blitter code. ;-) Also,
you *must* have logging turned on with the --log option to get any input.
Those keys only turn on logging. There's no way to turn it off once it's
started, other than exiting the emulator.
Shamus Hammons [Sat, 4 May 2013 03:53:35 +0000 (22:53 -0500)]
Fixed updated joystick handling, first major stab at gamepad profiles.
There was a problem in JERRY's read byte routine, it was getting bad
data as a result of the conversion of the joystick read routines to
word data size only. Apparently some programs (like Rayman) read
JOYSTICK a byte at a time. :-P
Also, this marks the first stable commit of the the new gamepad profile
system. There's still work to do, but this should make it much nicer
for people who use VJ with multiple input devices.
Shamus Hammons [Sat, 9 Mar 2013 22:48:09 +0000 (16:48 -0600)]
Fixes for fullscreen mode, initial stab at multiple controller configs
Who knew that you could attach QActions to the main window? Of course,
you'd have to be a complete idiot not to see something so completely and
blatantly obvoius! :-P The preceeding was a cheap dig at the kind folks
who hang out on #qt on Freenode, who grudgingly provided that little
tidbit of information as if it was the most obvious thing in the world.
The upshot is that the toolbar is gone from top of the screen in full
screen mode now, and that should make lots of people happy. :-) Also,
the initial GUI implementation for multiple controller profiles is in.
More to follow.
Shamus Hammons [Thu, 7 Mar 2013 22:03:07 +0000 (16:03 -0600)]
Various changes to improve code readability, added mouse hiding.
First steps towards using the variables exposed in memory.cpp; there's
still a long way to go. Reverted the instruction timings back to the old
and incorrect shorter durations; this fixes sound in Rayman and FACTS.
Also added mouse hiding: if the mouse is sitting on top of the VJ window
and it hasn't moved in around a second, it is hidden until you move it
again. This behaviour only happens when the emulated Jaguar is running;
at all other times it is quiescent.
Shamus Hammons [Sun, 24 Feb 2013 03:31:41 +0000 (21:31 -0600)]
Added analog axis support to Gamepad module.
This is necessary because some gamepads that have directional pads don't
report as a hat (which you would expect) but report themselves as
analog axes that provide only the extreme ends of each axis. Such
"digi-log" joysticks should now work and be configurable.
Shamus Hammons [Wed, 13 Feb 2013 18:23:03 +0000 (12:23 -0600)]
Fixed limits on cartridge space from 4MB to 6MB.
Also fixed setting zoom levels in fullscreen (thanks to partycle for
reporting!) and preliminary fixes to the M68K disassembler. Changed
documentation to reflect next official release.
Shamus Hammons [Fri, 8 Feb 2013 01:02:02 +0000 (19:02 -0600)]
Added missing IRQ handling after STOP
The previous fix was incomplete: it only worked until a STOP instruction
was issued. Incoming IRQs could not wake the M68K from its stopped
state. This has been fixed. :-)
Shamus Hammons [Thu, 7 Feb 2013 23:59:36 +0000 (17:59 -0600)]
Fix to M68K core vs. DSP thread sync problem.
Seems there were some M68K core calls coming from the DSP thread that
caused problems with IRQ handling on the latter. There's a kludge in for
now that should solve that problem but there may be even more like it
lurking in the shadows. :-/
Shamus Hammons [Mon, 4 Feb 2013 04:34:12 +0000 (22:34 -0600)]
Fixed fullscreen mode, shrunk screen width.
Full screeen mode now correctly centers the image on wide screen
monitors. In addition, the virtual screen width has been reduced in size
back to what you would see on a TV with a modest amount of overscan.
Assuming all is well with this commit, this will be our 2.1.0 release.
Yes, there are still some regressions in a few games that we are aware
of, but the improvements over the last official release are too great to
hold this back any longer. :-)
Shamus Hammons [Wed, 30 Jan 2013 23:51:49 +0000 (17:51 -0600)]
Preparation for 2.1.0 release.
Added new icons, updated help file, and fixed/changed the various debug
browsers to work better. There are a few minor things left to fix, but
all the major stuff is done. Onward!
Shamus Hammons [Sun, 13 Jan 2013 04:15:25 +0000 (22:15 -0600)]
More gamepad work.
Gamepad configuration and usability is now working, though there are
some limitations: you must be careful to configure the pads you want to
be pad 1 & 2. You can mix keyboard keys, but not have multiply defined
keys (yet). There is no joypad specific configuration, though that may
come in the future if there is demand for it.
Fixed problem with crashing on 64-bit Linux & possibly others.
Quite frankly we don't know how it was running anywhere else, as Qt made
a subtle change in how their QApplication objects were created without
making it known far and wide. Maybe they did, and I just missed it. But
the lesson learned is that for want of an ampersand, a kingdom was lost.
Fixed documentation to reflect the current state of Virtual Jaguar,
added text to the M68000 exception handler to show what kind of
exception occured. Also added a rudimentary memory browser to allow
developers a peek at the RAM of the emulated Jaguar.
Fixed DSP/audio options to be unambiguous and consistent.
The DSP is now running in the host audio IRQ, so turning it off will
turn off the host audio IRQ as well. Also fixed DAC to reflect this
change. Added a few minor fixups to a few files as well.