Commit Graph

2126 Commits

Author SHA1 Message Date
Stephen Anthony ff7ac2de65 Added 'Mean Santa' ROM properties to the database. 2019-12-07 20:18:05 -03:30
Stephen Anthony 8a0491f3d3 Fix coverity complaining about unrestricted use of getenv. 2019-11-29 18:06:43 -03:30
thrust26 7cc49b4ff1 updated event mapping screenshots and text
made green debug color for missile 1 a bit brighter (NTSC+PAL)
2019-11-24 08:44:24 +01:00
Stephen Anthony 025eeba38c Convert some raw arrays to std::array.
Some fixes for warnings from Coverity.
2019-11-14 20:12:45 -03:30
thrust26 8fb8c6a451 improve FC detection and bank switching 2019-11-02 19:23:38 +01:00
Stephen Anthony e0f7051e5c Fix issues with VS project, minor warning from clang, and autoformat
code.
2019-11-02 11:03:15 -02:30
thrust26 12fffa1690 add missing files 2019-11-02 13:23:23 +01:00
thrust26 ed42374644 adds FC bankswitching for Amiga's Power Play Arcade cart #1 2019-11-02 12:23:03 +01:00
Stephen Anthony 6f1b0b0783 Fix segfault on shutdown in certain cases (mostly if OSystem creation failed). 2019-10-29 12:13:51 -02:30
thrust26 0dbd505b9b updated WD bankswitching (incl. detection) 2019-10-16 22:05:33 +02:00
Stephen Anthony eb2fdd71ba Updated properties database for imminent release of a highly anticipated prototype. 2019-10-11 12:30:06 -02:30
Stephen Anthony 4cd530e048 Fix typo. 2019-10-07 18:24:03 -02:30
Stephen Anthony 9593de911a Potentially fix compile errors for a few libretro ports.
I can't test this, so I don't know for sure if it fixes anything.
2019-09-27 22:58:07 -02:30
Stephen Anthony 91148d299a Eliminate conversion to pointer when it's not necessary. 2019-09-27 22:50:24 -02:30
Stephen Anthony 700fbd9c91 Some more std::array and size_t updates. 2019-09-18 10:27:32 -02:30
Thomas Jentzsch b00a438608 replace some odd decimal numbers with hexadecimals 2019-09-17 09:38:47 +02:00
Stephen Anthony 0f0c86de41 Fixed remaining size_t vs. uInt32 issues in Windows. 2019-09-16 21:36:30 -02:30
Stephen Anthony 218969eb59 Changed uInt32 to size_t where necessary.
Finally decided to stop fighting C++, and just use size_t everywhere an
array is used.
Even though this is a 64-bit value, it seems that C++/STL expects it
when dealing with arrays, so I guess we will too.
2019-09-16 21:29:08 -02:30
Stephen Anthony 354d5aa35a Fixed gcc warnings wrt getBank virtual methods.
Converted many C-style arrays to C++ std::array.  In the process, cleaned up a lot of magic constants.

