Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 19:16 24 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 : Standardization Please .. ?

     Page 2 of 5    
Author Message
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 11:07am 13 Sep 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  Basically everything except a keyboard or the aforementioned joystick is a dead end at the moment - there are no alternatives.


Sorry Mick, but I do not believe this to be a true statement of reality .

There is a standard for a "Generic USB gamepad" which looks like a SNES gamepad.

The PicoMiteUSB firmware ALREADY supports such gamepads (and also PS3/PS4 gamepads) with the DEVICE GAMEPAD ... command and the DEVICE(GAMEPAD ...) function.

Best wishes,

Tom
Edited 2024-09-13 21:09 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9106
Posted: 11:17am 13 Sep 2024
Copy link to clipboard 
Print this post

If the decision is to go USB-HOST as the standard then the particular controller doesn't matter. They all present exactly the same coding I/F to the Basic user so unless you use features such as the analogue sticks on a DualShock then the Basic program will work for pretty much any of the supported controllers with the SNES-USB as the baseline.

I think the USB host connectors should be 2 dual stacked horizontal (same connector as the CMM2 but 2 of them)
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6779
Posted: 11:24am 13 Sep 2024
Copy link to clipboard 
Print this post

As I said, I'm fine to use USB. I suggest that we have a standard USB controller compatibility test program. We can then check that any given controller will work for games. Games writers should fully comply with the Generic USB Gamepad.
Mick

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

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 11:33am 13 Sep 2024
Copy link to clipboard 
Print this post

  matherp said  I think the USB host connectors should be 2 dual stacked horizontal (same connector as the CMM2 but 2 of them)


But presumably the "standard" is an internal USB hub and 4 USB connectors, not how they are aligned.

  Mixtel90 said  As I said, I'm fine to use USB. I suggest that we have a standard USB controller compatibility test program. We can then check that any given controller will work for games. Games writers should fully comply with the Generic USB Gamepad.


Once we have a first "standard" compliant h/w implementation then I'm happy to do that, assuming someone else doesn't beat me to it, it should be "trivial".

  Mixtel90 said  Games writers should fully comply with the Generic USB Gamepad.


That's sort of a "none-issue", Peter's existing DEVICE GAMEPAD ... and DEVICE(GAMEPAD ...) API provides very limited scope for maneuver, e.g. should button A fire, or should it reverse the polarity of the neutron flow ? ... either way button A returns the same response to the MMBasic program.

Best wishes,

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

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6779
Posted: 11:41am 13 Sep 2024
Copy link to clipboard 
Print this post

It's not really a "non-issue". It's a case of people actually getting and using a generic USB controller and not falling by the wayside to include keyboard compatibility etc. The thing is, games should *always* use the generic USB controller by default, possibly with an option to use something else. They may also have the option to use additional buttons - but it should be an option unless it's impossible to do otherwise.
Mick

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

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 11:49am 13 Sep 2024
Copy link to clipboard 
Print this post

Nobody has actually said it, but I believe this is what we are talking about as an example of the generic USB controller at a reasonable price:

https://thepihut.com/products/raspberry-pi-compatible-usb-gamepad-controller-snes-style



Note it also has two shoulder buttons (L & R) that you can't see in this picture.

Best wishes,

Tom
Edited 2024-09-13 21:52 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6779
Posted: 11:57am 13 Sep 2024
Copy link to clipboard 
Print this post

I have a couple of those but I don't write games. :)
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 12:00pm 13 Sep 2024
Copy link to clipboard 
Print this post

@Peter,

Are those the controllers that are compatible with the build in API ?
That paints a picture of where we are going. Guys, I like this discussion. Maybe it could have been made earlier(with the 2040), but I think with the arrival of the 2350 this is the sublime moment. And we can now agree on a (part of) a standard for the next year(s).

There are of coarse other topics to agree on, but these need to wait a bit on what we can achieve with DVI and PSRAM.

I will focus on getting a USB platform running, order such controller, and port all my games (I did not realize there where so many..) to the new controller. Be patient, WINTER IS COMMING, and we'll get there...

Thank you all for supporting,

Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 12:20pm 13 Sep 2024
Copy link to clipboard 
Print this post

  Volhout said  Maybe it could have been made earlier (with the 2040)...


