Commit Graph

3712 Commits

Author SHA1 Message Date
Stephen Anthony 37908e8798 Fixed Windows build for latest file selector changes. 2019-06-22 21:25:40 -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 fbf05505d3 Merge branch 'master' of https://github.com/stella-emu/stella into feature/controller-mapping 2019-06-22 10:55: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
Stephen Anthony 786f3b2a49 First pass at converting LauncherDialog to use FileListWidget, similar to BrowserDialog.
- FileListWidget is a newer development, and LauncherDialog duplicates some (but not all) of its functionality
- Similarly, BrowserDialog has some functionality that LauncherDialog does not
- We will implement all required functionality in FileListWidget, and have both classes use it.

BrowserDialog is currently slightly broken; not all functionality is reimplemented yet.
2019-06-21 14:51:55 -02:30
thrust26 529c1fe7de refactor into two separate maps for stick and hats 2019-06-21 10:35:45 +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
thrust26 77c2824d4a Merge branch 'master' of https://github.com/stella-emu/stella 2019-06-17 21:05:48 +02:00
thrust26 b940aea542 fix #353 2019-06-17 21:05:31 +02:00
Stephen Anthony 84d44273d3 Minor refactor for PKeyboardHandler WRT 'Alt' functionality. 2019-06-17 11:58:37 -02:30
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 9ca49afeee Merge branch 'master' of https://github.com/stella-emu/stella 2019-06-16 19:52:29 +02:00
thrust26 c20035ccce refactor CompuMate key handling (uses events now too) 2019-06-16 19:52:14 +02:00
Stephen Anthony 5e6db1be0d Some UI code refactoring.
Since 'repeat' is now enabled below the UI level, we no longer need to track key presses.
2019-06-15 19:58:45 -02:30
thrust26 802b5a33bc make prompt tab initial tab in debugger
fix Dialog class for R77
2019-06-15 14:47:12 +02:00
thrust26 aef9decdfb fix #492 2019-06-15 13:10:02 +02:00
thrust26 b85bbbdcdc Merge branch 'master' of https://github.com/stella-emu/stella 2019-06-15 12:10:28 +02:00
thrust26 65cb17e736 refactor controller dependent mappings 2019-06-15 12:10:00 +02:00
Stephen Anthony af1703c24a Fix minor warnings from clang.
Minor formatting fixes.
2019-06-14 17:31:04 -02:30
thrust26 d969d9152b fix #490 2019-06-14 21:49:39 +02:00
thrust26 3b1be03f74 enable mapping start on double-click code 2019-06-14 20:03:58 +02:00
thrust26 03280abf7f improve hash function (~33% less collisions) 2019-06-14 17:49:30 +02:00
Thomas Jentzsch c43db6d85c fix broken VS project filter file 2019-06-14 09:32:34 +02:00
Thomas Jentzsch d09ccf4ad4 fix missing UI event display 2019-06-14 09:07:42 +02:00
thrust26 fca6348f7e align help wording to other code and doc 2019-06-13 21:45:37 +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
Stephen Anthony dfc1f852cf Fix invalid C++ code (use range-based FOR loop). 2019-06-12 13:10:02 -02:30
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 d9d2bffa7a Fix signed/unsigned warning in clang. 2019-06-11 13:37:55 -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 00dbf96acc PopupWidget/ContextMenu is now dynamic; one can add items after it is created. 2019-06-08 22:30:19 -02:30
funbars 2ed934d718 libretro: avoid windows lto crash 2019-06-08 18:59:06 -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 01ae69786d libretro: fix build for obsolete method. 2019-06-03 16:09:45 -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
Stephen Anthony 4de5098373 Fix compiler warning. 2019-06-02 10:22:26 -02:30
thrust26 b1b1d87cfa enhance Rewind/UnwindPause events 2019-06-02 14:07:42 +02:00
thrust26 351aff6be6 handle debugger relevant keys which cannot be remapped first 2019-06-02 12:57:04 +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 b589645269 make emulation key mappings available in debugger 2019-06-02 11:41:37 +02:00
thrust26 c9b9d4912b fix #295 2019-06-02 10:34:46 +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 d9a074dce0 several debugger buttons repeat 2019-06-02 00:21:49 +02:00
thrust26 fccfee04f8 wind buttons in TimeMachineDialog repeat 2019-06-02 00:15:27 +02:00
thrust26 311a8575a2 Merge branch 'master' of https://github.com/stella-emu/stella 2019-06-01 23:13:08 +02:00
thrust26 795c892549 prevent that repeated keys are going to emulation core 2019-06-01 23:12:50 +02:00
Stephen Anthony 0a1a0979fb Remove key repeat functionality from DialogContainer.
It is now provided by the backend (SDL) directly.
2019-06-01 18:41:38 -02:30
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
thrust26 1c5fa872c0 add 4th modifier key (windows/option) to allowed mappings 2019-06-01 19:05:33 +02:00
thrust26 a3350bca07 fix MacOS modifier naming, 2nd try 2019-06-01 00:36:11 +02:00
thrust26 f7c529d179 fix MacOS modifier naming 2019-06-01 00:33:19 +02:00
thrust26 0724e69c4c attempt to fix CMD key mapping in MacOS 2019-06-01 00:23:38 +02:00
thrust26 2ed25f50b6 doc update
save all states now saves ALL states
2019-05-31 22:30:56 +02:00
thrust26 7b56497963 fix crash when TM is disabled 2019-05-31 16:26:52 +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
Stephen Anthony a225003ed9 Revert "Make Common::Point use non-negative dimensions, like the other classes in Rect."
Seems I should do more testing before committing code ...

