Sven Eckelmann
8a5669c550
Introduce WARNFLAGS for default (removable) compiler warning flags
2013-01-02 21:56:16 +01:00
Sven Eckelmann
61395b2a34
Link against pthreads on MinGW for localtime_r emulation
2013-01-01 00:35:25 +01:00
Sven Eckelmann
be503102a8
Disable PIC on MinGW to reduce warnings
2013-01-01 00:30:33 +01:00
Sven Eckelmann
d93fd36a9a
Fix visual studio project xml file
2012-12-31 21:05:48 +01:00
n pepinpe
e364b0b8d9
Fix path to OSX SDK with XCode >=4.3
2012-12-31 10:43:00 +01:00
veganaize
ce42cfb753
Don't try to find OpenGL libraries on MacOSX and MinGW using pkg-config
...
MacOSX and MinGW don't provide gl.pc or glu.pc to find the cflags or libs using
pkg-config. Removing this search and replacing it with an hardcoded value is
easier on these platforms.
2012-12-19 21:57:39 +01:00
Sven Eckelmann
c82cecc685
Use $(OBJDIR) in clean target instead of hardcoded path
2012-12-13 14:53:05 +01:00
Sven Eckelmann
c482334054
Allow to add a postfix for each build
...
The POSTFIX make option is useful for distributions to compile different
versions of the plugin in parallel. The object files will be stored in a
directory with the postfix appended and the linker result will also have this
postfix appended.
2012-12-13 14:47:28 +01:00
Sven Eckelmann
c7aa2d3960
Add CROSS_COMPILE make option
...
The CROSS_COMPILE make option can be used to automatically prepend the prefix
to all build relevant tools to seamlessly allow cross compilation without
setting each tool name separately.
Cross compiling for MinGW32 would can be done using
$ make -C projects/unix/ CROSS_COMPILE=i686-pc-mingw32- HOST_CPU=i686 UNAME=MINGW
2012-12-13 12:25:26 +01:00
Sven Eckelmann
012bd66c1e
Allow to change names of *-config tools for cross compiles
2012-12-13 11:33:49 +01:00
Sven Eckelmann
689e011f7f
Synchronize usage of environmental variables for UNAME with HOST_CPU
2012-12-13 10:52:49 +01:00
Sven Eckelmann
920aeeb8e1
Remove duplicated definition of CC for MinGW
2012-12-13 10:46:16 +01:00
Sven Eckelmann
2c653a14d5
Don't add malformed/missing linker flag to LDFLAGS on MinGW
2012-12-12 23:17:23 +01:00
Richard Goedeken
ff56ce7aa3
branch merge with no extra changes
2012-12-09 17:11:47 -08:00
veganaize
0b14238353
Add support for MingW32
2012-12-04 21:17:52 +01:00
Sven Eckelmann
d9e579f385
Add workqueue to postpone work to another thread
2012-11-22 11:07:37 +01:00
Sven Eckelmann
47bac82b89
Completely disable old dynarec when NEW_DYNAREC is enabled
2012-11-22 09:55:07 +01:00
Anthony J. Bentley
dce1d74ed5
Detect OpenBSD PowerPC platforms macppc and socppc.
2012-11-12 18:00:20 -07:00
Sven Eckelmann
8fa5322ca2
Fix build of dynarec under x86_64
2012-11-10 18:07:10 +01:00
paulscode
736fbae839
Integrated mupen64plus-ae arm assembler
2012-11-03 09:33:19 -04:00
Richard Goedeken
43efc79701
merge with no changes
2012-10-28 11:28:13 -07:00
Richard Goedeken
e7a9a464bb
merge with no changes
2012-10-28 11:23:09 -07:00
Sven Eckelmann
2688e4db9f
Disable unused cryptographic functions in included minizip
2012-10-07 22:08:31 +02:00
Sven Eckelmann
044e9a4f6d
Don't depend on freetype2 for OSD=0 builds
2012-10-07 20:15:48 +02:00
Sven Eckelmann
81506b856f
Merge port of Ari64's new experimental dynamic recompiler for i386
...
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
doc/new_dynarec.txt | 413 ++
projects/unix/Makefile | 17 +
src/main/savestates.c | 25 +
src/memory/dma.c | 4 +
src/memory/memory.c | 21 +-
src/r4300/interupt.c | 9 +
src/r4300/new_dynarec/assem_x86.c | 4364 ++++++++++++++
src/r4300/new_dynarec/assem_x86.h | 20 +
src/r4300/new_dynarec/linkage_x86.s | 929 +++
src/r4300/new_dynarec/new_dynarec.c |10974 +++++++++++++++++++++++++++++++++++
src/r4300/new_dynarec/new_dynarec.h | 38 +
src/r4300/r4300.c | 23 +-
12 files changed, 16834 insertions(+), 3 deletions(-)
create mode 100644 doc/new_dynarec.txt
create mode 100644 src/r4300/new_dynarec/assem_x86.c
create mode 100644 src/r4300/new_dynarec/assem_x86.h
create mode 100644 src/r4300/new_dynarec/linkage_x86.s
create mode 100644 src/r4300/new_dynarec/new_dynarec.c
create mode 100644 src/r4300/new_dynarec/new_dynarec.h
2012-09-30 11:17:08 +02:00
Sven Eckelmann
fd5cd73bd2
Allow to build without OpenGL support for non-OpenGL devices
2012-09-16 22:24:40 +02:00
Richard Goedeken
ee21a0073c
fix bugs with NO_ASM=1 and DEBUGGER=1 builds
2012-08-26 15:33:58 -07:00
casualjames casualjames
6d729c5b81
Simplify dynarec and block system setup. Instead of starting executing code straight away after calling dyna_start but waiting until NOTCOMPILED at 0xa4000040 executes to adjust the stack, adjust the stack on dyna_start then call a auxiliary function which sets up the code at 0xa4000040 (which doesn't require special cases now). I don't have access to a 64 bit machine right now so the 64 bit code is untested. Also, remove the old cached interpreter files from the VC project.
2012-08-25 16:28:51 +02:00
casualjames casualjames
b05457b693
Initial attempt to join the pure interpreter and the cached interpreter main codebase.
...
This is just the bare minimum for it to work, since there's still some warnings/slowdowns/ugly code which has to be fixed.
2012-08-21 13:47:42 +02:00
casualjames casualjames
2fdb149da9
Add a Makefile switch to enable section timing. Use clock_gettime instead of gettimeofday (which returns wall time). Also remove the useless fflush call which broke compilation.
2012-08-06 22:03:15 +02:00
casualjames casualjames
8ed2e2c2a0
Remove adler32.c/adler32.h since Zlib provides an adler32() function already.
2012-08-06 22:01:37 +02:00
casualjames casualjames
2b291af0c3
- Added shell32.lib as a dependency to VS project (because some functions like SHGetSpecialFolderLocation are used)
...
- #define inline __inline in mupen64plus-core for Visual Studio, since 'inline' doesn't work on Visual Studio (2008) for C files.
- Added a reset.c file with functions to perform soft and hard resets
- Add support for multiple path separators instead of just one
- Added a PluginGetVersion to the dummy plugins, so they can be handled as if they were a real plugin
- Added new frontend APIs:
Get screen width
Get screen height
Read screen
Volume up
Volume down
Get volume level
Set volume level
Mute volume
Input callback
Soft reset
Advance frame
Audio callback
Get audio frequency
Read audio samples
Vi Callback
- Reorganized internal rom_header structure so field sizes make more sense
- Added two systemtype and vilimit properties to m64p_rom_settings
so frontends can get this information easily instead of looking at ROM header,
and also simplifies some internal logic
- Some other refactoring/commenting
2012-08-06 21:59:08 +02:00
Sven Eckelmann
84a36e8f92
Enable experimental support for link-time optimization
2012-05-29 22:19:41 +02:00
Sven Eckelmann
68e3d1317e
Import minizip from zlib 1.2.7
2012-05-29 22:13:29 +02:00
Sven Eckelmann
8dcdbb06e1
Remove unused functions
2012-05-29 22:11:03 +02:00
Anthony J. Bentley
8f2043ad4d
off_t is 64 bits on OpenBSD, so don't use f*64() there.
2012-02-27 23:17:58 -07:00
Sven Eckelmann
3364c4eafe
Remove additional -O3 on MacOSX
2011-10-14 19:58:42 +02:00
Sven Eckelmann
d7562c5f73
Use 32 bit io api for minizip on MacOSX to prevent build error
2011-10-13 00:03:03 +02:00
Sven Eckelmann
7160a3c584
Explicitly disable PIC in case of PIC=0
2011-10-13 00:01:01 +02:00
Sven Eckelmann
0a517b3238
Try to build against external minizip library to fix compilation on Gentoo
2011-10-06 10:26:08 +02:00
Sven Eckelmann
de028a8223
Fix linking with liblirc_client
2011-10-06 10:02:41 +02:00
Sven Eckelmann
5502c6b1e7
Enable ppc(64) as experimental target
...
nogagplz tested mupen64plus on 32-bit ppc and didn't detect any big show
stoppers with interpreter cores and the mupen64plus example rom. This makes the
PowerPC an interesting target for further tests and may reveal other endianness
problems.
2011-08-05 10:46:14 +02:00
Sven Eckelmann
0dee89e291
Enable PIC depending on architecture instead of bits only
...
nogagplz noticed on ppc32 that PIC is necessary to compile everything as shared
object. Therefore, it seems to be a better idea to have architecture specific
PIC default settings instead of checking only whether it is a 32 or 64 bit
architecture.
2011-08-05 10:32:06 +02:00
Sven Eckelmann
54a5e3cee5
Enable big endian mode on ppc and ppc64
2011-08-05 10:19:20 +02:00
Sven Eckelmann
74ac8f507e
Strip binaries during install
2011-07-23 21:22:52 +02:00
richard42
139139738e
Updated MSVC8 project files for new PIF/CIC code
2011-07-16 17:25:35 -07:00
Richard Goedeken
43206c936f
use X-Scale's PIF-CIC algorithm instead of the hard-coded challenge-response pairs
2011-07-16 15:47:14 -07:00
Sven Eckelmann
5a03b61fb0
Allow to force PIC to remove text relocations
2011-07-10 13:37:54 +02:00
Sven Eckelmann
09e4c2228a
Fix linker search for libstdc++.so
2011-07-08 08:24:33 +00:00
Sven Eckelmann
5c685d6528
Don't use Debian specific liblircclient0 pkg-config files
2011-07-08 07:44:26 +00:00