Commit Graph

3074 Commits

Author SHA1 Message Date
thrust26 7973140c5a refactored and split CartCDFWidget.cxx (see CartCDFInfoWidget.cxx) 2019-03-19 20:44:38 +01:00
Christian Speckner a794bb983a Silence compiler. 2019-03-18 22:43:31 +01:00
Christian Speckner 383424983a Update memory layout for CDFJ, adapt debugger widget. 2019-03-18 22:30:46 +01:00
Stephen Anthony 12d8ed570d Fix minor warning in VS. 2019-03-16 16:24:24 -02:30
Stephen Anthony b8393a22a1 Updated Xcode for recent class additions. 2019-03-16 16:08:17 -02:30
Christian Speckner 59a7cbbc5e Support CDFJ / fastjmp2 2019-03-13 22:30:20 +01:00
Stephen Anthony 93a07b4517 Remove setting 'fixed' height from frame-manager completely. 2019-03-10 16:49:11 -02:30
Stephen Anthony d09b6329c9 Consolidate some constants into actual enumerations/namespaces.
- Certain parts of the code referred to int literals, when they should use named constants instead
- Different classes had enumerations for the same quantities; this is now fixed
- Basically, TIAConstants and FrameBufferConstants now contain all constants, and their relationship is clearly indicated (previously it wasn't as clear)
2019-03-10 15:19:30 -02:30
Stephen Anthony 9a8e5a3a33 Fix Thumbulator conditional handling of some opcodes. 2019-03-10 11:59:07 -02:30
Stephen Anthony 0e9915823d Remove redundant check for controller 'Auto' type. 2019-03-09 20:04:51 -03:30
Stephen Anthony e61caf069b Fix warnings under gcc and clang, both in normal compilation and R77 mode. 2019-03-09 19:40:45 -03:30
Stephen Anthony 14567207ff Fix minor warnings that come up in g++ and not clang, and fixes for which cause warnings in the other compiler. 2019-03-09 18:01:38 -03:30
Fabrice Fontaine 74450028fc undef PAGE_SIZE
PAGE_SIZE is sometimes already defined by the toolchain so undef it:

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

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

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-03-09 17:02:47 -03:30
Stephen Anthony a5ca6b8ca5 Start of purging 'Display_Height' from the codebase.
- We've already removed it from the UI, now it's removed from consideration altogether
- For now, NTSC ROMS use 240, PAL 250; this will change when we get aspect ratio working
2019-03-09 16:27:33 -03:30
Stephen Anthony 91c98ceed2 Converted another plain enum to 'enum class'. 2019-03-09 16:02:43 -03:30
Stephen Anthony 51981d633d When compiled for R77, use 'minimal_ui' mode. 2019-03-09 14:35:22 -03:30
Stephen Anthony fa59b6b9d2 Updated R77 audio settings. 2019-03-09 13:23:07 -03:30
Stephen Anthony 374a318556 More R77 improvements.
- Don't allow ROM launcher to go above '/mnt/games'
- Remember 'lastrom' selected in ROM launcher
2019-03-09 12:48:39 -03:30
Stephen Anthony f508ca2634 First pass at porting R77-specific changes to mainline.
- more work is required here, since I'm unable to test on a real R77 yet
- changes will also be required in the manually generated config.mak
2019-03-09 12:22:33 -03:30
thrust26 9b6cae5684 Minor fixes for 3E+ 2019-03-05 20:22:08 +01:00
Stephen Anthony 61828ac695 Don't create an empty 'stella.pro' file when possible.
- Not a big deal, but several people are complaining when 'ghost' files are created
- If file doesn't already exist and there is nothing to add, simply don't create one
- Alternatively, we should delete the file if it's zero-sized, but that requires changes to FSNode.
2019-03-04 20:12:21 -03:30
Stephen Anthony 9f6b91cff6 Completely remove OSystem/FrameBuffer/Settings dependency on AVox/SaveKey.
- Added a new callback that enables sending messages back to the parent (Console)
2019-03-03 22:03:44 -03:30
Stephen Anthony 3b15f8da5d Move SerialPort declaration/instantiation directly into AtariVox.
- This is the only class that uses it, so it makes no sense for OSystem to even care about it
2019-03-03 21:30:53 -03:30
Stephen Anthony 784793cae3 Fix compile warnings from clang8; this class still needs more work though. 2019-03-03 15:18:58 -03:30
Stephen Anthony 8856789438 Fixed minor compile error in Linux. 2019-03-02 15:28:00 -03:30
thrust26 21da4a6388 move ROM path selection into UIDialog
deleted ConfigPathDialog class (TODO: update non VS project files)
2019-03-02 19:04:18 +01:00
Stephen Anthony 7bd355d759 Fix another warning from clang8.
- This one isn't serious at all, but my OCD doesn't allow any warnings to pass :)
2019-03-02 12:17:07 -03:30
Stephen Anthony abc3b3a32b Fix warnings generated by clang 8.
- Several more still exist, and are mostly related to C-style code
- It has long been my intent to remove as much C-style code as possible
2019-03-02 12:06:08 -03:30
Christian Speckner d04b5dd64b More inlining for performance. 2019-03-02 00:08:22 +01:00
Christian Speckner 2a9bfd6b23 Optimizations to TIA movement mode. 2019-03-01 23:35:52 +01:00
Christian Speckner 2b19f4ab5e Use ystart / layout autodetection and real FrameManager in profiling run. 2019-02-28 23:56:02 +01:00
Christian Speckner ac398ac31b Profiling. 2019-02-27 23:41:08 +01:00
Christian Speckner 1ba1332501 Fix fallout from rebase. 2019-02-27 22:44:11 +01:00
Christian Speckner 05260ca006 More refactoring: remove dependency of System on OSystem. 2019-02-27 22:40:25 +01:00
Stephen Anthony b93c95e041 Updated VS project for new profiling classes. 2019-02-26 22:23:22 -03:30
Stephen Anthony e7169ac010 Completely removed OSystem dependency for Cart classes. 2019-02-26 21:37:35 -03:30
Stephen Anthony 61cf68cb98 Move `getTicks()` from OSystem to TimerManager.
- This allows OSystem dependency to be removed in a few places (WIP).
- It more properly belongs in TimerManager, which has other functionality related to std::chrono.
- Historically this was a virtual method in OSystem, since different ports implemented it differently.  Now that we use proper C++11 code, it doesn't need to be there anymore.
- Changed from a virtual call to a static call, so it's probably even a little faster.
2019-02-26 19:20:28 -03:30
Christian Speckner 85acaef8cd Refactoring: remove dependency of TIA and M6532 on Console. 2019-02-26 23:43:22 +01:00
Christian Speckner 806045cb1c Open ROMs for profiling, refactoring. 2019-02-26 22:46:54 +01:00
Christian Speckner 58d7846f6b Profiling CLI. Wip. 2019-02-25 23:56:57 +01:00
Christian Speckner 6709b43f9c Remove (u)Int32 vs. (u)Int64 for R77. 2019-02-25 23:54:49 +01:00
thrust26 37afed9778 Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-25 19:50:47 +01:00
thrust26 a251ccf3d6 another small unsafe optimization 2019-02-25 19:50:33 +01:00
Stephen Anthony ae589e1655 Some fixes to last commit
- if autodetection fails, we still want to see what was set in properties
- if type is not set to 'AUTO', we don't want to autodetect at all
2019-02-25 09:31:14 -03:30
Stephen Anthony f15d1ec7a5 Fixed crash in ROM launcher when openROM failed (typically on 0-byte file). 2019-02-25 09:17:06 -03:30
thrust26 d716f42b5c one small unsafe optimization for register 15 2019-02-25 11:36:42 +01:00
Stephen Anthony 42f9fc88f1 Fixed macOS compilation
- Like Windows, the 'basedir' stuff isn't implemented yet
2019-02-24 20:03:29 -03:30
Stephen Anthony c5099cf292 Windows port compiles again, but 'basedir.txt' functionality removed
- Still need to work on '-basedir' and '-baseinappdir'.
2019-02-24 19:50:30 -03:30
Stephen Anthony 88afab2d22 More restructuring of the OSystem and derived class interaction
- Each derived class no longer calls methods from the base class
- The base class now directly queries the derived class with a pure virtual method, making sure it is called
- Implemented 'basedir' commandline argument for Linux

Windows and macOS currently won't compile.  I'll work on those next.
2019-02-24 19:14:55 -03:30
thrust26 28d1113523 Thumbulator::fetch16 can fetch only ROM when optimized 2019-02-24 14:39:52 +01:00
thrust26 6f94174989 Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-24 09:24:11 +01:00
thrust26 bb3075947b segfault Stella protection added
some more small optimizations (fetch32 removed)
2019-02-24 09:23:57 +01:00
Stephen Anthony d5180ba649 Improve variable/method naming in Settings class. 2019-02-23 17:07:50 -03:30
Stephen Anthony 032b08cca1 Fixed compilation errors in macOS. I still need to think about the Settings stuff, though. 2019-02-23 16:02:13 -03:30
Stephen Anthony 814977e968 Cleaned up Settings API, and moved to C++ maps instead of vectors. 2019-02-23 15:21:11 -03:30
thrust26 d188b5024f one more missing optimization 2019-02-23 19:02:25 +01:00
thrust26 b32d3eba49 oops 2019-02-23 16:09:39 +01:00
thrust26 486494eb7a defined UNSAFE_OPTIMIZATIONS in Thumbulator 2019-02-23 16:09:00 +01:00
thrust26 bac5a86832 minor Thumbulator optimizations and code cleanup 2019-02-23 12:05:53 +01:00
thrust26 9910398be8 added profiling targets 2019-02-23 12:03:21 +01:00
thrust26 e245655747 Revert "optimized Thumbulator.cxx"
This reverts commit 9a09675e55.
2019-02-22 20:11:19 +01:00
thrust26 38366b65bb optimized complex conditional branches in Thumbulator (affects ~5% instructions) 2019-02-22 14:50:52 +01:00
Stephen Anthony 324ba22180 Updated comments. 2019-02-21 22:18:46 -03:30
Stephen Anthony 130fcf1dfc Fairly large refactoring of Settings class
- Completely separate Settings and OSystem; the former no longer uses the latter at all
- Moved separate Settings methods directly into that class, exposing less info outside the class
- Reworked loading/saving config files; this may break macOS port (not tested yet)
- Next thing TODO is convert Settings class to use map instead of vectors
2019-02-21 21:55:08 -03:30
thrust26 9a09675e55 optimized Thumbulator.cxx 2019-02-21 22:56:18 +01:00
thrust26 330f4d8f29 mini project update 2019-02-21 17:38:28 +01:00
Stephen Anthony 904821cff9 Refactoring of settings load/save functionality
- commandline parsing is now done in main function
- loading of settings is handled by OSystem
- settings that are used only in main are not accessible globally
- beginnings of converting Settings class to use map instead of linear arrays
2019-02-20 23:43:29 -03:30
Christian Speckner 092c32cda5 Always reserve one thread for emulation. 2019-02-21 00:58:00 +01:00
Stephen Anthony 8808f7b5e0 Check in WIP on config paths before I screw something up (already happened multiple times). 2019-02-20 14:06:39 -03:30
Christian Speckner e80e15538b Thumbulator optimizations.
Pre-decode ROM image and turn instruction dispatch into a switch.
2019-02-20 00:32:48 +01:00
Stephen Anthony 9735806b2f Partially revert commit for #368; we need more work before this can be enabled.
Fixes issue with fullscreen TIA image disappearing.
2019-02-18 18:17:08 -03:30
Christian Speckner f511f9fbe7 Use and alternate between two textures for TIA image.
* Avoids blocking if the texture is still locked in the rendering pipeline
      and fixes framerates on the R77.
