controller uses the directional pad and button 'B' as a normal
joystick, but can also use button 'C' as a second 2600 button
(with the logic reversed).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1950 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
than the enclosing screen. Selecting images with the mouse
is working, but the up and down 'buttons' are currently just
drawn text/placeholders.
Still TODO is get the keyboard actions (cursor up/down, etc)
working.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1949 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is now enforced in more areas of the code, specifically, in BrowserDialog,
VideoDialog and InputDialog.
Rearranged some options in InputDialog (for spacing), and removed the
'mouse is paddle ...' option. It was never being saved to the config
file anyway, and is still selectable with Ctrl-0,1,2,3 keys.
Added 'maxres' commandline argument, which overrides the built-in
determination of desktop size normally done by SDL. This is not
documented, and is not meant to be used by anyone other than those
testing Stella on 'small' systems. It's basically a way to set the
desktop size without recompiling Stella each time.
Still TODO is look at all other dialogs, making sure they fit in the
minimum size. PopupDialog in particular needs to be fixed.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1942 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
mode in software mode. This error is pretty serious; I'm surprised nobody
reported it before. I'm probably going to do a 3.0.1 release just to
address this.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1938 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
320x240 (the minimum that Stella supports). On 'small' systems using
1x video mode, this means most NTSC games will open in a window of size
of 320x240, even though the native size is normally 320x210 (or so).
In these cases, the image will be centered vertically.
Added FrameBuffer::invalidate(), used to signal that the complete
framebuffer can be trashed and entirely written over. This is only
active in software mode for now, where it fixes 'overdraw' problems
with 320x240 dialogs drawn underneath 320x210 TIA images.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1937 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
size isn't at least 640 pixels wide. This is the start of the UI
cleanup I was supposed to do after release 2.7. I need to check all
UI dialogs to make sure they fit in 320x210 (the minimum resolution
that Stella supports).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1936 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
the RomListWidget instead of being printed to the terminal. There are still
graphical glitches with this, but for a first pass, it's nice to see actual
Distella output in Stella.
Partially working 'disasm' command from the PromptWidget. Currently, it
only disassembles cart address space (aka, 0x1000 or above).
Removed the old disassembly code from CartDebug. Still TODO is fix the
label stuff, both in getting DiStella to use it, and adding/removing
labels. This is greatly reduced now that we only have to worry about
user labels.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1934 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
methods from Debugger directly. As well, the start address is now passed
into DiStella::disassemble() directly; decision to start from the reset
vector is done outside DiStella. This is in preparation for starting
the disassembly from any valid address.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1933 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
isn't actually sent to the UI yet (it's still printed to the console), but
at least the two parts of the code are now talking to each other. Note
that the disassembly window in the debugger will be empty until I get this
changeover complete. And with that, I'm not feeling well, so I'm taking
the rest of the night off.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1932 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
from within Stella (vs. reading ROM data from a file).
Compilation is currently broken.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1931 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
parsed into a DisassemblyList structure. For now, this is just being
printed out again. The next change will be to pass this to RomWidget
and have it displayed in the UI.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1929 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
output to a specified function instead of the console. The formatting is
also in a very fixed format. That makes the next part easier; parsing
the output into a DisassemblyList structure that Stella can deal with
and show in the RomWidget.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1928 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
don't normally have it (notably, Windows). I've only tested in Linux
so far.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1926 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
classes. First off, the distella code has been integrated into a
DiStella class. This code isn't yet tied to the debugger, but it does
at least compile and generate valid output.
The RamDebug class has been replaced by a CartDebug class, which
takes responsibility for the previous RamDebug stuff as well as
things related to Cart address space (read from write ports,
disassembly, etc).
Fixed E7 bankswitching when reading from the write port in the upper
256byte area.
Fixed 'read from write port functionality' in general for all carts
that supported it previously. Basically, if _rwport is enabled, the
address is checked to be an actual read (vs. one that's part of a
normal write cycle), *and* it's actually an illegal access (each
cart/bankswitch type now provides a hint to indicate this condition).
Still TODO is clean up the rework, properly integrate DiStella, and
fix labels and defines (which seem to be completely broken).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1922 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The license file is actually named 'License.txt', not 'license'
The 'Stella Team' has a capital T, not lowercase.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1921 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
from write port was correctly detected for the 1K area, it was actually
zeroing ROM instead of RAM!
Added support for 'read from write port' logic for the upper 256 byte
page in E7 bankswitching.
Bumped version # for release to testers on AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1919 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
in accordance with the naming scheme defined by Apple. This means
upgrading to the next version of Stella will lose all settings for
OSX users (unless they manually rename their current plist file).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1918 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
simply as 'Stella', just as it is on other platforms (instead
of StellaOSX). This indicates that the OSX port is now a
first-class citizen, with the same importance as Linux and Windows.
Also cleaned up various text files for spelling mistakes and
formatting issues in OSX.
Added credits for Richard Kennehan, who donated a 2600 console
and various controllers to help with Stella development.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1916 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is related to the currently running ROM. If enabled (the default and current
behaviour), state files that do not match the currently loaded ROM will not
be loaded. Otherwise, the state file will attempt to load. Note that in the
latter case, this will probably cause 'bad things' to happen. It's mostly
for developers who are constantly recompiling a ROM, and wish to use a
previously created state file even when the ROM MD5 changes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1915 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
will be integrated intp CpuDebug, which will also be merged with distella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1914 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
OSX plist file should use 10.4 as the minimum for the i386 version, not 10.5.
Otherwise, all Tiger users would be excluded from the next release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1911 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
them in under src/emucore/m6502/src, and bspf under that again at
bspf/src. It just made searching for classes that much harder.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1907 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
get nearly enough attention. This is about to change, since I'm moving
to using it full time at work (still Linux at home though!).
The 'Control' key modifier for OSX is now the actual Control key, just like
on every other platform (instead of Command). The 'Alt' key modifier for
OSX is now the Command key (instead of Shift-Cmd). Maybe in the past it
made sense for this, when keyboards weren't the same between platforms, but
that's no longer the case. And since Stella requires at least OSX 10.4,
everyone using it from this point on probably has newer hardware.
Still TODO is consider a few special keys for OSX (minimize, hide, etc).
Updated documentation for new key combos, as well as the recent build
and debugger improvements.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1906 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
or newer. Obviously, this one only runs on x86 machines. It's compiled
with the very latest compiler (Clang), which is much faster at compiling
as well as runtime. And it also includes a 64-bit version, which is
only available on Snow Leopard. The old build environment support 32-bit
in 10.4, 10.5 and 10.6 for PPC and Intel.
Fixed string overflow in reading settings from plist file in OSX. I need
to figure out how to use C++ code from within Objective-C, since the
cause of the bug was C string code (which is notorious for buffer
overruns).
Bumped version # to test2, for some testers on AtariAge.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1904 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
properly distinguishes between intermediate reads which are part of writes,
and ordinary reads. In the former case, only a read which has a different
address than a write is flagged as an error; intermediate reads acting on
the same address as the corresponding write are considered normal, and won't
trigger a break.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1901 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
controlled by 'tiafloat', which has now been removed. Now, all
undriven pins take on the last value on the databus. This fixes a bug
in those reads where bit 6 or bits 6 & 7 are also undriven (previously,
these bits would always be zero, and only bits 0-5 were from lastdatabus.
Added new commandline argument 'tiadriven', which defaults to false.
In this default case, relevant bits take on values from the databus.
If true, relevant bits still take on databus values, but some are
randomly driven high as well. This helps to expose bugs when
developers assume the values for undriven/floating bits.
Added 'uimessages' commandline argument and associated UI item. When
disabled, messages which are normally shown in-game are disabled.
Certain messages which indicate a serious error are still shown, however.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1900 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Fixed BSPF_ARCH macro to correctly detect i386 and x86_64 in Windows.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1898 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
version and SDL library.
Bumped version # for test builds for AtariAge members.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1897 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
breaks to test whether an illegal read to the write port of cartridge
RAM has occurred. It can be used as follows:
breakif {_rwport == 100} // break if read was done at wport address 100
breakif {_rwport} // break if read was done at *any* wport address
This currently works for all extended RAM carts that worked before.
Specifically, 4A50, DPC, AR and possibly several others aren't supported
yet. More testing is required.
Renamed CartFASC and CartMB to CartFA and CartF0, respectively. This
naming now matches that used in other emulators.
CartMC now properly handles read from write port, by using random
values instead of just zero. However, no test ROMs are available for
this scheme, so there may still be issues.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1896 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The values written and returned in such a case are now more accurate,
and are a combination of the previous databus value and randomization
(the latter emulating the randomness of Z-state bits). This provides
more accurate emulation than before, where zeros were used instead.
In particular, types 3E and E7 are now working correctly for the first
time. Thanks to Batari for suggestions in this area.
Moved random number generation from Cartridge to System class.
The Subversion build number is now shown in the AboutDialog box.
Still TODO is add architecture information (i386, x86_64, etc).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1895 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba