Thomas Jentzsch
af84fbccc5
allow changing controllers during emulation
2019-08-15 20:17:57 +02:00
Stephen Anthony
22b4f36bbc
Remove redundant variable.
2019-08-15 07:59:54 -02:30
Thomas Jentzsch
9f51b8caa0
rename some variables
2019-08-15 12:20:10 +02:00
Thomas Jentzsch
b47234f776
convert int into JoyAxis/JoyDir
2019-08-15 11:53:15 +02:00
Thomas Jentzsch
80a5c5c6bf
first pass on converting int into JoyAxis/JoyDir
2019-08-15 10:58:11 +02:00
Thomas Jentzsch
55d3c9106f
made EventMode an enum class
2019-08-15 10:12:37 +02:00
Thomas Jentzsch
b21a821ccc
fix (partially) #494 (ToDo: Stelladaptor)
2019-08-15 09:32:01 +02:00
Stephen Anthony
359244c66d
Fix opening ZIP files that don't contain any ROMs.
2019-08-14 15:05:21 -02:30
Thomas Jentzsch
950068ba60
fix #513
...
support using ESC to exit debugger
2019-08-14 14:52:28 +02:00
Thomas Jentzsch
05cecb95b9
refactored logging and removed magic numbers
2019-08-14 12:01:15 +02:00
Thomas Jentzsch
a36e01ac71
remove some debugging output
...
refactored controller mapping loading
2019-08-14 09:47:34 +02:00
Stephen Anthony
f7c70e46f5
libretro: fix minor compile warning.
2019-08-13 16:58:17 -02:30
Stephen Anthony
a04a310944
Fixed minor compile warning.
2019-08-13 16:54:38 -02:30
Thomas Jentzsch
c68e8f1c30
fix #393 by using one-shot breakpoints
2019-08-13 17:27:23 +02:00
Thomas Jentzsch
c769d22b54
allow RomInfoWidget text to fill multiple lines
2019-08-13 14:38:40 +02:00
Thomas Jentzsch
e236b0ce95
rename paddle events
...
update input mapping doc
remove abbreviation from InputDialog tab
2019-08-12 11:09:00 +02:00
Thomas Jentzsch
28c3d126be
make startup bank available in GameInfoDialog
...
add bankswitching type detection in GameInfoDialog when started from launcher
2019-08-12 09:22:36 +02:00
Thomas Jentzsch
0b2ca6572a
fix #511
2019-08-10 18:08:53 +02:00
Thomas Jentzsch
30f0b03e82
Merge branch 'master' of https://github.com/stella-emu/stella
2019-08-10 17:46:16 +02:00
Thomas Jentzsch
1ecf55ffc0
make controller repeats configurable in UIDialog
2019-08-10 17:45:50 +02:00
Stephen Anthony
bab08b2660
Fix minor clang warnings.
2019-08-10 09:48:57 -02:30
Stephen Anthony
a7c138c13d
libretro: fix compile errors.
2019-08-07 14:54:11 -02:30
Thomas Jentzsch
7cd45ec32a
add multi line string drawing (used in Input Dialog)
2019-08-07 15:17:19 +02:00
Stephen Anthony
0ab31bcec4
Fix minor compile warnings in clang.
2019-08-05 09:27:38 -02:30
Thomas Jentzsch
36cc239066
Merge remote-tracking branch 'remotes/origin/feature/controller-mapping'
2019-08-05 10:01:43 +02:00
Thomas Jentzsch
9f59b99525
enhanced keyboard detection for "Laser Keyboard" game
2019-08-04 12:25:33 +02:00
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