フォト
2018年11月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ

« 豊四季Tiny BASIC for micro:bit をV0.06に更新しました | トップページ | micro:bitをArduino環境で使う (7) シリアル通信 »

2018年2月 4日 (日)

豊四季Tiny BASIC for micro:bit をV0.07に更新しました

豊四季Tiny BASIC for micro:bit をV0.07に更新しました。
公開サイト
  https://github.com/Tamakichi/ttbasic_microbit

V0.06からの変更点
 ・スクリーンエディタの機能強化
    - 全角文字(シフトJIS)対応
    - [F7]キー : 行の分割
    - [F8]キー : 行の結合
    - [DEL]、[BS]でブランク行の削除

  Windows 10上のTeraTermでしか動作確認していませんが、
  IMEでの全角入力に対応しました。
  プログラム中のコメントや文字列に全角文字が利用出来ます。

  弊害としては、日本語コードを通すためにキーコードの一部を変更しました。
  INKEY()でキー判定を行うプログラムでは修正が必要です。
   - [UP]、[DOWN]、[RIGHT]、[LEFT]、[ページUP]、[ページDOWN]、[HOME]、[END]
     等のキーコードを変更しました。

  今後の修正もありうるので、キーコード用の定数を用意しました。
   - KUP、KDOWN、KRIGHT、KLEFT、KSPASE、KENTER   

・全角文字列用関数・コマンドの追加
  半角文字関連を扱う関数の全角対応版を用意しました。
   - WLEN()        : 文字数の取得
   - WCHR$()      : SJISコードから文字への変換
   - WASC()     : SJIS文字のSJISコードの取得
   - WCSTR$() : 変数が参照している文字列の出力

・美咲フォント(8x8ドット 教育漢字)対応
  フラッシュメモリに教育漢字(+英数記号・ひらがな・カタカナ)を乗せました。
  利用頻度の高い1710文字が利用出来ます。
  SJISコードにて該当するフォントデータを参照することが出来ます。
   - WADR(SJISコード)  : 指定したSJISコードに対応するフォントデータ格納アドレス取得

・文字列入力関数の追加
  文字列(全角を含む)入力を行う関数を追加しました。
   - GETS()     : 入力した文字列を指定アドレスに格納しそのアドレスを返す。

・不具合対応
  - BIN$(0)がブランク表示となる不具合の対応
  - MATRIX OFFでのポート初期化しわすれの対応
  - LIST表示のIF文で空白がつまる現状の対応
     (新:IF X=CW  X=X-1 旧:IF X=CWX=X-1)


今回の修正で出来るようになった例です。
下記のプログラム実行例は、コメントや文字列に全角を利用しています。
また、"あ"に対応する美咲フォントのデータを参照してそのパターンを表示しています。

  02

次に、Neopixcelマトリックスタイプを使って、文字を表示する例です。
 

プログラムの次のような感じです。

10 'NeoPixelで文字表示
20 SETFONT 0,$50,$A8,$88,$88,$70
30 MSG TOP,0,CHR$(0)
40 NPBEGIN 12,64
50 NPCLS
60 S="こんにちは さい玉":C0=RGB8(0,2,3)
70 FOR I=1 TO WLEN(S)
80 A=WADR(WASC(S,I))
90 FOR Y=0 TO 7
100 D=PEEK(A+Y)
110 FOR X=0 TO 7
120 IF D&($80>>X) C=C0 ELSE C=0
130 IF Y&1 POKE MEM+Y*8+X,C ELSE POKE MEM+Y*8+7-X,C
140 NEXT X
150 NEXT Y
160 NPPUT 0,MEM,64,1
170 WAIT 400
180 NEXT I
190 GOTO 70

機能拡張は、このあたりで一旦止めて、サンプルプログラム等を充実させていきたいと思います。

« 豊四季Tiny BASIC for micro:bit をV0.06に更新しました | トップページ | micro:bitをArduino環境で使う (7) シリアル通信 »

arduino」カテゴリの記事

ARM」カテゴリの記事

micro:bit」カテゴリの記事

表示器制御関連」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/66355581

この記事へのトラックバック一覧です: 豊四季Tiny BASIC for micro:bit をV0.07に更新しました:

« 豊四季Tiny BASIC for micro:bit をV0.06に更新しました | トップページ | micro:bitをArduino環境で使う (7) シリアル通信 »