Commit graph

380 commits

Author SHA1 Message Date
Gillou68310
c4c63a1242 new_dynarec: Initial x64 and arm64 support 2019-01-09 16:03:35 +01:00
Gillou68310
c2a444541f new_dynarec: add recompiler debugger 2018-12-14 10:41:14 +01:00
Brigham Henry Keys
0493c9f1c3 Placed -fPIC setting in CPU specific section 2018-09-21 02:45:06 -05:00
Brigham Henry Keys
e7c8f6f71d added support for aarch64 2018-09-19 12:02:33 -05:00
Bobby Smiles
75e5285df6 Expose a minimal C API for OGLFT, so that we don't leak C++ in our codebase
Also:
- remove uneeded #ifdef __cplusplus extern "C" danse.
- replace gluOrtho2D with equivalent glOrtho(near=-1, far = 1) to avoid requiring glu header.
2018-08-28 01:04:22 +02:00
Bobby Smiles
cc48d8311d Move screenshot files to main. 2018-08-27 21:15:43 +02:00
Richard Goedeken
d2183a1636
Merge pull request #583 from bsmiles32/nasm
Update nasm path to use latest stable release 2.13.03
2018-08-26 22:35:03 -07:00
Richard Goedeken
cd7d18dca2
Merge pull request #582 from bsmiles32/subprojects
Move third-party code into subprojects directory.
2018-08-26 22:29:14 -07:00
Bobby Smiles
c1a067d200 Update nasm path to use latest stable release 2.13.03 2018-08-20 23:48:52 +02:00
Bobby Smiles
629d8ed57a Move third-party code into subprojects directory. 2018-08-17 00:26:19 +02:00
Bobby Smiles
a597faad9e Fix Makefile warning quotes. 2018-08-16 22:57:29 +02:00
Richard Goedeken
9f3c611a56
Merge pull request #578 from bugfood/update-readme
Update readme
2018-08-01 08:04:18 -07:00
Corey Hickey
b9f78a6e03 Remove trailing whitespace from Makefile help. 2018-07-31 22:03:32 -07:00
Bobby Smiles
156b78a80f Rework Video Capture backend to allow better isolation.
By adding init and release methods to video capture backend interface
we can completely separate implementation details from usage.
We don't need to include (nor have) implementation header,
and therefore can use true C++ for opencv implementation
(no need for in-place ctor, explicit call to dtor, ...).

Also, backend selection is done by name and multiple instanciation (with
different parameters) can be done by selecting the right config section.

Default video capture backend may be overrided at compile-time by
defining DEFAULT_VIDEO_CAPTURE_BACKEND to appropriate value.

Video input has been renamed to Video Capture.
2018-06-04 00:28:28 +02:00
Richard Goedeken
f47b06e637
Merge pull request #564 from bsmiles32/gbcam
GB Camera support
2018-05-21 22:05:12 -07:00
Bobby Smiles
49ac71a61e Disable OpenCV on Windows by default.
Revert this once win32-deps repo gets updated with OpenCV 3.0.
2018-05-21 23:35:05 +02:00
Bobby Smiles
63c36846a3 Add support for GameBoy Camera
All the reverse-engineering work comes from AntonioND [1].
A new video backend API has been added to grab video images.
By default, a dummy backend is provided.
However, an OpenCV based backend is also provided (if enabled at
compile-time with OPENCV=1 in Makefile).
Other implementation should be possible (GStreamer for instance ?) in
the future.

With the OpenCV backend, the video device selection can be done using
the Core parameter:

[Core]
GbCameraVideoDevice=<my_device>

Where <my_device> can be either an integer which represent the device
number (0 for default) or a string which specify the video device path.

Tested with 64DD Mario Talent Studio (Japan), a transfer pak plugged
in the first controller with a Japanese GameBoy camera. Also since the
core currently requires a cart ROM (even if should strictly be required)
I used Perfect Dark (Japan) to allow using the Transfer Pak. This is a
core/ui limitation not related to this PR.

[1] https://github.com/AntonioND/gbcam-rev-engineer
2018-05-21 23:32:30 +02:00
Bobby Smiles
88cc037aac Initial bio pak support.
For now, the bio pak only report hard-coded BPM value.

In future work remote heart rate monitoring methods (rPPG) could be
implemented to provide an experience similar to the Bio Sensor pak using
a regular webcam. However it could be quite CPU intensive and may prove
challenging in multi-player context.

