Posts Tagged ‘Japan’

GMC-4 now available from The Maker Shed

December 3, 2009

Good news!  There is another source for the Otona no Kagaku kits in the US.  It seems that The Maker Shed, the online store for Make Magazine is the exclusive US distributer of Gakken products which includes Otona no Kagaku.  It appears that The Maker Shed is not picking up all the issues of Otona no Kagaku but they are offering issue 24 which features the 4-bit Microcomputer.  The 4-bit microcomputer kit is being offered for $39.95 which is quite reasonable in my mind considering the current exchange rate.

There is a note in the 4-bit Microcomputer product description that warns that there is no English translation available at this time.  Does this mean a translation is in the works?  Until this translation is available, I am willing to help other GMC-4 owners over the language hurdle.  Just send me a message via a blog comment.

The Denki-Guy

Advertisements

“hello world” from the GMC-4

August 25, 2009

The GMC-4 is the Cracker Jack Prize that comes bundled with Otona no Kagaku Magazine, Volume 24.  I assume that GMC stands for Gakken Micro-Computer and the 4 indicates four bits.  In earlier blog entries I talked about Otona no Kagaku magazine in general and about the contents of Volume 24.  In this entry, we will check out the Gakken 4-bit microcomputer itself.

The GMC-4 like other Otono no Kagaku furoku (prizes) is a kit.  Veteran electronic kit builders will be a bit dissapointed in that there is very little to assemble.  All one needs to do is attach the speaker and circuit board to the base and apply the press-on template for the keypad.  The circuit board comes pre-assembled on a 2.5″ x 4.75″ single sided circuit board.  I imagine that the GMC-4 could have been designed like the long gone Heath Kits where the builder actually soldered components to the circuit board but, the editors at Otona no Kagaku wisely decided to pre-assembled the board.  By choosing the a pre-assembled board approach, the board could be designed using less expensive surface mount technology.  More importantly, the boards can be tested before shipping.  The Denki-Guy’s GMC-4 worked the first time. 

After the kit is assembled, all you need to do is insert fresh alkaline batteries and slide the power switch to on.  It is recommended that you do not use rechargeable batteries as the output voltage it too low.  If the 7-segment LED shows “F” when power is first turned on, the GMC-4 is probably working.  The easiest eay to test is to run one of the build-in sample programs.  Sample program 1, the Electronic Organ needs little explanation.  To start the program, punch in “RESET”-“9”-“RUN”.  To play the organ, simply press a key (1 thru E) on the keypad and a note will be played.

I think I will skip a detailed explanation of the sample programs.  Even if you don’t read Japanese, the operation of most of these programs can be figured out by looking at the illustrations and playing with the program.  If you need any help figuring something out, feel free to leave me a comment asking your question.  The Denki-guy is happy to help.

After playing with the sample programs a bit, many of us are inspired to learn how to write our own programs.  Writing programs for the GMC-4 is both easy and hard at the same time.  It is easy in that there are only 30 machine instructions to learn.  Poking around the web, I discovered that a fellow blogger, Curtis Hoffmann,  has already published English (programming) instructions the GMC-4.  Since the GMC-4 processor is relatively simple, even a beginner should be able to understanding what exactly each instruction does.  The hard part is learning how to string these simple instructions together to perform a useful task.  I will try to help with this part.  As is the tradition, I will write a “hello world” program first.

I will need to take some liberty with the traditional “hello world” program to make it work on the GMC-4 .  The problem is the limited output capabilities.  The only output we have to work with is one 7-segment LED, 7 individual (binary) LEDs and a speaker.  Now, since the GMC-4 has special instruction to produce tones on the speaker, I decided my program should beep out “HELLO WORLD” in international Morse code.

I must admit, I got the idea to send HELLO WORLD in Morse code while reading the programming manual for the FX-MyComR-165, the predecessor to the GMC-4.  The R-165 programming manualis available on the Otona no Kagaku website but only in Japanese.  The programming manual reveals some useful nuggets of information when explaining the computer instructions.  For example, the programming manual indicates the Call Short Sound (CAL SHTS) and Call Long Sound (CAL LONS) instructions are specifically designed for generating Morse code.  Here are the explanations from the manual:

