Commit Graph

544 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 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 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 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 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
stephena a7566af776 Added MC scheme to debugger ROM tab. This isn't complete, since I
don't have any test ROMs to confirm whether the current
bankswitching code even works.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2695 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 17:25:13 +00:00
stephena 8487a60faa Fixed configure script wrt Thumb ARM support; the help message
never actually included info on how to enable/disable it.

StringParser is now width-sensitive, in that it can also split
on a maximum string length.  This is useful for making the various
UI items font-size independent, and to flow the text accordingly.

Increased minimum size of debugger window to 1080x720, which allows
things to be laid out a little nicer, and gives some much needed
extra room.  Sorry guys, the most common resolution now in use
is 1366x768, so it's time to move with the times.

Cleaned up some of the descriptions in the ROM debugger tab(s).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2694 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 15:00:32 +00:00
stephena 0a8050faf4 Added FE scheme to the debugger ROM tab. Even though this is
a multibank scheme, the tab doesn't allow to change banks,
since the current bank is at address-level resolution, and
it would immediately change back upon the next address change.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2693 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-15 17:21:30 +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 2872b6be03 Added X07 scheme to the debugger ROM tab. Since I have only one
test ROM, and it is extremely basic, I can't be sure how well this
new functionality works.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2691 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-12 13:12:39 +00:00
stephena 1b0b6a9f20 Added E0 and E7 schemes to the debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2690 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-12 12:36:57 +00:00
stephena 88c7d39b96 Added 3E scheme to debugger ROM tab. This is the start of the more
esoteric schemes (ie, the ones that no longer follow the '4K per bank'
design).  Arguably, this is the entire point of adding the cart-specific
debugger ROM tab; to make it easier to work with such schemes.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2689 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-11 14:58:18 +00:00
stephena 40e4687372 Added 3F scheme to the debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2687 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-07 20:09:28 +00:00
stephena 368c26c371 Added FA scheme to debugger ROM tab. Now begins the more difficult work;
adding the more esoteric schemes to the debugger ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2686 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 22:13:26 +00:00
stephena 1ff7568c68 Added 0840/CV/EF/EFSC/F0/UA schemes to debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2685 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 21:04:11 +00:00
stephena 4c227932f1 Added F4SC/F6SC/F8SC schemes to debugger ROM tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2684 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 14:09:16 +00:00
stephena 3cfe7218dc Added F4/F6/F8 bankswitch schemes to the debugger ROM info tab.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2683 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-06 00:25:08 +00:00
stephena fbebe17d6b Improved cart description for 2K and 4K formats in the debugger.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2682 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-05 20:45:42 +00:00
stephena 05a39cb1e0 More debugger work for 2K/4K ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2681 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-05 13:29:54 +00:00
stephena 263e8e6240 First pass at adding cart-specific info to the ROM tab in the debugger.
For now, only 4K is shown.  Eventually this will be included for all
bankswitch types, whereby the UI will be tailored to the specifics
of each scheme, so that ROM/RAM banks will be able to viewed and
changed more easily.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2680 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-04 21:38:22 +00:00
stephena 831edca24e Finalized tab handling for dialogs containing multiple tabs
(for now, only the debugger, but might as well deal with the problem
in a general way once and for all).  The Shift-Left/Right keys now
work as they did before, and switch between tabs in a tabset.
For dialogs with multiple tabs, it now selects among those tabs
where the focused object is.  Clicking on another tabset then changes
the focus, and allows the same keys to switch among *that* tabset.

Now I can finally start the cart-specific bankswitch UI items.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2679 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-31 20:54:14 +00:00
stephena ac1bccf454 First pass at adding a cart-specific bankswitch/info tab to the
debugger.  In the process, I had to spend several days extending
the UI/dialog class to actually contain multiple tabs.  This was
harder than expected, and it still isn't quite finished.  In many
ways, we're beginning to reach the limits of the current code; it
was never designed for a full-fledged, graphically rich UI.

