概要

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.exeEZ-FPGAコントロールプログラム
ezpa_vga_sw.bitPACMANデザインファイル、VGA、ダイレクトスイッチ
ezpa_vga_ps.bit PACMANデザインファイル、VGA、プレステパッド
ezpa_hdtv_sw.bitPACMANデザインファイル、HDTV、ダイレクトスイッチ
ezpa_hdtv_ps.bitPACMANデザインファイル、HDTV、プレステパッド
ezpac_j.ezfJTAGダウンロードテスト用スクリプト
ezpac_x.ezfセルフ起動用XCF02S書き込みスクリプト
ezpac_ld.ezfコンフィグROM用データのロードを行うサブスクリプト
xerase.ezfXCF02Sイレース用スクリプト

2.ROMイメージファイルをデザインファイルの"pacman"ディレクトリに上書きコピーして下さい。
ファイル名内容
pacman.6eZ80コード 0000-0FFFH
pacman.6fZ80コード 1000-1FFFH
pacman.6hZ80コード 2000-2FFFH
pacman.6jZ80コード 3000-3FFFH
82s126.1mサウンドwave ROM、サイズ 0100H
82s126.4aカラールックアップテーブル、サイズ 0100H
82s123.7fカラーパレットROM、サイズ 0020H
pacman.5eタイルマップパターンROM、サイズ 1000H
pacman.5fオブジェクトパターンROM、 サイズ 1000H
PACMANのROMイメージファイルをお持ちでない方は、アーカイブ内のファイルをそのまま使って下さい。

オプション設定

"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+DOWNL1+R1+SELECT+START
コイン投入BTN2 + UPSELECT
1PスタートBTN2 + LEFTSTART
2PスタートBTN2 + RIGHTSTART
移動LEFT,RIGHT,UP,DOWN十字キー

ダウンロード

EZ-ARCADE2回路図
EZPAC実行ファイル(060302)一式
EZPACMANソースファイル(060302)

過去のバージョン
EZPAC実行ファイル(060220)一式
EZPACMANソースファイル(060220)