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