For now the tab is empty, but eventually it will contain general
info about the ROM bankswitch type (size, virtual layout, etc),
but also cart-specific info, including the ability to change
banks, which can be vary greatly among the different schemes.
Eventually, it may even allow to see/modify very cart-specific
info (like display RAM in DPC, etc).

Better handle errors in opening the serial port (AtariVox support)
for Windows and OSX.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2678 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-31 00:10:05 +00:00
stephena 8ff2c276c3 Removed assert in OSystem WRT screen sizes; it should gracefully exit
instead of just simply dying.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2676 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-28 16:09:20 +00:00
stephena 2e3a4b468f Starting to clean up the properties database. Since it's been reported that
"Death Derby" won't be completed, it's the first to go.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2675 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-16 14:47:44 +00:00
stephena b97d5120b9 Some debugger/disassembly work:
- Removed 'SKIP' directive, since it wasn't implemented anyway, and
    I see no way to implement it

  - Add 'aflag' setting to diassembly output, matching usage in Distella.
    This is needed for diassembly output, otherwise DASM barfs on the code.

  - Fixed several long-standing bugs in Distella disassembly wrt ROW
    directives and labeling.  Previously, the output you see in the debugger
    wasn't completely correct, since it wasn't compiling properly in DASM.

  - Illegal opcodes are now shown as .byte directives; this allows the code
    to compile in DASM.

  - Print 16 bytes per line in .byte directive in external disassembly,
    same as Distella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2665 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-03-10 22:12:37 +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 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 2c08ea11b1 Fixed typo in TIA class. Good catch, Thomas.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2640 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-28 14:39:00 +00:00
stephena 079cc3c8f1 Fixed RSYNC bug.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2627 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-24 02:06:34 +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 07ded07acc Fixed compile warning in VS2012, and bumped version #.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2622 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-23 02:09:33 +00:00
stephena 340adfe4ab Fixed some misplaced tabs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2621 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-22 00:39:16 +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 29cc0df572 Loading from ZIP files now works from the ROM launcher. Still TODO
is add support for from the commandline, as well as optimizations
(automatically loading the first ROM when only one exists, or when
the name of the ZIP file itself is used).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2608 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-13 23:09:31 +00:00
stephena 17df4efe9e More code upheaval on the quest for better ZIP handling (although
it's still partially broken).

Converted many methods to take FSNode objects instead of raw string
filenames.  This is necessary since file reading will eventually
be abstracted into the FSNode class directly.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2605 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-12 21:57:14 +00:00
stephena b6b6835435 OK, second pass at the revised ZIP file handling. It's still broken for
opening ROMs, but at least the ROM launcher now properly descends into
ZIP 'folders'.

Removed obsolete unzip.h|c code, which hasn't been updated since 1998
and fails to compile on some systems.  Replaced it with ZipHandler class,
which is a much nicer interface (and about half the code too).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2603 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-12 02:24:17 +00:00
stephena fb56105a85 Fairly major reorganization of the FilesystemNode and ZIP file handling
code.  This is just a preliminary check-in; ZIP handling is actually
broken ATM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2600 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-10 21:47:47 +00:00
stephena ecdcf6177d More work on the FilesystemNode API.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2597 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-03 00:13:08 +00:00
stephena 025100d812 Fairly major restructuring of the FSNode classes, removing some static methods
and making them part of the object itself.  This is in preparation for a
'ZipFilesystemNode' class, whereby ZIP archives and their contents are supported
natively by Stella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2596 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-02-02 18:34:25 +00:00
stephena 1f16369487 Fixed ZIP handling in Windows; the '/' vs. '\' curse strikes again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2591 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-29 21:12:37 +00:00
stephena b0db10e969 Reorganization of the PNG handling; it didn't make sense to have loading
one class and saving in another.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2588 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-28 20:39:50 +00:00
stephena a5cb67551f Final updates to the sound code (resampling seems to be working fine).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2585 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-27 15:08:04 +00:00
stephena b7df9deeb6 Reverted INTIM handling to version 3.7.2, which fixes hangs in Mr. Roboto.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2584 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-26 21:17:38 +00:00
stephena b727c1b48d Updated ROM properties for a Kaboom clone that shouldn't be marked as
PAL60 format.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2582 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-05 02:22:55 +00:00
stephena 753d096f48 Updated bankswitch detection for 0840, F8 and FE schemes.
Removed various 'Image' and 'Greeting Card' ROM info from the database;
the info was incomplete, and there's no way that I'm going over 7000+
ROMS to add them all.  Eventually, I'd like the database to be for valid
ROMs only.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2581 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-05 01:12:25 +00:00
stephena e467441c37 Improved X07 autodetection.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2580 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-04 20:19:01 +00:00
stephena c4e5360a18 Updated copyright dates to 2013.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2579 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-04 19:49:01 +00:00
stephena e6044426ec Updated sound system with ideas from z26 and MESS. To me at least,
the sound is now much more accurate in "Space Rocks", and there aren't
any regressions that I'm aware of.

Removed 'clipvol' setting, since the sound is now 16-bit and clipping
is no longer required.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2578 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-01-04 19:13:30 +00:00
stephena f003bd31bd Changed disassemble and debug checks from run-time to compile-time
for Thumb ARM emulation.  On my (quite fast) system, this results in 4%
less CPU usage, so it should be much better on slower systems.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2576 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-12-26 21:16:34 +00:00
stephena ca0f20fdff Updated log functionality slightly; you no longer have to supply
a new line as part of the message.

Updates for impending 3.7.5 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2572 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-12-22 20:17:33 +00:00
stephena 2aca70e19e Fixed PAL autodetection regression.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2571 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-12-17 22:04:20 +00:00
stephena 0616691bc5 Fixed a PNG load crash, and added more PNG text chunks when saving snapshots.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2570 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-11-11 23:32:25 +00:00
stephena 2b27e23276 Fixed regression with missing VSYNC in certain ROMs, and bumped
version # for next release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2566 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-30 22:21:09 +00:00
stephena 940a0bf066 Fixed more sound issues wrt irregular scanline counts. Even
Quadrun sounds better now :)