This reverts commit 1ea2c967ce.
2019-05-29 10:52:39 -02:30
Stephen Anthony 1ea2c967ce Make Common::Point use non-negative dimensions, like the other classes in Rect. 2019-05-29 09:16:13 -02:30
thrust26 bd2185e3f5 fix ComboDialog width 2019-05-28 23:28:47 +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 c8223c105b Merge branch 'master' of https://github.com/stella-emu/stella 2019-05-28 21:03:20 +02:00
thrust26 24dcb64c70 try to map correctly for MacOS.
make remaining ALT hotkeys configurable
2019-05-28 21:03:05 +02:00
funbars 389616f3c6 libretro cleanup 2019-05-28 15:54:45 -02:30
thrust26 d9ba5bedd7 fix mapping for side independent modifiers (press both + key) 2019-05-28 18:29:18 +02:00
Stephen Anthony d1df80b41d Code cleanup, formatting, etc. 2019-05-28 11:39:49 -02:30
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 a9e4531104 fix 'Reset' and 'Default' for multiple event mappings 2019-05-26 21:35:15 +02:00
thrust26 b45b192445 fix default key mappings 2019-05-26 20:41:34 +02:00
thrust26 54decb2cdf mapping for standalone and combined modifiers fixed 2019-05-26 19:53:14 +02:00
thrust26 308cc1864d fix not working erase button 2019-05-26 10:39:26 +02:00
Christian Speckner 97dfbd9fe8 Fix memory corruption. 2019-05-26 00:32:13 +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
Stephen Anthony b1b0f685d1 Fix compile error and warnings in macOS.
Still need to fix crashes on startup.
2019-05-25 15:01:00 -02:30
thrust26 976d9bbe72 move some fixed hotkeys to remap-able keys 2019-05-25 19:14:01 +02:00
Stephen Anthony 3b9c1e2768 Updated libpng to latest release. 2019-05-25 14:15:26 -02:30
thrust26 6b70b2dc9b fix 'Erase' in Input dialog, now removes additional mappings for keys too 2019-05-25 18:03:21 +02:00
thrust26 28b22f57a5 add missing modifier to 'eventForKey'
remove default modifier KBDM_NONE
2019-05-25 17:13:12 +02:00
Stephen Anthony a38776decc libretro: fix missing KeyMap class. 2019-05-25 11:41:10 -02:30
Stephen Anthony 5b4fee61dd Fix compilation for new keymapping stuff in Linux/libretro. 2019-05-25 11:38:18 -02:30
thrust26 fc79665d3a refactor key mapping using hash map
key mapping now allows key + modifier combinations
2019-05-25 15:12:34 +02:00
Stephen Anthony a2a3844d3d Silence warning from clang. 2019-05-24 18:15:32 -02:30
thrust26 d3662ee9c8 key for entering Options dialog can now be remapped as documented 2019-05-24 18:31:46 +02:00
Stephen Anthony c86aa6957b Fix crash in certain cases (most obvious when selecting cart tabs in debugger). 2019-05-23 18:24:00 -02:30
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 acbe9b2677 Merge branch 'master' of https://github.com/stella-emu/stella 2019-05-23 19:05:00 +02:00
thrust26 d2027a8a97 fix backspace not working in launcher 2019-05-23 19:04:39 +02:00
Stephen Anthony 8b5e45d810 libretro: remove unneeded file. 2019-05-22 08:50:38 -02:30
funbars baf4dc8d07 libretro uwp (fix) 2019-05-22 08:31:11 -02:30
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
Stephen Anthony 9c2f96e600 libretro: more cleanup. 2019-05-19 12:26:07 -02:30
Stephen Anthony af40918d17 libretro: minor cleanup. 2019-05-19 12:02:09 -02:30
thrust26 3d0b11d20f fix #479 2019-05-19 16:20:23 +02:00
thrust26 cdcbf4b079 highlight focused widget initially 2019-05-19 12:33:12 +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
funbars 889fb0e651 libretro vita 2019-05-18 20:47:38 -02:30
Stephen Anthony dac0fe7a7e libretro: fix compile for recent FrameBuffer method change. 2019-05-18 09:53:34 -02:30
thrust26 f466ddc544 make sure that last windowed position is on screen 2019-05-18 12:26:26 +02:00
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
Stephen Anthony d377d2a9a2 libretro: fix warning for unhandled controllers. 2019-05-17 11:20:12 -02:30
funbars 4b5c7eb7f2 libretro controls (fix) 2019-05-17 11:18:06 -02:30
thrust26 e7d2926eba add overscan to launcher 2019-05-16 22:30:37 +02:00
funbars ae4a796382 libretro speedup 2019-05-16 14:36:05 -02:30
Stephen Anthony b10ba17a0c libretro: fix compile flags
- turned off most warnings, since this build is not meant for developers
  (bugs will be fixed on the main devel machines, where warnings are more useful)
