Commit Graph

1833 Commits

Author SHA1 Message Date
stephena 3ef83843b5 Added autodetection for X07 bankswitching scheme.
Added OpenGL info to the TV effect tab of the VideoDialog, so users
can see why the effects aren't available if OpenGL is not sufficient.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1772 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-12 21:47:03 +00:00
stephena 3f7a38e910 Added md5 for another 32-in-1 ROM I found.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1771 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-12 20:33:07 +00:00
stephena 465dc36476 Added native support for the 32-in-1 cart. Loading this ROM will always
start with game 0 (as if it's been unplugged for some time), but reloading
the ROM with Ctrl-r will cycle through each game (emulating a power-cycle).

Fixed crash when specifying a directory on the commandline; only files
are supported as ROMs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1770 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-12 18:44:32 +00:00
stephena 5d29bc0e2d ROMs smaller than 2K in the Cart2K class are now mirrored correctly,
not by actually copying pieces of ROM, but by addressing different
parts of the ROM with an appropriate mask.  This fixes a patching
bug I just found, whereby patching one part of the ROM wasn't
propagating it to the rest of the image.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1769 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-12 14:04:18 +00:00
stephena 664d4e5d1a Fixed issue with incorrect reporting of OpenGL version number for Windows.
Because the version was always being returned as 0, the TV effects were
always disabled, even on hardware that could support them.

Creation of OpenGL video mode is now more robust.  If it fails for any
reason, fallback to software mode is now done (and a message stating
that it happened).  This still won't protect against the operating
system lying to Stella and saying OpenGL support is really available
when it isn't, though.

Added support for ROMs smaller than 2K.  These are still treated as
2K ROMs, but have their contents mirrored appropriately.

Bumped version number.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1768 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-12 13:29:26 +00:00
stephena cfba3449b4 Minor fix for compilation in MinGW.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1766 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-09 21:39:27 +00:00
stephena 111ae9185f Well, it looks like I can squeeze this into 2.8 after all.
Randomized value placed in accumulator after exiting the SC BIOS for
SuperCharger ROMs.  This should fix issues in Dragonstomper, where it
seems the randomization of its items depending on a random accumulator
value.

Re-added '-fastscbios', and when enabled, it completely skips
the emulation of SC BIOS progress bars (previously, the bars were
simply sped up).  This defaults to off, for more authentic emulation.
Related to this, added a UI item in VideoDialog to enable/disable it.

Thanks to Eckhard Stolberg for advice on the SCROM, and how to
modify it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1763 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-09 14:27:21 +00:00
stephena 80a3ae83a3 And yet ANOTHER file I forgot to update. Arrgh!
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1762 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 17:31:39 +00:00
stephena d3dc9c470a And yet another change I forgot to make. At some point I'm going to
have to automate this ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1761 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 17:15:49 +00:00
stephena d32a34e9b0 Final OSX updates for the 2.8 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1760 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 17:10:35 +00:00
stephena 44f04fb826 Oops, forgot to include this in the Changelog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1758 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 16:54:56 +00:00
stephena 08bc2386f4 Updated PropSet to use C++ map instead of homemade BST code. I originally
wrote this back in 2000 or so, after I had just finished an algorithms
design course, and insisted on coding my own ADT.  I've come to realize
that in most cases, rolling your own is just a waste of time :)  Related
to this, the 'listrominfo' commandline argument now correctly shows all
the ROM info built in to Stella internal database.

Bumped version # to 2.8.  I just need to check out OSX, and then we
should be ready for the next release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1757 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 16:50:14 +00:00
stephena e34594d1b7 Update to documentation for 'exitlauncher' command.
Add Shift-PageUp/PageDn for scrolling with the keyboard in DataGridWidgets
(most useful with the new RAM UI having multiple banks of RAM).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1755 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 13:13:05 +00:00
stephena 78a8112287 Updates for the upcoming 2.8 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1754 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-08 12:52:16 +00:00
stephena eed5450a20 Fixed GCC 4.4 warning.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1753 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-06 14:24:38 +00:00
stephena 2bc2ff639c Handle 'read from write port' functionality for CV carts. Still TODO are
the ones that bankswitch in RAM, since I don't know what should happen there.

Added 'exitlauncher' commandline argument, which specifies the functionality
of the 'Exit to launcher' action; should exiting a game actually go back to
the launcher, or exit the program entirely.  Also added a UI item in UIDialog
for this.

