Commit Graph

1069 Commits

Author SHA1 Message Date
stephena c774f19fd0 Changed enum back to static const, as per the authors original intent.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2896 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-03 11:39:45 +00:00
stephena e81f2b0ffd Added preliminary support for DASH bankswitching scheme by A. Davie.
This hasn't been tested yet, since no ROMs currently exist.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2895 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-02 20:41:19 +00:00
stephena 8f2123a5bf Aspect ratio correction is now properly applied to the TIA in windowed
and (simulated) fullscreen mode.

Fullscreen mode is now simulated in that it creates a window that matches
what would appear in fullscreen.  The next thing to do is actually have
the backend create this fullscreen mode correctly.

Changed 'gl_fsscale' to 'tia.fsfill' to more properly indicate what the
option does.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2894 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-02 14:34:12 +00:00
stephena 38b586ae7b Fixed missing initialization of FBSurface attributes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2892 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-14 22:29:53 +00:00
stephena d04c42580b TIA rendering and Blargg/scanline effects are now working again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2891 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-14 22:04:59 +00:00
stephena b7ae007093 Updated VS project files for recent class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2890 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-13 23:16:54 +00:00
stephena c8b27ec114 Some pretty huge changes right across the board.
Changed pointers to references in c'tor calls, making things a little safer.

Removed FBSurfaceTIA, since it was tied too closely to SDL itself.  Added a
class called TIASurface that is functionally very similar, but is more generic
and accessible by the FrameBuffer directly.  Eventually, this class will take
responsibility for all things related to rendering the TIA image (Blargg TV
effects, phosphor mode, etc).

TIA rendering is currently borked; fixes will follow ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2889 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-12 23:34:25 +00:00
stephena d57184a4fc Fixed loading of PNG images in the ROMInfoWidget.
Added fallback to FBSurface::drawSurface() in case certain ports don't
want to implement it natively.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2888 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-09 17:44:04 +00:00
stephena e31274c753 When obtaining FBSurface bounding rects, use references instead of constantly
creating new instances of GUI::Rect.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2887 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-07 20:21:07 +00:00
stephena 3a60412706 Fixed framebuffer overlay display; the messages weren't being scaled correctly.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2886 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-07 20:02:47 +00:00
stephena b068b3299f Removed some obsolete references to OpenGL.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2885 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-07 11:15:00 +00:00
stephena 68df6fe891 Move the scaling, streaming and blending options directly into FBSurfaceSDL2,
making this class more robust, and enabling it to be used for either UI
surfaces or TIA surfaces.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2884 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-04 20:21:16 +00:00
stephena b418d5a4f5 Changed FBSurface API to access/modify source and destination rendering
rectangles.  Now that the underlying rendering is hardware accelerated,
this API more closely matches what is actually occurring.  As well, it
makes things easier comprehend: 'src' rect is the actual surface data,
and 'dst' rect is its final output onscreen (scaling, etc being applied).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2883 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-04 16:59:11 +00:00
stephena 0110cd829e Fixed some minor compile issues, and updated UNIX build files to
actually use SDL2.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2882 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-03 17:48:25 +00:00
stephena bf283001ee Some API comment fixes, and renamed FBSurface::update() to render(),
to more clearly indicate its intent.  It looks like
FBSurface::drawSurface() is essentially the same thing, and will
probably be removed.

Fixed header issue in OSX code, that wasn't detected until moving
to Xcode 5.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2881 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-02 15:58:57 +00:00
stephena 3914b15e9b Yet more upheaval of the FrameBuffer/surface code. Moved most of the
functionality of FBSurfaceUI into FBSurface directly, since there was
absolutely no need of the SDL-specific code to know about underlying
FrameBuffer-specific stuff.  This makes a clear separation between
SDL and the core code, making porting easier in the future.  As a
result, renamed FBSurfaceUI as FBSurfaceSDL2.

Eventually, FBSurfaceTIA will disappear completely, being integrated
into FBSurface and FBSurfaceSDL2.  Again, the logic for drawing the
TIA and using Blargg, etc has absolutely no place in SDL-specific
areas of the code.

When this conversion is complete, I see FrameBufferSDL2 and FBSurfaceSDL2
as being thin wrappers around SDL-specific functions that simply push
pixel data to the video system.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2880 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-02 13:17:24 +00:00
stephena 4654975341 Some updates for compiling in the latest version of Visual Studio (2013).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2879 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-01 23:15:17 +00:00
stephena e7719c334e And now that the FrameBuffer class is partially working, time to break
things again :)  Work continues on refactoring the FBSurface code, and
moving thing out of the xxxSDL classes that don't really have anything
to do with SDL.  This will also make it easier to port Stella to other
graphical toolkits.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2878 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-04-30 16:53:21 +00:00
stephena 61689a9563 The TIA windowed zooming modes now work (using Alt-minus and Alt-equals).
Rearranged some of the desktop size code, to be more consistent with the
new API.

Beginning to remove the old assumptions that a smaller screen than 640x480
could be used.  In the 4.0 release, the smallest (internal) screen
supported will actually be 640x480, and if the real desktop can't display
it, then it will be scaled down.  This is one of the nice benefits of
killing pure software rendering support, and letting the hardware just
draw the screen as it likes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2877 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-04-29 14:52:35 +00:00
stephena 0c3b9f1443 OK, just checking in to let everyone know that I haven't abandoned the SDL2
conversion.

