Commit Graph

3439 Commits

Author SHA1 Message Date
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 d05bca9734 Oops, forgot the changelog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2717 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-05-03 10:47:53 +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