最初に書いておきますが、G800シリーズにはスピーカー(圧電ブザー)がついていません。したがって、音を鳴らす命令BEEPは隠し命令としてマニュアルには載っていないのです。しかし、BEEP命令があるためにスピーカーを自作するだけで音を出すことができるようになります。
自作についてはここでは扱っていませんのでリンクの中のAijawaさんやNO1さんのサイトをご覧になってください(笑)
《 BEEP命令の使い方 》
BEEP A,B,C
という形で音が鳴らせます。なお各パラメータは省略も可能です。例えば、「BEEP3」とすると3回ほど高い音(約4KHz)が鳴らせます。
A(鳴らす回数)は0〜65535、B(音の高さ)は0〜255、C(音の長さ)は0〜65535の範囲が指定できます。(整数部分のみ有効で小数点以下は切り捨てで扱われる)
以下にG800シリーズとE500シリーズの音階表を記します。
この中で、「音の長さ」は1秒間鳴らすためのCの値になります。つまり、言い換えれば、テンポ60の4分音符と同じことです。テンポが2倍になったらこの値は半分になり、音符の長さが半分になった場合(4分音符を8分音符にするなど)も半分になります。
なお「OMP」というのは音階演奏ソフト「OMP」で表した音の高さを示します。つまり、「OMP」を使用すれば、音階演奏をしても両シリーズ共通のソフトを作ることが可能なのです。
ド | #ド | レ | #レ | ミ | ファ | #ファ | ソ | #ソ | ラ | #ラ | シ | |
高さ(G800) | 218 | 206 | 194 | 182 | 172 | 162 | 152 | 143 | 135 | 127 | 119 | 112 |
高さ(E500) | 222 | 208 | 195 | 183 | 172 | 161 | 150 | 141 | 132 | 123 | 115 | 107 |
長さ(共通) | 262 | 277 | 294 | 311 | 330 | 349 | 370 | 392 | 415 | 440 | 466 | 494 |
OMP | A | B | C | D | E | F | G | H | I | J | K | L |
ド | #ド | レ | #レ | ミ | ファ | #ファ | ソ | #ソ | ラ | #ラ | シ | |
高さ(G800) | 105 | 99 | 93 | 87 | 82 | 77 | 72 | 68 | 64 | 60 | 56 | 52 |
高さ(E500) | 100 | 93 | 86 | 80 | 75 | 69 | 64 | 59 | 55 | 50 | 46 | 42 |
長さ(共通) | 523 | 554 | 587 | 622 | 659 | 698 | 740 | 784 | 831 | 880 | 932 | 988 |
OMP | M | N | O | P | Q | R | S | T | U | V | W | X |
ド | #ド | レ | #レ | ミ | ファ | #ファ | ソ | #ソ | ラ | #ラ | シ | |
高さ(G800) | 49 | 46 | 43 | 40 | 37 | 35 | 32 | 30 | 28 | 26 | 24 | 22 |
高さ(E500) | 39 | 35 | 32 | 29 | 26 | 23 | 21 | 18 | 16 | 14 | 12 | 10 |
長さ(共通) | 1047 | 1109 | 1175 | 1245 | 1319 | 1397 | 1480 | 1568 | 1661 | 1760 | 1865 | 1976 |
OMP | Y | Z | [ | ¥ | ] | ^ | _ | ‘ | a | b | c | d |
ド | #ド | レ | #レ | ミ | ファ | #ファ | ソ | #ソ | ラ | #ラ | シ | |
高さ(G800) | 21 | 19 | 18 | 16 | 15 | 14 | 12 | 11 | 10 | 9 | 8 | 7 |
高さ(E500) | 8 | 6 | 5 | 3 | 2 | 0 | ||||||
長さ(共通) | 2093 | 2217 | 2349 | 2489 | 2637 | 2794 | 2960 | 3130 | 3322 | 3520 | 3729 | 3951 |
OMP | e | f | g | h | i | j | k | l | m | n | o | p |
この表を見て分かるようにG800シリーズの方がE500シリーズよりも高音まで出すことが可能(CPUのクロック周波数が高いためと思われる)になっています。OMPを使用して両対応のソフトを作る際にはその辺のことをご注意ください。
また、表中の「‘」(アスキーコード96)はE500では[SHIFT]+[M]で入力可能(G800では不明)です。
この表を作る際に使った公式を書いておきます。
G800 音の高さ=1300000/22/周波数-166/22 E500 音の高さ=64000/周波数-22.5 共通 音の長さ=周波数*鳴らす時間(秒) |