Commit graph

380 commits

Author SHA1 Message Date
Bobby Smiles
349b50660d WIP Move reg, hi lo and llbit inside r4300_core structure.
Still need to configure project files for VisualStudio.
Also need to port to ARM.
2016-12-07 14:33:34 +01:00
Bobby Smiles
b804a2e89f Unify mpk,eep,fla and sra files management using storage files. 2016-11-17 06:19:27 +01:00
Bobby Smiles
7c13fe398e Introduce storage backend. 2016-11-17 06:19:27 +01:00
Bobby Smiles
58041464b5 Introduce rumble backend. 2016-11-17 06:19:27 +01:00
Bobby Smiles
45a00e74fa Introduce clock backend. 2016-11-17 06:19:27 +01:00
Bobby Smiles
47c776e870 Introduce controller input backend. 2016-11-17 06:19:27 +01:00
Bobby Smiles
c440fcdbeb Introduce audio_out_backend. 2016-11-17 06:19:27 +01:00
Bobby Smiles
e8603f17d6 Introduce a device structure to contain n64 submodules. 2016-11-17 06:01:50 +01:00
Logan McNaughton
28aa184043 Make SDL usage optional 2016-11-05 22:53:53 -06:00
Richard Goedeken
e9e7772c00 change VS2013 project files to build with the XP-compatible vc120 toolset, so the resulting binaries will run on pre-vista machines 2016-07-13 20:04:06 -07:00
Gillou68310
8fd1009c61 old_dynarec: Allow building the old dynarec on x64 with VisualStudio2013 2015-08-31 18:29:11 +02:00
Anthony J. Bentley
f62e8f8551 OpenBSD has had good support for mupen64plus for multiple releases now. 2015-06-06 23:19:52 -06:00
Conchúr Navid
9548ce4081 Fix executable bits of files 2015-03-21 10:53:38 +01:00
Gillou68310
e1ed24f137 Updated MSVC2013 project file
Added back New_Dynarec_Debug/New_Dynarec_Release configuration.
Added back .filters file.
2015-03-02 16:24:07 +01:00
Gillou68310
8820dc4cee Updated makefile 2015-03-02 16:16:57 +01:00
Richard Goedeken
e1639f91f9 unused function warning is kind of stupid 2015-02-22 14:29:42 -08:00
Richard Goedeken
7ea3733428 Merge pull request #77 from Gillou68310/interger_divide
DIV/DIVU instructions use hardware integer divide if available
2015-02-22 08:22:23 -08:00
Richard Goedeken
7a9f16de89 added project/solution file for Visual Studio 2013. removed older MSVS project files. fix code compatilibity problems with MSVC 2015-02-22 07:13:34 -08:00
Gillou68310
3e770dbd34 new_dynarec: parse cpuinfo in C instead of C++ 2015-02-17 15:05:19 +01:00
Gillou68310
3231d2c270 new_dynarec: autodetect ARM integer divide feature at runtime 2015-02-17 13:46:37 +01:00
Richard Goedeken
52c9449d12 Merge pull request #71 from bsmiles32/ai_refac
AI refactorings
2015-02-14 08:25:40 -08:00
Richard Goedeken
8f0e994305 Merge pull request #58 from Gillou68310/new_dynarec_msvc10
Allow building the core with the new dynarec on windows
2015-02-14 00:54:15 -08:00
Gillou68310
23f45a252a Fixed building issues on MSVC2010 2015-02-10 14:56:55 +01:00
Gillou68310
1e4a30ce79 Added .filters file to MSVC2010 project so every source files are classified by folder name 2015-02-10 11:59:50 +01:00
Gillou68310
f613e1070f Fixed building issues on MSVC2010 2015-02-10 11:59:50 +01:00
Gillou68310
183e2a8dc9 Leading underscore on assembly symbols should be the default behavior
According to NASM documentation (see 9.1.1 External Symbol Names)
http://www.nasm.us/doc/nasmdoc9.html

Most 32-bit C compilers share the convention used by 16-bit compilers,
that the names of all global symbols (functions or data) they define are
formed by prefixing an underscore to the name as it appears in the C
program. However, not all of them do: the ELF specification states that
C symbols do not have a leading underscore on their assembly-language
names.
2015-02-10 11:59:49 +01:00
Gillou68310
9f3385b996 Update makefile to build linkage_x86.asm with NASM 2015-02-10 11:59:49 +01:00
Gillou68310
f1357216a7 Added project file for MSVC2010
4 possible configurations are available:
-Debug
-Release
-New_dynarec_Debug
-New_dynarec_Release
2015-02-10 11:59:49 +01:00
Bobby Smiles
a5330b75de Isolate AI subsystem from audio plugin.
The AI controller has been reworked to be made independent of the audio
plugin. All it expects is 2 callbacks (one for setting sample format,
and the other to push samples).