About the CAL SHTS instruction
The execution of this instruction generates a short sound that is passed on port bit R3.  This so called short sound along with other features described below is used when writing a program to generate Morse Code Sounds.  The short Morse sound is made up from a short sound and a short rest.

About the CAL LONS instruction
An instruction to make the long Morse sound.  Use when generating Morse code sounds by arranging sequences with the previously explained CAL SHTS (instruction)

There is another nuget in the R-165 programming manual and that is a listing for a Morse code program (experiment No. 69).  This is a great starting point for the hello world program.   A secondary goal of a “hello world” program is to become familiar with development tools.  In the spirit of this goal, let’s use an assembler to help us generate the machine language code.  I was quite surprised to learn that fans in Japan have made a number of GMC-4 assemblers available.  For our “hello world” program I choose to use a very simple assembler that can be found here. I would like to give credit to the author but, I cannot find an information page.  All I know is the page is hosted on musashinodenpa.com.

The simplified "hello world" entered into the assembler

The simplified "hello world" entered into the assembler

One final goal of my “hello world” program will be to keep it simple.  For this reason, I will shorten the morse code message to “h w”.  In (international) Morse Code, “h w” is coded “· · · ·    · — — “.  The dots represent a short Morse sound and the dashes represent the long Morse sound.  If you look at the program listing in the assembler input window (above), you can see the correct sequence of short sounds (CAL SHTS) and long sounds (CAL LONS).  Between the two letters is an instruction of CAL TIMR.  The “Call Timer” instruction is used to create a space between the letters and at the end of the sequence.  Let’s see what the programming manual has to say about the “Call Timer” instruction.

About the CAL TIMR instruction
When this instruction is executed a wait for a fixed time period is generated.  The wait time is decided by the A register and can be calculated:  Wait time = (A register value + 1) x 0.1 seconds.  In (experiment) 26 the A register is set to 5 so (5 + 1) x 0.1 sec = a delay of 0.6 seconds.

 As you can see, the Call Timer instruction is used twice.  The first time it is used is between the Morse Code for H and W.  We now know that Call Timer inserts a delay whose length depends on the value of the A register.  In this program, the TIA instruction is used to place a delay value in A.  At the top of the program you can see A set to 1 and towards the bottom, A is set to 5.  This is used to set the intercharacter and interword spacing respectively.  The final JUMP instruction tells the program to continue from the top.

Okay, now we know how it works, the next step is to teach the program to the microcomputer.  The GMC-4 does not understand the words we wrote; it only understands machine language.  Fortunately, the assembler knows how to translate.  Simply press the ASSEMBLE「アセンブル実行」button to get the machine language.  The assembler will output a chart sort of like the one below ( the actual output is a longer list with only three columns ).  The column headers translate as follows:

アドレス =  Address  = ”Slot” number in main memory

命令 = Assembly Instructions  = Human-readable instructions & data

命令コード = Object Code = Machine-readable data

Assembler output of the "hello world" program

Assembler output of the "hello world" program

The next to last step is to enter the program into the GMC-4 .  Remember that the only thing the GMC-4 understands is Object Code so this is the line of data we will enter.  Fortunately, the data entry process is simple though it can become a bit tedious for long programs.  To enter the “hello world” program, slide the power switch to on and press “RESET”.  Press the button for the first Object Code instruction, “8” in this case and then press “INCR”.  What you have just done is place a value of 8 in Address 0.  The microcomputer is now ready to input a value into address 01.  Punch in the next code, “1” and “INCR” again.  Continue to input the Object Code values, in order, pressing “INCR” after each value.   After you have enterered the final instruction and pressed “INCR”, press “RESET” “1” “RUN” to start the program.  You should hear the GMC-4 beep out Didididit Didahdah, Didididit Didahdah, endlessly.  Remember, you can press “RESET” to stop the program and save your sanity.

For those of you who are purist and want the program to spell out HELLO WORLD instead of HW, it is a simple matter to expand the program.  The Morse Code for “hello world” is “· · · ·    ·    · — · ·    · — · ·    — — —        · — —    — — —    · — ·    · — · ·     — · ·“.   I will leave it as an exercise for the reader to write the actual program.  My version of the program barely fit into the memory of the GMC-4 (only one unused address).  In fact the program spilled over into the data memory area (address 50 – 5F) but seems to be alright as long as the memory addresses are not used in the program.