Preparing for the 3.7.3 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2562 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-25 20:39:55 +00:00
stephena 029ea006f6 Changed in scanlines per frame are now actually done every frame, and every
8 frames.  This is necessary for ROMs that 'abuse' the system and have
inconsistent scanline counts on every single frame.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2561 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-25 16:24:55 +00:00
stephena dc33420c95 Fixed off-by-one error in comparing maximum scanlines per frame.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2560 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-25 13:14:09 +00:00
stephena b67625bfec Fixed scanline calculation when out-of-spec ROMS don't use VSYNC at all.
In this case, the frame runs to the limits of the virtual 'TV' (342 scanlines).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2559 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-25 13:07:18 +00:00
stephena 8d9fcaf774 Some minor code cleanups thanks to R. Broglia. Oh joy, are we actually
getting someone else on board for development :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2558 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-24 10:10:32 +00:00
stephena 7e198cb34d Preparing for upcoming 3.7.3 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2557 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-22 23:23:32 +00:00
stephena 99d79bdd67 Scanline intensity now defaults to 25 instead of 40.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2556 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-17 13:49:33 +00:00
stephena 192ad0bf81 Fixed music bug in DPC+ scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2555 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-10-02 14:56:31 +00:00
stephena 803083e51a Removed some debugging info from RIOT class.
Updated PNG library to latest release.

