Commit Graph

195 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
7643dccb87 Test commit from OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2672 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-13 22:21:35 +00:00
stephena
f572c8405e Updated changelog, and a test to see if commit still works.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2670 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-13 21:34:33 +00:00
stephena
467ac0a280 Sub2K ROMs now show only the actual data in the binary. This allows
the saved disassembly to be compiled to the exact same binary.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2669 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-13 21:16:14 +00:00
stephena
895fd7b263 Changed PC indicator colour on the advice of someone who is partly
colour-blind; the old (light) colour was very hard to see.  Actually,
I agree with that assessment, even though I'm not colour-blind myself.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2668 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-12 17:30:42 +00:00
stephena
1173b88c79 Only mark actual undefined opcodes as defined by DASM as being
undefined.  The rest are defined but illegal, which is different
(mostly because many ROMs released in the past 10 years make
extensive use of illegal opcodes).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2667 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-12 17:14:00 +00:00
stephena
1ade2900e4 More fixes to debugger disassembly for DASM. The code now prints
out-of-range labels for cases where a label is in the middle of a
multi-byte instruction (Kool Aid Man), and properly indicates
mirrors of TIA read/write addresses (Meltdown).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2666 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-11 19:43:19 +00:00
stephena
3c801a7dd4 Updated properties database for BasketBall; it needed joysticks swapped.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2664 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-10 19:53:52 +00:00
stephena
2bde61558d Fixed "new console created" messages appearing when loading a ROM
from the launcher.  This message should only appear when *reloading*
a ROM, not creating a new one completely.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2662 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-07 17:41:19 +00:00
stephena
ffc99a9345 First pass at adding diassembly output from the debugger. It's already
working quite well for a single-bank ROM, but more work is required for
multi-bank.  Output is currently sent to the console, as I'm still in
the formatting phase.  Saving to a file will be easy once the format
is nailed down.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2657 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-04 23:35:26 +00:00
stephena
5c4b6defd9 Added properties info for "Extra Terrestrials", and bumped version #
for 3.8.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2648 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-03 21:05:43 +00:00
stephena
68424c9222 Fixed file modtimes in OSX build script; it was using dates from when
the archive was first created (~2009).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2645 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-01 20:33:14 +00:00
stephena
63a598fb7f Fixed PPC big-endian sound issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2644 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-01 14:03:12 +00:00
stephena
e823ffe03f Updated changelog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2642 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-28 16:03:56 +00:00
stephena
0650c48977 Implemented TIA RSYNC write functionality thanks to Omegamatrix.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2626 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-24 01:46:14 +00:00
stephena
0d9673a4d5 Final updates for the 3.8 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2618 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-21 22:34:33 +00:00
stephena
5a65d64538 Final changes to the TIA code for the 3.8 release. I've added
TODOs and pointed out areas where improvements are likely needed,
in preparation for asking for help in the implementation.

Turned off 'resolvedata' in the debugger when disassembly ZP RAM.
It seems to be buggy in certain cases, and it's easier to just
leave it off in that mode, since (a) not many games run from ZP,
and (b) it's only at most 128 instructions.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2617 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-21 21:57:42 +00:00
stephena
b6ec874778 Updated FA2 autodetection for Harmony ROMs (29/32K). Basically these
are detected and the ARM code discarded.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2616 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-20 18:16:34 +00:00
stephena
4610fd608d Fixed INTIM/TIMINT multiple reads in the debugger, which changed the
state of the registers and messed up further emulation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2614 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-17 22:33:53 +00:00
stephena
6279c24b57 Renamed 'eepromdir' option to 'nvramdir', and have it default to
'BASEDIR'/nvram.  Previously it defaulted to BASEDIR, which was getting
filled with many such files.

Unfortunely, all files will have to moved manually, but it's an easy
one-time operation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2613 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-17 00:19:14 +00:00
stephena
c11c7724ad Added ability to specify separate directories for saving
and loading snapshot files.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2612 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-16 19:56:09 +00:00
stephena
c31f53654c Loading from ZIP files now works in all cases, and then some.
That is, it has all the functionality of past versions, as well
as improvements to launching from the commandline (an archive
containing multiple ROMs will now open the virtual directory
in the ROM launcher.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2610 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-15 19:04:52 +00:00
stephena
ba0ebf3ecb Updated ZLIB to latest version (1.2.7).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2594 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-30 19:08:54 +00:00