Commit Graph

2092 Commits

Author SHA1 Message Date
Christian Speckner 23c2901d14 Hook up new ystart autodetection. 2017-10-12 00:02:31 +02:00
Stephen Anthony be48e643e6 Second pass at cleanups from increased warning level. 2017-10-11 18:18:07 -02:30
Stephen Anthony 9fd1726824 Merge branch 'master' of github.com:stella-emu/stella 2017-10-11 12:25:00 -02:30
Stephen Anthony 35624553b6 First pass at code cleanup from enabling higher levels of warnings in clang/gcc. 2017-10-11 12:23:54 -02:30
Christian Speckner dc5c68bb80 Factor out ystart detection. 2017-10-11 16:04:47 +02:00
thrust26 39c3ba89bf input history works in both directions and wraps around 2017-10-11 15:13:09 +02:00
thrust26 5883f2dfcc prevent displaying auto completes for no filter argument or only "_" 2017-10-11 11:38:38 +02:00
thrust26 c93d7e265d PromptWidget::getCompletionPrefix refactored 2017-10-10 16:40:54 +02:00
thrust26 20ff2163ca comment to BSPF::matches() added
some compiler warnings fixed
2017-10-10 15:29:14 +02:00
thrust26 d702829ed3 slightly better parser messages for breakifs and failed deletes. 2017-10-10 14:48:36 +02:00
thrust26 3cc42b1dc5 resulting string from incomplete autocomplete fixed 2017-10-10 14:47:29 +02:00
thrust26 3e6fe633f3 more characters to auto complete whitespace list added 2017-10-10 14:15:18 +02:00
thrust26 c2325decb7 advanced auto complete added; first letter has to match, following letters have to appear in correct order. examples:
- 'twf' finds and completes into 'trapwriteif',
- 'g0' finds and completes into 'GRP0'
- 'em' finds 'ENAM0'&'ENAM1' and completes into 'ENAM'
2017-10-10 14:03:52 +02:00
thrust26 6c95d34ae3 minimal fix for previous commit 2017-10-10 12:03:15 +02:00
thrust26 5db2d836f4 prompt is initially filled by the executed script files commands 2017-10-10 12:00:10 +02:00
Christian Speckner 12afce8c0d Documentation, minor simplificationsDocumentation, minor simplifications. 2017-10-10 10:20:53 +02:00
Stephen Anthony 29eb553a0c Fixed trailing space in Debugger class file. 2017-10-09 20:31:29 -02:30
thrust26 7c679fda31 Merge branch 'master' of https://github.com/stella-emu/stella
# Conflicts:
#	src/debugger/Debugger.cxx
2017-10-09 23:56:39 +02:00
thrust26 f59ad788d7 missing address in debugger status line fixed 2017-10-09 23:49:14 +02:00
Stephen Anthony aa755c7270 Fixed minor compile warnings with gcc/clang. 2017-10-09 19:14:49 -02:30
thrust26 3fddc03ff6 trapifs implemented (and fixed mirrors)
wrong port display for swapped ports fixed
error due wrong argument number now with example display
label display in status line added
2017-10-09 23:15:40 +02:00
thrust26 07d2797c62 Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-09 23:09:33 +02:00
Stephen Anthony 50174483e1 Updated OSX project file for LinkedObjectPool class. 2017-10-09 18:36:37 -02:30
Stephen Anthony 63ad275b9d Ported RewindManager to use LinkedObjectPool class. 2017-10-09 18:11:15 -02:30
Christian Speckner 4f31166e11 Cleanup. 2017-10-08 21:46:25 +02:00
Christian Speckner 398fac5c9f Replace frame layout detection with dedicated detector. 2017-10-08 21:32:57 +02:00
thrust26 64e4153bca Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-08 19:04:48 +02:00
Stephen Anthony 741e148da5 Fixed 'save' command in debugger parser:
- all files are now appended with '.script' instead of '.stella'.
- files are saved in default save location, just like disassembly files
(this can be discussed/changed as necessary)
- 'exec' command has been changed to load from the same location
2017-10-08 14:24:10 -02:30
thrust26 a9910f2649 Merge branch 'master' of https://github.com/stella-emu/stella
# Conflicts:
#	src/windows/Stella.vcxproj.filters
2017-10-08 18:52:38 +02:00
thrust26 20babc832a Merge branch 'trapif_attempt_1' 2017-10-08 18:31:26 +02:00
Stephen Anthony 5f2e383440 Updated VS project file, adding LinkedObjectPool and removing some
non-existent classes.
2017-10-08 13:32:33 -02:30
Stephen Anthony a8719f6bd6 Added LinkedObjectPool class, which will be used by RewindManager.
Thomas, please contact me for example usage of this class.
2017-10-08 12:42:24 -02:30
thrust26 7406c0fd2a hides new access functions since they can only used together with traps
fixes listtraps formatting (trapStatus)
fixes trap addresses (in executeTrapRW, addr & XY is now always used for compares)
2017-10-08 15:59:00 +02:00
thrust26 eb2ae18ce1 added missing initialization 2017-10-08 14:18:14 +02:00
thrust26 649dada32c added missing file to source control 2017-10-08 12:50:22 +02:00
thrust26 90705babd7 debugger start displays labels where possible
prevent repeated trap interrupts
some old code cleanup
2017-10-08 12:25:23 +02:00
thrust26 d15690f5f1 added mirrors 2017-10-08 10:43:26 +02:00
thrust26 7b8b121ee5 detect duplicate traps which will eliminate each other 2017-10-07 23:45:32 +02:00
thrust26 41dffe6f78 works!
TODOs:
- identify duplicates and trigger remove when added
- mirrored addresses
- testing
2017-10-07 20:22:54 +02:00
Christian Speckner bff13fb008 Comment. 2017-10-07 19:50:29 +02:00
Christian Speckner 47f528c4d3 Inject FrameManager instance into TIA. 2017-10-07 19:48:06 +02:00
thrust26 15925c313c working on formatting 2017-10-07 19:30:21 +02:00
Christian Speckner a452d83b39 Coding style. 2017-10-07 18:48:02 +02:00
thrust26 ffacd7a5e7 missed a clear 2017-10-07 18:28:44 +02:00
Christian Speckner 6aecade2c3 Dcumentation. 2017-10-07 18:26:53 +02:00
thrust26 c6593e6c58 this should be working 2017-10-07 18:25:56 +02:00
thrust26 f862e1c97d progress... 2017-10-07 14:17:34 +02:00
Christian Speckner a400238c19 Refactor FrameManager to extend AbstractFrameManager. 2017-10-07 01:41:47 +02:00
Stephen Anthony bfb79fe289 Let dialogs use all available space in LauncherDialog (fixes #236). 2017-10-06 20:46:13 -02:30
g012 5cce80d908 Fixed removal of prefix of local labels (global.local -> .local). 2017-10-06 20:01:33 -02:30
Stephen Anthony 5492e86ba5 Fix spacing issues. 2017-10-06 20:00:05 -02:30
thrust26 b17542d2bf Makes 'Cancel' default in RomAuditDialog too 2017-10-06 23:18:17 +02:00
thrust26 61bf556e5b it compiles again 2017-10-06 23:06:59 +02:00
Stephen Anthony 8fa5ad502a Minor spacing cleanup. 2017-10-05 20:58:39 -02:30
Stephen Anthony f38b40415f Minor refactoring of AVox/SaveKey classes (use delegating c'tor). 2017-10-05 20:57:02 -02:30
Stephen Anthony 55a281bf34 Allow OK/Cancel buttons to be variably focused in MessageBox. 2017-10-05 20:30:36 -02:30
thrust26 e2844f566f added confirm dialog when erasing the whole EEPROM 2017-10-05 08:26:11 +02:00
Stephen Anthony 9fc8b9fcc0 Fixed crash when specifying an invalid controller type on the commandline. 2017-10-04 18:35:55 -02:30
Stephen Anthony 29e53093ba Various UI classes now have their commands prefixed by class name. 2017-10-04 18:33:24 -02:30
Stephen Anthony 90a6c35061 Removed ability to manually select CompuMate controllers (fixes #229). 2017-10-04 17:43:21 -02:30
Stephen Anthony 17f88515a7 Fixed compile errors in gcc/clang. 2017-10-04 13:06:28 -02:30
thrust26 486d95d951 Revert "fixed #236 by making the launcher dialogs slightly larger. Also limited emulator dialogs to the same size."
This reverts commit fbcab7d286.
2017-10-04 16:22:53 +02:00
thrust26 fbcab7d286 fixed #236 by making the launcher dialogs slightly larger. Also limited emulator dialogs to the same size. 2017-10-04 16:15:46 +02:00
thrust26 0cbceda36d added ellipsis to audit dialog 2017-10-04 12:26:11 +02:00
thrust26 af30b05734 added ellipsis to buttons which open another dialog
added ellipsis character to large, medium and small fonts
2017-10-04 10:42:37 +02:00
Stephen Anthony d99d3a16f5 Fix crash when using CompuMate scheme but not using CM controllers.
The code now never looks at the controller type for CM ROMs, but just creates the required controllers.
This means that we no longer actually need a special CompuMate controller type anywhere in the code, since selecting it has become redundant.
2017-10-03 20:17:23 -02:30
Stephen Anthony 1fa3f0cf0d Fixed compile warnings under clang:
- multiline IF statements should have braces
- override keyword not being used when overriding virtual methods
2017-10-03 19:14:07 -02:30
Christian Speckner d52562975d AbstractFrameManager adjustments. 2017-10-03 23:08:14 +02:00
thrust26 46f2ae0cab While I am at it, some minor fixes to Game Properties/Cartridge dialog 2017-10-03 22:26:08 +02:00
thrust26 0839bcb8d7 minor improvement of last commit 2017-10-03 20:42:02 +02:00
thrust26 9ac4a57498 Added logic to Game Properties/Controllers to prevent invalid selections. 2017-10-03 20:25:38 +02:00
thrust26 cd189050ec Fixed wrong display of swapped controllers in debugger 2017-10-03 18:42:46 +02:00
thrust26 9f97184d9b Added 'EEPROM erase' buttons to Device & Ports and Game Properties dialogs
Slightly refactored some dialogs
Changed colors for disabled sliders and buttons
2017-10-03 16:43:50 +02:00
thrust26 8348525f14 before cleanup 2017-10-03 16:33:33 +02:00
Stephen Anthony bec1784d18 Added infrastructure to call methods on AVox/SaveKey controllers from InputDialog.
Thomas, you will need to edit InputDialog::eraseEEPROM and finish the logic there.
2017-10-02 19:57:21 -02:30
thrust26 e10ca8e694 removed 'echo' and enhanced 'print' instead 2017-10-02 22:12:10 +02:00
thrust26 3ca6f5a9d3 Changed tab widget navigation to Windows and OSX standard Control-(Shift)-Tab 2017-10-02 21:12:24 +02:00
thrust26 43e9693959 added 'echo' command to debugger prompt 2017-10-02 14:23:08 +02:00
Christian Speckner d220888474 Abstract common frame manager interface. 2017-10-02 00:52:56 +02:00
Stephen Anthony 4ecaa9a6e0 Updated OSX project file for recent class additions. 2017-10-01 17:29:37 -02:30
Stephen Anthony 05b2684421 Fixes for Visual Studio project file; minor formatting cleanups. 2017-10-01 16:49:29 -02:30
Stephen Anthony 924e92214f Fixes for several minor issues in the last few commits:
- move files from src/windows to proper location
- formatting fixes to match style in other files

This fixes all compile issues in Linux; still TODO is fix Windows and OSX.
2017-10-01 16:23:53 -02:30
thrust26 c19dc0dd9f minor code cleanup 2017-10-01 20:02:11 +02:00
thrust26 39c168fb70 made SWCHA(R) editable in debugger (somewhat ugly coding here) 2017-10-01 17:48:25 +02:00
thrust26 5bc3d9c83e Improved value display for driving controller in debugger 2017-10-01 13:59:00 +02:00
thrust26 72f46c306f added new classes for "Linux & friends" make 2017-10-01 13:51:58 +02:00
thrust26 00cb377c0a finalized trackball widgets 2017-10-01 13:06:34 +02:00
thrust26 4fe9317ad2 Refactored FlashWidget, SaveKeyWidget and AtariVoxWidget 2017-10-01 12:00:07 +02:00
thrust26 f77cd9ab06 Updated VS project file, reworked SaveKey/AtariVox widget, started with implementing trackball widgets for debugger (AmigaMouse working) 2017-10-01 09:52:39 +02:00
thrust26 01449ddeec Added few new constructors to some widgets which make creating dialogs a bit easier. There still is room for improvement here. 2017-09-30 12:07:56 +02:00
thrust26 ecd8d0ff22 Fixed and refactored controller selection 2017-09-30 12:03:45 +02:00
thrust26 a92ceed195 SaveKey/AtariVox detects EEPROM areas accessed by ROM and allows erasing only these in the debugger. 2017-09-29 20:12:41 +02:00
Christian Speckner 7965b84553 Merge branch 'master' into refactoring/frame_manager 2017-09-27 23:27:44 +02:00
Christian Speckner b3228aaad7 Work around g++ bug on OSX. 2017-09-25 22:06:21 +02:00
Stephen Anthony e7b732b115 Allow access to current frame count from TIA; minor formatting cleanup. 2017-09-23 10:20:36 -02:30
Stephen Anthony e695c3b3a5 Converted RewindManager to a (currently unbounded) linked list.
This is in preparation for further work by Thomas J.
2017-09-22 17:37:24 -02:30
sa666666 be64a6387d Fix memory leak in RewindManager (at least until it's rewritten). 2017-09-21 10:14:04 -02:30
thrust26 39267e2840 removed warning 2017-09-20 07:24:11 +02:00
thrust26 ba764fdc06 added _cyclesLo and _cyclesHi to debugger prompt 2017-09-19 20:49:48 +02:00
Stephen Anthony aed2945a56 First pass at continuous state saving in emulation mode, accessible by the debugger:
- Toggle this with Alt-r.  When enabled, state is saved each frame to memory (up to 100 slots)
- Upon entering the debugger, rewind is immediately available, allowing to rewind (for example) back past a breakpoint
- Testing is definitely required.
2017-09-18 20:29:52 -02:30
Stephen Anthony 628f981121 Various cleanups to documentation and snapshots:
- Changelog updated for recent fixed from Thomas J.
- Minor formatting fixes in TIASurface class
- Updated documentation for 'ss1x' mode; snapshots now have only scaling disabled, not effects removed
- Updated snapshots for change in ss1x, and also ran them all through pngcrush, to optimize size
2017-09-18 19:50:37 -02:30
thrust26 5fe51112dd fixed #214, now "usemouse.always" is checked too 2017-09-18 20:48:49 +02:00
thrust26 2a21b497fe fixed #178 by replacing myUserCLabels with myUserLabels 2017-09-18 20:27:16 +02:00
thrust26 ed47816303 fixed issue #201 with new reRender method
in phosphor modes buffers are simply copied form phosphor buffer, else the screen is rendered again
2017-09-18 15:49:30 +02:00
thrust26 11367e6a17 1x snapshots now support all 4 phosphor/Blargg combinations 2017-09-18 09:27:51 +02:00
thrust26 8aad8afda7 fixed 1x snapshot problem when phosphor was disabled 2017-09-17 23:58:52 +02:00
thrust26 b3eaaac5ed enable phosphor and TV effects for 1x snapshots 2017-09-17 23:38:59 +02:00
Stephen Anthony f442fae890 Fixed graphical corrution when saving snapshots in 1x mode
- Phosphor is now also disabled in this mode
2017-09-17 16:46:56 -02:30
Stephen Anthony 1d01b39f87 Minor cleanup of formatting and compile warnings. 2017-09-17 16:15:17 -02:30
thrust26 5b0965ad6c Fixed the fix. 2017-09-17 17:28:03 +02:00
thrust26 f0ced8ae4c Fixed 1x snapshot bug with phosphor #222 2017-09-17 17:20:48 +02:00
Christian Speckner c682dd1c27 Microoptimization: avoid function dispatch overhead. 2017-09-17 14:12:37 +02:00
thrust26 7d72265088 added TIA access tracking
improved ZP-RAM/Stack tracking
2017-09-17 10:35:45 +02:00
Christian Speckner 8485b0820f Collisions are disabled during vblank. 2017-09-17 01:35:01 +02:00
thrust26 cfa40722b9 updated poke(), now CPU emulation provides the flags
improved ZP/stack access tracking and output
added ZP code tracking
2017-09-16 22:37:19 +02:00
thrust26 3bf809a137 refined access tracking for ZP, Stack and IO addresses
improved RIOT RAM output in Distella
2017-09-16 17:38:37 +02:00
Stephen Anthony 03c1ab17fd Added access tracking to M6532 for ZP and IO addresses. 2017-09-16 10:37:42 -02:30
thrust26 7f65fad7cf preliminary implementation for ZP-RAM access tracking
extra access type flag for poke()
2017-09-16 13:48:04 +02:00
thrust26 10e6d483b1 added access tracking via poke()
code cleanup in DiStella and CartDebug
2017-09-16 08:54:32 +02:00
Stephen Anthony 7b63dc6f22 Cleanups to System class (call methods, remove debugging code). 2017-09-15 23:42:20 -02:30
Stephen Anthony 1d99a1e5fa Refactored various page accessing functionality:
- Removed System::PAGE_SHIFT from all classes (except where it's needed inside System); it is an implementation detail of that class that shouldn't be used outside the class, and was making the various calls to setPageAccess very messy
- Changed uInt32 to uInt16, and loop variable to 'addr' for all calls to setPageAccess; this is for consistency, and allows the reader to see how all the code is similar in different classes
- Updated comments in various places (mostly TIA and RIOT) to more clearly show how page accessing works.
2017-09-15 23:28:20 -02:30
Stephen Anthony ca69e2ed73 Refactor code and comments for TIA and RIOT 'page access' stuff. 2017-09-15 21:22:10 -02:30
thrust26 5f68b0565d 2nd part of Distella updates 2017-09-15 14:56:54 +02:00
thrust26 833d0c3b0e test 2017-09-13 22:43:49 +02:00
thrust26 7af7dd3bb6 test test test 2017-09-13 22:30:17 +02:00
thrust26 9c550d4933 test test test 2017-09-13 22:28:58 +02:00
thrust26 a798dedabf test 2 2017-09-13 22:16:46 +02:00
thrust26 76771c2c43 Merge branch 'master' of https://github.com/stella-emu/stella 2017-09-13 22:16:07 +02:00
thrust26 a515ab67f0 test 1 2017-09-13 22:15:46 +02:00
Christian Speckner c26372da4c Dot. 2017-09-13 20:37:54 +02:00
thrust26 95b04b2baa 1st part of Distella improvements 2017-09-13 16:04:54 +02:00
Stephen Anthony 648ed74527 Oops, missed one variable in the 64-bit clock conversion. 2017-09-12 11:04:59 -02:30
Stephen Anthony 86f65e8e87 Show message indicating what is being done when rewinding state (ie, '1 step', '10 frames', etc). 2017-09-11 15:58:41 -02:30
Stephen Anthony 483013baa7 Make PaddleReader constants private, to guard against same variable names used elsewhere. 2017-09-09 17:28:21 -02:30
Sergio Prado 391601d238 Fix error when building with uClibc-ng for ARM
The uClibc-ng C library defines a type called R0 when compiling for ARM,
that conflits with a global variable called R0 from PaddleReader.cxx.

src/emucore/tia/PaddleReader.cxx:25:3: error: ‘constexpr const double R0’ redeclared as different kind of symbol
   R0 = 1.5e3,
   ^
/home/sprado/workspace/build/buildroot/build/stella_uclibc/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include/sys/ucontext.h:42:3: note: previous declaration ‘<anonymous enum> R0’
   R0 = 0,
   ^~

So let's redefine R0 as a private member of the PaddleReader class.

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
2017-09-09 17:25:29 -02:30
Stephen Anthony 2dc355b0d5 Debugger 'saverom' and 'saveses' now save to the default save directory.
The 'saveses' command now creates a filename based on the date and time when the command was entered.
2017-09-09 17:20:22 -02:30
Stephen Anthony b54b4eb4f6 Fixed documentation on some debugger 'save' commands; they don't take
any parameter, and choose the name (and locations) themselves.
This needs to be fixed, and will happen when I get to issue #172
(add save file dialogs).
2017-09-09 15:50:27 -02:30
Stephen Anthony b814296a9e Fixed bug in Windows, where 'Documents\Stella' wasn't being created. 2017-09-09 15:40:07 -02:30
Stephen Anthony b7bf3b79b2 First pass at a consistent default for load/saving files that don't have a
pre-defined location (ROM files and disassemblies, etc).
- Repurposed the snapshot load/save folders by changing OSystem::defaultSnapLoadDir to OSystem::defaultLoadDir, and similar for the save dir
- In Windows, this directory will now be 'Documents\Stella', while in Linux/OSX it will be $HOME
- Testing still required for Windows and OSX; only Linux is confirmed to work for now
2017-09-09 15:06:21 -02:30
Stephen Anthony 9190943534 Added debugging output for FSNode. 2017-09-09 14:02:36 -02:30
Stephen Anthony 73282db9fd Fixed bug in FSNodeWindows::getParent() not always working correctly. 2017-09-09 13:57:42 -02:30
Stephen Anthony 02bae6346a Updated PNG library to latest version. 2017-09-08 23:55:02 -02:30
Stephen Anthony a018dc604a Extend debugger 'dump' command to take second parameter (for end of data range). 2017-09-08 22:23:45 -02:30
Stephen Anthony 823c693a9e Final updates for recent 64-bit cycles refactoring. 2017-09-08 18:52:03 -02:30
Stephen Anthony c4d04ffe26 CartCDF and friends refactoring (have similar functionality):
- rework music fetcher code; there can never be a negative cycle count
- use get/put double Serializer methods for doubles.
2017-09-08 18:36:06 -02:30
Stephen Anthony b6907d0d8a Added '_fcycles' debugger pseudo-op (gives cycles since frame started). 2017-09-08 17:59:33 -02:30
Stephen Anthony ebb8725126 Refactor System::myCycles to be 64-bit instead of 32-bit.
- The cycles counter is now essentially monotonically increasing (ie, we never need to worry about it going backwards and giving a negative difference, simplifying a lot of code
- There are now reset() methods in all places that keep track of system cycles, but they are used for a full reset only; not called each frame like before (which had to be done to prevent overflow).
2017-09-08 11:29:30 -02:30
Stephen Anthony 0aa55b310d Updated OSX project file for recent refactoring. 2017-09-04 14:37:13 -02:30
Stephen Anthony 59d58f8cdf Updated Visual Studio project file for recent refactoring. 2017-09-03 23:31:59 -02:30
Stephen Anthony eafe102daa Refactor StateManager and RewindManager for eventual use outside debugger. 2017-09-03 23:02:15 -02:30
Christian Speckner 5ca9b7912b Fix a very minor timing glitch in paddle emulation. 2017-09-02 00:53:08 +02:00
Christian Speckner 2757c906cb More TIA documentation. 2017-09-02 00:46:54 +02:00
Stephen Anthony c2302c2e71 Cart::getImage refactoring: use uInt32, since sizes are never negative. 2017-09-01 10:23:17 -02:30
Stephen Anthony e858ddf167 Removed reference to class for 'MC' scheme in Windows and OSX builds. 2017-08-31 22:07:40 -02:30
Stephen Anthony 754c901b5a Fix minor typos, but also a compile error (missing closing comments). 2017-08-31 22:03:41 -02:30
Christian Speckner cd390bcc5a TIA documentation. 2017-09-01 00:48:28 +02:00
Stephen Anthony 4440aabc56 Final updates for bankswitch schemes, updating documentation.
- Some schemes are not completely documented and/or implemented, and in those cases a FIXME has been added.
2017-08-31 19:21:20 -02:30
Stephen Anthony 6cf4aa4832 Further refactoring of bankswitching schemes, and removal of 'MC' scheme.
- MC is being removed, since the code has never been tested, and a test ROM has never been created
2017-08-31 15:31:27 -02:30
Stephen Anthony 31907f4be1 More peek/poke refactoring, and improved comments in bankswitching schemes. 2017-08-31 13:01:45 -02:30
Stephen Anthony 68f80f04d9 Peek/poke refactoring for next batch of bankswitch schemes. 2017-08-30 20:44:18 -02:30
Stephen Anthony a5d9550f2f First pass at cleanup of the peek/poke API from Device class:
- remove peek and poke from classes where the addressing is set up such that they aren't needed
- where possible, move from using 'myCurrentBank << 12' everywhere, to precomputing the value (perhaps a small optimization, but still valid)
2017-08-30 19:45:57 -02:30
Stephen Anthony 8cf8200908 Fixed logic error in detecting 'Alt' key.
DirtyHairy, it looks like you removed a negation and replaced it with
a positive (ie, you removed an _ifndef_, not an _ifdef_) :)
2017-08-30 19:41:16 -02:30
Christian Speckner fd85f9d0d5 Basic support for plain UNIX-style builds on OSX. 2017-08-30 23:13:07 +02:00
Stephen Anthony 2930e74333 Updated FE debugger support to allow changing banks dynamically. 2017-08-30 17:22:56 -02:30
Stephen Anthony 1358be402f Update explanation of FE scheme, and minor code optimization. 2017-08-30 16:53:00 -02:30
Stephen Anthony d37b89e2fd Oops, for Alex I used his github username, not the AtariAge one. 2017-08-30 12:00:26 -02:30
Stephen Anthony ae8304563d Updated credits for recent 'FE' research. 2017-08-30 11:52:02 -02:30
Stephen Anthony 92cd739001 Added 'Zippy the Porcupine' info to ROM properties database. 2017-08-30 11:09:06 -02:30
Stephen Anthony 3a02c54b0a Updated FE scheme to that described by the original FE patent application.
- This emulation is much simpler, and takes the scheme from being
esoteric to being a simple hotspot-based scheme
- The original patent application for the FE scheme describes in perfect
detail what is happening, and although the previous code worked, it
was complex and actually hid what was really happening.

Now that the scheme is hotspot-based, the debugger can be extended to
work better with it.  That part comes next.
2017-08-29 22:03:11 -02:30
Stephen Anthony 792421e67d Updated ROM properties database (Champ Games, mostly). 2017-08-23 22:12:40 -02:30
Stephen Anthony 52c16d604b Update TIA shadow registers for HMCLR (and code cleanup). Fixes #211. 2017-08-22 16:38:52 -02:30
Stephen Anthony 21bf401836 Commandline arguments 'holdxxx' now work correctly (fixes #209). 2017-08-22 14:15:30 -02:30
Christian Speckner 5661b245c7 Fix object positions in debugger (getting + setting), documentation. 2017-08-22 15:16:13 +02:00
Stephen Anthony 11d659e5cc Bumped version number. 2017-08-20 21:32:09 -02:30
Christian Speckner 8367ef9828 Documentation typo. 2017-08-20 23:57:11 +02:00
Christian Speckner 25bf4f55d6 Prevent ystart detection code from oscillating between 'fixed' and 'floating'. Documentation. 2017-08-20 23:54:04 +02:00
Christian Speckner 168c7ba201 Fix genesis controller initial state. 2017-08-20 23:39:30 +02:00
Stephen Anthony ab99610950 Bumped version number for 5.0.2 release. 2017-08-20 15:01:39 -02:30
Stephen Anthony f280e31671 Printing of traps in debugger takes into account TIA read/write address. 2017-08-19 20:59:06 -02:30
Stephen Anthony b608c5bf88 Updates for 5.0.2 release. 2017-08-19 20:34:00 -02:30
Stephen Anthony 6e55d98ad7 Fixed inconsistent Alt-p phosphor behaviour (fixes #196). 2017-08-19 19:48:41 -02:30
Stephen Anthony a9dd2b32cb Debugger 'listtraps' now shows all traps (fixes #190). 2017-08-18 18:47:35 -02:30
Stephen Anthony 48a99c6b6b Make Random class serializable, and save to state files. 2017-08-18 12:36:54 -02:30
Stephen Anthony c1f7c5c90b Fix potential app lockups when emulated CPU execution fails in the debugger. 2017-08-16 19:00:32 -02:30
Stephen Anthony 6f60437a9c Improve Blargg filters with cutoff on right side of screen (fixes #195). 2017-08-15 17:49:59 -02:30
Stephen Anthony 24e55baa2c Expose 'threads' option through the Video Settings -> General UI. 2017-08-15 10:58:19 -02:30
Stephen Anthony 4f336eddeb Added 'threads' commandline argument, to enable/disable multi-threading.
- Still TODO is expose this in the UI, but the infrastructure is there
- For now, this defaults to off
2017-08-14 21:29:48 -02:30
Stephen Anthony f011006af1 Removed unused variable. 2017-08-14 17:51:02 -02:30
Stephen Anthony a29d1da57b Threaded Blargg + phosphor improvements:
- Handle case of only 1 or zero (!) reported cores
 - Fix memory leak by using smart pointers
2017-08-14 11:57:19 -02:30
Christian Speckner 6d1a306b52 Blargg and phosphor threading by Thomas Jentzsch. 2017-08-14 09:20:42 -02:30
Stephen Anthony 7a9cde3e4d CDF updates (with versioning) from Spiceware. 2017-08-14 09:11:54 -02:30
Stephen Anthony f57d69a023 Fixed reading collision of ball and playfield (fixes #189). 2017-08-13 14:43:31 -02:30
Stephen Anthony 193da6c845 Fix DiStella trying to process the same PC address repeatedly (fixes #188). 2017-08-13 13:43:48 -02:30
Stephen Anthony 55111c4ccb Fixed minor warning for potential uninitialized variable. 2017-08-09 22:38:39 -02:30
Stephen Anthony 1e7e4cbe20 More TIA rendering optimizations. 2017-08-08 12:11:45 -02:30
Stephen Anthony 8759f340e8 Oops, premature optimization; it broke changing phosphor blend level. 2017-08-07 18:56:13 -02:30
Stephen Anthony 1dc78a9b5b Pre-calculate phosphor colours, and remove redundant shift parameter.
This leads to nice speedups in the TIASurface::render() method.
2017-08-07 18:39:30 -02:30
Stephen Anthony 322af0fb38 Fixed code where emplace_back was being used incorrectly. 2017-08-06 13:57:09 -02:30
Stephen Anthony e2b78b6df7 Remove redundant checks for 'ramrandom'; the code is checking a boolean,
then calling a method and checking the boolean again.
2017-08-06 13:30:45 -02:30
Stephen Anthony 18568cfbeb TIA performance improvements by Thomas Jentzsch. 2017-08-06 12:39:53 -02:30
Stephen Anthony 4a447290af Reverted Decathlon and allow all 4 directions being the default. 2017-08-06 12:05:31 -02:30
Stephen Anthony 8ce4d3468e Updated OSX project file for recent refactoring.
Fixed minor compile warning.
2017-08-05 13:34:56 -02:30
Stephen Anthony 025a1a7918 Minor refactoring, slight speedup of passing data in sound code. 2017-08-02 19:21:36 -02:30
Stephen Anthony b23830487d Minor refactoring; remove const reference where not needed. 2017-08-02 17:53:07 -02:30
Stephen Anthony f928277430 Updated Visual Studio project for recent refactoring.
Fixes a few minor warnings.
2017-08-02 16:16:05 -02:30
Stephen Anthony d22ed691b5 Updated PointingDevice (trakball and friends)
- changed from templates back to inheritance (sorry DirtyHairy :))
 - added 'tsense' commandline argument and associated UI
 - updated docs and screenshots for new functionality
2017-08-02 16:07:02 -02:30
Stephen Anthony ace146fe52 Introduce another version of BSPF::clamp. 2017-08-02 15:26:48 -02:30
Stephen Anthony 87282e6707 Further improvements to trakball handling by Thomas Jentzsch. 2017-08-01 11:15:41 -02:30
Stephen Anthony 6e4503f762 Further improvements to the trakball and friends cursor movement. 2017-07-30 20:19:00 -02:30
Stephen Anthony 5a5c520443 Updated Visual Studio project file to be compatible for everyone.
Basically, removed all paths that were specific to me (stephen)
and used relative paths instead.

The development webpage will need to be updated to match this.
2017-07-30 15:09:00 -02:30
Stephen Anthony 04ce40b27c Make sure trakball is read over entire vertical range. 2017-07-30 13:14:16 -02:30
Stephen Anthony eaf19d2b90 Forgot to include a file in the Windows project file. 2017-07-30 12:10:52 -02:30
Stephen Anthony 7652be906d Updated OSX project file for Controller refactoring.
- Minor refactoring in PointingDevice class
2017-07-30 12:02:48 -02:30
Stephen Anthony 91c5020a38 Updated Visual Studio project file for Controller refactoring.
- Some minor code refactoring/changes
 - Updated changelog and bumped version number.
2017-07-30 11:48:52 -02:30
Christian Speckner 218da3576c Refactor pointing devices, include Thomas' patch for movement inconsistencies. 2017-07-30 15:18:55 +02:00
Stephen Anthony aebe8fabc6 Revert Alt-Enter handling from previous commit; it only seems to work reliably for Alt-Tab. 2017-07-27 12:15:52 -02:30
Stephen Anthony 4af7ba28fb Fix for weird Alt-Tab behaviour in Linux.
- An extraneous TAB key event was being generated
  - This is possibly an SDL bug in Linux only; it doesn't happen on other systems
  - I've contacted the SDL mailing list for more info, so this code may be temporary
2017-07-26 21:18:08 -02:30
Christian Speckner 246b5e7596 Move frame manager to dedicated subdir, remove all external deps on it. 2017-07-27 00:33:39 +02:00
Stephen Anthony 00afc8ea4f Final updates for 5.0.1 release. 2017-07-23 12:33:16 -02:30
Stephen Anthony 9155a10250 Merge branch 'master' of https://github.com/stella-emu/stella 2017-07-21 23:30:26 -02:30
Stephen Anthony 7c2da9512d Updated OSX project file for C++14 changes. 2017-07-21 21:43:47 -02:30
Stephen Anthony 9bf95e9c88 Updated Visual Studio project file for C++14 changes. 2017-07-21 21:27:34 -02:30
Stephen Anthony cd689941b6 Move to C++14, now that all the minimum required compilers support it.
Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.

 - Change all make_ptr to make_unique
 - Change iterator begin(), end(), etc to const versions where appropriate
 - Remove UniquePtr, since C++14 supports it natively
2017-07-21 21:10:13 -02:30
Christian Speckner 0d5d3de420 Analog input refactoring and improvements
* Lazily update readout circuit simulation as soon as the pin
      changes
    * Always assume that "max resistance" means "connected to ground"
    * Minor accuracy improvements
2017-07-22 00:38:02 +02:00
Stephen Anthony 706755ad7f Fixed minor compile warning. 2017-07-20 18:58:19 -02:30
Stephen Anthony 2cc2fa6cc1 Make Decathlon ROMs always use all 4 directions on a joystick.
This is necessary, since the original controller was meant to be
track & field controller with two buttons, which map to left/right
on an Atari.
2017-07-20 11:15:57 -02:30
Stephen Anthony fe7c980d93 Minor refactoring in CompuMate class.
While having friends in real life is good, we should minimize them
in classes :)
2017-07-20 10:56:17 -02:30
Stephen Anthony 953761e1a1 Added 'Hunchy II' to ROM properties database. 2017-07-19 21:25:35 -02:30
Stephen Anthony 02b1f7e078 Make Random::next() const, since logically it should be.
The fact that it updates an internal variable is an implementation
detail that shouldn't be exposed outside the class.
2017-07-18 18:17:39 -02:30
Stephen Anthony 97f1220e11 Bumped version number for next release; we start again ... 2017-07-18 18:12:05 -02:30
Stephen Anthony 86734a4c1e Fixed formatting in changelog, and bumped version number. 2017-07-15 20:47:54 -02:30
Stephen Anthony 43c22af274 Fixed bug with missile colouring in debugger not changing colour
until after an instruction was executed.  Also, toggle-able widgets
(pixel and bits) in the debugger can now be toggled with a single
mouse click, not a double-click.  These fix issue #15.
2017-07-15 17:36:06 -02:30
Stephen Anthony 199627f0cb Updated Xcode project file for ColorWidget move. 2017-07-15 11:59:31 -02:30
Stephen Anthony 9f8baadb29 Some cosmetic UI changes and updated screenshots/docs. 2017-07-15 11:48:15 -02:30
Stephen Anthony d74bbba4f9 Updated documentation and screenshots. 2017-07-14 22:39:49 -02:30
Stephen Anthony bd759b68cb Added ability to force-enable TV phosphor mode.
This is enabled in the UI or through the 'tv.phosphor' commandline
argument.  Note that what was previously 'tv.phosphor' (for setting
the blend level) is now 'tv.phosblend'.

Updated documentation in various places.
2017-07-14 21:28:26 -02:30
Stephen Anthony adddc635f2 Pressing F12 in the debugger saves snapshots (implements #161). 2017-07-14 20:24:29 -02:30
Stephen Anthony c364526ff6 Made 'tv.jitter' effect enabled by default. 2017-07-14 09:27:04 -02:30
Stephen Anthony e99cbd8956 Made ColorWidget honour disabled colors. 2017-07-14 09:24:38 -02:30
Stephen Anthony 7904f3e900 Updated Visual Studio project file for ColorWidget move.
Fixed crash when attempting to enter "Video Settings" from the
ROM launcher; in that case, 'Debug Colors' must be disabled, since
the widgets only take effect in emulation mode.
2017-07-13 21:45:57 -02:30
Stephen Anthony 66e5a07f20 Make 'fastscbios' option default to true.
This was mentioned in some thread; I forget where, but the consensus
is that this should be the default.
2017-07-13 20:53:20 -02:30
Stephen Anthony fbb73b72f1 Erase old contents of RGB buffer when toggling phosphor and Blargg
effects (fixes #175).

Right idea, but I always forget that memset operates on bytes,
but the RGB buffer contains uInt32 (so multiply by 4).
2017-07-13 19:27:21 -02:30
Stephen Anthony 626ff450d9 Added ability to change debug colors from "Video Settings".
Moved ColorWidget from src/debugger/gui to src/gui, since it needs to be
compiled even when the debugger is disabled.

Minor code refactoring.
2017-07-13 18:40:42 -02:30
Stephen Anthony d9f52599dc Marked BUS scheme as experimental per authors request. 2017-07-12 18:07:40 -02:30
Stephen Anthony 87c1d12d1d Fixed dynamic setting of phosphor blend to not wraparound when reaching 0. 2017-07-12 16:16:41 -02:30
Stephen Anthony 0d1481cb9d Revert behaviour of TIA read from write-only addresses to match
Stella 4.x (fixes #173).
2017-07-11 17:18:56 -02:30
Stephen Anthony e9acf1f1e8 Updated various docs for impending 5.0 release.
Finalized state file format at 5.0.0.0.
2017-07-09 22:56:16 -02:30
Stephen Anthony d613173cd7 The default phosphor blend level can now be set globally (fixes #144).
Added new 'tv.phosphor' commandline argument to accomplish the above,
and associated UI item in Video Settings.

Updated docs for 'tv.phosphor' and 'tia.debugcolors'.  More work is
needed on this, since I need to add screenshots for this new functionality.
2017-07-09 22:40:06 -02:30
Stephen Anthony 7f6637a802 Updated ZLIB and PNG libraries to latest released versions. 2017-07-09 16:49:17 -02:30
Stephen Anthony fadf9d5535 Updated ROM properties to RomHunter version 13. 2017-07-09 15:48:10 -02:30