Commit Graph

811 Commits

Author SHA1 Message Date
Christian Speckner 77158fd845 Always make sure that hardware state is consistent with a full step before dispatching the debugger.
* Allows to revert much of the complexity of my previous fix.
2018-01-07 00:31:24 +01:00
Christian Speckner c0edcaf0c9 Sanitize halt and hardware state handling after CPU dispatch. 2018-01-06 23:33:52 +01:00
thrust26 1213c973dc fixed #275 2017-12-30 00:50:25 +01:00
Stephen Anthony 3d879d0080 Updated copyright date to 2018. A few days early, but nobody will mind ... 2017-12-29 17:10:37 -03:30
Stephen Anthony a15d5d8b06 Properly integrate MouseButton enum into the GUI core:
- The previous code used enumerations for DialogContainer, and constants for everything in src/gui
 - It took me over 3 hours to determine that a '1' in the first didn't mean the same as a '1' in the second
 - If ever there was a reason for strongly named constants (enum class), this was it.
2017-12-29 16:56:09 -03:30
Stephen Anthony e6dcce60de Convert raw enum to 'enum class'. 2017-12-22 23:57:40 -03:30
Stephen Anthony 93dcc9807d Integrate 'TIATypes' into 'TIAConstants'; they serve the same purpose. 2017-12-22 23:47:07 -03:30
Stephen Anthony 4250f5d102 Refactor EventHandler kbdXXX functions into StellaKeys:
- These functions did not really have anything to do with EventHandler
 - StellaKeys is the proper place, since they're testing against a StellaMod
 - This removes the need to include 'EventHandler.hxx' in many header files, again reducing dependencies
2017-12-21 19:44:18 -03:30
Stephen Anthony 7890a94144 Several large infrastructure changes for upcoming Time Machine stuff:
- renamed Rewinder and associated dialog to TimeMachine and friends
 - changed EventHandler state enum to stronger 'enum class' type (and associated changes to the codebase)
 - moved EventHandlerState into separate class, allowing a few files to not need to include EventHandler.hxx (reduce compile dependency)
 - plumbed EventHandlerState::TIMEMACHINE into the codebase; still TODO is activate it and add a usable dialog)
2017-12-20 21:56:22 -03:30
thrust26 44bb4db73e improved saveOldState() usage, now changes after a break are displayed too 2017-12-20 23:09:41 +01:00
thrust26 f0d5ffbd0a bank change tracking for more CartDebugWidgets added 2017-12-20 21:54:40 +01:00
thrust26 e3baeb209e added bank change tracking to most CartDebugWidgets 2017-12-20 21:32:07 +01:00
thrust26 0826ce6bd6 Made collisions editable 2017-12-20 18:18:07 +01:00
thrust26 f61e45829c changed tracking for collisions and various TIA status registers added 2017-12-20 16:20:52 +01:00
thrust26 90733875b2 completed change tracking on RIOT tab (except for controllers). 2017-12-20 10:01:44 +01:00
thrust26 d3575f3290 change tracking for TiaInfoWidget added 2017-12-19 19:22:29 +01:00
thrust26 e9ef45ab0a minor consistency fix and doc updates 2017-12-19 18:10:01 +01:00
thrust26 81cdbe832e refactoring the fix 2017-12-19 16:57:47 +01:00
thrust26 7259af1583 "Light" color fix 2017-12-19 16:56:01 +01:00
thrust26 7819d07623 fixed deleting/toggling existing 'breakif' and 'savestateif' 2017-12-18 12:33:17 +01:00
thrust26 df71881392 FLAT_UI label default alignment fix 2017-12-18 09:42:36 +01:00
thrust26 7fcbb8f401 updated doc for 'dump' command 2017-12-17 17:59:25 +01:00
thrust26 b76566e864 line drawing method added to FBSurface
inactive cells are displayed as crossed out in FLAT_UI
2017-12-17 16:43:05 +01:00
thrust26 0def7adb61 fixed bug when leaving 'Options' in debugger 2017-12-17 13:52:50 +01:00
thrust26 7f08d9b74c some more UI polishing 2017-12-17 13:28:23 +01:00
thrust26 dfca521bf9 two minor bug fixes 2017-12-17 12:24:16 +01:00
thrust26 eeb1491efd polishing FLAT_UI 2017-12-17 12:16:37 +01:00
thrust26 b05d686891 'Light' palette polishing 2017-12-17 10:09:59 +01:00
thrust26 19730fa183 third 'uipalette' scheme 'Light' added
modernized UI via 'FLAT_UI' preprocessor define added
2017-12-17 00:48:30 +01:00
thrust26 b6080e1701 fixed #270 2017-12-16 10:54:45 +01:00
thrust26 31b459ac84 fixed #269 2017-12-16 09:46:25 +01:00
thrust26 0d609f6845 renamed '_cycles' into '_icycles' (fits better) 2017-12-15 19:12:46 +01:00
thrust26 9f7270a70d '_cycles' pseudo register added (returns cycles of last instruction) 2017-12-15 18:13:29 +01:00
thrust26 7d40d5b1f8 "Time Machine" name change 2017-12-15 18:10:40 +01:00
thrust26 d28fb580b8 bitmapped button added 2017-12-15 15:25:08 +01:00
thrust26 ba3cc0677d Frame count/cycle alignment fixed 2017-12-15 14:16:11 +01:00
Stephen Anthony 434d2dfc83 Converted some raw enum to 'enum class' in FrameBufferConstants. 2017-12-14 21:29:45 -03:30
thrust26 ba9d809109 state compression improved
RewindManager class refactored for multiple rewinds/unwinds
additional keys for faster rewinding added
docs updated
2017-12-14 14:25:02 +01:00
thrust26 5439d185a7 rewind buffer resize added 2017-12-12 21:43:57 +01:00
thrust26 6632b97307 double rewind in debugger fixed
rewind messages improved
2017-12-12 18:47:21 +01:00
thrust26 e465112c02 rewind/unwind basically working
changed values, UI and settings for rewind interval and horizon
2017-12-12 17:07:05 +01:00
Stephen Anthony e9a5198863 Reverted part of previous commit; rewind states now use 64-bit where appropriate.
Fixed some more minor errors found by clang.
2017-12-08 07:53:09 -03:30
Stephen Anthony 76b3ff02b3 Fixed various warnings in code.
- removed unused variables
- in RewindManager, convert cycles to Int32 rather than Int64; although
they are defined as 64-bit from the TIA, we only care about differences
here, and the difference will never be larger than a 32-bit can hold.
2017-12-07 21:27:31 -03:30
thrust26 87d5886067 fixed #264 2017-12-06 11:01:33 +01:00
thrust26 260a8b7bb0 minimal debugger sizes adjusted again 2017-12-04 15:59:51 +01:00
thrust26 aef15b44b4 minimal debugger and text dialog sizes increased
debugger doc updated and some links added
missing ellipsis added to RAM widget
2017-12-04 14:17:54 +01:00
thrust26 78a3b197f4 loadconfig bug fixed
save commands explained in debugger doc
load/saveconfig allowed for multi-bank ROMs (with warning)
2017-12-03 17:07:47 +01:00
thrust26 039a054ad5 saverom command fixed (broke that myself) 2017-12-03 16:18:23 +01:00
thrust26 7c01418c29 fixed #239 2017-12-03 13:53:14 +01:00
thrust26 88500b46ff reflected last doc changes in debugger help 2017-12-02 11:51:06 +01:00
thrust26 8abc49af1f fixed effective volume for C = 0 2017-12-01 21:15:11 +01:00
thrust26 b6fa51d97b effective volume to audio widget added
fixed parser return value for "$a"
2017-12-01 20:57:14 +01:00
thrust26 9f0c15bc32 audio widget made editable 2017-12-01 18:21:54 +01:00
thrust26 d333553ec2 startup bank for E0 bankswitch type randomized 2017-12-01 10:08:10 +01:00
thrust26 16bc644b00 minor doc fixes 2017-11-30 16:04:43 +01:00
thrust26 a636e6859d documentation and output of 'dump' command improved 2017-11-30 13:50:56 +01:00
thrust26 d639cdb4c9 multi bank ROM disassembly allowed (with a warning) 2017-11-30 11:46:20 +01:00
thrust26 1d5333969b startup bank for 3F getting randomized 2017-11-30 11:36:21 +01:00
Christian Speckner 53a2d59e02 Add a bunch of missing overrides. 2017-11-30 01:22:41 +01:00
thrust26 51cdc21fa3 spelling fix 2017-11-29 21:00:30 +01:00
thrust26 2a4db8e11e startup bank randomization info added to widgets 2017-11-29 20:48:19 +01:00
thrust26 5760167f31 E78K added to doc
missing files added
2017-11-27 22:51:41 +01:00
thrust26 053b79fc3e E7 bankswitching classes refactored
E78K bankswitching added
2017-11-27 22:49:53 +01:00
thrust26 c1fc60a4e0 missing files added
first changes to debugger docs
2017-11-26 13:42:56 +01:00
thrust26 8fd33ed103 Merge branch 'master' of https://github.com/stella-emu/stella 2017-11-24 20:38:47 +01:00
thrust26 08f29ca808 two sets for developer related options defined
reverted some changes previous changes ("colorloss", "stats" and "grabmouse" are persisted again)
2017-11-24 20:38:21 +01:00
Stephen Anthony 9ada07a733 Minor fixups for last commits. 2017-11-24 13:24:19 -03:30
Markus Uhr bfd12d7ddc Fix tick suffix in snapshot file name. 2017-11-24 13:12:06 -03:30
Markus Uhr ed3b61fdb1 Improve 'dump' command.
Add third parameter to indicate that the dump should be appended to
a file instead of printed on screen. Also, allow to dump CPU state
and input registers.

The third argument is a flags value (0x01: dump memory, 0x02: dump
CPU state, 0x04: dump input registers).
2017-11-24 13:12:06 -03:30
Markus Uhr 0ecb4f5ae7 Add an 'exec'-prefix to snapshot name when saving from a script.
Allow the user to specify an additional 'prefix' string in the exec command
that will be prepended the ticks-part of the snapshot name when saving a
snapshot from script.
2017-11-24 13:12:06 -03:30
Markus Uhr 7010400235 Add new debugger command 'stepwhile'.
This command steps through the code instruction-by-instruction (just like the
'step' command) while the <condition> argument evaluates to true. This is a
(pretty slow) workaround for breakpoints and the 'run' command which seems
broken from debugging scripts.
2017-11-24 13:12:06 -03:30
Markus Uhr e6b5d792b7 Reset command: also reset controller state. 2017-11-24 13:12:06 -03:30
Markus Uhr 2f787fbb91 Exec command: search script first in current directory. 2017-11-24 13:12:06 -03:30
Markus Uhr ff4603d81f Bugfix: redraw TiaOutputWidget on savesnap when executing in a script. 2017-11-24 13:12:06 -03:30
Markus Uhr 5b207618c8 Add debugger commands to manipulate controller state. 2017-11-24 13:12:06 -03:30
thrust26 89defd6487 more debugger disassembly formatting 2017-11-21 17:37:54 +01:00
thrust26 956f284a51 Debugger UI tab refactored (font size selection and debugger size)
debugger disassembly reformatted
2017-11-21 16:30:33 +01:00
thrust26 cc45822816 missing ellipsis char to some fonts added 2017-11-21 11:45:28 +01:00
thrust26 8379b0af1a better debugger disassembly space utilization
changed developer dialog/debugger UI label
2017-11-21 10:57:50 +01:00
thrust26 2efeb6cdb7 fix for temporary macro labels ('...$') 2017-11-21 09:25:12 +01:00
Stephen Anthony be6250b29b More header fixes (this time in 'src/gui'). 2017-11-20 15:58:32 -03:30
thrust26 34dce48414 Update help for trap.../breakif and savestateif 2017-11-20 18:54:10 +01:00
thrust26 da69311de5 savestateifs with identical conditions toggle each other (like breakif and trapif) 2017-11-20 16:18:20 +01:00
thrust26 c996460bbe identical breakifs conditions toggle each other
renamed command in TIA display context menu "Toggle..."
added messages for TIA display context menu
2017-11-20 16:13:48 +01:00
thrust26 01d3a29f66 conditional savestates in debugger added 2017-11-19 18:52:27 +01:00
thrust26 73a8938abf fixes for developer settings 2017-11-18 18:22:10 +01:00
thrust26 b564c1c85a "Drive unused pin..." option removed from debugger
code cleanup for RAM/CPU randomization
2017-11-18 16:59:17 +01:00
thrust26 cdd4b4bf39 UA added to randomized startup bank types 2017-11-18 14:53:27 +01:00
thrust26 a14fa6a3ea - missing checks for developer settings added
- "dev.console" selection move to developer settings
- random startup bank implemented for some (tested!) bank switchings
- Options dialog button added in debugger
2017-11-18 13:14:27 +01:00
Stephen Anthony 522018d636 More header file reorg/optimization. 2017-11-17 13:30:17 -03:30
thrust26 41810298a7 Merge branch 'master' of https://github.com/stella-emu/stella 2017-11-17 14:02:27 +01:00
thrust26 b5c9842716 DeveloperDialog added
- developer only options now have "dev." prefix
- options relevant for players and developers are duplicated ("dev." prefix)
2017-11-17 14:02:10 +01:00
Stephen Anthony c2946e58d6 Header fixes take 4; 'debugger/gui' classes.
Note that this one adds a new file, and I haven't yet updated the
Windows and OSX builds (so they won't compile for now).
2017-11-17 09:03:03 -03:30
Stephen Anthony 39f839021e Header fixes take 3: cheat, common, debugger directories done. 2017-11-16 14:29:34 -03:30
Stephen Anthony a7f1764411 Second pass at optimizing header files, to eliminate cascaded compiles. 2017-11-16 13:31:20 -03:30
Stephen Anthony 632fffcb49 Refactor a few classes to not include so many headers.
Including many header files in other headers leads to a cascade of
compiles when changing one of them.

Note that this potentially makes some inline methods non-inline
(although current idea on this is that the compiler can make
much better choices for when to inline).  So we may need to check
performance after this work, to make sure no regressions happen.
2017-11-14 21:52:23 -03:30
thrust26 0dddb93fb6 rewind/unwind command output improved 2017-11-13 16:02:15 +01:00
thrust26 92a8747eb3 rewind/unwind commands enhanced with optional number of levels parameter 2017-11-13 15:07:48 +01:00
Stephen Anthony c18469c2a3 Fix minor compile warnings.
Sync BSTypes in Stella and harmonycart, fixing a bug in the process
(entering non-uppercase extensions for '-bs' would result in an error).
2017-11-10 21:37:11 -03:30
thrust26 eceb647953 Atari 7800 support (initial RAM and Pause key) added
currently only available in debugger UI and via command line
TODO: make available in future developer dialog
2017-10-18 22:03:52 +02:00
thrust26 2af885b417 autocompletion does not anymore cut string if no longer matching string is found 2017-10-17 21:10:37 +02:00
thrust26 cc04c3e826 missing "Start" label in disassembly fixed
negative block cycle count displayed correctly
2017-10-17 19:07:15 +02:00
Christian Speckner be877f8503 Merge branch 'master' into refactoring/frame_manager 2017-10-15 20:28:27 +02:00
thrust26 474c9941d5 minimal rewind button state refactoring 2017-10-13 16:01:30 +02:00
thrust26 cdb2e18324 save state handling for entering and leaving the debugger modified. 2017-10-13 15:29:20 +02:00
thrust26 576773f837 Merge branch 'master' of https://github.com/stella-emu/stella 2017-10-13 11:18:07 +02:00
thrust26 c6a5b96796 fixes #244 (wrong source address display for cleared peeks) 2017-10-13 11:17:53 +02:00
Stephen Kitt 4885fec94a Spelling fixes
* commmands -> commands
* comparitive -> comparative

These were found by Debian’s Lintian tool.

Signed-off-by: Stephen Kitt <steve@sk2.org>
2017-10-12 16:53:58 -02:30
thrust26 4050acad01 spelling and ordering of pseudo-ops fixed 2017-10-12 21:11:39 +02:00
thrust26 53d4745479 pseudo-op "_scycles" (cycles into current scanline) added 2017-10-12 21:08:24 +02:00
thrust26 3045a0ddf7 unwind logic started, TODO: adapt RewindManager 2017-10-12 17:43:41 +02:00
Stephen Anthony fdf813cf06 Fixed nullptr vs. 0 issues in Debugger; removed nasty C-style char pointers. 2017-10-12 00:08:52 -02:30
Stephen Anthony 10bdcd58d2 Third pass at fixing warnings:
- added very stringent checks when compiling under clang; for now, there will still be warnings,
  since I haven't addressed the specific code yet (probably issues in OSX too)
- no issues when compiling with gcc; still need to check VS.
2017-10-11 21:49:31 -02:30
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
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
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 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 20babc832a Merge branch 'trapif_attempt_1' 2017-10-08 18:31:26 +02:00
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
thrust26 15925c313c working on formatting 2017-10-07 19:30:21 +02:00
thrust26 ffacd7a5e7 missed a clear 2017-10-07 18:28:44 +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
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 61bf556e5b it compiles again 2017-10-06 23:06:59 +02:00
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 0cbceda36d added ellipsis to audit dialog 2017-10-04 12:26:11 +02:00
thrust26 cd189050ec Fixed wrong display of swapped controllers in debugger 2017-10-03 18:42:46 +02:00
thrust26 8348525f14 before cleanup 2017-10-03 16:33:33 +02:00
thrust26 e10ca8e694 removed 'echo' and enhanced 'print' instead 2017-10-02 22:12:10 +02:00
thrust26 43e9693959 added 'echo' command to debugger prompt 2017-10-02 14:23:08 +02:00
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 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
Stephen Anthony e7b732b115 Allow access to current frame count from TIA; minor formatting cleanup. 2017-09-23 10:20:36 -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
thrust26 2a21b497fe fixed #178 by replacing myUserCLabels with myUserLabels 2017-09-18 20:27:16 +02:00
Stephen Anthony 1d01b39f87 Minor cleanup of formatting and compile warnings. 2017-09-17 16:15:17 -02:30
thrust26 7d72265088 added TIA access tracking
improved ZP-RAM/Stack tracking
2017-09-17 10:35:45 +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
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
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 a515ab67f0 test 1 2017-09-13 22:15:46 +02:00
thrust26 95b04b2baa 1st part of Distella improvements 2017-09-13 16:04:54 +02:00
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 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 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 a018dc604a Extend debugger 'dump' command to take second parameter (for end of data range). 2017-09-08 22:23:45 -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 eafe102daa Refactor StateManager and RewindManager for eventual use outside debugger. 2017-09-03 23:02:15 -02:30
Stephen Anthony c2302c2e71 Cart::getImage refactoring: use uInt32, since sizes are never negative. 2017-09-01 10:23:17 -02:30
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 2930e74333 Updated FE debugger support to allow changing banks dynamically. 2017-08-30 17:22:56 -02:30