毎年7月最後の金曜日は、「システム管理者感謝の日」本年は、7月31日
2009年6月末に発売された学習研究社の大人の科学マガジン Vol.24 (4ビットマイコン) (Gakken Mook)GMC-4を購入しました.
マイコンを始めた頃を思い出し,いろいろとプログラムを組んで楽しんでいましたが,1つだけ不満がありました.
それは,プログラムが完成したら,すべてを手作業で16進数を入力しなければならないということです.(人力ブートローダー?)
すべて入力しても80個ほどのデータですが,ちょっとした入力ミスでもプログラムは動きません.そんな時は,最初から1つずつ入力内容を確認する必要があります.
そこで,ダンプリストを読み上げてくれるツールがあると便利だと思い,16進数のデータをPhonetic Alphabetで読み上げるプログラムを作ってみました.
16進数のデータ入力に苦労している方は使ってみてください.
Javaで作成したので、基本的には、Java 1.4以上のJVMさえあれば、どのようなプラットホームでも動くはずです。
実行環境がない方は、以下のサイトより、JavaTM 2 Runtime Environment (JRE)を入手してインストールしてください。
以下のパッケージファイルをダウンロードして,適当なディレクトリに展開してください.
サンプルとして以下のリスト2.1[metronome.as4]メトロノームをアセンブルしてみましょう.
START: KA ; キー入力をチェック JUMP START ; キー入力がなければ,先頭に戻る. LOOP: AO ; Aレジスタの内容を数字LEDに点灯する. CAL SHTS ; 短い音を鳴らす CAL RSTO ; 数字LEDを消灯する. CAL TIMR ; (Aレジスタの値+1)x0.1秒の時間待ち KA ; キー入力をチェック JUMP LOOP ; キー入力がなければ,音の再生ループに戻る TIA 9 ; Aレジスタに9をセット CAL TIMR ; 1秒の時間待ち JUMP START ; 先頭に戻る.
仕様
16進キー | 再生間隔 |
---|---|
0 | (0+1)*0.1=0.1秒 |
1 | (1+1)*0.1=0.2秒 |
2 | (2+1)*0.1=0.3秒 |
3 | (3+1)*0.1=0.4秒 |
4 | (4+1)*0.1=0.5秒 |
5 | (5+1)*0.1=0.6秒 |
6 | (6+1)*0.1=0.7秒 |
7 | (7+1)*0.1=0.8秒 |
8 | (8+1)*0.1=0.9秒 |
9 | (9+1)*0.1=1.0秒 |
A | (10+1)*0.1=1.1秒 |
B | (11+1)*0.1=1.2秒 |
C | (12+1)*0.1=1.3秒 |
D | (13+1)*0.1=1.4秒 |
E | (14+1)*0.1=1.5秒 |
F | (15+1)*0.1=1.6秒 |
以下のURLで,船田氏が開発されたWebベースのアセンブラが公開されています.これを使ってソースファイルをアセンブルしてみましょう.
[アセンブル実行]ボタンをクリックすると,アセンブル結果が以下の図2.2[アセンブル結果]の左側のように表示されます.
アセンブル結果を図2.2[アセンブル結果]の右側のように選択後,コピーして,エディタに貼り付けてください.
00 KA 0 01 JUMP F 02 <0> 0 03 <0> 0 04 AO 1 05 CAL E 06 _SHTS 9 07 CAL E 08 _RSTO 0 09 CAL E 0A _TIMR C 0B KA 0 0C JUMP F 0D <0> 0 0E <4> 4 0F TIA 8 10 <9> 9 11 CAL E 12 _TIMR C 13 JUMP F 14 <0> 0 15 <0> 0
ファイルマネーシャーからDumpListReciter.jarをダブルクリックして起動してください.
コンソール(DOS窓)から,起動する場合は以下のコマンドを使用してください.
java -jar DumpListReciter.jar
図2.4[起動画面]のような起動画面が表示されます.
16進数 | Phonetic Alphabet |
---|---|
0 | Zero |
1 | One |
2 | Two |
3 | Three |
4 | Four |
5 | Five |
6 | Six |
7 | Seven |
8 | Eight |
9 | Nine |
A | Alpha |
B | Bravo |
C | Charlie |
D | Delta |
E | Echo |
F | Foxtrot |
機能は少ないので説明する必要がないようなものですが,一応,メニューとメニューアイテムの機能について説明します。
思いつきで作成したものです.あまり,過大な期待はしないでください.読み上げ用ファイルのフォーマットは,船田氏のアセンブラ出力をそのまま利用しています.
他の形式のファイルへの対応が必要な場合は,連絡をください.対応を検討してみます.
公式サイト
技術
開発ツール