MOGA Virtual Keyboard

About a month ago I released Moga VK.  This is an application that can turn a standard MOGA controller into a keyboard.  This is useful for games or applications like my emulators that do not directly support MOGA.  There is an application to do this already called MOGA Universal.  The major difference is it handles the Bluetooth connection on its own, this leads to many benefits but also adds a whole layer of complexity and potential crashes.  MOGA VK uses MOGA Pivot to manage the connection, this guarantees a stable and hassle free connection at a loss to some expert level features.  The app is very easy to use, merely start it up, enable the MOGA IME and it is ready to go for my emulators.

Enjoy!

Download

Eclipse – See All Shortcuts Available

A short post but a big tip.  It seems I have somehow used Eclipse for years without learning this very simple hotkey.

CTLR+SHIFT+L

This will bring up a window showing all available shortcuts given the current context.  There are hundreds of hotkeys available in Eclipse and the only way to make them habit is to find and use them.

Wii Transfer WiiU Keep Data

I’ve been asked this many times in the past two days. The WiiU supports transfering all the data from your Wii to itself (with cute Pikmin carrying all the data). The problem is that all the data is deleted from the Wii, nearly restoring it to a factory state. This can be quite undesirable especially for those who intend to keep using their Wii for other reasons.  This requires a Wii already running homebrew.

To solve this is pretty simple:

Everything except any virtual console games installed to your SD Card will come back.

Android NDK GCC 4.6 (Update) + Bug Fix

Now that GCC 4.6 has been made the default toolchain in the Android NDK there is no need to follow any special steps. Check out Android NDKr8b.

It has a known bug already.  The STANDALONE toolchain that some use build from the NDK incorrectly sets up the paths for C++ headers.  The fix is seen here on the bug report (https://android-review.googlesource.com/#/c/39878/).

In short:


mv $NDK_TOOLCHAIN/arm-linux-androideabi/include/c++/4.6 $NDK_TOOLCHAIN/arm-linux-androideabi/include/c++/4.6.x-google

Enjoy the extra C++11 features such as lambda and constexpr.

Android NDK Standalone GCC 4.6

Not entirely sure when Google started to include the GCC 4.6 sources.  I have first noticed it at the current NDK r8 when running the download-toolchain-sources.sh

You have to compile it yourself.  There are instructions out there but now that google is including it things have gotten easier.  These instructions only apply to Linux.  Specifically tested in Ubuntu 12.04.

  • sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl
  • Download NDK
  • Untar NDK to [SOME_LOCATION], using /opt/ndk/
  • Set NDK_ROOT=/opt/ndk/
  •  ./build/tools/download-toolchain-sources.sh src/
  • Download MPC 0.9
  • Move mpc tar to ./src/mpc/
  • ./build/tools/build-gcc.sh --gmp-version=4.3.2 --mpc-version=0.9 --mpfr-version=2.4.2 --binutils-version=2.21 $(pwd)/src $(pwd) arm-linux-androideabi-4.6
  • ./build/tools/build-gcc.sh --gmp-version=4.3.2 --mpc-version=0.9 --mpfr-version=2.4.2 --binutils-version=2.21 $(pwd)/src $(pwd) x86-4.6
  • ./build/tools/build-gcc.sh --gmp-version=4.3.2 --mpc-version=0.9 --mpfr-version=2.4.2 --binutils-version=2.21 $(pwd)/src $(pwd) mipsel-linux-android-4.6
  • (Patience)

Now you can generate a standalone toolchain for distribution:

  • ./build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.6 --platform=android-9 --install-dir=/opt/android-9_arm/
  • ./build/tools/make-standalone-toolchain.sh --toolchain=x86-4.6 --platform=android-9 --install-dir=/opt/android-9_x86/
  • ./build/tools/make-standalone-toolchain.sh --toolchain=mipsel-linux-android-4.6 --platform=android-9 --install-dir=/opt/android-9_mips/

Done.

Similar steps can be applied to MAC OS X however setting up the development environment is far more annoying.  I have a feeling this might be near impossible to pull off in Windows without jumping through major hoops.