Thomas Jentzsch
db7def887d
implement swapped hotspot option for UA (for Mickey)
2019-07-28 11:11:27 +02:00
Thomas Jentzsch
bd39c0836f
adapted UA bankswitching to new Brazilian carts (except Mickey)
2019-07-28 09:58:38 +02:00
Thomas Jentzsch
61d9f26bc6
implement variable DPC pitch
2019-07-25 11:09:02 +02:00
Stephen Anthony
898f00dff0
Going upwards in file list now selects each previous directory.
...
Still TODO is determine if it's worth the effort to do the same when descending directories.
Finally getting back to development again.
2019-07-19 13:52:57 -02:30
thrust26
b5ae1284ca
fix several bugs
2019-06-30 11:43:36 +02:00
thrust26
ee47db85c1
remove SA specific events
2019-06-29 14:48:54 +02:00
thrust26
4334d00d6d
refactor into mapping into single class
...
add paddle mappings
2019-06-23 20:22:10 +02:00
Stephen Anthony
e8ed2fa1dd
Fix file selector with certain ZIP files not containing any ROMs.
2019-06-23 14:43:09 -02:30
Stephen Anthony
bcca945951
More reworking of the file selection mechanism.
...
- removed GameList, and integrated functionality directly into 'FSList' (which was mostly doing the same thing)
- have FSNode::getChildren() relabel directories, instead of Browser and Launcher dialogs
- MD5 calculations in ROM launcher are now cached, instead of being recalculated each time a directory is left and re-entered
Windows and macOS likely broken for a moment; this will be fixed next.
2019-06-22 21:09:42 -02:30
thrust26
b2f285d723
fix button modifier mappings
...
Stelladaptor specific code removeDialog
code cleanup
2019-06-22 16:54:21 +02:00
thrust26
bb7bebb79f
allow button as modifier for direction and hat
...
load/save controller mappings
2019-06-22 10:37:42 +02:00
thrust26
8210a25f40
implement rudimentary mapping
2019-06-21 21:11:52 +02:00
thrust26
7176d291b3
initial changes
2019-06-20 14:13:59 +02:00
thrust26
d7e9c95fb0
eliminating some magic numbers in joystick handlers
2019-06-19 21:58:39 +02:00
Stephen Anthony
4ae491dd6c
Refactoring: remove obsolete 'myEvent' from PKeyboardHandler.
2019-06-16 17:47:52 -02:30
thrust26
168833e000
remove superfluous includes
2019-06-16 20:05:01 +02:00
thrust26
c20035ccce
refactor CompuMate key handling (uses events now too)
2019-06-16 19:52:14 +02:00
thrust26
65cb17e736
refactor controller dependent mappings
2019-06-15 12:10:00 +02:00
thrust26
d969d9152b
fix #490
2019-06-14 21:49:39 +02:00
thrust26
73052e1351
HelpDialog display remapped keys
2019-06-13 21:39:03 +02:00
thrust26
219c4b0483
fix Event::VERSION (no reason for a change)
2019-06-13 00:01:37 +02:00
thrust26
43537c868b
add autoslot event and default mapping
...
fix autoslot message
2019-06-12 23:58:44 +02:00
thrust26
a14d1c275d
implement separate keyboard mappings for joystick, paddles and keyboard controllers
...
update doc accordingly
2019-06-12 16:48:41 +02:00
Stephen Anthony
2cfffd48fe
Fix initialization error in DPC+ scheme ( fixes #489 ).
2019-06-12 09:54:40 -02:30
Stephen Anthony
33c65103d6
File extensions used by BS autodetect can now use longer that 3-char extensions.
2019-06-11 14:35:01 -02:30
Stephen Anthony
9191f63da2
Fix dirty framebuffer issues in fullscreen TIA mode.
...
This requires some testing, since it potentially causes slowdowns on older systems.
I cannot find any difference on my test system (and documentation I've read seems to imply
that you should clear the screen before each update, and that it is very fast on most hardware).
2019-06-08 23:01:59 -02:30
Stephen Anthony
4745b6a240
Make sure properties database is correctly read on startup ( fixes #475 ).
2019-06-08 18:17:25 -02:30
Stephen Anthony
4a8f2f80b6
Fix PopupWidget/ContextMenu not positioned correctly in fullscreen mode.
...
Refactored Rect class.
2019-06-03 19:28:56 -02:30
thrust26
0eb7cd70da
add option to automatically save states when exiting emulation
2019-06-03 21:55:40 +02:00
Stephen Anthony
58b8c3458b
Fix UI drawing modes when overlaid on TIA image.
2019-06-03 17:09:07 -02:30
Stephen Anthony
d7754aee77
Dialogs drawn outside the underlying basedialog area no longer leave parts around.
...
There is still some work TODO for TIA mode; that is coming next.
2019-06-03 14:32:59 -02:30
Stephen Anthony
6153b8aa6c
Fix parsing of stella.pro => DefProps: joystick entries were being removed.
2019-06-02 17:08:30 -02:30
Stephen Anthony
46b79a3a2d
Updated properties database.
2019-06-02 16:52:36 -02:30
thrust26
ce5a935d49
remove now superfluous "hardcoded" message in InputDialog
2019-06-02 18:45:53 +02:00
thrust26
b1b1d87cfa
enhance Rewind/UnwindPause events
2019-06-02 14:07:42 +02:00
thrust26
34e6709336
Enable switches handling in debugger
2019-06-02 12:32:25 +02:00
thrust26
972a74f76b
fix #486
2019-06-02 12:15:13 +02:00
thrust26
cb6b9cff32
add overscan message
...
fix scanlines message
2019-06-02 09:32:26 +02:00
thrust26
cf39f5afdf
add overscan hotkeys
...
remove ystart hotkeys
update doc
2019-06-02 09:21:20 +02:00
thrust26
795c892549
prevent that repeated keys are going to emulation core
2019-06-01 23:12:50 +02:00
thrust26
dd88e3a7fe
change scanlines hotkey delta to 2
...
fix scanline underflow
2019-06-01 22:38:16 +02:00
thrust26
288eb5b1e5
allow repeat for selected keyboard events
2019-06-01 22:29:18 +02:00
Stephen Anthony
98cb5a4ecd
Update recent commit to use C++ functionality (unique_ptr and streams).
...
- fixes compile error in Linux and some libretro builds
- fixes issue #485
2019-05-31 11:38:19 -02:30
thrust26
67db29e826
implement saving/loading all TM states to/from disk
2019-05-31 14:44:46 +02:00
thrust26
b566c34793
refactor 'ctrlcombo' into 'modcombo', suppresses all modifier key combinations
2019-05-30 12:31:34 +02:00
thrust26
be1a51b5b4
use event version check for joymap too
2019-05-30 11:16:07 +02:00
thrust26
d231da4558
allow all events for combos
...
check event list version when loading keymaps & combomap
2019-05-30 10:18:35 +02:00
thrust26
996517eefb
add new StartPause event (e.g. useful for combos)
...
fix some code
2019-05-30 08:59:33 +02:00
thrust26
43af1a0005
redefine a few default keys (in TV effects and toggle bits/collisions)
...
reorder listing of emulation actions according to documentation
update documentation
2019-05-28 23:02:02 +02:00
thrust26
24dcb64c70
try to map correctly for MacOS.
...
make remaining ALT hotkeys configurable
2019-05-28 21:03:05 +02:00
thrust26
d9ba5bedd7
fix mapping for side independent modifiers (press both + key)
2019-05-28 18:29:18 +02:00
Stephen Anthony
c4443715cc
Make Events for snapshots always available, even when PNG support is disabled.
...
- otherwise, builds with and without PNG support will potentially have different mappings
- this makes it very hard to test on devel systems where support is enabled/disabled
- basically, events are hard-coded to certain values, and shouldn't change based on support for any particular subsystem
Fix warnings from clang.
2019-05-28 11:29:56 -02:30
thrust26
8f6dfda42f
refactor ESC key handling
...
make remaining control hotkeys configurable
2019-05-27 23:01:03 +02:00
thrust26
ef8fdc8cd9
fix combined modifier handling (finally :-)
...
make more hotkeys configurable
2019-05-27 20:01:49 +02:00
thrust26
bb7c3c429c
fix fullscreen toggle in menu modes
...
made 'Quit' event configurable
2019-05-26 22:20:33 +02:00
thrust26
9ea265859a
add new mappings automatically
...
add more events which can be remapped
enable all emulation events for pause mode too
2019-05-26 00:07:53 +02:00
thrust26
5e36cb9fed
allow tab keys to be remapped in menu mode too
2019-05-25 19:39:55 +02:00
thrust26
976d9bbe72
move some fixed hotkeys to remap-able keys
2019-05-25 19:14:01 +02:00
thrust26
28b22f57a5
add missing modifier to 'eventForKey'
...
remove default modifier KBDM_NONE
2019-05-25 17:13:12 +02:00
thrust26
fc79665d3a
refactor key mapping using hash map
...
key mapping now allows key + modifier combinations
2019-05-25 15:12:34 +02:00
thrust26
d3662ee9c8
key for entering Options dialog can now be remapped as documented
2019-05-24 18:31:46 +02:00
thrust26
ae439ba318
add zoom level hotkeys to documented hardcoded actions
2019-05-23 22:17:39 +02:00
thrust26
b68a7ffb9f
remove 'Backspace' key from hardcoded actions
2019-05-23 21:32:14 +02:00
thrust26
6a70dc7863
fix #480
2019-05-21 23:15:20 +02:00
thrust26
6654d18721
added a few missing CLI parameter descriptions to CLI help
2019-05-19 20:49:19 +02:00
thrust26
50088b08a5
removed "height" from doc text and Settings
2019-05-19 11:45:18 +02:00
thrust26
d08cd7cbbd
minor code fixes
2019-05-19 10:13:55 +02:00
Stephen Anthony
33c4e81bb0
Fix minor compile warnings, including using float instead of double in a few places.
2019-05-18 20:48:13 -02:30
thrust26
95d8bb870d
add non-integral TIA zoom steps (partially addresses #263 )
2019-05-18 10:30:23 +02:00
thrust26
49585250fd
add another cleanup remembering last windowed position code
2019-05-18 09:04:06 +02:00
thrust26
53597938b6
cleanup remembering last windowed position code
2019-05-18 08:43:02 +02:00
Stephen Anthony
22b15d7f37
Fix warnings, and compile failure for libretro.
2019-05-17 21:53:59 -02:30
thrust26
6fc3863ef9
make Stella remember the last window position (now Center option makes a difference!)
2019-05-17 22:19:27 +02:00
thrust26
00355c01a4
remove overscan from windowed modes
2019-05-15 21:08:55 +02:00
thrust26
91e46faddf
add overscan option to StellaSettingsDialog
...
fix dialog position when overscan is enabled
2019-05-15 20:05:17 +02:00
thrust26
c61f3e9a1d
Merge branch 'master' of https://github.com/stella-emu/stella
2019-05-15 18:18:11 +02:00
thrust26
c5eadcef26
update properties for Thrust and spelling of my name :)
2019-05-15 18:17:58 +02:00
Stephen Anthony
12a95dc176
Updates to conditional compilation.
...
- Don't create certain directories when not needed
- Don't include certain items in ContextMenu when not applicable
2019-05-15 13:30:27 -02:30
thrust26
94de76b78e
implement emulation fullscreen overscan
2019-05-14 22:44:48 +02:00
Stephen Anthony
a894496e77
A little too eager with GUI_SUPPORT.
2019-05-13 20:43:02 -02:30
thrust26
093fd4eb75
add hidpi option checkbox to UIDialog
2019-05-13 19:04:39 +02:00
Stephen Anthony
087dd1dbb9
Fix imageRect not being correctly set for fullscreen UI modes.
...
- This caused incorrectly positioning for ContextMenu
- With this fix, the positioning code in ContextMenu and related dialogs becomes a lot less complex
2019-05-12 19:12:30 -02:30
thrust26
9aa75502b2
move label names into central header
2019-05-12 22:23:23 +02:00
thrust26
bef2981796
align R77 dialog to button labels
2019-05-12 21:16:28 +02:00
thrust26
93c7a69351
rename "dejitter" parameter names and add them to the CLI help
2019-05-12 19:55:14 +02:00
Stephen Anthony
bff503a001
Refactor DialogContainer and child classes.
...
- instead of using a protected instance variable, each derived class now has its own private variable
- each derived class also takes responsibility for deleting its private variable
- various API cleanups
2019-05-11 22:16:23 -02:30
Stephen Anthony
e7759048ca
First pass at implementing 'hidpi' mode. For now, it is available with 'hidpi' option only from the commandline.
...
- This is still a WIP, but is already very usable; I can finally see the UI on my 4k monitor :)
2019-05-11 14:33:07 -02:30
thrust26
eb2ece7bde
define dejitter defaults
2019-05-09 20:11:42 +02:00
thrust26
41b990109a
split paddle dejitter settings
2019-05-09 19:05:33 +02:00
thrust26
f619fe33d2
adjust dejitter factors
2019-05-08 22:36:11 +02:00
thrust26
d21f5fdb22
add dejitter UI and experimental parameters
2019-05-08 22:02:04 +02:00
orbea
92d95db9d8
libretro: Fix build.
2019-05-08 16:59:46 -02:30
thrust26
8e68a51ed4
add first coarse stab at paddle anti-flicker
2019-05-08 20:12:48 +02:00
thrust26
c83d22604b
Save input mappings when leaving dialog
2019-05-07 20:23:28 +02:00
thrust26
977359aec9
add more and fix default buttons for R77
...
add rewind/unwind events
improve R77HelpDialog
2019-05-05 11:18:49 +02:00
Christian Speckner
ca96f20bc2
Make failure to checkpoint WAL non-fatal, make sure that early logs are not swallowed.
2019-05-04 20:38:13 +02:00
Stephen Anthony
e933bd9c6b
Allow 4:3/16:9 button in MinimalUI mode to work without restarting the ROM.
2019-05-04 15:51:29 -02:30
thrust26
a38f56fe91
define tab cycling events and make tab cycling configurable
2019-05-04 11:37:43 +02:00
Christian Speckner
e015025d90
Minor optimization to settings I/O.
2019-05-04 10:42:18 +02:00
Stephen Anthony
0fa83b0fd0
Fix compilation with sqlite (missing include header file).
2019-05-03 20:42:16 -02:30
thrust26
24602b4f53
prevent exiting command dialog with toggle key when using minimal UI
2019-05-03 19:34:39 +02:00
Stephen Anthony
83a3bdd6cd
GUI support is now conditional in Stella. This is enabled by default for all ports except libretro.
...
- When disabled, it also disables the debugger and cheatcode support
- UI-wise, this reverts Stella to 1.x functionality (before any internal UI was added)
- Eliminates 47000 lines of code for those ports (like libretro) that don't need it.
2019-05-02 17:58:39 -02:30
Christian Speckner
ff8b9b41d4
Revert "Remove R77 save logic, make most R77 settings temporary ot exclude them from persistence."
...
This reverts commit 51f38840e0
.
2019-05-02 01:10:43 +02:00
Christian Speckner
51f38840e0
Remove R77 save logic, make most R77 settings temporary ot exclude them from persistence.
2019-05-01 23:25:15 +02:00
Christian Speckner
8e22dc52b4
Log via Logger singleton, fixes races between logging and OSystem teardown.
2019-05-01 23:14:16 +02:00
Stephen Anthony
8a0591698a
Directories need to be created on initial startup, not when loading config files.
2019-05-01 18:00:14 -02:30
thrust26
d4479f4e43
allow to position dialogs centered and in corners
2019-05-01 17:19:40 +02:00
Christian Speckner
0e6e54f15c
Save settings immediatelly on sqlite and macos.
2019-05-01 12:04:09 +02:00
Christian Speckner
017c2a7c16
Final refactoring & cleanup to generalize sqlite handling.
2019-05-01 11:42:22 +02:00
Christian Speckner
4d0da9b8e7
Merge branch 'master' into sqlite
2019-04-29 00:50:30 +02:00
trinemark
f69cc5cb6c
libretro: make getRAM const
...
use shadow ram copy for frontend
2019-04-28 18:33:44 -02:30
trinemark
3f9ca310c3
libretro: getRAM conditional compile
...
temporary workaround
2019-04-28 16:48:50 -02:30
trinemark
2284dc7f55
libretro: add achievements
...
http://retroachievements.org/gameList.php?c=25
2019-04-28 16:48:50 -02:30
thrust26
75650f1930
add option to switch settings mode in minimal UI
2019-04-27 21:07:18 +02:00
Christian Speckner
f9554ee3df
Hook up SQLite in build system, scaffold SQLite repository.
2019-04-26 23:08:55 +02:00
Stephen Anthony
35ca8edbaf
More fixes for ZIP_SUPPORT
...
- add extra commenting in FSNodeZIP concerning why another node is needed
- exclude zip files from the ROM launcher when ZIP_SUPPORT is disabled
2019-04-25 22:26:14 -02:30
Christian Speckner
126464f66f
Switch MacOS to SettingsRepository, fix clash between bspf.hxx and Cocoa.
2019-04-26 00:23:53 +02:00
Stephen Anthony
dd09187fc0
In the TIA class, isolate developer settings and re-apply them on each state load.
...
Eliminates saving of certain variables into the state file which really don't belong there.
2019-04-24 20:00:05 -02:30
Stephen Anthony
ea89ef01b4
Refactor DPC+ code wrt 'jitter'. The code and commenting now properly indicates that it is
...
a difference in mask values, and not actually jitter (TV 'jitter' effect is actually something else,
and is not causing the screen shaking here).
2019-04-24 17:11:37 -02:30
Stephen Anthony
2cf88abb99
Remove compile error in VS 2019 wrt std::min.
...
Refactor libretro code to no longer need SDL and ZLIB stub headers.
2019-04-24 16:11:30 -02:30
Stephen Anthony
00e464afc3
Enable conditional compilation for ZIP/zlib support.
2019-04-24 15:36:20 -02:30
thrust26
c3483d1553
larger fonts in all dialogs when using minimal UI
2019-04-23 20:08:03 +02:00
Christian Speckner
6c1efce278
More TIA documentation.
2019-04-22 23:24:41 +02:00
Stephen Anthony
7b2ca28306
Disable 'jitter' effect in older DPC+ driver versions ( fixes #429 ).
2019-04-21 21:56:54 -02:30
Stephen Anthony
e865cde07b
Re-enabled PNG support for Xcode, and fixed minor warnings.
2019-04-21 21:02:30 -02:30
Stephen Anthony
eb13d515fb
Enable conditional compilation for PNG support. Some ports (libretro) don't need it at all.
2019-04-21 20:07:56 -02:30
Stephen Anthony
32d90c1935
Removed '-Wno-double-promotion' from the build flags.
...
This necessitated fixing float -> double promotions in several places in the code.
In most cases, double was never being utilized anyway, so there was a slight performance hit for casting when not required.
2019-04-21 15:10:07 -02:30
Stephen Anthony
36da2bcabc
Make sure fullscreen TIA modes actually use real fullscreen dimensions.
...
Previously, they would sometimes use desktop dimensions, and on current versions of SDL,
this would exclude areas meant for taskbars, etc. So the resulting image was smaller than it should have been.
2019-04-20 18:23:50 -02:30
Stephen Anthony
efb196224a
Minor refactoring.
2019-04-20 17:34:10 -02:30
trinemark
cae32b0b3f
add libretro port
2019-04-20 17:06:25 -02:30
Stephen Anthony
bf865e37ab
Move ROM properties normal enum to 'enum class'; this actually spread to other issues:
...
- properties names for 'Cartridge' changed to 'Cart'; this can speed up processing
- fixed several bugs in stella.pro (missing newlines)
- fixed 'create_props'; now it works from either the base directory or the tools directory
Reworked properties database names
2019-04-20 15:42:46 -02:30
thrust26
18babfc7a5
Merge branch 'master' of https://github.com/stella-emu/stella
2019-04-18 22:16:14 +02:00
thrust26
ae0d2c64d8
add Genesis controller detection for Super Cobra Arcade and Scramble
2019-04-18 22:15:58 +02:00
Christian Speckner
9385117723
Move inlined sprite tick logic to improve readability.
2019-04-15 12:06:41 +02:00
Stephen Anthony
5dde762b85
Changed 'tia.fsfill' option to 'tia.fs_stretch'.
2019-04-14 14:57:28 -02:30
Christian Speckner
d394dd876d
Turn warnings in XCode to 11, pacify warnings.
2019-04-14 18:25:02 +02:00
Stephen Anthony
56ad3a6ea1
Turned off patching support in 3E+ scheme.
...
This class is still a WIP, and doesn't work for all test ROMs. So it doesn't make sense to work on this part until we can dedicate more time to it.
2019-04-14 13:16:52 -02:30
thrust26
937ecca8c1
aligned Booster Grip buttons naming
2019-04-14 16:20:09 +02:00
Stephen Anthony
d54f106a3a
And yet more 'enum' cleanups.
2019-04-13 22:44:23 -02:30
Stephen Anthony
4d99772a10
More 'enum class' conversions.
2019-04-13 22:26:53 -02:30
Stephen Anthony
535fffdc46
More conversions from 'enum' to 'enum class' and 'constexpr'.
2019-04-13 21:35:29 -02:30
Stephen Anthony
53b6a2ef89
Converted some more 'enum' to 'enum class'.
2019-04-13 20:57:46 -02:30
Stephen Anthony
c80e2340ea
Add mappings for increasing and decreasing current vidmode.
...
Map the R77 F13 key to the former.
Some refactoring of the mapping code in PKeyboardHandler and EventHandler.
Some refactoring of the VidMode handling in FrameBuffer.
Option 'tia.fsfill' is now used to select 4:3 vs. 16:9 mode in fullscreen.
2019-04-08 18:44:27 -02:30
Stephen Anthony
368159a598
Add default key mappings for R77 at a lower level
...
- this allows to always reset to known working settings
- we no longer need a specific keymap in SettingsR77, so it is removed
Add action that can switch between fullscreen normal or stretched modes
- this is the 'tia.fsfill' option, that is currently only change-able from the UI
- still need to add infrastructure to actually do this
Fixed minor compile warning.
2019-04-07 14:41:58 -02:30
thrust26
fe398360fb
fixed endless loop when saving snapshot in Pause mode
2019-04-06 19:43:15 +02:00
thrust26
372ecf0608
made 'checkBounds()' non-virtual and protected, using uInt32
2019-04-06 15:42:57 +02:00
Christian Speckner
83c8b74800
Fix regression in collision handling.
2019-04-06 12:33:50 +02:00
thrust26
0d1848dcda
added surface boundary check
2019-04-06 12:11:03 +02:00
thrust26
b62a33607c
Merge branch 'master' of https://github.com/stella-emu/stella
2019-04-06 10:50:32 +02:00
thrust26
8fe00ff523
improved joystick detection (for future games)
...
restored properties for my old Missile Command trackball hacks
added Genesis controller properties for Scramble and SuperCobra Arcade
2019-04-06 10:50:07 +02:00
Stephen Anthony
8c3741fc97
Updated ROM properties.
2019-04-06 00:20:36 -02:30
Stephen Anthony
c96d97c8e8
Set default TIA aspect to 100% for both NTSC and PAL.
...
This is in the process of being reworked, and may disappear eventually.
2019-04-06 00:05:00 -02:30
Stephen Anthony
a44e9bd80e
Added 'Amoeba Jump' to the properties database.
2019-04-05 13:32:06 -02:30
thrust26
ea4d010422
updated for Synthcart controller detection
2019-04-05 15:04:31 +02:00
thrust26
f716bc47a7
removed auto detected controllers (per game!) from Stella.pro
2019-04-05 12:50:47 +02:00
thrust26
2ad206eac1
improved joystick and genesis detection
2019-04-05 12:38:17 +02:00
thrust26
14b22d185b
updated audio docs
2019-04-05 09:48:03 +02:00
Thomas Jentzsch
3f5440bb24
some minor UI cosmetics
2019-04-04 10:56:39 +02:00
Stephen Anthony
be775b53e3
Made TIA window always open at a multiple of the minimum bounds
...
- this means that 320x240 is now the default 'base' size, and zoom levels are based on that
- the TIA image is rendered into whatever sized window is active, meaning that NTSC and PAL modes now look similar
Removed some 'small screen' dead code in FrameBuffer.
2019-04-03 20:27:30 -02:30
thrust26
285583f959
removed option to disable scanline interpolation
2019-04-03 23:37:28 +02:00
thrust26
db833249df
made scanlines available in non-Blargg modes
2019-04-03 18:32:42 +02:00
thrust26
e2f5be4725
Phosphor and scanlines levels: 0 displayed as 'off'
2019-04-02 18:16:04 +02:00
Thomas Jentzsch
ff65426954
safety fix for unusual small ROMs.
2019-04-01 16:03:14 +02:00
Christian Speckner
b289232002
Fix starfield regression.
2019-03-31 22:09:10 +02:00
Stephen Anthony
2bb633800c
First pass at getting keymap working again for R77.
2019-03-31 16:42:48 -02:30
Stephen Anthony
70748f3619
Fix off-centered TIA image on R77.
2019-03-31 16:09:14 -02:30
Stephen Anthony
76131a0e73
Minor changes in M6532 naming to match what used in other classes.
2019-03-29 22:34:27 -02:30
Stephen Anthony
e6e337cd02
Fixes for previous commit; remove indirection and inherit directly from ControllerLowLevel.
2019-03-29 21:07:20 -02:30
Stephen Anthony
cfe79ec0b1
Major changes to controller infrastructure.
...
Basically, separate high-level read/write from low-level set/getPin methods.
2019-03-29 20:47:24 -02:30
thrust26
39884db86f
refactored/renamed key state parameters (pressed vs. released)
2019-03-29 23:49:29 +01:00
Thomas Jentzsch
6f51b6039d
renamed and refined StellaSettingsDialog
...
added to OptionsDialog for testing
2019-03-29 13:42:47 +01:00
Christian Speckner
2e2b37396d
Playfield comments.
2019-03-24 21:15:02 +01:00
Stephen Anthony
0d34de269c
Finalized 'basedir' and 'baseinappdir' in Windows.
...
- This still needs some testing and doc updates, but it seems to be
working great
- Hopefully people will now stop asking for this feature
2019-03-24 16:31:16 -02:30
Christian Speckner
d7662427fc
Typo.
2019-03-19 21:23:14 +01:00
Christian Speckner
81eeec5fae
Adapt access checks to modified BSS section.
2019-03-19 21:08:35 +01:00
thrust26
7973140c5a
refactored and split CartCDFWidget.cxx (see CartCDFInfoWidget.cxx)
2019-03-19 20:44:38 +01:00
Christian Speckner
383424983a
Update memory layout for CDFJ, adapt debugger widget.
2019-03-18 22:30:46 +01:00
Stephen Anthony
12d8ed570d
Fix minor warning in VS.
2019-03-16 16:24:24 -02:30
Stephen Anthony
b8393a22a1
Updated Xcode for recent class additions.
2019-03-16 16:08:17 -02:30
Christian Speckner
59a7cbbc5e
Support CDFJ / fastjmp2
2019-03-13 22:30:20 +01:00
Stephen Anthony
93a07b4517
Remove setting 'fixed' height from frame-manager completely.
2019-03-10 16:49:11 -02:30
Stephen Anthony
d09b6329c9
Consolidate some constants into actual enumerations/namespaces.
...
- Certain parts of the code referred to int literals, when they should use named constants instead
- Different classes had enumerations for the same quantities; this is now fixed
- Basically, TIAConstants and FrameBufferConstants now contain all constants, and their relationship is clearly indicated (previously it wasn't as clear)
2019-03-10 15:19:30 -02:30
Stephen Anthony
9a8e5a3a33
Fix Thumbulator conditional handling of some opcodes.
2019-03-10 11:59:07 -02:30
Stephen Anthony
0e9915823d
Remove redundant check for controller 'Auto' type.
2019-03-09 20:04:51 -03:30
Stephen Anthony
e61caf069b
Fix warnings under gcc and clang, both in normal compilation and R77 mode.
2019-03-09 19:40:45 -03:30
Stephen Anthony
14567207ff
Fix minor warnings that come up in g++ and not clang, and fixes for which cause warnings in the other compiler.
2019-03-09 18:01:38 -03:30
Stephen Anthony
a5ca6b8ca5
Start of purging 'Display_Height' from the codebase.
...
- We've already removed it from the UI, now it's removed from consideration altogether
- For now, NTSC ROMS use 240, PAL 250; this will change when we get aspect ratio working
2019-03-09 16:27:33 -03:30
Stephen Anthony
91c98ceed2
Converted another plain enum to 'enum class'.
2019-03-09 16:02:43 -03:30
Stephen Anthony
51981d633d
When compiled for R77, use 'minimal_ui' mode.
2019-03-09 14:35:22 -03:30
thrust26
9b6cae5684
Minor fixes for 3E+
2019-03-05 20:22:08 +01:00
Stephen Anthony
61828ac695
Don't create an empty 'stella.pro' file when possible.
...
- Not a big deal, but several people are complaining when 'ghost' files are created
- If file doesn't already exist and there is nothing to add, simply don't create one
- Alternatively, we should delete the file if it's zero-sized, but that requires changes to FSNode.
2019-03-04 20:12:21 -03:30
Stephen Anthony
9f6b91cff6
Completely remove OSystem/FrameBuffer/Settings dependency on AVox/SaveKey.
...
- Added a new callback that enables sending messages back to the parent (Console)
2019-03-03 22:03:44 -03:30
Stephen Anthony
3b15f8da5d
Move SerialPort declaration/instantiation directly into AtariVox.
...
- This is the only class that uses it, so it makes no sense for OSystem to even care about it
2019-03-03 21:30:53 -03:30
Stephen Anthony
784793cae3
Fix compile warnings from clang8; this class still needs more work though.
2019-03-03 15:18:58 -03:30
Stephen Anthony
abc3b3a32b
Fix warnings generated by clang 8.
...
- Several more still exist, and are mostly related to C-style code
- It has long been my intent to remove as much C-style code as possible
2019-03-02 12:06:08 -03:30
Christian Speckner
d04b5dd64b
More inlining for performance.
2019-03-02 00:08:22 +01:00
Christian Speckner
2a9bfd6b23
Optimizations to TIA movement mode.
2019-03-01 23:35:52 +01:00
Christian Speckner
2b19f4ab5e
Use ystart / layout autodetection and real FrameManager in profiling run.
2019-02-28 23:56:02 +01:00
Christian Speckner
ac398ac31b
Profiling.
2019-02-27 23:41:08 +01:00
Christian Speckner
1ba1332501
Fix fallout from rebase.
2019-02-27 22:44:11 +01:00
Christian Speckner
05260ca006
More refactoring: remove dependency of System on OSystem.
2019-02-27 22:40:25 +01:00
Stephen Anthony
e7169ac010
Completely removed OSystem dependency for Cart classes.
2019-02-26 21:37:35 -03:30
Stephen Anthony
61cf68cb98
Move `getTicks()` from OSystem to TimerManager.
...
- This allows OSystem dependency to be removed in a few places (WIP).
- It more properly belongs in TimerManager, which has other functionality related to std::chrono.
- Historically this was a virtual method in OSystem, since different ports implemented it differently. Now that we use proper C++11 code, it doesn't need to be there anymore.
- Changed from a virtual call to a static call, so it's probably even a little faster.
2019-02-26 19:20:28 -03:30
Christian Speckner
85acaef8cd
Refactoring: remove dependency of TIA and M6532 on Console.
2019-02-26 23:43:22 +01:00
Christian Speckner
806045cb1c
Open ROMs for profiling, refactoring.
2019-02-26 22:46:54 +01:00
Christian Speckner
58d7846f6b
Profiling CLI. Wip.
2019-02-25 23:56:57 +01:00
thrust26
a251ccf3d6
another small unsafe optimization
2019-02-25 19:50:33 +01:00
thrust26
d716f42b5c
one small unsafe optimization for register 15
2019-02-25 11:36:42 +01:00
Stephen Anthony
42f9fc88f1
Fixed macOS compilation
...
- Like Windows, the 'basedir' stuff isn't implemented yet
2019-02-24 20:03:29 -03:30
Stephen Anthony
88afab2d22
More restructuring of the OSystem and derived class interaction
...
- Each derived class no longer calls methods from the base class
- The base class now directly queries the derived class with a pure virtual method, making sure it is called
- Implemented 'basedir' commandline argument for Linux
Windows and macOS currently won't compile. I'll work on those next.
2019-02-24 19:14:55 -03:30
thrust26
28d1113523
Thumbulator::fetch16 can fetch only ROM when optimized
2019-02-24 14:39:52 +01:00
thrust26
6f94174989
Merge branch 'master' of https://github.com/stella-emu/stella
2019-02-24 09:24:11 +01:00
thrust26
bb3075947b
segfault Stella protection added
...
some more small optimizations (fetch32 removed)
2019-02-24 09:23:57 +01:00
Stephen Anthony
d5180ba649
Improve variable/method naming in Settings class.
2019-02-23 17:07:50 -03:30
Stephen Anthony
032b08cca1
Fixed compilation errors in macOS. I still need to think about the Settings stuff, though.
2019-02-23 16:02:13 -03:30
Stephen Anthony
814977e968
Cleaned up Settings API, and moved to C++ maps instead of vectors.
2019-02-23 15:21:11 -03:30
thrust26
d188b5024f
one more missing optimization
2019-02-23 19:02:25 +01:00
thrust26
b32d3eba49
oops
2019-02-23 16:09:39 +01:00
thrust26
486494eb7a
defined UNSAFE_OPTIMIZATIONS in Thumbulator
2019-02-23 16:09:00 +01:00
thrust26
bac5a86832
minor Thumbulator optimizations and code cleanup
2019-02-23 12:05:53 +01:00
thrust26
e245655747
Revert "optimized Thumbulator.cxx"
...
This reverts commit 9a09675e55
.
2019-02-22 20:11:19 +01:00
thrust26
38366b65bb
optimized complex conditional branches in Thumbulator (affects ~5% instructions)
2019-02-22 14:50:52 +01:00
Stephen Anthony
130fcf1dfc
Fairly large refactoring of Settings class
...
- Completely separate Settings and OSystem; the former no longer uses the latter at all
- Moved separate Settings methods directly into that class, exposing less info outside the class
- Reworked loading/saving config files; this may break macOS port (not tested yet)
- Next thing TODO is convert Settings class to use map instead of vectors
2019-02-21 21:55:08 -03:30
thrust26
9a09675e55
optimized Thumbulator.cxx
2019-02-21 22:56:18 +01:00
Stephen Anthony
904821cff9
Refactoring of settings load/save functionality
...
- commandline parsing is now done in main function
- loading of settings is handled by OSystem
- settings that are used only in main are not accessible globally
- beginnings of converting Settings class to use map instead of linear arrays
2019-02-20 23:43:29 -03:30
Stephen Anthony
8808f7b5e0
Check in WIP on config paths before I screw something up (already happened multiple times).
2019-02-20 14:06:39 -03:30
Christian Speckner
e80e15538b
Thumbulator optimizations.
...
Pre-decode ROM image and turn instruction dispatch into a switch.
2019-02-20 00:32:48 +01:00
Stephen Anthony
9735806b2f
Partially revert commit for #368 ; we need more work before this can be enabled.
...
Fixes issue with fullscreen TIA image disappearing.
2019-02-18 18:17:08 -03:30
thrust26
2d0221ae1f
improvement for hardcoded keys in Inputdialog
2019-02-18 20:20:14 +01:00
Stephen Anthony
8f800d97b9
First pass at cleaning up the various config file location mess
...
- only 'romdir' is configurable; the rest are now always under the 'basedir'
- next step is to allow 'basedir' to be configurable, and optionally use the APP dir
- ConfigPathDialog dialog is now almost empty (only contains romdir), so perhaps this can move elsewhere
2019-02-16 15:26:24 -03:30
thrust26
3c6b8339e1
a bit controller detection refactoring
2019-02-16 11:46:42 +01:00
thrust26
9fba356d8b
RomInfoWidget auto detects controllers and displays results
2019-02-15 22:19:19 +01:00
thrust26
83636b9791
updated Stella.pro for some of my own games
2019-02-15 17:58:47 +01:00
thrust26
2cc035e4eb
improved keyboard controller detection
...
small doc update
2019-02-15 16:29:13 +01:00
Thomas Jentzsch
7215f2bbeb
changed volume hotkey handling
...
changing volume also enables sound
changing phoshor also enables phosphor mode
2019-02-14 11:07:17 +01:00
Thomas Jentzsch
fa66711c8a
moved SaveKey detection to a safer spot
2019-02-14 08:46:50 +01:00
thrust26
b5fce21b2f
implemented mute Hotkey (TODO: default key)
...
small improvement for Amiga mouse detection
minor Windows project file fix
2019-02-13 20:03:58 +01:00
thrust26
9857fa888b
improve trackball controller detection
2019-02-12 22:18:19 +01:00
thrust26
8855804635
improved SaveKey detection
2019-02-12 19:24:36 +01:00
thrust26
3c2549d348
slightly improved Genesis detection
...
corrected tab widgets in GameInfoDialog
2019-02-11 23:02:08 +01:00
thrust26
a4456e6af8
improved controller detection and added Genesis
...
adapted GameInfoDialog to controller detection
moved detection from OSystem to Console
2019-02-11 22:10:30 +01:00
Stephen Anthony
854a891a36
Minor fixes for compile warnings/errors in Linux.
2019-02-11 11:36:13 -03:30
thrust26
b6b5930a2d
Merge branch 'master' of https://github.com/stella-emu/stella
2019-02-11 15:53:07 +01:00
thrust26
c1067fde83
first shot at automatic controller detection
2019-02-11 15:52:51 +01:00
Stephen Anthony
9d31d4a519
Fixed 'F8' autodetection to be a little more robust.
2019-02-10 10:39:54 -03:30
Stephen Anthony
a1342afe34
Fixed bug in peek handling for 2K and 4K ROMs.
...
This fixes cheatcode handling for those schemes.
2019-01-27 13:13:08 -03:30
thrust26
46f7668216
added missing oddball TIA options
2019-01-16 17:58:02 +01:00
thrust26
bd0984fc98
renamed player inverted HMOVE phase clock option, methods and keys
...
added missile inverted HMOVE phase clock option
2019-01-14 22:52:30 +01:00
thrust26
fad141b5de
some code cleanup
2019-01-13 09:58:26 +01:00
thrust26
0449e24146
defined various TIA types in developer options
2019-01-12 15:51:38 +01:00
thrust26
fee5f57179
disabled some developer options for 'Player settings'
...
updated doc and changes
2019-01-12 12:00:35 +01:00
thrust26
f80f291cec
minor optimizations and formatting
2019-01-10 21:08:12 +01:00
thrust26
e2dabba309
updated serializers
...
added some game names to new TIA settings
2019-01-06 18:04:19 +01:00
thrust26
da269fefed
added TIA tab to developer options with 5 options for oddball TIAs
...
started disabling some options for player settings
2019-01-06 13:48:53 +01:00
thrust26
b5de674c58
added missing prefixes
2019-01-05 23:01:21 +01:00
thrust26
5e89b4d02b
started to eliminate magic numbers in new TIA code
2019-01-05 15:34:19 +01:00
thrust26
5fd3c017f6
added missing serializing
2019-01-05 00:07:45 +01:00
thrust26
f4de083a2b
Extra playfield delay added as Developer option.
2019-01-04 14:18:35 +01:00
thrust26
3f9e82ab79
some minor typo fixes/alignments
2019-01-03 22:46:35 +01:00
thrust26
9e81ad4c13
enabled TimeMachine by default and increased defaults
2019-01-02 10:53:46 +01:00
Stephen Anthony
ebfff85cb6
Fixed nasty C-style string conversion to upper/lower-case.
2019-01-01 15:22:30 -03:30
Stephen Anthony
275666b0af
The annual copyright year update.
2019-01-01 11:35:51 -03:30
thrust26
1f64eecf4e
fixed #401
...
added 7800 related messages for color/pause switches
2019-01-01 13:49:09 +01:00
thrust26
dc978b041a
removed PADDLES_IDIR option (superfluous)
...
fixed properties for 'Dancing Plate (Unknown) (PAL)'
2018-12-31 12:23:23 +01:00
Stephen Anthony
04030757f0
Updated properties to RomHunter v15.
2018-12-28 17:55:15 -03:30
thrust26
b5f5ddefad
(mostly) implemented #326
...
TODO: use empty buttons
2018-12-28 17:42:19 +01:00
thrust26
84300914cc
fixed #397
...
Added SET_LAST_POKE for STA/STX/STY using absolute addressing (frequently used wasting 1 cycle) and PHA.
2018-12-28 12:36:00 +01:00
thrust26
f86ba39c88
initial update for #368
2018-12-27 11:47:41 +01:00
Stephen Anthony
e4a1ba50e6
Final updates for 6.0 release (we hope).
2018-12-22 11:46:54 -03:30
Stephen Anthony
b40a614cee
Rework `Cartridge::initializeStartBank()` to require a specific starting bank.
...
Randomization and reading from properties still work too.
Fixes issues in several ROMs that essentially were getting bank randomization even though it was disabled.
2018-12-20 18:37:27 -03:30
Stephen Anthony
497bfc92db
Added ROM properties for a few ROMs included with the R77.
2018-12-19 17:02:30 -03:30
Stephen Anthony
9c1b9ae00e
Fix bug when taking snapshots in 1x mode; once started, it never stopped.
2018-12-19 14:26:15 -03:30
Stephen Anthony
933c4d7d3c
Mac-related files/folders are now using 'macOS' naming scheme.
2018-12-19 11:46:09 -03:30
Stephen Anthony
6a17467e99
Slight space savings for load/save state.
2018-12-19 10:46:16 -03:30
Stephen Anthony
f33ac273dd
Remove debugging code.
2018-12-18 22:00:01 -03:30
Stephen Anthony
69fb08e30c
Remove '_rwport' from the debugger.
...
The new way of detecting RWP is superior, and we don't have time to rework _rwport to use it.
This may come back in the future (if required), but I honestly don't see a need for it.
2018-12-18 20:56:19 -03:30
Stephen Anthony
d7e9cfc4d0
Fix some warnings from cppcheck.
...
I'll admit that some of these suggestions are of dubious importance, but at least we shut up the tester :)
2018-12-18 20:06:55 -03:30
Stephen Anthony
471cf1ad4d
Updated RWP stuff for 'E7' scheme.
2018-12-18 14:32:49 -03:30
Stephen Anthony
a26288c788
Updated RWP stuff for DASH scheme.
...
Again, this is a relatively untested BS scheme, with only one test ROM available.
2018-12-18 14:04:25 -03:30
Stephen Anthony
70fcd0f3b5
Updated RWP stuff for '3E+' scheme.
...
This is currently mostly untested, since this scheme isn't widespread and has only a few test ROMS.
2018-12-18 10:59:29 -03:30
Stephen Anthony
56669c5449
Convert Cart classes to receive 'md5' parameter.
...
That's an *awful* lot of work to simply pass info to each class :)
2018-12-18 10:24:40 -03:30
Stephen Anthony
dea62573f8
More carts converted to new RWP code.
2018-12-17 21:25:08 -03:30
Stephen Anthony
9aaf8b22b5
Fix wrong address in poke methods in 'SC' schemes.
2018-12-17 20:41:39 -03:30
Stephen Anthony
4ff613b4e9
Converted all the class 'SC' carts to new RWP scheme.
2018-12-17 20:15:11 -03:30
Stephen Anthony
ebe18877f9
Fairly large refactoring of RWP functionality.
...
- abstracted RWP code into Cart base class (only F8SC converted for now)
- RWP now works by analysing RAM accesses before and after each instruction, catching all occurrences
Fixes for compiling without debugger support.
2018-12-17 19:51:28 -03:30
Christian Speckner
9b22c6afa7
Rewrite StaggeredLogger with a timer.
2018-12-15 23:59:21 +01:00
Christian Speckner
5b0b8cd5cb
Summarize audio buffer errors and log them to the main log.
2018-12-15 00:04:38 +01:00
Stephen Anthony
d941ebca09
Added new approach for values used when reading from the write port.
...
Previously these values were from whatever was on the databus, but new testing
indicates that they are semi-random (ie, random, but with some pattern).
The new code bases the values in part on the md5sum of the ROM (for randomization),
but also pre-generates a set number of values (for a pattern).
Currently only F8SC scheme is implemented. The remainder will be done once
we test this one.
2018-12-08 18:05:05 -03:30
Stephen Anthony
5f91532d95
Fix minor clang warning in last commit.
2018-12-08 11:43:35 -03:30
thrust26
1dfc221a1a
fixed RWP by using the last access type
2018-12-08 15:51:16 +01:00
Stephen Anthony
7b4c3dc6b8
In the case of 'read from write port', make sure RAM is modified before exception is thrown.
2018-12-07 21:45:28 -03:30
Stephen Anthony
abfc01b483
Rework trapping on 'read from write port' functionality.
...
The new code introduces a generic 'EmulationWarning' exception that can
be thrown for any reason. The RWP functionality has been ported to use
this, with the main benefit that if we ever have to add new exceptional
cases, we no longer need to modify M6502 class; it will pick up on the
new exceptions and pass them to the EmulationWorker as necessary.
Functionally, the RWP stuff works the same as before, just with a
different implementation behind the scenes.
2018-12-07 21:19:44 -03:30
Stephen Anthony
6a9ae2e3a1
Added exception class for general warnings, separate from the one for fatal errors.
2018-12-07 20:56:48 -03:30
thrust26
ecb6c7a508
Implemented solution for #396
2018-12-07 20:47:06 +01:00
Stephen Anthony
a7f8d67211
Some refactoring of snapshot code for future reference.
2018-12-07 15:22:39 -03:30
thrust26
979977befa
fully implemented #395
2018-12-06 18:51:46 +01:00
thrust26
3733adb39c
better snapshots, part 2 (buggy!)
2018-12-06 16:38:41 +01:00
thrust26
251449cacf
Merge branch 'release/6.0' of https://github.com/stella-emu/stella into release/6.0
2018-12-06 14:25:41 +01:00
thrust26
bef5caafa5
1st part of implementing blended screenshots (see #395 )
2018-12-06 14:24:07 +01:00
Stephen Anthony
26faaa8cce
Minor updates for suggestions from clang.
2018-12-04 20:40:50 -03:30
Christian Speckner
b58d843732
Clear fatal error flag on enetering the CPU main loop; code beautification.
2018-12-05 00:00:01 +01:00
Christian Speckner
f08ba16acb
Handle fatal errors on main thread.
2018-12-04 21:45:14 +01:00
Stephen Anthony
b06893d384
Potential fix for issue #392 (input locked after exiting the debugger).
2018-12-04 13:19:57 -03:30
thrust26
2e4340911b
fixed #394
...
extended trace step count to 10000 (preliminary fix for #393 )
2018-12-02 11:20:10 +01:00
Stephen Anthony
e36692bee3
Minor refactoring in CartDetector class.
2018-11-20 15:39:30 -03:30
Stephen Anthony
f3a185f04a
Fixes for minor warnings from cppcheck.
2018-11-19 11:08:44 -03:30
Stephen Anthony
a8a0c57deb
Updated ROM properties database for missing paddle controllers.
2018-11-19 10:38:34 -03:30
Stephen Anthony
ae2bb58f0b
Added ROM properties for various trakball hacks, thanks to alex_79.
2018-11-16 11:14:10 -03:30
Stephen Anthony
e3873cce73
Moved final remaining bits of SDL-specific code out of src/emucore.
2018-11-13 20:43:12 -03:30
Stephen Anthony
bf8b0b3a88
Updated ROM properties database for several ROMs
...
- Major update is adding 'Chetiry' 60K ROMs info.
2018-10-21 10:11:57 -02:30
Stephen Anthony
cbd30fad02
Fix final clang warnings in Thumbulator.
...
It ended up being much easier than I realized.
2018-09-22 22:58:57 -02:30
Stephen Anthony
f8f3805dae
Fix minor warning from cppcheck.
2018-09-20 22:00:32 -02:30
Stephen Anthony
1bb19a05ba
Restore const for Event class by using 'mutable' mutex.
2018-09-20 21:51:10 -02:30
thrust26
c038df6343
fixed #383
...
if globally enabled, disable game specific stereo and phosphor elements
changed global phosphor value label (Default -> Blend)
2018-09-20 10:20:12 +02:00
Christian Speckner
6d0614ef35
Guard Event.hxx against races.
2018-09-19 23:36:26 +02:00
thrust26
a6a762bbb4
reworked Stereo for all ROMs setting in AudioDialog
2018-09-19 22:24:25 +02:00
Christian Speckner
27956cff15
Fix switching between auto and manual ystart in GUI.
2018-09-17 22:19:33 +02:00
Stephen Anthony
ea31d4b464
Fix crash in BUS/CDF/CM schemes.
...
- bank initialization must happen in Cart::reset(), not the individual c'tors.
2018-09-17 09:38:23 -02:30
Stephen Anthony
56d9bdc163
Add autodetection for 32KB variant of CTY ROM.
2018-09-16 23:13:37 -02:30
Stephen Anthony
7982f7cb9b
Various updates to the 'CTY' scheme, all by SpiceWare:
...
- music support
- autodetection support
- creation of 60K ROMs
For the latter, I still need to see how we will distribute those ROMs, and get them added to the database.
2018-09-16 22:49:33 -02:30
Stephen Anthony
8f03a48f11
Partially restore a reverted commit.
...
- Since changing ystart/height no longer needs to call `TIA::frameReset()`, the method is no longer valid
- Remove the method, and all documentation that says it is necessary to call it
2018-09-16 21:44:17 -02:30
Christian Speckner
888556b124
Another pass at resolving ystart issues. Reverts 02b0c13a
and b9bbbe1
.
2018-09-17 00:23:06 +02:00
Stephen Anthony
31f6dba87d
'Cartridge.StartBank' ROM property is now used by the core.
2018-09-14 20:57:36 -02:30
Stephen Anthony
b9bbbe1381
Fix blank screen after exiting from GameInfoDialog.
2018-09-13 21:38:21 -02:30
Stephen Anthony
d18f11afa2
Remove Serializable::name() method, and all reference to it in state files.
...
- this both speeds up load/save of state files, and makes them smaller
- affects both on-disk files, and Time Machine functionality
2018-09-13 20:50:23 -02:30
Christian Speckner
524943354e
Remove unnecessary frame resets.
2018-09-14 00:34:21 +02:00
Christian Speckner
2f9fc4f525
Bug fixing, harcode min ystart to 0.
2018-09-13 23:23:49 +02:00
Stephen Anthony
5bc84bca52
Add 'Cartridge.StartBank' ROM property, to specify the startup bank for a ROM to use.
...
For now, this only modifies the properties database. Still TODO is have the app use the information.
2018-09-11 10:23:39 -02:30
Christian Speckner
e129391dbd
Fixes, properly handle TV format any ystart changes from GUI.
2018-09-09 23:30:20 +02:00
Christian Speckner
ab0e4d6bba
Properly handle TV and ystart autodetection during runtime.
2018-09-06 23:47:17 +02:00
Stephen Anthony
ce9b832f68
Improvements to logging for sound settings.
...
- Now shows all settings from AudioSettings (preset, resampler, etc)
- Only logs sound info when the settings have actually changed (similar to Framebuffer info)
2018-09-05 14:05:56 -02:30
Stephen Anthony
b4dc729559
Added 'Arkyology' prototype ROM to properties database.
2018-09-05 12:48:11 -02:30
Christian Speckner
28f8dcc312
Get rid of strlen_s and strnlen_s, don't drive audio if sound is disabled.
2018-09-01 23:12:52 +02:00
Stephen Anthony
fe0d29a795
Fix ZIP handling wrt what is a valid filename (take new extensions into account).
2018-08-31 23:29:19 -02:30
Stephen Anthony
dce16d6f7c
Make all Bankswitch types detectable with specific ROM filename extensions.
...
Use a map instead of linear search in Bankswitch class.
2018-08-31 22:04:31 -02:30
Stephen Anthony
09b3d980f3
Fixed 'stuck' notes when changing video modes.
...
This is most apparent in OSX, where toggling windowed/fullscreen mode can sometimes take up to one second,
and any sounds playing from the ROM become stuck until the operation completes.
Also present on other systems to some extent.
Sound is now muted until the operation is complete.
2018-08-31 20:52:56 -02:30
Stephen Anthony
404ab8ffcc
Minor optimization in settings file parsing; don't copy a few strings.
2018-08-31 16:32:12 -02:30
Stephen Anthony
6b76031234
Fix error in parsing settings file for 'empty' values.
2018-08-31 16:15:38 -02:30
Stephen Anthony
65d23b4a6e
Removed 'launcherexts' and associated LauncherFilterDialog.
...
Introduced 'launcherroms' argument, which specifies to show only ROMs or all files in the launcher.
This functionality is tied to a RMB context menu in the launcher; eventually we may add a checkbox to the UI for it.
2018-08-31 13:51:42 -02:30
Stephen Anthony
f098636965
Fairly large restructuring of the 'BSType' code
...
- class has been renamed to 'Bankswitch'
- it is now a proper (static) class with namespacing
'Bankswitch' now contains all logic for determing what a proper ROM filename is.
So some functions have moved from LauncherFilterDialog to here (that class will be removed soon).
In the process, implemented issue 261 (file extension determines BS type to use).
2018-08-31 09:18:35 -02:30
thrust26
3b00fe45cd
Revert "aspect ration now affects height instead of width"
...
This reverts commit 0b61a71e58
.
2018-08-29 16:39:18 +02:00
thrust26
0b61a71e58
aspect ration now affects height instead of width
...
fixes #368
2018-08-29 16:01:01 +02:00
thrust26
e9a6deee70
reversed aspect ratio settings for NTSC50, PAL60 and SECAM60
2018-08-29 15:28:24 +02:00
Stephen Anthony
fb07d250d9
Simplify AudioSettings class a little.
...
- Use only one c'tor, which fixes some warnings from Coverity
- Fix large compile times when AudioSettings class is changed
2018-08-29 09:10:55 -02:30
Stephen Anthony
6093bf8375
Fix signed/unsigned conversion warning in VS.
2018-08-28 22:32:56 -02:30
Stephen Anthony
46b07d14b5
Fixes for warnings from Coverity.
2018-08-28 22:13:02 -02:30
Stephen Anthony
0f8dc1f2bb
Yet more fixes for warnings from cppcheck.
2018-08-28 17:00:00 -02:30
Stephen Anthony
7e4dc350f0
More fixes for suggestions from cppcheck.
2018-08-28 16:19:50 -02:30
Stephen Anthony
558b071fbb
Some more fixes for warnings from cppcheck.
2018-08-28 14:21:01 -02:30
Stephen Anthony
e5fb010631
Allow sound sample rate/fragment size to change dynamically.
...
- Move sound debugging output to logging facilities
- This should fix issue #348 , but more testing is required
Bumped version # for beta release.
2018-08-28 11:01:52 -02:30
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