English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware > Hardware mods

 
 
Thread Tools
Old 31 March 2018, 16:27   #1
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
Two input, Single Output - Mouse/Joystick Auto Switching

I wanted a way to switch between the mouse (workbench) and pad2 when playing 2 player games with the misses.

Here is my two input, single output auto switching board. Inspired by a old design by Mark Spankus in the 90's who used through hole components in his original design. I designed the Schematic and Board with Eagle Premium. The PCB's are from PCBWay.


More Photos/Video will be up in due time.

Features:
- Two LED's signal which input is active
- Left mouse / Joystick fire 1 automatically switches between the two input devices.
- Wingless D-sub9 female for the A600.

Will I sell any of these ? Well sure, why not drop me a PM and I'll sort you out. Price will be 12 GBP + postage costs.

Really appreciate the support by EAB Members: Superdupa, Kipper2K, Freemilk, BPrepared, RiotRetroGaming, indigolemon and others that have gone out of their way to help me learn. Having a blast as usual, thanks guys!

Last edited by solidcore; 31 March 2018 at 16:41.
solidcore is offline  
Old 31 March 2018, 16:32   #2
Heywood
Registered User
 
Join Date: Mar 2018
Location: Brisbane/Australia
Posts: 72
That seems like a pretty cool device.
Heywood is offline  
Old 04 April 2018, 18:10   #3
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
@thanks heywood

Cd32 mode sorted (small jumper and diode fix)


Stardust config menu is very handy, shoulder buttons and red, blue etc config as you would expect from cd32. (using kipper2k's NEW 2018 psx pad to amiga pcb's which uses the psx2cd32 code)

Last edited by solidcore; 04 April 2018 at 18:56.
solidcore is offline  
Old 04 April 2018, 21:16   #4
Bprepared
Registered User
 
Bprepared's Avatar
 
Join Date: Feb 2017
Location: Cirencester, UK
Posts: 113
Some very nice toys indeed mate
Bprepared is offline  
Old 05 April 2018, 00:40   #5
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
Quote:
Originally Posted by Bprepared View Post
Some very nice toys indeed mate
Aye, had to get the cd32 up for 2-player mode so to speak, hate the hot swapping madness with the mouse lol.
solidcore is offline  
Old 18 May 2018, 23:15   #6
Solo761
Registered User
 
Join Date: Aug 2013
Location: Croatia
Age: 43
Posts: 341
A bit late to the party... how does it work with PS/2 to Amiga adapters?

I made one based on this design few years back, it worked fine with joysticks and original mice. But when used with PS/2 to Amiga adapters it didn't work. Depending on adapter type it either didn't react, or it switched between mouse and joystick rapidly when just moving the mouse.
Solo761 is offline  
Old 19 May 2018, 12:50   #7
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
Unsure mate . Provided the pinout is the same at the de9 I don't see why it would have a issue, i tied pin 6 for both inputs high with a 1k resistor, this may be why you had problems? can you modify your design and let me know ?
solidcore is offline  
Old 19 May 2018, 23:32   #8
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Yeah, there was a common design doing the rounds a little while back that had issues due to the lack of pull-ups. I'm sure it works fine under certain tests, but TTL inputs should not be left floating as any noise from nearby cables (or even joystick or mouse movements) could trigger it. An issue could also be if the PS/2 adaptor uses signals that are open collector, or incompatible with TTL or whatever logic family is used for the switch. In these cases, a pull-up resistor should also help things along.
Daedalus is offline  
Old 20 May 2018, 22:48   #9
Solo761
Registered User
 
Join Date: Aug 2013
Location: Croatia
Age: 43
Posts: 341
I'll have to dig it out and try hacking in two resistors to see if it would help. And if it does make new PCB design, this was one of the first things I made and leaves a lot to be desired .

I guess noise is the culprit. When I made db9 wifi adapter I noticed that PS/2 to amiga adapters generate way more traffic than real amiga mice. I guess that's why they move more fluid on the screen. That additional traffic is probably making a lot of noise and makes switches pin 6 line.

Since all lines on Joy port are actually pulling down would it be a good idea to have pull ups on directional pins and not just fire pin?
Solo761 is offline  
Old 21 May 2018, 13:09   #10
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
Daedalus, Indeedy there's a lot of unknown elements, the best we can do is below, but if I had all the time in the world to test everything it'd be nice. In case of the cd32 being a clock line not fire pin it's a little trickier, I use a diode and jump straight over from input 1 pin 6 on the switcher to output pin 6, this essentially lets the clock line flow while still retaining the ability to jump between the mouse/pad. OF course, a better solution would be desirable and I'm unable to make input2 Cd32 compatible due to the nature of the hack. I think I'd probably use a CPLD in a future revision although CPLD's are dying now which is a shame as it forces me to use a 3v3 tolerant FPGA and level shifters or programmable IC's that are 5v tolerant other than CPLD's, at this point may as well just throw an STM32 on there and take USB+HID inputs.

Solo, put your pull up resistors closest to the pads/through-holes on your NAND GATE IC (Not critical for the Amiga, but closer is better) where pin 6 on input 1 and 2 are connected. If you take a look at any amiga schematic we see 4.7k Pull up resistors to VCC for the de9 pins, however, this won't help us because we're floating after the NAND gate at inputs1/2 on switcher, therefore without pull-ups the culprit is probably either controller or adapters either poorly pulled up or the wires themselves therefor it is critical we pull up closest to our NAND GATE to prevent any external influence on the high or low value of your a/b select line connected to your quad 2line to line data selector/multiplexer and of course the LED states.

Last edited by solidcore; 21 May 2018 at 13:14.
solidcore is offline  
Old 21 May 2018, 14:57   #11
Daedalus
Registered User
 
Daedalus's Avatar
 
Join Date: Jun 2009
Location: Dublin, then Glasgow
Posts: 6,334
Yeah, the CD32 (and analogue controllers) make things trickier in cases like these. As a thought, what about an analogue switch? I'm not sure myself since I haven't tried it, but chips like the 4066 will let you switch bidirectional signals on and off, and should have the bandwidth to be used for serial applications like the CD32. You'd need 4 of those chips for a full switch, but I'm sure there are better options, I just thought of that one because I've used it before.

Alternatively, CPLDs might be getting rare, but smaller PICs, Atmels and the likes are still actively supported and developed. They might be a little overkill, but they'd have the inputs and the scope to deal with complicated cases, including identifying the type of controller and configuring themselves appropriately.

As for the PS/2 adaptors generating more traffic, it's probably just the higher DPI output of whatever mouse you're using. The mouse protocol itself shouldn't have any more pulses for a given pixel distance than an original mouse. Of course, there are additional factors, like using pin 5 for scroll wheel signals and what not, but that's a different story...
Daedalus is offline  
Old 21 May 2018, 15:56   #12
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
Yeah Daedalus .

Honestly I'm more inclined to support USB with a stm32 in the long term . But for now these work as expected two controllers and a mouse without hot swapping .

Other projects are taking priority now in terms of development research time though .
solidcore is offline  
Old 23 May 2018, 23:44   #13
Solo761
Registered User
 
Join Date: Aug 2013
Location: Croatia
Age: 43
Posts: 341
Finally dug out that old board and soldered two 1k resistors. PS/2 to Amiga adapter now works without problems.

I planned to do something like integrated PS/2 adapter and mouse switcher that I gave up on when this didn't work. Now I can redo it again . Only thing to ponder about is if I only put pull ups on fire buttons or on every pin. And probably it's only needed on pins coming from PS/2 adapter side. Joysticks are simple pull to GND.
Solo761 is offline  
Old 24 May 2018, 00:59   #14
solidcore
Registered User
 
Join Date: Sep 2017
Location: birmingham, uk
Posts: 548
Quote:
Originally Posted by Solo761 View Post
Finally dug out that old board and soldered two 1k resistors. PS/2 to Amiga adapter now works without problems.

I planned to do something like integrated PS/2 adapter and mouse switcher that I gave up on when this didn't work. Now I can redo it again . Only thing to ponder about is if I only put pull ups on fire buttons or on every pin. And probably it's only needed on pins coming from PS/2 adapter side. Joysticks are simple pull to GND.
Glad to hear it. The pull ups on the fire pin is so the switcher select line doesn't flip randomly from a floating or poorly pulled up input. I wouldn't bother doing anything else really since all the other signals are pulled up to vcc with 4.7k resistors at the Amiga de-9 ports and to be honest that's how it would be if you didn't have a switcher between it. The concern was primarily Pin 6 and your nand gate flipping out. Problem resolved

If you want to add Cd32 controller support throw a diode in with the cathode negative connected to your amiga side pin 6 and positive cathode on a single controller input pin 6. It works fine and still compatible with the regular amiga joysticks. The idea behind it is you're reviving the clock signal current flow (forward bias) restoring the connection between controller and the cd32. If i had time I would probably experiment with getting a couple pads working on it but one is sufficient enough as the other input is for the mouse anyway.

Last edited by solidcore; 24 May 2018 at 01:13.
solidcore is offline  
Old 24 May 2018, 22:33   #15
Solo761
Registered User
 
Join Date: Aug 2013
Location: Croatia
Age: 43
Posts: 341
OK, that will simplify the PCB a bit. Before resistors it would randomly switch when I moved the mouse (PS/2 one via adapter, original worked fine), after I added them it switched only only on fire button. I don' need CD32 compatibility, CD32 is a rare beast here, I haven't even seen one in real life .

I have one A500 (rev5) motherboard that was dead, but I managed to fix it. Plan is to put it in custom made wooden case, use internal PSU (MeanWell RT-50B), use gotek as a floppy drive, add kipper's 8MB fast mem + CF card board and finally kickstart 1.3 - 3.1 switch. Keyboard will be PS/2 via adapter, mouse also via PS/2 adapter and now I can also add Joy/Mouse switch on the same board so nothing will need to be plugged in and out.

Actually looking at schematics it also has additional feature , db9 pin 9 doesn't go through gates, it's simply connected on all sides. So when you're using joystick right mouse button can be used as second joystick button .
Solo761 is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
New mouse/joystick auto switcher Mounty Retrogaming General Discussion 0 15 July 2014 20:52
Does switching to Direct3d mode affect input in anyway? jimmy2x2x support.WinUAE 17 17 April 2011 11:21
Auto Mouse/Joystick switcher - Help! EreWeGo Hardware mods 8 21 April 2010 12:41
Spectrum and Scandoubler not auto-switching Smiley support.Hardware 8 29 January 2007 22:37
DIY auto mouse/joystick switch brian support.Hardware 13 01 May 2004 02:55

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 13:31.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.08557 seconds with 13 queries