Unless we wanted to standardise on the (divisive) Wii controllers this has only really been possible since Peter was motivated to develop the PicoMite USB host firmware ... and that still hasn't had an official release / updated manual.

Best wishes,

Tom
Edited 2024-09-13 22:25 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 12:22pm 13 Sep 2024
Copy link to clipboard 
Print this post

@Mick,

2x dual USB-A. HDMI, 3.5mm audio...does that sound familiar ?

I feel a RP-3B size board. At the place of the ethernet connector, we put the USB-B for power/console. The dual USB's fall into place, the HDMI and audio also. The SD card atthe bottom. And the remaining GPIO pins go to a smaller header at location of the 40 pin.

You already (almost) did this for the 2040 with VGA. But now it is a 1:1 connector match. And we simply use a Pi-3 housing. Plenty to choose from. No drilling, no milling, just click into place.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6779
Posted: 01:27pm 13 Sep 2024
Copy link to clipboard 
Print this post

That will have to wait for the moment. I need more SMD skills to fit everything in. lol
As it is the hub won't fit.
Mick

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

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 01:41pm 13 Sep 2024
Copy link to clipboard 
Print this post

Mick,

What about doing it Peters way ? Have JLC fit the CH340, the hub, the HDMI and it's tiny series resistors, the (SMT) audio filter, 3.5mm connector, the SD card slot (*).
And leave the through holes (connectors, voltage regulator, pico headers) for human assembly ?

Volhout

(*) the SD card is bottom side, JLC may ask extra for it. So maybe we should do that one manual.


EDIT: Sorry Mick, I am getting carried away, loosing contact with reality. Why on earth would I spend 12 pound on a Pico2-plus(ex shipping), and 20-ish pound on a kit main board, where as for 30 pound I can get a real PI-3.
Edited 2024-09-13 23:55 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 02:08pm 13 Sep 2024
Copy link to clipboard 
Print this post

  Volhout said  EDIT: Sorry Mick, I am getting carried away, loosing contact with reality. Why on earth would I spend 12 pound on a Pico2-plus(ex shipping), and 20-ish pound on a kit main board, where as for 30 pound I can get a real PI-3.


Also, really rather soon now (crosses fingers) I will have an MMB4L that will run the same games on that Pi3 with the same generic USB controller and real HDMI (with audio). Of course it's NOT BARE METAL so there will be the Linux hurdle to jump.

Best wishes,

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

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6779
Posted: 02:19pm 13 Sep 2024
Copy link to clipboard 
Print this post

Simples. I want to build it myself. I know it's horribly old-fashioned to do things this way when JLCPCB will build it for you, but where's the fun in that? No chasing half way around the world for components, no solder fumes, no singed fingertips, no swearing as your last 0805 resistor falls into the carpet...

I think some people like such things. I know I always did. :)
Mick

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

Guru

Joined: 08/05/2020
Location: United States
Posts: 362
Posted: 02:43pm 13 Sep 2024
Copy link to clipboard 
Print this post

"The wonderful thing about standards is that there are so many of them to choose from?"

This quote goes way back to the days of RS-232 when there were 25Pin, 9Pin, Male, Female, with DCE or DCD pin-outs and all sorts of adapters, gender-changers, null-modem cables etc.  It was all the same "standard" but it could be a bit of a chore getting it connected.

Also, computer networks were in their infancy and there were several competing "standards" for those as well.
-Carl
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 02:45pm 13 Sep 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  I think some people like such things. I know I always did. :)


Yup. With a @matherp SMD design I can appreciate the "commercial prototype" quality, however without the commercial packaging it can feel a little soulless. On the other hand with a @Mixtel90 design I can almost feel the warm glow of the valves .

Best wishes,

Tom
Edited 2024-09-14 00:50 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 03:14pm 13 Sep 2024
Copy link to clipboard 
Print this post

  thwill said  
  Volhout said  EDIT: Sorry Mick, I am getting carried away, loosing contact with reality. Why on earth would I spend 12 pound on a Pico2-plus(ex shipping), and 20-ish pound on a kit main board, where as for 30 pound I can get a real PI-3.


Also, really rather soon now (crosses fingers) I will have an MMB4L that will run the same games on that Pi3 with the same generic USB controller and real HDMI (with audio). Of course it's NOT BARE METAL so there will be the Linux hurdle to jump.


