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

IchigoJamは、画面表示と同時にシリアル信号をTXD端子から出力していて、RXDからの入力をキーボードと同等に扱うように作ってあります。

この機能を利用して、MIDI鍵盤や、サウンドとカラー拡張ボードPanCake、無線LANボードMixJuiceなどが動いていたり、PCと接続してキーボードとディスプレイ替わりになったりしています。(PC接続用のIchigoKamuyも!)

ただ、「画面には出したいけど、シリアル信号出力としては出したくない」や、逆に「シリアル信号は出力したいけど、画面には出したくない」など、ありますよね。 そんなときは、UARTコマンド!送信モードや、受信モードをいろいろ変更できます。

UART使用例)
画面には出したいけどシリアル信号出力しない UART0
シリアル信号は出力したいけど画面には出さない UART9
* 詳しい使い方は末尾参照

また、シリアル信号は出力したいけど、画面には出さない方法として、LC0,-1としてカーソルを画面外に設定する特殊な方法があります。 実はカーソル画面外設定時にINPUTコマンドで入力を受け付けると、変数領域(Yとか)を破壊してしまうバグが発覚!

LC0,-1:INPUT N:?Y

こちら、1.4b14にて修正を行いました。

合わせて、カーソルが画面外のときのエラーが表示されるように変更しています。
バグ修正版では、カーソルが画面外にある場合、"not match"のエラーとなります。

LC0,-1:A

画面にエラーが表示されず分かりづらかったのも改善!

IchigoJam 1.4β14
- LC0,-1で表示停止中のINPUTによるシリアル入力で一部変数が破壊される不具合を修正(Not matchエラー)
- LC0,-1時にエラーが表示されるよう変更
- VER(4)で1秒のTICK数を返す(PALの時50)
- PAL版を同梱
- LRUN3でキーボード切り替えプログラム内蔵版を同梱(-withexchg) *既存ユーザーファイルは消えます
- @ARUNに対応(ap/wasm)
- RESET時に入出力状態がリセットされない不具合を修正(ap/wasm)

UART 数1{,数2}

数1:シリアル出力設定
0:出力オフ
1:PRINT出力
2:PRINT出力+制御コード出力(LC/CLS/SCROLL) - (初期値:2)
3:PRINT出力+改行コード\r\n化
4:エコーバック出力
5:エコーバック出力+PRINT出力
6:エコーバック出力+PRINT出力+制御コード出力
7:エコーバック出力+PRINT出力+改行コード\r\n化
8:画面表示OFF+出力オフ
9:画面表示OFF+PRINT出力
10:画面表示OFF+PRINT出力+制御コード出力
11:画面表示OFF+PRINT出力+改行コード\r\n化
12:画面表示OFF+エコーバック出力
13:画面表示OFF+エコーバック出力+PRINT出力
14:画面表示OFF+エコーバック出力+PRINT出力+制御コード出力
15:画面表示OFF+エコーバック出力+PRINT出力+改行コード\r\n化

数2:シリアル受信設定
0:入力オフ
1:入力オン - (初期値:1、省略時)
2:ESC無効
4:CR変換 (13→10)
6:ESC無効+CR変換

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