curious4dev

色々ダメなandroidアプリを開発したい会社員 高橋が綴る、androidアプリ開発やArduinoについて

*

Arduino+YMZでドラクエ2の「Lovesong探して」を鳴らしてみた。

 

お疲れ様です。高橋です。

先日作った「DQ2 – Lovesong探して」for Arduino+YMZ294を実機で鳴らしてみました。

前半と後半の間に、ArduinoとYMZの結線を逆転させています。(後半は牧野アンナバージョンにしてます。)

合わせて、「YMZシールドの基板設計」及び「YMZシールドの基板設計 #2」で発見した課題である、「Arduinoの上にYMZシールドを挿すと、ArduinoとYMZの間のデジタル0~7番の結線が逆転する問題」についても、ビット逆転(10011111を11111001にする)する事によって問題なくYMZを操作出来る事が確認出来ました。

結線を逆にする方法

まず、wp.hrmux.comさんのサイトで公開されているYMZ294ライブラリを展開し、クラス名を「YMZ294」から「YMZ294R」に変えます。

030101

そして、YMZ294.cppの一番下の方にbitReverseというメソッドを追加します。こいつは1バイト(8ビット)の並びを逆転させてます。

で、既存のset_regiseterのPORTDに与える1byteを、先に追加したbitReverseで逆転させるよう、下記のように修正します。

そして、YMZ294.hのprivate宣言箇所に、bitReverseメソッドの宣言を追加しときます。

030102

最後に、既存のライブラリとの衝突を防ぐために、YMZ294R.cppとYMZ294R.hというように名前を変更しておき、2つのファイルをYMZ294R.zipとして圧縮してしまいます。

030103

Arduino IDE側で「スケッチ / ライブラリを使用 / Add Library…」でzipを指定した後、下記のように選択します。

030104

あとはいつもの様にSMFをArduinoコードに変換するツールを使って変換すればOKです。

スケッチは下記からDL出来ます。

  • dq2_ls – Arduinoデジタル0~7番と、YMZの18~11番が対応している。
  • dq2_ls_reverse – Arduinoデジタル0~7番と、YMZの11番~18番が対応している。

今回の実験によって下記実体配線図がそのままイケると踏んだので、いよいよ今度は半田付けです。

2015022301

以上、よろしくお願い致します。

 - 耳コピArduino

  関連記事

YMZ294で鳴らすためのビッグブリッヂの死闘を作ってみた。

お疲れ様です。高橋です。 Arduino+YMZ294で鳴らすため、「ビッグブリ …

Castlevania SotN “Dance of Pales”を耳コピ

お疲れ様です。高橋です。 久々に耳コピ。Castlevania Symphony …

久々に耳コピ。FF4バトル2

お疲れ様です。高橋です。 超ひさしぶりに耳コピしました。 FF4のバトルテーマ2 …

FF3のオープニングをArduino+YMZシールドで鳴らしてみた

お疲れ様です。高橋です。 ファイナルファンタジー3のオープニング曲を耳コピし、こ …

ArduinoでPSG音源(YAMAHA YMZ294)を鳴らしてみた。

お疲れ様です。高橋です。 先日秋葉原にて「Arduino」という物を買ってきまし …

グラディウス モーニングミュージックをArduino+YMZ294用に耳コピしてみた。

お疲れ様です。高橋です。 アーケード版グラディウスの磁気バブルメモリが暖まるまで …

久しぶりに耳コピ。FF4バトルテーマ。

お疲れ様です。高橋です。 とても久しぶりに耳コピしました。ファイナルファンタジー …

異邦人をArduino+YMZ294で演奏させてみた

お疲れ様です。高橋です。 Arduino+YMZ294で、久保田早紀の異邦人(1 …

Pro Mini互換機でFF2戦闘音楽を使ったYMZ動作試験

お疲れ様です。高橋です。 電子オルゴールの最終形をイメージしてブレッドボード上で …

グラディウスの音楽をArduinoとYMZ294で3和音で鳴らしてみた。

お疲れ様です。高橋です。 先日、「スーパーの焼き芋製造機近くで鳴っている音楽をA …