News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Amiga mouse+joystick auto fire adapter for Amstrad cpc

Started by ikonsgr, 13:29, 31 December 12

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ikonsgr

UPDATE

This is the new version:
[attach=2]

Compare to the old one,is about half the size and also lighter:
[attach=3]

And here we have a fully connected adapter:
[attach=5]


The female connector on the left  side goes to amstrad cpc joy port, where the other male 9pin D is for connecting a joystick equipped with auto fire switch,which will ,at last, work on amstrad! No need to destroy fire buttons by constant clicking any more!  :D
The other 9pin connector on the left side is for the amiga mouse where you can use it as "alternative joystick" instead of a real joystick!
Note that  both mouse buttons are supported, left as "fire 2" (the most common used in games) and right as "fire 1".
Finally, there is the power supply cable, for both Amstrad and adapter!

Here is all you need:

[attach=6]

And here are the schematics i promise to anyone "dares" to do it himself:  :D :D

[attach=4]

On the left side are shown the connections of the 3 ic's (including some resistors and capacitors that also needed), and on the right side are the pins were you take all input and outputs of the 9pin D sub mouse/joy ports and power supply. For most of these (power supply, mouse and joy inputs),i use small screw terminal connectors with 5mm spacing on both sides of 4013 and 74ls367 ic's (the remaining 7 outputs that goes to amstrad's joy port ,are soldered on pcb).

If anyone interested feel free to contact by pm!



Hi everyone,

I was thinking lately of making an adapter for connecting an amiga mouse to my amstrad 6128 joystick port.
My intention is to use the mouse as an alternative "joystick" so every game that utilizes a joystick, could be played with the mouse instead! ;) :)
For the moment ,i believe i've figured out a way to "translate" the 4 pulse signals from an amiga mouse (V,VQ,H,HQ) to classic up,down,left,right signals of a digital joystick (it's not so complicated all you need is 2 ic's, a 4013 dual D flip-flop and a 4011 nand gates, at least in theory for the moment... :D ).
Now, i have a little issue on how  will i implement the 4 outputs to the joystick port.
First i thought of using 4 mosfets as switches but then i wondered if i could put directly the outputs of the NAND gates to the four pins of the joy port. This will result either drive a pin to the ground when the respective movement is enabled, or have about 4-4.5volts voltage when movement disabled.
I've tried to measure with a multi meter the movement joy pins (with the ground) and i got ~2volts which will mean that if i put 4-4.5 volts i will get a reversed voltage of ~2-2.5volts on every pin
My question is, will this reversed voltage cause any harm to the joystick port,or not?
It would be a lot more easy and cheap construction if i could avoid the 4 mosfets  ::)
 

Bryce

Driving them to ground isn't 100% correct, you have to drive the to the COM signal of the joystick port which is pulsing at about 300Hz, otherwise the joystick movement will produce random characters instead of the signals you expect. Take a look at how I did it for the USB / PS/2 Mouse using a 74LS240 and its output enable. Something like this is much easier to implement than a whole bunch of MOSFETs (which would be overkill anyway). If you want, you could also do it descretely with transistors as I did for the scroll-wheel inputs.

The Schematics and all the other details are here: PS2Mouse - CPCWiki

Bryce.

ikonsgr

Thanks for your suggestion bryce!
Well, your project is far more complicated than mine with the pic, the firmware and all that. ::)
I've noticed in your diagram that you connect pin 8 of joy port to Vcc (i intend to use as Vcc the 5volt supply of amstrad). Isn't pin 8 the com1/ground? Why you do such a thing then?
Anyway, the way i should do it then, is driving the output of  nand gates to a  74LS240 with both Outputs enabled? And by "enabled" means that i  must connect OE to 5volt Vcc?


Bryce

