Commit Graph

180 Commits

Author SHA1 Message Date
stephena 963c5d621b Changed 'dbg.boldfont' to dbg.fontstyle', which allows to use a combination
of bold and normal fonts within the debugger UI.  Because of the # of changes
this requires, this is as far as I'll willing to go with UI configurability.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2820 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-26 13:01:29 +00:00
stephena ecacdcf5f2 The 'usemouse' option now allows to use the mouse as a controller
only for analog-type devices (paddle, trackball, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2819 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-24 18:40:02 +00:00
stephena 8aa736b35a Added ability to use bold fonts in the debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2816 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-24 15:51:37 +00:00
stephena bef092a7d9 Updated debugger webpages.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2810 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-21 10:53:02 +00:00
stephena ae4e87a51c Added ability to start directly in the debugger to 'Power-on options'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2809 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 20:48:58 +00:00
stephena 60dd213a0a Added preliminary support for DASM lst files (currently to differentiate
symbol names in the DASM symbol file).  This partly fixes a deficiency in
symbol files, whereby two names could have the same address (one has an
address, the other as a constant), and Stella would use whichever one
occurred in the file last.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2795 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-15 16:07:58 +00:00
stephena 68f16a8990 Some doc updates for the upcoming release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2785 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-10 01:22:26 +00:00
stephena 893bfd4a41 Override properties dialog is now called 'Power-on options', and includes
extended abilities (see changelog and docs for more info).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2783 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-09 13:09:47 +00:00
stephena 0842c96f7f Updated debugger docs for recent changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2764 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-29 00:38:20 +00:00
stephena 8f8c85250c Preparation for 3.9 release, updated documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2756 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-26 16:03:08 +00:00
stephena 5c4b6defd9 Added properties info for "Extra Terrestrials", and bumped version #
for 3.8.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2648 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-03 21:05:43 +00:00
stephena 0650c48977 Implemented TIA RSYNC write functionality thanks to Omegamatrix.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2626 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-24 01:46:14 +00:00
stephena 6279c24b57 Renamed 'eepromdir' option to 'nvramdir', and have it default to
'BASEDIR'/nvram.  Previously it defaulted to BASEDIR, which was getting
filled with many such files.

Unfortunely, all files will have to moved manually, but it's an easy
one-time operation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2613 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-17 00:19:14 +00:00
stephena c11c7724ad Added ability to specify separate directories for saving
and loading snapshot files.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2612 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-16 19:56:09 +00:00
stephena a5cb67551f Final updates to the sound code (resampling seems to be working fine).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2585 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-27 15:08:04 +00:00
stephena ca0f20fdff Updated log functionality slightly; you no longer have to supply
a new line as part of the message.

Updates for impending 3.7.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2572 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-12-22 20:17:33 +00:00
stephena 2b27e23276 Fixed regression with missing VSYNC in certain ROMs, and bumped
version # for next release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2566 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-30 22:21:09 +00:00
stephena 19098e1f43 Bumped version for 3.7.3 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2564 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-26 18:27:16 +00:00
stephena 940a0bf066 Fixed more sound issues wrt irregular scanline counts. Even
Quadrun sounds better now :)

Preparing for the 3.7.3 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2562 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-25 20:39:55 +00:00
stephena 756a47bcf8 Fixes for 'illegal' VSYNC behaviour wrt 'short' frames.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2547 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-07-14 18:56:57 +00:00
stephena 8228639ec8 Fixed bug in handling '~' character, do immediate 3.7.2 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2537 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-10 00:34:46 +00:00
stephena 6353d118b7 Control-f now cycles between NTSC/PAL/SECAM/NTSC50/PAL60/SECAM60
display modes wrt both palette and display properties (# of scanlines,
size of window, etc).  This means you can now dynamically switch
between these modes at runtime.

Also added 'Shift-Control-f', which cycles through the modes in
reverse order.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2527 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-05 16:32:35 +00:00
stephena 2ffe70faa4 Oops, forgot to remove mention of Windows 98/2k.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2513 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-28 19:55:26 +00:00
stephena efb620dca8 Stella now requires Windows XP and above; support for Win98/ME/2K has
been removed.  Sorry to anyone still using these systems, but this
decision is final.  It's time to move on, folks.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2511 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-28 19:48:33 +00:00
stephena b725bf8fd6 Yet more webpage updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2506 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-27 19:43:43 +00:00
stephena 01d8c298ae Added 'dis.relocate' commandline argument, which passes the
Distella '-r' option (Relocate calls out of address range) to
the disassembler core.  Also added UI item to dynamically
change the setting.

Renamed 'resolvedata', 'showaddr' and 'gfxformat' commandline
arguments to start with 'dis', indicating that they're part
of the disassembler.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2504 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-27 19:27:55 +00:00
stephena 4750c64a17 Phosphor mode now works with Blargg TV effects! It takes an extra 2-3 MB
RAM to do so, which I agonized over for about a week, but I feel it's
a fairly good tradeoff for the features we get.  Eventually, I may come
up with a more accurate phosphor mode which eliminates this approach
entirely.

Reverted OpenGL framebuffer to 32-bit colour mode.  We're using Blargg
effects, so we may as well get the full fidelity out of it.  Besides,
testing has shown that there's not much speed difference between 16
and 32 bit modes, making me think that 16-bit is probably be swizzled
to 32-bit anyway.

Bumped release date to June 1, version to rc1.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2501 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-26 22:18:13 +00:00
stephena ceaae994ae More documentation updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2470 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-13 16:22:48 +00:00
stephena d5b2d62c90 Some documentation updates for the upcoming release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2469 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-13 00:35:24 +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 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 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 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 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 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 3b4b10df76 Combined 'sa1' and 'sa2' commandline arguments into one command named
'saport'.  This takes the values 'lr' or 'rl', corresponding to left/right
and right/left.

Added ability to dynamically swap the Stelladaptor/2600-daptor ports
with the 'Control-1' key.






git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-03 00:56:31 +00:00
stephena d9ed4e7d17 Updated error in documentation, as reported by Robert Szeliga.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2389 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-15 22:35:53 +00:00
stephena 8fffaa6d95 Final updates for the 3.5.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2384 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-04 20:07:13 +00:00
stephena 47c5f4681e Added 'fixed debugger colors' command to right-click menu of TIA output
in the debugger, and updated the debugger documentation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2377 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-29 22:54:23 +00:00
stephena 723d95cba2 Updated screenshot for new mouse axis functionality.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2375 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-29 22:20:08 +00:00
stephena 0d548bf379 Mouse 'specific-axis' mode can now be set per-ROM within the Game Info
dialog.

Updated all paddle and driving controller games with relevant axis info.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2374 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-29 22:13:15 +00:00
stephena 6029835618 The mouse can now emulate Sega Genesis controllers. In this mode, the B/C
buttons use the mouse left/right buttons, respectively.

Updated changelog and documentation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2373 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-29 18:44:45 +00:00
stephena 97490e75d3 Updated documentation and UI for FA2 bankswitch scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2362 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-21 13:14:48 +00:00
stephena 76e3ba8ec0 Updated documentation for SWCHB debugger changes, and updated
the changelog.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2330 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-01-02 22:09:54 +00:00
stephena c95d5f804d Updated all files to copyright 2012. Happy New Year to anyone reading
these logs!

Moved TODO and Credits info directly to the webpage, where it will hopefully
be easier to maintain.

