Commit Graph

45 Commits

Author SHA1 Message Date
gblues 7954dab835 Progress on I/O handling
== DETAILS

Starting to implement the I/O handling on the HID driver.

The old implementation basically had a never-ending HIDRead() callback
set up, so that callback N would start the read process for invocation
N+1.

We will take the same approach here; but now that the I/O thread is
happenning on its own core, we should be able to let it run full-
throttle without impacting emulator performance.

Of course, this hinges on the callback actually running on the same
core as the syscall was initiated on.

== TESTING
Can confirm that the read_loop_callback gets invoked on the same core
that the HIDRead() was invoked on.
2017-12-30 04:41:25 +01:00
gblues d0368124e6 Add OSFastMutex WiiU calls to list of imports 2017-12-30 04:40:10 +01:00
Ash 52fb8276d7
[WiiU] Exception handler: minor comment tweak 2017-12-01 11:03:09 +11:00
Ash 469662345f
[WiiU] Exception handler: remove opcodes; fix strcmp misuse
Thanks for @gblues for finding the strcmp bug.
I've removed the opcode display since it's a bit unsafe - if the
exception handler causes a DSI; Cafe OS will take over and freeze up the
console. This is obviously not a good thing. There are possible
situations where memory is executable and not readable; so this is just
about covering all bases until a better solution can be implemented.
Maybe we can experiment a bit more once this handler isn't being used so
often ;)
2017-12-01 10:56:54 +11:00
Ash a79d3aa8aa
[WiiU] Exception handler: fix coreinit handles, add opcode to DSIs
Coreinit seems to get special handles, so adding a special case should
make its relative addresses actually become helpful again. Let's just
hope __PPCExit stays at 0x180!
Also added the violating opcode to the DSI message; may have to move it
in case it pushes stuff off the end of the screen.

Untested at time of commit. Hopefully this should make debugging #5357 a
bit easier...
2017-12-01 10:54:21 +11:00
Ash b49268a9e9
[WiiU] Redo exception handler format strings
Deals with the infamous devkitPPC "int32_t = long int" thing, and
future-proofs in case they ever change it back.
2017-11-04 20:37:30 +11:00
Ash 6b5aef09a1
[WiiU] DRC touch support as pointer device
Allow using the Gamepad's touch screen as a RETRO_DEVICE_POINTER.
Methodology could use some work, had to add an extra axis to
joypad in order to get the data transferred into the input driver.
Feel free to change this.
Needs to emulate RETRO_DEVICE_LIGHTGUN to really be useful.
Potential for Wiimote IR in future.

Partially addresses libretro/RetroArch#5294
2017-08-19 17:40:56 +10:00
not6 10492c1ee7 Update imports.h
add additional imports  (semaphore)
2017-08-07 23:25:05 +02:00
Ash 40a4a5a733
[WiiU] Rewrite exception handler 2017-08-04 21:30:49 +10:00
Ash 2492f3d6b3 Add missing_libc_functions.c (for DOSBox) 2017-06-15 15:21:38 +10:00
Ash 7f5986e1d5 Rename Wii U log functions (conflict in DOSBox) 2017-06-15 15:20:58 +10:00
aliaspider 5a92ec15cf (WiiU) fix netplay. 2017-05-26 12:32:45 +01:00
aliaspider 934f7c58ba (WiiU) enable networking. 2017-05-23 10:24:23 +01:00
aliaspider b17e76d8b7 (WiiU) add freetype and stb font support.
freetype disabled by default due to requiring an external library.
2017-05-21 04:22:32 +01:00
aliaspider 8dee95651f (WiiU) add a font driver. 2017-05-21 03:05:41 +01:00
Maschell da0f3620bc [Wii U] Adding missing includes and defines 2017-05-08 12:18:28 +02:00
xhp-creations 4915f452f5 WiiU Initial Keyboard Support
WiiU Initial Keyboard Support
2017-02-09 12:34:12 -05: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 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
FIX94 df956efd43 (WiiU) properly set audio offset before starting playback 2016-11-30 02:37:42 +01:00
aliaspider f43c7254ee (WiiU) add a helper macro for DisassemblePPCRange. 2016-11-24 00:34:03 +01:00
FIX94 19ab43ae90 (WiiU) added additional imports 2016-11-23 23:53:22 +01:00
aliaspider 2b4e4d56cd (WiiU) no need to specify library name for IMPORT_END() anymore. 2016-11-23 08:47:02 +01:00
aliaspider eedbea4527 (WiiU) build RPX imports from imports.h. 2016-11-23 00:06:35 +01:00
aliaspider 3acdf3d1cb (WiiU) import only the needed symbols. 2016-11-22 22:48:44 +01:00
FIX94 b3eb8ec3be (WiiU) use some more direct callback for audio updates and added safety into it 2016-11-22 02:39:12 +01:00
FIX94 0c314d0159 (WiiU) more audio driver cleanup 2016-11-22 00:37:22 +01:00
FIX94 b29cdef8ec (WiiU) continuation of the audio driver changes from yesterday 2016-11-21 22:47:29 +01:00
aliaspider 3cc1ddbdd1 (WiiU) simplify memory.c 2016-11-16 18:25:23 +01:00
aliaspider 6f7f6a363b (WiiU) only wait for vsync when not missed. 2016-11-10 14:24:20 +01:00
aliaspider a0383e6b6a (WIIU) keep the dynlib handles. 2016-11-06 18:59:39 +01:00
aliaspider 31edafde03 (WIIU) add timers, fix retro_sleep. 2016-11-06 11:55:56 +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 30d31538b1 (WIIU) add an alternative exception handler (source: https://github.com/
QuarkTheAwesome/URetro)
2016-10-27 23:19:54 +01:00
aliaspider 8bdc40d5f8 (WIIU) exception handler: use net_print directly 2016-10-27 23:03:56 +01:00
aliaspider 2a7f5d8ba3 (WIIU) alternative memory allocation functions (from wut) 2016-10-27 23:03:21 +01:00
aliaspider 844c6ed582 (WIIU) misc. 2016-10-27 19:53:56 +01:00
aliaspider 02c38d23c1 (WIIU) enable the exception handler. 2016-10-27 19:53:27 +01:00
aliaspider 962baabe5d (WIIU) add missing files in dynamic_libs, add exception_handler 2016-10-27 18:58:19 +01:00
aliaspider 094b725ad6 (WIIU) disable mem2/frontend driver 2016-10-27 15:49:21 +01:00
aliaspider 185849d5ff (WIIU) add frontend driver, allocate mem2 2016-10-27 15:33:40 +01:00
aliaspider a4d745a471 preliminary port to the wiiu platform 2016-10-27 01:34:10 +01:00