6503がようやく動いた報告

イメージ
  回路図まで載っけて作りましたと宣言した前回。 いざ色々動かそうとしたものの、 プログラムがまともに動かないので試行錯誤してたら何年たってたんですかねこれ 。月日が経つのは怖いですね。 今回ようやく6503と6532が無事に動きました。 何につまづいたのかというと、多分アセンブラの文法です。 6502系のアセンブラって結構豊富で、 いろんなところから出てるんですがそれぞれアドレスの表記とか微 妙に違うんですね。 で、 今回久しぶりにca65というアセンブラを使用してみたのがつま づいた原因でした。 一度設定すれば大体の6502系には対応できるのが魅力ですが、 本当よくわからないmakeファイルの設定とかで地獄を見ました 。 以下何やってたのか簡単にまとめていきます。 新しい道具も作ったよ! ■:まず動かない いや、電気は通ってるしクロックは走ってるんですよ。 なのに6532の挙動がおかしくてIRQはでっぱなしだしcpu は止まるし訳がわかりません。 そこで今一度6532のデータシートを読むと、 「 NMIとIRQはオープンコレクタなので 必ずプルアップすること 」 ってあるんですね。何その罠。 というわけでプルアップ抵抗を追加しました。 これでcpuがすぐに止まる事故は解決… と思いきやまだ止まります。というか出力がよくわからない。 そこで大昔に作りかけてやめた出力確認用LEDパネルを作成する ことにしました。 ■:めちゃくちゃ便利なLEDパネル 5年くらい前にこんなの作ったら便利やろってLEDだけ並べて、 回路に不備があることに気がついてなげたもの。 今ならなんとかできそうってことで抵抗とトランジスタ をばーっと取り付けて、 カードエッジからも表のポートからも入力できるようにしました。 これまでは毎回ブレッドボードでled回路組んでたんでクソめん どくさいし抜けるしで散々だったのですが、 これで見やすい簡単出力もicに負担がなく万々歳になりました。 やったぜ。 まあ回路図書かずにえいやっと作ったので裏はすごいことになって ます。ちゃんと整えて、 入力スイッチもつけて体裁整えたら普通に便利道具になりそう。 クロックパルスも出せるようにしたいですね。 ledドライブのために2sc1815を贅沢に使用してます。 意外と高いですがいつ買ったのか結構あったので奮発...

FM音源伝説ガチャを回してみた

 秋葉原のラジオデパートという建物の中に、家電のケンちゃんというお店があるのですが、そこに「FM音源伝説」という面白いガチャが置いてあると聞き、早速行って回してみました。

 これなんなのかというと、ヤマハとかのFM音源チップが入ってるんです。しかも一回400円(2016年時点で)。一応全てジャンク品で、保証はないんですけど他のサイトとかでも鳴らしてる方が結構いらっしゃる。ならばレトロゲーム音楽が好きなビットとしてはこれを放置するわけにはということでさっそくym2151あたりを狙い目にガチャを回してみました。そして結果は…

 ym2413。出た時は「なにこれ」と声が出そうになってしまいました。だって知らないもん(´⊙ω⊙`)
 そこで正体はなんなのか調べてみると、どうもかのmsxで使われていた内臓音源のようです。えっすごくない?msxって言ったらメタルギアとか悪魔城伝説とか、いいところがたくさん。
 しかしym2151は結構ネットに鳴らし方が出てるけど、ym2413はこの時全然見つかりませんでしたorz
 そして数ヶ月後、なんとなくもう一度検索してみるとarduinoで鳴らす方法というかシールドが掲載されてるじゃないですか。
「高エネルギー研究室」
こちらの方になんとありました。ありがとうございます。しかもym2413のデータシートもある。至れり尽くせりです。しかし付属の回路図を見ても何が何だかわからない。特にVGNDというのがどこに繋ぐのか。しかしパーツは全て書いてあるので、秋葉原で大きめのブレッドボードと細かいパーツを買ってきました。
 ちなみにarduinoは授業で使う用事があったので持っていました。買うとしても3000円ほどで、そのほかにもいろんなことに使えますから電子工作が好きな方は買って置いて損はないと思います。
 今回秋葉原でパーツを買うときにオペアンプは秋月さんのところでコンデンサなどは千石電商で買ったのですが、このコンデンサの青いのを買うときにちょっと注意が必要です。これ積層セラミックコンデンサっていう極性(プラスマイナスの向き)は気にしなくていいものなんですが、組み立てマニュアルというpdfデータに書いてある部品表の中に表記というものがあり、そこに青い部分に小さくプリントされた数字が記載されていますが、220という22pf の積層セラミックコンデンサの記載が勝ったときには「A22J」という数字に変わっていたんです。なので組み立てるときにはお気をつけください。

 そしてこのarduinoシールドの回路図に書かれたVGNDという謎の端子。検索してみると仮想グランドとかいうものらしいんですが、何が何だかちっともわからない。(きちんと電子工学とか習っている方からすればすごく簡単なことなのかもしれません(゚ω゚))そこでそういうのに詳しい友人にこの端子をどこに繋げばいいのかと尋ねると、
「VGND同士でまとめてあとは放置しておけばいい」
といったようなことを言われたようなはず。
 と言われても、どこに繋げばいいのかわからないので、とりあえずVGND同士で別のー回路にまとめておきました。
 こうしてブレットボード状での配線は終わったのですが、いざarduinoと繋ごうとしたらどうもうまくいかない。それもそのはず、この回路図に載ってるデジタルピン配列が上下逆さだったのですorz
 そして無事に配線が終わりサンプルプログラムをarduinoに入れて電源をつなぐと・・・・

デスボイスで歌い始めました。

いやこれ絶対おかしいよともう一回回路をチェック。そのときにふとオペアンプかym2413のvgndを抜いたんです。そしたらさっきとは打って変わっていい音で歌い始めました!成功です!なんとかなるもんですね!

  さて、無事にならせたらやはり自分の好きな音楽を流したい。となると、ここのホームページにあるMIDIに対応させなきゃいけないんですけど、このファームウェアの入れ方が全然わからない・・・次回はなんとかしてarduinoにこのファームウェアの入れ方を解決したいと思います!

コメント

このブログの人気の投稿

ファミコンの完全自作ROM&カセットを作ろう!!その1~立ちはだかるコンパイラの壁~

ファミリーベーシックでゲームプログラミング

ファミコンの完全自作ROM&カセット作ろう!〜cc65で起動ROMをつくる〜