Reworked the fullscreen/windowed handling in FrameBuffer, simplifying the
logic for determining whether the SDL surface is actually in fullscreen
or not.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1752 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-05 14:05:23 +00:00
stephena f76af14b25 The tools used to create DefProp.hxx and GLShaderProgs.hxx now include
the Stella header/disclaimer, just like all the other source files.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1751 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-04 14:11:33 +00:00
stephena aa2e76c4ea Updated documentation about CRT simulation effects.
General updates to the documentation for people I forgot to include in
previous releases.  Also added websites where applicable.

Update AboutDialog to be more current, showing only those members
currently active in the Stella project and the other teams that have
contributed code.  For more specifics, you should now see the manual.
Basically consolidated all contribution info into one document, so it
has to be kept up-to-date in only one place.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1750 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-04 13:52:10 +00:00
stephena 805300ceb8 Check if RAM change succeeded in debugger RAM UI. This previously
wasn't necessary, as ZP RAM can always be changed.  In the new scheme,
however, sometimes the RAM view will actually show ROM, and in those
cases it definitely shouldn't be modified.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1749 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-04 09:54:18 +00:00
stephena 82325b731c Reworked the extended RAM editing in the debugger, allowing for those
schemes that have multiples areas of RAM.  Converted F4SC, F6SC, F8SC,
FASC to this new functionality.

Added ability to modify extended RAM in 3E, CV, E7 and EFSC ROMs.
Note that these ROMs can swap RAM in and out dynamically, so what
you see in the RAM area won't always be RAM.

Updated debugger CpuWidget; decimal and binary values for SP/A/X/Y
are now all shown at the same time (previously the registers had to
share a decimal/binary view).

Updated debugger documentation for recent additions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1748 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-03 14:49:42 +00:00
stephena 3280901be9 Added support for accessing/modifying extended RAM (aka SuperChip) from
the debugger RAM UI.  A scrollbar is now present, which can scroll
through each 128 byte 'bank'.  Labels indicate the current readport,
so you can distinguish between different areas of RAM.  For now,
F4SC, F6SC, F8SC, and FASC have been converted, but I'm looking into the
other schemes now.

The RAM UI takes care of all read/write port issues.  From the POV of
the UI, the RAM can be treated as zero-page; translation is done
behind the scene.  Searching/comparing and change-tracking are also
supported.

The 'ram' command in the debugger prompt now reflects all RAM, and
readport/writeport addresses are shown, making it easier to use the
command withot having to look up the offsets.

Debugger width has been bumped to 1050 pixels wide to accomodate the
new functionality.  We'll see how much trouble this causes ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-06-02 17:25:14 +00:00
stephena c29a6b26c2 Yet another tweak to the paddle emulation. Game 4 in Casino now works
correctly for the PAL version of the ROM.  I'm still not really
satisfied with the paddle emulation, but I guess it will do for now.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1746 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-31 17:45:05 +00:00
stephena 402b13afd7 OpenGL TV filters require OpenGL 2.0+ and cannot currently be used when
'gl_texrect' is enabled.  The VideoDialog now reflects this, by stating
a message, and disabling the UI items when not satisfied.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1745 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-29 10:20:31 +00:00
stephena 136a7062ac Updated ROM properties to RomHunterV5 romset.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1744 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-28 10:42:16 +00:00
stephena 32abec20f7 Updated TODO.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1743 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-27 22:45:56 +00:00
stephena a774527b41 Updated Visual Studio project files for recent 'CRT Simulation' code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1742 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-27 13:54:35 +00:00
stephena 57714b6df5 Updated OSX project files for recent OpenGL CRT simulation changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1741 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-27 11:17:34 +00:00
stephena eb0a24da98 Updates Changes text, and added message to VideoDialog indicating
requirements for new TV effects (OpenGL 2.0+ and GLSL).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1740 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-26 20:32:22 +00:00
stephena 79e4e42ae7 OK, this is a BIG commit.
Added CRT simulation as described by Ian Bogost in the AtariAge thread
'CRT simulation for Stella.  This is just the first pass, but things
are working nicely so far (for those systems that can support it).  It
requires at least OpenGL 2.0 with GLSL (GL Shading language).  Added
the commandline arugments 'tv_tex', 'tv_bleed', 'tv_noise' and 'tv_phos'
used to set these various effects, as well as the ability to set them
within the Video Settings dialog.  More documentation is forthcoming
on this.

