Commit Graph

43 Commits

Author SHA1 Message Date
RSDuck b80d5a04f3 lay base for multiple GPU2D backends 2020-12-06 17:40:16 +01:00
webgeek1234 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
WaluigiWare64 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
RSDuck 6977302403 make OpenGL renderer a build option
mostly meant for the Switch port
2020-10-01 00:01:05 +02:00
Arisotura 5431c469c3 actually add DLDI. bahahahhh 2020-09-03 20:28:07 +02:00
Arisotura 4cefff2528 add AR code file parser and shit 2020-08-13 00:20:34 +02:00
RSDuck 961b4252e2 Make it buildable on aarch64 2020-07-23 19:07:33 +00:00
RSDuck e335a8ca76 first steps in bringing over the JIT refactor/fastmem 2020-06-16 12:11:19 +02:00
RSDuck e7d076403d Merge branch 'generic_jit' of https://github.com/Arisotura/melonDS into generic_jit 2020-06-16 12:06:42 +02:00
RSDuck 6d217e1010 fix build with JIT disabled and set default JIT maxblock size to 32 2020-06-16 11:59:09 +02:00
RSDuck 1c07932b40 implement block linking + some refactoring
currently only supported for x64
2020-06-16 11:59:06 +02:00
RSDuck 5ab56cef5f this mistake was phenomally stupid 2020-06-16 11:57:57 +02:00
RSDuck 99b34efe2d move ARM64 JIT backend here 2020-06-16 11:57:51 +02:00
RSDuck 86f2be7260 jit: add compile option 2020-06-16 11:54:03 +02:00
RSDuck 83bd863361 jit: branch instructions 2020-06-16 11:53:09 +02:00
RSDuck 550e6b86d2 JIT: compilation of word load and store 2020-06-16 11:53:07 +02:00
RSDuck 2f6b46fd4f JIT: implemented most ALU instructions 2020-06-16 11:53:06 +02:00
RSDuck c692287eba JIT: base
all instructions are interpreted
2020-06-16 11:53:05 +02:00
Arisotura b62d90cbe4 Merge remote-tracking branch 'remotes/origin/master' into melonDSi 2020-05-30 03:19:20 +02:00
Arisotura 2327de2423 Merge commit '4b57416552ec2fa95216e2b044559f215723bf70' into melonDSi 2020-05-30 03:12:42 +02:00
Arisotura c45068da0e embed romlist.bin 2020-05-30 00:28:21 +02:00
Arisotura 36f4cdbbbf get the OpenGL renderer going.
sorta.

(also make the blackmagic_II branch obsolete in the process)
2020-05-25 18:25:50 +02:00
Arisotura aa4344e249 add audio output. HARK HARK HARK 2020-05-02 20:25:39 +02:00
Arisotura 931da1c66f add a bunch of code 2020-04-27 22:02:45 +02:00
Arisotura 690f9f3874 get some of the shit going, I guess
atleast the emuthread is going and we have its control system down

and other fun shit, too
2020-04-27 12:06:44 +02:00
RSDuck 47b44a6be8 fix build with JIT disabled and set default JIT maxblock size to 32 2020-04-26 16:27:26 +02:00
RSDuck 3787bab1f6 implement block linking + some refactoring
currently only supported for x64
2020-04-26 13:05:17 +02:00
RSDuck 0280fbe194 this mistake was phenomally stupid 2020-04-26 13:05:14 +02:00
RSDuck d6cc7de6c4 move ARM64 JIT backend here 2020-04-26 13:05:09 +02:00
RSDuck 411fb57c07 jit: add compile option 2020-04-26 13:03:06 +02:00
RSDuck c58fdbd66b jit: branch instructions 2020-04-26 13:02:58 +02:00
RSDuck 5f932cdf48 JIT: compilation of word load and store 2020-04-26 13:02:56 +02:00
RSDuck ebce9f035f JIT: implemented most ALU instructions 2020-04-26 13:02:55 +02:00
RSDuck c5c342c009 JIT: base
all instructions are interpreted
2020-04-26 13:02:53 +02:00
Arisotura 8b1caae852 flesh shit out for loading a cheat file 2020-02-24 17:56:01 +01:00
Arisotura 106b9a6f24 lay base for AR cheatzorz. baahahhhh 2020-02-14 19:26:52 +01:00
Raphaël Zumer d86ee1d5bf Add GBA cart model and allow reading from it 2019-12-08 15:30:07 -05:00
StapleButter db6187a953 add DSi shit to cmakelists 2019-10-16 01:37:44 +02:00
StapleButter b9529e8361 Linux: fix uiGLGetProcAddress() 2019-06-01 00:27:54 +02:00
StapleButter 891ab9fd3c Linux: start getting somewhere with the whole OpenGL shito 2019-05-28 19:48:59 +02:00
PoroCYon ebad773a38 apply tgsm's changes (see PR #411 ) 2019-05-26 00:50:27 +02:00
PoroCYon 31e0f15797 fix oudated CMake compile settings, add OpenGL dependency for Linux 2019-05-26 00:37:51 +02:00
Nadia Holmquist Pedersen b31b5ed66a Revamp build system 2019-05-01 05:16:54 +02:00