55 Commits

Author SHA1 Message Date
Brad Parker
f087b150c9 Add quick menu option to watch shader files for changes and recompile automatically (Linux only for now) 2018-01-25 15:50:57 -05:00
gblues
5894d0ef86 Remove all HID code from WiiU build via ifdef
== DETAILS
We're trying to track down the source of crashes when switching cores.
To rule out the HID code, this commit does the following:

- Wraps the library imports in an ifdef
- Wraps the object files in conditionals in Makefile.wiiu
- In wiiu_joypad, calls into the hidpad driver are wrapped in ifdef

== TESTING
This didn't solve the "System memory error" crash I've been experiencing.
But, maybe it will impact the other flavors of crashes others are seeing.
2018-01-07 20:26:24 -08:00
aliaspider
e63697dca7 (WIIU) fix net logger. 2018-01-04 17:21:16 +01:00
gblues
192f5875b9 Simplify, add logging, revert some of the changes
== DETAILS
The old code was crashing; I did a minimalized branch and the crash
went away, so I'm bringing that over here. Meaning I'll have to
redo some of the other work I'd put in, but oh well.

(now watch it start crashing again)

== TESTING
Can confirm it builds. Wii U is busy ATM so I can't test.
2017-12-30 04:40:23 +01:00
gblues
1beba28d02 Only call HIDSetup/HidTeardown once
== DETAILS
I did a minimalist edit of the HID thread that stripped out all
HID* syscalls, and this stopped the crashing. I then re-added just
the HIDSetup() and HIDTeardown() calls, and the crash came back.

This smells like an OS bug. To work around it, I've put the
HIDSetup() and HIDTeardown() calls into the app init/shutdown
section, so they only get called once in the application lifetime
and not each time the input driver is initialized.
2017-12-30 04:40:15 +01:00
Nathan Strong
e80d99dbae Delete controller_patcher; start on proper HID driver
== DETAILS

We discovered that the controller_patcher code was causing
the WiiU to intermittently crash when switching ROMs.

Changes:

- Completely extricates the controller_patcher code
- Create a skeleton wiiu_hid driver
- Wire up the build system to build/link it successfully

== TESTING

Has not been tested. Probably doesn't crash, since the
skeleton driver is just a copy of the null driver.
2017-12-30 04:38:57 +01:00
twinaphex
3f281bb31f Cleanups 2017-12-25 07:49:07 +01:00
Ash
e9a3088a79
[WiiU] Toolchain: Actually fix C++ constructors/destructors (oops!)
Looks like I temporarily forgot how external symbols work. Fixes
https://gbatemp.net/posts/7720955; hopefully we finally have C++ under
control.
2017-12-03 11:31:30 +11:00
Ash
bf3e256a43
[WiiU] Input: Make controller_patcher a compile-time option
As discussed in libretro#5357; controller_patcher is now optional. It's
off by default; though this could be changed with a simple makefile
tweak (ENABLE_CONTROLLER_PATCHER ?= 1, perhaps?)

To re-enable controller_patcher; append ENABLE_CONTROLLER_PATCHER=1 to
your usual make command.

controller_patcher was the only user of c++ constructors in the Wii U
port, so you'll need 26a006c in your tree otherwise you will have a
blackscreen on startup.
2017-12-01 18:29:21 +11:00
Ash
26a006cfac
[WiiU] Toolchain: Fix C++ constructor/destructor handling
The old setup relied on there being at least one constructor *or* the
value of *__CTOR_LIST__ being NULL. Neither of these are guaranteed; and
having no C++ constructors actually resulted in a random value being
read (which passed the NULL check!). This new setup uses the
__CTOR_END__ symbol; which is a pointer to just after the end of the
list. When there are no constructors, it has the same value as
__CTOR_LIST__; so the while loop is never entered.

