Talk:List of homebrew applications

From WiiBrew
Jump to: navigation, search

Editing

If you intend to format the Homebrew apps page make sure you understand the table formatting first. I just had to fix it 3 times in a row because 2 other users (one not logged in) where trying to move an item from one category to another but didn't use the table markers. nliwilson 08:28, 17 May 2008 (PDT)

Table Wiki code

was gonna make a chart but this one already exists. heres the code i stole.

Wii Homebrew Chart
Title Creator Software type Loaders Chainloader Install Loader Return PAL Modes Required Accessories
Test Tesy
Tetris Wii DesktopMan Game Zelda Normal L Button 480i/p NGC Controller

also, fancy captcha is annoying. PidGin128 as 65.190.210.163 23:08, 13 March 2008 (PDT).

Don't you think we should add a version column?

It needs a column with the compatibility of the Wiimote.

I think the background color should be removed completely, along with the Display Modes column, the Download column, and the version column. --Hiker13526 00:25, 8 May 2008 (PDT)
I agree. Background color removed. I might also remove some of those columns and straighten things up some other time. Blooper4912 18:45, 14 May 2008 (PDT)

Tar

Is it possible to offer a .zip download in addition to whatever tar files are provides? Not everyone has administrative privileges on the pc's they use. For instance even though I'm in college we are monitored heavily on what we use the library pc's for. it's against the rules to install programs on the computer. I would need to install a program in order to decompress any tar file. I love linux and would have a linux machine right now if my last one wasn't destroyed, but windows can not natively read tar files with the installation of some type of program. Windows, linux and macs all support zip files. Zip files aren't exactly too large, they're larger than tar, but not that much. When you're dealing with the file sizes this wiki uses a less capable compresser isn't really going to make you or break you when it comes to its file size. ~gametaku5@gmail.com

Use 7-Zip Portable from a flash drive to extract tar files. You don't need to install it. -- 86.41.192.208 10:50, 14 March 2008 (PDT)

GC SD and Wii SD slots hombrew apps

Is it perhaps best to now section homebrew to ensure they are identified as loading from the GC or Wii SD slot, even until they are perhaps updated to load data from the Wii SD slot?

Versions

I think it would be a good idea to keep the versions up to date in the table.

I think the versions should be removed from the table. Also, please sign your talk page edits by typing --~~~~ at the end of them. --Hiker13526 00:25, 8 May 2008 (PDT)

Loader return

I think its a good idea to say that if possible could dev's include someway of returning to the loader, otherwise you have to reboot you wii to exit

It only even takes 2 lines of code. Declare the function:
void (*reload)() = (void(*)())0x90000020;
and call it:
if(PAD_ButtonsDown(0) & PAD_BUTTON_START) reload();
and voila.
I strongly disagree with this design. Just do what normal cli applications do, they return from main. But that might not work at this moment. Also, that design slowly but surely causes a stack overflow by infinite recursion, not good.--henke37 12:55, 17 April 2008 (PDT)

Type in table?

Since every thing is sorted by type, why do we still need to keep the type of application in the table?

Agreed
Seconded. 198.166.12.229 12:52, 17 April 2008 (PDT)

Homebrew Developer Tips and Suggestions

Here's my proposal for Homebrew Developer Tips and Suggestions. -- PaceMaker

Video Auto-Detect Routine

Please include an autodetect routine (VIDEO_GetCurrentTVMode()) to detect HDTV/EDTV and set the appropriate video mode.

The current video autodetect routine doesn't work with PAL60 (480p @ 60 Hz in PAL Wii) using the offical Nintendo RGB cable for Wii.

Here is the video detect code from the DevKitPro Wii example.

   switch(VIDEO_GetCurrentTvMode())
   {
       case VI_NTSC:
           rmode = &TVNtsc480IntDf;
       break;
       case VI_PAL:
           rmode = &TVPal528IntDf;
       break;
       case VI_MPAL:
           rmode = &TVMpal480IntDf;
       break;
       default:
           rmode = &TVNtsc480IntDf;
       break;
   }
   VIDEO_Configure(rmode);

Reboot Wii

It's a good idea to include a way to reboot the Wii in all Homebrew. Here's the source code to do it.

