create every day - 福野泰介の一日一創

4ビットマイコン学研GMC-4のエミュレーターをIchigoJamで作る

2015/05/09 23:55:00
#KidsIT #IchigoJam 

世界初のCPU「4004」、数々のアーケードゲームやMSXにも使われた名CPU「Z80」が、共に静岡市生まれの日本人、嶋正利氏による功績であることを教えてくれた「大人の科学vol24」。付録の4ビットマイコン「GMC-4」は、1981年に電子ブロックのマイコンブロックとして登場した学習用マイコン(CPU)の再現。IchigoJamでエミュレーターをつくってみました。(動画「GMC-4エミュレータ on #IchigoJam」)


ひとまず表示はシンプルに!


こちらが復刻版実機GMC-4。マシン語は31種類とコンパクト。慣れてくると、16進数キーボードから片手でサクサク入力して、さっと動かして遊べます。直接マシン語を操るのも楽しいですが、シンプルなのでコンパイラづくり入門にも良さそうです。「学研 大人の科学マガジン Vol.24 4ビットマイコン GMC-4 @ wiki - リンク」には、各種エミュレーターや、BASICコンパイラや、なんとCコンパイラまで!


IchigoJam版GMC-4エミュレーターのソースコードはこちら「gmc-4.txt / 1KB」。プログラムは先頭で配列にいれ(11行)、7セグLEDと7つのLEDを16進数と2進数で表示(30行)し、実行中のマシン語とレジスタも簡易表示させています(35行)。


命令コード0〜Fの実装です。IchigoJamではスペースはあってもなくても構いません。容量節約のため削ってしまったのでわかりづらいですが、変数は必ず1文字なので読めます(=コンピューターも解読可能)。E=14はGOSUBでサブルーチンへジャンプ!


同様に、こちらがEの処理です。EE(CAL DEM-)とEF(CAL DEM+)は未実装です。複数桁の演算するプログラムを試す場合など、必要に応じて追加してください。いくつかサンプルを入力してみたところ、そこそこ動いているようですが、速度は実機よりずいぶん遅く、動作もたぶん完全ではないです。


マルツ福井二の宮店に、IchigoJamコーナー!


(photo by @yrm__ Yuichi Ray Matta)
量産されるIchigoJam完成版

- こどもパソコンIchigoJam

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image