Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 03:55 29 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : PicoMite: Controllers ... again ;-)

     Page 2 of 3    
Author Message
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 07:38am 21 Apr 2023
Copy link to clipboard 
Print this post

It would be *very* easy to make DB9 to RJ-12 adapters if you really can't either replace the lead or cut and join them (which requires a meter or bulb+battery to identify which DB9 pin is which colour). Two DB9 connectors in shells and a pre-crimped RJ-12 lead cut in half will make two. There are 5 joints to solder on each. I honestly can't see this as being a valid excuse for anyone that can solder onto the back of a DB9.

The DB9 connectors are big and chunky. They are designed for heavy multicore cables and have fixing screws to make sure they stay in place. 6P6C flat cable is light and very flexible while still being rugged enough to walk on repeatedly - ideal for a controller. It's also low capacitance, which makes it a good choice technically. It's not screened, but that's not normally an issue over a metre or two in a domestic environment anyway. Millions of domestic telephones use 6P4C to connect their handsets. Most office telephone networks use 6P6C or 8P8C and have done so tor tens of years. This stuff works and it's cheap.

Additionally I specifically *don't* like the idea of using any manufacturer's proprietary system purely for copyright reasons. It's probably arguable that reading a shift register controller may not be copyrightable (another reason to use I2C) but using their controllers and connectors may be going a bit far. (The WII's I2C protocol is encrypted - probably for copyright reasons as much as anything). The Atari joystick copyright has probably run out now so that's fair game, I suppose, but you are stuck with what I regard as unsuitable connectors. Atari's implementation of them was fine, crimped sockets in a slimline moulded housing, but a DB9 shell is seriously clunky by comparison. D sub connectors were created by Cannon in 1952. I think we can move on a bit now.  :)

Not all game consoles are big & heavy. The Gamecube and WII are both unusually light for consoles. The PicoMite has the advantage that it doesn't have either of the usual fragile bits - optical or hard drives - so it's far less likely to be damaged by a fall.
Edited 2023-04-21 17:45 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 07:58am 21 Apr 2023
Copy link to clipboard 
Print this post

I have my doubts this is going anywhere ...

I'd like to say that I think @Mixtel90's PicoGAME VGA (in an acrylic enclosure by @bigmik) is a thing of beauty. It can take two NES/SNES/Atari controllers without any additional dongles, soldering, cutting, criming, biting or mauling and with 4 rubber feet is pretty mechanically stable too.



If future PicoMite VGA PCB designers (other than one-offs) want game controller support and want to show compassion for the poor programmers then I would suggest a minimal arrangement of one or two NES compatible ports:

   Port A: GP2: Latch, GP3: Clock, GP1: Data
   Port B: GP5: Latch, GP22: Clock, GP4: Data

Yes, I know you can share latch and clock (I first pointed it out) but if you must do that then share GP2 and GP3 so that at least Port A remains compatible.

Note that as Mick pointed out {S}NES controllers are really intended to be 5V devices. Those with 4021's and all the epoxy blobs I have tested will work at 3.3V, HOWEVER there is at least one SNES controller design that appears to have a 5V micro-controller in-place of the 2 x 4021's and WILL NOT run at 3.3V. Also note that several AliExpress "appear to be SNES" controllers are actually NES controllers in SNES like shells and all the extra buttons are just duplicates of {Turbo}A and {Turbo}B.

Best wishes,

Tom
Edited 2023-04-21 18:02 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 08:27am 21 Apr 2023
Copy link to clipboard 
Print this post

I really must build up this PicoGAME 2.0. It keeps looking at me and I've already soldered a micro SD card socket onto it (for practice). I need to get more DB9s, reset buttons and PS2 sockets though. I only have one official Pico left too, but I can easily recycle one. :)  I even have a proper case for it.

There are changes I would make if I were to do it again, but mostly superficial.

On this build I'd fit the simpler video circuit (easy to do). I might experiment with fitting the JDY-40 and having a go with a wireless joystick over the COM port. :) They do work very nicely in pairs so you could use them as an Atari joystick link anyway, but the default is to work as a wireless modem so I'd need processing in the joystick to use them that way. I haven't got all the connections to the GPIO port wired, but that's an idea.....  Make Port B a wireless Atari joystick....  Hmmmmm.....
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 08:36am 21 Apr 2023
Copy link to clipboard 
Print this post

  Mixtel90 said  I really must build up this PicoGAME 2.0.


Same here, the picture is a 1.4.

  Mixtel90 said  I need to get more DB9s, reset buttons and PS2 sockets though.


Send me a list and I'll drop them in the post to you as I have a fair supply; when I order from AliExpress I tend to "go big".

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 09:10am 21 Apr 2023
Copy link to clipboard 
Print this post

ooh... thank you. :)
I think that's all I have missing. Not sure about the capacitors for the audio filter, but my brother has a load of components for me and there may be suitable ones in there. Easy enough to get anyway. Oh, and I used a more conventional VGA socket on these, didn't I? I had to buy that one in last time as I normally only have the shallower Chinese ones.

Are you short of any bits? Maybe we could arrange a swap?

It would look super-cool with one of these black YD-RP2040s on it.  :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 09:20am 21 Apr 2023
Copy link to clipboard 
Print this post

  Mixtel90 said  ooh... thank you. :)


No worries.

Do you need the audio-jack, level-shifter or USB connector ? I can probably supply the caps, but not the inductors, and I'll throw in a working NES gamepad too.

  Mixtel90 said  Are you short of any bits? Maybe we could arrange a swap?


Probably, but you don't know until you try building something do you ;-)

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 10:27am 21 Apr 2023
Copy link to clipboard 
Print this post

I have level shifters inductors and SMD audio jacks, not found a USB socket but that's non-essential. I've just found a reset button too.

IIRC both the game pads that you've already sent are working. :)

Just let me know if I can help out. :)

-------------

If anyone in the UK (because of postage costs) is interested I still have some PCBs available:

4-off  Micromite Plus HAT Stand v1.1  (Peter's design - I've no chips for them!)
4-off  PicoMite Backpack v1.07
1-off  PicoGAME 1.4
2-off  PicoMite VGA v1.0 (original purple mini design with bugs, but can be patched)
3-off  PicX v1.0
2-off  PicoMite VGA mini 6.0  (first PCB version)

These are all bare boards. PM me if interested. IIRC I can put two of the larger boards or three of the smaller ones in a single letter. No charge. All my own designs apart from the first.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 07:58pm 21 Apr 2023
Copy link to clipboard 
Print this post

I've been digging out bits and soldering. :)
The audio capacitors are still elusive, but I've not searched for those yet.
VGA connector missing
2off DB9 connectors missing
5off push-on links missing

This build is going to be a bit special (at the moment anyway)
Port A is standard, but GP26 and GP27 will be used for the RTC, so no analogues.
Port B has no joystick socket or other components fitted. Up/down/left/right/fire GP pins all connected directly to  the GPIO pins of the JDY-40. These inputs are active high.

A simple joystick will produce active low inputs to another JPY-40, battery operated. This gives an Atari-type input. Unfortunately the JDY-40 inverts the signal and there's no way to make the inputs to the PicoMite active low without introducing inverters, but never mind. The transmit end is in low power standby until an input goes low, then the input is transmitted. 8 inputs are available (or 7 if you want a transmit LED) but not enough pins on the PicoGAME. Should be interesting. :) This is using the bit IO function of the JPY-40 as otherwise there is a significant constant current drain (40mA) by the transmitter.

I tried another YD-RP2040 today. That wouldn't run at 252MHz either. :(  Not recommended for VGA builds, I don't think.
Edited 2023-04-22 06:05 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 10:15pm 21 Apr 2023
Copy link to clipboard 
Print this post

Hi Mick,

I've packed you a parcel including audio capacitors, shunt-jumpers (push-on links) and a good NES controller, the two I sent you previously were from the batch with the sloppy D-pads.

Hopefully you will see if by the middle of the week.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 06:39am 22 Apr 2023
Copy link to clipboard 
Print this post

Lovely, thanks a lot. :)

When you come to build yours up, the holes for LB4 ad LB2 are tight. If you are going to install the JDY-40 then I suggest using a spare pin and force it through while holding it with pliers to open the holes before putting the actual header pins in. If you aren't interested in using the JDY-40 then ignore LB4 and wire link LB2 to PORT B.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 10:55am 26 Apr 2023
Copy link to clipboard 
Print this post

Parcel has arrived, Tom. Many thanks! Soldering will recommence shortly. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4047
Posted: 10:58am 26 Apr 2023
Copy link to clipboard 
Print this post

  Mixtel90 said  Parcel has arrived, Tom. Many thanks! Soldering will recommence shortly. :)


Lovely, Royal Mail for the win!

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2131
Posted: 03:03pm 26 Apr 2023
Copy link to clipboard 
Print this post

I made a joystick in the 80's with micro switches and a head phone jack on a spring as the control lever. Bit like this which I forgot how to abbreviate
https://www.ebay.co.uk/itm/364213830343?hash=item54ccd602c7:g:8-gAAOSwVQRkNFz~&amdata=enc%3AAQAIAAAA4FYwkACNjpASjMrqvNrcwrhvCjhh4JP%2F8FWRKPbaDc6geehZxyXXWZfFhd%2ByLcnu6DbGSXMLVtTLo8IwqhLwaraXjvtVEwUOfVxDhbaflphIdcq8bmls9q4ayVRqcjPOMwVoem6fIK45tO%2FvZ%2F5nh4uvlP3ZY7SHziZPpAr%2FqJQDSJ5MSUo7QH6HXPcR8smjuRnwJKVr8%2B8jFB5ogqU8mTmi9cXi2eEnIEjtv6VY%2BSdjFvu4b66THiSdLDA2%2Ba80jEOogkJV3aWDZGZUZhKtZ4gELcl%2F4j0k82wXosAFyV%2F1%7Ctkp%3ABFBMnoqI4fdh
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3813
Posted: 03:14pm 26 Apr 2023
Copy link to clipboard 
Print this post

Just keep the bit before the "?"

https://www.ebay.co.uk/itm/364213830343

John
Edited 2023-04-27 01:14 by JohnS
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2131
Posted: 03:37pm 26 Apr 2023
Copy link to clipboard 
Print this post

I must remember, ta. It's a nice joystick if you got micro switches with levers not just buttons. I remember the audio feedback click.
I worked in a shop in the 80's selling games machines and the return rate for atari joysticks was worse than sinclair spectrum membrane keyboards.
The shop owner nicked my joystick idea and made konix https://www.ebay.co.uk/itm/204133711305?
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 03:57pm 26 Apr 2023
Copy link to clipboard 
Print this post

I might modify one of these sloppy D-pad controllers and make it wireless with a JDY-40. That would be fun. :)  Need to find space for 3V battery (but it should last quite a long time).

I've got most of the bits on the V2.0 board now. I have a RTC with a dead battery so I'm going to superglue a battery holder onto the PCB. :) Not sure whether to put it on the top or the bottom... In the meantime I've nicked the PicoMite & RTC off the 1.4 board.

The V2.0 powers up and no smoke. :) VGA & PS2 keyboard working.
Need to get things set up now.
Edited 2023-04-27 02:14 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2131
Posted: 05:16pm 26 Apr 2023
Copy link to clipboard 
Print this post

"I might modify one of these sloppy D-pad controllers"
sloppy? I like micro switch joysticks for the clicks... retro thing
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 06:03pm 26 Apr 2023
Copy link to clipboard 
Print this post

So do I, but I haven't got ne to modify. I *have* got a spare NES controller with a sloppy D-pad though. :) I have lousy reaction times anyway so choice of joystick isn't really a thing for me. lol

I'll not carve anything up until the concept is tested anyway. The wireless joystick is effectively on the end of a low power 9600 baud serial link. For short distances it can go faster.

Here's the V2.0 before I start rigging up the wireless. The audio output caps are still missing as I need to get some from the shed. The power LED will eventually be changed for a red/blue LED (on order) so that green one is just pushed into the holes.


Edited 2023-04-27 04:05 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2131
Posted: 08:47pm 26 Apr 2023
Copy link to clipboard 
Print this post

Personally I use wifi mouse on pc and laptop but for mmbasic a lead is not the end of the world.
All interesting stuff but run out of ports , u,d,l,r, fire.
the use resistors and 1 a-d port seems better.???
or a i2c port expander?
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6808
Posted: 06:54am 27 Apr 2023
Copy link to clipboard 
Print this post

The original idea was to make this very easy for the programmer, so two simple, switched joysticks was all that it had. They are dead easy to read and only need pullup resistors. Feature creep...
I fancied the idea of making the bard expandable so the easy way is by using a COM port as it supports buffering. Still easy to do, so I made Port B dual purpose.
I also made Port A dual purpose, as it supports an analogue joystick. (I brought GP28 out to Port B because you can also use "paddles", which are only a pot).
Then Tom suggested the NES controllers. Things got a little more complex as they need a supply on the "Fire" pin, but I worked round that.

Even with all that, only the NES controllers need some sort of driver routine. The switch joysticks can be blindingly fast to read (8 directions using PORT and a SELECT CASE), and you can use interrupts for the fire buttons. They are also *very* simple to use, even for an absolute beginner.

As I've said previously, I might do things a bit differently if I was to do it again. Probably using a single "Port select" pin to select which Port to read then use a common set of input pins. The board is a bit tight though and I would prefer to keep the same case as I like it a lot.

I could save a lot of pins by simply standardizing on I2C controllers, even with proper buffers so that people are less nervous about them. 5m leads would be a doddle then. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
     Page 2 of 3    
Print this page
© JAQ Software 2024