perfect: it doesn't take into account the extra cycles added by things
like taking a branch or crossing a page boundary. However, it's still
somewhat useful and *dead* simple to implement this way.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@488 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
location for a certain value (ie, finding out which location holds # of lives).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@486 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
contained in the Debugger class methods, since they need to be accessible
from both the console and the GUI code.
Implemented console commands for dumping RAM (ram) and TIA (tia), and
implemented the console 'quit' command (it returns to emulation mode).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@484 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The "trace" command is now implemented (though it doesn't skip over
JSR's like it's supposed to yet, so it does what "step" will do).
After each command, we now emit the values of all the CPU regs and a
disassembly of the next instruction, like gdb and good old DEBUG.COM do.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@483 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
moved. That means you can click on the arrows in a scrollbar, and keeping
the button pressed will keep clicking the arrows.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@480 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Dialog. This was necessary since it seems Dialogs can't contain other
dialogs in the GUI core.
Added keyboard navigation to the TabWidget class. For now, it's only
enabled for the Debugger. Ctrl-Tab/Shift-Ctrl-Tab switches to the
next/previous tab (respectively), and Tab/Shift-Tab switches to the
next/previous widget in the current tab.
There's still a bit of work to do, but the infrastructure is there.
That's it, I'm taking the night off, because this deceptively simple
concept has taken about a day to implement ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@479 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to a TabWidget and PromptWidget, and it's going to take some time.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@478 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
command that works as yet is "quit", and it doesn't actually quit
anything :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@475 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of the FrameBuffer (since fonts should only be created once, and the
FrameBuffer is deleted and re-created many times).
Added a default font to the Widget class, as well as a setFont() method.
So each widget can individually choose its own font.
Added a monospaced font. It's currently used only in the PromptDialog,
but due to the above changes, it can be used anywhere.
Tweaked some keys in the PromptDialog. Shift-(Home, End, PageUp, PageDown)
now control the scrollbar, and without shift, those keys control the current
line editing/navigation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@473 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of line (Ctrl-U) now works, as do shifted characters.
Still TODO is use a monospaced font for the debugger widgets, and
possibly add some new colors, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@472 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added typical Unix shell shortcut keys (still TODO is Ctrl-U)
Fixed delete action causing crashes
Made cursor redraw at the correct place
Still TODO: use Unicode to accurately represent keypresses onscreen.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@471 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
quite working correctly, but at least text appears when you type.
Changed the debugging TAB interface to use buttons instead. It seems
this is a deficiency in the ScummVM GUI code, and I don't really want
to figure out how to fix it. Of course, now the buttons have to be
embedded in each dialog box, somehow ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@469 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
passed to the emulation core. For example, when pressing 'Alt-Enter' to
toggle fullscreen mode while in the launcher, the 'Enter' was also starting
the selected ROM. Now all keys that are pressed with modifiers are
swallowed before they reach the core.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@468 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Prompt: will have a command prompt with history
CPU: contents of CPU registers
RAM: contents of RAM
ROM: contents of ROM
TIA: contents of TIA registers
Code: code listing/disassembly (still have to figure this one out)
Still TODO is work out the overall functionality of the debugger. Inspecting
or changing registers is easy. The hard part is adding features that
developers will actually use.
Also TODO is figure out what will go in the upper-right corner; maybe
buttons to pause, step, etc.
Finally, do we really need separate tabs at all? I can add full functionality
of a debugger through the prompt commandline with a parser ... ??
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@463 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
It seems parts of Stella aren't namespace-clean.
Fixed OSX code to use Cmd-Enter for fullscreen (instead of Shift-Cmd Enter).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@458 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
of SDL screen.
Still TODO is change OpenGL mode so that aspect ratio and non-integral scaling
are not used when in debugger or launcher mode (ie, when we know the absolute
coordinates of the screen). We do this since those modes are mostly GUI-based,
and the GUI doesn't look quite right when using OpenGL scaling.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@456 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
compiles in Visual Studio and not MingW.
Words can't express how much I hate Windows development, and I'm
_THIS CLOSE_ to just making Visual C++ .Net an absolute requirement
and be done with it. End of rant :_
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@455 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed bug where sometimes the options menu wasn't being redrawn when
resizing the screen.
Fixed bug where saving the settings in VideoDialog sometimes made the
framerate go to 0, and hence caused the application to take all CPU time.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@454 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added Alt-s key to merge current properties into stella.pro. Together with
the Ctrl-s key which saves current properties to a new properties file,
there was no longer any need for the mergeprops argument.
Major update of the Stella manual, including the further consolidation
of the main codebase with the OSX version, as well as snapshots of the
integrated GUI.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@453 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
mediasource and overlay need to redrawn independently of each other.
Added mouse and joystick events passing to the debugger.
Fixed bug whereby if a settings file didn't exist, the default mapping
for a joystick wasn't being done.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@449 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
has started. The debugger can only be launched when in emulation mode, and
is toggled by the ` (backquote) key. Right now, I'm still fine-tuning the
infrastructure. When you press `, the SDL window resizes itself to 510x382
pixels (large enough at single zoom for 800x600 and under, and at double
zoom for 1024x768 and above). The emulation is moved to the upper left
corner, and the remaining space will be filled with debugger widgets (making
extensive use of the TabWidget to squeeze as much as possible into the
limited screen real-estate). It's my intention for at least _minimal_
debugger functionality to be included in the next release.
Removed 10% gap around framebuffer in fullscreen OpenGL mode. I'm moving
Stella towards a totally unified codebase, so if a feature can't be added
to both types of framebuffers, it won't be added at all. The one exception
is gl_aspect; I still want to keep that one around. And I eventually may
add aspect correction to the software mode as well, ala ScummVM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
next release.
Added support for inspecting the modification time of the rom directory,
and forcing a reload if that directory has been changed. So, if you add
or delete a ROM from the romdir, the next time you start Stella, it will
automatically reload the rom listing for you. Pretty cool I think :)
Added support for each derived OSystem to set its video drivers, and support
to the VideoDialog to show them in a dropdown menu. That means that Win32
users will be able to select between 'windib' and 'directx' in the VideoDialog
(when I update the Win32 code to do so).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@440 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
one can hold down a key, and after a small delay, the key event will be
repeated. This is much better than having to push the 'down arrow' 100
times in a large scroll box. Still TODO is handle mouse clicks in the same
way. The code is there, but it's commented out. This will be much harder,
since the GUI code from ScummVM wasn't designed to work that way.
Removed x,y items when sending joystick events, since that information
isn't available in SDL joystick motion.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@439 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba