WIP Wii U port, not working

This commit is contained in:
Maschell 2017-09-09 12:24:36 +02:00
parent f5925b0a69
commit 844e936067
8 changed files with 92 additions and 17 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
source/wiiu_release/*
source/wii_release/*
source/cube_release/*
lib/*

View File

@ -1,11 +1,11 @@
default: cube-release wii-release default: cube-release wii-release wiiu-release
all: debug release all: debug release
debug: cube-debug wii-debug debug: cube-debug wii-debug wiiu-debug
release: cube-release wii-release release: cube-release wii-release wiiu-release
cube-debug: cube-debug:
$(MAKE) -C source PLATFORM=cube BUILD=cube_debug $(MAKE) -C source PLATFORM=cube BUILD=cube_debug
@ -13,12 +13,18 @@ cube-debug:
wii-debug: wii-debug:
$(MAKE) -C source PLATFORM=wii BUILD=wii_debug $(MAKE) -C source PLATFORM=wii BUILD=wii_debug
wiiu-debug:
$(MAKE) -C source PLATFORM=wiiu BUILD=wiiu_debug
cube-release: cube-release:
$(MAKE) -C source PLATFORM=cube BUILD=cube_release $(MAKE) -C source PLATFORM=cube BUILD=cube_release
wii-release: wii-release:
$(MAKE) -C source PLATFORM=wii BUILD=wii_release $(MAKE) -C source PLATFORM=wii BUILD=wii_release
wiiu-release:
$(MAKE) -C source PLATFORM=wiiu BUILD=wiiu_release
clean: clean:
$(MAKE) -C source clean $(MAKE) -C source clean
@ -28,7 +34,10 @@ cube-install: cube-release
wii-install: wii-release wii-install: wii-release
$(MAKE) -C source wii-install PLATFORM=wii $(MAKE) -C source wii-install PLATFORM=wii
install: wii-install wiiu-install: wiiu-release
$(MAKE) -C source wiiu-install PLATFORM=wiiu
install: wiiu-install
run: install run: install
$(MAKE) -C example $(MAKE) -C example

View File

@ -27,9 +27,18 @@
extern "C" { extern "C" {
#endif #endif
#include <gctypes.h> #if defined(__gamecube__) || defined (__wii__)
#include <gccore.h> #include <gctypes.h>
#include <ogc/disc_io.h> #include <ogc/disc_io.h>
#include <gccore.h>
#elif defined (__wiiu__)
#include <iosuhax_disc_interface.h>
typedef uint8_t u8;
typedef uint16_t u16;
typedef int32_t s32;
typedef uint32_t u32;
typedef int mutex_t;
#endif
/* NTFS errno values */ /* NTFS errno values */
#define ENOPART 3000 /* No partition was found */ #define ENOPART 3000 /* No partition was found */

View File

@ -7,6 +7,10 @@ ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC") $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif endif
ifeq ($(PLATFORM),wiiu)
include $(DEVKITPPC)/wii_rules
endif
ifeq ($(PLATFORM),wii) ifeq ($(PLATFORM),wii)
include $(DEVKITPPC)/wii_rules include $(DEVKITPPC)/wii_rules
endif endif
@ -20,7 +24,7 @@ endif
# SOURCES is a list of directories containing source code # SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files # INCLUDES is a list of directories containing extra header files
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
BUILD ?= wii_release BUILD ?= wiiu_release
SOURCES := . SOURCES := .
INCLUDES := ../include INCLUDES := ../include
LIBDIR := ../lib LIBDIR := ../lib
@ -37,11 +41,17 @@ ifeq ($(BUILD),cube_debug)
CFLAGS += -DDEBUG CFLAGS += -DDEBUG
CXXFLAGS += -DDEBUG CXXFLAGS += -DDEBUG
endif endif
ifeq ($(BUILD),wii_debug) ifeq ($(BUILD),wii_debug)
CFLAGS += -DDEBUG CFLAGS += -DDEBUG
CXXFLAGS += -DDEBUG CXXFLAGS += -DDEBUG
endif endif
ifeq ($(BUILD),wiiu_debug)
CFLAGS += -DDEBUG
CXXFLAGS += -DDEBUG
endif
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project # any extra libraries we wish to link with the project
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@ -93,7 +103,7 @@ $(BUILD):
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
@echo clean ... @echo clean ...
@rm -fr wii_debug wii_release cube_debug cube_release $(LIBDIR) @rm -fr wii_debug wii_release wiiu_release cube_debug cube_release $(LIBDIR)
all: $(NTFSBIN) all: $(NTFSBIN)
@ -105,6 +115,10 @@ wii-install:
cp ../include/ntfs.h $(PORTLIBS)/include cp ../include/ntfs.h $(PORTLIBS)/include
cp ../lib/wii/libntfs.a $(PORTLIBS)/lib cp ../lib/wii/libntfs.a $(PORTLIBS)/lib
wiiu-install:
cp ../include/ntfs.h $(PORTLIBS)/include
cp ../lib/wiiu/libntfs.a $(PORTLIBS)/lib
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
else else