Pin 8 isn't connected to VCC, it's just being pulled high via R15 to ensure that the OEs of the 74LS240 quickly return to 5V  after the COM1 pulse has finished.
The outputs of the 74LS240 are only activated when the OEs = 0. COM1 (Pin 8) is normally high and pulses low every 1/300 of a second, when it's scanning the joystick inputs. As soon as COM 1 goes low, the correct outputs (depending on the mouses movement) of the 74LS240 will go low and the CPC thinks that joystick movement occurred. The circuit will work without R15, but it's there to 100% ensure that the 74LS240 outputs are immediately turned off after the pulse. 

Bryce.

ikonsgr

I see, and what exactly are the "correct outputs" as you say?
If one of the movement pins (1-4) is enabled this pin must driven low (~0volts), otherwise must be "high" (~5volts)?
The way i'm thinking to make this adapter, the outputs for every movement pin will not be a steady "high" or "low", but rather a "constant high" when movement pin is disabled, and pulsed "high"/"low" when is enabled,with pulsing according to Verctical and Horizontal pulses of amiga mouse (V and H signals).
I mainly use info from here (especially figure 8-2 which explains how exactly mouse movement is translated from the V,VQ,H,HQ signals): Amiga Realm - Knowledge Base Channel


Bryce

Yes, if the mouse was moved left, then the left pin should go low and the other inputs would be high, but only for the duration of the COM1 pulse, but for the rest of the time all inputs need to be disconnected NOT high or 5V, otherwise you are masking the keyboard inputs.

Bryce.

ikonsgr

Aaaaaaah, now i got it! :)
It's the masking keyboard problem (meaning there will be interference with keyboard from joy port, i guess?)  that requires the use of 3-state buffers, right?  ;)
Thank you very much for your time!
I will go and get the parts i need and maybe in the next few days i'll give it a try!
I cant wait to play prohibition with the mouse, it would be fantastic!  ;) :D
Have a happy new year!  :)

Bryce

Exactly. You have to use tri-state or discrete transistors, standard logic ICs with 1 or 0 outputs only won't work.

Bryce.

Gryzor


ikonsgr

I've just finished playing nemesis on my amstrad with an amiga mouse!  ;)
So, now that i have a working prototype, soon i will make a final (more neat) version, put it in a small box and have it available for everyone you might want one!  ;)

ikonsgr


buzby


ikonsgr

Well i'm still in a process of "refinement", I'm making now a new version which will fit in a rather smaller  and more neat box!   ;)
In any case, price will not be more than ~20euro/17pounds!
You think it's a lot for that kind of adapter?  ::)

Gryzor


Bryce

You can already play Op Wolf with the AMX Adapter you have at home.

Bryce.

Gryzor

Who told you I haven't? :) :) It's right there next to my 6128 in semi-permanent use! Was just saying.

ikonsgr

Well maybe it's time to try and play it with an.. .AMIGA MOUSE!  :D :D ;)


Bryce

Or play Super Tank, with a Tank mouse :)

Bryce.

ikonsgr

Hey, maybe this is even better name for the adapter:
"Tank mouse adapter for amstrad cpc"   :D :D

ikonsgr

Major update!

New version, half in size is made, and also schematics uploaded, for "do it yourself" !  ;) :)

Bryce


Gryzor

Quote from: BryceA link to the page perhaps?

Bryce.
You're looking at it. "« Last Edit: Today at 10:39:58 by ikonsgr »", just over at the top.

Bryce


ikonsgr

Here is a photo of all you need:
[attach=2]

Bryce, the schematic "hurts" as you say, because it's not a logic diagram or a pcb layout,but rather it's a "panoramic view" of the actual board i make with ic's positioned exactly as it shown and all connections almost identical!To get an idea,i take the 2 strip boards and i make something like this:
[attach=3]

Then,i make all the wiring according to the schematic!

As you are a professional electronic you will probably appreciate more, something like this (which i haven't finished it yet  ::) ):
[attach=4]

The problem is that from a practical point of view the above logic diagram doesn't help at all when you need to make the actual board yourself!  :)

Bryce

Ah, much better. For me at least, that's much easier to read.

Thanks,
Bryce.

Powered by SMFPacks Menu Editor Mod