Commit Graph

722 Commits

Author SHA1 Message Date
stephena 8089f652a5 First rough pass at adding RomWidget support. It will make use of
CheckListWidget, but that widget is not yet complete either.  Eventually
the CheckListWidget will derive from ListWidget, and the RomWidget
will contain context menus, etc.  For now, it doesn't do anything :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@731 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-22 13:53:23 +00:00
urchlay e4172891d9 "save" command now actually saves functions correctly: their definitions
go in the savefile, not their Expression pointer addresses :)

Also, we no longer attempt to save the builtin functions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@730 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-20 18:19:52 +00:00
stephena 74efb7b66d Added PF register info to TIA tab. Note that PF 0/1/2 are placed
next to each other, and their contents are shown as output to the
screen (serialized from TIA), *NOT* how the bits are actually
stored in the PF registers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@729 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-19 23:02:09 +00:00
stephena 4274028040 Disabled toggling of the collision bits in TIA tab, since the
required infrastructure won't be complete for the next release.
The checkboxes are now read-only, so the collision bits can
still be seen (but not changed).

Refactored ToggleBitWidget into a new ToggleWidget class.  Added
new classes ToggleBitWidget and TogglePixelWidget, which derive
from ToggleWidget.  ToggleBitWidget works as before.
TogglePixelWidget works much the same as ToggleBitWidget, but
instead of drawing text, it fills a block with color.  Also,
it doesn't support change-tracking.

Modified grP0 and grP1 TIA registers in TIA tab to be
TogglePixelWidgets.  Now when these registers change, you
can see line by line how the graphics are drawn.  Thanks to
Brian for the advice; I had to add this because it's just
too cool :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@728 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-19 15:05:09 +00:00
stephena b18c3809cb Added STROBE buttons to TIA tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@727 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-18 18:18:59 +00:00
stephena 6abd06d9f0 Oops, there was a minor type in last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@726 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-18 16:21:11 +00:00
stephena 3c331d6e49 Added changing of specific bits in the collision register to TIADebug,
and a set of checkboxes to TiaWidget to toggle each bit.  I've
confirmed that the code correctly changes the bits, but I haven't yet
found a ROM where changing these quantities has a noticable effect
on the TIA image.  Brian, should we be seeing anything here, or
should the collision register bits be for info only (or am I
doing something wrong)?


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@725 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-18 16:19:07 +00:00
stephena a611d0097a Cleaned up the VS.net project stuff, removing redundant/unnecessary
files.  Thanks to Kronuz. MB for the advice.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@724 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-17 22:53:05 +00:00
stephena 614c8279ae Updated VS.net project to current codebase.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@723 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-17 22:13:19 +00:00
stephena 1c0b582723 Added M0, M1 and BL register info to the TIA tab.
Modified NUSIZx register query, adding methods to set various bits
in those registers (nusizP0(), nusizM0(), etc).  Updated the P0/P1
TIA tab registers to use those new methods.

Fixed some bugs in TIADebug when accessing bits 4-5 in NUSIZ0/1
and CTRLPF registers.

Still TODO is collision stuff and PF0/1/2 registers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@722 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-17 21:38:34 +00:00
urchlay 87b4f6f7f3 Fixed return values of nusiz0(), nusiz1()
Made posP0(), posP1() writable. This may be the wrong way to do it...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@721 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-16 19:04:44 +00:00
stephena e0bdb3512f Added keyboard selection and navigation to checkbuttons (use space or
return key to toggle a selected checkbox).  Generally cleaned up
the CheckboxWidget class, so that it centers vertically based on
box/font size, and correctly determines its own size.

Added all P0/P1 info from 'tia' command to the TIA tab.  Some work
is still required on the NUSIZx registers, though.  I expect the
remainder of the TIA tab will be completed quickly, now that most
of the infrastructure is in place.  Still TODO is add methods to
TIADebug to enable/disable collisions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@720 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-16 18:34:12 +00:00
stephena e48cc40e14 Fixed minor problems with tab selection and widgets not keeping focus.
Removed 4-line prompt output, since most of the info is available from
the main debugger area and always visible.

