概要
fz80という回路規模のZ80互換IPが登場したおかげで、これまでEZ-FPGAに入りきらなかったPACMANのデザインもEZ-FPGAに入りきるようになりました。
EZ-FPGA Rev.2.0でコンフィグROMが搭載されたのをきっかけに、FPGA-PACMANをEZ-FPGAにポーティングしました。
EZ-FPGAでRev.2.0で搭載されたコンフィグROM、ezfc.exeとxcf_load()モジュールの組み合わせによって、JTAG経由のデータ転送とコンフィグROMからのセルフ転送の両方が、同一のFPGAデザイン上で動作します。
モノクロビデオ VGA HDTV(D1)
PACMANの実行にはアーケード基板から吸い出したROMイメージファイルが必要です。
ROMイメージファイルをお持ちでない方はゲームを動作させることは出来ませんが、同梱のダミーデータで画面表示の確認ができます。
ポーティング内容について
ベースとなっているFPGA-PACMANそのものについては、 FPGA-PACMANのページを参照して下さい。
EZ-FPGAでは、EZ-USBから供給される24MHzを元に、VCOで73.728MHzを発振させて、それを4分周して基準周波数の18.432MHzを作っています。
外部PROMの代用として、PBSRAM基板のPBSRAMを使用しています。xcf_load()モジュールにより、JTAGからの書き込みと、コンフィグROMからのセルフロードに対応しています。
PBSRAMとコンフィグROMの併用の制限から、D0〜D15の半分は使用していません。
コンフィグROMを持たないEZ-FPGA Rev.1.xでは、PCからJTAG経由によるデータ転送のみに対応します。
ビデオ出力は、デザインファイルの差し替えで、VGAかHDTV(YCrCbコンポーネント)を選べます。
EZ-FPGAとPBSRAM基板にはビデオDACがありませんので、抵抗を並べてDAC回路を追加します。
抵抗DACの制作が面倒なら、EZ-INVADER2と同じ抵抗2本によるコンポジットビデオ出力でも画面を確認できますが、コンポジットビデオ出力はモノクロ表示です。モノクロビデオ出力はVGA版とHDTV版の両方で出力されます。
サウンド機能はフル実装されているので、抵抗とコンデンサを各1個追加して、テレビのオーディオ入力等に接続できます。
コントローラは、デザインファイルの差し替えで、ダイレクトスイッチと、プレステ用パッドのどちらかを選択できます。
回路構成/制作方法
製作方法はEZ-INVADER2とほとんど同じですので、EZ-INVADER2のページを参照してください。
・EZ-FPGAはM0,M1=ショート、M2=オープン,SJ2=ショート,SJ6 & SJ7=ENA側ショート
・PBSRAM基板は、CN3-1とCN2-3の間に1KΩの抵抗を通して結線
EZ-ARCADE2回路図に従って、追加回路を製作します。
・HDTVを使わずVGAだけであれば、DAC部分の3.9KΩと8.2KΩは不要です。
・ダミーデザインで確認される場合など、モノクロビデオ出力だけでよければ、抵抗2本のビデオ出力だけでも画面は確認できます。
・PACMANのサウンドはモノラルなので、DAC用の抵抗とコンデンサは片チャンネルだけでもかまわないでしょう。
製作例
デザインファイルの準備
1.PACMAN用デザインファイル一式をROMデータと同じディレクトリに解凍して下さい
ファイル名 内容 ezfc.exe EZ-FPGAコントロールプログラム ezpa_vga_sw.bit PACMANデザインファイル、VGA、ダイレクトスイッチ ezpa_vga_ps.bit PACMANデザインファイル、VGA、プレステパッド ezpa_hdtv_sw.bit PACMANデザインファイル、HDTV、ダイレクトスイッチ ezpa_hdtv_ps.bit PACMANデザインファイル、HDTV、プレステパッド ezpac_j.ezf JTAGダウンロードテスト用スクリプト ezpac_x.ezf セルフ起動用XCF02S書き込みスクリプト ezpac_ld.ezf コンフィグROM用データのロードを行うサブスクリプト xerase.ezf XCF02Sイレース用スクリプト
2.ROMイメージファイルをデザインファイルの"pacman"ディレクトリに上書きコピーして下さい。
PACMANのROMイメージファイルをお持ちでない方は、アーカイブ内のファイルをそのまま使って下さい。
ファイル名 内容 pacman.6e Z80コード 0000-0FFFH pacman.6f Z80コード 1000-1FFFH pacman.6h Z80コード 2000-2FFFH pacman.6j Z80コード 3000-3FFFH 82s126.1m サウンドwave ROM、サイズ 0100H 82s126.4a カラールックアップテーブル、サイズ 0100H 82s123.7f カラーパレットROM、サイズ 0020H pacman.5e タイルマップパターンROM、サイズ 1000H pacman.5f オブジェクトパターンROM、 サイズ 1000H
オプション設定
"ezpac_ld.ezf"をテキストエディタで開いて編集します。
"jinit"の行を変更すると、JTAGケーブルをXilinx Paralell CableIII(または互換品)に変更することができます。
"load xxxx.bit,00000"の行を変更することで、VGAかHDTV、ダイレクトスイッチかプレステパッドの、FPGAデザインファイルを切り換えることが出来ます。
動作確認
まずは、上記で制作したEZ-FPGAをmini EZ-USBと繋ぎ、PCに接続します。
予め、EZ-USBのデバイスドライバのインストールとセットアップは済ませておいて下さい。
すでにコンフィグROMにデザインが書き込まれている場合には、エクスプローラから"xerase.ezf"を"ezfc.exe"にドラッグ&ドロップして、コンフィグROMをイレースしておきます。
準備が出来たらエクスプローラから"ezpac_j.ezf"を"ezfc.exe"にドラッグ&ドロップします。
エラー表示が無く、TVやモニタに画面が映ればテストはOKです。
ここで動かない場合は、ROMイメージのファイル名等を確認して下さい。
つぎに、コンフィグROMに書き込みを行います。
エクスプローラから"ezpac_x.ezf"を"ezfc.exe"にドラッグ&ドロップします。
しばらくしてOKがでれば書き込み終了です。
一度USBケーブルを抜き、もう一度差んで電源を再投入します。
DONE-LEDが点灯から消灯に変化すれば、FPGAのコンフィグレーションは成功しています。
DONE-LEDが消灯しない場合は、EZ-FPGAのジャンパ等を再確認します。
DONE-LEDが消灯していて画面が表示されず、JTAG経由で成功している場合は、PBSRAM基板のCCLKの配線を再確認します。
操作方法
操作 ダイレクトスイッチ プレステパッド リセット LEFT+RIGHT+UP+DOWN L1+R1+SELECT+START コイン投入 BTN2 + UP SELECT 1Pスタート BTN2 + LEFT START 2Pスタート BTN2 + RIGHT START 移動 LEFT,RIGHT,UP,DOWN 十字キー
ダウンロード
EZ-ARCADE2回路図
EZPAC実行ファイル(060302)一式
EZPACMANソースファイル(060302)
過去のバージョン
EZPAC実行ファイル(060220)一式
EZPACMANソースファイル(060220)