Commit Graph

103 Commits

Author SHA1 Message Date
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
aliaspider e055b7cbc1 (WIIU) cleanup. adapt dynamic symbol loading to be able to use headers
from WUT.
2016-10-29 02:56:40 +01:00
aliaspider efb8628994 (WIIU) switch exception handler. 2016-10-27 23:20:28 +01:00
aliaspider afdaf9afbd (WIIU) display core frames. 2016-10-27 23:02:40 +01:00
aliaspider 02c38d23c1 (WIIU) enable the exception handler. 2016-10-27 19:53:27 +01:00
aliaspider a4d745a471 preliminary port to the wiiu platform 2016-10-27 01:34:10 +01:00