Commit Graph

2963 Commits

Author SHA1 Message Date
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