There are changes all over the FrameBuffer classes.  Still TODO is
TIA resizing in windowed mode, and all fullscreen modes.  The infrastructure
is close to completion, and it should be pretty easy to get the framebuffer
stuff done in the next week or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2876 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-04-28 16:47:10 +00:00
stephena 18a467062a Oops, a few settings changes I forgot in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2874 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-12 17:00:52 +00:00
stephena bc9e50f0f1 Updated some documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2873 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-12 16:56:15 +00:00
stephena d0d04948c7 The keyboard now works in TIA emulation mode. Still TODO is get ASCII
characters working, so the UI can be used.

SDL Window events are now sent to the EventHandler core.  For now, only
the window expose event is handled (redraws window if it's been hidden).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2872 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-09 19:22:04 +00:00
stephena 0b3bf4b659 The framebuffer now recognizes double-buffering based on whether the render backend is accelerated, and the refresh method uses this to refresh buffers. This fixes the flashing that appears in OpenGL in Windows and OSX. Interestingly, Direct3D in Windows and OpenGL in Linux didn't exhibit this issue.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2871 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-08 22:57:16 +00:00
stephena c878fd926d More work on FrameBuffer, to fix flashing issues in some renderers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2870 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-08 22:15:02 +00:00
stephena 28a335b9ea The OSX build files now support (and probably require) Xcode 5!
There's still quite a few issues to fix, but at least it compiles
and runs Stella correctly.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2869 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-08 00:44:30 +00:00
stephena cde5c2ed9c Disabled icon loading completely, since Linux/OSX didn't need it, and Windows uses the icon from the project file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2868 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-07 22:34:48 +00:00
stephena 9da99f56d2 The 'video' commandline option now allows to select between different
renderer backends (in SDL).  This allows to select software mode (not
recommended) or Direct3D/OpenGL in Windows.

The app icon is now loaded in Windows.

Cleaned up the VideoDialog UI, removing references to double-buffering
and OpenGL-specific settings.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2867 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-07 22:12:39 +00:00
stephena 81347af093 Fixed joystick messages, to properly indicate when no joysticks are present.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2866 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-07 18:19:09 +00:00
stephena 90fbea8286 More fixes to VS project file for SDL2 update.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2865 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-07 17:45:49 +00:00
stephena 2ac3042d09 Updated Windows build scripts for SDL2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2864 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-06 23:09:27 +00:00
stephena 2a0da329f2 Added FrameBuffer::about(), so we can actually see if hardware acceleration
is being used.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2863 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-06 22:36:31 +00:00
stephena fdf9ed708a Removed concept of 'base' surfaces, which was an optimization for software rendering.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2862 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-02 02:02:00 +00:00
stephena cf50b4f1b6 Updated VS project file to support SDL2. The Windows port is now at the same level as Linux (IOW, it can compile and run, but many things are still broken).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2861 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-02 01:35:37 +00:00
stephena 2d64643d8f A few fixes for texture/scanline filtering.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2860 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-03-01 18:28:57 +00:00
stephena dbddad068c Scanline effects and texture filtering settings are now honoured.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2859 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-28 23:34:50 +00:00
stephena a58fb7165e The 'center' and 'vsync' options are now honoured. Many commandline
options have changed names.  In particular, all tia-related options
now start with 'tia.'.  This includes most of the old options that
started with 'gl_'.

Changed the names of all tv-effects options from starting with 'tv_'
to 'tv.', to match the name changes elsewhere.

Some work on the documentation to reflect the latest changes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2858 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-28 21:21:50 +00:00
stephena 7bebe7263d Some more work on Blargg scanlines; it's still not correct, but closer
than before.

Fixed compile issue for joystick support (thanks to email from D. Church).
Joystick support still isn't tested, so no guarantees it will work.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2857 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-22 17:31:16 +00:00
stephena ca59c8bd29 A few minor improvements in the SDL TIA handling code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2856 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-19 21:30:52 +00:00
stephena 6c562f49b8 Blargg effects now work, but the scanlines aren't quite right yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2855 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-19 18:57:14 +00:00
stephena a1ea1b0c96 OK, SDL2 is in the building! This is the first pass at porting the code
to SDL2.  For now, there are many things broken, namely keyboard handling
and fullscreen modes.  But the launcher does show up, allows to start a
game and enter/exit the debugger, etc.

The code will only compile on Linux for now, and sometimes maybe not even
then.  Expect breakage on a regular basis over the next month or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2854 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-19 15:34:22 +00:00
stephena 46733e32c0 Fixed some minor compile warnings for OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2853 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-17 00:11:01 +00:00
stephena 14c8546ce1 Updated VS project files for new EventHandler class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2852 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-16 20:52:45 +00:00
stephena b2370205ca Fixed minor compile issue for OSX build, and removed the non-Intel
build files (sorry, there's no PPC support for Stella 4.0 using
SDL2).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2851 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-15 22:55:36 +00:00
stephena 5a48bf0311 Fairly large reorganization of the EventHandler class, separating out
SDL-specific code into its own EventHandlerSDL2 class.  This is part
of a larger reorganization of the codebase, to completely remove
SDL-specific code from src/emucore, and make it easier to port to SDL2.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2850 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-15 21:37:29 +00:00
stephena 32199509b3 Updated internal PNG files to latest release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2848 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-07 00:23:35 +00:00
stephena e7d2b67ceb Updated OSX project file for recent FrameBuffer changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2847 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-05 23:07:51 +00:00
stephena 45d0740819 Some reorganization of the FrameBuffer classes, to move all SDL-related stuff
into FrameBufferSDL2 only.  This will make conversion to actual SDL2 code much
easier, since it won't be touching any of the core emulation code in src/emucore.
Next TODO is something similar for EventHandler (which uses SDL heavily and is
too tied to a core class).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2846 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-05 22:09:57 +00:00
stephena 37b30e7b66 Some cleanups of the FrameBuffer class; 'uipalette' is no longer suported.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2845 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-01-31 16:23:10 +00:00
stephena 53c053a2d9 Ported 3.9.3 changes to trunk.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2844 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-01-20 21:02:20 +00:00
stephena 7c4a0a331d Added new bankswitch code from 3.9.3 (RevEng and CPUWIZ) to trunk.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2837 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-01-17 15:39:11 +00:00
stephena aa5691af8a OK, it looks like I'm back to Stella development, after a several month
break.  First thing to do is update the year.  Happy new year to anyone
reading these commit logs.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2833 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-01-12 17:23:42 +00:00
stephena 9137b93c80 Some more code pruning. Basically, all classname references to OpenGL
have been changed to 'SDL2'.  From this point on, the OpenGL-specific
code will be removed, and replaced by SDL2-specific hardware-accelerated
code.

Cleaned up (mostly) the API of FrameBuffer vs FrameBufferSDL2.  Since the
FrameBuffer class is an emucore object, it should have no knowledge of SDL,
or any particular rendering toolkit for that matter (just in case we want
to move to SDL3 eventually :) ).