All bankswitch modes that use SC RAM now act correctly when reading
from the write port (the RAM is erased).

Patching ROMs with bankswitch type 0840, SB, UA and X07 is now working.

Went through all the bankswitch classes and converted multiplication/
division to shift operations whenever possible.  It's a
micro-optimization, but what the heck; every little bit of speed counts.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1739 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-25 17:51:52 +00:00
stephena 54a3ddab7a Removed more dead code related to emulating the AtariVox.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1738 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 22:39:32 +00:00
stephena 88b95f56fa Updated Visual Studio project files for recent M6502 code restructuring.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1737 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 22:31:33 +00:00
stephena db17eff15a Repo reorganization: remove empty Stella directory.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1733 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 12:54:23 +00:00
stephena 6a74dfb863 Repo reorganization: move main Stella files directly into 'trunk'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 12:53:06 +00:00
stephena 1653ec8396 Repo reorganization: move htdocs out of trunk.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1731 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-21 12:48:00 +00:00
stephena 6ec9e078ee Update TODO list with recent suggestions from AtariAge threads and
bug reports, and re-ordered things that are most important for the
next major release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1730 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-18 13:23:36 +00:00
stephena b99ed19695 The CPU emulation now always uses what was previously called 'Hi' mode.
The low-compatibility mode was removed, as it hasn't been tested in years,
and for the CPU work I have to do in the coming months, I only want to
worry about one CPU class.  All reference to M6502Hi/M6502Low has been
removed; the CPU class is now simply known as M6502.

Commented out the recent fix for Q-Bert screen refresh issues, since
there's an underlying TIA emulation problem that is causing it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1729 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-17 19:30:10 +00:00
stephena 61914d3b3e Updated homebrew links as recommended by SpiceWare.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1728 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-16 18:49:10 +00:00
stephena 215033139d Webpage updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1727 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-16 15:06:39 +00:00
stephena b3e514292b Converted website to PHP and CSS, and removed frames. Special thanks
to A. Kator for the PHP/CSS code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-16 13:27:28 +00:00
stephena a0c2ae8afa Make sure that when a ROM is reset, the screen is erased (both screens if
double-buffering is used).  This is very evident in games like Q-Bert,
where parts of an old screen/game are overlaid with a new one.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1725 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-15 10:12:18 +00:00
stephena 85c4b3d882 OK, this is going to be a BIG commit. Changed all source files to process
the $Id$ inline variable when doing an svn commit, similar to how CVS
worked.

Removed rsynth code and associated Speakjet emulation functionality.
It hasn't been worked on in quite some time, and we never did fully
decide how to do it correctly.  At this point, I don't have the time
(or background) to continue work on it.  If someone steps up to
further continue its development, it can always be re-introduced
again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1724 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-13 13:55:40 +00:00
stephena f663dcbcc8 Testing to see if Subversion will place ID data on commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1723 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-13 10:58:13 +00:00
stephena 21fc04de89 Updated docs with Subversion information.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1722 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-12 13:35:02 +00:00
stephena 490610646c Finally converted Stella repository to subversion, and created
tags for all releases back to 1.2.  Hopefully this commit will
generate an email, indicating that everything went well.



git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1721 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-12 13:13:43 +00:00
stephena 215cabc61d Deleting CVSROOT
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1720 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-12 13:07:46 +00:00
stephena f6deb3bb88 Checking in WIP for trace functionality, similar to that produced by z26.
Various other minor code cleanups.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1719 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-10 20:57:18 +00:00
stephena ef0646e12a This commit was generated by cvs2svn to compensate for changes in r1714,
which included commits to RCS files with non-trunk default branches.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1715 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-04 17:06:52 +00:00
stephena d37ac5473d Testing CVS repository commits.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1713 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-04 15:09:47 +00:00
stephena 4ed74f555a Added more signatures for auto-detecting E0 bankswitching.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1712 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-04 13:59:49 +00:00
stephena 8945807515 Increased the base resistance a little in the Paddle class, to allow
all cards to be selected in game 4 of Casino.  I don't really like the
current implementation of calculating values for Controller pins 5 & 9,
as there are too many 'magic numbers' without any definition.  For now,
it seems to work, but there's no guarantee that another paddle game
won't pop up and invalidate it again.  Perhaps if I find time, this
can be documented much better.

Bumped version number.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1711 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-05-02 21:27:32 +00:00