View File

@ -42,9 +42,19 @@
#include <stddef.h> #include <stddef.h>
#include <stdint.h> #include <stdint.h>
#include <gctypes.h>
#include <ogc/disc_io.h> #if defined (__wiiu__)
#include <gccore.h> #include <iosuhax_disc_interface.h>
typedef uint8_t u8;
typedef uint16_t u16;
typedef int32_t s32;
typedef uint32_t u32;
typedef int mutex_t;
#elif defined(__gamecube__) || defined (__wii__)
#include <gctypes.h>
#include <ogc/disc_io.h>
#include <gccore.h>
#endif
typedef struct { typedef struct {
sec_t sector; sec_t sector;
@ -54,7 +64,7 @@ typedef struct {
u8* cache; u8* cache;
} NTFS_CACHE_ENTRY; } NTFS_CACHE_ENTRY;
typedef struct { typedef struct NTFS_CACHE_{
const DISC_INTERFACE* disc; const DISC_INTERFACE* disc;
sec_t endOfPartition; sec_t endOfPartition;
unsigned int numberOfPages; unsigned int numberOfPages;

View File

@ -27,8 +27,18 @@
#include "types.h" #include "types.h"
#include "cache2.h" #include "cache2.h"
#include <gccore.h>
#include <ogc/disc_io.h> #if defined (__wiiu__)
#include <iosuhax_disc_interface.h>
typedef uint8_t u8;
typedef uint16_t u16;
typedef int32_t s32;
typedef uint32_t u32;
typedef int mutex_t;
#elif defined(__gamecube__) || defined (__wii__)
#include <ogc/disc_io.h>
#include <gccore.h>
#endif
#define MAX_SECTOR_SIZE 4096 #define MAX_SECTOR_SIZE 4096

View File

@ -51,6 +51,15 @@ const INTERFACE_ID ntfs_disc_interfaces[] = {
{ NULL, NULL } { NULL, NULL }
}; };
#elif defined (__wiiu__)
#include <iosuhax_disc_interface.h>
const INTERFACE_ID ntfs_disc_interfaces[] = {
{"sd", get_io_wiiu_sd},
{"usb", get_io_wiiu_usb},
{NULL, NULL}
};
#elif defined(__gamecube__) #elif defined(__gamecube__)
#include <sdcard/gcsd.h> #include <sdcard/gcsd.h>

View File

@ -40,8 +40,18 @@
#include "efs.h" #include "efs.h"
#include "unistr.h" #include "unistr.h"
#include <gccore.h> #if defined (__wiiu__)
#include <ogc/disc_io.h> #include <iosuhax_disc_interface.h>
typedef uint8_t u8;
typedef uint16_t u16;
typedef int32_t s32;
typedef uint32_t u32;
typedef int mutex_t;
#elif defined(__gamecube__) || defined (__wii__)
#include <ogc/disc_io.h>
#include <gccore.h>
#endif
#include <sys/iosupport.h> #include <sys/iosupport.h>
#define NTFS_MOUNT_PREFIX "ntfs" /* Device name prefix to use when auto-mounting */ #define NTFS_MOUNT_PREFIX "ntfs" /* Device name prefix to use when auto-mounting */