At this point, all checks for OpenGL have been removed, so if you don't
have it on your system, Stella will fail to compile and/or run.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2832 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-28 00:51:10 +00:00
stephena 40f9da7839 The first casualty of code pruning; specific code for window
centering has been removed (SDL2 provides this natively).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2831 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 20:59:23 +00:00
stephena 01f7c2c2f3 Renamed 'Win32' in various locations as 'Windows', to be more
in line with the other ports.  Besides, the code now also supports
64-bit Windows, so the name was incorrect anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2830 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 20:41:24 +00:00
stephena a911a5b368 And so it begins. This is only symbolic ATM, but I've now killed
software rendering support.  I've been wanting to do this for years,
and finally the time has come.  So for now, you need OpenGL for Stella
to build and run.

Expect major breakage over the next few months, as I port to SDL2.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2829 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 19:47:15 +00:00
stephena cda1e301e2 Temporary workaround for saving TIA image from debugger window; we only
ever want to see the TIA, not the entire debugger area too.

This will be fixed for Stella 4.0, once I remove the @#*%$-ing software
rendering support.  That part of the code keeps coming back to haunt me
for years.  It will be *SO MUCH EASIER* to deal with these things when
everything is a FBSurface that can be stretched/scaled as necessary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2828 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-16 14:37:44 +00:00
stephena 86764bf160 Updated PNG library to latest version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2827 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-15 13:00:02 +00:00
stephena e4dce0d897 Updated included PNG library.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2826 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-13 10:46:21 +00:00
stephena c5f011f1fe Added 'savesnap' debugger command, on the request of Spice from AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2825 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-12 22:37:01 +00:00
stephena 498a996815 Forgot to add bold font definitions to VS project file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2823 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-31 14:10:51 +00:00
stephena fa9951e95f Final updates for 3.9.2 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2822 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-31 13:49:19 +00:00
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 646da290d6 Updated OSX project file for new fonts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2818 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-24 16:22:11 +00:00
stephena f63bcf7a3b Updated OSX Intel poject file for new bold fonts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2817 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-24 16:16:12 +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 587959c273 Well, that was fast. Fixed bug in parsing constants from the DASM lst file.
I wasn't completely sure how the file was structured, but it's starting to
make a lot more sense now.  I think in the end, it will be better to use this
file as much as possible.