This fix also allows us to re-enable destructors; in case they're ever
needed.
2017-12-01 18:18:02 +11:00
Ash
0d38612f4a
[WiiU] Various warning/format string fixes
All things from unsigned comparisons to missing initializers; we got it
here.
2017-11-04 20:37:30 +11:00
Ash
40a4a5a733
[WiiU] Rewrite exception handler 2017-08-04 21:30:49 +10:00
twinaphex
b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
Ash
7f5986e1d5 Rename Wii U log functions (conflict in DOSBox) 2017-06-15 15:20:58 +10:00
twinaphex
9f2c15c17c (Frontend) Change MENU_SETTING_ACTION to FILE_TYPE_DIRECTORY 2017-05-26 16:45:28 +02:00
twinaphex
e2a6a7ad17 Add 'load_content' parameter to parse_drive_list 2017-05-26 15:52:38 +02:00
twinaphex
1421d1da30 Use path_mkdir 2017-05-23 20:45:14 +02:00
twinaphex
7b1b137866 Buildfixes 2017-05-23 20:39:56 +02:00
twinaphex
ccba9635b6 Update the way default directories are handled 2017-05-23 19:43:58 +02:00
aliaspider
78e5b63b41 (WiiU) salamander fix. 2017-05-23 12:24:37 +01:00
aliaspider
934f7c58ba (WiiU) enable networking. 2017-05-23 10:24:23 +01:00
aliaspider
801cc57e82 (WiiU) improve task scheduling. 2017-05-22 11:19:26 +01:00
aliaspider
ce61db1473 (WiiU) fix salamander build. 2017-05-20 21:34:50 +01:00
Maschell
7a2c09e9ce [Wii U ] Proper order of the HID devices.
Added individual names for the HID devices.
2017-05-20 19:26:12 +02:00
Maschell
2ac91822c3 Merge remote-tracking branch 'refs/remotes/libretro/master' into wiiu_controller_patcher 2017-05-20 13:14:13 +02:00
twinaphex
80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex
42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
Maschell
4393e17ea7 [Wii U] Using the HID Controller as a own controller. Currently the stick only work when it's bind manually. Mapping from controller to retroarch input port may change when you attach a new device. 2017-05-08 21:46:34 +02:00
Maschell
e695d4e8ad [WiiU] Initial controller patcher support (HID via USB and network)
- Reading config from sd cards currently broken
- Not implemeted as a driver, currently all devices will be mapped to the WiiU Gamepad driver
2017-05-08 12:24:06 +02:00
aliaspider
292d4dd3da (WiiU) fix a crash when using libfat with dkp r29. 2017-01-25 23:32:06 +01:00
aliaspider
8f88d8fb4d (WiiU) implement the missing requirement for core loading: exec,
exitspawn, set_fork and salamander.
2017-01-25 19:52:31 +01:00
aliaspider
021b510452 (WiiU) refactors/cleanups. 2017-01-23 16:14:05 +01:00
aliaspider
1601febabc (WiiU) buildfix for devkitPPC r29.
- add wut headers and elf2rpl to source tree.
2017-01-23 16:01:53 +01:00
twinaphex
96c8ca5a09 Header update #1 2017-01-22 13:40:32 +01:00
twinaphex
2849e2aa79 Get rid of some more configuration.h includes 2017-01-17 15:46:36 +01:00
aliaspider
8cb692622a (WiiU) add support for bluetooth controllers (Wiimote, nunchuk, classic
controller, wiiu pro controller).
2017-01-16 18:52:39 +01:00
FIX94
c0b023a1cf (WiiU) added basic libiosuhax support 2016-12-17 18:42:04 +01:00
twinaphex
ba08a88643 (platform) Updates 2016-12-13 01:43:18 +01:00
aliaspider
ea248559e0 (WiiU) rpx update:
- c++ static constructors/destructors fix for rpx builds.
- building both rpx and hbl elf formats doesn't require a clean step
inbetween anymore, both can be now built in a single make call.
2016-11-23 03:21:01 +01:00
aliaspider
4089f9ec63 (WiiU) use the already defined __init and __fini symbols. 2016-11-16 17:43:04 +01:00
aliaspider
286a1887a9 (WiiU) change linker script, add calls to _init() and _fini().
fixes cores relying on C++ static constructors/destructors. (only for
elf builds)
2016-11-15 19:37:30 +01:00
aliaspider
f51f17ce22 (WiiU) flush all tasks each loop. fixes savestates. 2016-11-13 16:46:24 +01:00
aliaspider
dbd8a87ebb (WiiU) can compile as rpx. (doesn't exit properly) 2016-11-09 14:26:38 +01:00
aliaspider
b8330e2a73 (WIIU) configure logger ip in makefile. 2016-11-08 09:25:20 +01:00
twinaphex
a41dd0e4f1 Add stub _times_r 2016-11-07 21:05:07 +01:00
FIX94
88e674cf3d (WiiU) disabled log init and properly init the audio buffer with 0 on audio init 2016-11-07 00:53:52 +01:00
aliaspider
31edafde03 (WIIU) add timers, fix retro_sleep. 2016-11-06 11:55:56 +01:00
twinaphex
33e099d2a3 (WiiU) Buildfix 2016-11-05 19:05:13 +01:00
aliaspider
d3b3c18a6f (WIIU) GX2 rendering. 2016-11-05 15:05:46 +01:00
aliaspider
176dd79f33 (WIIU) misc. 2016-11-02 22:06:15 +01:00