2014年11月30日日曜日

lcdtoolにスクリプト機能を追加しようと思ってNT-Basicの方を改良する事になる話

割と地味なlcdtoolの地味な改良を考える(だけ)」でlcdtoolにスクリプト機能を追加する事を考え、手っ取り早くNatural Tiny Basic (NT-Basic)を使ってやっつける事にしたのですが、NT-Basicのウェブの説明が、最新の機能と説明が食い違うなど、まったく酷い感じでした。自分で作っていながら、「あぁ、何だこりゃ」という感じ。

lcdtoolに組み込み作業を始めた時点で「あぁ、抽象化層に外部オブジェクトへの参照を渡したいなぁ」とか「ウェブをもっと綺麗にしたいなぁ」とか、本来のlcdtoolの機能追加とは本来関係ない事を考え始めました。

そもそもNT-Basicは、Windows、Mac OS、Linux、組み込みシステム、様々な環境で動作させる事ができるように設計してあるのですが、あらゆる環境に組み込む時の理解のしやすさも重要なポイントになります。

でも、従来のウェブには理解の助けになる情報が殆ど存在せず、実際に組み込みたい気持ちになるには何らかの積極的な動機が必要でした。そして、ただでさえ「いまさらBASIC感」が溢れているのに、積極的な動機を見つけるのは難しいものです。

とはいえ、教材としての面白さもあるので、NT-Basicの小さな改良とウェブの更新を先に行なう事にしました。


新しくリリースしたNatural Tiny Basic (NT-Basic)のVersion 0.3.0では、NT-Basicの初期化時にextobjに渡したポインタをhal.c内部で受け取る事ができます。これにより、NT-Basicのインスタンス毎に別々の処理を実行させる事も可能です。

また、新しくなったウェブには従来よりもわかり易い説明を追加しました。
ちょっと遊んでみたい人には参考になると思います。