james1095

Centipede

8 posts in this topic

I came across a release of the original arcade game Centipede by a guy named Brad Parker. It was written for the Pipistrello board and is in Verilog which is not my thing but with much effort I was able to get it running on the Papilio One board. There are a couple of bugs remaining:

-- Audio is not working
-- Motion objects visible in the top row where the scores are displayed, these should not be there
-- When using joystick control, player 2 fire is still on player 1 joystick
-- Colors don't match those in MAME, currently not sure if this is correct
-- Self test causes game to freeze, may be related to vblank signal which is fed into latch K9, used in self test
-- Reset doesn't actually reset the game

 

The audio is the most serious issue, I cannot figure out why it isn't working but maybe getting another pair of eyes on the code will fix that. I've set it up to use joysticks for now but it should be straightforward to connect an arcade trackball.

 

Original (Pipistrello) release: https://github.com/lisper/arcade-centipede

If someone has a Pipistrello board and can see if any of these issues occur on that I would be interested in hearing the results. Attached is the code I've been working on, if you toss the MAME ROMs in there and run the build roms batch, it should just compile. It's currently set up for a Papilio One 500k with Arcade Megawing but it should be easy to port it to other platforms. Hopefully with a bit of polish this can get into the Papilio Arcade collection, things have been a bit stagnant on that front, I don't think any new games have been added in years.

 

If someone has an original Centipede machine it would be great to get a comparison of the colors. I have a real board but don't have the connector I need to hook it up to a monitor at the moment.

Centipede_P1.zip

Share this post


Link to post
Share on other sites

Nobody is interested in Centipede? I got it 90% of the way there, the game is playable on the Papilio Pro, has anyone else had a go with it?

Share this post


Link to post
Share on other sites

Ha, sorry James, I haven't had a chance to try it out. What controller are you using with it? A trackball?

Jack.

Share this post


Link to post
Share on other sites

Currently it's set up to use joysticks, the original Centipede hardware actually had joystick support but it was never used to my knowledge. Changing it to a trackball like the arcade cabinet should be trivial, the code is there, it's simply not "wired" up to the top level at the moment. The joystick input was just the easiest thing to use at this stage, once everything is working I'll hook up an arcade trackball I have, shouldn't be too hard to interface a PS/2 pointing device instead if one desired.

Share this post


Link to post
Share on other sites

I didn't take any pictures but it's pretty trivial to load it onto a Papilio Pro and fire it up. It just looks like Centipede, the only major issue it still has is the sound not working and I'm not sure why that is because I didn't mess with that part.

Share this post


Link to post
Share on other sites

disregard.  vlait said i am wrong :)

not that i know a thing about verilog, but

centipede.v

   assign sync_o = comp_sync;
   assign hsync_o = hsync;
   assign vsync_o = vsync;
   assign audio_o = { 2'b0, audio };
   assign hblank_o = hblank;
   assign vblank_o = vblank;

 

p1-arcade-mega.ucf

NET AUDIO_L_O                 LOC = "P84" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8;	#
NET AUDIO_R_O                 LOC = "P86" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8;	#

 

 

shouldn't AUDIO_L_O and AUDIO_R_O both be AUDIO_O(1)  ? or some such...

or rather, i am guessing "2'b0" is the "return/gnd" and "audio" is the actual noise?

as i wrote, i don't quite understand it but something just seems off..

 

Share this post


Link to post
Share on other sites

i appreciate all the work you are doing on these.

i will talk to @vlait and see what needs done to make them mergeable so they are compatible with RV and ArcadeBlaster.

Hopefully he has time..

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