Commit Graph

35 Commits

Author SHA1 Message Date
stephena 8019e877ca Huge updates to the documentation, particularly to the debugger portion.
Many changes have been made to Stella since that document was first
written, and quite a few things are now documented for the first time.
This means the next release will (feature-wise) look a lot bigger than
it really is :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1616 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-13 14:45:34 +00:00
stephena 7800ae585d Added code to actually perform bounds checking on the TIA display
properties, and changed the lower bound on Display.Height (210).

Cleaned up some redundant TIA code.

Fixed crashes in RomInfoWidget caused by viewing images larger than the
allocated surface (now the remainder is simply not displayed).

Updated properties database for several ROMs (related to maximum height).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1613 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-12 01:07:29 +00:00
stephena 26988867fa Adding '-timing' commandline argument as a setting in VideoDialog, so you
don't need to use the commandline to change it.

Fixed RomAuditDialog to show more meaningful descriptions in its buttons.

More documentation updates.  It looks like I won't be splitting the doc
into multiple HTML files for this release, but I can at least make it
more descriptive (I just realized that some options in Stella have never
been in the documentation at all).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1603 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-06 23:02:18 +00:00
stephena f431c850c1 More updates to the documentation. I think I'll have to move to a
multi-page HTML document, as the current one is getting too unwieldy.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1602 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-06 17:01:55 +00:00
stephena b8e821b709 First pass at documentation updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1601 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-06 01:40:11 +00:00
stephena 7f727528b8 Made the delay between registering consecutive keypresses as one string
be configurable for ListWidgets.  Added UI item for this to UIDialog
(Misc tab), and added the '-listdelay' commandline argument for it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1600 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-05 22:05:35 +00:00
stephena 062bd55804 Add ability to filter files from ROM launcher listing based on extension.
For now, there are 3 choices:

1) Show all files (the current default, and equivalent to previous
   behaviour)

2) Show only ROMs (those files ending in a26, bin, rom, zip, gz)

3) Show specific ROMs (a subset of the valid ROMs from (2))

Associated this functionality with a RMB context menu in the ROM
launcher, and also accessible with the '-launcherexts' commandline
argument.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1598 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-05 19:44:30 +00:00
stephena 6a4945528f Reversed a number of the UI/TIA palette changes I made yesterday, as it's
a can of worms I don't want to open (and besides, the current
implementation works well enough).

Added '-ss1x' commandline argument (and associated UI element) to
generate TIA snapshots in 1x mode (ie, without any scaling included).
Useful for those who would like to generate many small snapshots, but
don't want to run the emulation in 1x mode (which is no longer possible
anyway).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1595 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2009-01-03 22:57:12 +00:00
stephena 8ba2482f50 RomInfoWidget now honours 1x and 2x mode, and correctly resizes PNG
snapshots to the selected mode.  This means that you no longer have
to make sure that snapshots are taken in 1x mode (as was the previous
functionality).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1585 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-12-30 02:34:49 +00:00
stephena 3f81dd2c93 Changed behaviour of 'gl_fsmax' argument again. It's now a boolean,
which only applies to TIA mode (in fullscreen, of course).

Some code/debugging cleanups across the various FrameBuffer classes.

Finally fixed software rendering mode crashes.  It now works just as
well as OpenGL mode, with all dialog positioning working the same in
both.

Reactivated OpenGL filtering (GL_LINEAR and GL_NEAREST).  Only the TIA
image can be changed; the UI dialogs are always using GL_NEAREST).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1579 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-12-28 21:01:55 +00:00
stephena 9fc6eff352 Added '-timing' commandline argument, which determines the type of waiting
to do between processing frames, and can be set to 'sleep' or 'busy'.
Sleep emulates previous Stella behaviour, releasing the CPU whenever
possible (at the expense of graphical tearing on some systems, unless
gl_vsync is enabled).  Busy emulates the busy-wait behaviour of z26,
using all available CPU time but sometimes eliminating (or at least
reducing) graphical tearing.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1526 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-05-21 16:49:07 +00:00
stephena bd90840ded Added more sophisticated framerate calculation based on the number of
scanlines.  Previously, this was only done for the first few frames.
However, that approach won't work for ROMs that change the number of
scanlines later in their run.  Now, the framerate is automatically
re-calculated at regular intervals within the TIA.

Reworked 'framerate' argument to override auto-frame calculation when
it contains a non-zero value, and use the given framerate instead.
Setting it to zero resumes auto-frame calculation.