Fixed 'crackling' sound when loading a new ROM, introduced with the 3.5
sound restructuring.  It looks like stale data was being loaded by the
sound processing callback.  As well, moved the computation of certain
division variables from the sound callback to the framerate re-calculator
(where it's recomputed 1/5 of the time or less).

Updated AboutDialog with info about Stella DonationWare status, and active
members of Stella development.

Updated OSX in-app HTML documentation about Stella DonationWare status.

Bumped version # to 3.5.1_svn, and the process starts again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2318 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-31 21:56:36 +00:00
stephena ee8b29583f Updated documentation, bumped version # slightly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2306 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-28 16:14:52 +00:00
stephena 08c59e5882 Added controller map to the documentation, stating how physical
computer controllers are mapped to virtual console controllers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2302 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-28 02:24:51 +00:00
stephena aeb8d27746 Added 'mcontrol' commandline argument, which allows to map mouse axes
separately to different paddles.

Updated documentation for impending 3.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2296 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-26 21:40:28 +00:00
stephena b6cab4e626 Removed redundant 'audiofirst' commandline argument, and fixed displaying
of RAM addresses in debugger RamWidget.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2295 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-23 00:04:58 +00:00
stephena 56694b5934 The sound system is now opened once per program invocation, and paused
when it isn't needed.  According to SDL this shouldn't be necessary, but
some combinations of video modes and audio hardware cause sound to stop
working if it's repeatedly opened and closed.  So we have to keep it open.

Always attempt to use 2 channels (aka stereo) when opening the SDL audio
device.  This is now required, since ROMs can request mono or stereo mode,
and the sound system can no longer be closed and re-opened with the
desired settings.  So we need to always use 2 channels to accommodate
when it might be needed.  This actually more closely emulates the 2600,
which does have two audio channels.  The 'mono' vs 'stereo' ROM property
basically controls whether these channels are exposed (ie, does the
virtual console have two-channel audio hardware installed).  In that sense,
these settings control how the channels are mixed.

Updated some settings to have more reasonable defaults.

Added acknowledgement for people that have donated hardware to help with
development.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2291 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-12-21 17:18:53 +00:00
stephena 90fbe26b7d Updated documentation, added new snapshots where appropriate.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2284 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-26 21:19:54 +00:00
stephena e8776a79d6 The default snapshot dir is much saner, defaulting to the users'
desktop on OSX and Windows, and the home directory in Linux.
The associated commandline has been changed to 'snapdir'.

Added 'GL VBO' toggle button to the Video Settings UI, and in
general cleaned up its interface.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2282 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-25 14:17:05 +00:00
stephena faa0789727 Updated some code comments and the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2280 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-11-19 18:28:17 +00:00
stephena 55f4de0725 First pass at converting the OpenGL renderer to be OpenGLES 1.0
compliant.  It actually went smoother than I thought it would.
This show allow Stella to run well on *any* hardware-accelerated
OpenGL machine, not just those with beefy video cards.

Cleaned up the code a little, removing more references to the old
OpenGL TV filtering (which will be replaced by Blargg NTSC
filtering soon enough).  Also removed 'gl_texrect' option, which
specified to use the GL_TEXTURE_RECTANGLE_ARB extension (for
non power-of-two textures).  It was never enabled by default,
didn't work with ATI cards, and wasn't accessible in the UI,
so I doubt anyone will miss it.  Besides, it's not supported in
OpenGL ES 1.x.

Next is to look into VBO/PBO, to see if more optimizations can
be done.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2265 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-08-16 19:33:28 +00:00
stephena a16f862193 Added logging capability and viewer. This is useful for those platforms that
don't normally use the commandline (mostly Windows, but in some cases OSX as
well).  The 'showinfo' commandline argument has been renamed 'loglevel', but
it has the same purpose.  A new option 'logtoconsole' has been added, which
determines whether log output should also be directed to the commandline/
console (previously, it was always printed to the console).  All these items
are now accessible from Options -> System Logs.

