Changes

34 bytes added ,  23:47, 4 February 2010
Wikified
Line 10: Line 10:  
| peripherals = {{WiiDisc}}
 
| peripherals = {{WiiDisc}}
 
}}
 
}}
'''TinyLoad''': A region-free original Wii game loader in 4096 bytes.
+
'''TinyLoad''' is a region-free original Wii game loader in 4096 bytes.
    
== What? ==
 
== What? ==
Line 22: Line 22:  
across the bottom of the screen shows the current (rough) progress. If an error
 
across the bottom of the screen shows the current (rough) progress. If an error
 
is detected, a portion of the top of the screen will turn red. It will then     
 
is detected, a portion of the top of the screen will turn red. It will then     
attempt to launch The Homebrew Channel (only applies to recent versions with the
+
attempt to launch The [[Homebrew Channel]] (only applies to recent versions with the
 
JODI Title ID). If this fails then it will simply hang.
 
JODI Title ID). If this fails then it will simply hang.
    
If the launcher freezes with the progress bar visible and no red error box, then
 
If the launcher freezes with the progress bar visible and no red error box, then
you've probably hit a bug. Try the debug version if you have a USB Gecko.
+
you've probably hit a bug. Try the debug version if you have a [[USB Gecko]].
    
If it freezes with a black screen after the progress bar has reached its
 
If it freezes with a black screen after the progress bar has reached its
Line 39: Line 39:  
* TinyLoad sets the PPC timebase correctly according to your Wii's RTC. This fixes date/time issues in games.
 
* TinyLoad sets the PPC timebase correctly according to your Wii's RTC. This fixes date/time issues in games.
 
* The video code makes lots of assumptions. It will only work if VI was left configured in a "standard" mode, with a 640x480-640x574 framebuffer. VI should be blanked; if it isn't, then TinyLoad will not blank it before launching the game so your screen will blink green for a split second as the game initializes VI. It has been tested to work correctly when launched by the Homebrew Channel in at least NTSC 480p and PAL interlaced modes. If these assumptions don't hold then the progress bar display will not work properly, but the rest of the loader should work fine.
 
* The video code makes lots of assumptions. It will only work if VI was left configured in a "standard" mode, with a 640x480-640x574 framebuffer. VI should be blanked; if it isn't, then TinyLoad will not blank it before launching the game so your screen will blink green for a split second as the game initializes VI. It has been tested to work correctly when launched by the Homebrew Channel in at least NTSC 480p and PAL interlaced modes. If these assumptions don't hold then the progress bar display will not work properly, but the rest of the loader should work fine.
* TinyLoad does not perform '''any''' patching of games. The lowmem video mode setting follows whatever video mode was left set by the application used to launch TinyLoad, except that PAL games are forced to PAL if NTSC is detected. This does not patch the game, it's merely the informative value in low memory; games are free to read SYSCONF/setting.txt and ignore it. I don't really care because I use 480p mode anyway. If you need more advanced options, just use Gecko OS.
+
* TinyLoad does not perform '''any''' patching of games. The lowmem video mode setting follows whatever video mode was left set by the application used to launch TinyLoad, except that PAL games are forced to PAL if NTSC is detected. This does not patch the game, it's merely the informative value in low memory; games are free to read SYSCONF/setting.txt and ignore it. I don't really care because I use 480p mode anyway. If you need more advanced options, just use [[Gecko OS]].
* Normally, game audio will not work correctly if launched via a loader that was initially launched via BootMii-boot2. This is a bug in libogc (it doesn't know how to initialize the DSP for the first time and leaves it in a broken state), and it affects anything running after the Wii was booted first into a libogc application, including the System Menu's loader. In other words, BootMii-boot2 → HBC → System Menu (or Gecko OS) → Game may cause distorted audio. TinyLoad '''does''' work, by resetting the audio hardware to let the game reinitialize it properly. So, BootMii-boot2 → HBC → TinyLoad → Game will work fine. This ought to be worked around in a future release of HBC, at least. I'd suggest fixing libogc, but I know shagkur is just going to rip the proper code from the SDK again. Anyway, launching using TinyLoad will work fine as it contains the workaround.
+
* Normally, game audio will not work correctly if launched via a loader that was initially launched via BootMii-boot2. This is a bug in [[libogc]] (it doesn't know how to initialize the DSP for the first time and leaves it in a broken state), and it affects anything running after the Wii was booted first into a libogc application, including the System Menu's loader. In other words, BootMii-boot2 → HBC → System Menu (or Gecko OS) → Game may cause distorted audio. TinyLoad '''does''' work, by resetting the audio hardware to let the game reinitialize it properly. So, BootMii-boot2 → HBC → TinyLoad → Game will work fine. This ought to be worked around in a future release of HBC, at least. I'd suggest fixing libogc, but I know shagkur is just going to rip the proper code from the SDK again. Anyway, launching using TinyLoad will work fine as it contains the workaround.
* TinyLoad will load the correct IOS as specified in the partition TMD. It does not support loading any other IOS.
+
* TinyLoad will load the correct [[IOS]] as specified in the partition TMD. It does not support loading any other IOS.
 
* TinyLoad will not install updates. Not having the right IOS for the game will probably result in a red error and reset about halfway through.
 
* TinyLoad will not install updates. Not having the right IOS for the game will probably result in a red error and reset about halfway through.
   Line 68: Line 68:     
Because:
 
Because:
* System Menu 4.2 forever broke region free via modchips
+
* [[System Menu 4.2]] forever broke region free via modchips
 
* I have a USA Wii which I regularly use with EUR games
 
* I have a USA Wii which I regularly use with EUR games
 
* Gecko OS is somewhat annoying and recent versions are unstable (for me anyway)
 
* Gecko OS is somewhat annoying and recent versions are unstable (for me anyway)
Line 81: Line 81:  
== How? ==
 
== How? ==
   −
TinyLoad is not compressed. The 4 kilobytes are raw code and data, plus the ELF
+
TinyLoad is not compressed. The 4 kilobytes are raw code and data, plus the [[ELF]]
 
header. The original loader was fit in 4 kilobytes by avoiding bloated libraries
 
header. The original loader was fit in 4 kilobytes by avoiding bloated libraries
 
like libogc and instead using a small codebase pieced together from bits of the
 
like libogc and instead using a small codebase pieced together from bits of the
Twilight Hack and of HBC's reload stub. Extra features (SYSCONF reading, RTC
+
[[Twilight Hack]] and of HBC's reload stub. Extra features (SYSCONF reading, RTC
 
reading, proper lowmem settings, VI stuff, progress bar, etc) were added by
 
reading, proper lowmem settings, VI stuff, progress bar, etc) were added by
 
making space via a combination of increasingly complex compiler options, manual
 
making space via a combination of increasingly complex compiler options, manual
3,032

edits