alex

New Game: Pengo on Papilio Pro

12 posts in this topic

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

Share this post


Link to post
Share on other sites

Alex,

That is great, one of the next tasks on my To do list is to get all the Arcade games working on the Papilio Pro. I've been battling a stomach flu so have been getting nothing done. Once I'm over it I'll start working on the Arcade games and will add this one to the list!

Thanks!

Jack.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

out of curiosity are the artifacts still there on games like superglob and the like ?

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

shake the artifacts were not permanent.

i have a thread on here probably under papilio arcade showing them.

thanks for looking will have to redl that huge tarball and reinstall.. lovely windows 8

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Thanks, Alex - I'll look into changing the top level to suit myself.

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now