You are not logged in.

st0rax

NAND-Chip-Löter

(2)

  • "st0rax" started this thread

Posts: 911

Location: In the Starlet...

Occupation: Schüler

  • Send private message

1

Saturday, December 13th 2008, 12:30pm

"Hello World!" - A Journey into your Wii!

Danke, danke, danke, dass ich der erste sein darf, der etwas in diesen Thread schreibt (naja, bis auf liQuii, aber der zählt nicht ^^).
"Hello World!" - A Journey into your Wii!" hört sich viel versprechend an, ist es auch: Ein kleiner Einblick in das tägliche Leben von bushing, marcan und Waninkoko soll euch gewährt sein, und eure Gier nach Wissen, wie die 3 "verrückten" Typen, komplexeste Dinge (wie ganz aktuell den Backuploader) programmiert haben. Die meisten von ihnen, wie z.B. Bushing studierten Programmierung und Software Engineering for Micorprocessors (ARM). Oder programmierten bevor sie laufen konnten in C (= ihre Muttersprache). Ein kleiner Einstieg. Folgende Literatur wäre sehr empfehlenswert, bevor man sich an Dinge wie ein devKitPPC und libogc heran wagt:

http://hitmen.c02.at/files/yagcd/yagcd/index.html (=Yet Another Game Cube Documentation); GC ist von Processor Technik FAST dasselbe wie die Wii.

http://wiibrew.org Documents and Secrets (d.h. diverse Dokumente und Erkenntnisse von Team Twiizer u.a.); teilweise sehr schwer zu verstehendes Material für Anfänger; eher für Fortgeschrittene als Lexikon gedacht.

http://codemii.com
Erstklassiges Englischsprachiger Blog mit bislang leider nur 8 Tutorials in den Einstieg in die Programmierung mit C. Tutorial covert die Installation und Konfiguration von devkitPPC unter WIn32 XP. Bei Fragen könnt ihr mich per PM fragen. Mario2323, ein user aus diesem Board, hat auch gute Erfahrungen mit mir auf diesem Gebiet gemacht, und kann so manche Fehlerquellen beseitigen ;)

http://highscore.de
C - Für Anfänger und andere, die keine Ahnung von Programmierung hatten.


Hier ein kleines Tutorial zum Aufsetzen von devkitPPC auf Win32 (by mir ^^):

devkitPPC release 16 Wer sich mit Konsolen beschäftigt wird dieses Wort öfter gehört haben: devKit. Ja ein devkit! Ein devKit (Abk. engl. development – Entwicklung, Kit – Set, “Baukasten”) ist eine Sammlungen von Werkzeugen, die bei der Entwicklung von spezifischen Programmen, Tools etc. für Nintendo Consoles u.a. (z.B.: PPC – PowerPC: der Prozessor der Wii, PSP – Sony's PSP). lib, sog. Libraries, “Bücherein”, enthalten die nötigen Funktionen, um Programme zu entwickeln.

Mehr Informationen und die Installation für Mac OSX und Linux Based System:
http://www.devkitpro.org/

devkitARM – Microprocessor Programming of ARM cores
devkitPSP – PSP Programming
devkitPPC – PowerPC Programming in context of Programming Wii Applications

Kurze Erwähnung der Installation des devkitPPC und libOGC auf einem Win32 XP Rechner

(Quelle: http://www.tehskeen.com/forums/showthread.php?t=2968)

Zutaten:
*devKitPPC (=”Sachen, um eine ELF bzw. DOL Datei zumachen”)
*libogc (=”Wiifunktionen”)
*Programmer's Notepad (=”wo man C und H Dateien tippt”)

1.) devKit Automated Installer downloaden:
http://sourceforge.net/project/showfiles.php?group_id=114505

-> Auswählen -> Download!
ACHTUNG!!! Um über diesen Insatller installieren zu können benötigt ihr eine Internetverbindung! Er lädt die Sachen aus, die ihr auswählt.

2.) Wählt folgendes aus:
*libOGC: die library mit den von der Wii genutzen Funktionen
*devKitPPC (sofern ihr nur für eure Wii Programmieren wollt!): Binary Utilities, also Interpreter und Compiler sind dort enthalten
*Programmer's Notepad (v.2?): Programmierungsumgebung (ihr werdet in C Programmieren)
*MinGWsys (Msys, MINGW, Minimal System): der "Emulator, um zu kompilieren"

3.) In Verzeichniss eurer Wahl installieren.

4.) Gehe zu msys und editiere die fstab Datei (hier wurde nach C:devkitPromsys installiert; kann abweichen von euren Angaben!:
C:devkitPromsysetcfstab

Öffne die datei am besten mit Programmer's Notepad und passe sie SO an:
c:/devkitPro/devkitPPC /ppc

Es MUSS der "Weg" (Path) zu eurem devKitPPC sein! Groß- und Kleinschreibung bitte beachten! und das Leerzeichen und den / (Slash!) nach devkitPPC: /ppc

5.) Und noch eine Datei editieren! msysetcprofile wieder mit Programmer's Notepad öffnen und diese Zeilen ergänzen:


�33[32m]u@h [�33[33mw�33[0m]
$ '

alias clear=clsb
export PATH=$PATH:/ppc/bin
export DEVKITPPC=/ppc

cd "$HOME"


Jetzt haben wir die Entwicklungsumgebung Variablen gesetzt (setting of environmental variables devkitPPC requires).

6.) Holt euch am besten eine vorkompilierte libOGC version von sourceforge! Kopiert den Inhalt des lib Ordners in den lib Ordner vom devkitPpc und von msys (hat bei mir ansonsten Schwierigkeiten verursacht!). Den Include Ordner mit den H Files kopiert ihr jeweils wieder in die include Ordner von msys und devkitPPC.



Fertig! Euer devkitPPC ist nun vorkonfiguriert.

Lest die Tutroials auf http://codemii.com, um zu erfahren wie man fertige C Projects kompiliiert. es empfiehlt sich eine Weile mit libOGC un dessen Funktionen auseinanderzusetzen.

Danke an Drack, der die englische Fassung von “Drack's Documentation – How to set up the environent” auf tehskeen.com geschrieben hat! Danke an shagkur und Wintermute und allen Arbeitern, die geholfen haben, devkitPro und libOGC zu entwerfen!!!

Changelog

Release 16

  • upgraded binutils to 2.19
  • upgraded gcc to 4.2.4
  • additional extensions in newlib for (f)truncate, fsync, dirent.h support and 64bit file IO.
  • extensions to the gcdspsuite by Hermes.
  • gxtexconv by shagkur, a tool to convert images to GX textures.

II. ES_ Functions
Um auf NAND & Co. zugreifen zu können, den Trucha Bug zu nutzen, eigene Tickets und TMD zu installieren, ... Ging das zu schnell?! Neu in C? Macht nix! Hier die Tabelle von Profis für Profis (und Anfänger!); sie hilft ungemein beim Programmieren und Nutzen der Funktionen (man kann ja nicht alles auswändig wissen =P):

ios_ioctlv( fd, 0x01, 4, 0, vec); // ES_AddTicket(const signed_blob *stik, u32 stik_size, const signed_blob *certificates, u32 certificates_size, const signed_blob *crl, u32 crl_size)
ios_ioctlv( fd, 0x02, 4, 0, vec); // ES_AddTitleStart(const signed_blob *stmd, u32 tmd_size, const signed_blob *certificates, u32 certificates_size, const signed_blob *crl, u32 crl_size)
ios_ioctlv( fd, 0x03, 2, 0, vec); // ES_AddContentStart(u64 titleID, u32 cid)
ios_ioctlv( fd, 0x04, 2, 0, vec); // ES_AddContentData(s32 cfd, u8 *data, u32 data_size)
ios_ioctlv( fd, 0x05, 1, 0, vec); // ES_AddContentFinish(u32 cid)
ios_ioctlv( fd, 0x06, 0, 0, vec); // ES_AddTitleFinish(void)
ios_ioctlv( fd, 0x07, 0, 1, vec); // ES_GetDeviceID
ios_ioctlvReboot(fd, 8, 2, 0, vec); // ES_LaunchTitle(u64 titleID, const tikview *view)
ios_ioctlv( fd, 0x09, 1, 0, vec); // ES_OpenContent(u16 index)
ios_ioctlv( fd, 0x0A, 1, 1, vec); // ES_ReadContent(s32 cfd, u8 *data, u32 data_size)
ios_ioctlv( fd, 0x0B, 1, 0, vec); // ES_CloseContent(s32 cfd)
ios_ioctlv( fd, 0x0C, 0, 1, vec); // ES_GetOwnedTitlesCount
ios_ioctlv( fd, 0x0D, 1, 1, vec); // ES_GetOwnedTitles
ios_ioctlv( fd, 0x0E, 0, 1, vec); // ES_GetTitlesCount
ios_ioctlv( fd, 0x0F, 1, 1, vec); // ES_GetTitles
ios_ioctlv( fd, 0x17, 1, 2, vec); // ES_DeleteTitle
ios_ioctlv( fd, 0x18, 1, 2, vec); // ES_DeleteTicket
ios_ioctlv( fd, 0x19, 1, 1, vec); // ES_DiGetTmdViewCount
ios_ioctlv( fd, 0x1A, 2, 1, vec); // ES_DiGetTmdView
ios_ioctlv( fd, 0x1B, 1, 1, vec); // ES_DiGetTicketView
ios_ioctlv( fd, 0x1c, 1, 1, vec); // ES_DiVerify
ios_ioctlv( fd, 0x1d, 1, 1, vec); // ES_GetDataDir
ios_ioctlv( fd, 0x1e, 0, 1, vec); // ES_GetDeviceCert(u8 *outbuf)
ios_ioctlv( fd, 0x1f, 6, 0, vec); // ES_ImportBoot( const signed_blob *tik, u32 tik_size, const signed_blob *tik_certs, u32 tik_certs_size, const signed_blob *tmd, u32 tmd_size, const signed_blob *tmd_certs, u32 tmd_certs_size, const u8 *content, u32 content_size )
ios_ioctlv( fd, 0x24, 3, 0, vec); // ES_OpenTitleContent
ios_ioctlv( fd, 0x25, 0, 0, vec); // ES_LaunchBC(void)
ios_ioctlv( fd, 0x26, 1, 0, vec); // ES_ExportTitleInit
ios_ioctlv( fd, 0x27, 2, 0, vec); // ES_ExportContentBegin
ios_ioctlv( fd, 0x28, 1, 1, vec); // ES_ExportContentData
ios_ioctlv( fd, 0x29, 1, 0, vec); // ES_ExportContentEnd
ios_ioctlv( fd, 0x2A, 0, 0, vec); // ES_ExportTitleDone(void)
ios_ioctlv( fd, 0x2B, 1, 0, vec); // ES_AddTmd
ios_ioctlv( fd, 0x2C, 3, 2, vec); // ES_Encrypt(u32 keynum, u8 *iv, u8 *source, u32 size, u8 *dest)
ios_ioctlv( fd, 0x2D, 3, 2, vec); // ES_Decrypt(u32 keynum, u8 *iv, u8 *source, u32 size, u8 *dest)
ios_ioctlv( fd, 0x2E, 0, 1, vec); // ES_GetBoot2Version(u32 *version)
ios_ioctlv( fd, 0x2F, 0, 0, vec); // ES_AddTitleCancel(void)
ios_ioctlv( fd, 0x30, 1, 2, vec); // ES_Sign(u8 *source, u32 size, u8 *sig, u8 *certs)

[to be continued...]
Das sind die "bekannten" ES_ Funktionen; ob es mehr gibt, weiß man nicht. Die Quelle mit Error Code: http://wiibrew.org/wiki//dev/es


Ansonsten... Pm an mich!

EDIT: Das folgende Programm wurde noch niocht getestet! Es enthält aber keine Funktionen die auf IOSs oder sonstige System Menu lebensnotwendige Files zugreift. Es soll nur die Wimmote getestet werden (kleines Programm...). ICH ÜBERNEHME KEINERLEI HAFTUNG! Einfach in boot.dol umbenennen!

index.php?page=Attachment&attachmentID=90

"Happy Hackin'!"
-st0rax
Who cares...? I don't...

__________________
"Time Waits For no One" -- Toki o kakeru shoujo
<3 JIGOKOU SHOUJO <3

This post has been edited 3 times, last edit by "st0rax" (Feb 16th 2009, 8:44pm)


2

Sunday, December 21st 2008, 2:04pm

Ich finde das passt besser zu dem Topic für Tutorials
:smilie_ssbmlogo: :smilie_toad: :Smilie_v2_Donkey_Kong: classic Nintendo rulez :smilie_bob-omb:

shadowcha0

Wannabe-Mod

(92)

    Deutschland

Posts: 2,273

Location: Gladbeck

Occupation: Schüler

  • Send private message

3

Sunday, December 21st 2008, 2:28pm

ja, ich gebe Ice FoXx recht. Kann mal pls wer verschieben?


st0rax

NAND-Chip-Löter

(2)

  • "st0rax" started this thread

Posts: 911

Location: In the Starlet...

Occupation: Schüler

  • Send private message

4

Monday, December 22nd 2008, 12:01pm

Ich habe dieses Tutorial extra hier reingeschrieben, da es ausschließlich für's Programming ist! Jeder der damit anfangen will kommt zuerst HIER nach Developement von daher...


Eine Kopie nach Tutorials kann aber auch nicht schaden (GENEHMIGT!)
Who cares...? I don't...

__________________
"Time Waits For no One" -- Toki o kakeru shoujo
<3 JIGOKOU SHOUJO <3

Prof. Eibe

Der Professor // Ex-Chefredakteur

(292)

    Österreich

Posts: 6,468

Location: Wien

Occupation: Zivildiener

  • Send private message

5

Monday, December 22nd 2008, 1:00pm

ja aber dieser berreich hier ist ja extra für so etwas geöffnet worden. drum denke ich passt das hier ganz gut her.

st0rax

NAND-Chip-Löter

(2)

  • "st0rax" started this thread

Posts: 911

Location: In the Starlet...

Occupation: Schüler

  • Send private message

6

Tuesday, December 23rd 2008, 3:48pm

he, he... ;) Bald kommt mein "cIOS Multi Installer var" raus... Ist gerade noch pre-alpha 0.0.0.1, von daher... Bin gerade noch am Testen. Ich will mit dem Ding auf JEDES IOS ein cIOS installieren können. WiiPower hat mir seinen Sourcecode dabei mehr oder weniger "unfreiwillig" überlassen, aberich denke, er hat kein problem damit, da es nicht zu 100% sein eigner Sourcecode ist... Seine version kann übrignes nur auf IOS247/248/249 ein cIOS "patchen".

-st0rax
(Beta-tester: PM! aber auf eigene Gefahr! Brickgefahr NICHT Ausgeschlossen...)
Who cares...? I don't...

__________________
"Time Waits For no One" -- Toki o kakeru shoujo
<3 JIGOKOU SHOUJO <3


7

Tuesday, December 23rd 2008, 6:29pm

Naja einige IOS sollte wohl besser nicht zur Auswahl stehen ;) Aber ansonsten feine Sache ^^
Copyright (c) 1982 - 2009
Sind alle auf nur noch auf Bewertungen aus oder warum schreibt das jeder in seine Signatur?
- Wii's entbrickt : 4
- Wii nicht entbrickbar : 1

st0rax

NAND-Chip-Löter

(2)

  • "st0rax" started this thread

Posts: 911

Location: In the Starlet...

Occupation: Schüler

  • Send private message

8

Friday, December 26th 2008, 5:18pm

System menu (IOS9/16/lowIOSes...) und MISO nicht wahr^^ Hehe....

=============
Beta (Erfahrene!) Tester gesucht!
Brickgefahr nicht ausgeschlossen; Umgang mit SaveMii!)
=============
Who cares...? I don't...

__________________
"Time Waits For no One" -- Toki o kakeru shoujo
<3 JIGOKOU SHOUJO <3

9

Sunday, February 15th 2009, 11:27pm

Das ist ja echt super deine Linkzusammenstellung.
Nach 5 min Einlesen in ein paar Links schon was hinbekommen, was auf der Wii schon läuft und mir anzeigt, was für Knöpfe ich bei dem Wii Mote betätige. :thumbsup:

Nun mal sehen was ich für kleine Programmchen mit meinen Anfänger programmierkönnen hinbekomme.


st0rax

NAND-Chip-Löter

(2)

  • "st0rax" started this thread

Posts: 911

Location: In the Starlet...

Occupation: Schüler

  • Send private message

10

Monday, February 16th 2009, 8:35pm

Schön, dass zu hören! Siehe meinen //Edit oben ^^
Who cares...? I don't...

__________________
"Time Waits For no One" -- Toki o kakeru shoujo
<3 JIGOKOU SHOUJO <3

Prof. Eibe

Der Professor // Ex-Chefredakteur

(292)

    Österreich

Posts: 6,468

Location: Wien

Occupation: Zivildiener

  • Send private message

11

Monday, February 16th 2009, 10:05pm

hi ich hab jetzt auch überlegt, ob ich mich auch mal versuche. programieren kann ich zwar nur im Python aber ich bin gewillt mir selbst was beizubringen.

nun aber meine Fragen. Was wird da am Ende "ausgespuckt"?? Ist das dann eine dol Datei??

und was passiert, wenn die fehlerhaft ist?? muss ich dann nur die wii abschalten und wieder einschalten und es funktioniert wieder alles???

12

Monday, February 16th 2009, 10:13pm

Schön, dass zu hören! Siehe meinen //Edit oben ^^

Oh lol das war auch dein erstes Programm? Das habe ich nicht gesehen haha.

@Prof. Eibe

Es wird sowohl eine dol als auch eine elf compiled. Es gibt auch eine möglichkeit die Dateien auf einem Gamecube Emulator zu testen (halt das mit WiiMote nicht, dazu steht im TUT auf codemii was), vom System sind die Wii und GC ja fast gleich.
Naja und klar, wenn mal eine nicht funktioniert würde ich sagen abschalten und neustarten. Solange du nicht auf das WiiSystem oder andere lebenswichtige Organe der Wii zugreifst und was veränderst, sollte da auch nix passieren.


Prof. Eibe

Der Professor // Ex-Chefredakteur

(292)

    Österreich

Posts: 6,468

Location: Wien

Occupation: Zivildiener

  • Send private message

13

Monday, February 16th 2009, 11:27pm

ok dann les ich mich mal ein und schaun mer mal ob ich irgentetwas zusammenbringe^^

14

Thursday, February 26th 2009, 5:48pm

Prof. Eibe du kannst mit Python umgehen :)? Ich hab gelesen das UltraStar (son singstar clone für PC) in Python geschrieben ist. Such dir mal einen C-Guru und portier das ganze mal auf die Wii :P. Das wär doch mal n Projekt hehe.

MfG
cyrex
Meine Konsolen:
- SEGA GameGear
- SEGA MegaDrive I
- SEGA Dreamcast
- Nintendo GameBoy/Pocket
- Super Nintendo Entertainment System
- Nintendo 64
- Nintendo GameCube
- Nintendo DS lite
- Nintendo Wii
- Sony Playstation

Yoshio

Homebrew-Fortgeschrittener

(1)

    Deutschland
  • Send private message

15

Thursday, February 26th 2009, 6:01pm

finde die etcfstab nicht, jemand mal ein komplett pack zum DL?


Ark

Unregistered

16

Thursday, February 26th 2009, 6:02pm

yoshio etc ist der Orner in dem sich die fstab datei befindet. Das sollte übrigens etc/fstab heißen, verstehst du. Im Downloadpacket da oben is alles drin.

Prof. Eibe

Der Professor // Ex-Chefredakteur

(292)

    Österreich

Posts: 6,468

Location: Wien

Occupation: Zivildiener

  • Send private message

17

Thursday, February 26th 2009, 6:04pm

naja ich lerns grad. also ein spiel kann ich glaub ich ned. ich habs auf jedenfall noch nie gemacht.

und auf der wii kenn ich mich noch weniger aus^^

Yoshio

Homebrew-Fortgeschrittener

(1)

    Deutschland
  • Send private message

18

Thursday, February 26th 2009, 6:07pm

Also bei mir ists so C:\DefkitPPC\msys\1.0\10\packages\bash\2.04\............................
-------------------------------------------------------\\.cvsignore

.......... = gaaanz viele dateien aber kein etc und kein fstab


Ark

Unregistered

19

Thursday, February 26th 2009, 6:09pm

????? Hast du auch den Automatischen Installer gewählt?

Yoshio

Homebrew-Fortgeschrittener

(1)

    Deutschland
  • Send private message

20

Thursday, February 26th 2009, 6:12pm

jap
ich installe einfach nochma ^^

Kann es sein das ich die source vom msys geladen habe? unter welcher kategorie finde ich denn das was ich haben will?

Unter tools gefunden, allerdings gibts da 2 ^^ einmal das msys-1.0.11-RC1 und einmal das msys-1.0.11-RC2?

This post has been edited 1 times, last edit by "Yoshio" (Feb 26th 2009, 6:19pm)