I hope to get back to Stella development soon, and do a new release
in perhaps the next month or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2554 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-09-27 22:17:27 +00:00
stephena faa78ad56a Added emulation of D6 (interrupt flag) to the Interrupt Flag register
of the RIOT chip.  This flag is related to the edge-detect circuitry, and
set on active transition of PA7 pin, cleared upon reading from TIMINT (but
only *after* its result is included in the TIMINT read).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2553 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-09-16 17:32:45 +00:00
stephena 06854e7877 Some improvements to RIOT handling of INTIM and TIMINT behaviour,
particularly in edge cases.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2551 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-09-15 12:44:24 +00:00
stephena f3d5beb3d6 Removed some debugging code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2550 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-09-11 21:21:26 +00:00
stephena b59c95062c Restructured the RIOT handling of reads from INTIM and TIMINT. Also removed
all aspects of the M6532 chip that a real 2600 console doesn't use.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2549 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-09-11 21:16:21 +00:00
stephena d5269bce26 Updated ROM properties for personalized 'Star Castle' ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2548 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-09-04 13:25:42 +00:00
stephena 756a47bcf8 Fixes for 'illegal' VSYNC behaviour wrt 'short' frames.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2547 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-07-14 18:56:57 +00:00
stephena 9a4323eece Fixed handling of '.' character (indicating current directory) in
filesystem handling.  It is no longer a special case, since the FSNode
class now knows how to parse it directly.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2540 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-14 21:26:38 +00:00
stephena 7fa87e9098 Fixed minor graphical glitch when showing error messages
in the ROM launcher.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2539 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-10 15:29:13 +00:00
stephena 15ea3e6439 Provide better error message on console for Xin1 bankswitch schemes,
and make 'Default' button do the right thing when configuring global
ROM properties.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2530 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-07 15:34:43 +00:00
stephena 21f25d1553 Added 64in1 and 128in1 multicart bankswitch schemes, although for
the latter you'll probably require the patience of Job.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2529 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-07 14:09:11 +00:00
stephena 6353d118b7 Control-f now cycles between NTSC/PAL/SECAM/NTSC50/PAL60/SECAM60
display modes wrt both palette and display properties (# of scanlines,
size of window, etc).  This means you can now dynamically switch
between these modes at runtime.

Also added 'Shift-Control-f', which cycles through the modes in
reverse order.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2527 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-05 16:32:35 +00:00
stephena b231dda2a9 Some more DPC+ updates.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2526 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-04 19:20:27 +00:00
stephena 02ebafaf7d TIA emulation is now more accurate wrt irregular scanline counts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2524 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-04 15:52:56 +00:00
stephena 2145c38087 Fixed bugs in DPC+ scheme; reset wasn't actually resetting the
Harmony RAM, and state saving wasn't working at all.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2523 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-06-03 18:05:14 +00:00
stephena 4b4b1c9447 Updated changelog and ROM properties for Star Castle 2600 ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2515 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-29 17:09:27 +00:00
stephena 301f02bba6 Added 'Star Castle 2600' database info.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2514 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-28 20:00:38 +00:00
stephena 01d8c298ae Added 'dis.relocate' commandline argument, which passes the
Distella '-r' option (Relocate calls out of address range) to
the disassembler core.  Also added UI item to dynamically
change the setting.

Renamed 'resolvedata', 'showaddr' and 'gfxformat' commandline
arguments to start with 'dis', indicating that they're part
of the disassembler.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2504 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-27 19:27:55 +00:00
stephena 4750c64a17 Phosphor mode now works with Blargg TV effects! It takes an extra 2-3 MB
RAM to do so, which I agonized over for about a week, but I feel it's
a fairly good tradeoff for the features we get.  Eventually, I may come
up with a more accurate phosphor mode which eliminates this approach
entirely.

Reverted OpenGL framebuffer to 32-bit colour mode.  We're using Blargg
effects, so we may as well get the full fidelity out of it.  Besides,
testing has shown that there's not much speed difference between 16
and 32 bit modes, making me think that 16-bit is probably be swizzled
to 32-bit anyway.

Bumped release date to June 1, version to rc1.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2501 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-26 22:18:13 +00:00
stephena feac57253e Now that the Serializer class throws exceptions differently,
we need to modify what is caught.  Ironically enough, this fixes
a bug whereby when certain errors occur, the recovery system
itself would crash, not the issue that actually caused the bug!


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2499 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-25 12:41:19 +00:00
stephena 3375cb9f98 Fix crash in CTY scheme when accessing a zero-byte/non-existent
flash file.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2498 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-25 11:11:01 +00:00
stephena 93deeecadf More work on Chetiry bankswitch scheme. I may not get it finished
before the release tomorrow (since I'm not entirely sure how it
works), but I'm going to give it the old college try.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2497 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-24 21:41:54 +00:00
stephena e1ebfec032 Fixes for some issues picked up when compiling in OSX. This is
why compiling for multiple platforms with different compilers
really helps the robustness of code ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2492 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-21 21:33:39 +00:00
stephena beb18bfc43 CTY scheme now contains logic to determine when 'LDA #$F2' is executed.
The documentation states that this command is aliased, the current
frequency should be returned instead of $F2; this part isn't done yet,
since I'm still working on actually calculating the frequency.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2491 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-21 17:30:14 +00:00
stephena cac0eb609a Updated documentation for Chetiry (CTY) bankswitch scheme in the
source code header file.  As you can see, this is one of the more
complex schemes (and it isn't even finished yet!).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2490 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-21 00:15:47 +00:00
stephena ad8dd1d27e The OpenGL code now uses 32-bit textures. This is required for
blending in conjunction with phosphor effect.

For the Chetiry scheme, when loading or saving the 64 byte score
table, we now ignore the first 4 bytes (as specified by the
documentation).  These 4 bytes/addresses are actually a type of hotspot.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2489 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-20 21:10:19 +00:00
stephena 4281ac2436 Removed a few redundant FIXME and TODO's.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2488 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-20 18:26:59 +00:00
stephena 01c9bc30c3 More work on Chetiry bankswitch scheme. Preliminary version can
now load and play test ROMs, complete with emulation of timing delays
due to slow accesses on real Harmony hardware.  Still TODO is the tunes,
DPC+ stuff, which is stubbed out at this point.

Fixed bug in EFSC bankswitching; state files didn't contain extended RAM
information.

Cleaned up the Serializer API, resulting in slightly faster operation
and smaller state files.  Because of this, the state file format
has changed for this release (old state files will no longer work).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2487 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-20 14:23:48 +00:00
stephena aa544ecfe9 Fixed bug when loading from ZIP files created in OSX. In some
cases, these archives contain directories named '__MACOSX' which
contain link files that were being erroneously detected as actual
ROMs.

Added FilesystemNode::isFile() method, and updated several places
in the code to use it.  Previously, determining whether something
was a file was simply testing if it wasn't a directory, but this
logic isn't always valid (it's possible to be neither a regular
file *nor* a directory).

Bumped version # for RC release.  It's getting very close ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2477 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-16 20:52:33 +00:00
stephena e7b38e9963 Custom TV 'adjustables' can now be changed dynamically as follows:
- Alt-9 / Shift-Alt-9 selects (increases/decreases) between
    the various adjustables
  - Alt-0 / Shift-Alt-0 increases/decreases the actual values for
    the previously selected adjustable