Re-activated framerate option in the UI.  This can be changed while
the ROM is running, updates will be almost immediate.

Upped the release date, since more testing is required.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1524 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-05-21 14:01:31 +00:00
stephena 2b62f99fb8 Updated various files for the impending 2.6.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1522 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-05-20 14:35:51 +00:00
stephena 7ed4ef1b58 A few more BoosterGrip related changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1512 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-05-16 12:17:23 +00:00
stephena 9d51e63d86 Final changes for the 2.6 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1511 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-05-16 12:04:35 +00:00
stephena 2350a5c3f5 Added an alternate way of emulating the M6532 timer functionality. The
new code seems to contradict some documentation on the timer behaviour,
but does work with all ROMs I've tested (it even fixes a few ROMs that
didn't work before).  I'm not sure if the documentation is incorrect;
more testing and feedback is needed.

Bumped version number and documentation for 2.5.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1459 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-08 19:17:26 +00:00
stephena 56ab631429 Final commits before the 2.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1448 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 23:59:21 +00:00
stephena b78f0ac738 Fixed minor UI issue in GameInfoWidget.
Updated docs for impending 2.5 release.  I still have to add documentation
for Rom Info and Rom Audit functionality.  That's the worst thing with
adding new features; I have to document them :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1446 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 00:52:05 +00:00
stephena 2ad8f1efac Removed specific events for BoosterGrip buttons, and instead made them
generic joystick buttons.

Added complete keyboard/joystick support for all 4 paddles.  Associated
paddle resistance decrease/increase/fire to joystick events in the
'spirit' of z26 (ie, joy0 left/right/fire is paddle 0, joy1 left/right/fire
is paddle 2, etc).  These events can still be remapped independently
of joystick events, of course.

First real attempt at adding 4A50 bankswitch support, which is currently
being modelled on the E0 scheme (they're somewhat similar).  The code
still doesn't work, of course.

Fixed bug in FASC scheme whereby reading from a write port didn't generate
an associated write as a side-effect.  Thanks to Kroko of AtariAge for
the advice and partial code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1388 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-10-09 23:56:57 +00:00
stephena 2f5e6d53d2 Updates for the 2.4.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1360 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-27 13:58:42 +00:00
stephena 88e76cfd6e Re-added OpenGL aspect ratio setting; it ended up being much easier to do
than I thought.

Bumped version number to 2.4.1_cvs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1356 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-21 17:58:26 +00:00
stephena a8def47429 Final doc updates before the 2.4 release. I plan to spend the next day or two
doing some final testing, with the release coming on Monday, Aug. 20.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1353 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-17 17:11:43 +00:00
stephena 363b75c50d Some last minute updates and doc changes for 2.4 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1352 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-08-17 16:12:50 +00:00
stephena 821dcf9bc0 Added SECAM support internally and to the user-defined palette.
Added '-channels' commandline argument, which allows setting the 'Cartridge.Sound'
property (the property was already present; this just adds a way to set it
from the commandline).

Added ability to change the locations for state saves, cheatfile, palette file
and properties file.  These are now changable from within the application
(Options -> Files & Snapshots -> Config Files.  They're also changable from the
commandline with '-statedir', '-cheatfile', '-palettefile', and '-propsfile'.

Fixed issues in commandline handling; maybe I should just use GNU getopts.

Updated the documentation.  I guess that means a new release is close ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1332 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-07-27 13:49:16 +00:00
stephena e1c09992ec Completely removed 'Display.XStart' and 'Display.Width' functionality,
and all associated settings/UI elements.  It wasn't actually used anywhere
in the current properties database, and would definitely disappear in the
next version of the TIA class anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1316 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-02-06 23:34:35 +00:00
stephena 097e8834d0 Updated docs for impending 2.3.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1281 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2007-01-14 18:59:08 +00:00
stephena ed4e219a43 Final version bump to 2.3. I suspect there may still be problems with
the OSX port, but I'm not getting feedback, so I'll do a release and then
deal with the complaints :(


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1226 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-20 12:42:56 +00:00
stephena 025d8b9cdd Removed SNAPSHOT_SUPPORT define and all functionality from the codebase.
Snapshot support is now always included, since it doesn't require libpng
and is only about 100 lines of code.  If your particular port doesn't want
it, then don't bind an event to it :)

Removed changeWidth() and changeHeight() TIA functionality, in preparation
for the release after this one when it will disappear completely from the
core.  Current ROM's which have these properties set will still function,
as long as 'tiadefaults' isn't turned on.  Of course, one can still edit
the properties manually, but I'd like to discourage it.

Updated event strings in EventHandler.  We now consistently refer to the
first joystick/paddle/driving controller/etc as zero.

Some more updates to the manual.  I think it's pretty much complete at
this point.

Bumped version number to '2.3_rc1'.  I'm basically finished at this point.
All that's left to do is make sure the weird OSX crashes some people are
having are fixed, and I'm awaiting feedback on that one.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1223 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-18 16:44:40 +00:00
stephena e5275949d4 Sorry for another huge commit :)
Changed all functions #define'ed in bspf.hxx to be named more consistently
(BSPF_functionname...), to make it more obvious what they are.

Changed 'DEVELOPER_SUPPORT' to 'DEBUGGER_SUPPORT' everywhere.  Originally,
developer support was to encompass more than just the debugger, but since
there's no longer a reason to exclude the other stuff (due to most of it
being very useful even for non-developers), it makes sense to rename the
option.  Those ports using 'configure' will need to update the arguments
used.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1216 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-15 16:43:12 +00:00
stephena 7cb5858c6e Added '-cp' developer commandline argument, to set the 'Controller.SwapPaddles'
property (Yes or No).

Changed the static initialization of Scaler related items to use const char*
instead of string, since the WinCE port has trouble with that.

Updated 'scale_ui' and 'scale_tia' to use lowercase options.  So those
settings will be reset with this commit.

Added all recently added options to Settings::usage().

Huge update to the user manual.  Things are getting very close now :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1207 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-13 00:05:46 +00:00
stephena 6608b99d8c Added new rendering modes to FrameBufferSoft, which don't use dirty
rectangle merging.  This makes the 'dirtyrects' option more relevant,
since now if it's turned off, dirty rectangles are not merged, and
the screen is updated with SDL_Flip() instead of SDL_UpdateRects().
This new functionality is very similar to how z26 works, but
experiments on my Linux system show it to be twice as fast on
average :)  Dirty rectangle merging now defaults to off.  I'm
leaving it in, since it benefits people in some cases.  Basically,
non-dirty-rect support is optimal when many things are changing
onscreen at once, at the cost of more constant and generally slightly
higher CPU usage.  Dirty-rect support is optimal at larger resolutions,
where it's usually at least twice as fast as without, but is suboptimal
at larger resolutions when lots of stuff is changing.  At some point in
the future, maybe Stella itself can automatically switch modes depending
on which is faster at any point in time.

