Guest Bob McCormick

Recommended Joystick?

13 posts in this topic

Does anyone have any recommendations on joysticks that work well with the Arcade MegaWing?  Also any suggestions on inexpensive places to buy the joysticks? 

Share this post


Link to post
Share on other sites

Hello Bob,

The best source of joysticks I've found is on Ebay. You can pick up a brand new Atari 2600 joystick for under $10 there and I'm targeting the designs to work with Atari 2600 joysticks.

The other option is to build your own high quality joystick. I found that Sparkfun has very good prices on this approach and the end result is much nicer.

This joystick is $15:

http://www.sparkfun.com/products/9182

Add some buttons for $1 and an enclosure from Radio Shack and you have a really nice joystick.

Jack.

Share this post


Link to post
Share on other sites

I found Lizardlick.com to be a great place for getting arcade supplies. I used the Sanwa JLW-TM-8 for $17.95.

Share this post


Link to post
Share on other sites

Hi,

I'm trying to use Arcade Megawing with zpuino. And I'm trying to use an original Quick Shot II plus joystick. It looks that there are no pull-up resistors in the joystick and there are no pull ups on the Megawing too. The INPUT_PULLUP parameter for pinMode () function is not supported. Any ideas to have pull-ups?

 

Regards,

Peter

Share this post


Link to post
Share on other sites

Hello Peter, 

 

You can add a pullup in the ucf file of any project. I'm looking at the ucf file for the Pacman project and it looks like there are pullups implemented this way on all of the joystick lines (line 62):

# Papilio Arcade MegaWing - Joystick ANET "I_JOYSTICK_A(0)"               LOC = "P5"  | IOSTANDARD = LVTTL | PULLUP ; # 	UpNET "I_JOYSTICK_A(2)"               LOC = "P11" | IOSTANDARD = LVTTL | PULLUP ; # 	Left	NET "I_JOYSTICK_A(3)"               LOC = "P15" | IOSTANDARD = LVTTL | PULLUP ; # 	Right	NET "I_JOYSTICK_A(1)"               LOC = "P10" | IOSTANDARD = LVTTL | PULLUP ; # 	Down 	NET "I_JOYSTICK_A(4)"               LOC = "P9" | IOSTANDARD = LVTTL | PULLUP ; # 	Fire NET "JOYSTICK_A_GND"              LOC = "P12"  | IOSTANDARD = LVTTL | PULLDOWN; # 	GND# Papilio Arcade MegaWing - Joystick BNET "I_JOYSTICK_B(0)"               LOC = "P34"  | IOSTANDARD = LVTTL | PULLUP ; #  UpNET "I_JOYSTICK_B(2)"               LOC = "P22" | IOSTANDARD = LVTTL | PULLUP ; # 	Left	NET "I_JOYSTICK_B(3)"               LOC = "P23" | IOSTANDARD = LVTTL | PULLUP ; # 	RightNET "I_JOYSTICK_B(1)"               LOC = "P25" | IOSTANDARD = LVTTL | PULLUP ; # 	DownNET "I_JOYSTICK_B(4)"               LOC = "P32" | IOSTANDARD = LVTTL | PULLUP ; # 	FireNET "JOYSTICK_B_GND"          	  LOC = "P18"  | IOSTANDARD = LVTTL | PULLDOWN; # 	GND

Hope that helps,

Jack.

Share this post


Link to post
Share on other sites

Ah, but the challenge is to do it with ZPUino... I would recommend checking out the latest version of DesignLab, which will let you synthesize your own ZPUino project easily. You can then add pullups to the zpuino pins you desire in the ucf file. (But be careful because the ucf file is shared by all DesignLab projects...)

 

EDITED:

Wait, before you add pullups in the ucf file... That could cause unexpected results in other DesignLab projects. The better way will be to add the pullup in the DesignLab schematic, that will be specific to your project. There are pullup and pulldown schematic symbols available, just filter for them.

 

There are tutorials for getting started with DesignLab at learn.gadgetfactory.net

 

Jack.

Share this post


Link to post
Share on other sites

Hello Jack,

 

Thanks for instant reply. I downloaded the last DesignLab and trying to change/synthesize an FPGA configuration. I'll be back in few days (weeks).

 

Regards,

Peter

Share this post


Link to post
Share on other sites

Oh! That is awesome. I really need to get Hyperion working in DesignLab for you so we can export it as a DesignLab project! It can be the first DesignLab project uploaded to the directory. :) That was one of the goals for DesignLab, to make it easy to share projects like this.

 

Jack.

Share this post


Link to post
Share on other sites

Awesome, let me work on Hyperion on ZPUino 2.0 first, I have some time this afternoon. Let me see if I can get it done.

 

Jack.

Share this post


Link to post
Share on other sites

Ok, I just made a DesignLab 1.0 release that has Hyperion 2.0 and a circuit for the Arcade MegaWing in the libraries.

 

To share your project you should just be able to add the following to your code:

#define circuit Arcade_MegaWing

This should associate your code with the Arcade MegaWing circuit. Please test the circuit with your code first, I included Pullup resistors and I hope I got it right but I didn't test it.

 

If that works you can just choose, "Tools/Archive Sketch" to create a zip of your project. Then just post that zip up to the DesignLab Projects Showcase. Your's will be the first project there! Ya!

 

Jack.

Share this post


Link to post
Share on other sites

Better late than never: the sometris game works with DesignLab 1.0.8. I tested it with Papilio One 500K + Arcade Megawing.

I had to re-synthesize the Arcade_MegaWing circuit, because the included .bit file does not handle the button and joystick inputs.

Uploaded to github: https://github.com/ivanovp/sometris

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