diff -ub japanese.orig/Makefile japanese/Makefile
--- japanese.orig/Makefile	2010-04-14 19:41:17.000000000 +0900
+++ japanese/Makefile	2010-04-14 19:32:58.000000000 +0900
@@ -73,6 +73,11 @@
 # Rules for building the hello example.
 #
 ${COMPILER}/hello.axf: ${COMPILER}/display96x16x1.o
+${COMPILER}/hello.axf: ${ROOT}/k6x8/glyph.o
+${COMPILER}/hello.axf: ${ROOT}/k6x8/map.o
+${COMPILER}/hello.axf: ${ROOT}/k6x8/conv.o
+${COMPILER}/hello.axf: ${ROOT}/k6x8/draw.o
+${COMPILER}/hello.axf: ${ROOT}/k6x8/k6x8.o
 ${COMPILER}/hello.axf: ${COMPILER}/hello.o
 ${COMPILER}/hello.axf: ${COMPILER}/startup_${COMPILER}.o
 ${COMPILER}/hello.axf: ${ROOT}/driverlib/${COMPILER}/libdriver.a
diff -ub japanese.orig/hello.c japanese/hello.c
--- japanese.orig/hello.c	2010-04-14 19:41:17.000000000 +0900
+++ japanese/hello.c	2010-04-14 20:13:02.000000000 +0900
@@ -29,6 +29,10 @@
 #include "driverlib/debug.h"
 #include "driverlib/sysctl.h"
 #include "drivers/display96x16x1.h"
+#include "inc/hw_memmap.h"
+#include "driverlib/gpio.h"
+#include "k6x8/k6x8.h"
+#include <stdint.h>
 
 //*****************************************************************************
 //
@@ -52,6 +56,9 @@
 }
 #endif
 
+#define PUSH_BUTTON             GPIO_PIN_4
+#define USER_LED                GPIO_PIN_5
+
 //*****************************************************************************
 //
 // Print "Hello world!" to the LCD on the Stellaris evaluation board.
@@ -66,20 +73,87 @@
     SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                    SYSCTL_XTAL_6MHZ);
 
+    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
+    GPIOPinTypeGPIOInput(GPIO_PORTC_BASE, PUSH_BUTTON);
+    GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, USER_LED);
+    GPIOPinWrite(GPIO_PORTC_BASE, USER_LED, 0x0);
     //
     // Initialize the OLED display.
     //
     Display96x16x1Init(false);
-
-    //
-    // Hello!
-    //
-    Display96x16x1StringDraw("Hello World!", 0, 0);
-
-    //
-    // Finished.
-    //
+    static FullScreenText text;
+    volatile unsigned long int usleep;
+    unsigned int mask_level;
+    {
+      fstInit( &text, "(C) 2010 Naomasa Matsubayashi" );
+      unsigned int mask_level;
+      for( mask_level = 4; mask_level; mask_level-- ) {
+        fstSetMask( &text, mask_level );
+        fstDisplay( &text );
+        for( usleep = 0; usleep != 50000; usleep++ );
+      }
+      fstSetMask( &text, 0 );
+      fstDisplay( &text );
+      for( usleep = 0; usleep != 800000; usleep++ );
+      for( mask_level = 0; mask_level != 5; mask_level++ ) {
+        fstSetMask( &text, mask_level );
+        fstDisplay( &text );
+        for( usleep = 0; usleep != 50000; usleep++ );
+      }
+    }
+    {
+      fstInit( &text, "Stellaris\nÆüËÜ¸ìÉ½¼¨¥Ç¥â" );
+      unsigned int mask_level;
+      for( mask_level = 4; mask_level; mask_level-- ) {
+        fstSetMask( &text, mask_level );
+        fstDisplay( &text );
+        for( usleep = 0; usleep != 50000; usleep++ );
+      }
+      fstSetMask( &text, 0 );
+      fstDisplay( &text );
+      for( usleep = 0; usleep != 800000; usleep++ );
+      for( mask_level = 0; mask_level != 5; mask_level++ ) {
+        fstSetMask( &text, mask_level );
+        fstDisplay( &text );
+        for( usleep = 0; usleep != 50000; usleep++ );
+      }
+    }
+    while( 1 ) {
+      fstInit( &text,
+"Stellaris LM3S811¤ÏºòÇ¯Texas Instruments¼Ò¤ËÇã¼ý¤µ¤ì¤¿Luminary Micro¼Ò¤¬2006Ç¯¤Ë¥ê¥ê¡¼¥¹¤·¤¿ARM¥Þ¥¤¥³¥ó¡£\nUSBÀÜÂ³¤ÎJTAG¥Ï¡¼¥É¥¦¥§¥¢¤¬¥ª¥ó¥Ü¡¼¥É¤ÇÅëºÜ¤µ¤ì¤¿É¾²Á¥Ü¡¼¥É(96x16¥â¥Î¥¯¥íOLED¥Ç¥£¥¹¥×¥ì¥¤ÉÕ¤­)¤¬DigiKey¤Ç5000±ßÄø¤ÇÇä¤é¤ì¤Æ¤¤¤ë¡£\n\n"
+"Stellaris¤ÏÆâÂ¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¤Ë¥Ð¥¤¥Ê¥ê¤ò½ñ¤­¹þ¤ó¤Ç¼Â¹Ô¤¹¤ëPIC¤äAVR¤¬Éý¤òÍø¤«¤»¤Æ¤¤¤ë¥¹¥±¡¼¥ë¤Î¥Þ¥¤¥³¥ó¤À¤¬¡¢¾®¤µ¤¯¤Æ¤âARM¡¢50MHz¤ÇÆ°ºî¤¹¤ëCortexM3¥³¥¢¤Ï32bitÀ°¿ôÆ±»Î¤Î¾è»»¤ò1¥¯¥í¥Ã¥¯¤Ç¼Â¹Ô½ÐÍè¤ë¶¯ÎÏ¤ÊÌ¿Îá¥»¥Ã¥È¤òÈ÷¤¨¡¢°ìÈÌÅª¤Ê8bit¥Þ¥¤¥³¥ó¤Ç¤ÏÆñ¤·¤¤Ê£»¨¤«¤Ä¹âÂ®¤Ê½èÍý¤ò¼Â¸½¤Ç¤­¤ë¡£\n\n"
+"WinARM¤Îºî¼Ô¤Ë¤è¤ë¤È¡¢LM3S811É¾²Á¥Ü¡¼¥É¤ÎJTAG¥Ï¡¼¥É¥¦¥§¥¢¤ÏOpenOCD¤«¤é¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬½ÐÍè¡¢ÆâÂ¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¤Î½ñ¤­¹þ¤ß¤ËÆÃÊÌ¤Ê(¤Û¤Ü³Î¼Â¤ËWindowsÀìÍÑ¤Î)¥½¥Õ¥È¥¦¥§¥¢¤ÏÉ¬Í×¤Ê¤¤¤é¤·¤¤¡£\nArduinoÆ±ÍÍLinux´Ä¶­¤«¤é¤¤¤¸¤ì¤ë¥Þ¥¤¥³¥ó¤Î¤è¤¦¤Ê¤Î¤ÇÇã¤Ã¤Æ¤ß¤ë¤³¤È¤Ë¤·¤¿¡£" );
+      for( mask_level = 4; mask_level; mask_level-- ) {
+        fstSetMask( &text, mask_level );
+        fstDisplay( &text );
+        for( usleep = 0; usleep != 50000; usleep++ );
+      }
+      fstSetMask( &text, 0 );
+      fstDisplay( &text );
+      for( usleep = 0; usleep != 800000; usleep++ );
     while(1)
     {
+        for( usleep = 0; usleep != 100000; usleep++ );
+        fstScroll( &text, 1 );
+        fstDisplay( &text );
+        if( fstIsEnd( &text ) )
+          break;
+      }
+      for( usleep = 0; usleep != 800000; usleep++ );
+      for( mask_level = 0; mask_level != 5; mask_level++ ) {
+        fstSetMask( &text, mask_level );
+        fstDisplay( &text );
+        for( usleep = 0; usleep != 50000; usleep++ );
+      }
+      Display96x16x1Clear();
+      Display96x16x1DisplayOff();
+      GPIODirModeSet( GPIO_PORTC_BASE, GPIO_PIN_4, GPIO_DIR_MODE_IN );
+      while(1)
+      {
+        if( GPIOPinRead(GPIO_PORTC_BASE, PUSH_BUTTON) == 0 ) {
+          break;
+        }
+      }
+      Display96x16x1DisplayOn();
     }
 }