2019-02-18 21:17:16 +01:00
thrust26 2d0221ae1f improvement for hardcoded keys in Inputdialog 2019-02-18 20:20:14 +01:00
Stephen Anthony 8f800d97b9 First pass at cleaning up the various config file location mess
- only 'romdir' is configurable; the rest are now always under the 'basedir'
- next step is to allow 'basedir' to be configurable, and optionally use the APP dir
- ConfigPathDialog dialog is now almost empty (only contains romdir), so perhaps this can move elsewhere
2019-02-16 15:26:24 -03:30
Stephen Anthony 90e6cfa26b Fixed minor compile warnings in clang
- method with same name but different parameter mirroring one in base class
- missing newline, etc.
2019-02-16 12:10:52 -03:30
thrust26 3c6b8339e1 a bit controller detection refactoring 2019-02-16 11:46:42 +01:00
thrust26 9580385f21 2nd push for last commit 2019-02-15 23:47:33 +01:00
thrust26 e81326eefb auto detect controller in GameInfoDialog when started from Launcher 2019-02-15 23:46:09 +01:00
thrust26 9fba356d8b RomInfoWidget auto detects controllers and displays results 2019-02-15 22:19:19 +01:00
thrust26 ccee7e4dc6 enable "Swap Paddles" when paddles are auto detected 2019-02-15 19:41:55 +01:00
thrust26 e3d40f9285 corrected controller labels in GameInfoDialog/Controller 2019-02-15 18:29:35 +01:00
thrust26 83636b9791 updated Stella.pro for some of my own games 2019-02-15 17:58:47 +01:00
thrust26 2cc035e4eb improved keyboard controller detection
small doc update
2019-02-15 16:29:13 +01:00
Stephen Anthony f94fd34f99 Updated macOS project files to Xcode 10, fixing any remaining warnings. 2019-02-14 19:07:05 -03:30
Stephen Anthony 7c88c372ac Fixed negative values shown as positive in debugger (fixes #414). 2019-02-14 18:32:23 -03:30
thrust26 481c63f980 defined default hotkey for sound on/off 2019-02-14 19:01:21 +01:00
Thomas Jentzsch 40e12f0465 Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-14 18:49:04 +01:00
Stephen Anthony 6d550793f8 Fix minor compile warning in clang. 2019-02-14 12:02:13 -03:30
Thomas Jentzsch 7215f2bbeb changed volume hotkey handling
changing volume also enables sound
changing phoshor also enables phosphor mode
2019-02-14 11:07:17 +01:00
Thomas Jentzsch fa66711c8a moved SaveKey detection to a safer spot 2019-02-14 08:46:50 +01:00
Thomas Jentzsch 6bb4d67efd Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-14 08:40:54 +01:00
thrust26 b5fce21b2f implemented mute Hotkey (TODO: default key)
small improvement for Amiga mouse detection
minor Windows project file fix
2019-02-13 20:03:58 +01:00
Thomas Jentzsch a0ab78fcfc fixed Windows project file 2019-02-13 14:45:04 +01:00
thrust26 9857fa888b improve trackball controller detection 2019-02-12 22:18:19 +01:00
thrust26 8855804635 improved SaveKey detection 2019-02-12 19:24:36 +01:00
thrust26 3c2549d348 slightly improved Genesis detection
corrected tab widgets in GameInfoDialog
2019-02-11 23:02:08 +01:00
thrust26 a4456e6af8 improved controller detection and added Genesis
adapted GameInfoDialog to controller detection
moved detection from OSystem to Console
2019-02-11 22:10:30 +01:00
Stephen Anthony 854a891a36 Minor fixes for compile warnings/errors in Linux. 2019-02-11 11:36:13 -03:30
thrust26 b6b5930a2d Merge branch 'master' of https://github.com/stella-emu/stella 2019-02-11 15:53:07 +01:00
thrust26 c1067fde83 first shot at automatic controller detection 2019-02-11 15:52:51 +01:00
Christian Speckner 1d5ff5322b Retron77: use 32bit integers everywhere for performance. 2019-02-10 22:40:58 +00:00
Christian Speckner 13cedefc8f Fix build without debugger support. 2019-02-10 21:59:23 +00:00
Stephen Anthony 9d31d4a519 Fixed 'F8' autodetection to be a little more robust. 2019-02-10 10:39:54 -03:30
Stephen Anthony 0c8478d842 Various fixes to 'evdev-joystick'
- Added extra udev rules from Tom Hafner (2600-daptor)
- Make code compile without any warnings under maximum clang settings
2019-02-07 21:11:36 -03:30
thrust26 25eb9cd4ab cosmetic change (labeled A/B difficulties) 2019-02-03 12:26:46 +01:00
Stephen Anthony a1342afe34 Fixed bug in peek handling for 2K and 4K ROMs.
This fixes cheatcode handling for those schemes.
2019-01-27 13:13:08 -03:30
thrust26 c3671ac095 each tab can now have a defined width (see DeveloperDialog) 2019-01-26 23:34:12 +01:00
thrust26 532b629a93 redesign of TIA options 2019-01-17 09:08:31 +01:00
thrust26 46f7668216 added missing oddball TIA options 2019-01-16 17:58:02 +01:00
thrust26 bd0984fc98 renamed player inverted HMOVE phase clock option, methods and keys
added missile inverted HMOVE phase clock option
2019-01-14 22:52:30 +01:00
thrust26 fad141b5de some code cleanup 2019-01-13 09:58:26 +01:00
thrust26 0449e24146 defined various TIA types in developer options 2019-01-12 15:51:38 +01:00
thrust26 da78065996 fixed view of disabled checkbox 2019-01-12 12:14:14 +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 cadfbdd767 fixed changing debug colors status without confirmation 2019-01-06 20:13:04 +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 11c90f296e reverts unwanted change 2019-01-05 16:07:35 +01:00
thrust26 5e89b4d02b started to eliminate magic numbers in new TIA code 2019-01-05 15:34:19 +01:00
Stephen Anthony 2806c0da58 When we update/change serialization, we need to update the header too. 2019-01-04 19:52:08 -03:30
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 9a8afd5e7b preliminary extra buttons for CommandDialog 2019-01-03 09:53:13 +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 3e85ae4d47 Bumped version number. 2019-01-01 12:32:39 -03:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
thrust26 fdea8aa82e Made console type change immediate 2019-01-01 14:35:14 +01:00
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
thrust26 0b77a5e140 Merge branch 'master' of https://github.com/stella-emu/stella 2018-12-30 18:47:50 +01:00
thrust26 e2a0fe9ffb Dialogs do remember their wanted size, so that OptionsDialog's dialogs are recreated only when necessary. 2018-12-30 18:47:35 +01:00
Stephen Anthony ae69545056 Classes that have unique_ptr in headers can't also have defaulted d'tors.
I haven't figured out exactly why this is yet, but compilation fails in gcc and clang otherwise.
2018-12-30 10:23:16 -03:30
thrust26 b1811f5a9f Dialogs remember and restore their previous focus when being reopened 2018-12-30 11:13:36 +01:00
thrust26 33f7c5b7e8 Remember and restore focus for all tabs of a Dialog 2018-12-30 10:37:59 +01:00
thrust26 cd8d7498d3 Dialogs are only recreated if their size is LARGER than the current framebuffer 2018-12-30 10:29:20 +01:00
thrust26 c1d5020ea0 Partial fix for #399, sometimes(!) the initial tab has the correct widget focused 2018-12-29 23:30:12 +01:00
thrust26 c5c3014819 Merge branch 'master' of https://github.com/stella-emu/stella 2018-12-29 23:22:10 +01:00
thrust26 7dd4242e63 some code improvements and fixes for #326 2018-12-29 23:21:56 +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 6987c06337 reorganized GameInfoDialog 2018-12-28 11:17:56 +01:00
thrust26 fe810826ca Implemented #369 2018-12-27 21:29:43 +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
Christian Speckner b466393712 x kSamples -> xk samples 2018-12-21 08:54:45 +01:00
Christian Speckner 098a2a5fb1 Parse strings and float in the same locale in which they were serializwd. 2018-12-20 23:48:52 +01:00
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 ae3df81967 Use 'SDL_GetDisplayUsableBounds' if available (gives dimensions with dock/taskbar taken into account)
- This still needs some testing on Windows/OSX, so docs aren't updated yet
- If it ends up not working, I will '#if 0' it for the 6.0 release.
2018-12-18 23:07:34 -03:30
nanochess a92cf466cb Desired desktop resolution minus dock for Mac OS X (requires SDL-2.0.5 or higher) 2018-12-18 23:01:13 -03:30
Stephen Anthony f33ac273dd Remove debugging code. 2018-12-18 22:00:01 -03:30
Stephen Anthony 269fc7bc19 Updated OSX project file for new classes. 2018-12-18 21:53:40 -03:30
Stephen Anthony 9c64a8fdad Update libpng to latest version. 2018-12-18 21:30:34 -03:30
Stephen Anthony 3423bf15c7 Set release date for 6.0 for Dec. 23. We'll see if we actually make it ... 2018-12-18 21:15:32 -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
Christian Speckner 521e5dc51d Document audio settings, fix units for fragment size, fix audio dialog width. 2018-12-18 23:18:40 +01:00
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 8cb235bf19 Hack around race condition in timers. 2018-12-17 00:30:42 +01:00
Christian Speckner 9b22c6afa7 Rewrite StaggeredLogger with a timer. 2018-12-15 23:59:21 +01:00
thrust26 06c20103af fixed crash in StringListwidget when scrolling with mouse
fixed #398
2018-12-15 10:17:14 +01:00
thrust26 b8e53d76af updated VS project files
updated change log
2018-12-15 09:41:27 +01:00
Christian Speckner d981ed71f3 Fix missing include -> fixes windows build. 2018-12-15 09:22:00 +01:00
Christian Speckner d5d9618def Use actual time since the current log window started for log messages. 2018-12-15 00:15:44 +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
thrust26 d3b270dea8 fixed trapping on 'read from write port' functionality for CPU dummy peeks 2018-12-08 09:53:00 +01:00
Stephen Anthony b6dcd110f0 Updated VS project for recent exception classes. 2018-12-07 21:50:07 -03:30
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 14501b8a94 Fixed exception when FatalEmulationError message was too short. 2018-12-07 22:02:16 +01:00
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 dd81940e3d 1st part of implementing blended screenshots (see #395) 2018-12-06 14:24:36 +01:00
thrust26 bef5caafa5 1st part of implementing blended screenshots (see #395) 2018-12-06 14:24:07 +01:00
Stephen Anthony 198ecd9fdc Updated Xcode project for recent class additions. 2018-12-05 20:07:06 -03:30
Stephen Anthony 26faaa8cce Minor updates for suggestions from clang. 2018-12-04 20:40:50 -03:30
Stephen Anthony 540e0fb0b3 Added latest classes to VS project file.
Added 'DEBUG_BUILD' define to Windows debug builds.
2018-12-04 20:29:48 -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
Christian Speckner 8ac66e7929 Add threading sanity checks before critical SDL API calls. 2018-12-04 19:45:22 +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 2b3e2dc385 Specifically initialize and quit each SDL subsystem.
- Now video/timer and joystick subsystems are opened and closed in the
proper SDL2 way
- SDL_Quit() is also done at the very end, to clean up any remaining SDL
state
-  Hopefully this fixes the issues with RPi not exiting cleanly.
2018-11-10 17:30:44 -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 56aa439dc7 Remove deleted file from OSX build. 2018-09-22 20:39:58 -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 c475072455 adjusted docs for last commit 2018-09-20 10:58:07 +02:00
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 1a86c8c3be Updated VS project for CTY scheme updates. 2018-09-17 17:02:46 -02:30
Stephen Anthony 508102b56e Fix crash when force-exiting a ROM from debugger. 2018-09-17 12:24:38 -02:30
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 9890c648cb For UNIX-only, use version-specific config file if it already exists.
- I'm tired of switching between version 5.x and 6.x, and constantly having to reset sound settings :(
- Backporting this to a local copy of 5.x, so both can co-exist, and going forward too
- Not quite ready to advertise this functionality yet ...
2018-09-17 08:36:31 -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
thrust26 f0889a26dd improved detection of unchanged ystart and height 2018-09-14 19:25:51 +02:00
thrust26 02b0c13aca fixes #381 2018-09-14 19:00:45 +02:00
Stephen Anthony b32c71d6f4 ROM name in PNG tEXt chunk now uses 'snapname' setting. 2018-09-13 22:01:37 -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 1a4e95604c Fix typo, naming. 2018-09-13 23:35: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
thrust26 27022ad3a9 fixes #376 2018-09-11 10:54:39 +02:00
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
thrust26 adc948d806 missed a blank 2018-09-06 17:28:45 +02:00
thrust26 76e3e8305a added current stereo mode and units to logging 2018-09-06 16:49:18 +02:00
thrust26 71eeba70ae aligned the log order to AudioDialog 2018-09-06 16:39:18 +02:00
thrust26 228f57b108 Merge branch 'release/6.0' of https://github.com/stella-emu/stella into release/6.0 2018-09-06 15:39:25 +02:00
thrust26 503d861c2e optimized some tickmarks (number now based on value range) 2018-09-06 15:39:08 +02:00
Stephen Anthony 3df644ecff Buffer size and headrom in sound logging now match that shown in AudioDialog. 2018-09-06 10:38:32 -02:30
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
Stephen Anthony ee643e818b Final refactoring of ZipHandler class. 2018-09-05 12:21:55 -02:30