previously on my local system, not in the repo), and fixed some minor
UI layout issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2778 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
it was confusing which one was being called.
Fixed output in debugger bankstate info; in some cases, hex numbers were shown
when decimal was required.
Fixed regression wrt the last TIA change (incorrect framerate counter); the
PAL autodetection was failing in certain cases.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2774 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
This is the beginning of a major cleanup of the bspf.hxx file, which
has gotten unwieldy over the years.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2772 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
will be used, but at least we can improve it a little).
Eliminated the 'alignment' dimension in the various TIATables masks,
reducing the size of the arrays by a factor of 4. I could never
figure out what alignment meant, until I looked at old TIA code in
the repo. It seems that originally, there was an optimization
in the code to fill the array on 32-bit boundaries, instead of the
current 8-bit boundary. As a result, the masks had to be defined
as 32-bits, or 4 groups of 8-bits. Ah, that's where the 'alignment'
comes from.
Related to this, the colors and pointers in the TIA class are now
8-bit as well. Essentially, the TIA class has been doing extra
work to align everything to 32-bit and never actually using the
results. And it's been this way for 4+ years.
Older state files will no longer work, so the version # has been
bumped.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2765 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
in Linux/UNIX. This bug has been present since 3.2; too bad I didn't
find it 24 hours ago, as it could have been included in 3.9.
Bumped version #, and starting all over again ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2762 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
since it was getting too unwieldy for 'Config Paths', and didn't properly
belong there anyway.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2751 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
systems, but seems to improve issues on slower computers.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2745 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
listconfig command are now synchronized, and produce the same output.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2736 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
for single-bank ROMs, same as disassembly (since the underlying framework
has been modified). Second, it now actually works :) I can't see how it
worked before, and since I didn't get any complaints/reports, I really have
to question how much use this code actually gets.
Still TODO is fix errors in CODE vs. PCODE (preliminary code) (in
the Distella code, we should clearly mark the difference).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2735 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
file isn't found; it should go to the parent of the requested file instead.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2731 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
stuff into a new FileListWidget class (which will eventually be extended
to LauncherDialog as well).
The BrowserDialog now accepts different modes (file load and save, and
directories), and will be used in all places in the code where the
user currently has to type in filenames, etc.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2719 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
how one thing leads to another. This started when I noticed that exiting
the debugger with a context menu still onscreen locked that widget, and
it couldn't be selected again ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2708 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
virtual keyboard added to the UI at some point).
Cleaned up the CheckBoxWidget API, and introduced new checkbox
'contents' that will hopefully more clearly indicate what is going
on (fully drawn square means selected, square with empty circle means
selected by not editable, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2706 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
"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
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
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
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
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
- 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
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
DiStella works, so you don't have to include a vcs.h file.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2659 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
matter (since they're updated anyway), but it's more correct to always
set defaults.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2639 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
'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
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
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
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
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
Eventually, this will have to be done for all GUI elements.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2601 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(more work required for Windows), and updated zlib to latest
version.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2528 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
wrap when opening in the default text editor in OSX. Yes, I *am*
that picky (OCD would probably be a better description).
Bumped version #.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2519 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
been removed. Sorry to anyone still using these systems, but this
decision is final. It's time to move on, folks.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2511 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
option was set, which normally isn't when disassembling standalone
ROMs. As such, the disassembly didn't match standard Distella output.
The 'fflag' and 'rflag' options from Distella have therefore been
integrated, but they're not configurable at this point (hardcoded
to true and false, respectively).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2502 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
for phosphor effects. It's just not ready to go yet, more research is
needed, and I just don't have the time to fix it. Besides, it's been
two months since the last release, and I need a vacation.
Because of this, the release date is changed to May 25.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2494 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
instead of the entire area. This fixes the speed regression from 3.6,
since the main TIA texture is now larger than before. Previously it
was 160 pixels wide out of 256 total (rounded to power of two), now
it's 560 wide out of 1024 total. In 3.6 it was updating a buffer 256
pixels wide, in the latest beta releases it was sending 4 times as
much data (256 -> 1024). Now it sends only 160/560. Similar
improvements happened with the height as well (210 lines vs 256).
On my test systems at least, this is an extremely large win,
resulting in similar speeds as 3.6 even though we've moved to a 32-bit
framebuffer.
Bumped version # for next beta release.
Pushed release date to June 1, to make absolutely sure I have
everything fixed and ready to go.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2493 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
- 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
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
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
'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
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
26-27% to 11-12% on my test system. This is from a baseline of 8-9%
for normal rendering, so the TV effects are now quite fast (only an
extra 2-4% CPU usage).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2459 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
the patches I received in the past, but also includes stuff from newer
versions. It compiles correctly; now I just have to activate it and
pass it a framebuffer and see what happens ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2454 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
implementation ready by the end of the coming week. First, I have to
convert a patch against Stella 2.8.4 and an old Blargg version to the
current codebase (and a newer Blargg version).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2451 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
available, which helps with constant resizes of arrays with a large number
of push_backs. For now, only the ROM launcher and debugger disassembly
really needs it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2442 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
- 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
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
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
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
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
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
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
ahead of the release, I bet there's still a file I forgot to update ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2420 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
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
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
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
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
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
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
events generated by one device would never receive the 'turn off'
event when it was swapped out.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2407 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
for analog pins 4 and 9 was swapped.
Renamed various 'Fire' button events to prevent the above problem
from happening again.
In BoosterGrip games, the right mouse button now sends the 'booster'
event, allowing one to play Omega Race fully with the mouse.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2405 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
cause issues. Stella will always use VBO when available, and
disable it otherwise. For those (few/none?) people that want to
disable it, they can do it from the commandline. This option will
disappear completely in Stella 4.0 anyway ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2403 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
'saport'. This takes the values 'lr' or 'rl', corresponding to left/right
and right/left.
Added ability to dynamically swap the Stelladaptor/2600-daptor ports
with the 'Control-1' key.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
YIQ-format palette.
Removed compile-time option for DISPLAY_TV. NTSC filtering will always
be compiled into the app, but will only actually be used in OpenGL mode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2396 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
latest Atari800 drop, and is the most recent version I could find. As
with the last commit, it still doesn't actually do anything (but it does
compile).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2395 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
only (IOW, actually usable on Intel-only systems). Going forward,
this will be the default install. The old one will be for 10.4-10.5
PPC/Intel 32-bit, which will eventually be phased out.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2393 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba