Skip to content

Commit

Permalink
Merge branch 'master' into upstream-master
Browse files Browse the repository at this point in the history
  • Loading branch information
Miepee committed Oct 9, 2024
2 parents a69f2f1 + 3e6d66e commit 2d8ebc8
Show file tree
Hide file tree
Showing 21 changed files with 878 additions and 18 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: C/C++ CI

on: push

jobs:
build:
container: henriquegemignani/docker-devkitpro-nintendont
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: make
run: make
26 changes: 26 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: C/C++ Publish

on:
push:
tags:
- '*'

jobs:
build:
container: henriquegemignani/docker-devkitpro-nintendont
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: make
run: make

- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: loader/loader.dol
asset_name: boot.dol
tag: ${{ github.ref }}
overwrite: true
body: "Relase executable"
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
*.o
*.bin
*.elf
*.dol
codehandler/*.h
kernel/asm/*.h
kernel/kernel.map
loader/build/
loader/data/kernel.zip
nintendont/boot.dol
fatfs/*.a
codehandler/*.h
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ A Wii Homebrew Project to play GC Games on Wii and vWii on Wii U
* Game Boy Player

### Quick Installation:
1. Get the [loader.dol](loader/loader.dol?raw=true), rename it to boot.dol and put it in /apps/Nintendont/ along with the files [meta.xml](nintendont/meta.xml?raw=true) and [icon.png](nintendont/icon.png?raw=true).
1. Download the loader.dol from the latest release, rename it to boot.dol and put it in /apps/Nintendont-multiworld/ along with the files [meta.xml](nintendont/meta.xml?raw=true) and [icon.png](nintendont/icon.png?raw=true).
2. Copy your GameCube games to the /games/ directory. Subdirectories are optional for 1-disc games in ISO/GCM and CISO format.
* For 2-disc games, you should create a subdirectory /games/MYGAME/ (where MYGAME can be anything), then name disc 1 as "game.iso" and disc 2 as "disc2.iso".
* For extracted FST, the FST must be located in a subdirectory, e.g. /games/FSTgame/sys/boot.bin .
Expand Down
6 changes: 3 additions & 3 deletions common/include/Metadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
#ifndef __META_DATA_H__
#define __META_DATA_H__

#define META_NAME "Nintendont"
#define META_NAME "Nintendont (Multiworld)"
#define META_AUTHOR "FIX94, crediar"

#define META_LONG1 "Commiters: GerbilSoft, JoostinOnline, GreyRogue, Howard, Cyan \r\n\r\n Project website: https://github.com/FIX94/Nintendont "
#define META_LONG2 "Nintendont allows you to run GameCube games on a Wii or Wii U from an SD or HDD device."
#define META_LONG1 "Commiters: GerbilSoft, JoostinOnline, GreyRogue, Howard, Cyan, Pwootage, Henrique Gemignani \r\n\r\n Project website: https://github.com/FIX94/Nintendont "
#define META_LONG2 "Nintendont allows you to run GameCube games on a Wii or Wii U from an SD or HDD device. \r\nThis version has modifications which allow you to manipulate game memory over the network"
#define META_SHORT "Gamecube Loader"

#define META_XML "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"yes\"?>"
Expand Down
2 changes: 1 addition & 1 deletion common/include/NintendontVersion.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@

// "Special" version.
// This should only be set in custom builds, i.e. not mainline.
//#define NIN_SPECIAL_VERSION "-BBABeta13"
#define NIN_SPECIAL_VERSION "-multiworld"

#endif
2 changes: 2 additions & 0 deletions kernel/DI.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "FST.h"
#include "HID.h"
#include "BT.h"
#include "net.h"
#include "usbstorage.h"

#include "ff_utf8.h"
Expand Down Expand Up @@ -800,6 +801,7 @@ void DIUpdateRegisters( void )
{
#ifdef PATCHALL
BTInit();
NetInit();
#endif
DIOK = 1;
} break;
Expand Down
2 changes: 1 addition & 1 deletion kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ OBJECTS := start.o common.o alloc.o GCAM.o JVSIO.o JVSIOMessage.o FST.o DI.o Rea
Patch.o PatchTimers.o TRI.o PatchWidescreen.o ISO.o Stream.o adp.o \
EXI.o SRAM.o GCNCard.o SI.o HID.o diskio.o Config.o utils_asm.o ES.o NAND.o \
main.o syscalls.o ReadSpeed.o vsprintf.o string.o prs.o \
SDI.o usb.o usbstorage.o wdvd.o sock.o
SDI.o usb.o usbstorage.o wdvd.o sock.o net_memory_operation.o net.o
LIBS := ../fatfs/libfatfs-arm.a be/libc.a be/libgcc.a
ZIPFILE := ../loader/data/kernel.zip

Expand Down
12 changes: 12 additions & 0 deletions kernel/global.h
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,18 @@ typedef struct PADStatus
#define PAD_BUTTON_MENU 0x1000
#define PAD_BUTTON_START 0x1000

static inline u8 read8(u32 addr)
{
u32 data;
__asm__ volatile ("ldrb\t%0, [%1]" : "=l" (data) : "l" (addr));
return data;
}

static inline void write8(u32 addr, u8 data)
{
__asm__ volatile ("strb\t%0, [%1]" : : "l" (data), "l" (addr));
}

static inline u16 read16(u32 addr)
{
u32 data;
Expand Down
5 changes: 4 additions & 1 deletion kernel/kernel.ld
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@ __phy_stack_addr = 0x12FE0000 + __stack_size;
__di_stack_size = 0x1000;
__di_stack_addr = __phy_stack_addr + __di_stack_size;

__net_stack_size = 0x1000;
__net_stack_addr = __di_stack_addr + __net_stack_size;

__realdi_stack_size = 0x400;
__realdi_stack_addr = __di_stack_addr + __realdi_stack_size;
__realdi_stack_addr = __net_stack_addr + __realdi_stack_size;

__hid_stack_size = 0x400;
__hid_stack_addr = __realdi_stack_addr + __hid_stack_size;
Expand Down
7 changes: 4 additions & 3 deletions kernel/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "GCAM.h"
#include "TRI.h"
#include "Patch.h"

#include "net.h"
#include "diskio.h"
#include "usbstorage.h"
#include "SDI.h"
Expand Down Expand Up @@ -254,7 +254,7 @@ int _main( int argc, char *argv[] )

PatchInit();

SOCKInit();
//SOCKInit();
//Tell PPC side we are ready!
cc_ahbMemFlush(1);
mdelay(1000);
Expand Down Expand Up @@ -389,7 +389,7 @@ int _main( int argc, char *argv[] )
}
else /* No device I/O so make sure this stays updated */
GetCurrentTime();
udelay(20); //wait for other threads
udelay(200); //wait for other threads

if( WaitForRealDisc == 1 )
{
Expand Down Expand Up @@ -446,6 +446,7 @@ int _main( int argc, char *argv[] )
SOCKUpdateRegisters();
udelay(200);
}
NetUpdate();
StreamUpdateRegisters();
CheckOSReport();
if(GCNCard_CheckChanges())
Expand Down
Loading

0 comments on commit 2d8ebc8

Please sign in to comment.