Commit Graph

3539 Commits

Author SHA1 Message Date
Stephen Anthony 37774e08b8 Re-sync load() and save() methods in TIA class. 2017-03-03 22:04:30 -03:30
Stephen Anthony b5b058c615 Made VblankManager::ystart() always return a valid ystart, either
autocalculated or fixed.  This fixes selecting a scanline with the
mouse in TIA output widget in the debugger.

Made various methods inline for issue #7.
2017-03-03 21:57:36 -03:30
Stephen Anthony ff3f4f1a39 Updated changelog. 2017-03-01 10:27:38 -03:30
Stephen Anthony 517ac713ad Fixed approx. 100 ROMs that no longer need explicit ystart data
in the ROM properties file (due to fix to ystart autodetection).
2017-02-28 19:55:32 -03:30
Stephen Anthony 2a2797cbaf Fixed 'mystery constant' in M6532 in two other places. 2017-02-26 20:29:18 -03:30
Christian Speckner 10245ea102 Tentatively remove the legacy kludge in RIOT timer handling. 2017-02-27 00:25:06 +01:00
Christian Speckner 8f93704559 Frame manager fixes
* Don't wait until next line before starting frame after vblank is
      deactivated -> fixes white line on top of time pilot
    * Make ystart match stella 4 conventions
2017-02-27 00:15:03 +01:00
Stephen Anthony bf014c8e70 Updated changelog, since it's getting to the point where I'm forgetting
what has been changed.  Left a TODO for the TIA stuff, since that will
be an entire changelog in itself :)
2017-02-24 20:39:34 -03:30
Stephen Anthony 5114a8e88e CX22/CX80 trakball controller has half the resolution of an
Atari/Amiga mouse, so do an extra divide by 2 for the counters.
2017-02-24 18:38:26 -03:30
Christian Speckner 38b452e1a0 Make sure that the resistance read from paddle controllers is always in the physical range. 2017-02-24 08:48:52 +01:00
Christian Speckner 41ec98c6c1 Fix small RSYNC regression. 2017-02-22 01:27:16 +01:00
Christian Speckner b173da05a0 Init S to 0xFD on reset. 2017-02-21 22:21:53 +01:00
Stephen Anthony 6846aadadf Fixed 'Maze Craze' NTSC ROMs to not use format autodetection. 2017-02-20 21:18:28 -03:30
Stephen Anthony 0d86649b47 Oops, used incorrect names in inptx serializable name() methods. 2017-02-20 21:10:24 -03:30
Stephen Anthony 8263eb1e7c Implemented Serializable for TIA inptx registers (LatchedInput
and PaddleReader).  For now, PaddleReader is stubbed out, since
it needs to save double values and Serializer can't do that yet.

Fixed bug in Ball, Background and Playfield serialization; they
were correctly saving data, but returning false (indicating failure).
2017-02-20 21:05:54 -03:30
Stephen Anthony 30e1996d5b Fixed reading of VBLANK register in debugger. 2017-02-20 20:42:33 -03:30
Stephen Anthony c99cb33cda The TIA image in the debugger is now correctly rendered in greyscale
below the current electron beam position.

Fix long-standing bug whereby entering the debugger for the first time
and tracing/scanline advancing, the TIA image was blanked, and didn't
work correctly until you exited and re-entered the debugger.

Minor refactoring optimizations, and renaming of methods.
2017-02-20 19:51:59 -03:30
Christian Speckner 39f756f821 Fix paddle input if no paddles are not connected.
Don't charge cap if resistance is maxed.
2017-02-20 00:49:54 +01:00
Christian Speckner 75bd732525 Fix artifacts due to varying frame height and doublebuffering.
Duplicate myLastFrameHeight and swap the values
2017-02-19 22:28:47 +01:00
Christian Speckner 146d0afe4f Set undefined bits on TIA read from last data bus value. 2017-02-19 15:39:54 +01:00
Christian Speckner 0efbbdec45 Debugger fixes:
* Fix scanline stepping during blank
    * Fix start of visible range
