[][mobile][Homepage][BBS][Blog][YouTube][asablo]

PIC32MXで高解像度グラフィック版「パッ○マン」2013/12/20 23:59:59



昨日の記事で、PIC32MX150F128BとPIC32MX250F128Bを手に入れたのは、この高解像度版パックマンを動作させたかった為だ。



前回はテキスト版であったので、32KBのPICマイコンで動かしていたのだが、今回は動きの滑らかさが売りなのでメモリーが大幅に必要なため128KBのPICマイコンを使用している。

  →PIC32MX150F128B-I/SP
  →PIC32MX220F032B-I/SP



前回とハードウェアは全く同じであり、PICマイコンを差し替えてプログラムするだけで動作する。
動作検証ということで、USB付きの上位PICマイコンPIC32MX250B128を使用してみた。




PICkit3と3.3Vの電源を接続。



書き込みツールはMPLABXをインストールすると付いてくるMPLAB IPEとPICkit3の組み合わせ。
作者のページからZIPをダウンロードし、HEXファイルのまま問題なく書き込めた。

   ※ソースファイル一式はページ中央あたりにあります



では、テレビに接続。コンポジットのみの対応。



普通に出たー。 キャラクターがヌルヌル動くよ。


PICマイコンでグラフィック版パックマン

前回の動きと違って、動作がとってもスムーズ。こちらのゲーム性の方がエキサイティングだ。
これはもう専用基板を後ほど作りたいと思う。




こちらが動画。簡単なハードでのビデオ入力なので、にじみはあるが、この滑らかな動きには、実際に作って動画以上に感動した。



コメント

_ ケンケン ― 2013/12/22 02:17:16

作者のケンケンです。
またまた紹介していただいて、ありがとうございます。
今回のパックマンは、音がチープなことを除いて、いい感じにできあがりました。
このシンプルなハードでここまでできるというのが、技術の進歩を感じさせます。
特にこのチップはフラッシュもRAMも大きいので、とても気に入っています。
難点は国内の店舗で扱っていないことですね。
秋月で400円くらいで売れば、結構人気が出ると思うのですが。

_ air_variable ― 2013/12/23 18:34:24

今回のグラフィック版は、ゲームに夢中になるほど、とてもよく出来ていてます。ソースを拝見させていただきましたが、ビデオRAM部分は、ほぼアセンブラで動いているんですね。恐れ入りました。
今回はPIC32MX250F128Bでも動作をすることを確認できました。

PIC32MX位の高度なマイコンになると、USBやSDカードなどのアクセスができるようになりますが、反面、扱うレジスタやファンクションの増大、数学的解釈の必要などがあるので、扱う人が少なくなってしまうのかなとも思いました。PIC16のお手本となる本はいっぱいありますが、PIC32MXを使ったホビーの本があれば売れる気がします。どうですか?書いてみませんか?w

_ ケンケン ― 2013/12/25 02:01:40

カラーのコンポジットビデオ信号は、1クロックでもずれると色が正しく出ないので、
アセンブラじゃないと無理なんです。
ソースをじっくり見るとわかるのですが、リアルタイムで信号生成するために、
信号の出力と出力の間に次の信号データを作り始めるということをひたすら
やっています。なので、とても読みにくくなってしまっています。

PIC32MXの解説本は確かに少ないですが、PIC32MX1xx/2xxについては
PIC24シリーズと似ているところが多く、コストパフォーマンスもよいので、もっと活用
されてもいいのにと思います。
MIPSの命令群はとっつきにくいですが、PIC16等とは違って、Cで組むことがほぼ前提
となっているので、そんなに敷居は高くないはずなんですが。

_ air_variable ― 2013/12/25 07:26:38

PIC32MXマイコンが32KBのものでも220円、今回買った128KBが4ドルしませんので、シリコンプロセスの進化は大きいですね。
開示頂いているソースコードは、表示エンジン部分以外は、とてもきれいに纏まって勉強になります。

_ かわぶた大王 ― 2015/05/20 20:07:52

パックマン
時々
『うめぇうめぇうめぇうめぇ』
って言ってるように聞こえる

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
全角で「あ」をタイプしてください。Japanese language only.

コメント:

トラックバック





[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]