- use C++14 flag for non-Windows builds only
2019-05-15 16:59:03 -02:30
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
funbars 1e7ff8974f libretro runahead 2019-05-15 15:00:58 -02:30
Stephen Anthony 68d49f8e43 libretro: remove unused variable. 2019-05-15 13:53:46 -02:30
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
funbars a6412f4ab2 libretro cleanup (startup) 2019-05-15 12:25:58 -02:30
funbars d86f5d8a07 libretro options (reorder) 2019-05-15 12:25:10 -02:30
funbars 7baa82cb30 libretro uwp 2019-05-15 08:30:29 -02:30
Christian Speckner c75fcfae13 RAII wrapper for sqlite transactions, better transaction handling in key value repo. 2019-05-15 10:32:01 +02:00
Stephen Anthony 050a27f1ae Fixed HiDPI mode for all remaining dialogs (Time Machine, BrowserDialog, etc).
All that's left to do now is testing.
2019-05-14 18:34:34 -02:30
thrust26 d6fbaba4d4 fix missed VS refactoring 2019-05-14 22:55:55 +02:00
thrust26 b043ed5335 renamed 'setTickmarkIntervals' 2019-05-14 22:52:06 +02:00
thrust26 94de76b78e implement emulation fullscreen overscan 2019-05-14 22:44:48 +02:00
thrust26 5aab1afc7c rename labels for clarity 2019-05-14 19:03:03 +02:00
Stephen Anthony 28ad745b66 Eliminate unused variable (found by gcc-9). 2019-05-14 13:02:15 -02:30
funbars 1b4b2b3fe5 libretro makefile 2019-05-14 08:46:46 -02:30
Stephen Anthony a894496e77 A little too eager with GUI_SUPPORT. 2019-05-13 20:43:02 -02:30
thrust26 1e8f62d677 fix widget alignment in UIDialog 2019-05-13 20:14:25 +02:00
thrust26 c0c95c0c15 add restart info text for HiDPI mode 2019-05-13 19:52:59 +02:00
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 88f64473e9 limit states to 100 for R77 2019-05-12 21:40:28 +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
thrust26 32a6f10f0c remove unused code 2019-05-12 18:59:46 +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 c37e245c7a All widgets and dialogs using 'ContextMenu' now work in hidpi mode. 2019-05-11 19:50:42 -02:30
Stephen Anthony ef93ecfbd6 PopupWidget is now correctly positioned in hidpi mode. 2019-05-11 18:17:42 -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
Stephen Anthony fccd62607b Highlight widgets when they gain and lose focus.
- This allows widgets that are navigated using the keyboard/joystick to look the same as when using the mouse.
- For R77 in particular, this really helps when seeing which button is currently selected.
2019-05-10 23:07:36 -02:30
Stephen Anthony ce989df3e2 Update for next beta release. 2019-05-10 09:24:55 -02:30
thrust26 1d9fc3a1ab add missing buttons and keys (described in R77 help) 2019-05-09 22:16:00 +02:00
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 d2bc950e84 libretro: Silence clang warnings for unix.
clang-8: warning: -lpthread: 'linker' input unused [-Wunused-command-line-argument]
2019-05-08 17:18:15 -02:30
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
Christian Speckner 7ed4105e79 Update R77 joymap preset to account for modified controls layout. 2019-05-08 00:19:00 +02:00
Christian Speckner 3aa16f5d54 Mising semicolon. 2019-05-07 23:55:08 +02:00
Christian Speckner 3cbbda4719 Stupid me... remove key column name from joymap string. 2019-05-07 23:46:50 +02:00
thrust26 c83d22604b Save input mappings when leaving dialog 2019-05-07 20:23:28 +02:00
Christian Speckner e65d9250f3 Add joymap to support the R77 paddles. 2019-05-07 00:26:05 +02:00
Stephen Anthony 3b108dcdeb Fix warnings from clang. 2019-05-05 11:43:31 -02:30
thrust26 b4e0eb8792 fix R77 buttons in launcher 2019-05-05 13:19:20 +02:00
thrust26 e7d75ae408 fix event for R77 2019-05-05 12:51:57 +02:00
thrust26 888aa393d6 add missing include 2019-05-05 12:49:37 +02:00
thrust26 feca959d1e update R77 readme 2019-05-05 11:29:47 +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
thrust26 60260843ff improve dialog stacking 2019-05-05 08:55:24 +02:00
thrust26 ed5f8cb9de oops 2019-05-05 08:01:08 +02:00
thrust26 4f9927ae9f add R77 help dialog 2019-05-05 00:05:28 +02:00
Stephen Anthony 72ecc92326 Pass event to change 4:3/16:9 mode in Min UI. 2019-05-04 17:58:19 -02:30
thrust26 95341b9030 add frying to min UI command dialog 2019-05-04 21:09:35 +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
Christian Speckner cc5db6b330 Put DB in WAL mode. 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
orbea 9a49670d74 libretro: Hide compiler options from msvc. 2019-05-04 11:48:49 -02:30
thrust26 39d3eefcef make 'Cancel' work in command dialogs 2019-05-04 12:55:39 +02:00
thrust26 951b13ed97 fix settings not opening in launcher 2019-05-04 12:23:03 +02:00
thrust26 91317be73d add more default joystick button mapping
- open settings via joystick button in launcher and during emulation (4th button)
- open command menu and exit to launcher via joystick buttons during emulation (3rd and 5th button)
- cycle tabs via joystick 3rd and 4th buttons
2019-05-04 11:47:53 +02:00
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 ab8e5a59d4 libretro: re-enable `ignored-qualifiers` warnings. 2019-05-03 21:53:03 -02:30
Stephen Anthony 0fa83b0fd0 Fix compilation with sqlite (missing include header file). 2019-05-03 20:42:16 -02:30
Christian Speckner 6da1968845 Pacify compiler warning (and fix sqlite on windows). 2019-05-04 00:47:02 +02:00
thrust26 24602b4f53 prevent exiting command dialog with toggle key when using minimal UI 2019-05-03 19:34:39 +02:00
Stephen Anthony 1ad61ea117 Removed some redundant 'const', and with it re-enabled '-Wignored-qualifiers'. 2019-05-03 12:39:03 -02:30
orbea eb3e1b00dd libretro: Attempt to fix the ios build.
This copies the solution for the osx build which failed the same way.
2019-05-03 12:04:18 -02:30
orbea 17c64658ed libretro: Fix identing in the Makefile. 2019-05-03 11:49:49 -02:30
orbea 7b098e6185 libretro: Add -stdlib=libc++ to the LDFLAGS for osx too. 2019-05-03 11:11:58 -02:30
funbars d72b2da88e libretro stella msvc changes 2019-05-03 09:07:26 -02:30
orbea 8bccc11ce1 libretro: Remove CFLAGS and CC from the Makefile.
stella is a c++ project and these appear unused.
2019-05-03 09:06:34 -02:30
orbea f13a86c1dd libretro: msvc again... 2019-05-03 09:05:42 -02:30
orbea b5c9caa67f libretro: Try setting osx to 10.7. 2019-05-02 19:06:55 -02:30
orbea 7c79a4dd03 libretro: Attempt to fix osx again. 2019-05-02 18:40:37 -02:30
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
Stephen Anthony 5a7d18159b Move Rect class in VS project. 2019-05-02 17:21:02 -02:30
Stephen Anthony e745ecf692 Move Rect class for upcoming commit. 2019-05-02 17:13:33 -02:30
orbea 7a5d245ae0 libretro: Attempted fix for osx. 2019-05-02 15:43:52 -02:30
orbea 37268ea5c0 libretro: Remove unused include paths. 2019-05-02 11:59:01 -02:30
orbea 6c551d5ab5 libretro: Yet another fix for msvc. 2019-05-02 11:37:43 -02:30
orbea b34e0ef73b libretro: Another fix for msvc. 2019-05-02 09:12:19 -02:30
funbars b78171cea6 fix loadstate 2019-05-02 09:11:23 -02:30
orbea 0f8c8fcab3 libretro: Fix linux build. 2019-05-02 09:10:41 -02:30
Christian Speckner c6ed729600 Remove now-defunct custom R77 save logic. 2019-05-02 01:11:49 +02:00
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 882b5a1288 Revert "Some more tuning to R77 settings persistence."
This reverts commit 22778a545e.
2019-05-02 01:10:37 +02:00
Christian Speckner 22778a545e Some more tuning to R77 settings persistence. 2019-05-02 00:12:18 +02:00
Stephen Anthony 351462ddff Xcode project changed again for some reason??? 2019-05-01 19:17:13 -02:30
Stephen Anthony d8f28f19ce libretro: Added Logger class to VS project. 2019-05-01 19:10:55 -02:30
Stephen Anthony ff5d2f5b96 Updated VS project for Logger class. 2019-05-01 19:09:27 -02:30
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
trinemark 20d5615f1f libretro: fix msvc makefile 2019-05-01 14:05:42 -02:30
Stephen Anthony bd288f7119 Fix missing 'override's. 2019-05-01 12:57:49 -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
thrust26 fc3989fda1 allow open Power-on options via joystick 2nd button
add initial documentation for R77 (navigation only)
2019-05-01 11:28:23 +02:00
thrust26 dcc8d98f7f fix Help dialog for reordered TV modes 2019-05-01 11:11:52 +02:00
thrust26 ae51e9a953 define and align TV effect defaults for R77
slightly enlarge options dialog for minimal UI
2019-05-01 08:49:17 +02:00
thrust26 174b630c99 Merge branch 'master' of https://github.com/stella-emu/stella 2019-05-01 08:24:17 +02:00
thrust26 5a2c9558f5 add tab widget navigation for R77 2019-05-01 08:23:51 +02:00
Stephen Anthony 49706b4190 Updated Xcode for recent class additions. 2019-04-30 21:20:42 -02:30
Stephen Anthony 73d8ec10ee Add new 'Repository' files to VS project. 2019-04-30 21:16:33 -02:30
trinemark b336420eca libretro: add project file
KeyValueRepositoryConfigfile
2019-04-30 20:25:55 -02:30
Christian Speckner 408dd6a30c Add transaction, rework error handling. 2019-04-29 21:30:43 +02:00
Christian Speckner 4d0da9b8e7 Merge branch 'master' into sqlite 2019-04-29 00:50:30 +02:00
Christian Speckner b1f485e2bd Implement sqlite repository, fix link against sqlite3. 2019-04-29 00:46:27 +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
trinemark a795593000 libretro: adjust blargg crop 2019-04-28 12:05:01 -02:30
trinemark 503501a951 libretro: fix blargg par 2019-04-28 12:05:01 -02:30
trinemark 007795af8d libretro: fix blargg filter on startup 2019-04-28 12:05:01 -02:30
thrust26 80482aa7e5 allow minimal command dialog to open options dialog
define cancel key (P2 Skill) for R77
2019-04-28 10:33:38 +02:00
Stephen Anthony e34575753a Some cleanups to Widget class. 2019-04-27 22:09:05 -02:30
trinemark e428768307 libretro: crop horizontal overscan option 2019-04-27 19:23:18 -02:30
Stephen Anthony 04304fce32 Fix compile warnings and errors from last commit, detected by clang. 2019-04-27 17:08:58 -02:30
thrust26 75650f1930 add option to switch settings mode in minimal UI 2019-04-27 21:07:18 +02:00
Stephen Anthony a7cf51995e Add missing class to Xcode. 2019-04-27 14:13:01 -02:30
trinemark 1e42d8f50a libretro: add MinUICommandDialog to project 2019-04-27 13:00:57 -02:30
trinemark 1d29fb1282 libretro: add more controllers
joysticks: paddles (4), driving (2), booster (2)
2019-04-27 11:07:12 -02:30
Christian Speckner f9554ee3df Hook up SQLite in build system, scaffold SQLite repository. 2019-04-26 23:08:55 +02:00
Stephen Anthony 2d4b2a314e Minor code cleanup (unique_ptr is automatically set to null). 2019-04-26 18:21:08 -02:30
Christian Speckner 262084778e Coding style. 2019-04-26 22:27:20 +02:00
Christian Speckner 96b5ffc386 Adjust VC project files for removal of Settings classes. 2019-04-26 22:26:55 +02:00
Christian Speckner f26f4e53c6 Remove obsolete platform specific settings classes. 2019-04-26 22:24:33 +02:00
thrust26 d18c16639f change rewind intervals to 5s (1s internally) 2019-04-26 22:14:03 +02:00
thrust26 4c3c1931d6 updated R77 settings for command and settings dialogs 2019-04-26 22:02:18 +02:00
thrust26 5397c8d69e enabled rewind/unwind (TODO: define TM settings) 2019-04-26 21:51:50 +02:00
Stephen Anthony b24a8bcb70 Fix for one compile warning and one compile error :) 2019-04-26 16:01:25 -02:30
thrust26 d3785e6994 Assign R77 16:9 button to command dialog 2019-04-26 20:14:07 +02:00
thrust26 a54b153158 added minUI command dialog 2019-04-26 20:07:22 +02:00
thrust26 469f246053 Merge branch 'master' of https://github.com/stella-emu/stella 2019-04-26 20:04:06 +02:00
thrust26 288d91dc47 removed MinUI-Button 2019-04-26 20:03:48 +02:00
Stephen Anthony d956504d99 Updated evdev-joystick for latest changes from upstream. 2019-04-26 15:15:01 -02:30
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
Christian Speckner 14e903d8a1 Introduce KeyValueRepository, change OSystem and Settings to use it. 2019-04-25 21:36:04 +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 681c8156bd Greatly reduced warnings from libretro Makefile in Linux. 2019-04-24 16:43:16 -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
Stephen Anthony 1042c4ff7f First pass at conditional compilation of SDL for Stella.
For now, it's enabled for all mainline ports.
Stella doesn't absolutely need SDL (as the libretro port shows); it's less than 2000 lines in 220,000+ LOC,
2019-04-23 13:56:15 -02:30
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 94507a9444 Fix minor compile warnings for libretro. 2019-04-21 21:20:14 -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 519f9a3b21 Removed obsolete PNG header from libretro build. 2019-04-21 20:42:09 -02:30
Stephen Anthony 6bb6a3f263 Re-enable PNG support in Windows, and fix minor warnings. 2019-04-21 20:31: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 9d287666f9 Fixed libretro errors preventing a successful build.
Still TODO is actually test this functionality.
2019-04-20 19:24:17 -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
Stephen Anthony 5d6a0f9dbb When saving logfile, show a message indicating location.
Since the logfile is now saved to the default OSystem location, we no longer need PATH_SEPARATOR,
so remove all instances of it.
2019-04-20 17:29:25 -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 a947553bad More 'enum class' and associated cleanups. 2019-04-14 16:22:46 -02:30
thrust26 e4ef7cc01b CommandDialog stays open when changing TV format and palette 2019-04-14 19:39:09 +02:00
Stephen Anthony 5dde762b85 Changed 'tia.fsfill' option to 'tia.fs_stretch'. 2019-04-14 14:57:28 -02:30
Christian Speckner 0f3648ee09 Convert to ARC. 2019-04-14 18:52:58 +02:00
Christian Speckner d63f68508f Update NIBs, resolve warnings. 2019-04-14 18:40:21 +02:00
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 0b3fc8890d Fix 'minimal_ui' mode for non-R77 build; it should still show a window title. 2019-04-13 20:36:16 -02:30
Stephen Anthony 99d6d40a50 Fix minor compile warning. 2019-04-13 19:35:15 -02:30
thrust26 e1c0284a21 With minimal UI, launcher dialogs use launcher font. 2019-04-13 21:45:37 +02:00
thrust26 4e1c13ce6d improved dialogs and launcher navigation with joysticks (left and right) 2019-04-13 15:44:19 +02:00
thrust26 0cfc88e10c fixed wrong reaction on directional button release (code -256) 2019-04-13 13:43:35 +02:00
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 35b7f96ad1 fixed joystick tab order in Power-On options dialog 2019-04-07 15:10:01 +02:00
thrust26 f46079b762 added R77 keyboard mapping for launcher and dialogs 2019-04-07 12:27:45 +02:00
thrust26 25cbc2db3a an attempt to map F1 (Select) to StellaSettingsDialog 2019-04-06 21:01:32 +02:00
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 4e2df09b10 Reactivate syncing for R77 stellarc file. 2019-04-05 23:59:09 -02:30
Stephen Anthony 88af3c0b43 Add ARM detection to bspf.
Fixed a few minor warnings.
2019-04-05 23:37:48 -02:30
Stephen Anthony 66c588476e Disabled mappings for R77 port for upcoming beta test.
More work needs to be done in the core before this can be activated.
2019-04-05 13:35:20 -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 2bc87ae51e aligned preset naming to UI (part 2) 2019-04-05 09:53:03 +02:00
thrust26 64db033961 aligned preset naming to UI 2019-04-05 09:52:08 +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 20936a46a0 Merge branch 'master' of https://github.com/stella-emu/stella 2019-04-03 18:32:58 +02:00
thrust26 db833249df made scanlines available in non-Blargg modes 2019-04-03 18:32:42 +02:00
Stephen Anthony 63d7a3f929 Increase release version to beta1, for upcoming R77 test. 2019-04-02 20:01:03 -02:30
thrust26 e2f5be4725 Phosphor and scanlines levels: 0 displayed as 'off' 2019-04-02 18:16:04 +02:00
Thomas Jentzsch 19148d4d27 removed XP warning 2019-04-02 16:47:54 +02:00
Thomas Jentzsch b6cb1734ea a litte code cleanup 2019-04-02 16:10:30 +02:00
Thomas Jentzsch 6011a0823d Further simplified StellaSettingsDialog 2019-04-02 14:52:40 +02:00
Stephen Anthony 6cd2f1521a Silence some compiler warnings
- Some of these are quite unncessary, but the compiler won't shut up otherwise.
2019-04-01 11:44:00 -02:30
Thomas Jentzsch ff65426954 safety fix for unusual small ROMs. 2019-04-01 16:03:14 +02:00
Thomas Jentzsch 8c8128934c fixed enabling of EEPROM erase buttonin GameInfoDialog
updated doc for enhanced command dialog and controller auto detection
2019-04-01 13:41:09 +02:00
Stephen Anthony 600deea4a3 Merge branch 'master' of github.com:stella-emu/stella 2019-03-31 20:35:57 -02:30
Stephen Anthony 2aa910c5c6 More improvements to default key mapping for R77.
- p0 diff (and p1 too) now use a single event to switch, instead of two separate events
- same as above to color/bw
- this requires changes to the base R77 firmware, which is in a separate commit.
2019-03-31 20:34:17 -02:30
Stephen Anthony 93bf944381 In ListWidget, left and right action now does PgUp/PgDn too.
- this is available for all ports, but is most beneficial for R77, which has only joystick input
2019-03-31 20:28:08 -02:30
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 96e93c7171 Updated VS project with new file. 2019-03-31 12:23:28 -02:30
Stephen Anthony 54afc16015 Updated Xcode for recent class additions. 2019-03-31 11:55:38 -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 6d1ad6da92 Reactivate some code that was commented out in the last commit(s). 2019-03-29 22:16:46 -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
thrust26 0666be24e6 adjusted hotkeys to reordered "TV modes" 2019-03-29 17:12:12 +01:00
Thomas Jentzsch 6f51b6039d renamed and refined StellaSettingsDialog
added to OptionsDialog for testing
2019-03-29 13:42:47 +01:00
Thomas Jentzsch 785f7dc4b0 ordered tv effects by quality 2019-03-29 13:25:14 +01:00
Thomas Jentzsch cffb73826a Minor bug fix for Sega Genesis detection display 2019-03-29 11:47:36 +01:00
Thomas Jentzsch 9f0f03ec17 added preliminary reduced options dialog 2019-03-28 15:31:30 +01:00
Stephen Anthony 4b2b9aa626 Converted a few plain enum to 'enum class'; eliminated some dead code. 2019-03-24 19:04:07 -02:30
Stephen Anthony 0bb5dfd493 Certain widgets in DebuggerDialog not commented out in Player mode. 2019-03-24 18:07:29 -02:30
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
Stephen Anthony 9c905bc53e Fix minor compile warning. 2019-03-23 19:46:08 -02:30
thrust26 9dc53042c5 fixes #422 2019-03-23 20:10:03 +01:00
Stephen Anthony 8553aea3ba A few minor settings for R77. 2019-03-23 13:52:49 -02:30
Christian Speckner 51ef029afe Add CartCDFInfoWidget to xcode project. 2019-03-21 21:31:54 +01:00
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 dc4dd6ac94 added new file 2019-03-19 20:47:16 +01:00
thrust26 7973140c5a refactored and split CartCDFWidget.cxx (see CartCDFInfoWidget.cxx) 2019-03-19 20:44:38 +01:00
Christian Speckner a794bb983a Silence compiler. 2019-03-18 22:43:31 +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
Fabrice Fontaine 74450028fc undef PAGE_SIZE
PAGE_SIZE is sometimes already defined by the toolchain so undef it:

/home/naourr/work/instance-3/output/host/bin/x86_64-linux-g++ -MMD -MF "src/debugger/.deps/CpuDebug.d" -MQ "src/debugger/CpuDebug.o" -MP -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -x c++ -Wall -Wextra -Wno-unused-parameter -Wno-ignored-qualifiers -Wno-multichar -Wunused -fno-rtti -Woverloaded-virtual -Wnon-virtual-dtor -std=c++14 -fomit-frame-pointer -D_GLIBCXX_USE_CXX11_ABI=1 -DUNIX -DBSPF_UNIX -DWINDOWED_SUPPORT -DSOUND_SUPPORT -DDEBUGGER_SUPPORT -DJOYSTICK_SUPPORT -DCHEATCODE_SUPPORT  -Isrc/emucore -Isrc/common -Isrc/common/tv_filters -Isrc/gui -Isrc/emucore/tia -Isrc/emucore/tia/frame-manager -I/home/naourr/work/instance-3/output/host/x86_64-buildroot-linux-musl/sysroot/usr/bin/../../usr/include/SDL2 -D_REENTRANT -Isrc/unix -Isrc/debugger -Isrc/debugger/gui -Isrc/yacc -Isrc/cheat -c src/debugger/CpuDebug.cxx -o src/debugger/CpuDebug.o
In file included from /home/naourr/work/instance-3/output/host/x86_64-buildroot-linux-musl/sysroot/usr/include/limits.h:8:0,
                 from /home/naourr/work/instance-3/output/host/opt/ext-toolchain/x86_64-buildroot-linux-musl/include/c++/7.4.0/climits:42,
                 from src/common/bspf.hxx:28,
                 from src/debugger/CartDebug.cxx:18:
src/emucore/System.hxx:64:29: error: expected unqualified-id before numeric constant
     static constexpr uInt16 PAGE_SIZE = (1 << PAGE_SHIFT);

Fixes:
 - http://autobuild.buildroot.org/results/22a9b009749af2a0862750a1fb2b2dc7167cd589

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-03-09 17:02:47 -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
Stephen Anthony fa59b6b9d2 Updated R77 audio settings. 2019-03-09 13:23:07 -03:30
Stephen Anthony 374a318556 More R77 improvements.
- Don't allow ROM launcher to go above '/mnt/games'
- Remember 'lastrom' selected in ROM launcher
2019-03-09 12:48:39 -03:30
Stephen Anthony f508ca2634 First pass at porting R77-specific changes to mainline.
- more work is required here, since I'm unable to test on a real R77 yet
- changes will also be required in the manually generated config.mak
2019-03-09 12:22:33 -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 8856789438 Fixed minor compile error in Linux. 2019-03-02 15:28:00 -03:30
thrust26 21da4a6388 move ROM path selection into UIDialog
deleted ConfigPathDialog class (TODO: update non VS project files)
2019-03-02 19:04:18 +01:00
Stephen Anthony 7bd355d759 Fix another warning from clang8.
- This one isn't serious at all, but my OCD doesn't allow any warnings to pass :)
2019-03-02 12:17:07 -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 b93c95e041 Updated VS project for new profiling classes. 2019-02-26 22:23:22 -03:30
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
Christian Speckner 6709b43f9c Remove (u)Int32 vs. (u)Int64 for R77. 2019-02-25 23:54:49 +01:00
thrust26 37afed9778 Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-25 19:50:47 +01:00
thrust26 a251ccf3d6 another small unsafe optimization 2019-02-25 19:50:33 +01:00
Stephen Anthony ae589e1655 Some fixes to last commit
- if autodetection fails, we still want to see what was set in properties
- if type is not set to 'AUTO', we don't want to autodetect at all
2019-02-25 09:31:14 -03:30
Stephen Anthony f15d1ec7a5 Fixed crash in ROM launcher when openROM failed (typically on 0-byte file). 2019-02-25 09:17:06 -03:30
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 c5099cf292 Windows port compiles again, but 'basedir.txt' functionality removed
- Still need to work on '-basedir' and '-baseinappdir'.
2019-02-24 19:50:30 -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 9910398be8 added profiling targets 2019-02-23 12:03:21 +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 324ba22180 Updated comments. 2019-02-21 22:18:46 -03:30
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
thrust26 330f4d8f29 mini project update 2019-02-21 17:38:28 +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
Christian Speckner 092c32cda5 Always reserve one thread for emulation. 2019-02-21 00:58:00 +01:00
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
Christian Speckner f511f9fbe7 Use and alternate between two textures for TIA image.
* Avoids blocking if the texture is still locked in the rendering pipeline
      and fixes framerates on the R77.
