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