IchigoJam BASIC 1.1 以降(開発版では 1.0.2 beta 9 以降)より、
IchigoJam BASIC では LOCATE・SCROLL・CLS でコントロールコードを送出する仕様になりました。
これは PanCake 1.0 で考慮されていないため、誤動作を起こす場合があります。
コマンドを受け入れられずに表示がおかしくなったり、最悪固まって以後のコマンドを受け付けなくなります。
PanCake 1.0 は IchigoJam BASIC 1.0 の時に公開されています。
PanCake のコマンドを実行する前に予め UART 1 または UART 3 を実行して、コントロールコードを送出しないように設定して下さい。
プログラムでは次のコマンドをプログラムの頭部分で入れておくと良いです。
IF VER()>11000 UART 1
IchigoCake BASIC+PanCake でも同じ問題が発生しますが、
独自に拡張されている PC.~ コマンドは UART に関係なく BASIC→PanCake の送出を行います。
そのため、PC.~ コマンド を使用する前提の場合は UART 0 にして回避できます。
ただし、起動直後は何だかの文字列を受け取っている場合があり、改行を含めて、?:UART 0 が確実そうです。
PC.~ コマンド では BASIC 画面にコマンドが出力されないため、BASIC の画面も使用する事が可能です。
UART 0 は MixJuice や USB-シリアル からコマンドなどの受け付けも無効にします。
シリアル送受する場合は UART 0 を用いたプログラムを実行した後 UART 1 を実行して下さい。
PanCake は通常 BASIC とは別に専用に映像・音声出力を行います。
そのため、テレビなどが BASIC とは別にもう1台必要ですが、ディスプレイが1台しかない場合もあるでしょう。
そのため、PanCake と BASIC の画面を切り替えて使用する事もできるようになっています。
映像出力端子近くの J1 ショートピン接続で設定できます。
j2 ショートピン接続で設定できます。
PanCake の VIDEO1〜4 を束ねた部分を
IchigoJam の VIDEO2 に入れます。
下画像の黄色いジャンパワイヤです。
ai.cafe は基板上でこの考慮がされていませんが、
R11 の 100Ω 抵抗を ジャンパ または 0Ω 抵抗にし、
VIDEO 端子を IchigoJam の VIDEO2 に接続する事で
実現できます。
ビデオ入力が 2 端子あるモニタ(4.3 インチが主流)は
白い端子 AV 2 を優先表示させます。
AV 1(黄)に BASIC・JavaScript 側のビデオ出力端子、
AV 2(白)に PanCake 側のビデオ出力端子を差し込み、
?"PANCAKE VIDEO 00 で BASIC へ切り替え、
?”PANCAKE VIDEO 01 で PanCake へ切り替え、
echo PANCAKE VIDEO 00> uart で JavaScript へ切り替え、
echo PANCAKE VIDEO 01> uart で PanCake へ切り替えです。
PanCake 側のビデオ出力へ接続すると、表示がおかしくなる場合があります。
その場合は BASIC・JS 側のビデオ出力へ接続してみて下さい。
この状態で PanCake と BASIC・JS を同時に起動した場合、PanCake は BASIC・JS の起動を検出し、
PanCake は映像出力を非表示にするため、BASIC・JS の画面が優先表示されます。
両方出力されて画面が乱れる場合は、慌てずに ?"PANCAKE VIDEO 00 と入力して下さい。
PanCake 1.0 以降(PanCakeプチコン3号Edition を含む)では ?"PC VIDEO 00 と省略できます。
IchigoCake BASIC では PC.VIDEO 0 も使用できます。
IchigoLatte の場合は起動直後であれば echo > uart を一度実行し、
echo PANCAKE VIDEO 00> uart または echo PC VIDEO 00> uart とします。
あとは必要に応じて表示を切り替えます。
ms または vi などで有効です。
nuby または vi などで有効です。
ts または vi などで有効です。
IchigoLatte FORTH 0.4.0D 現在では
バイナリーコマンドを使用します。
ny または vi などで有効です。
ただし BASIC は VIDEO 0 にすると処理速度が上がるため、
PanCake 側はコマンドを処理しきれなくなり、コマンドを読み落とす可能性があります。
PRINT(?)間に WAIT を入れるなどして調整して下さい。
運営者が実際に使っている感じでは、読み落としは確認していません。
PanCake 1.0 からは対策として BPS コマンドが用意されています。
公式サイトで公開している「りんごでさっちゃん」や PCN 発売の ダンブンゲーム は
PanCake 単独のテレビで動作するように作られています。
PanCake プリント基板では J1 を 1-2 接続にして、端子を直接切り替えるのが良いでしょう。
(2-3 接続での動作は WAIT を増やすなど、プログラムの改良が必要です)
運営者公開の PanCake+IchigoJam プログラム は1画面に対応しています。代わりに実行時は BASIC が非表示になります。
電源を入れた段階で、番号 0 の画像が表示されます。
PanCake と PanCakeプチコン3号Edition では画像が異なります。PanCake はこの画面でバージョンが把握できます。
PanCake C 1.2.1 (この画面でバージョンが把握できます)
PanCakeプチコン3号Edition
「PanCake と BASIC を1画面で使う」を行っている場合は BASIC の画面が表示される状態で正常です。
BASIC と PanCake が合成されておかしい表示になる場合は ?"PANCAKE VIDEO 00 と入力して下さい。
PanCake 1.0 以降および PanCakeプチコン3号Edition では ?"PC VIDEO 00 と省略できます。
更に IchigoCake BASIC では PC.VIDEO 0 も使用できます。
また音声出力を接続している場合、起動音が音声出力されます。これで正常に起動できています。
テレビによっては色が薄かったり、白黒だったり、ブレがあったり、最悪何も映らない事もあります。
出力するテレビを変えたり、電源を変えると改善したりします。
PanCake プリント基板 は発色に問題がある場合、C5 のトリマコンデンサを調整してみて下さい。
PanCake へはシリアル信号でコマンドを送ります。主に下記2種類の確認方法となるでしょう。
PanCake プリント基板は IchigoJam・IchigoLatte の上に重ねます。
または TXD・GND・VCC・VIDEO2 の各端子を付属のジャンパワイヤで接続します。
(PanCake ブレッドボード版や ai.cake は RXD を IchigoJam の TXD と接続します。他3端子は同じ)
通信速度は 115200bps にします。
(BPS 0。初期状態なので、変更してなければ問題なし)
IchigoJam BASIC が 1.1.0 以降の場合
予め UART 1 または UART 3 を実行して
シリアルにコントロールコードを流さないようにして下さい。
IchigoCake BASIC では PC.~ コマンドを使用する場合
UART 0 を使用する事もできます。
PRINT "PANCAKE IMAGE 05
として画面が変化すれば正常です。
IchigoJam web + PanCake では
?"PC IMAGE 05
として下さい。
通信速度は 115200bps にします。
(BPS(0); 初期状態なので、変更してなければ問題なし)
lash>echo > uart;echo PANCAKE IMAGE 05> uart
として、画面が変化すれば正常です。
意図しないコードを PanCake の LPC1114 が
受け取っている可能性があるため、
echo > uart で改行を送信する事で
確実にコマンドを受け付けできるようにします。
USB-シリアルモジュール の TXD と
PanCake プリント基板は TXD、他は RXD を接続します。
通信速度は 115200bps で、
その他 IchigoJam と設定は共通です。( PC 接続 参照)
ターミナルソフトより行単位で
PANCAKE IMAGE 05[Enter]
を送信して画面が変化すれば正常です。
CakeRes は接続しただけでは変化しません。コマンドでリソースを切り替える必要があります。
CakeRes を CN7 に接続します。基板に記載している端子の印字が一致します。
更に TXD のランドに付属のジャンパワイヤを接続し、CN3 の RXD へ接続します。
この状態で次のコマンドを入れてリソースを切り替えて下さい。
IchigoCake BASIC
?"PC !RESUP! 01
IchigoCake JavaScript (IchigoLatte W)
lash>echo PC !RESUP! 01> uart;cat uart
IchigoCake BASIC
?"PC !RESUP! 00
IchigoCake JavaScript (IchigoLatte W)
lash>echo PC !RESUP! 00> uart;cat uart
その後 CakeRes を外して、再起動(電源切→入)し、PanCake の画面が変化している事を確認して下さい。
プログラムなどでの使用時は CakeRes を接続する必要ありません。
直接 PanCake を操作する場合
PANCAKE SPRITE CREATE 00 49
PANCAKE SPRITE MOVE 00 25 13
PANCAKE SPRITE START 05
BASIC 経由で PanCake を操作する場合
PRINT "PANCAKE SPRITE CREATE 00 49
PRINT "PANCAKE SPRITE MOVE 00 25 13
PRINT "PANCAKE SPRITE START 05
IchigoLatte の lash 経由で PanCake を操作する場合
echo PANCAKE SPRITE CREATE 00 49> uart
echo PANCAKE SPRITE MOVE 00 25 13> uart
echo PANCAKE SPRITE START 05> uart
IchigoLatte JavaScript 経由で PanCake を操作する場合
uart("PANCAKE SPRITE CREATE 00 49\n");
uart("PANCAKE SPRITE MOVE 00 25 13\n");
uart("PANCAKE SPRITE START 05\n");
IchigoLatte Ruby 経由で PanCake を操作する場合
uart "PANCAKE SPRITE CREATE 00 49\n"
uart "PANCAKE SPRITE MOVE 00 25 13\n"
uart "PANCAKE SPRITE START 05\n"
IchigoLatte Python 経由で PanCake を操作する場合
uart("PANCAKE SPRITE CREATE 00 49\n")
uart("PANCAKE SPRITE MOVE 00 25 13\n")
uart("PANCAKE SPRITE START 05\n")
IchigoJam web + PanCake の場合
IchigoJam web + PanCake でサンプルを実行する
動作の考慮上プログラムにしてあります。
IchigoLatte FORTH 経由で PanCake を操作する場合
(IchigoLatte FORTH 0.3.0D 以降)
128 uartw 5 uartw 7 uartw
0 uartw 0x49 uartw
128 uartw 6 uartw 8 uartw
0 uartw 37 uartw 19 uartw
128 uartw 4 uartw 6 uartw
5 uartw
※ 日本語 JIS キーボードの場合、\ は ¥ キーで入力できます。
空に風船が飛んだ画像になれば正常です。
ふっ、ふっ、ふうせんぅ〜〜〜 🎈😍←風船大好き
※プチコン3号Edition・CakeRes×レトロゲームズ では
背景・スプライトが異なるため、この表示にはなりません。
BASIC プログラム/風船 に対応版を掲載しています。
IchigoJam BASIC からのサンプルプログラムは
このような感じです。
(IchigoJam BASIC 0.9.8〜、PanCake 0.8〜
PanCakeプチコン3号・CakeRes✕レトロゲーム対応)
10 PRINT "PANCAKE CLEAR 00
20 PRINT "PANCAKE LINE 00 00 ";
30 PRINT HEX$(RND(80),2);" ";
40 PRINT HEX$(RND(45),2);" ";
50 PRINT HEX$(RND(16),2)
60 GOTO 20
IchigoJam web + PanCake でプログラム実行
IchigoJam BASIC 0.9.8 で16進数表記に変換する
HEX$ に対応したため、シンプルなプログラムで
PanCake を操作できるようになりました。
正式版は IchigoJam BASIC 1.0.0 以降です。
IchigoCake BASIC では専用命令を使用できます。
BASIC 画面にコマンドが表示されないため、BASIC 画面も使用できるメリットがあります。
10 PC.CLEAR 0
20 X=RND(80)
30 Y=RND(45)
40 C=RND(16)
50 PC.LINE 0,0,X,Y,C
60 GOTO 20
これは福野さんがブログで紹介していたプログラム
(PanCake 0.5 向けで現在のバージョンでは動作しません)を
最新バージョンで動作するようにしたものです。
IchigoJamカラー!サードパーティー製グラボ、PanCake登場! | 福野泰介の一日一創
IchigoLatte では 16 進数変換出力(BASIC の HEX)がありませんが、
PanCake のコマンドを画面出力しないため、IchigoLatte の画面も使用できるメリットがあります。
(以下 IchigoLatte 0.7〜、PanCake 0.8〜、PanCakeプチコン3号・CakeRes×レトロゲームズ対応)
例えば 2 桁 16 進数をシリアル出力する hex 関数を作成した場合
関数が増えている分、プログラムが長くなってしまいます。
function hex(num){
hexout(num/16);
hexout(num%16);
}
function hexout(num){
var lchr=num;
if(lchr>9){
lchr=lchr+7
}
lchr=lchr+48;
uart(lchr);
}
uart("\n");
uart("PANCAKE CLEAR 00\n");
while(1){
uart("PANCAKE LINE 00 00 ");
hex(rnd(80));
uart(" ");
hex(rnd(45));
uart(" ");
hex(rnd(16));
uart("\n");
}
STAMP・STAMP1・MUSIC SCORE・SPRITE USER は
バイナリーコマンドを使用するよりも、
この方法を使うのが、分かりやすく、使いやすいでしょう。
両方のコマンドを混在させる事も可能です。
プログラム開始直後の uart("\n") および uart(10) は
起動直後に何だかのコードを PanCake の LPC1114 が
受け取っているのを改行コードを送出する事で飛ばして、
確実にコマンドを実行できるようにしています。
バイナリーコマンドを使用すると uart へ直接出力できるため、
プログラムを短くできます。これが実用的ですが、
見た目では何をしているか分かりづらくなってしまいます。
uart("\n");
uart(0x80,4,0x00,0x00)
while(1){
uart(0x80,8,0x01,0,0,rnd(80),rnd(45),rnd(16));
}
関数を作って分かりやすくするのが解決手段です。
function pc-init(){
uart(10);
}
function pc-clear(cn){
uart(128,4,0,cn);
}
function pc-line(x1,y1,x2,y2,cn){
uart(128,8,1,x1,y1,x2,y2,cn);
}
pc-init();
pc-clear(0);
while(1){
pc-line(0,0,rnd(80),rnd(45),rnd(16));
}
IchigoCake JavaScript を使用する場合は、
専用コマンドを使用する事で、短く、わかりやすくなります。
var pc = new PanCake();
uart(10);
pc.clear(0);
while(1){
pc.line(0,0,rnd(80),rnd(45),rnd(16));
}
IchigoLatte で PanCake を操作しやすくするように関数を作成してみました。
そのまま全て入れると長くなってしまうので、必要なコマンドの関数だけを含めて下さい。
IchigoCake JavaScript に近い形式にしていますが、一部違いがあります。
IchigoLatte Ruby も JavaScript 同様に HEX のメソッドを作成するか、バイナリーコマンドを使用する必要があります。
IchigoLatte Forth は前記しているとおり、現状では文字列送出がないため、バイナリーコマンドでの送出が実用的になります。
PanCake の仕様は次のとおりです。
PanCake のコマンドは最小限です。でも工夫次第で、様々な表示や出力を行う事ができます。
ここでは BASIC+PanCake の場合で、
IchigoLatte・JavaScript+PanCake、IchigoCake 専用コマンドではコマンド名が異なります。
PanCake/コマンド一覧 内にリンクしていますので、そちらと
PanCake 公式サイト・PanCakeプチコン3号Edition 公式サイト・IchigoCake の REFERENCE と共に参照して下さい。
?"PANCAKE CLEAR 00
?"PANCAKE LINE 0A 0A 1F 1F 01
ここで使われている 2 桁の英数は 0〜9・A〜F の
16 進数表記になります。
16 進数「0A」は 10 進数で 10、
16 進数「1F」は 10 進数で 31 です。
IchigoJam BASIC では HEX$(値,2) で
簡単に出力させる事ができます。
画面を 色 でクリアします。
色の指定は 16進数 00(10 進数 0)〜0F(15) です。
特に記載がないところでは基本的に ?"PANCAKE CLEAR 00
を行っている前提です。
PANCAKE LINE 開始横 開始縦 終了横 終了縦 色
開始座標から終了座標へ 色 で線を線画します。
?"PANCAKE IMAGE 03
?"PANCAKE LINE 0A 0A 1F 1F 02
CLEAR の代わりに IMAGE を用いると、
PanCake に内蔵された画像を使用する事ができます。
画像の値は 16 進数 00(10進数 0)〜07(7)です。
CakeRes✕レトロゲームは 00(0)~0F(15)になります。
PanCakeプチコン3号Edition および
CakeRes✕レトロゲーム では異なる画像が入っています。
画像にした場合でも線画は同様に行えます。
?"PANCAKE LINE 0A 0A 1F 0A 01
?"PANCAKE LINE 0A 0A 0A 1F 01
?"PANCAKE LINE 1F 0A 1F 1F 01
?"PANCAKE LINE 0A 1F 1F 1F 01
単に 4 辺それぞれの辺を LINE を描きます。
FOR Y=#0A TO #1F
?"PANCAKE LINE 0A ";HEX$(Y,2);" 1F ";HEX$(Y,2);" 01
NEXT
FOR NEXT を用いて 1 行ずつ線画していきます。
FOR R=#01 TO #0F
?"PANCAKE CIRCLE 1A 1A ";HEX$(R,2);" 01
?"PANCAKE CIRCLE 1A 1B ";HEX$(R,2);" 01
NEXT
指定座標と、中心を 1 ピクセル分ずらした座標で
16 進数 01(10 進数 1)から指定半径まで線画すると
塗りつぶした円を描く事ができます。
?"PANCAKE STAMP1 0A 0A 01 0E1F1F1F0E0810E0
1色の線画は STAMP1 を用いて線画できます。
PANCAKE STAMP1 横 縦 色 データ
座標は左上基点です。
データは上から16進数2桁を8行分空白を入れずに並べます
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 0E | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 1F | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 1F | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 1F | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 0E | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 08 | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | 10 | ||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | E0 |
上のデータは 0E1F1F1F0E0810E0 となります。
C=ASC("イ")
?"PANCAKE STAMP1 0A 0A 01 ";
FOR I=0 TO 7
? HEX$(PEEK(C*8+I),2);
NEXT
?
BASIC から PEEK でキャラクタを取り出し、
STAMP1 で線画を行う事が可能です。
?"PANCAKE STAMP 0A 0A 00";
?"00002220";
?"00022222";
?"00022222";
?"00022222";
?"00002220";
?"00001000";
?"00010000";
?"11100000
STAMP を用いると、直接色を指定して線画できます。
PANCAKE STAMP 横 縦 透明色 データ
透明色は 00〜0F で、データにその色が含まれると透過します。
データは 1 文字が 1 ピクセルの色 0〜F です。
上の例では透明色が 0 となっています。
?"PANCAKE SPRITE START 10
?"PANCAKE SPRITE CREATE 00 49
?"PANCAKE MOVE 00 0F 0F
PANCAKE SPRITE START で
スプライトモードと線画モードを切り替えます。
PANCAKE CREATE でスプライトのキャラクターを指定します。
再度用いてキャラクターの変更も可能です。
PANCAKE MOVE でスプライトの表示座標を指定します。
再度用いるとスプライトが移動します。
PANCAKE SPRITE START パターン
パターンは 00〜07 が 固定画像 0〜7、10〜1F が色 0〜F、
(CakeRes✕レトロゲームは 00~0F=固定画像 0~F)
FF がスプライトモードを終了して、線画モードへ戻します。
PANCAKE SPRITE CREATE 番号 キャラクタ
番号は 16 進数 00(10 進数 0)〜0F(15)です。
番号が大きい程手前に線画されます。(重なると前に表示されます)
キャラクターは 00〜AF です。公式サイトなどをご参照下さい。
CakeRes✕レトロゲームは 00~EF です。
PANCAKE SPRITE MOVE 番号 横 縦
横・縦はスプライト左上の座標です。
?"PANCAKE SPRITE USER FE 00 ";
?"00002220";
?"00022222";
?"00022222";
?"00022222";
?"00002220";
?"00001000";
?"00010000";
?"11100000
?"PANCAKE CREATE 00 FE
?"PANCAKE MOVE 00 0F 0F
PanCake 1.0 以降および PanCake プチコン3号Edition では
スプライトを自作する事が可能です。
PANCAKE SPRITE USER 番号 透明色 データ
番号は FD または FE の2つ、他は STAMP と同等です。
?"PANCAKE SPRITE FLIP 00 01
SPRITE FLIP で左右を反転できます。
PANCAKE SPRITE FLIP 番号 反転
反転を 01 にすると左右反転です。00 で元の状態になります。
?"PANCAKE SPRITE ROTATE 00 01
SPRITE ROTATE でスプライトの回転を行います
PANCAKE SPRITE ROTATE 番号 回転
回転 は 01=時計回り 90 度、02=180 度。
03=反時計回り 90 度、00=0 度 となります。
?"PANCAKE SPRITE FLIP 00 01
?"PANCAKE SPRITE ROTATE 00 02
上下反転はコマンド上存在しませんが、SPRITE FLIP で左右反転し、
SPRITE ROTATE で 180 度回転する事で上下反転にできます。
?"PANCAKE STAMPS 0F 0F 49
PanCake 1.1 より PANCAKE SPRITE STAMPS を使用すると、
スプライトを STAMP 同等に線画します。
PANCAKE STAMPS 横 縦 キャラクタ
PANCAKE STAMPS 横 縦 キャラクタ 反転 回転
※ スプライトの画面に表示されている 風船(キャラクター 49)は
(スプライトを自作するを除き)
PanCakeプチコン3号Edition・CakeRes✕レトロゲーム では
異なるキャラクターになります。
?"PANCAKE SOUND 04 00 04 FF 04 FF 05 FF
?"PANCAKE SOUND 04 00 04 04 04 FF 05 FF
?"PANCAKE SOUND 04 00 04 04 04 07 05 FF
?"PANCAKE SOUND 04 00 04 04 04 07 05 00
?"PANCAKE SOUND 04 FF 04 FF 04 FF 05 FF
最大 4 重で音を出す事ができます。
PANCAKE SOUND 0オク 0音 1オク 1音 2オク 2音 3オク 3音
0〜3 がチャンネルです。チャンネル毎に指定します。
オクはオクターブで、00〜07、04 が標準となります。
音は 00〜0B・0E・FF です。00 より
ド・ド#・レ・レ#・ミ・ファ・ファ#・ソ・ソ#・ラ・ラ#・シ
です。0E はノイズ音です。オクターブで音程が変わります。
FF は音がでなくなります。(休符)
?"PANCAKE SOUND1 00 04 00
?"PANCAKE SOUND1 01 04 04
?"PANCAKE SOUND1 02 04 07
?"PANCAKE SOUND1 03 05 00
?"PANCAKE SOUND 04 FF 04 FF 04 FF 05 FF
SOUND1 を用いると 1 つのチャンネルで音を指定できます。
PANCAKE SOUND1 チャンネル オクターブ
チャンネルは 00〜03 です。SOUND の 0〜3 と共通します。
?"PANCAKE MUSIC SCORE 00 01 70 CDEFGAB>C
MUSIC SCORE で MML 指定によって音を出します。
PANCAKE MUSIC SCORE チャンネル 再生 テンポ・音色 MML
再生 は 01 ですぐに再生します。
テンポ・音色は左の 0〜F がテンポです。大きい程遅くなります。
右の 0〜3 が音色です。0=方形波 1=正弦波 2=80's 3=バイオリン
MML は CDEFGAB-+ の音程指定、~ で伸ばす、R で休符です。
N でノイズ音になります。(オクターブで変調指定可)
<> は > →1オクターブ「高」くするです。
先頭に $ を付けると、繰り返し再生にできます。
?"PANCAKE MUSIC SCORE 00 00 70 $C
?"PANCAKE MUSIC SCORE 01 00 70 $E
?"PANCAKE MUSIC SCORE 02 00 70 $G
?"PANCAKE MUSIC SCORE 03 00 70 $>C
?"PANCAKE MUSIC PLAY 01
?"PANCAKE MUSIC PLAY 00
MUSIC SCORE の 再生 を 00 にしておく事で
すぐに再生せず、MML を貯めた状態になります。
これで各チャンネルの MML を登録した後、
MUSIC PLAY 01 で再生する事ができます。
MUSIC PLAY 00 で停止できます。
?"PANCAKE OUT FF
PanCake 固有の OUT1〜8 の出力状態を変更します。
PanCake プリント基板の場合は CN3 へ接続します。
PanCake ブレッドボードや ai.cake は CPU の該当端子です。
PANCAKE OUT 状態
状態は OUT1〜8 が 16進数 01 02 04 08 10 20 40 80
(10進数 1 2 4 8 16 32 64 128)となります。
これらを加算した値で設定します。
?"PC !RESUP! 01
IchigoCake で CakeRes を使用している場合に
内蔵の画像・スプライト・音楽を変更します。
CakeRes を CN7 端子へ接続し、
CakeRes の TXD と CN3 の RXD を
ジャンパワイヤで接続します。
PC !RESUP! リソース
00 がデフォルト、01 が CakeRes へ切り替えます。
約 20~30 秒要します。メッセージが表示されます。
終了後は再起動(電源切→入)して下さい。
通常 PanCake では
?"PANCAKE CLEAR 00
?"PC CLEAR 00 (PanCake 1.0〜・PanCake プチコン3号Edition で有効)
と記載しますが、代わりにバイナリーコマンドを使用する事で、プログラムを短くできます。
?CHR$(#80,#04,#00,#00)
?CHR$(128,4,0,0)
プログラムからバイナリーコマンドを解析しやすいよう、コマンド ID の順番で一覧にしてみました。
バイナリーコマンド1コマンド最大の長さは96バイトです。MUSIC SCORE は特にご注意下さい。
コマンド部分は コマンド一覧 内の各コマンドにリンクしています。
PDF 形式による印刷版を用意しています。
コマンド | 開始 | 長さ | ID | 値 1 | 値 2 | 値 3 | 値 4 | 値 5 | 値 6 | 値 7 |
値 8 |
0 #00 |
128 #80 |
4 #04 |
0 #00 |
色番号 |
|||||||
1 #01 |
128 #80 |
8 #08 |
1 #01 |
開始 横座標 |
開始 縦座標 |
終了 横座標 |
終了 縦座標 |
色番号 |
|||
2 #02 |
128 #80 |
38 #26 |
2 #02 |
横座標 |
縦座標 |
透明色 |
データ 32バイト |
||||
3 #03 |
128 #80 |
14 #0E |
3 #03 |
横座標 |
縦座標 |
透明色 |
データ 8バイト |
||||
4 #04 |
128 #80 |
4 #04 |
4 #04 |
画像 番号 |
|||||||
5 #05 |
128 #80 |
4 #04 |
5 #05 |
表示 非表示 |
|||||||
6 #06 |
128 #80 |
4 #04 |
6 #06 |
画像 色番号 |
|||||||
7 #07 |
128 #80 |
5 #05 |
7 #07 |
番号 | パターン | ||||||
8 #08 |
128 #80 |
6 #06 |
8 #08 |
番号 |
横座標 |
縦座標 |
|||||
9 #09 |
128 #80 |
11 #0B |
9 #09 |
0 オクターブ |
0 音程 |
1 オクターブ |
1 音程 |
2 オクターブ |
2 音程 |
3 オクターブ |
3 音程 |
10 #0A |
128 #80 |
6 #06 |
10 #0A |
チャンネル | オクターブ | 音程 | |||||
11 #0B |
128 #80 |
可変 |
11 #0B |
チャンネル |
再生 方法 |
速さ 音色 |
MML 可変 (255 #FF を最後に) |
||||
12 #0C |
128 #80 |
4 #04 |
12 #0C |
再生 停止 |
|||||||
13 #0D |
128 #80 |
3 #03 |
13 #0D |
||||||||
14 #0E |
128 #80 |
7 #07 |
14 #0E |
中心 横座標 |
中心 縦座標 |
半径 |
色番号 |
||||
15 #0F |
128 #80 |
4 #04 |
15 #0F |
出力値 |
|||||||
16 #10 |
128 #80 |
5 #05 |
16 #10 |
番号 | 反転 | ||||||
17 #11 |
128 #80 |
5 #05 |
17 #11 |
番号 |
角度 |
||||||
18 #12 |
128 #80 |
37 #25 |
18 #12 |
パターン |
透明色 |
データ 32バイト |
|||||
19 #13 |
128 #80 |
5 #05 |
19 #13 |
通信速度 0=115200bps |
|||||||
20 #14 |
128 #80 |
可変 |
20 #14 |
横座標 | 縦座標 | パターン |
反転 (省略可) |
回転 (省略可) |
|||
21 #15 |
128 #80 |
5 #05 |
21 #15 |
チャンネル | 音 | ||||||
22 #16 欠番 |
|
|
|||||||||
23 #17 |
128 #80 |
4 #04 |
22 #17 |
有効 無効 |
SkyBerryJAM は 栃木県立栃木工業高等学校 が管理する登録商標であり、
SkyBerryJAM は 栃木県立栃木工業高等学校 の商標です。
Raspberry Pi は
Raspberry Pi 財団 の登録商標です。
Raspberry Pi is a registered trademark or
trademark of
the Raspberry Pi Foundation.
"RISC-V" の商品名は RISC-Vインターナショナル が管理する登録商標です。
The “RISC-V” trade name is a registered trade mark of
RISC-V International.