Some rearrangement of TiaDebug code, and added GRP0 register to TIA
tab (currently display only, it doesn't update the value).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@719 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-15 18:52:15 +00:00
stephena 8f6cc81951 In the CpuWidget, separated the PC from the rest of the registers.
They're now in separate widgets, and must be tabbed/selected
separately.

Related to above, made the CPU PC widget hold 16bit values and be
wide enough to hold 16 digits (binary mode).  Also, made the other
registers in CpuWidget be 8bit only.

Removed frame around a cell when a DataGridWidget or ToggleBitWidget
loses focus.  It's obvious when a widget isn't in focus
(there's no bounding rectangle around the whole thing), so another
visual indicator wasn't really required.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@718 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-12 17:12:43 +00:00
stephena 51c89930bf Fixed Compare button in RamWidget.
Changes highlighting of searched RAM from a framed rectangle to coloring
the cell text.

Removed CheatWidget, since its entire functionality is now handled by
RamWidget buttons.

Next up is the TIA tab (I really hate having to touch that one ...)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@717 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-11 21:57:30 +00:00
stephena 547575e7a2 Added Undo, Revert, Search, Compare and Reset buttons to the RamWidget.
The latter three completely replace the functionality of the CheatWidget,
so it will soon disappear.

The results of a RAM search are indicated by a blue frame around a cell.
Compare still isn't working, but I know how to fix it.

Made EditableWidget a CommandSender, and have it send signals when
data entry is complete or cancelled.

Some API cleanups in FrameBuffer/DialogContainer wrt refreshOverlay()
and refreshTIA().


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@716 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-11 19:12:39 +00:00
stephena 3c530b0586 Re-added buttons for increment, decrement, shift, etc to the main
debugger area.  Also, this group of buttons now works on either
the CPU registers or RAM area, depending on which one is currently
in focus.  When not focused on either of those, the buttons are
disabled.

Moved the CpuWidget and RamWidget to the left as far as possible.
I'm planning to add the RAM 'Search', 'Compare', 'Restart', 'Undo'
and 'Revert' buttons to the space on the right.  We're really
squeezing the interface as much as possible here :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@715 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-10 18:44:37 +00:00
stephena 76df55e93e Moved RamWidget into the main debugger area. Still TODO is move the
operations buttons.  I'm probably going to make this another widget,
and have it act on either CpuWidget or RamWidget, whichever is
currently in focus.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@714 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-10 14:44:01 +00:00
stephena 82b7f66043 Finally completed tab/focus issues between widgets in a dialog and
widgets in a TabWidget, which is also in the dialog.  All focus
related issues are now handled by the base Dialog directly; TabWidget
exits only to show a different set of widgets based on which tab
is selected.  Still TODO is fix drawing of focus rectangle around
some widgets (specifically, those that have a scrollbar attached).

Moved CpuWidget into the main dialog area, so it's always visible.

Next I'll be moving the RamWidget to the main dialog, and combining
CheatWidget into it to save even more space.

Then, we can get back to work on the TiaWidget and RomWidget :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@713 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-10 12:23:42 +00:00
urchlay 332ba0cfe1 First pass at Cheat Code dialog. It's nowhere near finished, but it does
work: clicking "Load" loads the code "db000f" (no walls, in Pitfall).
Once loaded, you can enable and disable it with the checkbox.

I was going to add text entry and list widgets tonight, but I'm starving
and out of food, and should probably go eat... so tonight's nightly build
is going to be kind of a tease :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@712 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-05 02:28:22 +00:00
stephena 9f58ffb471 Some more optimizations for dirty widgets. The progress dialog now
only redraws itself when updating, instead of requiring the dialog
below it to redraw as well.  Related to this, adding a dialog
box on top of another no longer requires a restack and redraw
of other dialog boxes beneath it.

Fixed some dirty update problems with dialog boxes; they weren't
setting dirty rects, hence in some cases weren't being redrawn.

Updated debugger to be 1024x7xx pixels, and partitions the debugger
into separate 'areas'.  The next step is to fill these areas,
starting with moving the CpuWidget and RamWidget onto the main
area (so they're always visible).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@711 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-04 22:59:54 +00:00
stephena a18ea23d86 Added InputTextDialog, which can pop up and allow one to enter data.
This is a space-saving measure, so that input boxes don't have to
be onscreen until they're needed (and go away otherwise).

Partially ported CheatWidget to use an InputTextWidget.  I'm not
doing any more work on CheatWidget, since it's going to disappear
(will be integrated directly into RamWidget).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@710 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-04 16:31:24 +00:00
stephena 655c1b5257 More efficiency fixes. Redrawing a tab (in the TabDialog) no longer
forces a redraw of the whole parent dialog (this is a big optimization
in the case of the DebuggerDialog, since it will soon have a
resolution of 1024x768).

Made the TiaOutputWidget act as a dirty rect, and only redraw itself
when necessary.

Fixed selection of items in TabWidget which have the
WIDGET_TAB_NAVIGATE property.  Clicking them with the mouse now
correctly selects them (and deselects other widgets in that chain).
Still TODO here is have the TabWidget draw the outline around such
widgets itself, so that when one is selected and the others
deselected, only the outlines need to be redrawn (vs. the whole tab).

Removed FrameBuffer::blendRect(), since the GUI code will never
have blended rectangles (it would cause to much complexity in the
dirty update/rectangle code).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@709 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-03 13:26:02 +00:00
stephena f27b41ca22 Changed debugger font to 8x13 instead of 9x15. I'm not sure which
one we'll use yet.

More layout issue fixes.  When I changed the debugger fonts, everything
was redrawn correctly (just smaller).  This is exactly what should
happen, and is a good first step to making the GUI be font-size aware.

Added change tracking to the CPU PS register (ToggleBitWidget).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@708 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-02 18:28:29 +00:00
stephena 10bec1607c Some more cleanups for 'magic numbers' in the debugger GUI layout.
Eventually, the debugger GUI will support multiple fonts, and the
layout will automatically resize itself.

(Hopefully) fixed bug whereby pressing '~' would not exit the debugger.

Small performance improvement to OpenGL GUI mode.  No redraws will be
done if no widget has been changed, but if any changes must be made,
the whole screen is redrawn.  So it's partial support for dirty updates.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@707 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-02 15:59:45 +00:00
urchlay d81a1caad5 ConsoleFont is now the X11 9x15 font. Until we make the GUI 1024x768,
this means the text is pretty huge.

The 9x15 X font, BTW, is public domain.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@706 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-02 13:34:14 +00:00
stephena 64c554e8c5 OK, I'm not sitting on this any longer, for fear it'll get too far
out of sync.  Implemented dirty widget support for the GUI.  That
means the widgets will only be drawn when necessary.  There are still
a few gotcha's:

1)  OpenGL mode hasn't been ported to this new scheme.
2)  It's not totally finished, so some artifacts may appear onscreen.
3)  Selecting active widgets with the mouse is borked.
4)  Prompt commands that change the core aren't shown in the other
    tabs/interface.  Fixing this will require some infrastructure work
    in Debugger and DebuggerParser.
