functionality of the Debugger::riotState() method. It will become
more useful when I add a RIOT tab to the debugger. Also, added
change tracking infrastructure.
Fixed long-standing bug with viewing the contents of TIM{1, 8, 64, 1024}T
registers. Apparently, the output generated by the 'riot' debugger
command showed either INTIM or TIMINT for those registers, and not the
actual value written to those registers.
Added INTIM, TIMINT, and TIMCLKS to the riot output, which show the
current values of the timer, the timer interrupt, and the number of
'timer clocks' resulting from writing to a timer register.
Cleaned up some of the debugger API, removing pointers and using
references instead.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1479 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
can't test it, because I can't get OSX to see the AVox on the systems
here at work.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1475 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
to never write anything to the EEPROM data array. I'll have to speak to
Supercat about that one.
Rearranged controller stuff, and changed the API a little. Basically, I
eliminated pointers to System in the controller classes, so they'll
always have a valid system object.
The savegame screen in MGD now appears, indicating that we're reading
from EEPROM SDA correctly. Of course the score isn't being saved
properly yet.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1471 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
used in the AtariVox and SaveKey. It isn't actually connected yet, and is
basically a C++ wrapper around the I2C routines provided by J. Payson
(aka Supercat).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1469 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'Mission Survive', 'Solaris' and 'Swoops!'. These are temporary hacks
until the new TIA code is written, which *will* be done before the next
major release. In fact, it might even justify a 3.0 release. Fixing
the TIA is my number one priority over the next few months.
Added debug code to the TIA class pointing out when object positions
are reset less than 24 cycles after an HMOVE (which incidentally is
the cause of most of the TIA emulation bugs). Simply uncomment the
DEBUG_HMOVE declaration at the top of the class to activate this.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1467 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
bad, parity, stop bits, etc. Since the AVox is the only device using
this, and I don't see any new devices making use of it any time soon,
it doesn't make sense to over-engineer the class.
Added '-avoxport' commandline argument and associated UI setting to
set the serial port the AVox will use. I *was* thinking about
auto-detecting this, but apparently it isn't supported on all platforms.
Added AtariVox as a controller type selectable from the GameInfoDialog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1465 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
I was making, shadowing an instance variable with a local one. I must
be losing it :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1464 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
new code seems to contradict some documentation on the timer behaviour,
but does work with all ROMs I've tested (it even fixes a few ROMs that
didn't work before). I'm not sure if the documentation is incorrect;
more testing and feedback is needed.
Bumped version number and documentation for 2.5.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1459 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Made SpeakJet emulation be optional, because it's still a WIP and we'll
soon be able to have AVox support without it.
Added SerialPort infrastructure, which will implement serial port access
in a general way. Those ports which don't wish to do so can simply not
implement a SerialPortXXX class; in that case a null SerialPort is used.
Still TODO is actually implement the serial port functionality for UNIX,
and add similar classes for OSX and Win32.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1454 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is remembered from a previous run, and autoselected the next time Stella
starts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1453 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Made the default snapshot folder be $BASEDIR/snapshots, and got rid
of the previous default './'. I suspect this relative pathname was
causing a problem. The user is still free to choose another
snapshot dir, but the one in $BASEDIR is always created anyway.
Removed the logic that entering Stella directly from a ROM wouldn't
allow one to enter the ROM launcher afterwords. You can now always
exit from a ROM back to the launcher, no matter how Stella was
launched.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1452 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
It now compiles and runs against the latest controller changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1451 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed long-standing bug where debugger mode didn't work for E0 carts.
It seems at some point I refactored a section of code, and the debugger
wasn't being locked before entering it. Hence, bankswitching was
occuring when the debugger attempted to read the emulation state.
Fixed a similar debugger issue for 4A50 support. This might necessitate
a 2.5.1 release ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1450 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Updated docs for impending 2.5 release. I still have to add documentation
for Rom Info and Rom Audit functionality. That's the worst thing with
adding new features; I have to document them :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1446 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
marked as being incompatible. With each future release, if the format
changes again, we simply update the header. Also, the header encodes the
last version that worked with that format, with 2 bytes per number (ie,
version 2.5, or 2.5.0.0, is encoded as 02050000).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1445 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
that looks roughly the same as the current default but was bigger. Then
it occurred to me to simply modify that font to be twice as large :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1441 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
was still being used for the next ROM. It makes me wonder how many
people use this feature, since this problem was never reported before.
Some general cleanup of the Debugger API. I generally don't like
pointers, and use (const) references whenever possible.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1440 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
this is a simple mono-spaced font. For a future release, I'd like to get
a nicer proportional font something like the current smaller one.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1439 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
just too cool a feature not to include in the next release ;)
Checked in some updated UI font-aware code. All of the UI's are not
converted yet, but for the next release the only one that really matters
is LauncherDialog.
Added '-launcherfont' commandline argument and associated UI config
to set the size of the font used in the ROM launcher (for now, small
or large). This is useful if you activate the ROM Info and can't
zoom the entire UI by 2x. Previously, this meant the ROM listing font
was very small, but now you can have the launcher in 1x mode with a
larger font *and* the ROM info stuff also visible. More changes are
coming in a future release, so this will have to do for now.
Reworked UIDialog to contain tabs, since the options were starting to
become unwieldy.
This pretty much ties up the last remaining items for this release,
so after a little testing and updating the manual, it's time for 2.5.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1438 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
useful until I get the UI fixed wrt font sizing, and fix the issue where
you need to save snapshots in 1x mode. All that leads to extra work that
can't be released in pieces, and I want to get this release out *now*.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1436 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
into the Paddles class.
Removed '-paddles' commandline argument. You can still change the paddle
that the mouse is emulating from the UI or with Ctrl 0..3, but its no
longer a setting that can be saved.
Added message to LauncherDialog when a ROM is invalid and can't be loaded.
Reworked the GameInfoDialog a little wrt swapping console ports. Behind
the scenes, the Console.SwapPorts property is still being used, but the
UI is now more consistent (you no longer select the left and right
controller, but the controllers for players 0 and 1, and which port
they'll be plugged into).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1435 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
will be able to select a ROM directory to scan, and have all files
identified as a ROM (by extension) renamed according to their properties
name. This will create ROMs with 'pretty names', and takes the place
of the previously removed 'non-browse' mode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1429 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
enable/disable it. Currently, you have to exit and restart the program
for this to take effect.
Fixed issues with resizing and toggling video renderers and the
image not being updated correctly. Also, saving a snapshot within
emulation mode and exiting to launcher mode now shows the new
snapshot.
Currently, the rom info viewer only works with PNG images 320x250 or
less (ie, 1x zoom mode in Stella). If the image is bigger, a message
is displayed stating that fact. At some point I have to add another
snapshot mode where it always saves in 1x mode (or maybe not; it
depends on how many people will want to save snapshots for viewing in
the rom info viewer).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1428 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba