PIC32MX HARMONY(15)
更新日:2022年4月9日

PIC32MXbox-WIDE発表:PLANET PILOT 2022公開
さて、いよいよ自作ゲーム機「PIC32MXbox-WIDE」を発表出来ることになりました。このゲーム機対応のゲームソフトも公開いたします。この記事の内容についてより理解を深めるためには過去の記事も参考にして下さい。
PIC32MX HARMONYはこちらへ
事の発端はこうです。「PIC32MXbox-2Screen」を作ったけど、VGAモニタをふたつも並べるの、めちゃめちゃ面倒じゃない。そうだね、画面の間に隙間があるし、イマイチ遊びずらいよね。家には大画面の液晶テレビがあるからそれでゲームが出来たら手間もかからないし、遊び易いよなあ。じゃ、やってみよう、1画面の横640ドット表示。うんうん、ちょっと考えてみるべ。
との自問自答からVGAモニタ接続ユニットのCPLDプログラムを改造することを考えました。ちょっとツボにはまった部分もありましたが、なんとVGAモニタで640x240ドット表示の画面を表示することに大成功いたしました。やっぱり「デジタルは裏切らない」ですね。
VGAモニタに表示させるとこのように見えるようにしました。上下に黒塗り部分は存在しますが、ゲーム画面比8:3の実現です。素晴らしい、ワイド感。これが「PIC32MXbox-WIDE」なのです。しっかりと横640ドットを表示出来ています。
(完成したPIC32MXbox-WIDE対応のPLANET PILOT 2022)
ゲーム機はこんな形に仕上げました。完全スケルトン仕様。とてもシンプルな構造です。でもって斬新。ウキウキ気分ですね。
(自作ゲーム機PIC32MXbox-WIDE)
さて、このゲーム機の肝になる横640ドット表示ですが、これが意外と簡単に方向性が決まりました。CPLDのクロックが50MHzで320ドット表示が出来ているんだから単純に100MHzにすればいいんじゃないかな。ということになり、とりあえず実験するために100MHzの水晶発振器を入手しようと、ネット検索。RSさんで意外と簡単に発見。ポチリました。たった2個ですけど。
(AKER製100MHz水晶発振器)
ヨーロッパからの到着らしく、コロナの影響で多少の遅延はありましたが無事入手。
(水晶発振器の裏面からみた端子割り付け)
3.3V動作品なので取り付けは簡単です。この辺りは過去の製作記事を参照下さい。サイズが思っていたより大きかったのではんだ付けは簡単でした。CPLD基板に取り付けたあと、USBオシロで水晶発振器の出力波形を観測すると、「あれ?波形が出てないじゃん。あかん、偽物つかまされた?」と一時パニックになりましたが、これはUSBオシロの性能の影響で信号が見えていないだけで、しっかりと発振は行われていました。
(横640ドット表示のVGA接続ユニットのタイミングチャート)
クロック周波数を単純に倍速にしただけで、基本タイミングチャートに変化はありません。横640ドットの表示と画面の上下に黒色部分を表示するためにCPLD内部のプログラムを改造しています。
(CPLDの内部構成)
改造したモジュールはふたつです。
(CPLD内部のロジック間配線)
新しくしたふたつモジュールのみVHDLのソースを置いていますので参考にして下さい。モジュールのソースはテキストなのでメモ帳なので簡単に開けます。全ソースは置いていませんので、作成されるかたは過去の記事を参考に各自で構築をお願いいたします。
VGA 新作VHDLのソースはこちら
(回路合成完了)
ロジック使用率は71%になります。大変よく出来ました。やっぱりこれくらいの規模のCPLDが使いやすいですね。また雑誌の付録にして欲しいです。
(PIC32MXbox-WIDEの回路図)
今までに作製したプリント基板を使っていますので回路図そのものは簡単です。詳細を確認するためには過去の記事を参照下さい。
さてこのシステムをケースに収めることを考えます。最初は既製品のアルミケースを使用することを考えていたのですが、ピッタリなものが見つからなかったので、樹脂板で作ることにします。まあケースというより保護のためのものという感じです。
(底面板に使用する3mm厚のPET板)
(上面板に使用する2mm厚のPET板)
(スペーサーは丸パイプを使用)
基板を取り付けるためのスペーサーは透明ABS丸パイプをカットして使用します。パイプカッターを使用すると丸パイプを上手くカットすることが出来ます。
(4隅のネジのみM4ネジを使用)
基板などの取り付けはM3ネジを使いますが、底面板と天面板を支えるネジはM4を使用します。
(底面板に各種基板を取り付けます)
マイコンカードを取り付けるコネクタ部分はユニバーサル基板で作製しています。このゲーム機のポイントとなる部分ですね。詳細は過去の記事を参考にして下さい。この部分も基板化出来れば手配線の部分はほぼ無くなりますがまだそこまでは踏み込めていません。
(水晶発振器の取り付け状態)
水晶発振器にパスコンを取り付けましたがそのままにしています。
(DCジャック、AUDIO出力部分)
DCジャックなどはL字アングルでPET板を立ててから取り付けています。
(WIDE専用のPLANET PILOT 2022のマイコカード)
マイコンカードを基板化したことで、開発のスピードがアップしています。プリント基板ってとても便利。
(マイコンカードを挿すとこんな状態)
(スピーカーの取り付けはこんな状態になってます)
VGAモニタに接続することを前提にしていますのでスピーカーを内蔵しています。過去にノートPCから摘出したものを取り付けました。HDMIモニタに接続するときはAUDIO出力をつないで下さい。効果音はモニタから出ます。
ここからは新作ゲーム「PLANET PILOT 2022」の画面を紹介します。1画面のワイドで表示することでゲームの世界観が変わります。ソフトそのものは2Screen対応のものを改造しています。1画面前提で画面構成をやり直しましたので、ワイド感が半端ないですね。
(PIC32MXbox-WIDE対応PLANET PILOT 2022)
HDMIキャプチャで画面を撮ると横長のように感じますが、VGAモニタに接続するとそれなりの良い感じに見えます。
(VGAモニタに接続中画面)
如何でしたでしょうか。VGAモニタへの横640ドット表示が思っていたより順調に出来たので良かったと思います。CPLD内部の基本設計がしっかりと出来ていたことに自身で納得。このまま行けば640x480ドットの表示も出来そうですが、今より画面面積が2倍になるので、画面更新の時間が延びることになってゲームにならないと思います。その場合はマイコンを今のPIC32MXからもっと高速タイプに変更する必要がありそうです。その辺りも含めて今後の開発を進めていきたいと思います。今後ともご期待下さい。

「PIC32MX HARMONYの表紙」へ戻る