I hope you were able to get “hello world” working on your GMC-4.  For my next blog entry, I plan to write a program to make the binary LEDs scan back and forth like the eye of KITT, the talking car in the Knight Rider TV series.  As always, feel free to ask questions or make comments in the comments section.

The Denki-Guy

Otona no Kagaku vol. 24, The Age of the Microcomputer

August 21, 2009

In my previous post, I introduced Otona no Kagaku magazine.  In this installment, I would like to talk about the latest issue on “The Age of the Microcomputer.”  Did you know that a Japanese Engineer, Masatoshi Shima 「嶋正利」, was the primary designer of the first microprocessor?  This is one of the many things I learned from this issue of Otono no Kagaku.

Otona no Kagaku is an interesting magazine by itself but what sets it apart is the Furoku 「ふろく」.  The Otona no Kagaku furoku is cool little kit that complements the magazine.  If you look it up in a Japanese-English dictionary, furoku is generally translated as “supplement” like the color advertizements stuffed into your Sunday Newspaper.  Strictly speaking, the Otona no Kagaku furoku is a supplement as it is an extra that comes along with the magazine but to most readers, it is the main event.  The furoku is the reason they buy the magazine.

Otona no Kagaku magazine, volume 24 is a special edition entitled 「マイコンの時代」, “The Age of the Microcomputer” .  The interesting thing is that this title appears only in small type on the outer cover.  What appears most prominently on the cover, other than the name of the magazine, is 「ふろく4ビットマイコン」which announces the furoku is a 4-bit Microcomputer.  This is a big score.  It’s kind of like getting the little working compass in your box of Cracker Jack.  Now in the age of 64-bit, Quad-Core microprocessors, a 4-bit Microcomputer sounds down right primitive and that is the point.

The complexity of today’s technology can really boggle the mind.  The way I have always kept from being overwhelmed is by breaking down a complex technology into it’s fundamental building blocks.  This is one of the most fundamental strategies known to man, divide and conquer.  The publisher of Otona no Kagaku, Gakken, clearly subscribes to this strategy also.  A 4-bit microcomputer is (arguably) the simplest practical digital computer.  Fundamentally, this 4-bit microcomputer operates in much the same manner as it’s more complex offspring.  Taking on the study of a 4-bit Microcomputer does not seem that intimidating yet, once you understand a microcomputer in 4-bits, all you need to do is duplicate the data paths to get to 8, 16, 32, or 64 bits.

Cover of Otono no Kagaku #24 with callouts to English translation

Cover of Otono no Kagaku #24 with callouts to English translation

Enough of the introduction.  Let’s take a look at the content of the Otona no Kagaku special on “The Age of the Microcomputer.”  The best place to start is to look at the cover.  I have added call outs to a scan of the outer cover to direct you to my translation from the original Japanese
 
  1. Originator of the magazine with the furoku   Adult Edition  “Science and Learning”  Science for Grown-ups magazine,Vol. 24
  2. Special Edition, Understanding the fundamentals of computers and programming
  3. The Age of the Microcomputer
    It all started with the TK-80
    Picture gallery of famous computers
    The man who made the first CPU, Masatoshi Shima
    I produced artificial intelligence in 4 bits by Satoshi Endo
    How can computers calculate using only 1’s and 0’s?
  4. Sample games are included so you can play right away!
  5. You can enjoy an automatic concert by punching in a melody!
  6. Furoku:  The 4-bit Microcomputer
  7. The simplest programmable computer

 

Inner cover describes the 4-bit Microcomputer

Inner cover describes the 4-bit Microcomputer

 The furoku (4-bit microcomputer that comes with the magazine) is a wonderful reproduction of a Microprocessor Trainer style computer that was so popular in the early days of microcomputers.  On the inside front cover is a more detailed description of the 4-bit microcomputer and it’s capabilities.  As before, follow the call outs to the corresponding translation below:

  1. Experience the origins of the computer with a nostalgic MyCom!
    30 years ago computers were called MyCom which embodies both the My from Micro and the My as in personal (Com comes from computer).  Included is a nostalgic one board microcomputer consisting of a single circuit board with all the necessary parts are already mounted.  Although it only has a hexadecimal key pad for entry and 7 segment and binary LEDs for output, various programs like games can be built for enjoyment on the MyCom board.  Wouldn’t you like to experience the enjoyment of programming a simple, yet elegant 4-bit microcomputer?  (The MyCom board is a functional reproduction of the “Denshi Block FX-microcomputer” first released in 1981.)
  2. 7 segment numeric LED
    For confirming data entry and display of program execution results
  3. Binary LEDs
    A binary number display for things like the address, also used for LED games
  4. Speaker
    Confirmation sound for “peep peep” input and melody sound output
  5. Hexadecimal Keypad
    A hexadecimal number keypad that can input 0 thru F
  6. Reset Switch
    For resetting the stored program
  7. CPU (central processing unit)
    For storing a program, executing instructions, etc. The heart of a computer.
  8. Features of the MyCom board
    You can make your own programs by punching in (machine language) command codes using the hexadecimal keypad.
    Because it is simple, even a novice can easily operate the MyCom and grasp computer fundamentals.
    Punch in the data for the notes and you can enjoy a melody.
    Even without punching in a program, you can play with your MyCom right away using the 7 sample programs.

    1.  Electronic Organ
    2. Automatic Music Performance
    3. Wack-a-Mole 
    4. Tennis Game
    5. Musical Note Matching Game
    6. Timer
    7. Automatic Morse Code Transmitter
  9. Program and retrofit examples
    Move the MyCom board while the binary LEDs are shining and a picture emerges!
    Control the movements of the tea carrying doll by extracting the on and off states of the binary LEDs!

I hope you agree with me that the Otono no Kagaku with the 4-bit microcomputer sounds like a winner.  Have you bought one for yourself yet?  In my next post, I will assemble the “The simplest programmable computer” and start running it through its paces.

The Denki-Guy

A Unique Science Magazine from Japan

August 18, 2009
Cover of Otono no Kagaku issue 24

Cover of Otono no Kagaku issue 24

If you have read my about page, you will know that the Denki-Guy is a big fan of science and technology, especially Japanese technology.  Well, it turns out that there is a magazine in Japan that seems to be written specifically for guys like me.  The magazine is called Otono no Kagaku, 「大人の科学」, which I like to translate as “Science for Grown-ups”.  The magazine is published by Gakken, a well known publisher of educational books, magazines and toys.  The title, Science for Grown-ups, may seem a bit odd but, I believe this name was chosen to differentiate this magazine from  Gakken’s better known science publications for children

Each issue of Otona no Kagaku Magazine features a familiar invention from the past.  This invention is used to explain the fundamental principals utilized in more complex technologies today.  Over the course of many articles, the reader is educated on the featured topic.  Commonly, there is an article on the history of the invention and/or the inventor.  Sometimes there is an article on the social impact of the technology that has evolved from the featured invention.  Recent inventions explored in Otona no Kagaku include:  the 4-bit MicrocontrollerPoulsen Wire Recorder and Electromagnetic Engine.  One thing that is unique to Otona no kagaku is that each issue is bundled with a simple hands-on kit which allows the reader to build their own working model of the featured invention.  A series of experiments utilizing the kit are included to encourage the reader to explore the technology in more depth.  Clearly, the magazine is designed to make learning fun, even for us grown-ups.

Otona no Kagaku is slowly gaining recognition here in the US.  The Maker Shed, online store for Make Magazine, now carries many of the Otona no Kagaku issues.  You can also find many sellers of Otona no Kagaku on eBay.  I myself buy Otona no Kagaku at Kinokuniya  Book Store in Seattle.  The one thing that is clearly limiting the popularity of this unique magazine is the fact it is written entirely in Japanese.  Even if you don’t read Japanese, you can still enjoy the historical photographs and elaborate graphics that fill the magazine.  Also, the assembly instructions for the bundled kit are so well illustrated that knowledge of Japanese will not be needed for most people to assemble the kit.  That said, a little knowledge of Japanese will go a long way towards fully enjoying this magazine.