Added "[..]" previous directory functionality to BrowserWidget, the same
as already in the LauncherDialog.  Thanks for Alex and Lou for the
reminder.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1197 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-10 17:04:34 +00:00
stephena e230be7fed Reworked default paddle mode handling. Removed ROM property
'Controller.PaddleNo', replacing it with 'Controller.SwapPaddles' (Yes/No
type argument).  The reasoning being that in combination with
'Console.SwapPorts', paddle 0 can be the default for any ROM as follows:

  ROM uses paddle 0 as default:
    Console.SwapPorts -> No
    Controller.SwapPaddles -> No

  ROM uses paddle 1 as default:
    Console.SwapPorts -> No
    Controller.SwapPaddles -> Yes

  ROM uses paddle 2 as default:
    Console.SwapPorts -> Yes
    Controller.SwapPaddles -> No

  ROM uses paddle 0 as default:
    Console.SwapPorts -> Yes
    Controller.SwapPaddles -> Yes

Updated all ROMs that don't default to paddle 0.  This works for all
paddle input, both analog from mouse and/or joystick and digital from
keyboard, joystick, etc.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1192 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-09 00:25:20 +00:00
stephena 8c47a3f155 Hopefully fixed Dialog key handling bug in OSX.
Updated copyright dates on all headers (the reason for this huge update).

First pass at updating the user manual for all the new changes in the codebase.

Bumped version number to 2.3_alpha.  It's getting close folks.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1188 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-12-08 16:49:42 +00:00
stephena 9dd1f10e4b Updated manual and txt files, and bumped version for upcoming release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1080 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-04-05 16:06:59 +00:00
stephena ff639c7b4f Added cheatcode stuff to OSX port.
Cleaned up some errors in unzip code.

Removed some OSX stuff that didn't need to be in CVS.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1037 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-03-11 19:56:36 +00:00