• Full Wiimote+Nunchuk, Classic Controller, and USB Keyboard support, 95% GC Pad support.
  • Wiimote horizontal capable.
  • 2 Player Arcade action.
  • Full input choice (you can use any Wiimote, classic controller or GC pad, no matter the sync, as well as the keyboard).
  • SD and SDHC support from the front SD slot.


Keep in mind that though Wiimote horizontal play is supported, it is not set up by default. For more information, look here: tehskeen. The only thing that is enabled by default for horizontal is the Wiimote DPad.

In Menu

 +          Action
      OR     Template:KeyboardUp/Template:KeyboardDown Move through the Menu
        Template:KeyboardEnter Select menu item
        Template:KeyboardEsc Back

In Game

These are defaults only. For custom, use the in-game joystick config.

 +          Action
Move ship
        Template:KeyboardSpace Fire weapons
        Template:KeyboardEnter Change rear fire mode
        Left Template:KeyboardCtrl Fire left sidekick
        Left Template:KeyboardAlt Fire right sidekick
        Template:KeyboardEsc In level menu
        P/[ Pause/Unpause game

Custom Button Assignments

Here's a list of controller button numbers for your customization pleasure.

NOTE: As of 1.1.2, Joystick configuration saving has been temporarily disabled until I can figure out what's corrupting the cfg. That means GC pads are fully in the mix (except for the joysticks. I haven't figured out yet how to enable them). I have released two config files, one for horizontal gameplay, one for the nunchuck combo. Because of this, all default controls will now be listed. Just make sure to get the config file for the method of play you want.

Button Button Number Wiimote or Classic
  1 Wiimote
  2 Wiimote
  3 Wiimote
  4 Wiimote
  5 Wiimote
  6 Wiimote
  7 Wiimote
  8 Wiimote
  9 Wiimote
  10 Classic
  11 Classic
  12 Classic
  13 Classic
  14 Classic
  15 Classic
  16 Classic
  17 Classic
  18 Classic
  19 Classic
  20 Classic

In order to make a reassignment, in the Joystick menu, using the "RETURN" button, select the function you wish to reassign, press the button that is assigned for that controller/expansion, then select the function again and press the button you wish to use. Defaults currently set the Wiimote+Nunchuck combo and the Classic Controller at the same time (I think the defaults are pretty intuitive, though :)).


This is a Wii adaptation of TYRIAN, the game edited by Eclipse and published by Epic MegaGames.The original game was programmed by Jason Emery, illustrated by Daniel Cook, and its music composed by Alexander Brandon and Andreas Molnar.

This port is based on OpenTyrian project code, maintained by mindless2112, syntaxglitch,emacs.hacker,

This README file was based on the README found on Nuvalo's old one.

This port is separate from Nuvalo's port, and has now replaced it (as you can see). It is fully functional and much more stable than the Wii-Linux version.

This is not the version featured in the Homebrew Showcase linked on the main page (unfortunately). But trust me, it is better, and easier to use.