void Reboot()
{
	// Thanks to hell_hibou
	int fd = IOS_Open("/dev/stm/immediate", 0);
	IOS_Ioctl(fd, 0x2001, NULL, 0, NULL, 0);
	IOS_Close(fd);
}

Exit to Loader

It's a good idea to add some way to return to the loader, otherwise you have to reboot you Wii to exit.

   It only even takes 2 lines of code. Declare the function: 
   void (*reload)() = (void(*)())0x90000020; 
   and call it: 
   if(PAD_ButtonsDown(0) & PAD_BUTTON_START) reload(); 
   and voila.

Note, that this method can eventually cause a stack overflow by infinite recursion. I don't know a better way to do this though.

Debugging Tip

When faced with a crash in your Homebrew, often you'll see a code dump with an address and some machine code. Here's my trick to track that back to a line of C++ code.

For example if your homebrew game crashes it might show something like this:

    CODE DUMP:
    
    800084ac:   809F0020 2F840000 ...
    800084bc:   ...
    800084cc:   ...

The 800084ac is the memory address in hex of where the crash occured. 809F0020 is the machine code for the offending instruction.

  • Step 1:

In your makefile change the CXXFLAGS line to the following:

  CXXFLAGS = -save-temps -Xassembler -aln=$@.lst $(CFLAGS)

The "-save-temps" will save the assembly language file, which can be interesting. The "-Xassembler -aln=$@.lst" creates a list file which contains the assembly and the machine code. Now recompile your entire project. Note, this just affects C++ code.

  • Step 2:

Look at the map file that was built. The mapfile is on by default in the Wii template makefile. Typically it's in the build subdirectory and called something.map. Look in that mapfile for the nearest memory address that doesn't go over the one found in the CODE DUMP. Here is an example:

    0x80008464                ShooterView::Render(BibGraphicsDevice&)

This tells me that the crash was 72 bytes into the ShooterView::Render() function. Now to find the line number in Render()

  • Step 3:

Look at the list file for the relevant function. Here's an example:

   473              		.globl _ZN11ShooterView6RenderER17BibGraphicsDevice
   474              		.type	_ZN11ShooterView6RenderER17BibGraphicsDevice, @function
   475              	_ZN11ShooterView6RenderER17BibGraphicsDevice:
   476              	.LFB1465:
   477              		.loc 1 158 0
   478              	.LVL20:
   479 02d0 9421FF00 		stwu 1,-256(1)

The function names are mangled because this is C++ code. See http://en.wikipedia.org/wiki/Name_mangling#Name_mangling_in_C.2B.2B The address of the first instruction of Render() is at 02d0. This is also line 158 in the file (".loc 1 158 0"). To find the error location, just look at 0x2d0 + 72 = 0x318. See below:

                               .loc 1 168 0
   528 0314 809F0020 		lwz 4,32(31)
   529 0318 2F840000 		cmpwi 7,4,0

This shows machine address 0x318 has the proper machine code and the nearest .loc statement says the problem is at line 168 of the ShooterView.cpp. For more info on the assember output see the manual here: http://sourceware.org/binutils/docs-2.18/as/index.html

Your snippets are appreciated but such code is best placed in a subpage of your profile or in an article itself. A talk page is generally for discussing the article and not intended to provide actual content. --Hiker13526 00:25, 8 May 2008 (PDT)
Made a new page with this content. See Developer Tips. -- karaken12 03:07, 15 May 2008 (PDT)

Web browser

We know the DS has a few third party browsers now, but it would be nice to see a Wii one! (Could we port over Firefox or some other open source browser?)

Is Opera open source? A port of the PC one would be far superior than the Opera Channel, and Firefox, as without all its extensions firefox is nothing, whereas Opera is basically FF + All the good extensions. (sorry if I start a browser war :s). Muzer 10:17, 25 April 2008 (PDT)
No, it's not, and this would be a lot of work for little benefit.Bushing 14:26, 25 April 2008 (PDT)
Opera isn't open source; I disagree that this would be a lot of work for little benefit. Java support, downloading files, add in plugins and other things you can't do on the Internet Channel which would be definately worth it.
I think it depends on if you would really use it -- I agree it'd be cool to use Firefox on my Wii, but if I actually want to browse I get my laptop. And if you don't have access to a computer with the internet, you're not going to be able to get any Wii homebrew anyway! I do think it'd be cool, and I'd definitely download it if someone put it up, but I agree with Bushing -- not worth it. -- karaken12 11:45, 13 May 2008 (PDT)   (P.S. Sign your posts! Use ~~~~)

