used the current directory.
Fixed error in generating directive lists; there sometimes were 'holes'
at the boundary of CODE <=> DATA transitions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2129 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
directives associated with a given bank (or all banks). Sometimes the
directives are so borked that's it's easier to remove them all at once.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2127 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
database, it now has its extension removed (.bin, .a26, etc).
Symbol and config files are now loaded when the debugger is first entered,
not when the ROM is actually loaded. This speeds up ROM loading, since
the user may never need to access these file (ie, they may never enter the
debugger).
The debugger 'loadconfig' and 'saveconfig' commands are now implemented.
Bumped version # for next test release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2126 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Basically, directories are now guaranteed to always end in the path
separator. Ensuring this makes certain sections of code work faster,
and guaranteeing it allows higher layers of code to not worry about it.
Added 'cfgdir' commandline argument, to specify the default directory
for Distella-like Stella-compatible config files.
Implemented 'loadconfig' debugger prompt command. It's currently
working great with several test config files provided by Omega of
AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2125 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
mouse button context menu in the disassembly listing. This is used to
set the default display format for GFX data sections (currently, binary
and hex are supported).
Fixed bug in several debugger input areas to accept the '\' symbol.
This symbol is needed when entering data in binary format (it must
prefix the data if the default base for that field isn't binary).
Added 'jump' debugger prompt command, used to scroll the disassembly
to the given address (or there-abouts, if the address isn't valid).
Editing data in the disassembly now won't cause the display to jump to
the current PC. The display will only move to the PC when it actually
changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2123 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
There was a bug in the linked list code causing directives to be added
incorrectly. Also, merging is now done when possible instead of
creating new nodes. This keeps the directive count as small as possible,
and also helps with memory (less allocations happening).
Fixed bug in printing the 'ORG' directive; it was being printed
before the bank was disassembled, so on the first run it was always 0.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2122 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
longer simply added to a list, but intelligently 'merged' (so that
the entire range represented by all directives contains no overlap).
This makes the disassembly a little faster, since it doesn't have to
iterate redundantly. Still TODO in this area is intelligent insertion
for the same type (ie, if inserting in between like blocks, the
blocks should coalesce, instead of being clipped and then a new range
inserted in between).
Added 'loadconfig' and 'saveconfig' debugger prompt commands, which
will eventually access Distella-like config files. No implementation
is present yet.
Added 'listconfig' debugger command, which lists all directives
currently defined by the user, as well as the directives resulting
from a disassembly of a bank (taking into account extra knowledge
that Stella has WRT cached entry points). This command can show
information for a specified bank, or all banks in the cart.
User-defined directives can now be removed; simply issue the same
command that caused an insertion (ie, attempting to insert the same
type and range will remove it instead).
Fixed bug in Distella processing of directives; similar to the
standalone Distella, directives should be processed *before* any
automatic code determination is done.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2121 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
from a Distella config file. For now, the commands are only accessible
within the debugger prompt, and can only be added (no removal/editing).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2120 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
case-insensive. Currently supported are all commands and
pseudo-registers. Equates/labels and user-defined functions are
still a WIP, since they're stored in various hashtables accessible
by name, which is still a case-sensitive operation. In general,
tab completion is mostly case-insensitive.
Changed the delimiter for surrounding lines with spaces from curly
braces ({}) to the apostrophe (').
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2115 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
address space is shown (either $F000 - $F7FF or $F800 - $FFFF).
This eliminates a lot of .byte directives that are invalid in
2K mode anyway, and speeds up the disassembly a little.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2113 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'Virtual Devs' tab to 'Devices & Ports'. Updated documentation and
snapshots for this change.
Added Halo 2600 ROM info to internal properties database.
Increased default setting for 'joydeadzone' from 0 to 13. This means
the default deadzone is somewhere around half the axis range (~16500).
Fixed behaviour of hat events; events weren't actually being turned off
until the stick was centered.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2108 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
seems that bankswitching wasn't being enabled before rewinding, and hence
any bankswitching being done on state load was being ignored. This also
affected the loadstate and savestate debugger commands, which weren't working
for exactly the same reason.
Bumped version # for impending point release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2107 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Added 'ramrandom' commmandline argument, used to toggle randomizing or
zeroing or all RAM in the system (both zero-page and SARA).
Disassembler now properly supports all test cases, including rewinding
within the debugger.
Added preliminary support for disassembling from zero-page RAM.
Bumped version # for final release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2100 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The disassembler now accepts a range of start addresses and remembers
old entry points, so the disassembly becomes more complete each time
the debugger is used.
Changes to address offsets within the same bank are now supported
(ie, changing from $fxxx to $dxxx within the same bank properly
updates the display).
Re-added ability to manually change banks from the debugger prompt
and the disassembly UI. This now works correctly with the Distella
code.
Cleanup of the Cartridge::bank(...) API: if a bank cannot be changed,
the calling code will now know about it. This fixes confusion with
some ROMs, whereby changing a bank in the debugger prompt would print
a success message even if the operation failed.
Note that these changes have broken rewind in the debugger. Actually,
it only exposes problems that the rewind functionality already had :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2098 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Some messages now use a smaller font, so the UI doesn't look quite
so monotonous.
SliderWidgets suppport the mouse scroll wheel to change values.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2097 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
matched anything most of the time. Also, as this operation can take
a somewhat long time on slower systems, a progress bar is now shown.
Fixed handling of bit 6 in VBLANK TIA register, which is related to
how INPT4 and INPT5 are handled. This fixes at least one ROM that
should have failed in Stella, but didn't.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2096 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
method is only used in windowed mode. This eases the requirements
of the method, since fullscreen code need not be added.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2094 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is update the documentation for this.
Fixed bug reported by Buzbard from AtariAge concerning very large images
in the RomInfoWidget being clipped too small.
Reworked 'center window' functionality. Using the SDL_VIDEO_CENTERED
environment variable was always a hack, and a bug was introduced in X11
OpenGL mode in version 1.2.14. However, since SDL is now in maintenance
mode and won't be receiving any further updates, we have to bypass it
entirely. Added infrastructure for OSystem to center the application
window. For now, only Linux X11 mode is supported. Still TODO is add
support for Windows. OSX was never supported anyway. This also means
that the center window variable no longer requires the application to
be restarted.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2091 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
present, and it properly loads and presents events from settings.
Still TODO is implement saveConfig(), to send the new events to EventHandler.
Modified ContextMenu/PopUpWidget to honour the 'mwheel' setting when
scrolling with the mouse wheel (previously, it always scrolled at 1 line
at a time).
Updated OSX project files for recent ComboDialog addition.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2090 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
on AtariAge. It seems the documentation regarding port B is incorrect.
Pins previously defined as input/read-only *can* in fact be set as output,
which are then overridden if the console switches are pressed.
Or at least that's my understanding of it; I'm not entirely sure if this
is correct or not.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2087 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
these bits were ignored, and treated as high all the time. A recently
reported Stella tracker posting noted that these bits could be
configured by SWBCNT to be input or output, and hence used as 3 extra
bits of storage. This is now enabled. Because of these changes, the
state file format has also changed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2085 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
1) Added a 'Reset' button to the UI, which resets (to defaults)
the currently selected item. This is more fine-grained than the actual
'Defaults' button, which resets *all* events.
2) Rearranged some buttons and resized UI. There is now a main 'Defaults'
button on the bottom of the dialog, which applies to the currently selected
tab. This also allows to set defaults for Virtual Devs, which didn't have
such functionality previously.
3) Added a 'Combo' button to the Emulation events tab. It doesn't do
anything yet, but eventually will allow to assign events to the 'combo'
events.
ContextMenu/PopupWidget now supports the scroll button on a mouse when
in scroll mode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2084 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
when using windowed OpenGL modes in Linux. I've traced a bug in SDL
1.2.14 that causes mouse clamping problems, and have submitted a fix to
the SDL maintainers. But since 1.2.14 is supposed to be the last release
being done, I'm not sure how to proceed (maybe SDL will be statically
compiled in for a future release of Stella).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2083 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed compile error in Zlib for Windows; unistd.h is not (normally) available on the Windows platform.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2082 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Context menus, both as right-mouse button popups and those part of
PopupWidgets now have arrows that support scrolling, without having to
continuously click the mouse button. The scroll arrow color also
changes to disabled when they reach the upper or lower range.
Also, the maximum number of items shown in a ContextMenu is now 16,
which looks quite a bit nicer than showing 30 or so all at once.
ScrollBarWidget now looks a little nicer, as the scroll bar is a little
wider, and the arrows are larger (same ones from ContextMenu). As well,
click and hold works on the scroll buttons, even during mouse movement.
This means you no longer have to hold the mouse completely still to
get continuous mouse click events.
Dialogs can now register whether they want to receive continuous mouse
click events (aka, click and hold of a mouse button). Most dialogs
don't need it, and some even work incorrectly when it's activated.
This fixes a bug in ContextMenu, where click and hold on a PopupWidget
would continuously open and close the list of items.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2080 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
smaller than 640x480. Basically, the only way to use smaller modes is
on systems that report their desktop to be smaller than 640x480, or by
using the maxres commandline argument to simulate the same thing.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2079 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Stella can use (320x240). The app should no longer crash in such
low-res situations.
Various improvements to the UI, adding many finishing touches. The
text is more descriptive, and the options are somewhat better labeled.
As well, the available options are better presented based on the
restrictions currently in use (ie, if the maximum resolution is very
small, then the high-res resolutions are not shown in selectors, etc).
Added MessageBox to ROM Audit functionality, to warn that it is a
dangerous operation and that a file backup is advised.
Updated OSX build script to not crash when an older image has already
been created.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2076 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
window mode. Using modes smaller that 640x480 should now work in
all cases when using the 'maxres' commandline argument. Also, the
lower limit of 320x240 is now strictly enforced in all cases.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2075 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
are multiple normal events that are called in sequence. The
infrastructure is in place to use these events, and they're
loaded/saved in the 'combomap' commandline argument. Still
TODO is add a UI to edit the events (manually editing the
config file is really tiresome).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2074 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba