Stephen Anthony
13b9bbe5a4
More M6502 micro-optimizations.
2018-08-27 13:47:22 -02:30
Stephen Anthony
c901f282bb
A few micro-optimizations in the 6502 emulation (found by cppcheck).
2018-08-27 12:17:22 -02:30
Stephen Anthony
8c7488914d
Fix some warnings generated by cppcheck (a C++ linter).
2018-08-27 11:09:03 -02:30
Christian Speckner
eacfb41584
Remove debug code.
2018-08-26 11:14:18 +02:00
Stephen Anthony
2db48ae38b
Fixes #332 .
2018-08-24 10:12:34 -02:30
Stephen Anthony
2e2984864d
Add timer/callback functionality to OSystem.
...
Previously this was done by SDL_AddTimer, but the new approach is much better:
- it is proper C++ (using std::thread and lambdas)
- It is not tied to the SDL toolkit, which is C-based
Also, re-added logic to reset events ~0.5 seconds after starting ROM emulation; this resets 'hold' events
2018-08-23 11:48:24 -02:30
Stephen Anthony
12b18e5b71
Fix issue #363 ; too eager pruning in previous commit.
2018-08-22 10:17:53 -02:30
thrust26
21b8fa133f
dirty fix for #355
2018-08-22 11:10:45 +02:00
thrust26
858d6991ca
fixes reversed dev.settings
2018-08-22 09:19:07 +02:00
thrust26
5f07ad3cdf
more doc updates
2018-08-20 14:01:06 +02:00
thrust26
15e6e50293
fixed #356
2018-08-20 12:35:34 +02:00
thrust26
fb6c827470
added global stereo option to AudioDialog (TODO: use it)
...
removed '(*)' from AudioDialog (TODO: make everything immediate)
updated -help (this seems broken!)
2018-08-20 11:55:13 +02:00
Stephen Anthony
915e62f466
Fixed a few more warnings, and marked some code for later research.
2018-08-19 22:40:57 -02:30
Stephen Anthony
51b27340fd
Fix warnings detected by clang.
2018-08-19 16:27:59 -02:30
Stephen Anthony
e3bf1ffbd5
More updates to Visual Studio compiler settings:
...
- Increase warning level to 4, and fix a few new warnings
- Globally, all files are now explictly compiled in C++ mode
- For png and zlib code (that we didn't write), drop back to level 2
warnings and explicitly compile in C mode
2018-08-19 15:01:03 -02:30
Stephen Anthony
56437c38e6
Increased warning level in Visual Studio compiles.
...
Also fixed some new warnings that VS now finds.
2018-08-19 12:34:40 -02:30
Stephen Anthony
7ae6d84739
Completely remove ability to use a per-ROM properties file.
...
This 'feature' now seems unnecessary, and it complicates the code by having it.
2018-08-17 13:56:08 -02:30
Stephen Anthony
31acc92bbe
Fix crashes when changing toggling fullscreen/windowed mode.
...
- Only allow such changes when in emulation mode, or a few other common ones (launcher, debugger)
The idea is here that some dialogs have to be resized/repositioned when such a mode change occurs, and the UI core doesn't currently support that.
- Only render surfaces when they are visible (sounds logical enough, but the code didn't check for it).
2018-08-15 13:33:08 -02:30
thrust26
9ec6b0816d
fixed #351
2018-08-15 15:28:09 +02:00
thrust26
4bc3373b37
made UI theme change immediate
2018-08-12 23:01:43 +02:00
thrust26
1fe5cd2b3f
removed non implemented method
2018-08-12 22:48:35 +02:00
Christian Speckner
95867f91cd
Switch to SDL_OpenAudioDevice & friends, fix silence with very tight buffer
...
settings.
2018-08-10 00:46:39 +02:00
thrust26
efb998129b
fixes #342
2018-08-09 15:39:54 +02:00
Stephen Anthony
ae96406fd4
Fix #345 ; color-loss not correctly initialized.
2018-08-09 10:54:26 -02:30
thrust26
1571860dc0
fix #341
2018-08-09 14:55:46 +02:00
Stephen Anthony
8298ad4d26
Fixed inconsistency in passing color data to parameters.
...
- Now uses 'ColorId' as the datatype; this is currently mapped to uInt32, but can change in the future if required
- Eliminates needless and annoying casts in various places; all colors are now 'ColorId' type
2018-08-08 13:09:10 -02:30
thrust26
f7d09c772d
Fixes #339
2018-08-08 09:28:03 +02:00
thrust26
f3927b94c4
Merge branch 'release/6.0' of https://github.com/stella-emu/stella into release/6.0
2018-08-07 09:37:42 +02:00
thrust26
89b0759da5
fix #338
2018-08-07 09:37:25 +02:00
Christian Speckner
337c13882e
Remove redundant code.
2018-08-06 23:45:28 +02:00
Christian Speckner
163b5ca999
Fix a regression in collision handling -> fixes Sky Skipper.
2018-08-06 23:25:33 +02:00
Stephen Anthony
78cb878c29
Fixed minor warning in Xcode.
...
Strange that VS only picked up the other instance of this issue, and neither gcc nor clang found either one.
2018-08-06 18:12:09 -02:30
Stephen Anthony
b68f72dd50
Fix minor warning in Visual Studio.
2018-08-06 18:02:12 -02:30
Stephen Anthony
2406b8ad0f
Use our own RNG instead of C-style rand() (fixes issue #336 ).
2018-08-06 14:28:48 -02:30
Stephen Anthony
d71b33918a
Slight rework of random number generator.
...
- break dependence on OSystem; source for seed could actually be anything (doesn't have to come from OSystem)
2018-08-06 14:18:58 -02:30
Christian Speckner
86a242a8cf
Fix spurious failures of debugger breakpoints.
2018-08-06 17:53:44 +02:00
Stephen Anthony
68eec27c5c
Make FilesystemNode class non-virtual.
...
- this class is never inherited, so it's pointless for it to have virtual methods
2018-08-06 11:14:57 -02:30
Christian Speckner
af5eea286c
Fix debugger start parameters:
...
* Pass parameters from DispatchResult to debugger
* Fix default trap type (= read)
* Remove fallout from branch merge
2018-08-06 09:31:13 +02:00
Stephen Anthony
f2f952f09b
Reworking of the FSNode classes, using smart pointers.
...
- For now, I simply use shared_ptr; long term, I will look into unique_ptr for more efficiency.
2018-08-05 22:32:11 -02:30
Christian Speckner
e07617b618
Merge branch 'release/5.1' into release/6.0
2018-08-05 17:54:22 +02:00
Christian Speckner
4dde01f2f1
Typo; fixes #331 .
2018-08-04 23:38:28 +02:00
thrust26
56979052f9
made GameInfoDialog.Console settings immediate
2018-08-04 12:39:55 +02:00
thrust26
d9a1d2b7e5
trying to fix #328
2018-08-02 22:44:27 +02:00
thrust26
a24e042d1e
changed "FPS" back into "fps"
2018-07-31 17:07:51 +02:00
Stephen Anthony
78d7e9c29a
Fix minor warnings in Xcode.
2018-07-30 22:07:30 -02:30
Christian Speckner
6da398deaa
Display Hz in console time.
2018-07-31 00:07:07 +02:00
Christian Speckner
81f216872d
Update XCode project, fps -> FPS
2018-07-30 23:50:52 +02:00
Christian Speckner
9aeb40fc32
Display speed in OSD without decimals.
2018-07-30 23:40:48 +02:00
Christian Speckner
3a5572d3b9
Add measured FPS to OSD, squash a bunch of minor bugs.
2018-07-30 23:19:47 +02:00
Christian Speckner
89a6cb11d1
Remove busy waiting.
2018-07-26 20:55:47 +02:00
Stephen Anthony
e691853f0e
First pass at fixing superfluous re-draws in the UI.
...
- This addresses issue 158, and reduces CPU usage to near 0% when no changes are happening
- This returns the code to the same performance levels as version 3.x.
2018-07-25 08:48:21 -02:30
Stephen Anthony
949964bdf6
Oops, forgot something in the last commit; do not include header files twice.
2018-07-13 12:35:40 -02:30
Stephen Anthony
c2bfeb5799
Fix compile failure when debugger support is disabled.
2018-07-13 12:31:37 -02:30
Stephen Anthony
1a97c5bc93
Minor updates to Xcode project.
...
Changed uInt32 to uInt64 in several places, standardizing on uInt64 for cycle-related variables.
2018-07-01 23:23:11 -02:30
Stephen Anthony
4329eb5c37
Add missing file in VS project, and fix minor compile warnings.
2018-07-01 21:43:22 -02:30
Stephen Anthony
d8b4228ead
Fixes for minor compile warnings in clang 6 and gcc 8.
...
Sorry that this is all I've been able to contribute for the past few weeks :(
2018-07-01 21:15:15 -02:30
Christian Speckner
258fc9c106
Add missing files, fix XCode build.
2018-07-02 01:06:46 +02:00
Christian Speckner
f728a32731
More timing improvements.
2018-07-02 00:58:32 +02:00
Christian Speckner
621e0d9d79
Compile fix, more accurate timing.
2018-07-02 00:23:07 +02:00
Christian Speckner
c270a45409
Merge branch 'feature/precise-audio'
2018-07-01 23:48:26 +02:00
Christian Speckner
2b23c81126
Support variable emulation speed.
2018-06-27 23:12:50 +02:00
Christian Speckner
5656051aae
Tie in UI.
2018-06-25 00:30:52 +02:00
Christian Speckner
47bbdb679e
Remove unnecessary code, don't spam if audio is disabled.
2018-06-24 22:48:28 +02:00
Christian Speckner
176507cb46
Fix memory corruption on console reset.
2018-06-23 01:18:35 +02:00
Christian Speckner
ef5261689a
Major audio settings overhaul.
2018-06-23 00:58:28 +02:00
Christian Speckner
d127865dee
Remove a leftover from refactoring.
2018-06-19 21:37:18 +02:00
Stephen Anthony
963905759e
Controller/Genesis/Booster cleanup.
...
- Made BoosterGrip set defaults for analog pins, just like Genesis
- Removed superfluous call to update an unchangeable pin in Genesis
- Renamed Controller resistance constants to indicate that they are actually constants
2018-06-12 19:07:31 -02:30
thrust26
60519dbc6a
minor fix for Booster.cxx
...
code cleanup in Genesis.cxx
2018-06-12 20:38:48 +02:00
thrust26
a9cd833975
fixes #317
2018-06-12 20:11:29 +02:00
thrust26
337375a2b2
Merge branch 'master' of https://github.com/stella-emu/stella
2018-06-10 15:10:17 +02:00
thrust26
93e42bc15f
redefined Stella's PAL color palette
2018-06-10 15:10:04 +02:00
Christian Speckner
0fbd875783
Documentation.
2018-06-09 23:16:59 +02:00
Christian Speckner
8781889a7f
Documentation, cleaup, fix race in frame stats.
2018-06-09 00:31:20 +02:00
Stephen Anthony
6cb9efac28
Updated OSX project file for EmulationWorker class.
...
Fixed minor compile warning, and made a method const.
2018-06-07 19:56:36 -02:30
Christian Speckner
8edc597189
Hook and fix up EmulationWorker -> threading works, pick'n'pile is happy.
2018-06-07 23:38:14 +02:00
Christian Speckner
ea94f5e795
Scheduling fixes.
2018-06-07 21:02:08 +02:00
Christian Speckner
d8732c9378
Uups, fix evident error.
2018-06-07 20:59:15 +02:00
Christian Speckner
773a0cf906
Cleanup.
2018-06-07 20:55:33 +02:00
Christian Speckner
afb1e1d1e1
Emulation worker. Currently untested and disconnected.
2018-06-07 20:54:30 +02:00
Stephen Anthony
e0cf1d1dd5
Fix crash in OpenBSD framebuffer/texture cleanup.
...
- It seems that textures must be destroyed *before* the renderer is destroyed
- This isn't mentioned anywhere in the SDL docs, and it works everywhere else, but in any event it is now fixed
2018-06-07 12:46:26 -02:30
Stephen Anthony
cf34707e27
Use smart pointer to store static scanline data in FBSurface.
...
- in working on the OpenBSD crashing issue, I noticed that we can use a unique_ptr here
2018-06-06 17:57:15 -02:30
thrust26
a3955553b8
added missing auto detection for manual selected display format "Auto-detect" (50Hz ROM after 60Hz formats)
2018-06-03 11:39:42 +02:00
thrust26
f37651a46d
fixed missing ConsoleInfo.DisplayFormat update
2018-06-02 17:18:10 +02:00
Stephen Anthony
1eee879e29
Make sure onscreen messages are shown, even when a console doesn't exist.
2018-05-27 16:41:42 -02:30
Stephen Anthony
cc4bd29a03
Fix minor warning (nullptr is the proper C++ constant).
2018-05-27 16:17:12 -02:30
thrust26
f726ad0206
fix #314
2018-05-27 14:31:02 +02:00
Christian Speckner
a5ce457b72
Implement triple buffering in TIA.
2018-05-27 00:26:36 +02:00
Christian Speckner
77f149eab9
Fix stepping after breakpoint.
2018-05-24 00:19:49 +02:00
Christian Speckner
a14cf8d077
Refactoring: start debugger from dispatch loop.
2018-05-24 00:13:43 +02:00
Christian Speckner
ae0faaabfc
Fix cycle counting in CPU.
2018-05-22 00:18:07 +02:00
Stephen Anthony
ec1e65d683
Make Champ Games that use SaveKey use it by default.
2018-05-20 14:33:55 -02:30
Stephen Anthony
02dbbca861
Fixed bug with autodetecting SaveKey controller.
...
- The cycles were being reset to the current system cycles, when in the old
code they were not being updated at all (other than being normalized when the
old system cycles could be running backwards).
- This change restores behaviour to that in 5.0.2.
2018-05-20 14:33:44 -02:30
Stephen Anthony
b8978aa76e
Variables declared as uInt64 should be serialized as such.
2018-05-18 22:55:57 -02:30
Christian Speckner
ed6eae6a67
Rerender only if there is actual change.
2018-05-17 22:56:07 +02:00
Christian Speckner
639b6af1e9
Fix missing audio reset.
2018-05-16 13:09:50 +02:00
thrust26
adbde4e4db
preliminary audio dialog changes
2018-05-15 20:51:29 +02:00
Stephen Anthony
dc77f5d5f1
Variables declared as uInt64 should be serialized as such.
2018-05-12 17:04:33 -02:30
Christian Speckner
f01553bdc7
More audio queue tuning -> less lag.
2018-05-12 16:21:58 +02:00
Stephen Anthony
741515a520
Fix minor compile warnings generated by clang:
...
- mostly change pointer -> 0 to use 'nullptr'
- some commenting and formatting fixes
2018-05-11 21:01:40 -02:30
Christian Speckner
0c67bff939
Tuning, TODO
2018-05-12 00:18:09 +02:00
Christian Speckner
2da0ffa2f5
Rework available sampling rates (44100, 44800, 96000), add resampling.quality parameter.
2018-05-12 00:15:29 +02:00
Christian Speckner
3bac41dd46
Factor out resampling.
2018-05-09 00:38:01 +02:00
thrust26
1c10e590af
fixed missing prefix for "thumb.trapfatal"
2018-05-08 21:29:29 +02:00
Christian Speckner
6cc8a22978
More timing tuning, coding style.
2018-05-06 23:45:21 +02:00
Christian Speckner
a58db7e62d
Make sure that all audio samples are generated during each timeslice.
2018-05-05 01:08:09 +02:00
Christian Speckner
d2c930886b
Sanitize and match emulation timing
...
-> no more perceivable audio latency
-> fewer underruns
2018-05-05 00:47:48 +02:00
Christian Speckner
9079d77de0
Cosmetic changes, add audio todo.
2018-05-02 21:30:38 +02:00
Christian Speckner
c905b01fca
Merge branch 'master' into feature/precise-audio
2018-04-25 22:49:00 +02:00
Stephen Anthony
a978bb527e
Fix compile error when debugger support is disabled.
2018-03-31 20:33:25 -02:30
Christian Speckner
b5afa69764
Make coverty happy.
2018-03-30 22:04:42 +02:00
Stephen Anthony
382a39a6c7
More fixes for issues reported by Coverity.
2018-03-30 10:51:56 -02:30
Stephen Anthony
698beaec8b
Fixes for various issues reported by Coverity.
2018-03-24 16:58:08 -02:30
Stephen Anthony
0908a92da1
Continuing with the large refactoring of EventHandler:
...
- all keyboard-related stuff moved into PhysicalKeyboardHandler class
- all snapshot-related stuff moved directly into PNGLibrary class
- EventHandler class is now ~1300 LOC, which while still large, is much better than 2500 LOC
2018-03-24 12:36:00 -02:30
Stephen Anthony
0cde1ec4b9
Minor refactoring with Controller::isAnalog() usage.
2018-03-18 16:13:28 -02:30
Stephen Anthony
9a4b14392b
Minor refactoring of Controller class:
...
- a controller can now answer whether it is intrinsically an analog controller
2018-03-17 20:03:05 -02:30
Stephen Anthony
7eab28b2ef
Use smart pointer for joystick in PhysicalJoystickHandler.
2018-03-17 19:44:47 -02:30
Stephen Anthony
76b6026d30
First pass at reworking EventHandler, splitting it up into more manageable pieces.
...
For now, joystick-related stuff is moved into its own classes.
No improvements are made yet; just refactoring and moving code around.
This reduces EventHandler from ~2500 lines to ~2000 lines.
2018-03-17 18:00:44 -02:30
Christian Speckner
d8178f546b
Make sure that the hardware state is up to date before entering the debugger.
2018-03-13 23:38:31 +01:00
Christian Speckner
593ec2fdc9
Make sure that the hardware state is up to date before entering the debugger.
2018-03-13 22:13:35 +01:00
Christian Speckner
fbbfa222a0
Fix a detail in audio block simulation -> doctor sounds correct
2018-02-13 23:08:20 +01:00
Christian Speckner
5c1bd83904
Merge branch 'master' into feature/precise-audio
2018-02-12 23:32:03 +01:00
Christian Speckner
01c78842d6
Serialization fix.
2018-02-12 23:21:02 +01:00
thrust26
2a3bb4329e
load and update existing game specific properties file
2018-02-12 16:47:03 +01:00
Christian Speckner
d65ac4875f
Minor missile starfield fix.
2018-02-09 00:59:17 +01:00
Christian Speckner
b8af22cd67
Fix playfield signal during hblank.
2018-02-08 20:53:42 +01:00
Christian Speckner
b30fa0df98
And another collision fix.
2018-02-07 23:13:16 +01:00
Christian Speckner
6b6fb9140f
More HMOVE collision fixes.
2018-02-07 23:00:58 +01:00
Christian Speckner
07f1051be0
Tentative fixes for collisions during HBLANK.
2018-02-06 23:32:02 +01:00
Stephen Anthony
2874a7c504
Fixed some compiler warnings from clang.
...
Refactored Stack::replace() to use Stack::applyAll() lambda instead.
2018-02-06 15:11:16 -03:30
thrust26
564e014620
removed FLAT_UI code from TimeLineWidget
...
added toggle mode button to TimeMachineDialog
2018-02-06 12:46:27 +01:00
thrust26
1fa00f2372
initial wind when entering TM dialog causes message now
...
(TODO: try to propagate key into dialog instead)
2018-02-05 19:57:41 +01:00
thrust26
1569ee1c6b
minor code cleanup
2018-02-05 13:45:34 +01:00
thrust26
33756b2481
fixed a little merge error
2018-02-05 13:39:13 +01:00
Christian Speckner
7d7ebb8d03
Merge branch 'master' into feature/precise-audio
2018-02-04 23:50:16 +01:00
Christian Speckner
f7c445fb7c
Merge branch 'release/5.1'
2018-02-04 23:48:45 +01:00
Christian Speckner
ba549e1d8a
Improve PF collision handling during hblank.
2018-02-04 23:18:30 +01:00
thrust26
3ab2ddb870
fixed EventHandler logic
2018-02-04 21:00:10 +01:00
Stephen Anthony
9e53641add
Time machine rewinds are now triggered at the same time as entering the dialog.
2018-02-04 11:14:59 -03:30
Stephen Anthony
26096fcc47
Fixed some warnings, and updates for 5.1 release.
2018-02-03 19:29:27 -03:30
Stephen Anthony
6c5bddcdf8
Time Machine dialog now resizes correctly:
...
- in 2x mode, it takes up the maximum amount of space
- in larger modes, it takes up the same relative amount of space: ~80% width
2018-02-03 17:27:52 -03:30
Christian Speckner
803b85343a
Tuning.
2018-02-03 01:23:19 +01:00
Christian Speckner
cb89d09c7f
Refactoring: remove framerate from OSystem and Console.
2018-02-03 01:01:02 +01:00
thrust26
f4db8e4816
fixed zoom settings via hotkey (made persistent again)
2018-02-02 22:51:22 +01:00
thrust26
97a0638845
Added (fixed) tickmark intervals to SliderWidget
2018-02-01 18:21:57 +01:00
Christian Speckner
396dd637af
Rework dispatch loop.
2018-01-31 20:44:39 +01:00
Christian Speckner
7f83e776b2
Keep book of the number of cycles spent during emulation.
2018-01-31 19:29:37 +01:00
thrust26
f56286fac9
reordered frame stats to make more sense
2018-01-31 08:52:52 +01:00
thrust26
7970955353
aligned transparency with TimeMachineDialog
...
move slightly away from corner
2018-01-31 08:37:31 +01:00
thrust26
eb96e1ca49
reduced TimeMachineDialog transparency
...
frame stats now always displays the real frameRate
2018-01-30 09:06:03 +01:00
Christian Speckner
d70b0d8c40
Audio state serialization.
2018-01-29 22:44:06 +01:00
Christian Speckner
89f3f4c9b8
Merge branch 'master' into feature/precise-audio
2018-01-29 21:18:36 +01:00
Christian Speckner
87c59db4e0
Merge branch 'release/5.1'
2018-01-29 21:17:00 +01:00
Christian Speckner
13eefbb542
Make compiler happy.
2018-01-29 00:09:21 +01:00
Stephen Anthony
de7fd7401b
Synchronized shortcuts in TimeMachine to match those from EventHandler.
2018-01-28 12:21:22 -03:30
thrust26
966ba155ed
more response to SliderWidget added
...
units to SliderWidget added
enhanced various dialogs with slider units
2018-01-28 14:37:31 +01:00
thrust26
05d17496ab
minor wording fix
2018-01-28 11:35:14 +01:00
thrust26
d7cc2036df
some refinements for additional save states creation
2018-01-28 11:21:52 +01:00
thrust26
d2177ea610
added extra save state when starting time machine navigation
...
(some TODOs left, see EventHandler and TimeMachineDialog)
2018-01-28 10:15:39 +01:00
Christian Speckner
6b984a8563
Avoid race condition in pause, switch to shared_ptr for simpler semantics.
2018-01-28 00:27:25 +01:00
thrust26
8c0b212207
Overlapped dialogs are (partially) toned down
2018-01-26 12:55:05 +01:00
thrust26
f58e914729
focus highlighting added to more widgets
...
added some missing tab keys to debugger
fixed frame colors for CheckboxWidget and RadioButtonWidget
brightened inverted highlight color for "Light"
2018-01-26 11:33:46 +01:00
Christian Speckner
4528b9067a
Assorted fixes -> works (module timing glitches).
2018-01-25 22:48:00 +01:00
Christian Speckner
8198f6ccaf
Crackling and screeching.... but it is correlated with the TIA :)
2018-01-25 20:48:34 +01:00
thrust26
4c39fa3c68
some more focus highlighting added
...
made most sliders wider by default
2018-01-25 17:00:41 +01:00
thrust26
920b051f02
redesigned SliderWidget
...
better visual reaction of EditTextWidget and PopUpWidget
improved BrowserDialog
small refinement for ButtonWidget
2018-01-25 15:10:37 +01:00
Christian Speckner
4ec553785f
Implement and connect audio emulation.
2018-01-24 22:20:44 +01:00
thrust26
d179b8ebe8
Updated ScrollBarWidget
...
Refined LauncherDialog
Added missing Ellipsis to StellaFont.hxx
2018-01-24 20:53:00 +01:00
thrust26
5bd33885e3
title bar added to all dialogs
2018-01-24 14:37:07 +01:00
thrust26
41827e03de
removed some superfluous includes
2018-01-23 19:53:36 +01:00
thrust26
5757eccfcf
enabled FLAT_UI code, removed old code
2018-01-23 18:03:00 +01:00
Christian Speckner
f1b5421c17
Introduce and wire audio emulation core.
2018-01-23 13:41:14 +01:00
thrust26
a8b3c0d74d
reordered frame stats top line (makes more sense this way)
2018-01-21 11:05:00 +01:00
thrust26
a5e7911930
disabled test for "auto" frame rate
2018-01-21 10:19:28 +01:00
Christian Speckner
6fe5f3b197
Merge branch 'release/5.1'
2018-01-21 09:38:42 +01:00
Stephen Anthony
1055a4bd06
Minor cleanup of warnings in FrameBuffer class.
2018-01-20 20:51:46 -03:30
thrust26
2d03a2d059
aligned implementation parameter of handleEvent with definition parameter
2018-01-20 20:49:57 -03:30
thrust26
b67b795642
larger font for frame stats
2018-01-20 20:49:48 -03:30
thrust26
27291dd5d2
small fix for benchmark commit
2018-01-20 20:49:14 -03:30
thrust26
436c380a7e
benchmark: frame stats now display real frame rate when 'Auto' is not selected
2018-01-20 20:49:05 -03:30
thrust26
2e51511c80
message for SaveKey/AtariVox EEPROM access added
2018-01-20 20:41:29 -03:30
thrust26
7b8dff8e46
when strings are shortened, ellipsis is added at the END now
2018-01-20 20:12:47 -03:30
thrust26
6f7ff023a6
generic shadowed char/string drawing added
...
TimeMachineDialog fully transparent now (experimental)
info stats indicates scanline/frame rate changes in red
2018-01-20 20:12:35 -03:30
thrust26
72ff2a40fa
developer/player settings added to frame stats overlay
2018-01-20 20:11:54 -03:30
thrust26
a1b54680bd
frame stats overlay made transparent
2018-01-20 20:10:39 -03:30
Stephen Anthony
9e403826d2
Fixed compilation when '--disable-debugger' is used.
2018-01-20 18:34:19 -03:30
thrust26
40615be9be
Revert "fix repeated ESC from debugger", there is a more fundamental problem
...
This reverts commit 1b5ac9d3b5
.
2018-01-20 21:48:24 +01:00
thrust26
b3e582209f
fix the fix
2018-01-20 21:27:05 +01:00
thrust26
1b5ac9d3b5
fix repeated ESC from debugger
2018-01-20 21:22:01 +01:00
thrust26
7d9b7388c9
ESC key exits Debugger too
...
many keys are enabled now during PAUSE mode too
2018-01-20 18:40:25 +01:00
Stephen Anthony
d7bcde29dc
A different implementation of testing whether debugger can be exited.
...
- basically check whether the current dialog is the 'base' one (ie, the debugger window)
- this solution is more robust, in that we don't have to modify every dialog that can appear in the debugger
2018-01-20 11:45:07 -03:30
thrust26
9263e7c62f
refactored ESC key handling
...
prevent exiting debugger from within Options Dialog (hack)
2018-01-20 10:53:54 +01:00
Stephen Anthony
df119ba505
Minor cleanup of warnings in FrameBuffer class.
2018-01-19 18:32:11 -03:30
thrust26
78b807efba
ESC allows exiting Pause mode, TimeMachine mode and Command Menu.
2018-01-19 12:44:07 +01:00
thrust26
4c9cfad70b
aligned implementation parameter of handleEvent with definition parameter
2018-01-19 10:45:29 +01:00
thrust26
af19f9f2b8
enter debugger from time machine mode option added
2018-01-19 10:35:52 +01:00
thrust26
98fcb51819
larger font for frame stats
2018-01-18 23:06:51 +01:00
thrust26
a6bea6438f
fix #279
2018-01-17 19:29:36 +01:00
thrust26
a6ea393905
small fix for benchmark commit
2018-01-17 19:12:39 +01:00
thrust26
b111a8c127
benchmark: frame stats now display real frame rate when 'Auto' is not selected
2018-01-17 19:03:25 +01:00
thrust26
0906997d82
message for SaveKey/AtariVox EEPROM access added
2018-01-17 10:27:18 +01:00
thrust26
43be89f124
when strings are shortened, ellipsis is added at the END now
2018-01-16 18:16:56 +01:00
thrust26
802606ce29
Merge branch 'master' of https://github.com/stella-emu/stella
2018-01-16 11:14:47 +01:00
thrust26
a577b0f9c2
generic shadowed char/string drawing added
...
TimeMachineDialog fully transparent now (experimental)
info stats indicates scanline/frame rate changes in red
2018-01-16 11:14:26 +01:00
Christian Speckner
317f7391c2
Merge branch 'master' into feature/precise-audio
2018-01-15 23:53:35 +01:00
Christian Speckner
6cd7eb3821
Merge branch 'release/5.1'
2018-01-15 23:50:18 +01:00
thrust26
b22c292f3c
developer/player settings added to frame stats overlay
2018-01-15 20:25:28 +01:00
thrust26
8583883795
Merge branch 'master' of https://github.com/stella-emu/stella
2018-01-15 14:44:56 +01:00
thrust26
cef50e4368
frame stats overlay made transparent
2018-01-15 14:44:09 +01:00
thrust26
f241dfd7b7
fixed compressStates(), now, with compression enabled, the first element is always kept and the horizon matches
...
missing "framerate" added, now changes are persisted.
2018-01-10 11:48:06 +01:00
Stephen Anthony
29499775dc
Fixed compilation when '--disable-debugger' is used.
2018-01-09 23:16:50 -03:30
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
Stephen Anthony
f9d243e503
Fixed incorrect size in memset; this time I'll sizeof.
2018-01-05 22:03:42 -03:30
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
542fed69ed
Collapsed MouseButton enum into just buttons, removing state (pressed or released).
...
- By itself, this first patch doesn't seem to accomplish much, but it leads into patch 2
- Patch 2 will extend usage of MouseButton enum all throughout the GUI core
2017-12-29 16:05:07 -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
ad69e8900d
Time Machine dialog can now be toggled by pressing 'T'.
...
- Note that the dialog is currently empty
- See src/gui/CommandDialog for example of how to fill this dialog box
2017-12-22 12:28:06 -03:30
Stephen Anthony
cbb494d7ad
HiDPI fixes for framebuffer messages.
2017-12-21 23:04:17 -03:30
Stephen Anthony
44c5882920
Use 'enum class' instead of raw enum.
2017-12-21 19:53:54 -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
6181c3fbe0
Updated VS project files for recent class renames.
...
- Also fixed several classes in the wrong place compared to their
on-disk location.
2017-12-20 22:27:13 -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
Stephen Anthony
6313c98fdc
Almost all ROM properties are now updated to RomHunter v14.
...
- I will take a quick look over them again, to make sure I didn't miss any new ROMs.
2017-12-20 18:41:24 -03:30
Stephen Anthony
c6acb622cc
Updated ROM properties up to 'T'.
2017-12-20 16:43:04 -03:30
Stephen Anthony
81179ab34f
Revert handling of broken F8 ROMs; we can turn off randomization to make them work.
2017-12-20 14:47:17 -03:30
Stephen Anthony
63b3b2ab1e
Updated ROM properties to 'R'.
...
Fixed F8 scheme to not randomize 'special' ROMs (those hardcoded with a certain startup bank).
Bumped state file version number.
2017-12-20 14:23:34 -03:30
thrust26
0826ce6bd6
Made collisions editable
2017-12-20 18:18:07 +01:00
Stephen Anthony
57036823ea
ROM properties updated up to 'M'.
2017-12-20 11:05:20 -03:30
Stephen Anthony
ad78fbaa07
Updated ROM properties up to 'E'.
2017-12-19 22:22:11 -03:30
thrust26
e9ef45ab0a
minor consistency fix and doc updates
2017-12-19 18:10:01 +01:00
thrust26
7259af1583
"Light" color fix
2017-12-19 16:56:01 +01:00
thrust26
d7a34ec7dd
'tab' key skips disabled widgets
...
'ghost' read traps are displayed by 'RTrapG'
2017-12-19 09:01:26 +01:00
thrust26
b280a3ed27
Merge branch 'master' of https://github.com/stella-emu/stella
2017-12-18 21:56:26 +01:00
thrust26
fabf812543
developer dialog Horizon enable fix
...
FLAT_UI fixes for disabled elements
2017-12-18 21:56:07 +01:00
Stephen Anthony
042d4bc812
Updated ROM properties for ROMs starting with 'B' and 'C'.
2017-12-18 16:10:15 -03:30
Stephen Anthony
dd5a46880e
Some updates to dialog positioning in preparation for HiDPI.
...
- note that these are fixes that are needed with or without HiDPI; testing HiDPI just exposed them as bugs
- also fixed some minor warnings and formatting
2017-12-18 15:15:57 -03:30
thrust26
481c85c0c3
added option for 'ghost' read traps
...
update documentation accordingly
removed reload requirements for Time Machine
2017-12-18 19:16:41 +01:00
thrust26
e5216d4f90
added index to conditional trapif/breakif/savestateif display
2017-12-18 13:28:23 +01:00
thrust26
50c8c5c266
fixed name resolution for trapread
2017-12-18 13:09:03 +01:00
Stephen Anthony
200b5cfe87
Updates to ROM properties from RomHunter:
...
- for now, only newly added ROMs and those starting with 'A' are included
2017-12-18 00:36:25 -03:30
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
7f08d9b74c
some more UI polishing
2017-12-17 13:28:23 +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
1f2062feeb
Merge branch 'master' of https://github.com/stella-emu/stella
2017-12-17 00:48:46 +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
Christian Speckner
e5d7c23412
Update TIA and RIOT state in lockstep with the CPU if any debugger expressions are registered.
2017-12-16 21:29:28 +01:00
thrust26
0e5a444699
Merge branch 'master' of https://github.com/stella-emu/stella
2017-12-16 09:46:50 +01:00
thrust26
31b459ac84
fixed #269
2017-12-16 09:46:25 +01:00
Christian Speckner
8e7d0aa7b3
Fix frame manager serialization. Closes #267 .
2017-12-15 23:53:11 +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
Stephen Anthony
bf6d28e181
Added basic infrastructure for what will become the rewind dialog.
2017-12-15 13:19:29 -03:30
Stephen Anthony
434d2dfc83
Converted some raw enum to 'enum class' in FrameBufferConstants.
2017-12-14 21:29:45 -03:30
Stephen Anthony
31da99f48b
Convert some raw enum to C++11 'enum class' in EventHandlerConstants.
2017-12-14 21:04:19 -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
e2301dfd5e
fine tuning on interval factor and state compression
...
rewind now displayed immediately (instead of "Paused")
two initial rewinds in continuous rewind mode fixed
Horizon widget disabled when Uncompressed size == Buffer size
fixed minimum Interval
2017-12-13 19:15:09 +01:00
thrust26
20eb97ce14
savestate position in list display in message added
...
compressStates loop fixed and slightly optimized
fixed minimal size value in Settings
2017-12-13 12:31:18 +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
Christian Speckner
6500ab0613
Compile thumbulator unconditionally.
2017-12-10 00:22:18 +01:00
thrust26
a1d0319042
corrected defaults for aspect ratio to 0.91 (NTSC)/1.09 (PAL)
...
see https://en.wikipedia.org/wiki/Pixel_aspect_ratio
2017-12-08 11:33:55 +01:00
Stephen Anthony
a79ccf400f
Minor updates to rewind:
...
- comments are now more in line with what actually happens when adding a state
- changed Serializer::reset() to Serializer::rewind(), to more accurately indicate what it does
2017-12-06 11:44:40 -03:30
thrust26
90be9bb607
fixed DTHUMB_SUPPORT error
2017-12-06 13:03:27 +01:00
thrust26
ec5a3cdec5
thumb.trapfatal added to developer settings dialog
...
restructured developer settings dialog
duplicated debug colors are changed automatically
updated doc and screenshots accordingly
2017-12-06 12:15:16 +01:00
thrust26
87d5886067
fixed #264
2017-12-06 11:01:33 +01:00
Christian Speckner
833c4de688
Silence compiler warning.
2017-12-05 21:20:27 +01:00
Christian Speckner
2b5416eade
Don't trap write accesses to datastream pointers & friends in CDF / BUS.
2017-12-05 20:29:22 +01:00
Stephen Anthony
1f43539f10
Changed Switches::update() to not evaluate settings on every call.
...
Basically, removed determination of whether we're in 2600 or 7800 mode
from the hot path, and moved it to a method that is called only when
it changes (currently that method doesn't seem to be called at all, since
it seems like 'console' setting cannot be changed dynamically).
2017-12-04 14:12:06 -03:30
Christian Speckner
ed25664c46
Add two "grace lines" of black when autodetecting ystart.
2017-12-04 00:25:54 +01:00
Christian Speckner
5736f93fcd
Add two "grace lines" of black when autodetecting ystart.
2017-12-04 00:25:03 +01:00
Christian Speckner
e88751638b
Gut current audio code.
2017-12-01 23:17:16 +01:00
Stephen Anthony
a4f33127ba
Added ROM properties for 'Super Cobra Arcade'.
2017-12-01 15:42:33 -03:30
thrust26
bd52880a46
minimal Cart class refactoring
2017-12-01 12:03:19 +01:00
thrust26
d333553ec2
startup bank for E0 bankswitch type randomized
2017-12-01 10:08:10 +01:00
thrust26
7fc1c54d4c
more E7 refactoring/cleanup
2017-11-30 17:26:58 +01:00
Stephen Anthony
178c5b4eaf
Changed 'const' to 'constexpr' in several places.
...
Note that constexpr should be preferred, since it _guarantees_ compile-time
usage, whereas 'const' alone doesn't necessarily do that. So constexpr
is guaranteed to be more efficient.
2017-11-30 10:36:31 -03:30
thrust26
1d5333969b
startup bank for 3F getting randomized
2017-11-30 11:36:21 +01:00
thrust26
3fddc7fcc3
minor merge update
2017-11-30 09:12:35 +01:00
Stephen Anthony
f7f9a8a3df
Re-generate DefProps.hxx from stella.pro changes.
2017-11-29 21:07:39 -03:30
Christian Speckner
53a2d59e02
Add a bunch of missing overrides.
2017-11-30 01:22:41 +01:00
Christian Speckner
2b285060fe
Remove dead code.
2017-11-30 01:14:22 +01:00
thrust26
2a4db8e11e
startup bank randomization info added to widgets
2017-11-29 20:48:19 +01:00
thrust26
30cb1fe14d
RewindManager fix for ROM startup rewind
...
-bankrandom support for E7(8K) added
2017-11-28 23:20:06 +01:00
thrust26
a239d94df9
E78K signature fix
2017-11-28 22:25:09 +01:00
thrust26
b3e92842e5
some more refactoring
2017-11-28 22:00:42 +01:00
thrust26
8d42af251e
some magic numbers replaced
...
(and fixed a bug regarding offset into myCodeAccessBase)
2017-11-28 16:38:01 +01:00
thrust26
b0a373285b
fixed irritating variable name
2017-11-28 14:19:04 +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
4085469dbc
VERY minor copy&paste error fix
2017-11-27 11:51:25 +01:00
Christian Speckner
35ae38572c
Clear FB before running autodetection.
2017-11-26 23:24:05 +01:00
Christian Speckner
1c10f55bb0
Mute audio while autodetection runs.
2017-11-26 23:10:43 +01:00
thrust26
cc55724d49
Revert "changed saved game properties (Control + s) path to defaultSaveDir()"
...
This reverts commit ae0a3c1ba5
.
According to documentation, the contents should overwrite stella.pro.
2017-11-25 12:36:11 +01:00
thrust26
df0a3720db
fix to developer settings dialog parameters
2017-11-25 12:33:38 +01:00
thrust26
ae0a3c1ba5
changed saved game properties (Control + s) path to defaultSaveDir()
...
Question: Should those files overwrite Stella.pro automatically?
2017-11-25 11:18:05 +01:00
thrust26
7c46f031f3
further Developer settings dialog improvements
2017-11-25 11:12:17 +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
thrust26
5d0bc45a09
refactored RadioButtonWidget into own class
2017-11-24 12:33:22 +01:00
thrust26
44d6cf15a0
RadioButtonWidget added
...
disabled CheckboxWidget still shows status
2017-11-24 11:23:45 +01:00
thrust26
63f8605977
made "tia.zoom" hotkeys toggle settings temporary only
2017-11-23 23:40:37 +01:00
thrust26
d6680a681f
made "color loss", "stats" and "grab mouse" hotkey toggles temporary only
...
added messages for "grab mouse" toggle
updates doc for "grab mouse" toggle
2017-11-23 22:13:37 +01:00
thrust26
e18474a5e9
frame stats added to Developer Setting ("dev.stats" now)
2017-11-23 11:35:28 +01:00
thrust26
72710aa323
manual color-loss toggling fixed
2017-11-23 10:46:22 +01:00
thrust26
cddf4f2f2a
3rd attempt to get Challenge HES right. :)
2017-11-23 08:32:28 +01:00
thrust26
ac96f18508
updated note for Challenge (NES)
2017-11-23 08:23:32 +01:00
thrust26
66a2372512
removed special startup bank for "Challenge (HES) (PAL).bin" (2 in 1 ROM)
2017-11-22 22:26:22 +01:00
thrust26
984ae0156e
preparation for RewindManager parameters
2017-11-22 20:07:55 +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
7a65a4445b
replaced "..." with ellipsis char
2017-11-21 11:01:32 +01:00
Stephen Anthony
be6250b29b
More header fixes (this time in 'src/gui').
2017-11-20 15:58:32 -03:30
Stephen Anthony
5b6fabcf3c
Header file fixes for remaining files in 'emucore'.
2017-11-20 15:27:05 -03:30
thrust26
01d3a29f66
conditional savestates in debugger added
2017-11-19 18:52:27 +01:00
Stephen Anthony
b098f29e9d
Re-create DefProps.hxx from stella.pro.
...
Hmm, it seems I can do this from the Git bash terminal in Windows; cool.
2017-11-19 11:20:55 -03:30
thrust26
9f9b1df2c7
properties for 'Bumper Bash' updated
2017-11-19 15:04:14 +01:00
thrust26
73a8938abf
fixes for developer settings
2017-11-18 18:22:10 +01:00
thrust26
ceb58b8b71
PAL color loss and tv.jitter option removed from Video Settings, only one option (dev.) left
2017-11-18 16:36:15 +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
2dde406bb9
some minor cleanup and preparation for more options
2017-11-17 17:26:42 +01:00
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
thrust26
d24f962909
'Desert Falcon (PAL)' ROM properties updated, display format is PAL
2017-11-13 21:01:58 +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
Stephen Anthony
a802e934c9
Fixed 'Gamma Attack' ROM properties; the right joystick is the default.
2017-11-10 08:36:59 -03:30
thrust26
d81b1d1e4e
debug color for playfield slightly varied for PF0/1/2 (implements #248 )
2017-11-09 15:55:56 +01:00
Stephen Anthony
e64e0ea844
Fix compile errors when certain options are disabled by 'configure'.
2017-10-19 22:14:17 -02: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
Christian Speckner
23cac0538c
Documentation.
2017-10-17 23:35:49 +02:00
Christian Speckner
b5feb9fc40
Remove dead constants, change vsync margin during ystart to match frame.
2017-10-17 22:31:55 +02:00
Christian Speckner
86e789a6cf
Minor refactoring, be more tolerant w.r.t. vsync timings -> fixes Acid Drop.
2017-10-17 22:24:40 +02:00
Christian Speckner
20c21177ea
No jitter simulation during the initial garbage frames.
2017-10-17 22:06:11 +02:00
Stephen Anthony
ad2d53758f
Fixed final warning in jitter code.
2017-10-17 09:57:19 -02:30
Christian Speckner
424808b948
Revised my decision ;)
2017-10-17 00:26:12 +02:00
Christian Speckner
1338b8d0d0
Fix spurious jitter in ROMs with continously changing frame height (ghost!).
2017-10-17 00:25:24 +02:00
Christian Speckner
4a73aab1e4
Fix segfault during ystart autodetection.
2017-10-16 23:53:41 +02:00
Christian Speckner
18895e3683
Remove FIXME --- the comparision is legitimate.
2017-10-16 23:37:22 +02:00
Christian Speckner
f02a7020b0
Fix typo.
2017-10-16 23:36:52 +02:00
Christian Speckner
5384ca95d2
Oops.
2017-10-15 22:23:17 +02:00
Christian Speckner
2c96258890
Merge branch 'refactoring/frame_manager'
2017-10-15 21:12:14 +02:00
Christian Speckner
14dde10b34
Silence clang warnings.
2017-10-15 21:03:33 +02:00
Stephen Anthony
abc7ffdf03
Fixed missing break.
2017-10-15 16:06:06 -02:30
Christian Speckner
be877f8503
Merge branch 'master' into refactoring/frame_manager
2017-10-15 20:28:27 +02:00
Christian Speckner
f67a977c97
CS.
2017-10-15 20:27:16 +02:00
Christian Speckner
dc770b2e83
Remove dead code.
2017-10-15 11:55:01 +02:00
Christian Speckner
640da16a2a
Reenable jitter.
2017-10-15 00:11:19 +02:00
thrust26
ff57f271ea
keys for rewind/unwind from within emulator added (start pause mode and work in pause mode too)
...
entering debugger from pause mode allowed (TODO: allow more functions)
"Pause" displays always immediately
2017-10-14 12:22:21 +02:00
thrust26
44f7029573
formatting for hit traps and changed source addresses changed
2017-10-13 12:18:41 +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 Anthony
1707a8f167
Fixed a few more warnings generated by Clang 6.
2017-10-12 23:19:33 -02:30
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
nanochess
3a853b8944
Corrected wrong message "shotshot" to "snapshot"
2017-10-11 22:33:38 -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
Christian Speckner
0e5525223b
Remove dead code from FrameManager (temporarily disables jitter).
2017-10-12 00:26:08 +02:00
Christian Speckner
d0da98aef9
Remove the (now obsolete) logic for clearing the first pixels of line zero.
2017-10-12 00:10:36 +02:00
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
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
Christian Speckner
12afce8c0d
Documentation, minor simplificationsDocumentation, minor simplifications.
2017-10-10 10:20:53 +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
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
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
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
Christian Speckner
a452d83b39
Coding style.
2017-10-07 18:48:02 +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
thrust26
61bf556e5b
it compiles again
2017-10-06 23:06:59 +02:00
Stephen Anthony
f38b40415f
Minor refactoring of AVox/SaveKey classes (use delegating c'tor).
2017-10-05 20:57:02 -02:30
Stephen Anthony
9fc8b9fcc0
Fixed crash when specifying an invalid controller type on the commandline.
2017-10-04 18:35:55 -02:30
Stephen Anthony
90a6c35061
Removed ability to manually select CompuMate controllers ( fixes #229 ).
2017-10-04 17:43:21 -02:30
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
Christian Speckner
d52562975d
AbstractFrameManager adjustments.
2017-10-03 23:08:14 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
6e55d98ad7
Fixed inconsistent Alt-p phosphor behaviour ( fixes #196 ).
2017-08-19 19:48:41 -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
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
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
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
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
04ce40b27c
Make sure trakball is read over entire vertical range.
2017-07-30 13:14:16 -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
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
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
c364526ff6
Made 'tv.jitter' effect enabled by default.
2017-07-14 09:27:04 -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
fadf9d5535
Updated ROM properties to RomHunter version 13.
2017-07-09 15:48:10 -02:30
Stephen Anthony
970804b9f3
Optimization: modify RGB pixel data locally instead of calling functions.
...
This is allowed, since after analyzing the code, we see the pixel format
will always be ARGB8888 mode, so we can hard-code the logic to do the
conversion.
This leads to a measurable performance improvement, since we eliminate
3 function calls per RGB colour lookup. And the calls themselves involved
IF statements and various other shifts that weren't needed. Assuming
normal phosphor mode with 160x210 pixels, this saves 100,800 function calls
per frame!
2017-07-05 14:48:43 -02:30
Stephen Anthony
ea59fdd3f2
Code cleanups, commenting fixes, etc for Blargg-related code.
2017-07-05 14:11:41 -02:30
Stephen Anthony
09af9d09a5
Finally fixed issue #75 (phosphor mode now works with Blargg).
2017-07-05 12:48:39 -02:30
Stephen Anthony
7b57d52260
My neverending quest to protect against raw pointers.
...
Changed many 'const char* ...' to 'const char* const ...'.
2017-07-02 20:46:27 -02:30
Stephen Anthony
9972af022a
Fairly huge refactoring of the cart autodetection code.
...
This has been in patch form for about a year, and I'm finally
getting around to applying it. Basically, we separate the Cart
class into 3 classes:
- Cart: stuff specific to cartridge emulation
- BSTypes: various bankswitch types, both as enum and strings
- CartDetector: actual bankswitch auto-detection code
Also made more use of smart pointers, and added const in a few
more places.
I promise to get back to the phosphor stuff soon. This is just
to clear my head a little.
2017-07-02 19:27:27 -02:30
Stephen Anthony
2e776b05b8
Introduced 'tia.dbgcolors' commandline argument, which allows to set
...
the fixed debug colors to user-defined preferences. Note that there
are 6 registers (P0,M0,P1,M1,PF,BL), and the option takes a string
of 6 characters, where each represents a colour for the respective
positional register (ROYGBP are the choices).
I may add a UI item for this, but this is as far as I will go with
allowing user editing.
2017-07-01 19:54:02 -02:30
Stephen Anthony
bd78683274
Rearranged some Blargg code, added comments, general cleanups.
...
For now, Blargg phosphor mode simply shows the same image as without phosphor.
This is a WIP, and if we can't get it finished for 5.0, it will be released as-is.
Phosphor blend now defaults to 0 in the base properties, and is converted to
50 before being passed to higher levels. This needs to change when we
get to issue #144 .
2017-06-30 14:10:14 -02:30
Christian Speckner
fa76042790
Make sure that pending RDY is handled after stepping the CPU. Closes #155 .
2017-06-24 00:35:17 +02:00
Christian Speckner
4515e79b4e
Jitter only of frame height has changed for three or more consecutive frames.
2017-06-24 00:09:34 +02:00
Christian Speckner
628133d2dd
Don't jitter if frame height differes by less than 3 lines.
2017-06-23 01:01:36 +02:00
Christian Speckner
b30ca12731
Fix TIA info in debugger after RSYNC.
2017-06-22 01:08:22 +02:00
Christian Speckner
ccafbf2bbd
Tie state transitions directly to hctr in order to avoid edge cases during RSYNC.
2017-06-22 01:08:22 +02:00
Stephen Anthony
881dc86ab7
Oops, we need to handle the case where the controller is undefined.
2017-06-18 21:59:04 -02:30
Stephen Anthony
0bc8a928f0
Minor optimization in creating controller device in Console.
2017-06-18 21:52:59 -02:30
Stephen Anthony
0f2df7e87b
Fairly large reorganization of the Blargg NTSC TV effects code:
...
- converted many pointers to references
- merged code from several files into one class
- broke up some methods into more managable chunks
This will allow it to be easy to add the phosphor code during
NTSC TV emulation.
2017-06-17 20:08:36 -02:30
Christian Speckner
5da20a3a7a
Savestate handling.
2017-06-15 17:16:06 +02:00
Christian Speckner
bdded5e600
Wait for frame handling to stabilize before drawing.
2017-06-15 17:12:39 +02:00
Christian Speckner
c2ce1943ca
Fix loading and saving TIA state.
2017-06-15 16:13:07 +02:00
Christian Speckner
cf55f5d413
Fix buggy blanking of line 0.
2017-06-14 12:37:57 +02:00
Stephen Anthony
44ead7b926
Updated std::map to use emplace instead of insert (optimization).
2017-06-09 14:50:11 -02:30
Christian Speckner
1ecb8852de
Use console timing instead of frame layout in order to determine clock in paddle reader.
2017-05-31 00:01:11 +02:00
Stephen Anthony
5dbd9fee51
Some changes to phosphor blending:
...
- Updated default phosphor blend to '30'.
- Added shortcut keys Alt-i and Alt-o to decrease/increase phosphor
blend mode dynamically, while a ROM is running.
- Made range of blending 0 - 100.
2017-05-29 10:49:50 -02:30
Stephen Anthony
ef9816014d
Set default phosphor blend to 60; looks the most realistic on my test systems.
2017-05-28 19:53:48 -02:30
Stephen Anthony
c8abbf50fb
Fixed minor compile warnings in Visual Studio.
2017-05-28 18:51:46 -02:30
Stephen Anthony
f8ea61875c
Implemented new phosphor mode by Thomas Jentzsch.
...
- Phosphor mode with Blargg effects is currently broken.
2017-05-28 16:15:39 -02:30
Stephen Anthony
e419bbbcab
Sample playback update for BUS & CDF.
2017-05-28 14:40:51 -02:30
Stephen Anthony
79d8ed0010
Fixed TIA image in debugger being two frames behind.
2017-05-28 13:55:23 -02:30
Stephen Anthony
ea7a20a5a0
Merge branch 'master' of https://github.com/stella-emu/stella
2017-05-27 14:10:35 -02:30
Stephen Anthony
cdd336857e
Added 'fallthrough' directive in cases where we fall through a case statement.
2017-05-27 14:10:05 -02:30
Christian Speckner
8d46679286
Implement proper RDY emulation --- fixes #42 .
2017-05-27 01:00:03 +02:00
Philip James
6ff2095a9f
Fixed compile when --disable-cheats is passed to configure
2017-05-18 09:12:25 -02:30
Christian Speckner
b2c8c3ff81
DelayQueue tuning:
...
* Remove stringstream from DelayQueueMember::name
* Use a bit mask instead of modulo in DelayQueue
2017-05-16 01:26:07 +02:00
Philip James
f9368c681a
Cleaned up a few places that still used SDL types and replaced them with BSPF types
2017-05-15 07:55:25 -02:30
Stephen Anthony
074f4ec2e0
Updated VS build for recent DelayQueue changes.
2017-05-14 22:48:13 -02:30
Stephen Anthony
336dbb0de4
PAL colour-loss is disabled by default.
2017-05-14 22:38:18 -02:30
Christian Speckner
744571b1da
Optimization: rewrite DelayQueue w/o STL vectors.
2017-05-15 00:43:18 +02:00
Stephen Anthony
145d47315e
Update to BUS FastJump.
2017-05-13 18:12:14 -02:30
Stephen Anthony
78cb21d798
Fixed PAL color-loss effect bug when the ROM always has an odd # of lines.
2017-05-12 18:12:32 -02:30
Stephen Anthony
73fe5f3b40
Oops, forgot to remove some debugging info.
2017-05-12 16:31:27 -02:30
Stephen Anthony
fb5daa483b
Re-activate PAL colour-loss effect.
...
- Only activates in PAL-like modes (PAL and PAL60)
2017-05-12 16:29:46 -02:30
Darrell Spice, Jr
1c9343e0e4
Update to CDF FastJump
...
Revised CDF so "false" reads after NOPs, taken branch instructions, etc. no longer crash JMP FASTJMP
2017-05-12 16:13:16 -02:30
Christian Speckner
362f7c2888
Reimplement jitter; fixes #11 .
2017-05-09 00:10:14 +02:00
sa666666
2adbe7a3fc
Merge branch 'master' into master
2017-05-07 17:40:11 -02:30
Darrell Spice, Jr
490724c079
Updated BUS to new spec
...
The Harmony/Melody BUS driver is undergoing a major revision to add support for the new JMP FASTJUMP feature. This update implements the changes, as well as the fast jump feature which isn't yet in the HMdriver. It also implements the load/save state support as well as the BUS debugger widget.
A few minor updates to CDF were also done.
Note that this update breaks compatibility with the previous BUS demos.
2017-05-07 14:43:54 -05:00
Stephen Anthony
a87334a268
Great colon purge Part2: RIOT tab and controllers.
2017-05-06 14:06:19 -02:30
Stephen Anthony
6ba627e059
Show error message when a dialog box can't be opened.
...
Rework defaults for ROM launcher and TIA zoom level.
Both of these are basically defined around having only a 640x480
screen, which hasn't been the case on hardware (even phones) for
about 10 years.
2017-05-05 16:50:02 -02:30
Stephen Anthony
847e910d26
Added new darker colour for togglewidget background disabled bits.
2017-05-04 09:36:32 -02:30
Stephen Anthony
1d30f1ddc0
Rearranged debug colours and collision widgets in TIA tab.
2017-05-03 20:01:08 -02:30
Stephen Anthony
2973d03e01
Added VDel and togglewidget for new/old ball in debugger TIA tab.
...
Cleaned up some minor spacing issues in previous CDF commit.
2017-04-30 14:42:06 -02:30
Darrell Spice, Jr
4958ca3d93
CDF updates
...
* Implemented load/save state.
* Updated the debugger tab, which required the following:
- removal of : from RAM labels (part of the debugger overhaul)
- setCrossed() functionality in the DataGrid
2017-04-30 13:39:40 -02:30
Stephen Anthony
ba2bed21b5
Fix potential crash in ARM code in DPC+ scheme.
2017-04-27 20:24:19 -02:30
Stephen Anthony
a0e1ec322a
Update statefile # for recent statefile format changes.
2017-04-25 20:20:54 -02:30
Stephen Anthony
3e1b03bed5
3 voice music correction for CTY scheme.
2017-04-25 19:26:04 -02:30
sa666666
dc5a0bdba1
Merge pull request #122 from SpiceWare/master
...
3 voice music correction
2017-04-25 19:24:34 -02:30
Darrell Spice, Jr
742eb36654
3 voice music correction
...
Christian discovered a bug in the updateMusicModeDataFetchers() function used by BUS, CDF, and DPC+.
2017-04-25 16:27:39 -05:00
Christian Speckner
24e449c5d4
Setters for player and ball old registers.
2017-04-25 22:58:05 +02:00
Darrell Spice, Jr
86ecaca7d9
Updates to BUS
...
Add digital sample support to BUS.
2017-04-25 08:38:06 -05:00
Christian Speckner
ea7792d57a
Add getters for old / new GRPx / ENABL registers.
2017-04-24 23:47:06 +02:00
Christian Speckner
f51c6c983b
Show queued GRPx / ENABL shuffles in delay queue widget.
2017-04-24 23:42:44 +02:00
Darrell Spice, Jr
3b0b6127cc
Merge remote-tracking branch 'stella-emu/master'
2017-04-23 18:07:54 -05:00
Christian Speckner
ce204901dc
Flush the line cache after stepping.
...
Ensures that the display will match the step afterwards.
2017-04-24 00:34:25 +02:00
Christian Speckner
24cb2417fc
Port improved line caching from 6502.ts .
2017-04-23 23:37:30 +02:00
Darrell Spice, Jr
26e9144468
Merge remote-tracking branch 'stella-emu/master'
2017-04-23 16:09:31 -05:00
Darrell Spice, Jr
a4fdab5534
Updated CDF to new spec.
...
The Harmony/Melody CDF driver underwent a major revision to add support for the new JMP FASTJUMP feature. Note that this update breaks compatibility with the previous CDF demos.
3-Voice Audio and Digital Sample playback are in place, though both sound "off" so further work will need to be done. Debugger Widget needs additional work, and state save/load support needs to be finished.
2017-04-23 15:48:12 -05:00
Stephen Anthony
07f605d8be
Minor documentation/commenting update for Paddle class.
2017-04-08 00:29:35 -02:30
Stephen Anthony
435608422b
Updated fixed debug colours to match in NTSC and PAL.
2017-04-06 17:26:17 -02:30
Stephen Anthony
d3b50b5194
Fixed some minor issues with DelayQueueWidget.
...
- Removed redundant code to get TIA write address labels
- Added '$' to indicate hex output
- Added newlines to affected files.
2017-04-04 17:38:45 -02:30
Christian Speckner
3df449603e
Delay queue widget: Finishing touches
...
* Reorder widgets in TIA tab
* Change background color to readonly
* Pacify compiler warning in iterator
* Fix typo in TiaDebug
2017-04-04 21:55:16 +02:00
Christian Speckner
467c45e7b2
Delay queue widget: replace mock.
...
* Add an iterator for interating over delay queue entries
* Dynamically build delay queue widget content from iterator
* Refactor shadow registers to reflect a possible delay
2017-04-04 00:39:55 +02:00
Stephen Anthony
ae65f95848
Updated debugger read-only UI items background colour.
2017-04-01 19:11:59 -02:30
Stephen Anthony
3e5df9c7bc
Non-editable UI items in the debugger are now shown with a different background color.
2017-04-01 17:04:40 -02:30
Stephen Anthony
58f93c1930
Fixed inheritance issue with Widget::wantsFocus() and child classes.
...
Changed some code in TIA class to eliminate function calls.
Minor code refactoring wrt d'tors.
2017-04-01 15:41:34 -02:30
Stephen Anthony
f041de441f
Bumped state version #, since recent changes have made old
...
state files invalid (and cause a crash on my system, at least).
2017-03-30 14:51:31 -02:30
Stephen Anthony
4a8ff43fe2
Match override to virtual method, to stop compiler from complaining.
...
Also, if we don't know if a method should be const, then it needs
to be :)
2017-03-29 19:59:01 -02:30
Christian Speckner
988b36010b
Positioning for missiles and ball.
2017-03-29 22:53:42 +02:00
Christian Speckner
d00698c3e4
Better naming, implement player position setters
2017-03-29 22:02:15 +02:00
Christian Speckner
a7fc82cbea
Position readout for players.
2017-03-29 20:14:43 +02:00
Christian Speckner
f1eb76303c
Finish introduction of shadow registers:
...
* Reenable all register readouts
* Refer to shadow registers in all readouts
* (De)serialize shadow registers
2017-03-29 19:32:57 +02:00
Christian Speckner
b3bfc86ccc
Introduce shadow registers, start refactoring TIADebug to use them.
2017-03-29 18:18:35 +02:00
Christian Speckner
eb209ee1dd
Fix sign error with myXDelta.
2017-03-29 17:58:28 +02:00
Christian Speckner
d6fbc23b60
Fix cursor in frame preview.
2017-03-29 17:46:25 +02:00
Stephen Anthony
3a8967f349
Fixed minor warnings in Xcode build.
2017-03-27 16:54:19 -02:30
Stephen Anthony
94cd456076
Final state load/save updates for DelayQueue.
2017-03-25 21:29:43 -02:30
Stephen Anthony
73beb8cb40
Re-enabled TIA::saveDisplay() and TIA::loadDisplay().
...
This means the debugger rewind feature is working again. More testing
is required to make sure this is the same as Stella 4.x functionality.
2017-03-25 19:32:58 -02:30
Stephen Anthony
fd4122e017
Re-abled state loading/saving.
...
There's still a few final items to fix, but it's 99% complete.
2017-03-25 17:58:58 -02:30
Stephen Anthony
90aa152f59
Re-enable viewing TIA sound output in the debugger.
...
This code is only temporary, until we more properly deal with it
in the new sound core.
2017-03-24 21:13:31 -02:30
Stephen Anthony
7a0f322224
Remove all references to CX22/CX80 for trakball-like controllers.
...
Applicable controllers are now (consistently) named either
Amigamouse, Atarimouse or Trakball.
2017-03-24 20:29:30 -02:30
Christian Speckner
6c41bf6405
Don't start missile decodes while RESMPx is set. Fixes #83 .
2017-03-24 22:29:09 +01:00
Stephen Anthony
95c7b30a45
Some updates to the last BUS/CDF commit:
...
- update some code to the '5.0' way of doing things
- allow compilation in Linux
- whitespace/tab fixes to match main codebase
- add some extra comments
- test compile under gcc 6 and clang 5, and fix some warnings
2017-03-24 18:02:08 -02:30
Darrell Spice, Jr
6227186feb
Preliminary support for BUS and CDF
...
Preliminary support for new Harmony/Melody drivers BUS and CDF. Work remains for the 3-Voice Audio, Digital Sample playback, and some additional revisions to the debugger widgets.
2017-03-23 21:25:33 -05:00
Stephen Anthony
db3ce957a5
Implemented console timing changes in a more general way.
...
There is now a virtual consoleChanged() method called on
a device when the console changes. If the device is
interested in this notification, it simply has to implement
the method.
Updated DPC+ scheme to implement this method, so that the
Thumbulator object is automatically told whenever the console
changes, and can adjust its internal timing accordingly.
2017-03-22 15:46:48 -02:30
Unknown
97a229dd92
ARM Timer 1 support
...
Implemented ARM Timer 1 support in Thumbulator. Revised DPC+ to use it.
2017-03-20 21:55:27 -05:00
Christian Speckner
25261fff78
Fix a small ommission.
2017-03-20 00:40:42 +01:00
Christian Speckner
7325cd8034
Fully match missile starfield to hardware.
2017-03-20 00:31:29 +01:00
Christian Speckner
3b45bbd238
Fix RIOT load / save.
2017-03-19 22:39:54 +01:00
Christian Speckner
317169c59a
Properly emulate interrupt flag behavior of INITM read on wraparound.
2017-03-19 22:26:00 +01:00
Stephen Anthony
a07a607c76
Console timing info is now available through Console::timing()
...
and TIA::consoleTiming(). This allows to query the TIA about
specific version of the console being emulated, which can be
distinct from the frame layout used by the TIA itself.
2017-03-18 19:50:48 -02:30
Christian Speckner
41e2f77333
Adapt missile starfield to match my own hardware.
2017-03-18 14:15:11 +01:00
Stephen Anthony
0c7b9aa079
Fixed comment error: Superchip is only 128 bytes RAM (but 256 bytes
...
of address space taken).
2017-03-16 20:59:52 -02:30
Stephen Anthony
0e712b39e1
Optimized Cart::isProbablySC. Perhaps a small change, but more
...
efficiency never hurts.
2017-03-16 20:41:37 -02:30
Stephen Anthony
02a399a8aa
Fixed Superchip autodetect for Dig Dug as discussed on AtariAge.
2017-03-16 18:46:43 -02:30
Stephen Anthony
3950f80a30
Refactoring, convert TvMode to FrameLayout as per AtariAge thread.
2017-03-15 20:57:03 -02:30
Stephen Anthony
59a6f8f9d1
Made formatting for new code in M6532 class match what was already there
...
(just an OCD thing). Updated changelog for new RIOT changes.
2017-03-14 19:32:33 -02:30
Christian Speckner
05b10bec6b
Rework RIOT timer to match real hardware behavior.
2017-03-14 01:27:11 +01:00
Stephen Anthony
7cbec18f5a
Updated ROM properties; remove some default values, add missing entries.
2017-03-12 21:08:39 -02:30
Stephen Anthony
68f9831061
Make sure that every frame draws all scanlines in the height of the window.
...
If the ROM doesn't reach that far, blank out all further scanlines.
Optimize FrameManager::height() method.
2017-03-11 16:53:04 -03:30
Christian Speckner
4a71e48a07
NUSIZ player improvements.
...
Match NUSIZ during draw / decode and hblank to hardware behavior.
2017-03-10 09:18:14 +01:00
Stephen Anthony
2057b1421c
Set ROM launcher framerate to 30fps. There's no need for it to be
...
a full 60fps, and it reduces CPU usage up to 30% on some systems.
2017-03-08 18:13:01 -03:30
Christian Speckner
e02166092d
Improve player NUSIZ during hblank.
2017-03-08 00:01:41 +01:00
Stephen Anthony
a2c98e2409
Fixed 'read past end of array' crash.
2017-03-06 18:11:10 -03:30
Stephen Anthony
acd5b3c813
Final set of ystart adjustments (hopefully), taking care of corner cases
...
for weird ROMs, etc.
2017-03-06 13:32:28 -03:30
Christian Speckner
d429b79d78
Improve ystart detection:
...
* Fix transition locked -> floating
* Lock detected value after 30 stable frames
2017-03-06 00:28:31 +01:00
Stephen Anthony
e18fe2005d
Add DK VCS to properties database.
2017-03-05 15:20:56 -03:30
Christian Speckner
c7da6c5b26
New frames always start on line 0.
2017-03-05 14:41:28 +01:00
Stephen Anthony
bb18b3e777
Updated properties to RomHunter v12.
2017-03-04 16:06:53 -03:30
Stephen Anthony
185119eed9
When manually changing ystart from auto-detect mode, note when the
...
manually selected ystart line matches the auto-detected one, and reset
it in the ROM properties. This makes sure that auto-detected values
are actually stored as '0', and not the auto-detected value.
Fixed ystart for 'Swoops' ROM.
2017-03-04 14:41:05 -03:30
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
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
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
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
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
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
Christian Speckner
efc881a284
Correct slight blunder ;)
2017-01-21 16:10:57 +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
Christian Speckner
f189906813
Remove _6502TS_CORE from include guards now that we have just one core.
2017-01-18 00:15:18 +01:00
Stephen Anthony
ac226eb6eb
Updated ROM properties for Coke Zero demos.
2017-01-15 15:05:16 -03:30
Stephen Anthony
96567dfd4d
A few ROM properties updates that I missed before.
2017-01-14 22:42:37 -03:30
Stephen Anthony
46d3532816
Merge branch 'master' of github.com:stella-emu/stella
2017-01-14 21:40:39 -03:30
Stephen Anthony
42122c3465
First pass to get debugger stuff working for TIA display.
2017-01-14 21:39:45 -03:30
Christian Speckner
3303f0560a
Finalize and start frames right after vsync -> stabilizes algorithm.
2017-01-15 01:34:05 +01:00
Stephen Anthony
c0aa5c83f5
Minor refactoring.
2017-01-14 13:18:12 -03:30
Christian Speckner
b0b807407a
Fix vsync locked -> floating transition.
2017-01-14 14:08:44 +01:00
Stephen Anthony
bf1ff1aae0
Change YStart and Display widgets in GameInfoDialog to be sliders
...
instead of textboxes. This allows to eliminate error checking,
since the widget will only allow sane values.
Added YStart/Display min/max variables to FrameManager, and
refactor for other parts of the codebase to use these variables.
2017-01-13 22:49:38 -03:30
Stephen Anthony
6c33dda9dd
Updated ROM properties for a few ROMs I missed before.
2017-01-13 21:08:42 -03:30
Christian Speckner
0a8b1debfc
Fix PAL autodetection:
...
* Be more tolerant when waiting for vsync during TV mode autodetect.
* Count PAL and NTSC frames during autodetect, use the mode with
more statistics.
2017-01-13 09:20:56 +01:00
Stephen Anthony
2ccb559138
Finalized update of Display.YStart in ROM properties.
2017-01-12 20:31:36 -03:30
Stephen Anthony
3cccb8bc57
Partial update of ROM properties for Display.YStart removal.
2017-01-12 14:23:32 -03:30
Christian Speckner
aba48e85cf
Limit the number of lines FrameManager waits for frame with large scanlines, refactoring.
2017-01-10 23:59:36 +01:00
Christian Speckner
a6725f2436
Enable manual TV mode selection:
...
* Make mode autodetection in FrameManager conditional, disable by
default
* Add glue for externally setting up TV mode
* Properly setup TIA TV mode in Console
* Refactoring
2017-01-10 01:22:25 +01:00
Christian Speckner
ef000d2ae5
Support manual height, remove vertical centering logic (no easy way to get this to work with ystart autodetect).
2017-01-10 00:12:25 +01:00
Christian Speckner
bd46bb4174
Implement RSYNC.
2017-01-09 00:10:55 +01:00
Christian Speckner
df1b2a99ce
Fix invalid access in FrameManager.
2017-01-09 00:10:26 +01:00
Christian Speckner
7b733d6126
Start removing ystart from props where it isn't required.
2017-01-08 00:57:27 +01:00
Christian Speckner
452f083fc1
Support fixed ystart, change ystart default to 0 = autodetect.
2017-01-08 00:31:35 +01:00
Christian Speckner
602b7b9d0d
Improve NUSIZ during player draw counter decode.
2017-01-06 00:52:25 +01:00
Christian Speckner
14ebb9772a
Fix RESM during draw counter decode.
2017-01-05 21:07:41 +01:00
Christian Speckner
eb1fe88176
Fix player decode logic reset during hblank.
2017-01-05 14:43:26 +01:00
Christian Speckner
6a2259ef2f
Avoid possible issues during bogus vsync writes.
2017-01-02 00:10:06 +01:00
Christian Speckner
a5f1a8624f
Fix what looks like an inconsistency in the calculation of scanline count.
2017-01-01 22:34:28 +01:00
Christian Speckner
a83e7eb26d
Fix garbage for ROMs with varying visible frame heights:
...
* Keep track of max frame height
* Blank out any missing scanlines
* Refactoring
2017-01-01 22:28:13 +01:00
Stephen Anthony
abb7097cb7
Removed $Id$ stuff from codebase, since it's Subversion-specific.
...
Whitespace cleanup and update copyright to 2017.
2016-12-29 20:30:30 -03:30
Christian Speckner
cbb3c46461
Tentatively adjust RESMPx for 32 pixel players by one pixel.
2016-12-21 22:39:51 +01:00
Christian Speckner
0d37bbe132
Movement from starfield effect does only affect objects less four pixels wide.
2016-12-21 21:54:40 +01:00
Stephen Anthony
44acd10973
Updated ROM properties:
...
- Star Castle Arcade (Thomas J.)
- Meltdown and Mega Bitmap Demo (fully working for the first time)
2016-12-19 18:11:57 -03:30
Stephen Anthony
a6bc247852
WSYNC should only work when the last access was a read.
2016-12-19 15:56:26 -03:30
Christian Speckner
f66a61f3b7
Tweak immediate ball rendering after RESBL -> fixes Keystone Kappers
2016-12-19 01:05:42 +01:00
Christian Speckner
7d7c0f6c9e
Refine and unify late RESx during hblank, comments.
2016-12-18 22:47:24 +01:00
Christian Speckner
f4932b8bf5
Fix INPT5.
2016-12-18 21:58:33 +01:00
Christian Speckner
b700149cde
Add a 1 cycle delay to ENABL (including delayed mode) -> fixes Super Challenge Football.
2016-12-18 14:39:24 +01:00
Christian Speckner
7b7f8767aa
Emulate final movement counter reset -> fixes Masters of the Universe.
2016-12-18 00:48:17 +01:00
Christian Speckner
39ee43ee66
Fix wide player positioning, adjust NUSIZx during decode to better match real hardware.
2016-12-17 21:46:52 +01:00
Stephen Anthony
e618a6c72c
Fixed display of FPS in the TIA message window. This also fixes sound
...
issues, since the correct framerate is being communicated to the
emulation core.
2016-12-17 13:06:56 -03:30
Christian Speckner
d77d2f2e61
Try to implement side effects of nusiz after draw dispatch -> fixes meltdown.
2016-12-17 15:17:40 +01:00
Christian Speckner
48d90768f3
Fix wide player dispatch after resp -> fixes missile command.
2016-12-16 23:40:26 +01:00
Christian Speckner
a982a334a8
Fix RESMP for 8 pixel players. Fixes frostbite ice pans.
2016-12-15 01:01:20 +01:00
Christian Speckner
65008135b8
Fix CompuMate TV mode detect
...
* Make sure that compumate runs with the proper controllers attached
* Make sure that CompuMate::myKeyTable is always valid
* Whitespace fix
2016-12-14 21:02:52 +01:00
Christian Speckner
b4eb78b127
Yet another adjustment to positionining during extended hblank.
2016-12-14 00:40:36 +01:00
Stephen Anthony
760d889478
Fixed crash in auto-detecting Compumate ROM.
...
The PAL version is still mistakenly detected as NTSC, though.
2016-12-13 20:03:12 -03:30
Christian Speckner
839ba71f20
Effectively fix the mystery positioning bug.
2016-12-14 00:03:17 +01:00
Christian Speckner
12fe183890
Simplify FrameManager state machine, smarter ystart / vblank detection.
2016-12-13 22:28:20 +01:00
Christian Speckner
f0828c597d
Checkpoint.
2016-12-13 22:28:20 +01:00
Stephen Anthony
f982f0257f
Enabled viewing TIA collision and playfield info in the debugger.
2016-12-13 12:03:54 -03:30
Stephen Anthony
7b0a82f04a
Enabled some more TIA stuff in the debugger.
2016-12-13 10:57:15 -03:30
Christian Speckner
b28dfaa31f
Add call to resetCycles.
2016-12-12 22:51:42 +01:00
Christian Speckner
a35f378d87
Improve TV mode detection logic:
...
* Skip the first view frames
* Change the algorithm to be more eager to accept mode changes until the
mode has settled for at least five frames
* If in doubt, assign odd frames to NTSC
2016-12-12 22:25:47 +01:00
Christian Speckner
b9e2fc9022
Fix VSYNC during kernel, retain conditional debug logging for later use.
2016-12-11 20:50:12 +01:00
Christian Speckner
18c31ebc2b
Add a 1 clock delay to vblank.
2016-12-11 01:27:09 +01:00
Stephen Anthony
510c103030
More of the TIA stuff in the debugger is now enabled.
2016-12-10 16:37:47 -03:30
Stephen Anthony
ac7670225b
Updated OSX project files for removal of old TIA core.
...
Re-added comments to TIA class header.
2016-12-10 14:43:46 -03:30
Stephen Anthony
4d0147f3d1
Made new TIA core the default (code now compiles).
2016-12-10 13:38:28 -03:30
Stephen Anthony
4b5a02903e
Delete old TIA core (files are only moved for now).
2016-12-10 12:45:00 -03:30
Stephen Anthony
f7e712386b
Fixed bug with SaveKey and AtariVox not properly closing their
...
memory files before starting another instance of the same ROM.
2016-12-09 19:04:14 -03:30
Christian Speckner
b3c0993dcc
Delay REFP[01] by one clock.
2016-12-09 12:50:26 +01:00
Christian Speckner
f360e7fba2
Fix iniital player width --- fixes Yar's revenge.
2016-12-09 08:27:31 +01:00
Christian Speckner
400b333386
Effective discription of starfield width modulation for missiles and ball.
2016-12-09 00:47:52 +01:00
Christian Speckner
a9d1ed3741
Fix undeflow in RESMP.
2016-12-08 22:20:51 +01:00
Christian Speckner
38d8d893aa
Fix RESMP for 16 and 32 pixel players.
2016-12-08 21:17:56 +01:00
Christian Speckner
afae00a654
Fix analog I/O:
...
* Premature optimization killed the cat --- approximated exponentioal does
not converge fast enough, replace with real thing
* Make sure that the readout circuit is updated before read
2016-12-08 00:37:12 +01:00
Stephen Anthony
072015c82a
Removed toggling of displaying HMOVE blanks. With the old core, what
...
it drew in that area was sometimes garbage, and with the new core it
draws nothing at all (which is the correct behaviour). Hence the
feature is obsolete.
2016-12-06 16:36:04 -03:30
Stephen Anthony
12bdff67b6
Missing newline at end of file (compilers complain about this).
2016-12-05 19:35:02 -03:30
Stephen Anthony
6d33db8646
Writes to TIA GFX registers are now seen in the ROM disassembly.
2016-12-05 16:55:31 -03:30
Christian Speckner
61155ace46
First stab at getting retriggering delays correct.
2016-12-05 20:32:47 +01:00
Stephen Anthony
1f54f3e263
Updated Visual Studio project file for new 6502ts TIA core classes.
2016-12-04 18:45:33 -03:30
Stephen Anthony
b9630f5e2a
Re-enable compilation with DEBUGGER_SUPPORT. The TIA stuff in the
...
debugger is currently broken, but at least the code compiles (needed
for the Windows and OSX test releases, as they aren't set up to be
compiled without the debugger.
2016-12-04 16:05:21 -03:30
Stephen Anthony
0de35eab7e
For some reason, the top comment header is missing in some files.
2016-12-04 14:50:36 -03:30
Stephen Anthony
c526d260a0
Re-enable fixed debug colors.
2016-12-04 14:48:17 -03:30
Stephen Anthony
9ca6f89778
When the new TIA core is enabled in a build, set it to the default when no
...
defaults have been specified. The reason being, testers will be running old
and new versions of Stella, and with the previous settings, they would have
to continually reset 'tia.core' every time they run a new build. Besides,
the point is for the new core to be the default, so we may as well enforce that
in the code.
2016-12-02 10:43:46 -03:30
Stephen Anthony
7bfaf10e80
Turning off HMOVE display doesn't work in the new TIA core, and really was
...
only a hack in the old core. We will eventually remove this.
2016-12-02 10:22:59 -03:30
Stephen Anthony
3bb21cdbf3
Restored TIA::height functionality, otherwise the window won't be properly sized.
2016-12-02 10:16:49 -03:30
Stephen Anthony
b34514e7f4
Implemented TIA::scanlines(), which now shows the proper scanline count in
...
the info window in the upper-left of the screen. Still TODO is tie it to the
framerate, so that when the scanline count changes, it also auto-calculates
the framerate.
Some formatting cleanups in various classes.
2016-12-02 10:07:25 -03:30
Christian Speckner
a8a4545222
Typo, more concise variable names.
2016-12-02 09:30:40 +01:00
Christian Speckner
a717890c29
Microoptimization: pre-invert collision bitmasks.
2016-12-02 09:05:35 +01:00
Christian Speckner
a1eb8fd9ab
Add toggle logic to all sprites.
2016-12-02 08:58:19 +01:00
Christian Speckner
920787aa9f
Sprite toggeling for missiles.
2016-12-02 01:11:54 +01:00
Christian Speckner
042dc72e66
Paddles / analog input.
2016-11-28 12:54:46 +01:00
Christian Speckner
3e4b975489
Add missing file.
2016-11-26 21:08:23 +01:00
Christian Speckner
d66a58557b
Always trigger draw during resbl, even during hblank.
2016-11-26 21:05:03 +01:00
Christian Speckner
34810ab25e
Fix uninitialized value.
2016-11-26 15:36:43 +01:00
Christian Speckner
92ec526d68
Simplify priority logic in score mode.
2016-11-26 13:37:19 +01:00
Stephen Anthony
1924013daf
Fixed write to CTRLPF with score mode enabled and playfield priority disabled;
...
the priority as well as the colours change from left/right screen.
Made getPixel method from each of the TIA objects inline, since they're called
so often.
2016-11-25 22:02:00 -03:30
Christian Speckner
7fad9b7cfa
Fix fractiona counter initial value.
2016-11-26 00:18:18 +01:00
Christian Speckner
2bd5074828
Add latched input.
2016-11-26 00:08:32 +01:00
Christian Speckner
e786b3307e
Add resmp.
2016-11-25 23:23:04 +01:00
Stephen Anthony
6818da1566
Added savestate 'plumbing', for when the new TIA classes are finalized.
...
Bumped lowest version of state file format to 4.8, to make sure old
state files will not be loaded.
2016-11-25 14:58:07 -03:30
Christian Speckner
eebf8c046f
Collisions, basic input (no lateched input, no paddles).
2016-11-25 01:31:57 +01:00
Christian Speckner
d2c9813da1
Fix timing to properly account for "fractional" system clocks -> bang! runs glitch free.
2016-11-23 23:59:32 +01:00
Christian Speckner
cac9bf76c7
Delay queue fixes --- should be academic.
2016-11-23 23:55:10 +01:00
Christian Speckner
d02c985a91
Add ball.
2016-11-22 23:22:16 +01:00
Christian Speckner
95c1d2b08c
CS.
2016-11-22 21:56:50 +01:00
Christian Speckner
3a4827e0b8
Add a missing line cache invalidation -> fixes bang! plasma field.
2016-11-22 21:56:12 +01:00
Stephen Anthony
ec2ee2c570
Added some 'Stella-isms' to the new TIA core code, like brace placement,
...
comment lines above each method, deleting new/d'tors whenever possible, etc.
Rename Missile.cpp to Missile.cxx.
2016-11-22 15:44:20 -03:30
Christian Speckner
14b701ef72
Fix accidential fallthrough in switch -> fixes funky space invaders.
2016-11-20 23:39:47 +01:00
Christian Speckner
d9f91caab3
Don't reset autodetected TV mode on reset -> fixes TV mode autodetection.
2016-11-20 22:22:07 +01:00
Christian Speckner
ac4520917e
Add players.
2016-11-20 22:07:10 +01:00
Christian Speckner
87b24a5bba
Coding style, hmmClocks can be 8bit.
2016-11-18 00:08:12 +01:00
Christian Speckner
594c460bc7
CS.
2016-11-17 23:25:13 +01:00
Christian Speckner
666028b66d
TODO.
2016-11-17 23:24:38 +01:00
Christian Speckner
baecc4e3a1
Fix timing glitch, port missiles.
2016-11-17 23:24:12 +01:00
Christian Speckner
c8dc5e2db9
Fix delay queue, add delay to pfx writes.
2016-11-16 23:19:54 +01:00
Christian Speckner
cdafe8d0a4
Playfield.
2016-11-16 01:18:44 +01:00
Christian Speckner
2d76b7fb98
Hook up audio.
2016-11-15 21:24:20 +01:00
Christian Speckner
6d76d65d82
Add wsync, vsync and vblank, fix bugs and connect the dots -> main loop + tv mode detection work.
2016-11-15 21:16:36 +01:00
Christian Speckner
70dc29f077
Port main loop.
2016-11-15 19:26:23 +01:00
Christian Speckner
b6a2e266aa
CS.
2016-11-13 22:56:58 +01:00
Christian Speckner
ea6abb0fe6
Implement delay queue.
2016-11-13 22:56:02 +01:00
Christian Speckner
b874269065
Replace executor class with a template --- we've got closures, after all :)
2016-11-13 00:10:40 +01:00
Christian Speckner
208f630a3c
Implement delay queue (untested).
2016-11-08 23:54:22 +01:00
Christian Speckner
a99a4e1efd
Stub implementation of new core.
2016-11-08 01:26:57 +01:00
Christian Speckner
ffccc351f6
Allow to switch between TIA implementations via command line / config.
2016-10-31 00:12:52 +01:00
Christian Speckner
2075ff082a
Prepare build system for new core.
2016-10-30 21:00:08 +01:00
Christian Speckner
c642de2671
Remove unnecessary dependencies on TIA, namespace default core, remove friends.
2016-10-30 20:29:41 +01:00
Christian Speckner
83417e976f
Isolate TIA implementation in sub-module, remove all direct references in favor of AbstractTIA.
2016-10-30 00:31:55 +02:00
Christian Speckner
9a85bf5405
Fixes, refactor TIA to extend AbstractTIA .
2016-10-26 15:25:48 +02:00
Christian Speckner
cdfac18f1c
Fix build w/o debugger.
2016-10-26 14:59:52 +02:00
Christian Speckner
74a840f341
First stab at abstracting the TIA interface.
2016-10-11 00:23:40 +02:00
Christian Speckner
7d072fc874
Move TIA specific enums into separate header.
2016-10-11 00:23:09 +02:00
stephena
883971985e
Removed some redundant includes in various Cart classes.
...
Introduced Cartridge::initializeRAM() method, to eliminate duplicate
blocks of code in every bankswitch scheme that uses extra RAM.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3316 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-24 23:57:07 +00:00
stephena
087d382280
Added 3E+ bankswitching scheme by Thomas Jentzsch.
...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3311 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-21 21:37:06 +00:00
stephena
1ecfee71e7
Reverted new TIA sound code until it is more mature. There are other
...
improvements in the pipeline waiting to be done, and are being delayed
by the sound stuff.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3310 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-18 18:44:57 +00:00
stephena
40cfd6a475
Cleaned up usage of 'using namespace ...'. I'm currently teaching that using
...
that approach is a bad idea (and using Stella as example code), so it doesn't
make sense to not do something as it's being taught; the correct way.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3308 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-05-24 16:55:45 +00:00
stephena
9d1c2085e6
Forgot to fix up TIA register writes in a few locations, so it was possible
...
that the register held values up to 255 (when it should only contain 0-159).
Thanks to Omegamatrix for the report and fix.
On another note, I hope to get back to Stella development soon; it's been a
rough time since the last release.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3307 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-05-13 16:23:53 +00:00
stephena
81e9480100
OK, this is the first pass at adding the new TIA sound emulation
...
core to Stella, as outlined in a thread on AtariAge. It's currently
not working 100% due to timing issues with the TIA class.
Expect breakage over the next few months, as this code and the TIA
code in general will be borked from time to time.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3306 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 17:15:19 +00:00
stephena
8dbd545433
After thinking about it a little, I wondered why we even need to wrap several
...
std:: functions into BSPF namespace at all. So I removed them, and have the
calls map directly to the std:: versions.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3304 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-03 00:35:00 +00:00
stephena
eb56efc3d5
Convert BSPF C-style macros to C++ namespace equivalent.
...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3302 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 23:47:46 +00:00
stephena
f431e3e3a5
A few more constexpr additions, and removal of redundant comments.
...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3301 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 22:52:29 +00:00
stephena
abf4a4a44c
I was a little too eager with the 'constexpr'; it currently doesn't work on
...
enum types.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3300 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 21:27:10 +00:00
stephena
dd96a80e7e
Updated build requirement for Windows to Visual Studio 2015. This allowa to use 'constexpr', which this patch does for a few classes.
...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3299 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-04-02 20:46:02 +00:00
stephena
f3fce85633
Re-added CTY scheme to the list of selectable bankswitch schemes,
...
and fixed some minor warnings generated from GCC 6.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3294 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-03-05 18:35:25 +00:00
stephena
dae8205029
Cleaned up a few more warnings.
...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3292 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-27 22:18:30 +00:00
stephena
983c6361f2
Updated thumbulator code from latest in repo.
...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3290 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-27 19:58:20 +00:00
stephena
24051e4ddf
(Hopefully) fixed bug when entering/exiting the debugger, whereby the
...
"`" key (or equivalent) was being shown in the prompt widget.
Added method stubs for clipboard cut/copy/paste/select. Actually
implementing them will come next.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3287 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-24 20:49:49 +00:00