I/O
ポート | R/W | 説明 |
00H | W | LED出力 (正論理。右がLSB) |
01H | R | パッド・ボタン 0~7 |
02H | R | パッド・ボタン 8~15 |
03H | R | パッド・アナログ 0X |
04H | R | パッド・アナログ 0Y |
05H | R | パッド・アナログ 1X |
06H | R | パッド・アナログ 1Y |
10H | W | シリアル送信 (バッファは潤沢?) |
11H | W | ボーレート変更 (0:4800,1:9600,2:14400,3:19200,4:31250,5:38400,6:57600,7:115200(デフォルト))…要動作確認w |
10H | R | シリアル受信(11Hで受信ありを確認後) |
11H | R | シリアル受信チェック(00H:受信なし,FFH:受信あり) |
20H | W | MIDI 第1バイト(ステータス)。第2~第4バイトを先に書いた上でここへ書き込むことで、第2~第4バイトを伴って送信する(書き込みトリガー) System Exclusive は4バイトに区切って分けて送信する。その場合も、各々の送信では、この第1バイト目を最後に書き込む |
21H | W | MIDI 第2バイト。書き込みはバッファされ、第1バイト目が書き込まれると続いて送信される |
22H | W | MIDI 第3バイト。書き込みはバッファされ、第1バイト目が書き込まれると続いて送信される |
23H | W | MIDI 第4バイト。書き込みはバッファされ、第1バイト目が書き込まれると続いて送信される |
20H | R | MIDI 第1バイト(ステータス)。ここを読み出すことで第2~第4バイトにも受信データをセットする。 |
21H | R | MIDI 第2バイト。第1バイト目が読まれたタイミングでセットされる。受信データが無い場合は不定 |
22H | R | MIDI 第3バイト。第1バイト目が読まれたタイミングでセットされる。受信データが無い場合は不定 |
23H | R | MIDI 第4バイト。第1バイト目が読まれたタイミングでセットされる。受信データが無い場合は不定 |
24H | R | MIDI 総受信データサイズ(00H:受信なし)。受信ありの場合、続けて第1~4バイトからデータを読み出す必要がある System Exclusive の場合、受信データ分だけ、複数回に分けて第1~4バイトから読み出す |
30H | R | フリーラン1msecタイマーの下位8bit。読み出すと上位8bitがバッファされる。カウントはダブったり飛ぶ場合がある(エミュレーション粒度の問題。ズレは累積しない) |
31H | R | フリーラン1msecタイマーの上位8bit。下位を読みだした時にバッファされた上位の値が読み出せる |
40H | R/W | シリアルSRAMのアドレス下位(0~7bit)。書き込むと即反映 |
41H | R/W | シリアルSRAMのアドレス中位(8~15bit)。書き込むと即反映 |
42H | R/W | シリアルSRAMのアドレス上位(16~23bit)。書き込むと即反映 |
43H | W | シリアルSRAMの初期化。何か書き込むと40H~43Hの値をサイズと見なしてメモリ領域を確保する |
44H | R/W | シリアルSRAMの読み書き。40H~43Hで指定されたアドレスを読み書きする。アクセス後アドレスは自動インクリメント |