James Benton
b7c12c4ce6
Restore .txt extension for log filenames.
...
spdlog broke it for a few releases, it's fixed now - yay!
2018-01-11 11:40:01 +00:00
James Benton
173817ef55
decaf: Fix log path.
2017-04-26 12:30:53 +01:00
James Benton
61a66bcf8f
config: Add config generating when no config exists.
2017-04-26 11:53:53 +01:00
James Benton
a364565f8b
Move to a .toml config file and try to unify config loading.
...
Still not an ideal solution, but it's at least a step in the right direction.
2017-04-24 23:32:00 +01:00
James Benton
d67a59f6e4
Refactor GPU code out of libdecaf/gpu and in to libgpu.
2017-04-24 17:22:10 +01:00
James Benton
a1fb43180e
Refactor debugger and add a gdb stub.
2017-04-13 13:05:27 +01:00
James Benton
e4c8f989f6
kernel: Add support for LLE of system modules.
...
Looks for system libraries in mlc/sys/title/00050010/1000400A/code/*.rpl
Will only load modules in config.system.lle_modules list.
2017-04-04 23:37:22 +01:00
Andrew Church
445c180972
Fix typo in libbinrec optimization flag name for --jit-opt-level=1.
2017-04-05 04:10:35 +09:00
Andrew Church
70d8e3c6e9
jit: Support new libbinrec optimization flags.
2017-04-05 02:28:43 +09:00
James Benton
4c2049bf47
New JIT implementation using libbinrec.
2017-04-01 17:04:30 +01:00
James Benton
35f40d211c
decaf: Add support for /dev/sdcard01.
...
Set path in config as system/sdcard-path.
Set path on command line as --sdcard-path <path>.
2017-03-27 23:19:12 +01:00
James Benton
813c925427
Fix decaf-cli build
2017-03-17 01:04:55 +00:00
James Benton
550211e330
decaf: Flush log on every message when not using async logging.
...
This makes log output more reliable.
2017-03-16 17:30:18 +00:00
James Benton
a890721718
cmake: Cleanup install.
2017-03-16 13:27:19 +00:00
James Benton
94b97d79ef
Remove types.h and virtual_ptr.h
2017-03-01 13:43:16 +00:00
James Benton
f114c98f99
Update spdlog to v0.12.0
2017-02-21 11:41:31 +00:00
James Benton
2edad665a3
Use CMake to build for Windows.
2017-02-20 19:25:39 +00:00
Andrew Church
ecced575ac
Fix OpenGL locking errors detected by -Wshadow.
...
Also fix other shadowing warnings throughout the codebase, and
enable shadowing warnings flag by default for CMake builds (using
-Werror=shadow except in decaf-cli and decaf-sdl, where excmd.h
triggers shadowing warnings).
2016-09-04 13:20:35 +01:00
James Benton
34cd5982da
decaf: Rewrite filesystem.
...
Adds support for writing files to host file system.
Adds file permissions to prevent corruption of game files.
2016-09-02 01:34:22 +01:00
James Benton
78daf1f1d6
Add a much more lenient cereal json input archive.
...
- All values are optional, value will not be touched in the missing case
- Adds rapidjson flags for kParseCommentsFlag and kParseTrailingCommasFlag
2016-08-18 23:08:44 +01:00
Andrew Church
bc1e5cb5a7
jit: Implement JIT verifier.
...
We bracket each translated instruction with calls to pre- and
post-verify routines. The pre-verify routine makes a copy of the
current core state and the contents of any affected memory, and the
post-verify routine runs the associated interpreter function on the
initial core state (and memory contents), then compares the result to
the state produced by the JIT code and reports any differences.
(FPSCR is ignored since the JIT translators don't update it yet.)
To avoid false failures caused by other cores storing to the same
memory region referenced by an instruction while the instruction is
being verified, we force all load and store instructions subject to
verification to go through a mutex, ensuring that only one core can
access memory at any time.
The kc, lwarx, and stwcx instructions are not verified since they are
not repeatable. (lwarx and stwcx do not obey the memory access mutex
since they do not go through the verifier, but simultaneous access to
memory with lwarx/stwcx and other load/store instructions is
unreliable anyway and real-world code should never do it, so we don't
worry about that case.)
Also rename the related configuration option from "debug" to "verify"
to better reflect its purpose.
2016-08-16 00:40:28 -07:00
James
5d9a124335
Merge pull request #245 from achurch/config-system-region
...
Read system::region from config.json.
2016-08-04 20:18:20 +01:00
Andrew Church
6b65812c1d
Read system::region from config.json.
2016-08-05 03:48:10 +09:00
Andrew Church
4e4e799b95
Avoid silently aborting if config.json has a syntax error.
2016-08-05 03:44:57 +09:00
Andrew Church
467d4d45da
Implement basic sound output via SDL.
...
Sound is off by default (to avoid destroying speakers in case the
logic is incorrect for some case); pass the --sound option to enable.
Sound data can be dumped by setting the sound::dump_sounds option in
the configuration file to true.
2016-07-26 21:57:48 +09:00
James Benton
fad35a8823
coreinit: Rename SCIRegion::US to USA
2016-07-22 22:26:12 +01:00
James Benton
66dc5600df
Fix build from merge error
2016-07-18 15:08:30 +01:00
Andrew Church
4e2e3f355e
Add missing logic to convert option strings to region codes.
2016-07-18 15:07:24 +01:00
James Benton
9379e4a12b
Merge branch 'region-config' of https://github.com/achurch/decaf-emu into achurch-region-config
2016-07-18 13:39:58 +01:00
Andrew Church
3c0b756fbc
Make the emulated system region configurable.
...
Also add the region constant for Japan.
2016-07-18 16:45:42 +09:00
Andrew Church
fa4e7bbc44
Add a --time-scale option to control the emulated clock speed.
...
Mainly useful when running under Valgrind, to prevent games from
thinking threads have locked up.
2016-07-18 10:25:33 +09:00
James Benton
2d91f54e51
decaf-cli: Fix oopsy semicolon.
2016-07-16 12:58:45 +01:00
James Benton
ad7e212c0c
decaf: Log the config path and game path.
2016-07-16 12:38:10 +01:00
Andrew Church
2176535637
Add --config option to set the configuration file location.
2016-07-16 12:05:23 +01:00
Andrew Church
9b58729d2f
Store configuration files in a platform-standard directory.
...
Not yet implemented for Windows.
2016-07-16 12:05:22 +01:00
James Benton
f4bb1384bd
cmake: Add decaf-cli project.
2016-06-14 22:41:48 +01:00
James Benton
ac1d89a3d8
Add decaf-cli project.
...
A command line only application to execute Wii U games with no graphics
and no input. This can be useful for running unit test rpx files.
2016-06-14 22:30:35 +01:00
James Benton
f0610eb0c2
Rename decaf-cli to decaf-sdl.
2016-06-14 20:15:49 +01:00
James Benton
64ec1ec02a
libdecaf: Add debugger config options enabled and break_on_entry.
2016-06-14 20:10:51 +01:00
James Benton
a3fd51927c
decaf-sdl: Fix usage of class name in member function declaration.
...
Damn copy pasta.
2016-06-14 00:38:43 +01:00
James Benton
49ce6b2df2
cmake: Update CMakeLists to use GLOB_RECURSE.
...
We do not develop with CMakeLists as our primary platform, it makes it too
hard to maintain the file list in CMakeLists.
GLOB_RECURSE will have to do for now.
2016-06-14 00:38:37 +01:00
Brett Lawson
e2fb3e3b2c
Make emulator window resizeable.
2016-06-14 01:19:52 -07:00
James Benton
2cc1b306b8
Refactor decaf api and update decaf-cli to use SDL.
2016-06-13 23:53:02 +01:00
James Benton
a8ff5e00a8
Initial folder restructuring.
2016-06-13 13:03:01 +01:00
Brett Lawson
9e6eab5d86
Added support for function keys in keyboard input handling.
2016-06-13 03:56:42 -07:00
James Benton
c0a647bf33
decaf-cli: Fix usage of renamed mTvWindow in getWindowBorderHeight.
2016-06-12 13:56:59 +01:00
James Benton
504efb4ec8
decaf-cli: Remove unnecessary switch cases from glfw translateKeyCode.
2016-06-12 13:01:34 +01:00
James Benton
7a324fc022
cmake: Update CMakeLists for new project structure.
2016-06-12 12:53:33 +01:00
James Benton
71aa5295c8
decaf-cli: Add missing include in config
2016-06-12 12:53:33 +01:00
James Benton
7f1dbde7c6
Add missing end of file newlines.
2016-06-12 11:45:28 +01:00