2019-02-18 21:17:16 +01:00
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
Stephen Anthony 90e6cfa26b Fixed minor compile warnings in clang
- method with same name but different parameter mirroring one in base class
- missing newline, etc.
2019-02-16 12:10:52 -03:30
thrust26 3c6b8339e1 a bit controller detection refactoring 2019-02-16 11:46:42 +01:00
thrust26 9580385f21 2nd push for last commit 2019-02-15 23:47:33 +01:00
thrust26 e81326eefb auto detect controller in GameInfoDialog when started from Launcher 2019-02-15 23:46:09 +01:00
thrust26 9fba356d8b RomInfoWidget auto detects controllers and displays results 2019-02-15 22:19:19 +01:00
thrust26 ccee7e4dc6 enable "Swap Paddles" when paddles are auto detected 2019-02-15 19:41:55 +01:00
thrust26 e3d40f9285 corrected controller labels in GameInfoDialog/Controller 2019-02-15 18:29:35 +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
Stephen Anthony f94fd34f99 Updated macOS project files to Xcode 10, fixing any remaining warnings. 2019-02-14 19:07:05 -03:30
Stephen Anthony 7c88c372ac Fixed negative values shown as positive in debugger (fixes #414). 2019-02-14 18:32:23 -03:30
thrust26 481c63f980 defined default hotkey for sound on/off 2019-02-14 19:01:21 +01:00
Thomas Jentzsch 40e12f0465 Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-14 18:49:04 +01:00
Stephen Anthony 6d550793f8 Fix minor compile warning in clang. 2019-02-14 12:02:13 -03:30
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
Thomas Jentzsch 6bb4d67efd Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-14 08:40:54 +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
Thomas Jentzsch a0ab78fcfc fixed Windows project file 2019-02-13 14:45:04 +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
Christian Speckner 1d5ff5322b Retron77: use 32bit integers everywhere for performance. 2019-02-10 22:40:58 +00:00
Christian Speckner 13cedefc8f Fix build without debugger support. 2019-02-10 21:59:23 +00:00
Stephen Anthony 9d31d4a519 Fixed 'F8' autodetection to be a little more robust. 2019-02-10 10:39:54 -03:30
Stephen Anthony 0c8478d842 Various fixes to 'evdev-joystick'
- Added extra udev rules from Tom Hafner (2600-daptor)
- Make code compile without any warnings under maximum clang settings
2019-02-07 21:11:36 -03:30
thrust26 25eb9cd4ab cosmetic change (labeled A/B difficulties) 2019-02-03 12:26:46 +01:00
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 c3671ac095 each tab can now have a defined width (see DeveloperDialog) 2019-01-26 23:34:12 +01:00
thrust26 532b629a93 redesign of TIA options 2019-01-17 09:08:31 +01:00
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