From 26f884578e06f6717067bcf868b8bd80b0970480 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Tue, 19 Apr 2022 11:39:21 +0100 Subject: [PATCH] Fixes for compiling with modern DevKitPPC versions --- include/wiidrc/wiidrc.h | 67 ++++++++++++++++++++++++++++++++++++++ lib/libwiidrc.a | Bin 0 -> 14232 bytes source/libpng/pngu/pngu.c | 2 +- source/sys.c | 4 +-- source/sys.h | 2 +- source/title.c | 2 +- 6 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 include/wiidrc/wiidrc.h create mode 100644 lib/libwiidrc.a diff --git a/include/wiidrc/wiidrc.h b/include/wiidrc/wiidrc.h new file mode 100644 index 0000000..32657f0 --- /dev/null +++ b/include/wiidrc/wiidrc.h @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2017 FIX94 + * + * This software may be modified and distributed under the terms + * of the MIT license. See the LICENSE file for details. + */ +#ifndef _WIIDRC_H_ +#define _WIIDRC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +struct WiiDRCData { + s16 xAxisL; + s16 xAxisR; + s16 yAxisL; + s16 yAxisR; + u16 button; + u8 battery; + u8 extra; +}; + +#define WIIDRC_BUTTON_A 0x8000 +#define WIIDRC_BUTTON_B 0x4000 +#define WIIDRC_BUTTON_X 0x2000 +#define WIIDRC_BUTTON_Y 0x1000 +#define WIIDRC_BUTTON_LEFT 0x0800 +#define WIIDRC_BUTTON_RIGHT 0x0400 +#define WIIDRC_BUTTON_UP 0x0200 +#define WIIDRC_BUTTON_DOWN 0x0100 +#define WIIDRC_BUTTON_ZL 0x0080 +#define WIIDRC_BUTTON_ZR 0x0040 +#define WIIDRC_BUTTON_L 0x0020 +#define WIIDRC_BUTTON_R 0x0010 +#define WIIDRC_BUTTON_PLUS 0x0008 +#define WIIDRC_BUTTON_MINUS 0x0004 +#define WIIDRC_BUTTON_HOME 0x0002 +#define WIIDRC_BUTTON_SYNC 0x0001 + +#define WIIDRC_EXTRA_BUTTON_L3 0x80 +#define WIIDRC_EXTRA_BUTTON_R3 0x40 +#define WIIDRC_EXTRA_BUTTON_TV 0x20 +#define WIIDRC_EXTRA_OVERLAY_TV 0x10 +#define WIIDRC_EXTRA_OVERLAY_POWER 0x01 + +bool WiiDRC_Init(); +bool WiiDRC_Inited(); +bool WiiDRC_Recalibrate(); +bool WiiDRC_ScanPads(); +bool WiiDRC_Connected(); +bool WiiDRC_ShutdownRequested(); +const u8 *WiiDRC_GetRawI2CAddr(); +const struct WiiDRCData *WiiDRC_Data(); +u32 WiiDRC_ButtonsUp(); +u32 WiiDRC_ButtonsDown(); +u32 WiiDRC_ButtonsHeld(); +s16 WiiDRC_lStickX(); +s16 WiiDRC_lStickY(); +s16 WiiDRC_rStickX(); +s16 WiiDRC_rStickY(); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/lib/libwiidrc.a b/lib/libwiidrc.a new file mode 100644 index 0000000000000000000000000000000000000000..2aff74423243cfc914fcbd67574521a6ab95a3d8 GIT binary patch literal 14232 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 #include "pngu.h" #include - +#include // Constants #define PNGU_SOURCE_BUFFER 1 diff --git a/source/sys.c b/source/sys.c index ebb8fb4..e84ab28 100644 --- a/source/sys.c +++ b/source/sys.c @@ -12,8 +12,8 @@ /* Variables */ static const char certs_fs[] ATTRIBUTE_ALIGN(32) = "/sys/cert.sys"; - -void __Sys_ResetCallback(void) +u32 boot2version; +void __Sys_ResetCallback(__attribute__((unused)) u32 irq, __attribute__((unused)) void *ctx) { /* Reboot console */ Sys_Reboot(); diff --git a/source/sys.h b/source/sys.h index 419ed68..766bffe 100644 --- a/source/sys.h +++ b/source/sys.h @@ -1,7 +1,7 @@ #ifndef _SYS_H_ #define _SYS_H_ -u32 boot2version; +extern u32 boot2version; /* Prototypes */ bool isIOSstub(u8 ios_number); bool loadIOS(int ios); diff --git a/source/title.c b/source/title.c index 76fe3a6..fb6b00d 100644 --- a/source/title.c +++ b/source/title.c @@ -62,7 +62,7 @@ s32 Title_FakesignTMD(signed_blob *p_tmd) sha1 hash; /* Modify TMD fill field */ - tmd_data->fill3 = fill; + tmd_data->fill2 = fill; /* Calculate hash */ SHA1((u8 *)tmd_data, TMD_SIZE(tmd_data), hash);