Commit Graph

2401 Commits

Author SHA1 Message Date
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 809da97ad3 Potential performance improvement for Arrays. A reserve() method is now
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
2012-04-15 21:13:01 +00:00
stephena 1bcdbbd3f8 Removed redundant code in Array class.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2441 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-04-15 17:04:53 +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 fc11e6ec30 Updated included PNG library to 1.5.10.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2433 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-29 22:00:58 +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 191e456770 Rearrange TV filters classes in Xcode project.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2427 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-18 20:04:26 +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 68f5c9e57b Updates to the OSX PPC Xcode script.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2424 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 21:48:13 +00:00
stephena 98d1e9133c Final commit for 3.6 release (yeah, right).
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2423 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 21:02:01 +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 cefc0d3e6b Updated documentation for 3.6 release. Although this is a full week
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
2012-03-16 18:44:19 +00:00
stephena 11e529f635 Added CompuMate to the 'Controller Map' in the documentation.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2419 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 18:30:45 +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 89cd0b897d Some CompuMate documentation items I forgot in the last commit.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2416 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-16 00:20:37 +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
stephena d0b8bd57e5 Fixed potential bug in dynamically swapping Stelladaptor devices;
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
2012-03-11 14:25:47 +00:00
stephena 2ff4226e67 Fixed bug in BoosterGrip controller handling; the functionality
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
2012-03-04 19:20:29 +00:00
stephena a799541267 Updated changelog.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2404 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-03 19:18:16 +00:00
stephena 539edc656b Removed GL VBO option from the UI, since playing with it can
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
2012-03-03 18:26:28 +00:00
stephena c76f2313d2 Updated 2600-daptor code to handle buttons from
an actual 7800 Proline or BoosterGrip controller.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2402 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-03 02:37:06 +00:00
stephena 3b4b10df76 Combined 'sa1' and 'sa2' commandline arguments into one command named
'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
2012-03-03 00:56:31 +00:00
stephena 1e396f8408 Added preliminary support for 2600-daptor II, which accepts 7800 Pro-line,
BoosterGrip, and keypad controllers.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2400 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-03-02 23:01:28 +00:00
stephena bcbc23e7cf Updated Intel OSX project file for recent NTSC class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2399 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-27 16:58:17 +00:00
stephena 36da0d02ec Updated VS2010 project file for recent NTSC class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2398 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-26 20:37:39 +00:00
stephena 650efb8ef7 Updated VS 2005 project files for recent NTSC filter class additions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2397 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-26 20:21:30 +00:00
stephena 216f0ab19e The TIA palette is now passed to NTSCFilter, so it can calculate its own
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
2012-02-26 20:11:59 +00:00
stephena 5d4c09da54 Second pass at Blargg NTSC filtering. This code comes directly from the
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
2012-02-26 18:58:41 +00:00
stephena 6836963e8b Updated OSX project file to compile under 10.5, and generate 32-bit
Intel/PPC builds compatible with 10.4.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2394 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-24 15:56:18 +00:00
stephena 91e82b375b Updated OSX '_intel' project file to be used with OSX 10.6 onwards
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
2012-02-24 13:55:26 +00:00
stephena 959b5c6dba First check-in of Blargg NTSC filtering code. It does compile, but
doesn't do much else ATM.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2392 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-23 20:30:58 +00:00
stephena cf10e216f4 And so it begins. Added ability to enable/disable TV filtering to the
Linux configure script.  Of course, there's no actual code yet ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2391 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-21 19:19:23 +00:00
stephena 225e6c0b1c Update include PNG library,
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2390 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-19 13:47:38 +00:00
stephena d9ed4e7d17 Updated error in documentation, as reported by Robert Szeliga.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2389 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-15 22:35:53 +00:00
stephena f79020a94c And the process starts all over again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2388 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-04 22:57:48 +00:00
stephena 4149c545ad And there's always one last thing I forget before a new release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2387 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-04 21:25:12 +00:00