For anyone reading this (and that cares), now I can finally move on to the
OpenGL rewrite.  The plan is that the new code will use OpenGL ES, which
is a subset of OpenGL 1.5.  The main advantages are that you won't need
an advanced OpenGL card, and OpenGL ES is supported on most new 'smaller'
systems (iPhone, Android, etc), making ports much easier.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2264 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-08-16 13:38:34 +00:00
stephena dbdfb2f320 Final changes for 3.4.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2256 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-11 23:55:53 +00:00
stephena cb3f0e96ba Zero-byte ROMs are now rejected, instead of being loaded as Supercharger ROMs.
Fixed bug in handling analog axes with jitter; they were overriding events from
digital, hat and keyboard input.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2251 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-09 20:50:19 +00:00
stephena 2b9f625f76 Re-enabled 'grabmouse' functionality with a few changes:
- it doesn't have a hotkey any more
  - it is changed in the "Input Settings' UI, not in 'Video Settings'
  - it only has meaning while in emulation mode
  - it is enabled by default


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2245 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-06-02 20:53:01 +00:00
stephena 0eff1696a0 Final updates for the impending 3.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2237 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-27 15:48:35 +00:00
stephena 4e6d4cb1c6 Cleaned up some inlines that weren't needed.
Updated documentation with info about 2600-daptor, including
usage and its creator.  Also included more in-depth explanation
for the various controller types.

Errors from the Thumb ARM emulation code are now caught as exceptions,
and thrown to the parent class instead of calling exit() and simply
crashing Stella.  For now, the messages are simply printed and
emulation continues.  This will be expanded to show a detailed crash
log in the debugger, and offer the option to exit the ROM.

Removed most of the menus from the OSX port.  They weren't being
maintained anyway, and most of them didn't work.  I've modelled this
on the way other cross-platform OSX programs work (notably, ScummVM).
Basically, there are menus for exit and help, but otherwise you
should use the menuing system in the application itself.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2231 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-10 15:04:19 +00:00
stephena 2da201c4a2 Added controller types 'Paddles_IAxis', 'Paddles_IDir' and 'Paddles_IAxDr',
which are specialized paddles classes that invert the axis, direction,
and axis+direction, respectively.  Updated all applicable ROMs in the
properties database.

Cleaned up the menus in the OSX port; some of them weren't even tied
to anything.  I'm seriously considering removing them all, except for
the Help and Quit items. 


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2230 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-06 19:58:56 +00:00
stephena 264145a939 Huge improvements to paddle and mouse handling:
- mouse can now emulate joystick, booster-grip and driving controllers
 - digital and mouse sensitivity for paddles can now be tweaked
   separately, and have a greater range
 - the mouse now correctly honours its controller setting, and only
   controls a device on one one port (not both at the same time)

Added support for 2600-daptor device.  Credit for creator of device
is forthcoming.  This device is basically an updated Stelladaptor,
with improved handling for paddle data.

Grabmouse functionality is no longer user-definable; the mouse is
always grabbed while playing a game, and released otherwise.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2228 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2011-05-06 14:29:39 +00:00
stephena 96c1f96ed8 Fixed a few typos in the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2187 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-12 13:46:28 +00:00
stephena ba1019a308 Updated documentation for missing commandline arguments.
Added infrastructure to System and Device classes to deal with CodeAccessBase
even when the bankswitching scheme bypasses the normal System::PageAccess
way of reading ROM space.  This allows bankswitching schemes 2E, AR, FE and
4A50 to support emulation core 'hints' for more accurate disassembly.  The
only scheme not supported now is MC, which isn't really working anyway (I've
never actually had a test ROM for this scheme).

It's getting close, folks ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2184 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-11 22:24:51 +00:00
stephena fca261c4e3 Updated debugger documentation for recent disassembly changes.
Removed reference to disassembly 'SKIP' command, since it isn't implemented
yet.

Decided on Nov. 15 for the 3.3 release date, and updated all relevant files.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2181 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-10 22:38:16 +00:00
stephena e8b080551f Reverted grouping characters for multi-character debugger prompt commands
to use curly braces {} instead of apostrophes.  This matches the
functionality from older releases.

Fixed debugger prompt messages to show correct info when opening
various files (config files, autoexec, etc).

The debugger 'type' command now accepts a range of values.

Reverted handling of ROMs that aren't in the internal database;
they're inserted with their extension again, just as in older
releases.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2168 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-04 19:29:12 +00:00
stephena 0f63b49bd6 Started documentation updates for the next release. All the changes
haven't been made yet, but they will be soon enough.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2167 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-11-01 20:58:51 +00:00
stephena d664beb45d Several changes to make entering commands at the debugger prompt
case-insensive.  Currently supported are all commands and
pseudo-registers.  Equates/labels and user-defined functions are
still a WIP, since they're stored in various hashtables accessible
by name, which is still a case-sensitive operation.  In general,
tab completion is mostly case-insensitive.

Changed the delimiter for surrounding lines with spaces from curly
braces ({}) to the apostrophe (').


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2115 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-23 16:19:17 +00:00
stephena 26b1654aa2 Some minor UI improvements to the InputSettings dialog; renamed the
'Virtual Devs' tab to 'Devices & Ports'.  Updated documentation and
snapshots for this change.

Added Halo 2600 ROM info to internal properties database.

Increased default setting for 'joydeadzone' from 0 to 13.  This means
the default deadzone is somewhere around half the axis range (~16500).

Fixed behaviour of hat events; events weren't actually being turned off
until the stick was centered.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2108 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-21 23:08:44 +00:00
stephena b2ed949082 Some final changes for the 3.2 release, including documentation updates.
Added 'ramrandom' commmandline argument, used to toggle randomizing or
zeroing or all RAM in the system (both zero-page and SARA).

Disassembler now properly supports all test cases, including rewinding
within the debugger.

Added preliminary support for disassembling from zero-page RAM.

Bumped version # for final release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-19 21:48:28 +00:00
stephena 6fbd57d63b Added note to documentation recommending something other than SDL 1.2.14
when using windowed OpenGL modes in Linux.  I've traced a bug in SDL
1.2.14 that causes mouse clamping problems, and have submitted a fix to
the SDL maintainers.  But since 1.2.14 is supposed to be the last release
being done, I'm not sure how to proceed (maybe SDL will be statically
compiled in for a future release of Stella).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2083 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-08-02 11:16:42 +00:00
stephena f136363226 Updated changelog, and set preliminary release date for version 3.2
to Monday, August 16.  We'll see how well that goes ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2078 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-29 17:06:51 +00:00
stephena 79235fdc7d Updated documentation for recent UI changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2077 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-29 15:49:39 +00:00
stephena ee43255ea1 Many changes to the UI to fully support the smallest resolution that
Stella can use (320x240).  The app should no longer crash in such
low-res situations.

Various improvements to the UI, adding many finishing touches.  The
text is more descriptive, and the options are somewhat better labeled.
As well, the available options are better presented based on the
restrictions currently in use (ie, if the maximum resolution is very
small, then the high-res resolutions are not shown in selectors, etc).

Added MessageBox to ROM Audit functionality, to warn that it is a
dangerous operation and that a file backup is advised.

Updated OSX build script to not crash when an older image has already
been created.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2076 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-29 15:22:27 +00:00
stephena f4a4a24936 Updated the documentation concerning selecting a ROM directory after
running Stella for the first time.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2073 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-20 16:41:35 +00:00
stephena d217b49f88 Some more documentation updates and snapshots.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2061 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-06 19:47:50 +00:00
stephena fa6f02579c Of course, I forgot a manual update in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2060 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-06 15:12:00 +00:00
stephena c3f5aa2810 When starting Stella for the first time (ie, when the ROM directory hasn't
been chosen), a dialog box now appears, asking the user to enter the
default directory.  This directory will appear each time the ROM launcher
is entered, until the user selects a directory.  This will hopefully
eliminate bug reports from users that don't know what to do when first
starting Stella.

Big changes to the manual, separating the necessary, up-front information
from the advanced stuff that can be considered later (or not at all).
Also added more links to ease navigation.  This should make the manual more
readable for those that have complained it's too long.

The setting for TV color type is now 'Color' and 'BW', instead of
'BlackAndWhite', as before.  The old one will continue to work, though.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2059 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-07-06 15:08:35 +00:00
stephena 5ca6d8c49d Removed 'uselauncher' from the UI, as it really shouldn't be there
(ie, disabling from the UI kills the UI on future runs, so you can't
enable it again).  This should fix problems where users go
'click-happy' in the UI, turning options on and off just to see what
happens.

Added 'showinfo' to the UI, so you don't have to drop to the
commandline to use it.

Updated all release files and bumped version number for 3.1.2
release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2031 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-05-03 12:01:43 +00:00
stephena 5de12952ec Added OSystem::logMessage(), which abstracts the logging of messages to
an outputstream.  For now, the output simply goes to stdout or stderr,
just like before, but the possibility is now there to redirect to a
file if desired.

Changed 'showinfo' commandline option to accept 'levels' of output
instead of simply being a boolean.  The new default is level 1,
in which normal messages are output during a run.  Level 2 will
show more detailed info, and may be useful in debugging end-user
problems.  There's still more work to do wrt level 2.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2029 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-29 12:46:07 +00:00
stephena f8adf5c314 Final changes for the 3.1.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2027 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-25 23:33:49 +00:00
stephena 3c01d9f72e Getting ready for the 3.1.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2025 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-24 18:03:57 +00:00
stephena 31d3233dc0 Fixed timing bug reported on AtariAge, also noticed on several versions
of OSX.  It was partially caused by 'negative time', or successive
calls to SDL_GetTicks() returning smaller values than previous calls.
This obviously totally confused the timing logic, which was never
designed for time to go backwards.  Related to this, setting the
framerate to 0 from the VideoDialog UI (indicating that auto-frame
should be used) ended up setting the time-per-frame to approx. 71
minutes, resulting in a delay of 71 minutes to the next frame
(which is what caused the 'lockup').

Changed all references to the Intel OSX build to also mention OSX
Snow Leopard (10.6), since the build won't run on 10.4 or 10.5.

Bumped version number to 3.1 (again).  Hopefully this is good to go.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2016 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-21 15:45:44 +00:00
stephena 506f5357b1 OK, hopefully this is the final commit for 3.1 (yeah right!).
Updated all remaining issues with the documentation and
changelog, and bumped the version # to 3.1.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2013 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-14 23:49:02 +00:00
stephena f94ebed340 Some improvements to continuous snapshot mode:
1) the interval between snapshots can be configured within the
'File Settings' dialog

2) the commandline option is now named 'ssinterval' instead of 'ssdelay'

3) the action is tied to the 'Alt/Cmd-s' key instead of a function key

There's just one more small issue to take care of in the Windows port,
and the next release should be ready.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2011 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-14 20:27:59 +00:00
stephena d0391c28f2 Added 'continuous snapshot mode', currently tied to the Shift-F12
key.  This enables automatically taking snapshots every X seconds
while in emulation mode.  The interval (in seconds) can be set
with the 'ssdelay' commandline argument.

Some minor cleanups to the EventHandler methods, making them
const when possible.

Added latest DPC+ changes from Spiceware.

Fixed issue with ROMs that run entirely from ZP RAM; no disassembly
was being generated when entering the debugger.  For now, this
special case is detected, and the disassembly is generated for
the code that ran before the PC entered ZP RAM space.  Eventually,
this will go away when the Distella fully supports disassembling
below 0x1000.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2009 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-14 15:41:42 +00:00
stephena e37fa7f520 Yet more fixes to the OSX menus; it seems the actions tied to the
Control key weren't being passed to the core code.

