New Game: Pengo on Papilio Pro


alex

Recommended Posts

Happy Holidays to all. I had a little bit of free time so I sat down and managed to get Pengo running based on the Pacman implementation by Mike J. The video below is a quick demo of the game running on a Papilio Pro (well Plus, but close enough). It uses no additional external RAM or ROM, so any Spartan 6 hardware will do. I'm afraid the sum of all game memories won't fit on a Spartan 3E though.

The Pengo hardware is very close to the Pacman hardware but annoyingly it has just enough differences that you can't just run Pengo on Pacman hardware. The video, sound, input control registers, watchdog, etc are all at different addresses compared to Pacman as well as the fact that the ROM is twice as big as Pacman's and to make matters worse the Pengo ROM is scrambled, so I had to implement an on the fly ROM descrambler based on the MAME source code.

The game runs as is, though there are still a couple of internal connections that remain to be made. Once I tidy up the code a bit I'll upload it somewhere and post here with a link.

This post has been promoted to an article

Link to comment
Share on other sites

I uploaded the source code to Google code after fixing up the remaining loose ends. I also tested that all the other Pacman based ROMs still work. There is a constant at the top of the top module called PACMAN that needs to be set to 1 for games that require Pacman hardware or to 0 for Pengo. I believe that could be connected to an external pin for on-the-fly hardware selection provided the ROMs are also swapped in the bitfile as per Jack's arcade setup.

Link to comment
Share on other sites

Not sure, I'll take a look soon....

OK, I did. It seems fine to me. If your artifacts were on screen permanently, I would suggest you resynthesize with a different design goal, say if you were using "Balanced" change it to "Timing and Performance" and see if that fixes it. It is sometimes a subtle timing issues that seems to cause this type of thing.

Link to comment
Share on other sites

  • 4 months later...

Hi,

 

I have successfully built the Pengo hardware bitstream, installed the game in my Papilio Pro with the Arcade MegaWing and wired up a joystick and button according to the MegaWing user manual.  The game demo runs fine, including sound, but no input is detected - Neither from the four buttons on the MegaWing nor from the Joystick (although the latter could be just due to the fact that I can't insert coins or start the game).  Is there anything special I need to do to get the credit and start game inputs to work?  Any hints would be appreciated.

 

Thanks!

Hans

Link to comment
Share on other sites

If you're using my code as published and unmodified then it doesn't even look for a joystick. it is meant to use a PS2 keyboard plugged into the mega wing. You should really look at the source code and check the button assignment then you can change it to suit you if you already have a joystick wired up.

Link to comment
Share on other sites

Actually scrap that, I haven't pushed the latest code that uses PS2 to google yet. The one posted uses the megawing buttons including the reset which is really used as a shift button, so holding down reset and pressing one of the other directional buttons will get the game started then use the directional buttons alone for movement. No joystick support though unless you mod the top level.

Link to comment
Share on other sites

Thanks for the confirmation.  I was trying to find out how the PS2 interfacing would be implemented and could not make sense of that.  Your updated instructions work much better, and I'm going to move that to my joystick wiring now.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.