2010/06/20

gmc-noを更新

gmc-noに、すべての内蔵プログラムを実装しました。これでGMC-4の機能はすべて網羅したことになります。ここまで作るとスケッチも相当なサイズになっているので、もうJapaninoだと容量ぎりぎりです。各プログラムの内容は一応GMC-4の動作に合わせたつもりですが、テニスゲームについては、[F]キーを押したらコンピュータと対戦できるように拡張してあります。

メモリと命令の拡張についての説明も追加しました。
gmc-noの拡張機能

拡張命令や拡張メモリを追加しても、それを使うプログラムがないと意味がないだろう、と言われるとまったくその通りですが、今回は「拡張機能をつけること」自体がひとつの目的だったので、それはそれで満足なのです。このあたりは、子どものころに買えなかったおもちゃを大人買いする感覚と似ています。

ただ正直、それだけではモチベーションとして不十分です。これと同じものをPICで作るのには、あんまり意義は感じられませんが、Arduinoベースで作ることには大きな意味があるような気がしています。

2010/06/13

GMC-4 on Japanino (or Arduino), 略してGMC-no

Japaninoで作るGMC-4の、ハード/ソフトのバグ取りと調整がだいたいできたので、スケッチを公開しました。
gmc-no
GMC-4というよりもむしろ、FXマイコンを再現したというべきかも。

2010/06/06

JapaninoでGMC-4を作る

この間作ったシールド基板に、そのへんにあった部品を乗せて、GMC-4シールドを作ってみました。
基板が狭いので、抵抗とかは主に裏側に実装しています。(Japanino以外で使うことも想定して、コネクタとかに当たりそうな場所はよけたつもり。)
基板上の部品配置とかもGMC-4に似せていますが、ただGMC-4を忠実に再現するだけじゃなく、GMC-4で不満だった点を改良しようと思っています。GMC-4の実機にプログラムをセーブする機能をつけるだけでも苦労しましたが、全部作っちゃえば何でもありです。
まず、ハード的に、ボリュームとかオーディオ出力とかは最初から付けてあります。LEDはスタティック点灯なのでPOVとか出力端子にも使えます。さらに入力端子を付けて、CAL INPT命令を復活させます。(もしGMC-4がこうなっていれば、ちょっと違った展開になったのかも。。)
ソフト的には、仮想CPUとかのレベルから全部作る必要がありますが、もともとシンプルな仕様なので意外と簡単です。(Arduinoだし。) すでにシリアル通信やEEPROMを利用したプログラムのロード・セーブ機能も実装していますが、それ以上の拡張もできそうです。

2010/06/01

Arduinoのシールド基板を作る

Arduinoのシールドは簡単に作れそうに見えますが、いざ作ろうとすると、いきなり壁にぶち当たります。よくあるサイズのユニバーサル基板だと微妙に足りないし、そもそも一部のピンヘッダがずれているので、普通の基板にピンヘッダを立てても、Arduinoには刺さりません。でも大丈夫。L字型のピンヘッダがあれば、普通のユニバーサル基板でもなんとかなります。

まず、基板の端の穴にスズメッキ線を通して1周半巻きつけ、ラジオペンチでしっかりと締め付けて、表側ではんだ付けします。
次に、裏側から、このスズメッキ線の隣に並べるようにL字型ピンヘッダをはんだ付けします。
このとき、ずれてるところだけ反対側に並べるのがミソ。
こうすることで、スズメッキ線の直径x2ほどピンヘッダの位置がずれて、ちょうど良い具合になるのです。(もちろん、ときどきArduinoに軽く刺して確認しながら位置決めした方が良いです。)
これならピンヘッダはガッチリ固定されるので、強度的にも心配ないでしょう。今回使ったのは、かなり端のほうまでランドのある両面基板ですが、もっと穴の少ない、一番安い片面基板でも同じ方法でいけるはずです。