Sub Pages

I was wondering if there was a reason for the homebrew apps to be sub pages as opposed to individual pages. Using sub pages on articles can complicate mediawiki wikis as they generally employ a categorical structure as opposed to a tree structure. It can also cause too many sub pages, IE sub pages of sub pages of sub pages. I propose that future homebrew app article pages be created on their own full article page and instead of using this sub page structure, use only Category:Homebrew_applications along with Homebrew_apps. And also, if possible, to move previous homebrew apps to their own article page. --Hiker13526 19:50, 2 May 2008 (PDT)

Really bad idea to remove them, would make the wiki untidy. Besides, for the apps, it is a tree and categorical. And how would it cause subpages of subpages? Muzer 00:52, 5 May 2008 (PDT)
I agree with Hiker here, subpages is not a good idea. I recommend a similar solution as over on meta wiki, that is, create a new namespace for these pages. Looks pretty much the same in the urls, but is less subpages and more a real way of sorting it. (Note: Do not just add pages with a new prefix, the wiki admin must add it in the settings for things to work properly.)--henke37 01:01, 5 May 2008 (PDT)
Subpages do not keep the wiki more tidy, that is what categories are for. A wiki is not a tree structure and was never meant to be. It is linked categorically, like a web. It does cause sub pages of sub pages because I wanted to add subpages to WiiHL for translation ini files but that would be a sub page of a subpage that shouldn't exist. Having a sub page for something like a translation file would be a correct usage of the feature. To have a successful tree structure sub pages of sub pages are needed. Otherwise it isn't a very good tree. But I do not think that is what we should be aiming for. Instead, I believe that having a number of different categories, nav templates, and list pages is a far better method of organization. Wikipedia doesn't even allow sub pages on the main namespace because they know people would abuse it far beyond its intended usage. Subpages are great for the Project namespace or User pages but they have a very small need or want on the main namespace. I recommend we move all the current incorrect uses of sub pages to be in the root of the main namespace. Although something like this has never been decided before on this wiki I feel we should set some precedence for it. Voting, that is. As has worked on many wikis before, a majority vote seems fair unless anyone has good reason otherwise. --Hiker13526 07:51, 5 May 2008 (PDT)
I still think that a proper namespace to organize things is the best solution. It makes it easy to separate normal articles from this radically different content, a catalog of homebrew applications.--henke37 14:24, 5 May 2008 (PDT)
Quoting Meta-Wiki's MediaWiki help: "Namespaces allow, among other things, a separation of content from policy and discussion. They encourage separation of the pages of a wiki into a core set intended for public viewing, and private information intended for the editing community." Homebrew pages are part of the content, therefore, should be in the main namespace. I agree with Hiker13526: remove the subpages, and use categories instead. Felix123 22:07, 5 May 2008 (PDT)
I disagree with you there, you say that they allow to separate content from misc things. This is true, but what you fail to mention is that they don't force it. To reuse my mediawiki example, the extensions is still part of the content, just not the same part as the main pages. I feel that this is the same case, a clear sub part of the content that belongs in a separate namespace. A sub site so to speak.--henke37 15:07, 12 May 2008 (PDT)

Control images

It will be nice to have section with the image of the controls accepted in the apps. Like the one on games boxes. It could be nice if someone could remake those above in a better quality, and maybe in a better format (svg). If we don't use the images here, it could be in the Info box of each apps.

Anyway, it's just an idea... - Crayon

