Commit graph

318 commits

Author SHA1 Message Date
Bobby Smiles
3e39fed4c6 Add support for transferpak and gameboy cartridges
NoMBC, MBC1, MBC3 and MBC5 should be mostly supported.
2017-02-15 13:58:54 +01:00
Gillou68310
0d1db707a5 Moved main/asm_defines.c to asm_defines/asm_defines.c 2017-02-13 18:11:42 +01:00
Gillou68310
974ebd9cff Add awk script to generate asm defines 2017-02-11 19:25:10 +01:00
Gillou68310
e5f78849c8 Use dyna_start.asm for x86 2017-02-09 16:28:52 +01:00
Gillou68310
0884dfb750 Use dyna_start.asm for both x86_64 and win64 2017-02-09 15:27:28 +01:00
Bobby Smiles
00169f327b Remove r4300 files. Move functions to r4300_core. 2017-02-02 17:27:53 +01:00
Bobby Smiles
f0bce899f4 Remove reset file. Move its functions in device and interrupt files. 2017-02-02 17:27:53 +01:00
Bobby Smiles
72f2295bab Rename storage_file to file_storage.
It seems to better convey the idea of implementing the storage_backend,
without being too similar (one has _storage prefix, the other has t as suffix).
2017-02-02 17:27:53 +01:00
Bobby Smiles
bde29a8e1d Rework clock backend. 2017-02-02 17:26:00 +01:00
Bobby Smiles
567ef04b2a Extract pifbootrom hle procedure into its own module. 2017-02-02 16:58:05 +01:00
Bobby Smiles
a443a8605b Move all device related files inside device directory. 2017-02-02 16:58:05 +01:00
Bobby Smiles
85e0773ba6 Use ASFLAGS to simplify include dirs 2016-12-31 15:28:23 +01:00
Bobby Smiles
19cc50b6e7 Simplify awk patterns. 2016-12-28 14:43:11 +01:00
Bobby Smiles
e3d4f353b8 Try to avoid declaration of zero sized arrays...
...which are invalid in C. (but GCC allows them as an extension).
2016-12-28 14:38:00 +01:00
Bobby Smiles
96b51bb65a Don't hardcode objdump and awk in Makefile. 2016-12-28 14:14:37 +01:00
Bobby Smiles
c777d8713a Remove left-over from previous experiment. 2016-12-26 15:43:55 +01:00
Bobby Smiles
c2b1ea7910 WIP try to find a cross plateform way of generating asm defines.
I changed the way to export offsets values to make them portable to
msvc. In theory, it could work as it doesn't rely on inline assembly
anymore. The MSVC project file has been updated with something that
could more or less give the desired output, BUT I CANNOT TEST IT.
2016-12-26 15:30:00 +01:00
Bobby Smiles
c0c971275b Fix dependency specification of linkage_arm.S on asm_defines_gas.h 2016-12-09 08:42:48 +01:00
Bobby Smiles
ba554ea278 Generate asm_defines compatible with gas. Use it in linkage_arm.S 2016-12-09 07:54:13 +01:00
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
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
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
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
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
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