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