is that copyrighted pictures ? i'm not sure about the legality to keep that in. May rework it a bit ? 212.198.147.236 23:19, 7 May 2008 (PDT)
I think Nintendo have better quality versions somewhere on their labyrinth of a site, I remember seeing them a few times. At least, I saw the GC and DS versions, and that was before the Wii was out. Muzer 23:29, 7 May 2008 (PDT)
I found them! http://www.nintendo.com/consumer/buyers_guide.jsp#accessories --Muzer 23:29, 7 May 2008 (PDT)
That's why it could nice if a designer makes new one. Like that we don't have any problem. I was only showing those picture has demo. So it could be deleted when someone decide to remake new ones (if necessary). - Crayon
How's this? GCNController.svg Wii Zapper.svg I didn't much like the blue color but I can certainly color it blue if needed. --Hiker13526 00:13, 8 May 2008 (PDT)
Wow, that's amazing you read my mind. Good job! Now we only need a place where to put those images - Crayon
Those look brilliant! Go ahead and make more, I'll put them on the respective pages (I can only do GC controller so far for obvious reasons)
Also, please keep with the names that I'm adding the nonexistant images as. Muzer 10:36, 8 May 2008 (PDT)
Could you also add images for Front SD slot, SD Gecko, USB Gecko, GC Memory Card and Mass Storage Devices? Muzer 10:41, 8 May 2008 (PDT)
How about the term "Wii SD" instead of "Front SD?" It sounds much better to me, and should let people know it's only for Wii mode apps, not ones running in GC mode. --Dsbomb 15:42, 10 May 2008 (PDT)
Hey, that's a good idea. The Wii logo is more iconic than just the word "Front" And I bet it would be easier to see at smaller sizes. --Phred 11:13, 11 May 2008 (PDT)
Made a 1 player Wiimote icon, hope it's good enough. Tried to match it up with Hiker13526's style: Wiimote1.svg I have the 1-4 player versions made already. Before I upload I just want to know if this is something Hiker would rather do himself? As in making the control images. Chathurga 04:00, 9 May 2008 (PDT)
I made templates to make adding the icons easier. Like {{GCNController}} gives you GameCube Controller. Is that okay? Phred 15:05, 10 May 2008 (PDT)
If I said no at this point, would it make a difference? You've already added them to every page in sight. You and Muzer are going to drive me nuts. I fully regret ever making those icons. --Hiker13526 15:10, 10 May 2008 (PDT)

Template:Infobox homebrewapp

I propose using a comma and line separated list in the peripherals field of the infobox such as the one at right. I also believe that the current templates Phred made should be changed to text-only instead of images. Judging by the number of icons already showing up the homebrew apps pages without prior discussion, I am guessing that this proposition will not go over well. But, even so, at least now everyone knows there is a better way to do it even if you have all already settled on the icon method, which by the way looks like crap. --Hiker13526 10:42, 9 May 2008 (PDT)
Personally I think it looks better with images. That's why I did this proposal. Crayon
Created Nunchuck.svg & Nunchuck template {{Nunchuck}}Nunchuck alternative.svg - Jackal 18:36, 11 May 2008 (PDT)

As a professional graphic designer, I'd very much like to point out that simply retracing a copyrighted image (as you did above) does not create new copyright. You are not free to grant licenses for this work, and they should be replaced by original creations or removed. Sorry. Drmr 12:37, 12 May 2008 (PDT)

And to set a proper example, I re-did the Gamecube controller icon. I need the practice anyway. Drmr 05:48, 13 May 2008 (PDT)
New nunchuck coming up, will replace the copyrighted one as soon as I finish. - Jackal 05:54, 13 May 2008 (PDT)
Yes, mine turned probably out too simple: Nunchuck alternative.svg. In the long run, however, if we want to keep the icons, we should create unified versions anyway. Drmr 07:14, 13 May 2008 (PDT)
Just to show my new one here 30px, but will use drmr's one for the template coz it looks better when shrinked and it's more unified
It's a good idea to let people with talent make new design without any copyright. Perhaps, they should look like they were designed by the same person. Click on my name for an overview of all design (I think). Crayon

Video mode still needed?

Do we still need the video mode column now? Felix123 02:47, 12 May 2008 (PDT)

Probably not. If an app has any issues with some video modes, it should be mentioned in its page. What do other people think? --Blooper4912 15:02, 16 May 2008 (PDT)

Beware the power crazed!

Can Crediar explain why he's blocked nliwilson for fixing table formatting errors, giving the reason as Inserting nonsense/gibberish into pages?

Also why nliwilson's edits are recorded as vandalism when fixing formatting errors is the exact opposite there of?
And lastly why it's impossible to contact Crediar or indeed any other admin to discuss the matter?

193.35.134.151 10:56, 17 May 2008 (PDT)

He was blocked for childish vandalising of parts related to Wii Miidia to do with his own paranoid and ongoing drama with the creator. How is that a "formatting error"? Stalkid64