Yet more tweaks to the documentation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2008 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-13 16:24:44 +00:00
stephena b022ffe74e Some updates to the documentation, particularly for the OSX stuff;
the name 'MacOSX' is now used more consistently.

Updated OSX build script and associated DMG template to create
release files in the form of 'Stella-VERSION-macosx.dmg'.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2007 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-13 12:32:08 +00:00
stephena 452b22d9f8 Updated various files, changing version from 3.0 to 3.1.
Bumped state file header for 3.1 release, indicating that all older
state files will no longer work.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2000 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-10 20:29:51 +00:00
stephena ea6ea9a7bd Renamed 'autocode' commandline argument and associated UI item
to 'resolvedata', since that more accurately describes what it does.
Also, it now accepts arguments as strings (never, always, auto)
instead of 0, 1, 2.

Updated main documentation for changes in OSX port 'basedir'.

Updated debugger documentation for recent command additions, and
provided new snapshots where the UI has changed.

It seems to be getting close to a new release - perhaps this
coming Friday.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1999 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-10 20:00:16 +00:00
stephena b781611925 Some updates to the PromptWidget and DebuggerParser.
The descriptions for the debugger commands are more streamlined
and better explained, and are neater when output.

Added 'cls' debugger command, which actually isn't for the debugger
at all, but for the prompt.  This erases all showing text and history.

Removed 'bank' debugger command, since it was already removed from
the RomWidget UI.

Removed 'listwatches' debugger command, since it wasn't implemented
anyway.  Besides, any watches are printed on every command access,
so it was pointless to have another function to do it.

Removed 'poke' debugger command; 'ram' and 'rom' do the same thing.

Fixed bugs in 'function' debugger command; it now correctly adds
functions without crashing.  Related to this, added 'listfunctions'
and 'delfunction' debugger commands for user-defined commands.

Fixed bug in completions for functions; it was including user-defined
functions twice.

Some general code cleanups in DebuggerParser (use ostringstream
instead of constantly creating new strings) and Expression
classes (make some methods const, for safety).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1998 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-10 00:52:47 +00:00
stephena 10c82a9457 Removed 'md5instate' commandline argument (it was previously added
post-3.0), and reworked how state files are accessed.  The cart type
now determines if a state file is valid, meaning developers can use
one state file across multiple builds of their program.

Added 'runtopc' debugger command, and associated UI item in the
RomWidget area.  This steps the code until the PC matches the given
value.

Added '16in1' bankswitch scheme, which is useful for ROMs named
'128-in-1' in RomHunter database.  Also, all multicart schemes now
show the current ROM onscreen while switching between them.

Fixed bug in Serializer class when accessing files in read-only mode.
Such files would be created and set to zero size, even if only
reading was requested.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1997 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-09 20:13:12 +00:00
stephena 964415508d Tab completion in the PromptWidget is now working again. As well,
the completion now includes functions (built-in and user-defined).

Cleaned up some more of the debugger documentation, mostly
related to tab completion.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1992 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-08 18:21:00 +00:00
stephena 72b2ddd89b First pass at updating the documentation for the impending 3.1
release.  This won't have everything I'd have liked to include,
but the release time has dragged on enough (the last release
was in Sept 2009!).

Some general code cleanups for the OSX port, as well as fixes
to the menus.  The menus contained items that in some cases
weren't actually tied to any event, or showed the wrong
shortcut key.  Also removed some of the more esoteric menu
items, sticking with only the most basic ones (fullscreen vs.
window mode, volume control, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1991 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-08 13:11:36 +00:00
stephena 0d367461a4 Cleaned up the Cartridge API. Certain methods are now explicitly marked
as 'const', and return types are closer to the actual type of data
returned.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1985 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-04-02 22:09:31 +00:00
stephena 6ece47c4ca Added 'DPC+' bankswitch scheme, as defined by SpiceWare and Batari from
AtariAge.  Basically, this is an enhanced version of the DPC class used
by Pitfall2.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1967 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2010-03-18 17:34:53 +00:00