will be able to select a ROM directory to scan, and have all files
identified as a ROM (by extension) renamed according to their properties
name. This will create ROMs with 'pretty names', and takes the place
of the previously removed 'non-browse' mode.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1429 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
enable/disable it. Currently, you have to exit and restart the program
for this to take effect.
Fixed issues with resizing and toggling video renderers and the
image not being updated correctly. Also, saving a snapshot within
emulation mode and exiting to launcher mode now shows the new
snapshot.
Currently, the rom info viewer only works with PNG images 320x250 or
less (ie, 1x zoom mode in Stella). If the image is bigger, a message
is displayed stating that fact. At some point I have to add another
snapshot mode where it always saves in 1x mode (or maybe not; it
depends on how many people will want to save snapshots for viewing in
the rom info viewer).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1428 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
ROM has been selected in the ROM launcher (or if we're in emulation mode).
BTW, I forgot to mention in the previous commit that Stella now only
recognizes ROMs if they're named with the following extensions: .bin,
.a26, .rom, .zip, .gz (not case sensitive). Right now, attempting to
select something else prints an error message. Eventually, a MessageBox
will be shown indicating that the filename isn't valid.
For now, this restriction is only for files started from the built-in
launcher. I haven't decided if it should apply to the commandline as well.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1427 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
actually removed it from 2.4.1, and re-added it in 2.4.2. But I think
I've figured out a way to get the best of both worlds, and only have
one browsing mode. This will become clearer once I finish the ROM
auditing feature.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1426 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
config folder to "My Documents\Stella". Note that 'My Documents' will
mean different locations in different versions of Windows. But the
user shouldn't have to worry about that, since the 'Stella' folder will
be in whatever 'My Documents' is on your system :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1425 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
config files and the state folder. This is more in line with the Linux and
OSX ports, which have a pre-defined basedir folder ($HOME/.stella). This
also makes Stella behave better with limited accounts in Windows, since
writes are no longer done to the app folder.
Since the Win32 port didn't work this way before, many people may
require the old behaviour. In this case, one may create a file named
'disable_profiles.txt' in the app folder to restore the old behaviour.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1424 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
things a little (I hope I didn't break the recent GP2X changes).
Removed more PSP stuff, since that port is no longer maintained in this
codebase, but by someone else externally.
Building the 'win32dist' target is now tailored to a Linux environment,
and now properly converts text files and zips up the result
automatically. So automated building just became that much closer ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1422 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
accessed using a new 'host' type in configure (mingw32-cross). For
my system, the command would be as follows:
configure --host=mingw32-cross
--with-sdl-prefix=/home/stephena/.mingw/usr/i386-mingw32msvc
This allows you to compile the Windows version in Linux, which is my
main development platform. It will also allow me to get the automated
build page working again :)
Removed all NASM checking from the config scripts, since we're never
going to use it (it goes against the philosophy of Stella compiling
everywhere).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1421 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This ties into the TIA floating pin on read logic that Eckhard recently added.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1418 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
To test this feature set 'myFloatTIAOutputPins' to 'false' in TIA::reset() and play the old version of Reindeer Rescue where you can see how Santa gets stuck in the background.
TODO: add a command line switch to control this feature. Steve can you help?
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1417 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
plugged in. It seems SDL sends button events for buttons 2, 3, 4, 5
in this case, which really doesn't make sense; a Stelladaptor can only
have two buttons.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1415 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
(sets the bankswitch type). I'm leaving the '-type' there as well,
just in case there are people (or frontends) that depend on it.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1414 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
movement, named 'pspeed'. This replaces the 4 'pXspeed' commandline
arguments. Also removed 'pthresh', since it no longer serves any purpose.
Updated UI to change this setting dynamically from within Stella.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1413 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
Moved a lot of the code into the respective Controller classes, in the
process cleaning up the EventHandler (which was starting to get a little
unwieldy).
I've borrowed some code and ideas from z26, but also improved on it as
well:
1) Stelladaptor devices now send their events directly to a
controller class, allowing for any Stelladaptor device to emulate
a controller (to the limits of the input device, of course).
2) Hopefully fixed Stelladaptor driving controller support. Eckhard,
could you test this, since I don't have any of those myself?
3) Improved interaction with different input devices. For example,
a Stelladaptor, mouse, joystick (digital and/or analog axis), and
the keyboard can now simulate paddle events at the same time. So it
shouldn't matter what input devices you have plugged in; things should
'just work'. In the case of Stelladaptor paddles, you may have to
'zero' them by turning completely left, however.
4) Related to (3), changed mouse events to use relative motion. This
should fix the issues with paddle emulation/movement behaving
differently based on the window size.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1412 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
is add autodetection for this type.
Changed number of carts defined in GameInfoDialog to a constant, so we
only have to update it in one place.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1411 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
fixed a bug in the startup bank. According to the documentation, it
should always start in the last bank.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1410 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
displayed in the debugger GUI. I say 'partially', since it's not really
distinguishing between different types of labels with the same address, so
in some cases what you see in the debugger GUI won't be correct (but at
least you'll see *something*). I need to determine how the DASM sym file
is generated to fix this final issue.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1405 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
The 4A50 scheme now works on all test ROMs I have, whether or not display
autodetection is activated.
I noticed there's some graphical glitches in the various 'Ruby Runner'
demos below the lowest wall of the maze. I'm not sure if this is a
bankswitching issue or TIA emulation problem, but I'm leaning towards the
latter. More testing is required ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1402 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
ROM that follows the specs. Also, it seems the final ROM that wasn't
working with this scheme actually *does* work; it just doesn't work
when display format autodetection is turned on. So that's what I'll
work on next.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1401 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
on all but one of the test ROMs I have :) Thanks must go to Eckhard
Stolberg, who did about 95% of the work on this scheme.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1400 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
when displaying output on a TV. Thanks to D. MacCormack for this code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1398 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
working though. I think there still needs to be TIA/RIOT chained from
the peek/poke methods.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1395 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
broken support on other platforms.
Updated Visual Studio project to VS 2008 (where parallel compilation
actually works, and uses all cores on a multi-core CPU).
Updated OSX project files. I'm using Leopard now, and since the 10.2.8
SDK has been removed, it looks like 10.3 is the minimum supported version
(unless someone can suggest a fix).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1390 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
generic joystick buttons.
Added complete keyboard/joystick support for all 4 paddles. Associated
paddle resistance decrease/increase/fire to joystick events in the
'spirit' of z26 (ie, joy0 left/right/fire is paddle 0, joy1 left/right/fire
is paddle 2, etc). These events can still be remapped independently
of joystick events, of course.
First real attempt at adding 4A50 bankswitch support, which is currently
being modelled on the E0 scheme (they're somewhat similar). The code
still doesn't work, of course.
Fixed bug in FASC scheme whereby reading from a write port didn't generate
an associated write as a side-effect. Thanks to Kroko of AtariAge for
the advice and partial code.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1388 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
starting to go out of sync on my development machines. OK, where to
begin ...
Changed state file format, so older state files will no longer work. The
changes aren't finalized yet, so expect more breakage.
Added getByte() and putByte() methods to serialized data, resulting in
smaller state files (previously, 1-byte values were stored as 4-byte ints).
Totally reworked controller handling code. Controller state is now
explicitly set with an ::update() method, making it easier to serialize.
Some work is still required on the serialization stuff for more advanced
controllers.
Added a 'Serializable' interface to all carts, device, controllers, etc
that can be (de)serialized. This fixes a long-standing design issue
which I personally caused many years ago.
Console switches state (SWCHB register) is now saved to state files.
Added beginnings of movie support. Basically, this saves an initial
state file, and thereafter continuously saves controller and console
switches state. Support is still somewhat rough and there's no UI for
it, but it does successfully save and later load/play state movies.
Removed specific events for driving controllers, and have them use
joystick events instead. This has the nice side effect that
joystick direction remapping 'just works' for driving controllers too.
Fixed issues with paddle emulation seen in 'Night Driver' ROM. Related
to this, removed a hack wrt paddles when grabmouse is enabled. There's
still some work to do when using the mouse to emulate paddles, but the
Stelladaptor and real paddles work fine.
Added beginnings of TrackBall CX-22 controller emulation. It doesn't
actually do anything yet, but the class is there :)
Probably some other stuff that I'm forgetting ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1385 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba