create every day - 福野泰介の一日一創

IchigoJamの地味改善、ARM製コンパイラμVision IDEで容量削減トライ!

2017/11/05 23:55:00
#IchigoJam 

ワークショップで見かけた子供のつまづきポイント

?TICK () Syntax error

実は、現状のIchigoJamでは Syntax error になってしまいます。(TICKとカッコの間にスペースがある)

?TICK() 15 OK

元を辿ってみると、バージョン1.1の開発中に予約語と16進数の混同を避けるために1コマンド内での空白挿入をできなくしたためでした。

その後、プログラム容量削減とちょっとした高速化のために式評価時に探索するコマンド数を限定したため、上記の問題は起きにくくなっていると判断、バージョン1.2のbeta52では空白を完全無視する形としました。

?TICK () 152 OK ?T I C K () 1581 OK

もう一点、左ALTキーを押しながらキー入力ででる絵文字。実は、右ALTはカナ英字切り替えになっているため使えません。 間違って押してしまうと絵文字がでないだけでなく、アルファベットがでなくなって困ったことになります。 ルワンダでも、英字キーボードで右ALTを押してしまってキーボードが効かなくなったと勘違いされる事態も・・・。

カタカナを使い出すのはちょっと後なことと、日本では「かな」キーがあることと、海外では優先度が低いこと、CTRL+SHIFTで代替が効くことから、右ALTも左ALTも絵文字機能として統一してみました。 PCNのキーボードセットで「かな」シールを貼っている人は要注意・・・。

これでつまづく子供が減ってくれるはず!?

が、いままでのプログラムでおかしくなってしまっては問題なので、あくまで暫定対応。
しばらく様子を見てから正式リリースとします。
IchigoJam 1.2b52 ダウンロード
IchigoJam web でも試せます!)

何か問題あればぜひFacebook/Twitterなどでお知らせください!
他にもつまづきポイントあればぜひ!


「μVisionのエミュレーターでIchigoJamをステップ実行しようとしている様子」

IchigoJamの開発には、gccを使っていますが、ARM製(旧Keil製)のコンパイラ、μVision IDEを使うとプログラム容量が縮むかもとトライしてみました。

コンパイラのバージョン5では、2進数表記が使えなかったので、新しいバージョン6用にいくつか修正して、コンパイル完成!
ただ残念なことに容量が増えてしまいました。マシン語の最適化具合など、別途詳しく見てみたいところ。 ARM社純正のエミュレーターはいろいろチェックするのに重宝しそうです。

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image