A retro-compatibility module implements these 2 new callbacks using the
existing audio plugin in a best effort manner as pure zilmar spec
is not fully compatible with the new callbacks. However, by exploiting
implementation details of both core and audio plugin, we can get
a "good enough" implementation of these callbacks.

Audio DMA fifo has been also reworked and its associated data has
changed. A compromise has been made in order to not change the
savestate format.
2015-02-09 02:33:47 +01:00
Bobby Smiles
3acd299642 Move RDRAM size detection hack in a separate module. 2015-02-08 15:04:56 +01:00
Richard Goedeken
7117fe1081 Merge pull request #67 from gizmo98/testing2
Raspberry Pi fix and ARM NEON/VFP_HARD cleanup
2015-02-07 10:27:12 -08:00
Bobby Smiles
769465443f Move FLA file handling out of PI subsystem.
File accesses are now made only at the beginning/end of emulation.
2015-02-07 09:21:55 +01:00
Bobby Smiles
9f08b7b02b Move SRA file handling out of PI subsystem.
File accesses are now made only at the beginning/end of emulation.
2015-02-07 09:21:55 +01:00
Bobby Smiles
6ac24239a2 Move EEP file handling out of SI subsystem.
File accesses are now made only at the beginning/end of emulation.
2015-02-07 09:21:55 +01:00
Bobby Smiles
55166ef274 Isolate game_controller and rumblepak emulation from input plugin.
This should allow for some flexibility in the choice of the controller
input and rumble output.
For now, we keep the old behavior and use the input plugin, but other
input source and rumble sink could be considered.
We hardcode te connection in the core, but ultimately,
the choice of an external controller/rumble should be the responsibilty
of the frontend.
2015-02-07 09:21:55 +01:00
Bobby Smiles
7a0f0081cc Move MPK file handling out of SI subsystem.
File accesses are now made only at the beginning/end of emulation.
2015-02-07 09:21:55 +01:00
Bobby Smiles
8f7ee083ac Move AF_RTC time source out of SI subsystem.
This should allow for some flexibility in the choice of a time source.
For now, we keep the old behavior and use the C localtime, but other
time source could be considered.
Furthermore, we hardcode the connection in the core, but ultimately,
the choice of an external time source should be the responsibility of
the frontend.
2015-02-07 09:21:55 +01:00
Richard Goedeken
44f1424898 Merge pull request #62 from bsmiles32/cenification_part1
Cenification part1
2015-02-06 22:45:31 -08:00
gizmo98
ff7389864e Makefile: Use -DARMv5_ONLY if HOST_CPU is armv6 or armv5
This is necessary to compile for raspberry pi.
2015-02-05 21:05:26 +01:00
gizmo98
5bae269c7b Makefile: Remove unnecessary -DVFP_HARD and -DNEON 2015-02-05 21:02:43 +01:00
gizmo98
d1ddc9d111 Makefile: Fix not reachable options.
Line 283 is not reachable because OSD is disabled if USE_GLES is set.
2015-02-03 18:38:18 +01:00
gizmo98
15c2e2e951 Makefile: Add VC option
Add an option for Raspberry Pis Videocore IV GLES2 implementation.
2015-02-03 17:45:53 +01:00
gizmo98
cd2902cd60 Makefile: Add VFP_HARD define
So linkage_arm.S will work if VFP_HARD is set.
2015-02-03 17:38:25 +01:00
Richard Goedeken
40d0399900 Merge pull request #64 from Nebuleon/build-changes
Add a MIPS support stanza for the Unix Makefile
2015-02-01 14:33:42 -08:00
gizmo98
f314fc9049 Rename VFP -> VFP_HARD and add documentation. 2015-01-26 20:03:31 +01:00
Nebuleon Fumika
66651989d3 unix: Add a Makefile configuration for MIPS 2015-01-26 10:13:28 +00:00
Bobby Smiles
e900d5b765 Extract game_controller and mempak into separate modules. 2015-01-24 15:52:45 +01:00
Bobby Smiles
f2854903c2 Extract eeprom and af_rtc into separate modules. 2015-01-24 15:52:45 +01:00
Bobby Smiles
09b8fd4810 Move CIC into the PIF module. 2015-01-24 15:52:39 +01:00
Bobby Smiles
f76049aa3f Move pif and n64_cic_nus_6105 modules into the SI subsystem. 2015-01-24 15:52:17 +01:00