5)  A lot of print debug code has been left in; please ignore it for now.

Moved a lot of the debugger widgets to use non-proportional font (still
TODO is get a larger font) and not use 'magic numbers' for the layout.
That means when a new font is added, the layout should re-arrange itself.

Moved various Debugger tab widgets from 'src/gui' to 'src/debugger',
because they shouldn't be compiled when debugger support isn't
included.  So now (for example), RamWidget and RamDebug are both in
the debugger directory.

Probably more stuff I'm forgetting about.  It looks like the ScummVM
code can be made adequately fast, so the jump to Qt won't be necessary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@705 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-08-01 22:33:16 +00:00
urchlay 43653c53af Support for Bob Colbert's Cheetah cheat codes, either in the debugger
or on the command line. See http://members.cox.net/rcolbert/ for details.

Cheetah codes are cool, but all they can do is modify ROM. We'll also be
adding some sort of extended Stella cheat code support to allow modifying
RAM, either once or once per frame, like the Game Genie does on an NES.
Most likely the actual codes will resemble Bob's codes, but with extra
digits. Unfortunately there won't be an easy way for the real Cheetah
to support these extended codes :(


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@704 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-30 22:08:25 +00:00
urchlay 3738fc1ca0 saverom support for Pitfall II (DPC) cart type. Not the most efficient
implementation possible, but not the worst either.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@703 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-30 19:14:35 +00:00
urchlay 803a9146be Added "How to hack a ROM" tutorial to Debugger.txt. Sometime soon I
expect the 'net will be flooded with hacked versions of Battlezone that
give you infinite lives :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@702 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-30 18:22:34 +00:00
urchlay 169e43e16f saverom support for all cart types except Pitfall II (DPC).
Only 4K and 3E have actually been tested.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@701 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-30 16:58:22 +00:00
urchlay 70de4b2158 "saverom" command, to allow us to save patched ROMs.
Every cart type is going to have to support this by having a getImage()
method that returns the size of and pointer to its internal ROM image
array. Currently only Cartridge4K supports it, but it does work.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@700 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-30 16:25:48 +00:00
urchlay ab0c70fe45 Added a library of built-in functions. These let the user test for
common conditions such as "joystick 0 pressed to the left" (this would
be "_joy0left"). To see the list, type "help".


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@699 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-29 16:37:17 +00:00
markgrebe 7d095313e0 Remove duplicate file
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@698 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-28 02:42:43 +00:00
markgrebe b346e29785 Update of credits for Mac about box
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@697 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-28 02:35:44 +00:00
markgrebe 0d96f3c30d Cleanup of project file and addition of debugger sources to project
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@696 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-28 02:32:40 +00:00
urchlay c82d50406d Don't switch away from the debugger if someone presses the ` key with
a modifier (such as Shift). This allows us to actually type a ~ character
in the debugger (our unary NOT operator!).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@695 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-27 20:19:26 +00:00
urchlay d65ab5c62b Steve, I know you hate uInt8 and uInt16, and I hate them too...
...but we need them in the Expression classes and the DebuggerParser.

Expressions now return uInt16 instead of int. This gets us 6502-like
behaviour when dealing with numbers that don't fit into the 6502's 16-bit
address space. -1 in 6502-speak is equal to $ffff (twos' complement); this
is exactly what happens in C++ if you try to assign -1 to an unsigned
short (aka a uInt16). I believe the C++ standard doesn't *require*
conforming implementations to use twos' complement math, but I doubt
anyone will ever port Stella to any hardware old or esoteric enough to
use anything else.

Also, I've added casts to uInt8 to the debugger commands that set
registers.  This also results in 6502-like handling of negative numbers:
using "a -2" to set the Accumulator will result in it having the value
$fe, which is exactly correct for a 6502. This may seem like undesirable
behaviour (and in a regular C++ program, when it happens by accident,
it IS undesired), but trust me, this is exactly what a 6502 assembly
programmer would expect.

Also also, I got rid of the distinction between commands that take a byte
or word argument. They all take words now. I had to do this to make the "a
-2" example work. A side effect is that you can now say something like "a
$1234" and the value will get truncated to $34 (due to the cast to uInt8).

What remains to be seen is whether all this behaves the way I think it
should on a big-endian platform (e.g. the Mac). My poor Mac is having
cooling issues, so I can't actually compile Stella any more :(

However, I can get it to run long enough to compile a little 5-10
line test program to see how these casts work. If I'm wrong, and they
behave differently on the Mac, I'll have to add platform-dependent
"uInt16_to_uInt8" type functions, which I'd really rather avoid...

But the debugger has GOT to treat negative and out-of-range values the
same way as a 6502 does.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@694 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-27 01:36:51 +00:00
urchlay ce7e272547 Updated debugger documentation
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@693 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-24 16:26:47 +00:00
urchlay c768b9256a Fixed segfaults when using commands that take a filename.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@692 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-23 21:16:57 +00:00
urchlay d1a7f5f75d Added "save" command, to save the current debugger watches, breaks, etc.
In the process, I've discovered a bug in the argument processing: any of
the commands that use kARG_FILE as their first argument will work *only*
if they're the first command issued after starting Stella, otherwise
they segfault. Am investigating this now


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@691 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-23 19:07:15 +00:00
urchlay f088765c01 Many TIADebug methods for the TIA tab to use.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@690 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-23 15:55:21 +00:00
stephena 042977d4cf First pass at TiaInfoWidget, which uses the area to the right of
the TIA image to show frame/scanline related info.  In the future,
this area will also show a zoomed region of the current TIA image,
as well as a small message window.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@689 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-21 19:30:17 +00:00
stephena a9e007ca24 Fixed bug whereby debugger wasn't being drawn in software mode when
entering on a breakpoint.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@688 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-21 12:56:26 +00:00
urchlay b9c7b34505 Added color clock, CPU cycle, and pixel counters for the current scanline.
Currently they only show up in the prompt, but the TIA and TIADebug
have support for getting the current pixel clock (clocksThisLine()). The
pixel and CPU cyc are derived from the pixel clock.

Actually it's acting a bit funny, I need to find out why...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@687 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-21 04:10:16 +00:00
urchlay 59fda8dd1f Added function support (without arguments) to debugger and parser. Usage:
> function joy0right { !(*SWCHA & $80) }
> breakif joy0right

After deleting the breakif, joy0right is still defined, so you can use it
again...

At some point I plan to create a standard startup script full of useful
functions like joy0right. Also at some point functions will support
arguments...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@686 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-21 03:26:59 +00:00
stephena b9011a68f8 OK, this is the absolute last FrameBuffer optimization thing for
today (I was supposed to be working on the TIA stuff and I
haven't even touched it yet).  I think we have to accept that
software mode in Windows just isn't as fast as Linux (yay!),
and suggest not to use high resolutions in software mode.
Normal resolutions of 800x600 or below are fine; it's just
1024x768 and above that causes problems.

The good news is that OpenGL mode in Windows works better than
it ever did.  Hopefully this will take care of that other weird
OpenGL problem that I could never track down ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@685 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-20 18:44:38 +00:00
stephena a7744a466c More Win32 issues (have I ever mentioned I really hate Windows).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@684 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-20 17:49:26 +00:00
stephena a61598a33b Second pass at optimizing the FrameBuffer classes. I think I've
finally got it this time.  And as a nice side effect, it seems
that switching between debugger/emulation/launcher is working
in fullscreen Windows mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@683 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-20 17:33:03 +00:00
stephena d15978825a Minor refactoring of the FrameBuffer classes. OpenGL mode is now
quite fast, and is approaching software rendering speed for lower
resolutions.  In higher resolutions, OpenGL always beats software
mode.

Screen redraws are now done as rarely as possible.  For example,
when switching to menu/debugger mode or pausing emulation, CPU
usage normally drops to almost nothing.

This hasn't been tested in Windows yet, so I'm sure there'll be
some issues (there always are ...)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@682 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-07-20 15:52:58 +00:00