Commit Graph

1583 Commits

Author SHA1 Message Date
129018a662 Merge remote-tracking branch 'remotes/origin/master' into dsi_camera 2020-12-04 18:28:15 +01:00
6aad429383 misc. shito 2020-12-04 18:26:48 +01:00
42e083960e always cap FPS to 1000 2020-12-04 00:00:35 +01:00
906521e7e9 fix 4-bit affine sprites 2020-12-03 14:52:36 +01:00
07423492c4 Use AF_LINK and net/if_dl.h on all non-Linux systems (#835) 2020-12-01 23:01:57 +01:00
298b958e2a Rename jit linkage asm files (#836)
An extension of lower case s indicates to not run the
preprocessor while upper case S does. These files have defines.
2020-12-01 19:48:46 +01:00
6e8bac3909 Merge vram dirty tracking
Squashed commit of the following:

commit b463a05d4b909372f0cd1ad91caa0c77a25e5901
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Mon Nov 30 01:55:35 2020 +0100

    minor fix

commit ce73cebbdf5da243d7ebade82d8799ded9cd6b28
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Mon Nov 30 00:43:08 2020 +0100

    fix dirty flags of BG/OBJ mappings not being reset

commit fc5d73a6178e3adc444398bdd23de8314b5ca8f8
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Mon Nov 30 00:11:13 2020 +0100

    use flat vram for gpu2d everywhere

commit 34ee9fe2bf04fcfa2a5a1c8d78d70007e606f1a2
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Sat Nov 28 19:10:34 2020 +0100

    mark VRAM dirty for display capture

commit e8778fa2f429c6df0eece19d6a5ee83ae23a0cf4
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Sat Nov 28 18:59:31 2020 +0100

    use flat VRAM for textures and texpals
    also skip rendering if nothing changed and a bunch of fixes

commit 53f2041e2e1a28b35702a2ed51de885c36689f71
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Fri Nov 27 18:29:56 2020 +0100

    use vram dirty tracking for extpals
    also preparations to take this further

commit 4cdfa329e95aed26d3b21319c8fd86a04abf20f7
Author: RSDuck <rsduck@users.noreply.github.com>
Date:   Mon Nov 16 23:32:22 2020 +0100

    VRAM dirty tracking
2020-11-30 19:49:18 +01:00
acb272ed78 Use ashmem instead of memfd_create on Android. (#816)
* Use ashmem instead of memfd_create on Android.

* Fix code styling issues.

* fix small mistake in merge commit

Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
2020-11-30 15:33:43 +01:00
7da4550eea Add support for macOS (#771)
* use shm_open() instead of memfd_create() on macOS

malloc.h isn't a header on macOS

* Change OpenGL headers + create ifdef for DO_PROCLIST

macOS seems to already have the OpenGL functions defined, without the ifdef, it gives "ambiguous references" errors.

* macOS doesn't have ->gregs in uc_mcontext

and it doesn't have REG_RIP either
https://github.com/gperftools/gperftools/blob/master/m4/pc_from_ucontext.m4

* use getpid() to make memory file name unique

* #ifndef __APPLE__ for AF_PACKET and linux/if_packet.h

* Add include and link directories for macOS and link the OpenGL framework

* Add macOS CI

* Use newly added libslirp package from Homebrew

https://github.com/Homebrew/homebrew-core/pull/63412

* Use Apple's Clang instead of GNU GCC on macOS

* Add macOS build instructions to README

* Try to fix macOS undefined symbol

* snprintf doesn't take null terminator into account

* Map new memory on macOS for JIT

* Only use gcc-ar if using GNU Compiler

* re-add fastmem code - whoops!

* Fix style issue - use camelCase not snake_case

* Set Minimum macOS version

* Switch Minimum OS X version to 10.9

* Add macOS libpcap library name

* fix memory leak

* Fix binding keys in macOS

* Allow getting MAC address on macOS

melonDS on Linux uses AF_PACKET, which doesn't exist on macOS. Instead, this commit uses AF_LINK on macOS to get the MAC address.

* Remove unneeded macOS CI dependencies

* Build melonDS app bundle on macOS

Now it is no longer required to install the libraries on macOS, they come with the app bundle.

* fix macOS CI not being able to find macdeployqt

* copy melonDS.app with recursive because it's a folder

* Disable fastmem checkbox on macOS

* Disable fastmem by default in config

* forgot a semicolon

* Don't bundle libraries, causes issues on macOS <10.15

* Update README + allow finding version in Finder on macOS

* Make sure fastmem checkbox stays uncheckable
2020-11-29 17:11:33 +01:00
14be591ab8 Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with clang if found (#828)
* Override CMAKE_AR/CMAKE_RANLIB, fixes flatpak builds, also use lld with clang if found

* Ensure we build with -fPIC/-pie for LTO builds
2020-11-28 17:12:44 +01:00
1ff4a1564f fix DSi mode with interpreter
I'm so stupid
2020-11-26 00:04:19 +01:00
ddf9a5ac27 CMake build fixups (#825)
* CMake build fixups

* Correctly set C/C++ standard
* Specify CXX in project() to get things set up right, also causes it to
link using the C++ compiler which is necessary for LTO builds with Clang
to work right
* Remove Fedora/flatpak build workaround, no longer needed with C++ standard set
* Link libm explicitly if we need to
* Specify -fuse-linker-plugin when building with LTO just in case

* Restore CMAKE_{C,CXX}_STANDRD, oops

* Use C++17
2020-11-23 21:57:36 +01:00
f11d53c69c Add radio buttons to switch between Direct and Indirect Mode (#822) 2020-11-22 15:31:29 +01:00
a1cf1967ac Fix fullscreen toggle with joysticks (#821) 2020-11-22 13:00:18 +01:00
50cdfd0137 fix edge indices count 2020-11-19 17:46:21 +01:00
690eed9e26 GPU2D: don't an indirect call in tight loops 2020-11-16 18:33:58 +01:00
842379c410 harmless DMA micro optimisation 2020-11-16 17:22:34 +01:00
1085cc14a4 prevent use after free 2020-11-16 17:03:24 +01:00
21dbca9543 use proper index buffers 2020-11-16 15:58:23 +01:00
550241dbad Fix GBA file drag-and-drop when the system is off (#817) 2020-11-15 16:15:09 +01:00
05b94eff66 make audio output thread safe(r?) 2020-11-15 15:29:38 +01:00
1b0a24a9bd Fix LTO builds with Clang (#815) 2020-11-14 13:29:47 +01:00
d697f9e0d2 make fastmem work again 2020-11-13 15:20:53 +01:00
fbc7648d1a Fix Ubuntu AArch64 CI - round 3 (#811) 2020-11-11 18:29:25 +01:00
62e3f41f20 delay savefile flush to the end of the frame 2020-11-11 13:38:05 +01:00
2720df9650 make platform objects typesafer and add mutex 2020-11-09 21:52:35 +01:00
052079afeb fix Windows 2020-11-09 20:56:31 +01:00
ae9694ef8b do what Nadia said 2020-11-09 20:50:29 +01:00
78839f862e JIT fixes
- fix fastmem problems on linux
- small fix memory leak
- SlowWrite functions always take in a 32-bit variable so that the C compiler knows that the values aren't necessary zero extended
- a few other stylistic things
- handle SIGBUS as well (for macos)
2020-11-09 20:43:31 +01:00
ec232a9365 Fix building the Qt frontend with LTO (#802)
* Remove unnecessary -fno-pic/-no-pie, fixes LTO builds

* restore -no-pie because GNOME is derpy
2020-11-06 12:03:02 +01:00
ad7791f726 better framelimiter for reference: https://github.com/citra-emu/citra/blob/master/src/core/perf_stats.cpp#L129 2020-11-02 20:13:22 +01:00
fbca47381b Fix a couple of wrong cpp function pointers. (#785) 2020-10-31 17:53:01 +01:00
45ea1fa990 Fix compilation issues on pedantic cpp compilers. (#783)
* Fix compilation issues on pedantic cpp compilers.

* Avoid using fullblown static function.
2020-10-31 17:40:05 +01:00
9ac60a840a SPU: work with scalars instead of arrays 2020-10-31 13:48:02 +01:00
e46a408972 Remove unused gtk dependency from README (#788) 2020-10-30 21:42:09 +01:00
93664e7611 Merge pull request #798 from Hypnotron/master
Added 8/16-bit IPCFIFOSEND writes
2020-10-29 21:25:41 +01:00
05e274a1f6 Added 8/16-bit IPCFIFOSEND writes 2020-10-29 16:09:25 -04:00
c03d83b7be remove qt_sdl dependency from frontend util 2020-10-28 19:45:50 +01:00
d2cd3eadbe fix to timers (ZXDS no longer runs slow as shit) 2020-10-27 05:03:17 +01:00
81964a0f89 make things function atleast somewhat
no pciture is being actually sent yet
2020-10-26 21:54:08 +01:00
c0c1c2e1c2 camera: remember PLL config 2020-10-26 21:16:20 +01:00
fc922ffb14 Merge branch 'master' into dsi_camera
# Conflicts:
#	src/DSi_I2C.cpp
2020-10-26 20:47:30 +01:00
49a96f41da I2C: silence logging for devices A0/E0 (mysterious alternate cameras) 2020-10-26 20:34:54 +01:00
2f15bcf93b betterer battery level 2020-10-26 17:55:25 +01:00
af0a9e92c4 make unlaunch'd NANDs work 2020-10-25 18:25:09 +01:00
9fdc1de6fe add a few missing 32bit I/O accesses (IPC, SPI) 2020-10-25 18:14:40 +01:00
65be1840f0 change JIT branch optimisations default to 1
branch linking is dead
2020-10-15 05:59:45 +02:00
3a17ae478e Merge pull request #789 from abcdjdj/numpad-fix
Input : Treat numpad keys as keypresses
2020-10-13 13:49:23 +02:00
dc46da0e24 Input : Treat numpad keys as keypresses
Typically, modifiers are masked out of keypresses to distinguish
between hotkeys and keypresses. This patch prevents the numpad
modifier from getting masked out in KeyPress() and KeyRelease().

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>
2020-10-13 11:02:58 +05:30
f8c4bf6db1 save microphone hotkeys (#781) 2020-10-07 01:33:11 +02:00