Commit Graph

2373 Commits

Author SHA1 Message Date
stephena 3a63ef57c3 Fix float vs. int pixel offsets which are causing graphical glitches.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2465 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-10 10:30:58 +00:00
stephena 29a38af737 Oops, roundf is only in C99, which isn't implemented in Visual Studio 2010.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2464 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-09 17:28:46 +00:00
stephena 6314ef2549 Fixed graphical glitch with scanlines in TV modes when using non-integral
fullscreen scaling.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2463 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-09 16:06:19 +00:00
stephena f59f5ab5e8 Added scanline interpolation option (blended scanlines) with the
'tv_scaninter' option.  Added Alt-8 keypress to toggle this; still
TODO is add a UI item for it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2462 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-08 19:37:04 +00:00
stephena 7d3ea13a01 TV scanline intensity range is now 0 - 100%, where 0 means scanlines
are essentially invisible.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2461 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-08 13:33:36 +00:00
stephena 9c17d43c6f Fixed bug in loading ROMs from a multi-file ZIP archive; ROMs
below the base directory weren't being detected.  The ROMs can
now be in any directory arrangement (although they'll still be
presented in the UI as if they're all in the base directory).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2460 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-08 13:24:10 +00:00
stephena 090390b415 Fixed huge performance issue in TV effects; CPU usage dropped from
26-27% to 11-12% on my test system.  This is from a baseline of 8-9%
for normal rendering, so the TV effects are now quite fast (only an
extra 2-4% CPU usage).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2459 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-07 15:39:01 +00:00
stephena 17d7b16be6 Updated VS 2010 project files for recent class additions, and fixed some C99/C++ issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2458 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-06 18:33:29 +00:00
stephena e8e15bd65b Updated OSX project files for recent class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2457 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-06 18:09:34 +00:00
stephena e3fa8da1f9 OK, Blargg is now officially in the codebase! There's still quite a bit
left to do, but the basic functionality is now there.  Alt 1 - Alt 6
selects among TV modes as follows: off, composite, svideo, rgb, bad and
custom.  The latter is just composite at this point; there's no code to
actually change specific adjustables yet.  Alt 7/Shift-Alt 7 increases/
decreases scanline blend intensity (20% - 100%).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2456 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-06 17:45:48 +00:00
stephena 1e8f45a10f Fix scanline count info viewer when values are out of the normal range.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2455 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-01 19:09:28 +00:00
stephena bace21c40b More updates to Blargg filtering. The current code now corresponds to
the patches I received in the past, but also includes stuff from newer
versions.  It compiles correctly; now I just have to activate it and
pass it a framebuffer and see what happens ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2454 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-30 20:12:43 +00:00
stephena 3ec9fe888d Added 'tunes.bin' data to Chetiry scheme, and updated romtohex
to correctly generate the data from a bin file.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2453 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-29 19:43:28 +00:00
stephena 68f739914f Initial check-in of Chetiry bankswitch scheme from cd-w. For now, it's
basically the skeleton of F4SC, since it's partly modeled after that
(8 4K banks, etc).  More work will come after the 3.7 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2452 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-29 18:04:47 +00:00
stephena 42225de183 OK, I'm about to tackle Blargg filtering, and I hope to have the first
implementation ready by the end of the coming week.  First, I have to
convert a patch against Stella 2.8.4 and an old Blargg version to the
current codebase (and a newer Blargg version).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2451 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-28 18:22:23 +00:00
stephena 973a8edf30 Added ability to descend into multi-ROM ZIP archives.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2450 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-27 13:34:30 +00:00
stephena e3ba9f0ec2 TIA objects and collisions are now toggle with the Alt-period keys,
instead of having different keys to turn them on and off separately.
This brings the functionality in line with the rest of the objects/
collision key-combos, which were also toggle-only.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2449 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-20 21:32:24 +00:00
stephena 6737091149 Replaced 'uselauncher' with 'exitlauncher', which specifies how the
ROM launcher should be used when exiting from a ROM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2448 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-20 20:47:53 +00:00
stephena f853518540 Fixed ghost key issue with the CompuMate emulation. It seems that mixing
SDL keyboard events and the static GetKeyState() method doesn't always
work as you'd expect.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2447 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 20:11:16 +00:00
stephena e1d31ada6e Some slight performance modifications to CompuMate handling; we don't
need to get the keyboard pointer 60 times per second.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2446 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 15:25:09 +00:00
stephena a64626ba25 Oops, forgot to mention that 'mcontrol' commandline argument has been
replaced by 'usemouse' again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2445 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 13:43:25 +00:00
stephena 822a378182 A fairly large overhaul of the mouse-emulates-controller functionality,
fixing bugs too numerous to mention.  The end result is that using
Control-0 to switch between mouse modes is much more understandable.

Updated properties database for Telepathy ROM, which now uses the
MindLink controller.  Also updated Astroblast ROMs to use paddles
by default.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 13:00:02 +00:00
stephena ccf9128cdf A few more places where it makes sense to pre-allocate space for
Arrays.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2443 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-15 21:39:15 +00:00
stephena 809da97ad3 Potential performance improvement for Arrays. A reserve() method is now
available, which helps with constant resizes of arrays with a large number
of push_backs.  For now, only the ROM launcher and debugger disassembly
really needs it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2442 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-15 21:13:01 +00:00
stephena 1bcdbbd3f8 Removed redundant code in Array class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2441 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-15 17:04:53 +00:00
stephena 1dbefe043d Improvements to the FA2 Harmony flash load/save functionality:
- delays are now emulated (0.5 ms for reads, 101 ms for writes)
  - the flash file is now saved according to the ROM name
  - correctly return values with bit 6 set to zero or one, instead
    of just using 0x00 or 0xff


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2440 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-14 19:28:53 +00:00
stephena 967fb73d2d Load/save from Harmony cart flash RAM is now supported for the FA2
bankswitch scheme (currently, only the 256 internal RAM is used).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2439 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-12 23:23:12 +00:00
stephena 186fa5c1be Before I get back to mousemode and Blargg stuff, I decided to
make another pass at getting rid of raw pointers.  As I've come
to realize over the years (and in particular with reading the C++11
standard), raw pointers are evil and error-prone.  So this fixes
some of them at least.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2438 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-11 16:10:24 +00:00
stephena 8af1211d7c Updated properties database for 'Juno First' ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2437 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-03 22:34:51 +00:00
stephena fc11e6ec30 Updated included PNG library to 1.5.10.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2433 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-29 22:00:58 +00:00
stephena 56f22a2220 Updated FA2 scheme to include 28KB ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2432 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-29 19:03:58 +00:00
stephena bccac33a55 Fixed bug when using Paddles in Astroblast (and probably seen in other
ROMs as well); strangely enough, you had to press Joystick 0 Up before
the paddle handling was initiated.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2431 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-27 21:35:07 +00:00
stephena 303fb5bdbc First pass at tying the NTSC filtering code into the OpenGL TIA
rendering code.  This is just infrastructure for now.  Pressing
Alt-f will toggle the filtering, but there's no output yet.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2430 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-25 17:51:13 +00:00
stephena db6e1c7c81 Added Mindlink controller emulation. Based on research, it seems that
only Bionic Breakthrough ever used this scheme, not Mind Maze and
Telepathy (as the properties database previously indicated).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2429 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-25 14:42:09 +00:00
stephena 191e456770 Rearrange TV filters classes in Xcode project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2427 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-18 20:04:26 +00:00
stephena ea74f6dbe3 Updated CompuMate keyboard handler to be more friendly,
and use keys on a real keyboard more effectively.

Bumped version number, so we start all over again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2426 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-18 01:40:27 +00:00
stephena 68f5c9e57b Updates to the OSX PPC Xcode script.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2424 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 21:48:13 +00:00
stephena 98d1e9133c Final commit for 3.6 release (yeah, right).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2423 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 21:02:01 +00:00
stephena b7d8099ed0 Changed release date to today; there's no point waiting for next week.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2422 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 20:31:31 +00:00
stephena cefc0d3e6b Updated documentation for 3.6 release. Although this is a full week
ahead of the release, I bet there's still a file I forgot to update ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2420 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 18:44:19 +00:00
stephena 11e529f635 Added CompuMate to the 'Controller Map' in the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2419 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 18:30:45 +00:00
stephena 82a048a086 Using the Control key in CompuMate mode will no longer interfere with
normal control functions (ie, pressing Ctrl-q will not quit, but send
this combo directly to CompuMate).

Mapped Func-Space to the Backspace key for CompuMate keyboard.
Func-space (which is actually Ctrl-space is still supported).

Updated documentation for CompuMate changes and system requirements.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2418 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 17:57:23 +00:00
stephena 5ce726f180 Fixed some compiler warnings picked up by Xcode 4.3
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2417 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 13:19:29 +00:00
stephena 89cd0b897d Some CompuMate documentation items I forgot in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2416 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 00:20:37 +00:00
stephena 92cda788c4 Fixed missing 'Enter' key in CompuMate emulation. It seems that the
z26 code never actually implemented this, so I'm not sure how people
actually entered Basic code.  I guess not many people have played 
with and tested this before.

Added more sensible keys for the CompuMate 'space' and 'enter' keys.
They're still mapped to '/' and ';' respectively (to keep locations
on the keyboard the same), but are also mapped to the actual 'Space'
and 'Enter' keys (to make usage much easier).  I'll probably also
map 'Shift-;' to Backspace as well.

Updated documentation for CompuMate emulation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2415 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-15 23:40:36 +00:00
stephena 44b5cf66b9 The CompuMate emulation now correctly processes normal and
shifted keys from the keyboard.  Most control-keys are
supported too, but still TODO is allow the Control key to
pass to the CompuMate controller and not pre-process it
by the EventHandler (so pressing Ctrl-q) shouldn't quit
emulation in that case).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2414 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-15 15:22:57 +00:00
stephena 82a4bc13b1 More work on the CompuMate scheme. The logic for the Controllers is
now complete; I just need to define how to pass actual keyboard keys
through the Event system.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2413 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-14 22:24:54 +00:00
stephena 47f151b87c Re-arranged the CompuMate controller code so that it can access both
controllers at once.  Stella wasn't initially designed to do this,
and the CompuMate is unique in this regard.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2412 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-14 01:19:23 +00:00
stephena 80c43f175d Started work on the controller side of the CompuMate emulation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2411 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-12 23:33:50 +00:00
stephena 02ad41e60a Tweaked EF bankswitch autodetection.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2410 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-12 20:45:24 +00:00