14 Commits

Author SHA1 Message Date
libretroadmin
a93a2186c0 (WiiU) Cleanups in aux code 2022-11-22 06:08:17 +01:00
libretroadmin
8db6197e4b (Wiiu) Cleanup of aux files 2022-11-22 05:49:46 +01:00
twinaphex
ad30ffa085 Cleanups 2020-07-23 18:11:20 +02:00
twinaphex
33cf0e160c Style nits 2020-05-07 20:13:02 +02:00
Roet-Ivar
ad34f4845b Added access to WiiU-formated storage to be browsed by RetroArch 2020-05-07 12:49:04 +02:00
Tadek Kijkowski
c1504555ac Fixed WiiU compilation randomly failing
- Fixed elf2rpl referencing deleted symbols in relocations
- Added some diagnostics to elf2rpl (activated with -v switch)
2019-09-21 21:31:34 +02:00
Ash Logan
f6e4361fc9 wiiu: Make libfat/libiosuhax optional 2019-05-29 18:21:56 +10:00
gblues
9ea16c0b3d Updates from PR feedback (ty @aliaspider) 2018-06-07 21:16:49 -07:00
gblues
8b87a53366 Replace hokey "hooks" struct with weak symbol annotations
- Did a test build to ensure RA built
- Copied over to my FTPservU sources and ensured no compile issues there

Looks solid. A lot cleaner, too.

@aliaspider
2018-06-07 18:41:16 -07:00
gblues
f22c337cfc WIIU: cleanup and build-out of wiiu bootstrap code
I used the code in `wiiu/` to bootstrap my own WiiU homebrew app; this
PR reflects some changes I needed to make, that might be useful upstream.

1. Clean up filesystem initialization

Filesystem driver initialization was lumped in with filesystem mounting;
and that was a problem in my project, because I needed to be able to remount
the SD card on the fly. So, now it's split up.

I've added a callback object named "hooks" that can be used by consuming
applications to handle filesystem mounting and unmounting. If these hooks are
not provided, then the existing default behavior occurs.

2. Expand socket handling

- add `SO_NONBLOCK` flag for non-blocking socket I/O
- add normal errno defines like `EWOULDBLOCK` `EAGAIN`.

3. Remove RetroArch dependencies

- the exception handler protects usage of version_git with
  `#ifdef HAVE_GIT_VERSION` but not the include, so I added that.

  It also technically depends on version.h, but I'm not touching that.
  It's easy enough to implement and I needed the same functionality. I'm
  not sure what the best solution for that dependency is.

- missing_libc_functions.c included features/features_cpu.h which is
  a libretro include. This appears to be a stale include though, because
  everything compiles and works without it.

- an ifdef referencing the RA "WIIU" define, rather than the devkitpro
  "__wiiu__" define
2018-06-05 00:06:40 -07:00
gblues
84e9c93c35 quotes for some, braces for others 2018-05-02 22:37:34 -07:00
gblues
27bfcf3c77 Replace angle includes with quote includes
=== DETAILS

Replaced includes for things that aren't standard library headers so
they use quotes instead of brackets.

Also fixed up a couple of headers that had include-order dependencies.
2018-05-02 21:31:00 -07:00
gblues
7448fd3157 More code re-organization
=== DETAILS
Since @aliaspider wants the `wiiu/` to be something of a mini-SDK, I've
reorganized the code I put in there:

- `wiiu/main.c` now only has the ELF/RPX entrypoints, and the code used
  by those entrypoints, with RA code removed (e.g. swapped retro_sleep()
  for usleep()). These entrypoints then call main() ...
- Moved `main()` and its support functions back into `frontend/drivers/platform_wiiu.c`
  I also renamed some of the support functions I wrote, and better
  organized them within the code.
- Moved `wiiu/input/` into the `input/` hierarchy:

  * The joypad drivers now live in `input/drivers_joypad/wiiu/`
  * The HID driver now lives in `input/drivers_hid/`
  * The Wii U specific headers now live in `input/include/wiiu`
  * I added `input/include` into the include search path to avoid
    using really ugly relative includes
2018-05-01 23:23:40 -07:00
gblues
04cefd27d1 Cleanup of Wii U launcher code
== DETAILS

The Wii U main entrypoints were embedded in the frontend driver,
which isn't a great place for them. Also, the `main()` method was
pretty long and monolithic. Now it's (much) less so.

Changes:

- Refactor out the main entrypoints into their own source files
  (`wiiu/main.c` and `wiiu/main.h`)
- Optimize includes in both files, so only the minimum needed to
  compile are included.
- The `main()` method is a lot easier to understand now. It's no longer
a confusing mess of ifdefs.
- There's a small amount of changes in the headers for future work, which
  is switching kpad_driver to be callback-driven. The only change here is
  to import the function that will be used, and define some data types.

Testing:
- Did local builds and confirmed build is successful
- Successfully loaded a core and switched among a few games
2018-04-30 21:56:06 -07:00