james1095 Posted September 5, 2017 Report Share Posted September 5, 2017 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 Quote Link to comment Share on other sites More sharing options...
james1095 Posted September 18, 2017 Author Report Share Posted September 18, 2017 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? Quote Link to comment Share on other sites More sharing options...
Jack Gassett Posted September 18, 2017 Report Share Posted September 18, 2017 Ha, sorry James, I haven't had a chance to try it out. What controller are you using with it? A trackball? Jack. Quote Link to comment Share on other sites More sharing options...
james1095 Posted September 18, 2017 Author Report Share Posted September 18, 2017 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. Quote Link to comment Share on other sites More sharing options...
Jack Gassett Posted September 19, 2017 Report Share Posted September 19, 2017 Sounds cool, can you post any pictures or video of it in action? Quote Link to comment Share on other sites More sharing options...
james1095 Posted September 20, 2017 Author Report Share Posted September 20, 2017 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. Quote Link to comment Share on other sites More sharing options...
Felix Posted November 24, 2017 Report Share Posted November 24, 2017 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.. Quote Link to comment Share on other sites More sharing options...
Felix Posted December 8, 2017 Report Share Posted December 8, 2017 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.. Quote Link to comment Share on other sites More sharing options...
papry Posted February 1, 2020 Report Share Posted February 1, 2020 A bug thumbs up to @james1095 . Just for a quick thing to do on a Saturday afternoon while listening to the football (UK) on the internet, I downloaded the Github original respository. I was pleased to see Verilog source files, but the organisation wasn't great and documentation was sparse. So I downloaded the ZIP file (above), and made changes to the UCF to implement on a Papilio Pro with Arcade megawing. I had the usual problems of having to re-generate the RAMs and DCM, and even now I get some strange warnings about missing files related to the RAM and DCM blocks, however it does compile, download and work over VGA. It would be nice to get audio working and I will take a look at this in the next week or so. I also found out that one of the buttons causes the game to freeze, and the reset button can't recover from this. Quote Link to comment Share on other sites More sharing options...
papry Posted February 27, 2020 Report Share Posted February 27, 2020 I've tried a couple of fairly simple things to try to eliminate possible reasons for the audio problems. I wired up a 8 bit Ferranti ZN428 (really old chip now, but easy to use) to 4 spare outputs in order to check the datastream without the sigma-delta DAC. The audio was distorted in an identical way. I then added a second Pokey (easy with RTL and a FPGA!) and wrote some simple code to write test values to it, in fact the same ones as listed in the schematics. The tones were generated correctly. In amongst all the noise, there is some hint of correlation with what is happening on the screen. I'm not sure what to try next :-(. I'll post again if I make any progress. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.