In future installments of this “A Walk Along the Denkigai”, I plan to dive a little deeper into some of the issues of Otona no Kagaku that I own. 

The Denki-Guy

Adding Japanese support to the Eee PC

July 24, 2009

With a name like “Denki-Guy”, you can well imagine that I am a big fan of Japan and things Japanese.  One of the first things I do when I get a new PC is enable Japanese language support.  Now that I have had my Eee PC for a week, it was time to make my Netbook Japanese friendly.

My new Eee PC 900 came pre-loaded with Linux rather than Windows.  The lack of a Windows license fee certainly helped the maker ASUS keep their costs down but there ain’t no such thing as a free lunch.  The cost is the added complexity of configuring and managing the software.  In the case of Windows, Japanese language support is already built in but,  the Japanese language support I want for the Eee PC 900 requires software not bundled with the resident Linux.

The Linux release that ships with the Eee PC 900 includes an input method platform called gcin which is focused primarily on traditional Chinese.  The writeup implies that gcin can support Japanese input also but I want to use SCIM-anthy for my Japanese input method.  I found a  good writeup in English on getting started with SCIM-anthy.  This document describes the required software modules and more importantly, how to use the input method.

When I turned to the web for some help, the Denki-Guy learned that he is not the only person who wants to use Japanese on his US version Eee PC.  Try searching on “Eee PC Japanese Language Support” to see for yourself.  Once again, the fourms on EeeUser.com are very helpful.  The Roseta Stone for me was a post from AngryJohn.  Even with this information I wasn’t ready to blindly type in commands and cross my fingers.  I need to understand what is going on first.  After a few additional hours of research, I was confident that AngryJohn had the right approach.  If you want to quickly add Japanese support to your Linux version Eee PC, follow the steps from AngryJohn.  If you want a more detailed explanation of the process, read on.

From the home page, press Ctrl Alt t to open a terminal window.  Next type the command suand enter the root password in response to the prompt.  The su command will grant the terminal window SuperUserstatus.   All of the commands below must be executed from the SuperUser terminal.

  1. The first step is to tell the package manager, APT, where it can find scim-anthy and the other related packages.  This is done via the sources.list file.  To use xedit to update the file, type the command:  xedit /etc/apt/sources.list.  Add the following entry to the bottom of the list:
    deb http://http.us.debian.org/debian etch main contrib non-free
    Save the changes and close the window.  This entry gives APT a URL where it can look for packages and specifies the “etch” distribution, sections “main”, “contrib” and “non-free”.  More details can be found in the APT HOWTO.
  2. Next we need to tell APT to read the package list from the debian server.  To do this, type the command: apt-get update from the command line.  Don’t worry if you get some warning messages during this process.
  3. Now that APT knows where to find the packages we want, it is time to install components.  The component I installed first was the Japanese font.  This was done by typing: apt-get install ttf-kochi-gothic from the command line.
  4. The next step was to install the Japanese input method components.  The command for this is:
    apt-get install anthy scim-anthy im-switch kasumi
    APT will also install scim since it is required by scim-anthy.
  5. Since we will be using the scim-anthy, we can remove the old input method.  The command to remove gcin is:
    apt-get remove --purge gcin
  6. We can now reconfigure the Locales to tell Linux we will be using this computer in English and Japanese.  Type the command: dpkg-reconfigure locales to launch a GUI which allows you to specify the supported languages.  Select: en_US.UTF-8 UTF-8, ja_JP.EUC-JP EUC-JP and ja-UTF-8 UTF-8.  Deselect any other locales that may be checked.  On the next page of the package configuration GUI, I kept US English (en_US.UTF-8) as the default locale.
  7. The final step is to configure im-switch to use.  Type the command: im-switch -cto run a program which allows you to choose an alternative input method.  Choose the option for scim.  Close the terminal window and reboot.

To test your Japanese input method, open a browser window and press Ctrl Space.  The scim-anthy control bar will appear.  At this point, you should be able to convert Romaji to Hiragana to Kanji. 

Please let me know if these instructions were helpful by filing a comment.

The Denki-Guy