Skip to content

Commit 975dc66

Browse files
committed
(WiiU) Switch from libiosuhax to libmocha, enable libfat
Users need to be running an updated Tiramisu or Aroma, otherwise we'll fall back to the standard wut devoptab. Since Aroma ships with plugins that keep the SD card mounted all the time, we have some restrictions: - On Tiramisu, use libfat for the USB and SD card - On Aroma, use libfat for the USB only - stock devoptab for SD card This makes loading on aroma preeeettty slow.
1 parent 17324de commit 975dc66

21 files changed

Lines changed: 117 additions & 2723 deletions

File tree

Makefile.common

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2381,12 +2381,37 @@ ifeq ($(HAVE_STATIC_VIDEO_FILTERS), 1)
23812381
gfx/video_filters/upscale_mix_240x160_320x240.o
23822382
endif
23832383

2384-
ifeq ($(WANT_IOSUHAX), 1)
2385-
DEFINES += -DHAVE_IOSUHAX
2386-
INCLUDE_DIRS += -I$(DEPS_DIR)/libiosuhax/include
2387-
OBJ += $(DEPS_DIR)/libiosuhax/source/iosuhax.o \
2388-
$(DEPS_DIR)/libiosuhax/source/iosuhax_devoptab.o \
2389-
$(DEPS_DIR)/libiosuhax/source/iosuhax_disc_interface.o
2384+
ifeq ($(WANT_LIBMOCHA), 1)
2385+
DEFINES += -DHAVE_LIBMOCHA
2386+
INCLUDE_DIRS += -I$(DEPS_DIR)/libmocha/include
2387+
OBJ += $(DEPS_DIR)/libmocha/source/disc_interface.o \
2388+
$(DEPS_DIR)/libmocha/source/fsa.o \
2389+
$(DEPS_DIR)/libmocha/source/utils.o \
2390+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_chdir.o \
2391+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_chmod.o \
2392+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_close.o \
2393+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa.o \
2394+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_dirclose.o \
2395+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_dirnext.o \
2396+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_diropen.o \
2397+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_dirreset.o \
2398+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_fchmod.o \
2399+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_fstat.o \
2400+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_fsync.o \
2401+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_link.o \
2402+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_mkdir.o \
2403+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_open.o \
2404+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_read.o \
2405+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_rename.o \
2406+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_rmdir.o \
2407+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_seek.o \
2408+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_stat.o \
2409+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_statvfs.o \
2410+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_truncate.o \
2411+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_unlink.o \
2412+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_utils.o \
2413+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_utimes.o \
2414+
$(DEPS_DIR)/libmocha/source/devoptab/devoptab_fsa_write.o
23902415
endif
23912416

23922417
ifeq ($(WANT_LIBFAT), 1)

Makefile.wiiu

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ endif
100100

101101
INCDIRS += -Ilibretro-common/include/compat/zlib
102102
# for stb, libfat, iosuhax
103-
INCDIRS += -Ideps -Ideps/libfat/include -Ideps/libiosuhax/include
103+
INCDIRS += -Ideps
104104
# pad_functions uses wiiu/input.h
105105
INCDIRS += -Iinput/include
106106
INCDIRS += -Ideps/SPIRV-Cross
@@ -116,7 +116,6 @@ endif
116116
#DEFINES += -DHAVE_FREETYPE
117117
DEFINES += -DHAVE_XMB -DHAVE_MATERIALUI
118118
DEFINES += -DHAVE_HID
119-
DEFINES += -DWANT_LIBFAT -DHAVE_LIBFAT -DWANT_IOSUHAX -DHAVE_IOSUHAX
120119
DEFINES += -DHAVE_CORE_INFO_CACHE
121120
DEFINES += -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS
122121

@@ -161,7 +160,7 @@ endif
161160
HAVE_STATIC_VIDEO_FILTERS = 1
162161
HAVE_STATIC_AUDIO_FILTERS = 1
163162
WANT_LIBFAT = 1
164-
WANT_IOSUHAX = 1
163+
WANT_LIBMOCHA = 1
165164
HAVE_CORE_INFO_CACHE = 1
166165

167166
include Makefile.common

deps/libfat/common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
/* Platform specific includes */
4444
#if defined (__wiiu__)
45-
#include <iosuhax_disc_interface.h>
45+
#include <mocha/disc_interface.h>
4646
typedef uint8_t u8;
4747
typedef uint16_t u16;
4848
typedef int32_t s32;

deps/libfat/disc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,16 @@ The list is terminated by a NULL/NULL entry.
4040

4141
/* ====================== Wii U ====================== */
4242
#if defined (__wiiu__)
43-
#include <iosuhax_disc_interface.h>
43+
#include <mocha/disc_interface.h>
4444

4545
static const DISC_INTERFACE* get_io_wiiu_sd (void)
4646
{
47-
return &IOSUHAX_sdio_disc_interface;
47+
return &Mocha_sdio_disc_interface;
4848
}
4949

5050
static const DISC_INTERFACE* get_io_wiiu_usb (void)
5151
{
52-
return &IOSUHAX_usb_disc_interface;
52+
return &Mocha_usb_disc_interface;
5353
}
5454

5555
const INTERFACE_ID _FAT_disc_interfaces[] = {

deps/libfat/include/fat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ extern "C" {
4848
#include <stdint.h>
4949

5050
#if defined (__wiiu__)
51-
# include <iosuhax_disc_interface.h>
51+
# include <mocha/disc_interface.h>
5252
#elif defined(__gamecube__) || defined (__wii__)
5353
# include <ogc/disc_io.h>
5454
#else

deps/libfat/mem_allocate.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
malloc is unavailable
66
77
Copyright (c) 2006 Michael "Chishm" Chisholm
8-
8+
99
Redistribution and use in source and binary forms, with or without modification,
1010
are permitted provided that the following conditions are met:
1111
@@ -42,6 +42,8 @@ static inline void* _FAT_mem_align (size_t size)
4242
{
4343
#ifdef __wii__
4444
return memalign (32, size);
45+
#elif defined(__wiiu__)
46+
return memalign (64, size);
4547
#else
4648
return malloc (size);
4749
#endif

deps/libiosuhax/.github/workflows/push_image.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

deps/libiosuhax/.gitignore

Lines changed: 0 additions & 5 deletions
This file was deleted.

deps/libiosuhax/.travis.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

deps/libiosuhax/Dockerfile

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)