getting a RPi zero/1/2/3/4/5 booted quickly is not the mountain that some make it out to be, bearing in mind that for a games machine an enormous portion of any operating system can be stripped out to speed up the process. even without looking at the various bare-metal options, a RPi can be booted to a command prompt in a few seconds.


in my opinion, going forward down the RP2350 path we need a module with:
(a) correctly matched data paths running from the RP2350 chip to the (on-module) HDMI socket,
(b) a linear core (1v1) regulator replacing the on-chip switcher,
(c) a linear 3v3 regulator to regulate down from Vusb (5v),
(d) the USB D+ and D- lines brought out to pins rather than a socket,
(e) the obvious of onboard flash, boot button, SWD socket.

RTC, USB hub, audio, SD socket, power socket and switch can all be external to the module.

if going down this path, we might as well settle on the 80-pin version of the chip that has 48 GPIO pins.

from the software perspective, the USB keyboard support needs properly tested - as others have mentioned it is still in a 'only just works well enough' state. and, very much my opinion only, we need to go through a period of refactoring and consolidation to as much as possible simplify any user configuration that is needed before jumping into writing BASIC programs.


cheers,
rob   :-)
Edited 2024-09-14 01:44 by robert.rozee
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 857
Posted: 03:20pm 13 Sep 2024
Copy link to clipboard 
Print this post

@thwill

I love socketed DIP because I'm in the trenches and stuff needs fixed.

However, for the cost of the matherp CMM2....what the heck, here's a spare

I will still always use socketed opto-couplers and line receivers and throw a handful of spares in a "care package".

It's all good  
Edited 2024-09-14 01:22 by PhenixRising
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6779
Posted: 03:51pm 13 Sep 2024
Copy link to clipboard 
Print this post

Here's EasyEDA, Rob. Have fun. :)

We don't know what problems there are with the 80-pin chip yet. The PGA2350 doesn't overclock as well as the Pico 2, but there may be other Pimorini-related issues because neither does their Pico 2 Plus.

Whether the on-chip switcher even *can* be replaced is something else. I think I saw a comment somewhere that it's an intrinsic part of the system and it can't. Don't quite me on that.

A linear reg from 5V to 3V3 is trivial. I'm using that anyway.

The USB data lines from the RP2350 have to be disconnected from the USB hub before MMBasic can be loaded. I know this because I've tried it. There has to be some sort of disconnection system be it a plug and socket or removable links.

Your idea of correctly matched data paths to the HDMI socket has merit, but I suspect won't be all that easy. You have to have the current limiting resistors for a start - the Pico can't supply enough drive to meet the 50R HDMI spec properly.

USB support uses software modules written by someone else. It's not part of MMBasic. Whether they update, test or modify their code is up to them. :)  We can test it, yes, but we can't really do anything other than report back if we find anything.


=====================================

Re. costs of pre-built boards.
These are fine providing you can split the cost among several people. The cost per board  otherwise seems to be about twice the price of buying components & PCBs and building your own. From reports that I've seen you're probably more likely to get one that works first time too.
.
Edited 2024-09-14 01:59 by Mixtel90
Mick

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

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 04:58pm 13 Sep 2024
Copy link to clipboard 
Print this post

hi Mick,
   i'm pretty sure i've seen discussion somewhere about disabling the on-chip switcher so than an external 1v1 linear regulator can be used. the most important thing with the DVI data paths is keeping pairs close together, and making sure all 8 lines are of exactly equal length. someone will need to do some further research on this to find out the exact correct spacing between traces. at the frequencies involved this is all a bit of an art.

re: the 80-pin chip being an unknown, you are right. even the finer details of the 60-pin chip are still up in the air, what with remaining unanswered questions around the E9 erratum. has anyone got a 80-pin version of the RP2350 yet?

with the source to tinyUSB available, we should be (a) reporting back bugs to the developers, and (b) at least paring back the functionality exposed until we have something 100% stable. this may end up with us needing to limit ourselves to only a USB keyboard that the firmware assumes is always plugged in.


cheers,
rob   :-)
Edited 2024-09-14 03:01 by robert.rozee
 
     Page 2 of 5    
Print this page
© JAQ Software 2024