Commit Graph

1771 Commits

Author SHA1 Message Date
stephena 97404cde2a And yet another set files I forgot to add. I really need to add files
as soon as I create them.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1491 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-29 19:11:42 +00:00
stephena 6e51d951ef Oops, forgot to include the SaveKey class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1490 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-29 15:49:34 +00:00
stephena 0b272431ca Added preliminary support for a RIOT (I/O) tab in the debugger. It
currently only shows the SWCHx and SWxCNT registers, but it will be
expanded to include all items currently shown by the prompt 'riot'
command.

Added SaveKey controller, which is basically an AtariVox without the
SpeakJet chip.  The I2C code still isn't working (same as AtariVox).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1489 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-29 15:13:16 +00:00
stephena 38a98d9420 Fixed some typos in the comments.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1488 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-28 21:31:40 +00:00
stephena f91bf67995 Yet another tweak to the RIOT emulation. This one concerns the timer
behaviour after wraparound, which isn't sufficiently defined in any of
the documentation I've read.  The new code works with all the ROMs I've
tested, but I still have the feeling it's a bit of a hack.  More
research is definitely required.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1487 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-28 20:59:39 +00:00
stephena 2f34d50c39 Fixed bug where GL stretching wasn't actually being done on 4:3
(standard fullscreen) monitors.  I only have widescreen monitors here,
and never noticed the problem :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1486 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-28 15:53:05 +00:00
stephena 41f27f31a4 Fixed typo with double ampersand instead of the required single ampersand
in evaluating the SBC opcode.  Technically, the code does the same thing
in C++, but that was only a fluke :)  Thanks to JLA for the bug report.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1485 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-27 11:53:22 +00:00
stephena bdedb60d9d Fixed issue with Win95/98 not having a required function which is required to determine the 'My Documents' folder. This issue was actually causing Stella not to start at all in those environments. Thanks to the Lyx project for the relevant code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1484 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-26 16:51:13 +00:00
stephena 74362c3f0f Cleaned up the RIOT class a little more, hopefully making it easier to
understand.  Eliminated certains constants that I could never really
explain (like the 0x40000 constant from z26), and more properly emulated
the behaviour when going negative on the timer count (according to the
documentation).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1483 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-23 16:51:11 +00:00
stephena 0682a85999 Some more experimentation with the RIOT and AVox 'connection'. The AVox
SpeakJet portion is working, but still no-go for the I2C stuff.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1482 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-20 19:52:33 +00:00
stephena b0d9de7344 Updated OSX project files for recent RiotDebug class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1481 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-19 23:55:15 +00:00
stephena 3020cd3a38 Updated Visual Studio project files for RiotDebug class.
Removed debug message from TIA which were mistakenly committed.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1480 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-19 22:49:00 +00:00
stephena 735144457d Added RiotDebug class, which for now only duplicates the previous
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
2008-04-19 21:11:52 +00:00
stephena 6cde4a35af Bumped version number past 2.5.1.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1478 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-18 18:41:18 +00:00
stephena dcf1d6be93 Another fix for the RIOT code. Reading SWCHA also depends on the last
value written if SWACNT as been set to output.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1477 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-17 13:39:14 +00:00
stephena ea4aba5887 Finally got AtariVox serial output working in OSX. It's amazing what
can happen once the hardware actually works :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1476 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-14 18:50:35 +00:00
stephena 0c55ff0bad Actually added serial port classes to the OSX project this time. I still
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
2008-04-14 15:45:30 +00:00
stephena d45f6bef60 Added SerialPort classes for OSX. I still have to test if it actually
compiles though.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1474 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-14 15:12:55 +00:00
stephena f7a1d3d147 Added EEPROM classes to OSX project files.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1473 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-14 10:26:19 +00:00
stephena e6bb277f82 Oops, the timer was wrong in the I2C code. It still isn't working
though.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1472 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-14 01:39:59 +00:00
stephena b5a52b566c Some more work on the EEPROM code. I still can't get it working; it seems
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
2008-04-13 23:43:14 +00:00
stephena 8083549240 Added EEPROM class to Visual Studio project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1470 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-13 17:42:06 +00:00
stephena 86a2a1dceb Preliminary WIP for the Microchip Technology Inc. 24LC256, the EEPROM
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
2008-04-13 15:05:59 +00:00
estolberg 9608280880 removed an unused variable and some debugging code
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1468 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-13 11:08:36 +00:00
stephena 998bba2a35 Added TIA HMOVE positioning hacks for 'Escape from the Mindmaster',
'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
2008-04-13 00:14:38 +00:00
stephena 206a4a1831 Fixed compilation in Win32 with Mingw.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1466 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-12 23:20:05 +00:00
stephena fb3f6a347f Cleaned up the SerialPort API a little, and removed ability to change
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
2008-04-11 17:56:35 +00:00
stephena de5a387f47 And now AVox output works in Linux. I can't believe the stupid mistake
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
2008-04-11 01:28:35 +00:00
stephena b508d668c2 Success! Or at least a little bit :) I have 'Man Goes Down' correctly sending output to the AVox through the AVox USB adaptor in Windows. Now that I know that it's actually possible in Stella, it should be relatively simple to do the same in Linux and OSX. Still TODO is add an appropriate UI for selecting the serial/com port to use; right now it's hardcoded.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1463 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-11 00:29:15 +00:00
stephena e28bb7b889 Modified SerialPort methods, since they clash with UNIX functions with
the same purpose (open, close, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1461 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-09 17:19:16 +00:00
stephena f7d58c7d48 One last thing I forgot for the 2.5.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1460 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-08 20:01:39 +00:00
stephena 2350a5c3f5 Added an alternate way of emulating the M6532 timer functionality. The
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
2008-04-08 19:17:26 +00:00
stephena 547da610d4 Updated OSX project files with AVox stuff and for the 2.5.1 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1458 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-03 16:20:18 +00:00
stephena 1a3bae4e40 Some Win32 build fixes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1457 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-02 23:24:21 +00:00
stephena 70f24de25d Fixed compile warning concerning C vs. C++ strings.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1456 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-02 21:22:16 +00:00
stephena cfe52adc62 Fixed bug in ROM disassembler in the debugger. Apparently, mixing C strings and C++ strings causes issues in the Visual Studio compiler, but not for Linux. The ROM listing no longer shows squares (which represented null/out of bounds pointers to strings.
Updated Visual Studio files with latest AtariVox class.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1455 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-04-02 01:54:31 +00:00
stephena 27dc5a60e2 Moved AtariVox support from experimental to full-fledged controller.
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
2008-03-31 00:59:30 +00:00
stephena 5a50164c9c Re-added 'lastrom' functionality, where the last ROM successfully loaded
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
2008-03-30 15:47:10 +00:00
stephena c90e67d398 Made the error message clearer when a snapshot file couldn't be created.
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
2008-03-30 15:01:38 +00:00
stephena cd9d21051f Fixed bit-rot with AtariVox stuff, and updated some of its documentation.
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
2008-03-29 19:15:57 +00:00
stephena 1c1d7652e8 Bumped version to 2.5.1_cvs.
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
2008-03-28 23:29:14 +00:00
stephena 56ab631429 Final commits before the 2.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1448 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 23:59:21 +00:00
stephena 7f888242ed Updated OSX project files for 2.5 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1447 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-26 14:21:09 +00:00
stephena b78f0ac738 Fixed minor UI issue in GameInfoWidget.
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
2008-03-26 00:52:05 +00:00
stephena d0d6697e07 Added header to state files, so that older state files are automatically
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
2008-03-25 13:52:38 +00:00
stephena e0e0a3648b Fixed minor compile issue in OSX.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-25 13:11:34 +00:00
stephena c8a3385f45 Something else I forgot in the last release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1443 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-24 22:32:51 +00:00
stephena fd26816763 Added info about last release, which I must have forgotten to commit
last time.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1442 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2008-03-24 20:31:31 +00:00
stephena 3bba5a6892 Reverted to the old font handling code. I was trying to find a font
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
2008-03-24 00:02:16 +00:00
stephena bb8ebc853e Fixed debugger issue where a sym file loaded from a previous ROM load
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
2008-03-23 17:43:22 +00:00