Commit Graph

881 Commits

Author SHA1 Message Date
stephena 127adbb5c6 Pass events generated by Stelladaptors directly to the emulation core,
instead of being possibly 'massaged' by EventHandler::handleEvent().
This should result in slightly faster operation, and also allow
more accurate emulation of the Stelladaptor joysticks (ie, pressing down
hard on a joystick and activating all four directions will do exactly
what a real 2600 would do).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@892 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-21 00:20:22 +00:00
knakos 4f9d97d330 name fixup for resources
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@891 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-20 21:57:23 +00:00
knakos daf3a02480 experimenting with font overrides.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@890 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-20 21:55:27 +00:00
knakos edb66d80fa keep up with changes in the core.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@889 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-20 21:54:01 +00:00
knakos 64f760d8b1 added vertical downsampling filter for landscape modes in smartphones.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@888 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-20 21:49:58 +00:00
knakos 58ce29e07c not a nice name for a file :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@887 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-20 21:47:26 +00:00
stephena bbc84f687e More cleanups for the EventHandler. Changed some more IF statements to
switch/case, hopefully making things faster.

Fixed bug while in pause mode and commands still being processed when
they shouldn't be.

Fixed annoying long-standing bug with the emulation core receiving
both joystick left/right and/or up/down events at the same time.
This results in lockups in Astroblast, and 'losing' the gun in Berserk.
A real 2600 doesn't allow this, so we shouldn't emulate it either.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@886 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-20 01:04:04 +00:00
stephena 764aee30ba Some OS/2 related changes I missed in the previous commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@885 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-19 22:31:51 +00:00
stephena ac1dbc31cc Reworked the mapping of joysticks yet again. After some thought, it
made no sense to restrict Stella to only work with two joysticks, since
there's no reason one couldn't use four devices, with each one emulating
a paddle (once I get paddle remapping done).  So I've removed that
restriction, and also removed the 'leftport' and 'rightport' arguments.

The one case where remapping a joystick *does* make sense is for
multiple Stelladaptors.  In that case, there might only be one
Stelladaptor installed, but you'd like it to emulate the right virtual
port.  Previously this wasn't possible, but now it is with the addition
of the 'sa1' and 'sa2' commandline arguments.  These arguments accept
either 'left' or 'right', specifying which virtual port to emulate.

Updated the InputDialog virtual device tab for remapping Stelladaptors.

Shortened some keynames in EventHandler, so that the actual character is
used (for example, ? instead of QUESTION).

Some fixes for the OS/2 port.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@884 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-19 22:26:14 +00:00
optixx 976b1551e7 enabled joymouse by default
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@883 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-15 22:24:32 +00:00
optixx adc48f72b8 added new -lpsputility to reflect changes in pspsdk build system
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@882 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-15 22:23:36 +00:00
stephena 4b3ed7a63d More work on virtual ports in the InputDialog. You can now use the GUI
to select which joysticks are mapped to which virtual port.

Some work on the mouse/paddle emulation.  It now uses a slider instead
of a dropdown widget.  Added slider for paddle sensitivity, but it's
not tied to the core yet, and doesn't do anything.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@881 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-14 17:01:19 +00:00
stephena 532a9a6184 Updates for VC.net project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@880 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-13 22:42:29 +00:00
stephena cc668b22bc Reworked EventMappingDialog, turning it into one tab in the new
InputDialog.  This new class will include all things related to Stella
input.  For now, the old eventmapper is on one tab, and the 'mouse is
paddle' setting is on the other.  The latter tab will be expanded to
include SDL to Stella joystick enumeration (currently done by the
leftport and rightport commandline arguments), as well as the ability
to set mouse sensitivity for paddle emulation.

Note, there's still a bug in the interaction between the eventmapper
tab and focusing on the event list.  Focusing only takes effect after
switching to a new tab, then back to the remapper.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@879 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-13 22:25:47 +00:00
stephena 2d2bd5f62d Added ability for cartridge frying to be remapped.
Fixed bug where Escape key (by default assigned to enter Launcher)
couldn't be remapped to anything else.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@878 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-13 16:17:10 +00:00
stephena fb79186648 Fixes for Win32 VC.net project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@877 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-13 03:55:24 +00:00
stephena ec87b299d5 Fixed errors in compilation when excluding cheatcode support. Also,
the executable will now be slightly smaller in this case.

Moved common 'type()' method from children of the Controller
base class back to the parent.  There was no need to have separate
methods for each different type.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@876 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-12 22:59:20 +00:00
stephena 8c2eaadaa1 Reworked joystick handling wrt Stelladaptor support; it should work a
little faster than before, and it makes the code much easier to understand.

Made Stelladaptor devices only send events based on which type of
controller is connected to the emulated port (Joystick, Paddles, Driving).
Since we can't detect which type of controller is attached to a
Stelladaptor, previously the code just sent events for all three types.
This causes problems with some games that don't know how to deal with
events that cannot possibly happen at the same time on a real machine
(ie, paddle 0 *and* joystick 0 being operated).

Added code to 'swallow' garbage events generated when Stella is first
launched, usually caused by jitter in the joystick or mouse.  This fixes
some weird problems with internal Stella events being set before we
even enter the main gaming loop.

Still TODO is add support for joystick hats and trackballs, once I can
locate a device which has these items.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@875 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-12 22:04:57 +00:00
stephena 429cc63d1d Added new Cheat infrastructure. Ram-based cheats are now supported.
Currently they must be 4 hex characters long, and do not support
compare before writing (direct-write, not compare-write).  These
codes are also executed per-frame.

Changed 'cheetah' commandline/debugger argument to 'cheat', and any type
of cheat may be specified here.  Currently supported are 4 char RAM,
6 char Cheetah, and 8 char Stella extended Cheetah.

Still TODO is add load/save of cheats, add one-shot and compare-write
cheats, and finally add a dialog to do all this from within Stella.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@874 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-11 21:44:19 +00:00
stephena d76d9247c2 Fixed bug where pressing the keys to enter menu, commandmenu or debugger
were accessible from the launcher, and were causing a segfault when pressed.

Fixed bug where 'mouse is paddle xxx' number wasn't being set when
starting Stella for the first time.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@873 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-11-01 16:32:27 +00:00
stephena 0d41f9dc5c First pass at EventHandler refactoring, cleaning up some redundant code.
Added 'leftport' and 'rightport' commandline arguments, which specify
which SDL joystick devices to use for each port.  These arguments are
basically indices into the internal SDL joystick array.  Joystick
handling has changed somewhat, in that there are now only ever two
joysticks used by Stella (J0 - left and J1 - right).  The port
arguments serve to specify which stick is J0, and which is J1.
This means the tie between SDL enumeration of joysticks is broken,
and (for example) a Stelladaptor which has SDL index of 1 (second
stick found) can emulate the left 2600 port, and an SDL joystick 0 can
emulate the right 2600 port.  This fixes a long-standing bug whereby the
only way to break SDL joystick enumeration was to remap all associated
events in the Event Mapper.

Still TODO is add joystick hat/ball detection to the event handler, and
allow those events to be remapped (perhaps to emulate the paddles).
Also TODO is add a GUI for selecting the joystick ports from a list of
SDL joysticks.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@872 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-30 20:29:56 +00:00
stephena 27b2d92b8a Oops, fixed obvious typo.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@871 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-29 18:26:46 +00:00
stephena 8fc9ee8522 Updated RPM spec file for locating X11 libraries.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@870 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-29 18:25:15 +00:00
stephena c60cf5495d Some fixes for compilation on 64-bit systems. Fixed mixing of long/int
types in state file handling.  Added '--x-libraries' option to configure,
to specify different locations for X11 (only affects UNIX port).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@869 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-29 18:11:29 +00:00
stephena 9db2d71cda Fixed '-break' commandline argument causing segfaults.
Fixed bug with Cheetah codes not working from the commandline or prompt.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@868 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-27 19:15:14 +00:00
stephena 6785b1fdd3 Oops, reverted compiler optimization flags, since don't exist on all
compilers and don't apply to non-x86 machines.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@866 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-25 21:21:15 +00:00
stephena d1ce577cda Updated Makefile with default compile flags if none are provided.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@865 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-25 20:30:59 +00:00
stephena 823f6fe696 Added --enable-xxx arguments to the configure script to match the current
--disable-xxx ones.

Some misc. updates and documentation fixes for the 2.0.1 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@864 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-24 18:18:30 +00:00
knakos a22beb0451 Full support for Pocket PCs. Smartphone port is also fully functional.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@863 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-24 18:10:17 +00:00
markgrebe d7272829ea Update Xcode project file for 2.0.1 release
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@862 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-24 15:41:58 +00:00
stephena 83d9411a0b Added 'the Stella team' to the list of Authors. With all due respect to
Brad, I think the extra work put in by the other Stella members warrants
a mention in the Author list.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@861 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-24 14:22:15 +00:00
urchlay 92646c9cd8 Updated SlackBuild version number and made it build with GL by default.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@860 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-23 23:47:21 +00:00
urchlay 1cff8a79af Added stella.SlackBuild script to build binary Slackware packages.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@859 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-23 23:15:33 +00:00
stephena 8247e85e30 Updated RPM spec file with latest changes from PLF. I'm determined to
keep it all in one file, and not have to maintain separate SPEC files
for each RPM distro.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@858 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-23 22:56:13 +00:00
stephena af302fa28e Added InnoSetup script which can create a self-extracting archive and
installer for the Win32 port.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@857 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-23 18:42:08 +00:00
urchlay 8dcf950087 Symbol file loading can now handle UNIX (\n), DOS/Windows (\r\n), or
Mac Classic (\r) line terminators, on all platforms.

