超ミニBASIC for H8/SH


液晶表示も簡単です(液晶表示は現在H8版のみ対応しています)

H8/SHのページに戻る


更新:
超々ミニBASICソース解説のページ(08/05/24)

超ミニBASIC for H8/SH とは?

 私 A.Hiramatsu が作った、日立のH8/300H用やSH2用のBASICインタプリタです。現在、H8/3048版(暫定的にH8/3052にも対応)、H8/3664版、SH7050、SH7047版が完成しており、今後他のH8/SHにも対応していこうと考えています。

マンガ入門講座(笑)「RUN RUN 超ミニBASIC」(03/04/08)もよろしく
《おまけ》ど〜でもいいマンガ(07/09/02)

超ミニBASIC for H8/SH の特徴

・CPU単体で動作可、また外付けメモリにも対応

 とくにメモリを外付けしなくても、CPU内蔵のROMとRAMだけで動作可能です。また、CPUの内蔵ROMに置いたBASICテキストをCPUリセット後に実行するようにすることも可能ですので、オールBASICで簡単にワンチップで動くアプリケーションを作成できます。
 RAMを外付けした場合、その外付けRAM上にBASICテキストを置くことも可能です。
※H8/3664、SH7046はハード的にメモリの外付けが不可能なのでH8/3664版、SH7046版は外付けRAMには対応していません。

・内蔵I/Oレジスタアドレス定数

 内蔵I/Oのレジスタアドレスを定数としてもっており、さらにビット操作命令も持っているため、H8/SHの内蔵I/Oを気軽にアクセスできます。H8/SHの内蔵I/Oの学習用としても最適です。

たとえば、

1000 WHILE BTST@(&SSR0,7)=0:WEND ' SSR0のビット7(TDRE)が1になるのを待つ
1010 POKE &TDR0,D ' TDR0にデータを書きこむ
1020 BCLR &SSR0,7 ' SSR0のビット7(TDRE)をクリヤ

みたいなわかりやすい記述が可能です。



・構造化構文

 古いタイプのBASIC(N88-BASIC や MSX-BASIC など)と違い、構造化IF構文や WHILE〜WEND、REPEAT〜UNTILなどのループ構文を持っており、わかりやすいプログラムを書くことが可能です。

・キャラクタ液晶モジュール対応

 秋葉原などで出まわっている多くの種類のキャラクタ液晶モジュールに対応しており、簡単に文字や数値を表示できます。よく使われるキャラクタ液晶は、データRAMのアドレスが飛び飛びになっていたりして扱いにくい面もあるのですが、そういった面倒な処理はBASICインタプリタがやってくれますので、ユーザーはLPRINT文で簡単に文字や数値の表示ができます。
SH版は現時点ではまだキャラクタ液晶モジュールには対応していません。近い将来対応の予定です。

・ソース公開

 BASICインタプリタのソースを添付しています。インタプリタが納得いかない動きをするときはソースを参照すれば原因究明に役立つと思います。ソースを見て、「この辺の処理、なんか間違ってない?」と思ったら遠慮無く私にメール等で文句を言ってください。前向きに対処します。
 また、配布条件さえ守っていただければインタプリタをユーザーのほうで改造しても構いません。配布条件について詳しい事はアーカイブ内のドキュメントに書いてあります。

使い方

 BASICインタプリタをROM(H8/SH内蔵、または外付け)に焼き、H8/SHのシリアルポートとパソコン等のシリアルポートを繋ぎ、パソコンのシリアル通信ソフト(HyperTerm、TeraTermなど)でBASICのプログラムやコマンドを入力して使います。
 BASICプログラムのデバッグが終わったら、BASICプログラムをROMに焼けば、以後H8/SHの電源を入れるたびにそのBASICプログラムが自動的に立ち上がります。

説明書

 以下はH8/3048版の説明書です。3664版、SH版は微妙に内容が異なりますが、大筋は同じです。とりあえず3048版の説明書を読んでいただければ超ミニBASIC for H8/SH の世界の雰囲気を掴んでいただけると思います。

改版履歴

バリエーション

ソース解説

実験室

ダウンロード

超ミニBASIC for H8/3048(cmb3048.zip)をダウンロードする
※cmb3048.zip には暫定3052版も含まれています


超ミニBASIC for H8/3664(cmb3664.zip)をダウンロードする


超ミニBASIC for SH7050(cmb7050.zip)をダウンロードする


超ミニBASIC for SH7047(cmb7047.zip)をダウンロードする


超ミニBASIC for SH7046(cmb7046.zip)をダウンロードする


 ダウンロードしたファイルは+Lhaca、Winzipなどの解凍ソフトで解凍してください。