EDU mk1のブートローダ

EDU mk1にはブートローダがなかったので、いまさらですが作ってみました。
ゆきさんが作ってくれたLED game用のブートローダ「MMCboot」を勝手に改造しています。
http://sourceforge.jp/projects/nicobasic/releases/40806/note
これで、EDU mk1でもSDカードからNicobasicやゲームが起動できるようになり(AVRライタ不要)、すごい便利になります。
ちなみにEDU「mk2」用のブートローダhttp://nicotak.com/nicobasic/edu2に公開済みです。

ATmega168のフラッシュROM(全16KB)のうち、後半4KB(0x3000〜0x3FFF番地)をブートローダ用に割り当てます。実際のブート領域は2KBですが、2KBはアプリ領域から借りてます。詳しくはデータシートを参照してください。
差し引き、使える容量が12KBしかありませんが、シンプルなゲームなら問題なく収まります。
さすがにNicoBasicは容量がギリギリなので、EDU mk2用のものと比べて機能が限定されています。


▲こっそり付けておいたSDカードのスロット。
初期のバージョンではパターンの裏おもてを間違ってしまい、ソケットを裏返しにハンダ付けしないといけませんでした。マヌケです(公開版では直しました)。
ソケットはぐらぐらするのでホットボンドで固めています。

▲SDカードを入れた状態でBスイッチを押しながら、電源を入れる(もしくはリセットを押す)とブートローダが起動します。
SDカードのトップディレクトリにはあらかじめ拡張子が「bin」のファイルを入れておきます。
左/右のスイッチを押してファイル名を選んで、Aスイッチを押すとフラッシュROMに書き込みます。

▲edu1test.binを書き込んで実行した様子。一度書き込んだら、SDカードは抜いてかまいません。

▲バッテリ基板を取り付けた様子。
昇圧IC(TL499)搭載なので、単三1本で動きます。
あと、基板間のスペーサには消しゴムペンの消しゴムを使ってます。