Loading a symbol file now makes the ROM widget re-disassemble, so you can
actually see the symbols...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@856 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-23 15:54:55 +00:00
stephena 8ef299f67e Fixed problems with 'keymap' and 'joymap' lists when new events are added
to Stella.  The total number of possible events is now prepended to these
lists, and this number is checked when reloading Stella.  So if the number
of events in Stella changes, the defaults are used for key and joy mappings.
Note that under certain circumstances this algorithm can still be fooled.
Specifically, if we add a new event and remove another, the total count
will remain the same, but the list should be invalidated.  With the
current code, this invalidation won't happen.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@855 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-23 14:51:51 +00:00
stephena 2b8cf12774 Added icon file for the Win32 build. This means that an icon will be
compiled into Stella, and Stella will be shown with an icon in Windows
Explorer, etc.

Modified Makefile to create a Win32 binary package from the commandline.
You can do 'make win32dist DISTNAME=stella-release', and a package
named 'stella-release' will be created.  Still todo is get zip support
working, so it can be zipped directly from the Makefile.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@854 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-22 20:33:57 +00:00
stephena b3610f44a5 Fixed 'debugheight' argument and associated 'height' debugger command
to correctly set the height of the Prompt/tab area in the debugger.
The new minimum height is 27 lines in the prompt, which corresponds to an
~ 700 pixel high window.  This should fix the problems OSX users were
having with the dock taking up too much space onscreen in 1024x768 mode.

Changing the height from within Stella still requires a reload of the ROM,
and now a message is printed stating this fact.  The GUI code is in need
of a minor overhaul so that resizing can be done automatically, without
requiring a ROM reload and also taking font size into account.  This will
be completed for a future release.

Finally, the RomWidget is now also resized when the debugger height
changes, taking the extra vertical space into account.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@853 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-22 15:43:17 +00:00
stephena c8599f2bc0 First pass at making default debugger area smaller. It still doesn't
work correctly though.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@852 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-20 19:01:58 +00:00
stephena 2b88f87049 Fixed bug whereby ROMs that didn't have a properties entry were named
'Untitled' in the Stella main window, as well as when taking snapshots.
The actual ROM filename is now used if a properties entry isn't present.

Added profile entries for Swoops! (NTSC and PAL), thanks to vdub_bobby.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@851 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-19 00:59:51 +00:00
stephena 064eda4e58 Some obvious fixes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@850 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-18 19:04:56 +00:00
stephena 42b4366ee3 Some fixes for bugs mentioned on AtariAge. I only wish these had been
reported before I did the release:

Added 'dirtyrects' commandline argument and also to the 'Video Settings'
dialog box.  This determines whether to use SDL_UpdateRect() or
SDL_UpdateRects() in software rendering mode.  Apparently, this has
to be configurable, since some Windows systems work well with one
or the other.

Fixed bug where pressing F12 (snapshot) without have a snapshot
directory defined caused a segfault.

Made ROM launcher ignore case when sorting ROMs.  So lowercase names
are now embedded in the correct place, instead of being placed after
all the uppercase names.

Fixed ZIP ROM support when there are multiple items in a ZIP archive.
Stella now searches the ZIP file for the first file ending in either
'.bin' or '.a26' (not case sensitive).

Reverted window resize key combos for OSX back to 'Cmd =' and 'Cmd -'
to match the 1.4.2 release.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@849 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-18 18:49:46 +00:00
stephena d428b117e4 Final updates for the 2.0 release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@847 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-16 21:16:24 +00:00
urchlay 2d31579de7 Added cheat code entry to list of keystrokes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@846 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-16 20:27:24 +00:00
urchlay ebce420d91 Added cheat code documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@845 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-16 20:24:43 +00:00
urchlay 42c6d8e9b3 Added mention of Armin's name to stella.html, for his help with 3E
bankswitch support.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@844 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-16 20:00:22 +00:00
urchlay f09c1b39e7 Debugger documentation updated for release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@843 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-16 19:53:35 +00:00
knakos 00b702cdc0 Massive update of the wince port. Works almost correctly on smartphones, pocket pcs need some testing.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@842 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-16 18:36:13 +00:00
stephena 330c27224c Fixed huge bug where 'Display' properties (width, height, xstart, ystart)
were being incorrectly saved as 'Cartridge' properties.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@841 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2005-10-15 22:30:29 +00:00