Cleaned up the API a little, moving some stuff from Console to
FrameBuffer class.  I think we're due for a pretty major
reorganization of parts of the codebase very soon.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2473 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-14 15:06:06 +00:00
stephena 440da3b4a0 OSystem now controls loading and saving of settings, by calling
Settings::loadConfig() and Settings::saveConfig() when required.
This fixes an issue with OSX in particular, or any port where
those methods are overrided.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2471 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-13 18:06:56 +00:00
stephena 3850cb7879 Blargg now has knobs! The TV effects settings are now accessible from
the Video Settings UI.  Still TODO is add key shortcuts for the various
adjustable TV effects (contrast, brightness, etc).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2468 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-12 22:21:59 +00:00
stephena e171eddfd2 OK, now it's time to start adding adjustable knobs for the TV effects.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2466 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-10 15:36:20 +00:00
stephena f59f5ab5e8 Added scanline interpolation option (blended scanlines) with the
'tv_scaninter' option.  Added Alt-8 keypress to toggle this; still
TODO is add a UI item for it.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2462 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-08 19:37:04 +00:00
stephena 7d3ea13a01 TV scanline intensity range is now 0 - 100%, where 0 means scanlines
are essentially invisible.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2461 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-08 13:33:36 +00:00
stephena 9c17d43c6f Fixed bug in loading ROMs from a multi-file ZIP archive; ROMs
below the base directory weren't being detected.  The ROMs can
now be in any directory arrangement (although they'll still be
presented in the UI as if they're all in the base directory).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2460 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-08 13:24:10 +00:00
stephena e3fa8da1f9 OK, Blargg is now officially in the codebase! There's still quite a bit
left to do, but the basic functionality is now there.  Alt 1 - Alt 6
selects among TV modes as follows: off, composite, svideo, rgb, bad and
custom.  The latter is just composite at this point; there's no code to
actually change specific adjustables yet.  Alt 7/Shift-Alt 7 increases/
decreases scanline blend intensity (20% - 100%).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2456 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-06 17:45:48 +00:00
stephena 1e8f45a10f Fix scanline count info viewer when values are out of the normal range.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2455 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-05-01 19:09:28 +00:00
stephena 3ec9fe888d Added 'tunes.bin' data to Chetiry scheme, and updated romtohex
to correctly generate the data from a bin file.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2453 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-29 19:43:28 +00:00
stephena 68f739914f Initial check-in of Chetiry bankswitch scheme from cd-w. For now, it's
basically the skeleton of F4SC, since it's partly modeled after that
(8 4K banks, etc).  More work will come after the 3.7 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2452 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-29 18:04:47 +00:00
stephena 973a8edf30 Added ability to descend into multi-ROM ZIP archives.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2450 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-27 13:34:30 +00:00
stephena e3ba9f0ec2 TIA objects and collisions are now toggle with the Alt-period keys,
instead of having different keys to turn them on and off separately.
This brings the functionality in line with the rest of the objects/
collision key-combos, which were also toggle-only.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2449 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-20 21:32:24 +00:00
stephena 6737091149 Replaced 'uselauncher' with 'exitlauncher', which specifies how the
ROM launcher should be used when exiting from a ROM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2448 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-20 20:47:53 +00:00
stephena f853518540 Fixed ghost key issue with the CompuMate emulation. It seems that mixing
SDL keyboard events and the static GetKeyState() method doesn't always
work as you'd expect.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2447 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 20:11:16 +00:00
stephena e1d31ada6e Some slight performance modifications to CompuMate handling; we don't
need to get the keyboard pointer 60 times per second.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2446 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 15:25:09 +00:00
stephena 822a378182 A fairly large overhaul of the mouse-emulates-controller functionality,
fixing bugs too numerous to mention.  The end result is that using
Control-0 to switch between mouse modes is much more understandable.

Updated properties database for Telepathy ROM, which now uses the
MindLink controller.  Also updated Astroblast ROMs to use paddles
by default.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2444 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-19 13:00:02 +00:00
stephena ccf9128cdf A few more places where it makes sense to pre-allocate space for
Arrays.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2443 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-15 21:39:15 +00:00
stephena 1dbefe043d Improvements to the FA2 Harmony flash load/save functionality:
- delays are now emulated (0.5 ms for reads, 101 ms for writes)
  - the flash file is now saved according to the ROM name
  - correctly return values with bit 6 set to zero or one, instead
    of just using 0x00 or 0xff


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2440 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-14 19:28:53 +00:00
stephena 967fb73d2d Load/save from Harmony cart flash RAM is now supported for the FA2
bankswitch scheme (currently, only the 256 internal RAM is used).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2439 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-12 23:23:12 +00:00
stephena 186fa5c1be Before I get back to mousemode and Blargg stuff, I decided to
make another pass at getting rid of raw pointers.  As I've come
to realize over the years (and in particular with reading the C++11
standard), raw pointers are evil and error-prone.  So this fixes
some of them at least.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2438 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-11 16:10:24 +00:00
stephena 8af1211d7c Updated properties database for 'Juno First' ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2437 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-03 22:34:51 +00:00
stephena 56f22a2220 Updated FA2 scheme to include 28KB ROMs.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2432 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-29 19:03:58 +00:00
stephena bccac33a55 Fixed bug when using Paddles in Astroblast (and probably seen in other
ROMs as well); strangely enough, you had to press Joystick 0 Up before
the paddle handling was initiated.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2431 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-27 21:35:07 +00:00
stephena 303fb5bdbc First pass at tying the NTSC filtering code into the OpenGL TIA
rendering code.  This is just infrastructure for now.  Pressing
Alt-f will toggle the filtering, but there's no output yet.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2430 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-25 17:51:13 +00:00
stephena db6e1c7c81 Added Mindlink controller emulation. Based on research, it seems that
only Bionic Breakthrough ever used this scheme, not Mind Maze and
Telepathy (as the properties database previously indicated).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2429 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-25 14:42:09 +00:00
stephena ea74f6dbe3 Updated CompuMate keyboard handler to be more friendly,
and use keys on a real keyboard more effectively.

Bumped version number, so we start all over again.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2426 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-18 01:40:27 +00:00
stephena b7d8099ed0 Changed release date to today; there's no point waiting for next week.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2422 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 20:31:31 +00:00
stephena 82a048a086 Using the Control key in CompuMate mode will no longer interfere with
normal control functions (ie, pressing Ctrl-q will not quit, but send
this combo directly to CompuMate).

Mapped Func-Space to the Backspace key for CompuMate keyboard.
Func-space (which is actually Ctrl-space is still supported).

Updated documentation for CompuMate changes and system requirements.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2418 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 17:57:23 +00:00
stephena 5ce726f180 Fixed some compiler warnings picked up by Xcode 4.3
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2417 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 13:19:29 +00:00
stephena 92cda788c4 Fixed missing 'Enter' key in CompuMate emulation. It seems that the
z26 code never actually implemented this, so I'm not sure how people
actually entered Basic code.  I guess not many people have played 
with and tested this before.

Added more sensible keys for the CompuMate 'space' and 'enter' keys.
They're still mapped to '/' and ';' respectively (to keep locations
on the keyboard the same), but are also mapped to the actual 'Space'
and 'Enter' keys (to make usage much easier).  I'll probably also
map 'Shift-;' to Backspace as well.

