Skip to content

Commit

Permalink
Merge pull request #2 from randovania/upstream-master
Browse files Browse the repository at this point in the history
Merge upstream master into rdv-master
  • Loading branch information
henriquegemignani authored Oct 9, 2024
2 parents 128fb3e + 047d079 commit 4e60bc2
Show file tree
Hide file tree
Showing 32 changed files with 1,138 additions and 298 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,20 @@ A Wii Homebrew Project to play GC Games on Wii and vWii on Wii U
3. Connect your storage device to your Wii or Wii U and start The Homebrew Channel.
4. Select Nintendont.

### Compiling:
For compile Nintendont yourself, get the following versions of the toolchain compiling PPC tools:
* **devkitARM r53-1**
* **devkitPPC r35-2**
* **libOGC 1.8.23-1**

These versions can be downloaded here: https://www.mediafire.com/folder/j0juqb5vvd6z5/devkitPro_archives

On Windows, run the "Build.bat" batch script for build Nintendont.

On Unix, run the "Build.sh" script.

Please use these specific versions for compiling Nintendont, **because if you try to compile them on latest dkARM/dkPPC/libOGC, you'll get a lot of compiler warnings and your build will crash when attemping to return to Nintendont menu**, so be warned about that.

### Notes
* The Wii and Wii U SD card slot is known to be slow. If you're using an SD card and are having performance issues, consider either using a USB SD reader or a USB hard drive.
* USB flash drives are known to be problematic.
Expand Down
3 changes: 2 additions & 1 deletion common/include/CommonConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "NintendontVersion.h"
#include "Metadata.h"

#define NIN_CFG_VERSION 0x00000009
#define NIN_CFG_VERSION 0x0000000A

#define NIN_CFG_MAXPAD 4

Expand All @@ -24,6 +24,7 @@ typedef struct NIN_CFG
signed char VideoScale;
signed char VideoOffset;
unsigned char NetworkProfile;
unsigned int WiiUGamepadSlot;
} NIN_CFG;

enum ninconfigbitpos
Expand Down
2 changes: 1 addition & 1 deletion common/include/NintendontVersion.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define __NINTENDONT_VERSION_H__

#define NIN_MAJOR_VERSION 6
#define NIN_MINOR_VERSION 489
#define NIN_MINOR_VERSION 502

#define NIN_VERSION ((NIN_MAJOR_VERSION << 16) | NIN_MINOR_VERSION)

Expand Down
26 changes: 26 additions & 0 deletions controllerconfigs/Saitek_P990_Dual_Analog_pad.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[Saitek P990 Dual Analog pad]
VID=06A3
PID=040B
Polltype=1
DPAD=1
DigitalLR=0
Power=7,20
A=6,4
B=6,2
X=7,1
Y=7,2
Z=6,20
L=6,40
R=6,80
S=7,10
Left=5,7
Down=5,5
Right=5,3
Up=5,1
StickX=0
StickY=1
CStickX=2
CStickY=3
RAnalog=7,8
LAnalog=7,4

30 changes: 30 additions & 0 deletions controllerconfigs/controller_8Bitdo_SNES30_Pro.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[8Bitdo SNES30 Pro MAC Mode]
VID=054C
PID=05C4
Polltype=1
DPAD=1
DigitalLR=0
A=5,40
B=5,20
X=5,80
Y=5,10
CStickY=4
CStickX=3
StickY=2
StickX=1
S=6,20
Up=5,00
Right=5,02
Left=5,06
Down=5,04
L=6,04
R=6,08
Z=6,02
Power=6,10
MultiIn=0
RightUp=5,01
DownRight=5,03
DownLeft=5,05
UpLeft=5,07
LAnalog=8
RAnalog=9
46 changes: 46 additions & 0 deletions controllerconfigs/controller_Generic_GC Controller Adapter.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
; Configuration file made for 'Generic GC Controller Adapter' device.
; The label behind this contained the following information -
; 'GC Controller Adapter For Switch/Wii U/PC ITEM TO HS-SW305'
; Device must be set in 'PC' mode.
; Made by cesarmades.

[Generic GC Controller Adapter]
VID=0079
PID=1846

Polltype=1

; Multiple input (several ports). Don't know if it's the same settings for 2 ports than 4 ports.
MultiIn=1
MultiInValue=01

A=1,02
B=1,04
X=1,01
Y=1,08

Z=1,80

; Notes from what was seen in other files:
; 1 = Typical Digital input | 2 = Mix of both?
DigitalLR=2
L=1,10
R=1,20
LAnalog=7
RAnalog=8

; Power=
S=2,02

; Similar to the HID2VPAD functions:
; 0 = NORMAL | 1 = HAT | etc
DPAD=0
Left=2,80
Right=2,20
Up=2,10
Down=2,40

StickX=3
StickY=4
CStickX=6
CStickY=5
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
[Generic USB Gamepad]
VID=0810
PID=e501

# Polltype: Use 1 (so far only the ps3 controller needed 0)
Polltype=1
DigitalLR=1

# [Button]=[offset],[mask]
X=5,10
A=5,20
B=5,40
Y=5,80

# L, R, Z left, Z right
L=6,01
R=6,02
ZL=6,04
Z=6,08

# Select, Start
Power=6,10
S=6,20