2017-02-16 22:58:24 +01:00
Stephen Anthony ad81f2b5d7 Updated OSX project file for trakball class changes. 2017-02-11 23:28:05 -03:30
Stephen Anthony af5374a586 Updated VS project file for new trakball classes. 2017-02-11 22:53:39 -03:30
Stephen Anthony d9304fa06b Forgot to re-initialize on load() in Playfield. 2017-02-11 22:37:11 -03:30
Stephen Anthony c73c606638 Implemented Serializable for Background, Ball and Playfield classes,
since it looks like they won't be heavily modified any further.
2017-02-11 22:30:58 -03:30
Stephen Anthony e133a4a521 Updated documentation for recent trakball naming changes. 2017-02-11 22:04:40 -03:30
Stephen Anthony 52d3bd9df3 Separated the various trakball-compatible controllers into their
own class, preparing for further work on issue #70.

The 3 classes are now named more appropriately, as mentioned in
issue #70.
2017-02-11 21:07:42 -03:30
Stephen Anthony c80f72b367 Allow configure script to run with clang-5, and fixed a minor
warning when compiling with clang++-5.
2017-02-10 21:32:58 -03:30
Christian Speckner c0a3a5394d Minor RSYNC fixes. 2017-02-09 01:36:47 +01:00
Christian Speckner fd95231722 Refine NUSIZ during draw decode. 2017-02-07 23:55:29 +01:00
Christian Speckner 00bfd088d3 Refactoring, add some buffering to improve performance. 2017-02-06 22:43:35 +01:00
Christian Speckner cef5fb4da0 Avoid side effects if the divider is unchanged by a NUSIZ write. 2017-02-06 21:12:41 +01:00
Christian Speckner 1a7ac60232 Match NUSIZ during player decode or draw to real hardware. 2017-02-06 00:30:39 +01:00
Stephen Anthony 8b4096e1ef Grabmouse is not used when using a virtual controller that doesn't output
analog data (ie, not a mouse).  This fixes the issue of mouse grabbing
when a ROM isn't even using the mouse.
2017-01-28 19:45:30 -03:30
Stephen Anthony d99f83580f Updated Linux/UNIX port to use XDG_CONFIG_HOME for storing settings
file.  For most people, that means the files are now stored in
'~/.config/stella' instead of '~/.stella'.  Manually moving the directory
will be necessary if you wish to keep the old settings.
2017-01-28 19:14:11 -03:30
Stephen Anthony 94e77d3b94 Partially implemented step by scanline in the debugger; I still have
some questions for DirtyHairy before I can finish it.
2017-01-28 18:33:44 -03:30
Christian Speckner f1d503a0ef Cleanup. 2017-01-27 01:12:34 +01:00
Christian Speckner 94292bbbd1 Even more accurate RESMx. 2017-01-26 01:02:33 +01:00
Christian Speckner 990fac5895 RESMx simplification and improvements. 2017-01-25 00:11:33 +01:00
Christian Speckner 72b8f6491e More accurately model RESMx during decode or draw. 2017-01-24 22:28:31 +01:00
Stephen Anthony 5033e8bfe6 Updated OSX project file for VBlankmanager class. 2017-01-22 19:24:27 -03:30
Stephen Anthony 0c50df546b Updated VS project file for VBlankManager class. 2017-01-21 13:42:10 -03:30
Christian Speckner efc881a284 Correct slight blunder ;) 2017-01-21 16:10:57 +01:00
sa666666 60ac1c30ac Merge pull request #88 from SvOlli/debian
small fixes for debian/ tree, so dpkg-buildpackge works again
2017-01-21 11:27:39 -03:30
Sven Oliver Moll 6ecf4bd0e2 small fixes for debian/ tree, so dpkg-buildpackge works again 2017-01-21 02:22:45 +01:00
Christian Speckner ac14e40bff Fix an oversight. 2017-01-21 00:59:29 +01:00
Christian Speckner 6070291769 Slight improvement of the description of NUSIZ during draw. 2017-01-21 00:45:00 +01:00
Christian Speckner d521a230bd Introduce a one clock delay on ENAM. Fixes Midnight Magic. 2017-01-20 01:02:52 +01:00
Christian Speckner 6bb64d55e2 Fix naming. 2017-01-19 00:25:44 +01:00
Christian Speckner 517b0d167a Refactoring: move ystart detection logic into separate class. 2017-01-18 01:17:19 +01:00