Updated documentation for CompuMate emulation.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2415 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-15 23:40:36 +00:00
stephena 44b5cf66b9 The CompuMate emulation now correctly processes normal and
shifted keys from the keyboard.  Most control-keys are
supported too, but still TODO is allow the Control key to
pass to the CompuMate controller and not pre-process it
by the EventHandler (so pressing Ctrl-q) shouldn't quit
emulation in that case).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2414 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-15 15:22:57 +00:00
stephena 82a4bc13b1 More work on the CompuMate scheme. The logic for the Controllers is
now complete; I just need to define how to pass actual keyboard keys
through the Event system.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2413 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-14 22:24:54 +00:00
stephena 47f151b87c Re-arranged the CompuMate controller code so that it can access both
controllers at once.  Stella wasn't initially designed to do this,
and the CompuMate is unique in this regard.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2412 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-14 01:19:23 +00:00
stephena 80c43f175d Started work on the controller side of the CompuMate emulation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2411 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-12 23:33:50 +00:00
stephena 02ad41e60a Tweaked EF bankswitch autodetection.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2410 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-12 20:45:24 +00:00
stephena f6e8c25546 Fixed error in state loading for CartCM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2409 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-12 01:43:53 +00:00
stephena b80a0ecdc9 Updated CompuMate emulation. This bankswitching side of things seems to be
working fine.  Still TODO is the controller side, so you can actually input
some data.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2408 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-11 23:26:12 +00:00