Tyrian is an arcade-style vertical scrolling shooter. The player controls a space ship fitted with different weapons and enhanced energy shields. Money is earned by destroying enemies and grabbing bonuses, which is then used to purchase upgrades such as weapons, shields, energy generators, and different ships from interlevel menus. The game is fast paced and presents a variety of enemies and bosses.


  • Download the two packages on Google Code (you only need the tyrianFiles zip once. Those won't be updated)
  • Unzip them directly to the root of your SD card (will work on putting the cfg and sav files in the tyrian folder)
  • Run using HBC (you can run it with something else, but HBC is the standard now). Installing Homebrew Channel

Known Issues

  • Network status unknown.
  • GC pad joystick does not work (buttons do).
  • In Save menu, when using the keyboard, cannot type save names, Enter does not "RETURN" and confirm the save. Use Wiimote A button or Classic Controller b button (defaults).

If you know of or find anything else, or you think of an improvement you'd like to suggest, please post it on my Google Code issues page.


  • Add popup keyboard for Wiimote use.
  • Finish 640x480 scaler.
  • Add support for saving/loading on USB HDDs.


1.1.3 - 04 June 2009

  • All scalers are now set to center vertical output on a 4:3 display (at 320x240 [none] or 640x480 [2x, scale2x]). Widescreen is untested, but is still expected to stretch and have a substantial black bar at the bottom. Good thing is that it's no longer clipped at the top.
  • Fullscreen scaling has been abandoned, as the most optimized version of the interpolater (that I could optimize it to) takes too much processor time to complete, and is extremely slow on the Wii. Therefore None, 2x and scale2x are now all open again.
  • Keyboard functionality has been restored to the save game and high scores naming windows. Keyboard input from all alphanumeric characters, plus some symbols, is now supported.
  • As an interim solution for non-keyboard save/score naming, save and high score name input is enabled for all joysticks and DPads now, as well. Use up/down to change the character, right to advance a space, and left to delete. Unfortunately, high score input is untested, but soon will be, and any bugs will be fixed in the next version.
  • Finally, did some cleanup in the OpenTyrian menu. Removed Fullscreen option (it froze the game when activated) and removed 3x, scale3x, and 4x from the scaler options (since SDL can't support that size anyway).

1.1.2 - 28 May 2009

  • All DPads now support bidirectional movement. This makes the GC pad much more viable as a controller to use in OpenTyrianWii.
  • Fix confirmed for the CC DPad bug. It now only functions as a DPad.
  • Unconfirmed fix for HBC 1.0.2 and up (I tested it on my Wii with 1.0.3 and it worked).
  • Because of a bug in the joystick saving function, I have temporarily disabled it. Details in Controls.
  • As a note, turning the volume down on the sfx seems to diminish the popping in the audio, but only slightly. Still looking into a proper resampling.
  • Also, don't change the scaler to anything but scale2x. 2x is now a testing ground for the 640x480 upscale, and is unstable.

1.1.1 - 26 May 2009

  • All DPads are now functional. Wiimote DPad is configured for horizontal gameplay, CC and GC DPads are configured traditionally. However, the CC DPad left seems to act as an escape key. Fix to come later.

1.1.0 - 26 May 2009

  • Fixed sound bug from exit exception fix.
  • Fixed joystick configuration. Wiimote+nunchuk and Classic Controller are now fully configurable!!! Details in Controls.
  • Disabled mouse support (until SDL Wii is fixed with a solution for Wiimote dual functioning as mouse and joystick).
  • All userdata moved to tyrian/userdata. For those with versions earlier than 1.1.0, just move your tyrian.cfg and tyrian.sav files to tyrian/userdata. The next time you exit, joystick.cfg will show up there as well.
  • Button crashes are not confirmed to be fixed, but so far, I have not had any problems since I disabled the mouse functionality.
  • Whatever you do, do not use the GameCube pad yet. It will override (for some reason) the wiimote functionality, and as the GC pad joystick is not functioning yet, you can't navigate or change anything. I will work on a fix for this later.

1.0.1 - 25 May 2009

  • Fixed exception screen on title menu exit selection.

1.0 - 25 May 2009

  • Initial release.
  • Supports game saves natively.
  • Full audio support (music synthesized at 32khz, sfx resampled to 33075). Sfx will pop, music by itself will not.
  • Wiimote/Nunchuk support through SDL Wii's joystick functionality.


The video above, by _Contra_, was captured as widescreen.


  • mindless2112, syntaxglitch, emacs.hacker, and all the people behind the OpenTyrian project.
  • Tantric, SquidMan, everyone else who worked on SDL Wii for finishing the port, including SDL_Net, as well as general support and troubleshooting.
  • yuriks and mindless2112 of the OpenTyrian project for helping me track down the memory bugs.