Commit graph

132 commits

Author SHA1 Message Date
Giovanni Bajo 87ed667c38 Show Windows console when isviewer is present. 2021-09-06 23:35:40 +02:00
Christopher Bonhage 8f64dcd8b3 Implement RTC write support
* Set local time offset when writing to Joybus or 64DD RTC.
* Refactor get_local_time to use ISO C Time APIs.

Special thanks to @jago85 and @LuigiBlood for their research!
2021-09-04 22:02:29 +02:00
James Lambert ee3d2fcc47 Implement gdb debugger 2021-01-10 17:07:29 -07:00
James Lambert 2865d107e4 Implement debugging hooks into vr4300 2021-01-10 17:07:21 -07:00
James Lambert 13720b1e29 Implement hash table 2021-01-10 17:05:35 -07:00
Simon Eriksson 1176dae84a
Merge pull request #144 from MIPT-ILab/ubsan
Pass UB sanitizer flags to linker
2020-05-28 21:41:21 +02:00
Simon Eriksson fe81d08ca2 Remove unused global bus pointer variables 2020-05-15 21:28:24 +02:00
Simon Eriksson b08188f388 Basic RSP LTV/STV support 2020-04-15 07:38:09 +02:00
Pavel Kryukov 5d7acbd94c Pass UB sanitizer flags to linker 2020-03-27 23:53:49 +03:00
Pavel I. Kryukov 8deed1f7b2
Define _DEFAULT_SOURCE 2020-03-27 00:15:55 +03:00
Tyler Stachecki 6d57561ee0
Merge pull request #105 from MIPT-ILab/master
Add CI configuration files
2018-10-12 20:53:58 -04:00
Pavel I. Kryukov c5e9899221
Disable sanitizer of undefined behavior in Clang builds
Sanitizer makes link failures if 128-bit multiplication is called,
see https://bugs.llvm.org/show_bug.cgi?id=16404 for details.
2018-10-06 13:55:15 +03:00
Pavel I. Kryukov e1cdee9171 Add CI configuration files 2018-09-16 16:38:17 +03:00
Pavel I. Kryukov 147e26b81f
Merge branch 'master' into implicit-function 2018-09-10 22:56:17 +03:00
Pavel I. Kryukov 8b2f77ed6c Remove wrong 'const' qualifier for is_viewer pointer 2018-09-10 11:36:21 +03:00
Pavel I. Kryukov b47f078895 Enable implicit-function-declaration as a error 2018-09-09 00:10:25 +03:00
Thomas Lercher f27a35aa32 Remove windows support for setthread_name alltogether 2018-05-06 22:45:58 +02:00
Thomas Lercher 87e4c99e35 Fix windows build which APIs which don't feature 'SetThreadName' 2018-05-06 22:32:50 +02:00
Thomas Lercher 8dfae37edb Fix thread_setname handling for macOS and older Windows APIs 2018-05-05 23:01:35 +02:00
Tyler J. Stachecki 06d8028644 These aren't required anymore...
... and only hinder optimizations.
2017-07-16 20:51:02 -04:00
Tyler J. Stachecki 883ca7b2ac Update README.md
- Poor man's build trigger here.
2017-07-16 20:46:05 -04:00
Zion 430c1546cf Fix for building on MacOS
This may screw up the windows build, I'm not sure.
2017-04-22 18:34:13 -07:00
Tyler J. Stachecki 8aff451c4b Partially fix Windows builds. 2017-03-19 02:27:53 +00:00
Mike Ryan 07301222dd build: add FindIconv cmake file
Forgot to add this file in previous commit. See #59.
2017-03-08 10:18:35 -08:00
Mike Ryan 8d0e7bb627 pi: add support for IS Viewer 64
When -is-viewer is passed on the command line, create an IS Viewer
object that intercepts writes at 0x13FF0000. This is used by Ocarina of
Time Master Quest Debug to log debug messages.

The messages are encoded in EUC-JP, so we bring in iconv to convert that
to UTF-8 so the messages can be printed to modern consoles.

Props to jrra (@jkbenaim) and spinout for reverse engineering the
interface and documenting it: http://wiki.spinout182.com/w/IS64
2017-02-28 19:55:55 -08:00
Mike Ryan 367b77b134 build: build Release with Debug Info by default
We want builds to be fast out of the box, so this option will build a
Release binary using a default cmake configuation.
2017-02-14 20:38:46 -08:00
Mike Ryan d5dde96ecf build: enable VR4300 busy wait by default
This option increases performance without impacting emulation accuracy.
2017-02-14 20:38:46 -08:00
Mike Ryan 1a14936b4b build: reorder CPU extensions from newest to oldest, and change default
CPU extensions were previously ordered from oldest to newest, with
oldest (SSE2) being selected by default. This could cause poor
performance for less savvy users. Instead we use Native by default,
which will use the best available for the detected CPU, and list them in
descending order. If the compiled binary uses extensions not available
on the host CPU, the core will throw an error so user experience is not
significantly degraded.

See #56
2017-02-14 20:38:46 -08:00
Mike Ryan abca698a75 core: add cpuid fetching code from 4996031 2017-02-14 16:44:18 -08:00
Tyler J. Stachecki 3288229a50 Start fixing MSVC builds.
Conflicts:
	rdp/n64video.c
2016-06-26 17:19:17 -04:00
Tyler J. Stachecki 51b83257f7 Remove unused cen64_context_* calls.
Originally these functions were intended to workaround
problems experienced by RSP vector register caching,
but we don't use it anymore so we can just nix them.

Fixes #41
2016-06-22 09:15:10 -04:00
Mike Ryan 0d087a054e cmake: remove build system dependency on GNU as 2016-06-19 08:55:53 -07:00
Tyler Stachecki 9f5f3c2e75 Compile n64video.c with -fno-strict-aliasing.
Lots of violations to the strict aliasing rule throughout.
2016-06-17 05:43:41 -04:00
Tyler Stachecki 154343bdea Commit latest fork of angrylion/MAME RDP.
Conflicts:
	device/device.c
2016-06-17 05:06:34 -04:00
Mike Ryan b2721e7d37 rtc: implement RTC
Untested in-game since Animal Forest does not yet run.
2016-02-05 21:44:48 -05:00
Mike Ryan cfd2336443 time: move get_local_time out to platform-specific dir
Patched DD code to make use of this code. Untested on Windows.
2016-02-05 21:44:42 -05:00
Mike Ryan a4c7397848 cmake: do not use -fsanitize=undefined on Apple debug builds
Feature is unavailable in Xcode's clang. lame
2016-01-28 00:42:35 -05:00
Jason Benaim 0c4a20abe1 Add support for MBC3. This is enough to get Pokemon games working with the transfer pak. 2016-01-28 00:42:35 -05:00
Mike Ryan 2803a304bc validate SHA1 of important files
Currently only validating pifdata.bin. Probably also worth validating DD
IPL and other known binaries.
2016-01-26 22:15:38 -08:00
Mike Ryan 4360b6923b build on OS X 2016-01-26 17:51:42 -08:00
Tyler J. Stachecki 76c633598a Implement save_file for WinAPI. 2016-01-24 21:58:15 -05:00
Mike Ryan e83da838f7 transfer pak: implement transfer pak read and write
This code will not boot Pokemon Stadium 1 or 2 after extensive
debugging. The code lacks Game Boy MBC support (though this is not the
reason the games refuse to boot).
2016-01-24 17:46:44 -08:00
Tyler J. Stachecki cdd3c44aea Add a subsystem for detecting carts. 2016-01-24 19:01:51 -05:00
Mike Ryan e7bbc4f822 pak: implement mempak and stub out rumble and transfer pak 2016-01-24 12:28:48 -08:00
Mike Ryan ec739c8c94 create a generic type for save files 2016-01-23 21:02:42 -08:00
Tyler J. Stachecki ede3ae921c Fix clang build issue. 2015-11-06 22:06:04 -05:00
Tyler J. Stachecki 03fd39cd4a Fix mingw64 build issues. 2015-08-17 13:52:46 -04:00
Derek "Turtle" Roe 8b89df2fdc See long description
Replaced all references to simulation with emulation
Updated copyright year
Updated .gitignore to reduce chances of random files being uploaded to
the repo
Added .gitattributes to normalize all text files, and to ignore binary
files (which includes the logo and the NEC PDF)
2015-07-01 18:44:21 -05:00
Tyler Stachecki 28bdec42fc Build fix for Arch Linux.
Thanks go out to Presence for this commit.
2015-06-11 08:18:29 -04:00
Tyler J. Stachecki 653bd0d5b6 Add (initial) audio support.
"It's a meeee, Mario!"

There's no resampler as of yet, so we just tell OpenAL
that everything is 44.1KHz for the time being. In the
future, a resampler thread will be created and things
won't sound as bad as they do in this commit.
2015-05-23 22:00:20 -04:00