Bumped version #, and starting all over again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2815 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-22 21:34:22 +00:00
stephena c1398bc331 Updated version # for 3.9.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2813 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-21 18:29:22 +00:00
stephena 4d0be67af0 Some minor fixes for the VS project file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2811 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-21 12:37:22 +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 edd488eac6 Getting ready for the 3.9.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2808 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 20:08:09 +00:00
stephena b0d243fef9 Pressing 'Default' in "Power-on options" now saves the settings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2807 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 20:04:33 +00:00
stephena d48f9e6f49 Bumped version # for final testing.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2806 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 18:00:34 +00:00
stephena 216490744c Added preset buttons to debugger UI config to set window size
to use each font.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2805 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 17:58:56 +00:00
stephena 28b80d93cf The TIA info area of the debugger is now font-sensitive.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2804 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 15:23:07 +00:00
stephena 4ef0416e26 When loading symbol files, strip leading numbers from names using the
number.name convention (which seem to be pass #'s for DASM).  Initially
having this info in Stella was simply visually inconsistent, but now
it also interferes with recompiling when saving the disassembly (IOW,
the data put into the symbol file by DASM can't be fed back into DASM
again in these cases).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2803 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 14:29:28 +00:00
stephena f02995b485 CPU register 'source' addresses in the debugger now show labels,
when applicable.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2802 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-20 14:00:25 +00:00
stephena bf3384425c Added medium console font to OSX project file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2801 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-19 22:45:00 +00:00
stephena 568e61de61 Removed unused font from OSX project file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2800 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-19 22:34:11 +00:00
stephena 7b79b0a971 The debugger CPU area is now font-sensitive.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2799 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-19 17:45:17 +00:00
stephena 29167a2e87 When using different font sizes in the debugger, the TIA display /
tab area and RAM area now take advantage of extra space.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2798 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-19 15:23:33 +00:00
stephena 30a3f3742c TIA graphics registers now more closely illustrate how they're drawn
to the screen (inactive pixels are 'transparent' in the UI).  In the
case where there is only one possible object below the register, a
'blank' uses the underlying colour (ie, in normal priority, a blank
PF is 'coloured' using COLUBK).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2797 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-19 14:35:58 +00:00
stephena 8ea92e67ef In the debugger TIA output, set inactive pixels in GRPx and PFx to
COLUBK instead of always using colour 0 (black).  This is more
informative, as it displays how the registers actually work when
being drawn to the screen.  Thanks to Tjoppen of AtariAge for this.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2796 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-16 12:25:42 +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 77dfaa0ebc Rearrangement of GUI-specific code from Debugger to DebuggerDialog; more
cleanups and removals to follow.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2794 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-13 16:44:23 +00:00
stephena bcb4c592d3 Some minor font-related UI fixes in the debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2793 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-12 16:52:49 +00:00
stephena aaba21cc77 Oops, forgot to include disassembly glyph in the 'large' debugger font.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2792 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-12 15:17:19 +00:00
stephena 465cc76769 Some reorganization of the console font initialization, in preparation
for different-sized debugger fonts.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2791 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-12 15:02:38 +00:00
stephena 19d9d5bc99 Fixed bug that crept into the new HEX handling code. It was left-justifying
values, which messed up code running from RAM (ie, address $80 became $8000!).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2790 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-11 23:16:08 +00:00
stephena 45115d5754 Minor cleanup of the BSPF API, and fix bool warning from VS 2012.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2789 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-11 15:41:36 +00:00
stephena c840bb9809 Removed some (long) dead debugging code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2788 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-10 21:21:17 +00:00
stephena 5d026334d6 Version # updates for the upcoming release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2787 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-10 20:34:52 +00:00
stephena 6e5a66a0fb Fixed minor compile error for OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2786 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-10 02:37:41 +00:00
stephena 7758e0deb4 Better autodetection for EF and EFSC ROMs generated by the latest version
of bB, thanks to RevEng.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2784 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-09 21:53:31 +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 ed49f9ba1d Event mappings weren't being saved when exiting the ROM launched from
the commandline (different code paths were taken).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2782 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-08-04 17:00:46 +00:00
stephena e3f1892351 Forgot to add release date to Princess Rescue ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2781 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-31 19:29:19 +00:00
stephena 33ec369d3b Added "Princess Rescue" properties info, now that the ROM has been released.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2780 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-31 18:59:33 +00:00
stephena 1e35527f01 Added medium and large console fonts. These aren't exposed to the UI yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2779 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-31 16:53:39 +00:00
stephena 1619c1a349 Regenerated the UI fonts, included the tool to actually do so (it was
previously on my local system, not in the repo), and fixed some minor
UI layout issues.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2778 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-31 15:46:02 +00:00
stephena 12f44a58fa Updated OSX project file for Base class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2777 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-31 00:14:36 +00:00
stephena 4dde5045c0 Updated OSX Intel project file for Base class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2776 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-31 00:13:12 +00:00
stephena 189f10f201 InputTextDialog used in debugger RamWidget wasn't closing properly
on exit; it attempted to close the debugger dialog instead!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2775 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-30 21:43:20 +00:00
stephena 4958e87c3e Cleaned up ContextMenu API wrt multiple setSelected methods; in some cases,
it was confusing which one was being called.

Fixed output in debugger bankstate info; in some cases, hex numbers were shown
when decimal was required.

Fixed regression wrt the last TIA change (incorrect framerate counter); the
PAL autodetection was failing in certain cases.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2774 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-30 20:31:14 +00:00
stephena 20b9253430 Moved TIA frame count update code to beginning of frame (instead of the end).
Once a frame has started, it means a new frame should be added.  This
fixes a bug in the debugger UI whereby the frame count showed the previous
value, since sometimes you could enter the debugger (with a cond BP)
before the end of the frame was technically reached.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2773 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-30 16:45:23 +00:00
stephena 270abc889d Removed BSPF_toString, since its functionality is now provided by Variant.
This is the beginning of a major cleanup of the bspf.hxx file, which
has gotten unwieldy over the years.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2772 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-29 15:10:39 +00:00
stephena 2ed0848392 Added 'Base' class to VS project file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2771 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-27 22:40:56 +00:00
stephena 95fe213f3a Consolidated the code for converting integers to strings in various
bases into a Common::Base class.  Previously, this functionality was
spread across several classes, and used different approaches to formatting.
While the code still mixes C++ streams and C-style sprintf's, at least
it will now be easier to modify it all in one place.

Related to the above, added ability to use upper or lower case
characters for HEX output in the debugger.  This is toggled by the
new debugger prompt command 'uhex', which is also tied to a new
commandline argument, 'dbg.uhex'.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2770 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-27 22:28:41 +00:00
stephena 33bcec92be Startup notification protocol patch for the UNIX desktop file,
from Dan Fandrich.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2769 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-21 13:47:33 +00:00
stephena a1ac026cbc Added 'cpurandom' commandline argument and associated UI item, to randomize
the CPU registers (A/X/Y/PS) on ROM load.

Added 'INTIM Clks' to the debugger I/O tab, showing the number of clocks
before the current INTIM value decreases by 1.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2768 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-21 00:27:52 +00:00
stephena 13c3ca9964 TIA position counters (POSP0, POSM0, etc) in the debugger now show values
in decimal, not hex.

All DataGridWidgets (ie, most of the inputs in the debugger) have more
strict input filtering, allowing to use $,#,\ specifiers for different
bases, as well as restricting input based on the specifier used (ie, if
you've entered a '\', only '0' and '1' are allowed, etc).

Updated libpng to latest version.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2767 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-19 13:43:42 +00:00
stephena 04f6a16f97 Fixed error tracking PC changes in disassembly when the PC and bank mirror
didn't match.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2766 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-17 23:00:55 +00:00
stephena b6d3098e2c Some work on the TIA class (I don't know how long the current code
will be used, but at least we can improve it a little).

Eliminated the 'alignment' dimension in the various TIATables masks,
reducing the size of the arrays by a factor of 4.  I could never
figure out what alignment meant, until I looked at old TIA code in
the repo.  It seems that originally, there was an optimization
in the code to fill the array on 32-bit boundaries, instead of the
current 8-bit boundary.  As a result, the masks had to be defined
as 32-bits, or 4 groups of 8-bits.  Ah, that's where the 'alignment'
comes from.

Related to this, the colors and pointers in the TIA class are now
8-bit as well.  Essentially, the TIA class has been doing extra
work to align everything to 32-bit and never actually using the
results.  And it's been this way for 4+ years.

Older state files will no longer work, so the version # has been
bumped.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2765 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-07-10 15:40:11 +00:00
stephena 3f4085f8b9 Added ability to change 'tiadriven' and 'ramrandom' to the debugger UI.
Cleaned up the class comments wrt ScummVM; the attributions only needed to
be in the base classes, since all the derived stuff was written later.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2763 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-29 00:02:49 +00:00
stephena 54a9a2d61d Fixed error with maximize button appearing in the app title bar
in Linux/UNIX.  This bug has been present since 3.2; too bad I didn't
find it 24 hours ago, as it could have been included in 3.9.

Bumped version #, and starting all over again ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2762 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-27 16:25:27 +00:00
stephena daf2691ac7 Updated VS project file with Snapshot Dialog class. There's always one final commit after I tag a release :(
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2760 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-26 22:00:48 +00:00
stephena 1f4cf1c0b1 We're close to the 3.9 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2757 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-26 21:34:48 +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 f5ed7ccf5c When patching code in the disassembly list, the current base is now used.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2755 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-23 00:22:16 +00:00
stephena 98886f8850 Updated UI help dialog, fixing some out of date info and adding
a TV filtering section.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2754 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-21 13:09:46 +00:00
stephena f3d412fce7 Improved the new Snapshot Settings dialog with more informative text.
Added option to save snapshots using either internal database name
(the default) or actual ROM filename.

Extended FSNode API for parsing filenames and adding/removing extensions,
which was previously being done in different ways throughout the codebase.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2753 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-21 12:15:32 +00:00
stephena 41cb93c437 Updated OSX project files for snapshot-related dialog rearrangement.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2752 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-19 21:29:18 +00:00
stephena 125d7542d5 Refactored snapshot-related UI code into a new 'Snapshot Settings' dialog,
since it was getting too unwieldy for 'Config Paths', and didn't properly
belong there anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2751 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-19 20:28:41 +00:00
stephena f01bd88cfb Updated VS project file for recent class addition.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2750 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-19 18:38:30 +00:00
stephena b796028617 Updated OSX project file for recent class addition.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2749 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-18 01:55:13 +00:00
stephena b4ee60730a Updated OSX Intel project file with recent class addition.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2748 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-18 01:50:14 +00:00
stephena c179a00725 Added specific dialog for changing Distella settings to disassembler.
This will eventually grow to include all relevant options in Distella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2747 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-17 15:57:41 +00:00
stephena 5cdd536a5a Improved error messages when loading ROMs from ZIP files.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2746 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-06-10 14:19:56 +00:00
stephena 4c6667f64d Some performance improvements. Probably not noticable on current
systems, but seems to improve issues on slower computers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2745 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-30 16:07:19 +00:00
stephena 3eddecdd01 Oops, now that I've changed EditableWidget::setText, I have to change
the getter to match.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2744 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-29 16:45:18 +00:00
stephena 969d4b5fe2 Some more work on the debugger ROM UI area. Changed previous bank
selection widget to a display of current bank state, taking into
account the more esoteric bank schemes.  Currently, some functionality
is disabled/removed for now; I'll work on this for the next commit.

The format for displaying disassembler GFX/PGFX (binary or hex) is now
obeyed in the disassembly file output as well.

Changed various comments/enums/etc referring to 'preliminary' code to
'tentative' code, matching the actual intended meaning and the current
documentation.

Small API change for EditTextWidget; changed method name to setText, since
that's what I keep typing for some reason.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2743 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-29 16:27:12 +00:00
stephena e76066c051 Updated ROM properties database to include RomHunter v9 info.
Fixed bug after pressing Enter/Return in EditTextWidgets; it was exiting
from edit mode, which locked out certain key handling (these widgets
are always editable, and should not be exited in such a way).

Also, I just noticed the changelog file is exactly 2600 lines long :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2742 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-28 21:46:45 +00:00
stephena 7931699eb7 Some cleanup of ASM output; only print headers for various constants
if they are actually used in the disassembly.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2741 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-21 16:57:12 +00:00
stephena e053ed4e0e Rearranged disassembly file output header to be output after an
initial pass of the disassembler.  This was required in certain cases,
notably when issuing 'savedis' when the code was currently running from
zero-page.

Fixed missed labels for zero-page RAM when running ZP code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2740 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-20 21:53:25 +00:00
stephena e6dd326435 Fixed incorrect handling of ROM names within ZIP files when they're
not present in the ROM database; it seems I pruned a little too much code
in a previous commit.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2739 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-20 17:01:01 +00:00
stephena 1bdc9423bd Fixed for debugger prompt tab completion, and using RAM labels as destination
jump points when running code in ZP mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2738 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-20 16:48:31 +00:00
stephena 09d7ec7eb9 *Many* improvements to the debugger disassembly, both in-GUI and in saving
to an external file.

  - RIOT/TIA mirrors are now used whenever possible.  This includes *all*
    possible mirrors in the entire 64K address space.  This was needed to
    make the disassembly byte-exact when recompiling the ROM.

  - Disassembly to a file now includes all required defined constants
    (RIOT/TIA, non-locatable labels, user-defined, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2737 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-19 20:55:25 +00:00
stephena 640927b1c6 The debugger disassembly (both in the ROM view and the prompt) and the
listconfig command are now synchronized, and produce the same output.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2736 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-17 01:05:50 +00:00
stephena a5bdbaf997 Some work on listconfig and friends. First of all, it's now only enabled
for single-bank ROMs, same as disassembly (since the underlying framework
has been modified).  Second, it now actually works :)  I can't see how it
worked before, and since I didn't get any complaints/reports, I really have
to question how much use this code actually gets.

Still TODO is fix errors in CODE vs. PCODE (preliminary code) (in
the Distella code, we should clearly mark the difference).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2735 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-16 22:05:14 +00:00
stephena f533fcad34 Some cleanup of dead code, and changes to the file I/O in the debugger.
For now (and the next release), filenames are hardcoded to sane defaults.
Eventually, the code may be extended to use BrowserDialog to query the names,
but it's taking much too long to get working, and I want to get a new release
done before the end of May.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2734 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-16 19:11:44 +00:00
stephena 89e36662fe Oops, forgot to remove some dead code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2733 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-09 14:24:00 +00:00
stephena f4d0641219 A rather large commit, but basically all that's happened is
converting StringMap to VariantList.  In the process, some of the
code is much cleaner, and the Variant infrastructure allows
work to continue on a more full-featured ContextMenu.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2732 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-09 14:22:34 +00:00
stephena 1326b219f6 Fixed BrowerDialog to not default to the HOME directory when a requested
file isn't found; it should go to the parent of the requested file instead.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2731 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-09 12:34:46 +00:00
stephena 726c9b92bc Some minor code cleanups, using references instead of (evil) pointers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2730 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-09 10:08:30 +00:00
stephena 431101db10 Updated OSX project file for Variant class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2729 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-09 00:04:35 +00:00
stephena af4d290217 Updated OSX (Intel) project file for Variant class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2728 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-08 23:59:19 +00:00
stephena 1634336dae Updated VS project file for Variant class, and fixed a small warning.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2727 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-08 23:48:24 +00:00
stephena 7de6bbd99b Added 'Variant' class, which is basically a variable type. Reimplemented
the Settings class to use Variant.  Still TODO is modify various UI elements
that currently accept StringMap to use Variant instead.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-08 23:34:42 +00:00
stephena 0929adc20d Some dead code cleanup, detected by clang++.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2725 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-07 18:53:21 +00:00
stephena 8663dc96a3 Fixed one file ROM file error message.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2724 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-07 14:55:00 +00:00
stephena 9d421d93f7 Added better error messages for reading missing/zero-byte/invalid ROM
files, and update ZLIB to latest version (1.2.8).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2723 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-07 14:44:50 +00:00
stephena b52de1442c Updated VS project file for FileListWidget class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2722 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-06 21:40:19 +00:00
stephena 31b1d849fe And now a warning generated by g++ that clang++ missed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2721 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-06 15:47:40 +00:00
stephena 2bc7b72b7f Fixed some minor warning picked up by clang++.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2720 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-06 15:45:43 +00:00
stephena 76294492b4 Some cleanup of the BrowserDialog class, abstracting the file-specific
stuff into a new FileListWidget class (which will eventually be extended
to LauncherDialog as well).

The BrowserDialog now accepts different modes (file load and save, and
directories), and will be used in all places in the code where the
user currently has to type in filenames, etc.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2719 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-06 15:32:03 +00:00
stephena f0ab412b33 Updated included PNG library to version 1.6.2.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2718 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-04 16:20:18 +00:00
stephena beb76ca378 Fixed regression in ZIP file handling compared to version 3.7.5;
the check for the required ZIP version was being too aggressive,
and causing some ZIP files to not open at all.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2716 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-03 10:45:49 +00:00
stephena 42b0c26e3c Oops, forgot to check this in with the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2715 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-02 18:03:35 +00:00
stephena b9fece9cde More work on BrowserWidget, and further cleanup of the enum's in
various GUI code.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2714 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-02 17:06:36 +00:00
stephena 86b6191570 Fixed crash when entering the debugger in software mode.
Some cleanup of the various enum's in the UI classes.

Fixed issues with ordering when adding dialog boxes; this fixes a
bug when adding a dialog from another dialogs ::loadConfig(), in
which case the first one is placed below the second and can't be
seen (mostly applies to MessageBoxes).

Fixed bug in handling OSystem::setBaseDir(); if the directory didn't
exist, then the newly created one wouldn't have a slash appended at the
end.  This causes all further (sub)directories to be created/named
incorrectly.

Started work on extending BrowerDialog to load files as well as
directories, and to allow editing of the items from within the dialog
itself.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2713 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-01 16:56:43 +00:00
stephena ab6276a9cc Updated OSX project files for new debugger classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2712 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-25 17:57:31 +00:00
stephena 77d7aeb79d Updated OSX Intel project file for new debugger classes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2711 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-25 17:49:47 +00:00
stephena f3c9999072 Updated Visual Studio project file with new debugger-related classes.
Fixed some minor typos in the Windows build.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2710 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-25 14:03:11 +00:00
stephena e3903ca2b8 Added CTY scheme to the debugger ROM tab. Just as with the last
commit (AR), this one isn't yet fully implemented.

That's it for the bankswitch schemes.  Now I can move on to the
remaining items for the 3.9 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2709 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-24 22:24:41 +00:00
stephena 3839b54d22 Cleaned up the API for adding/removing dialogs in the GUI. It's strange
how one thing leads to another.  This started when I noticed that exiting
the debugger with a context menu still onscreen locked that widget, and
it couldn't be selected again ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2708 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-24 20:30:16 +00:00
stephena 0d7df2d0ae Added Supercharger/AR scheme to the debugger ROM tab.
No extra functionality is present; this will have to wait
until a future release after I have a better understanding
of the AR scheme.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2707 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-24 16:50:24 +00:00
stephena bbba4926d4 Finished CompuMate debugger ROM tab (for now at least; we need a
virtual keyboard added to the UI at some point).

Cleaned up the CheckBoxWidget API, and introduced new checkbox
'contents' that will hopefully more clearly indicate what is going
on (fully drawn square means selected, square with empty circle means
selected by not editable, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2706 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-24 12:55:23 +00:00
stephena 247d10fee9 Some infrastructure work for CompuMate handling. The CM handler now
disables normal keyboard input when in the debugger.  This fixes issues
where commands/shortcut keys typed in the debugger would be interpreted
as actual CompuMate input.

For now, in-debugger key processing is completely disabled in such a
case.  Eventually, we should probably add a virtual keyboard to the
CM RIOT area, and have it send its data directly to the CM handler.

Bumped version # slightly.  I hope to get the next release ready to
go in a few weeks.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2705 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-23 15:57:33 +00:00
stephena 9a8dc860c0 Added Compumate to the debugger ROM tab, but there are still
a few UI items left to complete.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2704 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-22 16:41:05 +00:00
stephena 777a6ceb8c Added DPC+ scheme to the debugger ROM tab. This may need to be
extended into yet another tab, since there's still the need to
show the display bank, frequency bank and DPC Harmony RAM.  Or
maybe there isn't a need to see this extra stuff??

Some more cleanups of the graphics/UI API.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2703 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-21 20:02:55 +00:00
stephena f1530ca86d Added extra registers to the DPC scheme in the debugger ROM tab.
The remainder of this commit is basically some cleanup of the
Widget API, and infrastructure fixes to allow CartDebugWidgets to
have change tracking.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2702 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-20 22:23:42 +00:00
stephena de6dbc060c Added first pass of DPC scheme to the debugger ROM tab. For now,
it only contains the same functionality as F8; it needs to be
expanded to show more DPC-specific stuff.

Updated all schemes that contain a fixed RAM address range
(mostly the Superchip ones) to exclude that range from the
accessible ROM area.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2700 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-18 16:57:33 +00:00
stephena ff09b61c55 Added 4A50 scheme to the debugger ROM tab. They're starting to get
a lot more complex ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2699 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-18 15:30:19 +00:00
stephena df77cc8997 Fixed crash with disasm command in debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2698 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 23:11:32 +00:00
stephena a6bec42db7 Well, that didn't take long. I went ahead and added the ability
to erase/load/save the Flash memory in the FA2 scheme (it's stored
in the Harmony cart, but emulated with a file).  This is a debugger,
so it might as well have access to all the lower-level stuff in
the cart.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2697 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 22:32:49 +00:00
stephena fb0df96cfe Added FA2 scheme to ROM debugger tab (loading/saving RAM to
Harmony flash with hotspot $FF4 is mentioned, but currently
unsupported).

Implemented changing banks for MC scheme (although no test ROMs
exist, so we don't even know if the scheme works).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2696 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 19:59:05 +00:00
stephena a7566af776 Added MC scheme to debugger ROM tab. This isn't complete, since I
don't have any test ROMs to confirm whether the current
bankswitching code even works.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2695 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 17:25:13 +00:00
stephena 8487a60faa Fixed configure script wrt Thumb ARM support; the help message
never actually included info on how to enable/disable it.

StringParser is now width-sensitive, in that it can also split
on a maximum string length.  This is useful for making the various
UI items font-size independent, and to flow the text accordingly.

Increased minimum size of debugger window to 1080x720, which allows
things to be laid out a little nicer, and gives some much needed
extra room.  Sorry guys, the most common resolution now in use
is 1366x768, so it's time to move with the times.

Cleaned up some of the descriptions in the ROM debugger tab(s).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2694 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 15:00:32 +00:00
stephena 0a8050faf4 Added FE scheme to the debugger ROM tab. Even though this is
a multibank scheme, the tab doesn't allow to change banks,
since the current bank is at address-level resolution, and
it would immediately change back upon the next address change.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2693 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-15 17:21:30 +00:00
stephena b97b643d17 Added SB scheme to the debugger ROM tab.
Improved keyboard and mouse navigation for PopupWidget and associated
ContextMenu dialogs.

Tweaked bankswitch autodetection for 29K ROMs; the only possibilities
are ARM (FA2) or DPC+.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2692 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-15 16:17:51 +00:00
stephena 2872b6be03 Added X07 scheme to the debugger ROM tab. Since I have only one
test ROM, and it is extremely basic, I can't be sure how well this
new functionality works.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2691 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-12 13:12:39 +00:00
stephena 1b0b6a9f20 Added E0 and E7 schemes to the debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2690 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-12 12:36:57 +00:00
stephena 88c7d39b96 Added 3E scheme to debugger ROM tab. This is the start of the more
esoteric schemes (ie, the ones that no longer follow the '4K per bank'
design).  Arguably, this is the entire point of adding the cart-specific
debugger ROM tab; to make it easier to work with such schemes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2689 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-11 14:58:18 +00:00
stephena 2e81f9e842 Updated Intel OSX project file for recent class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2688 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-10 12:53:36 +00:00
stephena 40e4687372 Added 3F scheme to the debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2687 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-07 20:09:28 +00:00
stephena 368c26c371 Added FA scheme to debugger ROM tab. Now begins the more difficult work;
adding the more esoteric schemes to the debugger ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2686 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 22:13:26 +00:00
stephena 1ff7568c68 Added 0840/CV/EF/EFSC/F0/UA schemes to debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2685 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 21:04:11 +00:00
stephena 4c227932f1 Added F4SC/F6SC/F8SC schemes to debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2684 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 14:09:16 +00:00
stephena 3cfe7218dc Added F4/F6/F8 bankswitch schemes to the debugger ROM info tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2683 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 00:25:08 +00:00
stephena fbebe17d6b Improved cart description for 2K and 4K formats in the debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2682 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-05 20:45:42 +00:00
stephena 05a39cb1e0 More debugger work for 2K/4K ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2681 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-05 13:29:54 +00:00
stephena 263e8e6240 First pass at adding cart-specific info to the ROM tab in the debugger.
For now, only 4K is shown.  Eventually this will be included for all
bankswitch types, whereby the UI will be tailored to the specifics
of each scheme, so that ROM/RAM banks will be able to viewed and
changed more easily.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2680 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-04 21:38:22 +00:00
stephena 831edca24e Finalized tab handling for dialogs containing multiple tabs
(for now, only the debugger, but might as well deal with the problem
in a general way once and for all).  The Shift-Left/Right keys now
work as they did before, and switch between tabs in a tabset.
For dialogs with multiple tabs, it now selects among those tabs
where the focused object is.  Clicking on another tabset then changes
the focus, and allows the same keys to switch among *that* tabset.

Now I can finally start the cart-specific bankswitch UI items.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2679 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-31 20:54:14 +00:00
stephena ac1bccf454 First pass at adding a cart-specific bankswitch/info tab to the
debugger.  In the process, I had to spend several days extending
the UI/dialog class to actually contain multiple tabs.  This was
harder than expected, and it still isn't quite finished.  In many
ways, we're beginning to reach the limits of the current code; it
was never designed for a full-fledged, graphically rich UI.

For now the tab is empty, but eventually it will contain general
info about the ROM bankswitch type (size, virtual layout, etc),
but also cart-specific info, including the ability to change
banks, which can be vary greatly among the different schemes.
Eventually, it may even allow to see/modify very cart-specific
info (like display RAM in DPC, etc).

Better handle errors in opening the serial port (AtariVox support)
for Windows and OSX.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2678 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-31 00:10:05 +00:00
stephena fbf239798d Updated PNG library to version 1.6.1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2677 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-30 15:34:31 +00:00
stephena 8ff2c276c3 Removed assert in OSystem WRT screen sizes; it should gracefully exit
instead of just simply dying.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2676 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-28 16:09:20 +00:00
stephena 2e3a4b468f Starting to clean up the properties database. Since it's been reported that
"Death Derby" won't be completed, it's the first to go.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2675 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-16 14:47:44 +00:00
stephena 95f91262fd Use a more 'C++' way of initializing member variables.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2674 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-14 13:22:26 +00:00
stephena d9c05df0f2 Uninitialized variable caused disassembly failure on 4K ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2673 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-14 12:25:35 +00:00