# Certain Pads use BITs for each dpad direction other use numbers going form 0 to 7 for each direction.
# An easy test for this is if one direction doesn't change any bits then use 1 and fill in all 8 values
# for the DPAD otherwise use 0 and just fill in the four values.
# (the stick value for center is 7F and the extreme values can be mapped to dpad instead if desired)
#DPAD=1
#Right=3,FF
#Left=3,00
#Down=4,FF
#Up=4,00

# Composite directions have 2 values modified simultaneously so can't be configured
# Center position is xx xx xx 7F 7F xx xx xx xx
# 3,FF FF
#DownRight=
# 3,00 FF
#DownLeft=
# 3,00 00
#UpLeft=
# 3,FF 00
#RightUp=

StickX=3,0,100
StickY=4,0,100

# When the stick is missing the value is fixed at 80
CStickX=1
CStickY=2

38 changes: 38 additions & 0 deletions controllerconfigs/controller_Genius_MaxFire G-12UV.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
[Genius MaxFire G-12U VIBRATION]
VID=0583
PID=A009
Polltype=1
DPAD=1
DigitalLR=1

; 1
A=5,01
; 3
B=5,04
; 2
X=5,02
; 4
Y=5,08
; 6
Z=5,20
; 7
L=5,40
; 8
R=5,80
; 10
S=6,02

Left=4,06
Down=4,04
Right=4,02
Up=4,00
RightUp=4,01
DownRight=4,03
DownLeft=4,05
UpLeft=4,07

StickX=0
StickY=1

CStickX=2
CStickY=3
56 changes: 56 additions & 0 deletions controllerconfigs/controller_Gravis_Eliminator_AfterShock.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
[Gravis Eliminator AfterShock]
VID=047D
PID=4006
Polltype=1
DPAD=1
B=6,02
A=6,04
Y=6,01
X=6,08
L=6,10
ZL=6,40
Z=6,80
R=6,20
S=7,02
Power=7,03
Left=4,00
Down=5,FF
Right=4,FF
Up=5,00
StickX=0
StickY=1
CStickX=3
CStickY=2
DigitalLR=1
LAnalog=0
RAnalog=0
Rumble=1
RumbleType=0
RumbleDataLen=05
RumbleDataOn=01,00,00,7F,7F
RumbleDataOff=01,00,00,00,00
RumbleTransferLen=05
RumbleTransfers=1

#Gravis Eliminator AfterShock for Nintendon't
#---------------------------------------------
#Controller Type: Arcade-style/dual-analog gamepad (like DualShock 2)
#Rumble Support: Force Feedback
#Special Features: Analog sticks, D-pad, precision control toggles
#Note: This controller is probably common for Windows 95-98 & up.

#Button Setup:
# D-Pad: GameCube D-Pad
# Left Control Stick: Control Stick
# Right Control Stick: C Stick
# Button 1: Y
# Button 2: B
# Button 3: A
# Button 4: X
# Button 5: L
# Button 6: R
# Button 7: Half shoulder button force
# Button 8: Z
# Button 9: unused
# Button 10: Start/Pause
# Button 9 & Button 10: Power
59 changes: 59 additions & 0 deletions controllerconfigs/controller_Gravis_Eliminator_GamePad_Pro.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[Gravis Eliminator GamePad Pro]
VID=047D
PID=4005
Polltype=1
DPAD=0
Power=3,03
A=2,04
B=2,02
X=2,08
Y=2,01
Z=2,20
L=2,40
R=2,80
S=3,02
#Left=2,26
#Down=2,24
#Right=2,22
#Up=2,20
#RightUp=2,21
#DownRight=2,23
#DownLeft=2,25
#UpLeft=2,27
StickX=0
StickY=1
#CStickX=5
#CStickY=6
DigitalLR=1
LAnalog=0
RAnalog=0

#Gravis Eliminator GamePad Pro for Nintendon't
#---------------------------------------------
#Controller Type: Arcade/Retro gamepad
#Rumble Support: None
#Special Features: Analog D-pad, precision control toggle

#Button Setup:
# D-Pad: Control Stick
# Button 1: Y
# Button 2: B
# Button 3: A
# Button 4: X
# Button 5: unused (Full shoulder button force)
# Button 6: Z
# Button 7: L
# Button 8: R
# Button 9: unused
# Button 10: Start/Pause
# Button 9 & Button 10: Power

#Recommended Games:
# * Ikaruga
# * Chaos Field Expanded
# * Mobile Light Force 2 / Castle of Shikigami
# * Capcom vs. SNK EO
# * Rave Master
# * Super Smash Bros. Melee
# * Sonic Gems Collection
# * Sonic Mega Collection
4 changes: 3 additions & 1 deletion controllerconfigs/controller_Logitech_F310.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ VID=046D
PID=C216
Polltype=1
DPAD=1
DigitalLR=1 # This pad only supports digital triggers, doesn't work with games like Luigi's mansion otherwise
A=4,20
B=4,40
X=4,10
Y=4,80
Z=5,02
L=5,04
R=5,08
ZL=5,01 # Adds the ZL switch in the L1 position to allow half-presses
S=5,20
Power=5,10
Left=4,06
Expand All @@ -25,4 +27,4 @@ StickY=1
CStickX=2
CStickY=3
LAnalog=0F
RAnalog=0E
RAnalog=0E
Loading

0 comments on commit 4e60bc2

Please sign in to comment.