毎年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 |
機能は少ないので説明する必要がないようなものですが,一応,メニューとメニューアイテムの機能について説明します。
思いつきで作成したものです.あまり,過大な期待はしないでください.読み上げ用ファイルのフォーマットは,船田氏のアセンブラ出力をそのまま利用しています.
他の形式のファイルへの対応が必要な場合は,連絡をください.対応を検討してみます.
公式サイト
技術
開発ツール