Another idea to create an "equivalent" Bio Sensor experience without the
original device, could be to derive the reported heart rate from the
BPM (or any relevant quantity) from a user specified audio clip.
2018-05-17 19:10:28 +02:00
luigiblood
740406ff15 Add support for 64 Disk Drive.
Original porting effort has been done by LuigiBlood.
Original reverse engineering made by Happy-yppaH
2018-04-04 21:50:25 +02:00
Bobby Smiles
30edead268 Fix: forgot to update MSVC files. 2018-03-24 13:30:31 +01:00
Bobby Smiles
82a9e947d3 Only compile recomp.c when hacktarux dynarec is compiled.
Also get rid of empty_dynarec.c
2018-03-24 13:30:31 +01:00
Bobby Smiles
9852ba6a73 Isolate instruction decoding logic. 2018-03-24 13:30:30 +01:00
Bobby Smiles
57de368627 Don't require empty_dynarec for new_dynarec. 2018-03-24 13:30:30 +01:00
Richard Goedeken
b75f06500b disable compiler optimizations when DEBUG is set, so that the debugger is actually useful 2018-03-12 21:51:30 -07:00
Logan
84ad8c1092 Fix compile on MinGW
Pipe strings output to tr
2018-02-09 08:25:38 -07:00
Richard Goedeken
132e397b18 fix libopcodes check for gentoo 2018-02-07 22:01:29 -08:00
Bobby Smiles
0bfe65b550 Fix undefined reference to print_insn_i386 with libopcode >= 2.29
This broke with upstream commit 6394c606997f88acfc80de4dff33a4ae2de987b4
"Don't use print_insn_XXX in GDB".
2018-02-02 00:13:16 +01:00
Bobby Smiles
67fc6e646a Forgot to rmeove dbg_types from Visual Studio files. 2018-01-15 20:33:34 +01:00
Bobby Smiles
908a2736f4 Move exception code into cp0 module. 2018-01-09 01:06:49 +01:00
Richard Goedeken
3004e80ae2
Merge pull request #494 from StenApp/patch-2
Update Makefile
2018-01-05 18:41:04 -08:00
Anthony J. Bentley
934a72cbcb Update homepage. 2017-12-28 16:51:59 -07:00
Anthony J. Bentley
e7ffde15fa Update link to bug tracker. 2017-12-28 16:03:57 -07:00
Bobby Smiles
28f7c868c1 Implement enough of RDRAM subsystem to remove rdram detection hack.
Previously, the RDRAM detection/initialization was wrong and a post
RDRAM initialization hack was triggered (just before initial PI DMA)
to force specified amount of RDRAM to be recognized.

With this PR, several aspects of the RDRAM have been implemented which
results in proper detection of RDRAM by the IPL3:
- support for up to 8 (IPL3 hardcoded limitation) RDRAM modules
- partial support for individual rdram address mapping,
ADDR_SELECT has not been implemented though
- support broadcast register writes
- simulating read failure when current calibration is not done yet
2017-12-14 00:19:24 +01:00
Bobby Smiles
a373e5a347 Forgot to add m6428fp files to msvc project. 2017-12-03 21:24:16 +01:00
Sten
b8bef349d1
Update Makefile
fix2
2017-12-03 17:17:37 +01:00
Bobby Smiles
5da92c1d10 Implement preliminary gb camera. 2017-12-03 12:35:31 +01:00
Sten
abdee5522f
Update Makefile
fix
2017-12-03 11:27:44 +01:00
Sten
a28eebe00b
Update Makefile
First try to get it fixed for macOS
2017-12-02 21:40:17 +01:00
Richard Goedeken
6b53176d6f
Merge pull request #490 from bsmiles32/warnings
Warnings
2017-11-30 20:06:27 -08:00
Logan
8439b2aaf8
If DEBUG not set, set NDEBUG 2017-11-30 10:46:53 -07:00
Gillou68310
d4765f6f31 Update VS2013 filters file 2017-11-28 10:52:52 +01:00
Bobby Smiles
f6bb6662b5 Use osal_inline and remove -Wno-unused-function form the cflags. 2017-11-28 03:17:25 +01:00
Bobby Smiles
7cb1f03e6e Compile screenshot.c as a C file not CPP. 2017-11-28 03:11:55 +01:00
Bobby Smiles
c038761614 Avoid compilation of empty translation unit (profile). 2017-11-28 03:10:47 +01:00
Bobby Smiles
3e45897c11 Avoid compilation of empty translation unit (instr_counters).
Fixes pedantic warning.
2017-11-28 03:07:16 +01:00
Bobby Smiles
366dd5d03f Extract RDRAM module. 2017-11-20 19:14:00 +01:00
Bobby Smiles
2ff020d1f1 Regroup all rcp submodules inside rcp module. 2017-11-18 17:13:35 +01:00
Bobby Smiles
d8876f91c3 Extract pif module from si module. 2017-11-18 17:13:35 +01:00
Bobby Smiles
e1c1f82cf4 Extract mi from r4300. 2017-11-18 17:13:35 +01:00
Richard Goedeken
2b31626d9f update Makefile method for finding OSX_SDK_PATH 2017-11-14 16:12:28 -08:00