Replaced most C-style memset/memcpy operations with C++ equivalents: std::fill/std::copy.
std::copy in particular fixes a few potential bugs, since it operates on the datatype size,
and not just on raw bytes.
2019-09-16 19:46:15 -02:30
Stephen Anthony a1fa3a57ba Fixed minor warnings from clang. 2019-09-15 19:24:28 -02:30
thrust26 9a44366f85 add option to break on RAM writes to read ports 2019-09-15 17:04:25 +02:00
thrust26 4b0f255b8d more types for partial fix for issue #537 (RAM writes to read port) 2019-09-15 11:52:43 +02:00
thrust26 15426a31e0 fix for RAM writes to read port commit (offsets reversed) 2019-09-15 11:36:46 +02:00
Thomas Jentzsch f0ddb8caa8 partial fix for issue #537 (RAM writes to read port) 2019-09-12 11:08:26 +02:00
thrust26 279e54378d some fixes for last commit 2019-09-07 14:36:13 +02:00
thrust26 d7c4b1a7b9 Add considering addresses for current bank. This is important for types where the 4K ROM address space is segmented into smaller slices, so there can be more than one bank at a time.
This addresses #536.
2019-09-07 14:29:33 +02:00
Thomas Jentzsch 0048beaa89 add a quick fix for #532
fix comment for FE detection
2019-08-31 10:21:30 +02:00
Stephen Anthony 5f660383e5 Removed 'cfgdir', and have Distella config files placed with the ROM file they refer to.
Updated docs for removal of statedir, propsfile, etc.
Added 'basedir' and 'baseinappdir' to the docs.
Updated changelog for above changes.
2019-08-30 23:32:57 -02:30
Stephen Anthony 2215b2dee6 Add file/dir locations to logging. 2019-08-30 22:34:11 -02:30
Thomas Jentzsch 5042c4635f Merge branch 'master' of https://github.com/stella-emu/stella 2019-08-24 12:00:04 +02:00
Thomas Jentzsch f4a0c38e59 reworked breakpoints to use hash map (and % $1fff addresses) 2019-08-24 11:59:31 +02:00
Stephen Anthony 2540d0d803 Entering an uppercase char (ie, hold Shift) on the first character in
file listings now selects among directories; use lowercase to select among
files (fixes #160).

Refactored relevant code from ListWidget to FileListWidget, where it more
properly belongs.

Updates to docs (new info, typo's, etc).
2019-08-23 22:08:06 -02:30
Christian Speckner 09bd0f817e Take power-on state into account during autodetection. 2019-08-20 23:44:30 +02:00
Christian Speckner d105a833b6 Revert "pretty hacked and ugly fix for #501"
This reverts commit 0215cda991.
2019-08-20 23:44:19 +02:00
Thomas Jentzsch 9aecdf3873 improve breakpoint calculation, only consider low 13 bit for PC 2019-08-20 15:33:41 +02:00
Thomas Jentzsch c3f379b45d make breakpoints consider banks (fixes #512) 2019-08-19 22:12:49 +02:00
Thomas Jentzsch 0215cda991 pretty hacked and ugly fix for #501 2019-08-19 09:33:21 +02:00
Thomas Jentzsch 17f5180682 prevent simultaneous mapping of analog and digital events on the same axis (until we find a way to how to detect analog or digital input)
remove joystick events from Paddles, these can now be mapped separately
2019-08-18 22:09:48 +02:00
Thomas Jentzsch feb4a07bb2 minor updates to props 2019-08-18 21:00:13 +02:00
Thomas Jentzsch 18786cf997 updates some props 2019-08-18 20:33:26 +02:00
Thomas Jentzsch 14ad7d95cf remove unused ConsoleOn/Off events 2019-08-18 18:19:16 +02:00
Thomas Jentzsch 3498004616 update props info (part 2) 2019-08-18 12:31:03 +02:00
Thomas Jentzsch b19ac8ee24 update props info 2019-08-18 11:01:36 +02:00
Thomas Jentzsch ecbc04f287 add minor mapping code enhancements 2019-08-18 09:59:16 +02:00
Stephen Anthony ad9b0e6e75 All functionality now restored to FileListWidget (pattern matching, ROMs only, etc).
This now uses a lambda function, which is more versatile.  Eventually we may even add regular expressions.
2019-08-17 21:13:15 -02:30
Thomas Jentzsch 019f4ae247 Implement event filter in InputDialog (resolves #517) 2019-08-17 15:42:39 +02:00
Thomas Jentzsch 82c6b5544d change hat mapping display 2019-08-17 06:44:17 +02:00
Thomas Jentzsch 364137d20d minor fixes for KidVid, one can start the games with 8, 9, 0 now if right controller is KidVid 2019-08-16 20:53:18 +02:00
Thomas Jentzsch 48836e849e replace magic controller strings with enums
automatic detected controller update in GameInfoDialog & StellaSettingsDialog
2019-08-16 11:05:55 +02:00
Thomas Jentzsch d531d8e686 minor refactoring 2019-08-16 06:54:17 +02:00
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