Jump to content
Andre

PS/2 / USB discussion (split from What's the state of play with serial port support?)

Recommended Posts

5 hours ago, Lorin Millsap said:

NMI is reserved for PS/2.

PS/2 ????? Do you have so many junk old keyboards lying around? I've thrown away all my PS/2 already, as it's too young for 8-bit and to old for modern PCs.... Instead I taught my Commodores to use USB keyboards 😉

Share this post


Link to post
Share on other sites
34 minutes ago, Andre said:

PS/2 ????? Do you have so many junk old keyboards lying around? I've thrown away all my PS/2 already, as it's too young for 8-bit and to old for modern PCs.... Instead I taught my Commodores to use USB keyboards 😉

I guess it's because it's way easier to implement PS/2 rather than USB, PS/2 is probably as simple as a joystick port while, uh, have you seen the size of the USB spec?

  • Like 2

Share this post


Link to post
Share on other sites
1 minute ago, Juju said:

I guess it's because it's way easier to implement PS/2 rather than USB, PS/2 is probably as simple as a joystick port while, uh, have you seen the size of the USB spec?

yes I have. That's the back side indeed. (but if you want to have a look how it could work, look at my 6502 USB driver linked above, via the PET userport SPI)

Share this post


Link to post
Share on other sites

As I recall, the reasoning for not supporting USB was two-fold. First, it was viewed as more complicated to support in the kernal than PS/2, second it was more expensive to add to the BOM than PS/2.

Share this post


Link to post
Share on other sites
29 minutes ago, SlithyMatt said:

And remember, these exist and cost about $2:

Do those work with any usb keyboard or mouse? I thought they were just a convertor between two connector types and relied on the mice/keyboard supporting both ps/2 and usb.

  • Thanks 1

Share this post


Link to post
Share on other sites
34 minutes ago, SlithyMatt said:

And remember, these exist and cost about $2: File:USB to PS2 keyboard and mouse adapter.jpg - Wikimedia Commons

Those only work if your keyboard is actually a PS/2 keyboard.... modern keyboards have pretty much dropped the dual protocol implementation and only support the USB protocol now. 

In fact, if you buy the WASD keyboard, you have to request the older firmware, because the latest firmware no longer has PS/2 support. 

  • Like 2

Share this post


Link to post
Share on other sites
8 minutes ago, lamb-duh said:

Do those work with any usb keyboard or mouse? I thought they were just a convertor between two connector types and relied on the mice/keyboard supporting both ps/2 and usb.

It's true that these style of adapters will not work on more modern keyboards, which have stopped including the dual-mode controller IC which enabled keyboards to operate on a passive PS/2 adapter.

  1. Keyboards with the dual-mode controller IC are not that terribly old, you might have one lying around, but the only way to know for certain is to risk the $2 USD on Amazon and try it.
  2. Failing that, premium keyboard vendors specifically ship keyboards with PS/2 compatibility. See also, the premium WASD keyboard roughly half and again of too many people seemed to believe was a recommended purchase separate from the X16, until the store link was removed.
  3. If you want to buy a bespoke keyboard but don't want to shell for the good stuff, there's always eBay.
  4. If you're simply concerned about whether you'll have a keyboard at all, do remember that the X16 will ship with a PS/2 keyboard.

Before we get too off-track with the tangent about keyboards, I want to re-emphasize that the team has said the X16 will ship with a basic PS/2 keyboard.

  • Like 1

Share this post


Link to post
Share on other sites

What Lorin said. There could be another thread about PS/2. Edit: done

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, TomXP411 said:

In fact, if you buy the WASD keyboard, you have to request the older firmware, because the latest firmware no longer has PS/2 support. 

Just to clarify, if you buy the X16 WASD keyboard, it automatically comes with firmware 2.5 instead of 3.0; it isn't necessary to request it.

Share this post


Link to post
Share on other sites
5 hours ago, StephenHorn said:

Before we get too off-track with the tangent about keyboards, I want to re-emphasize that the team has said the X16 will ship with a basic PS/2 keyboard.

Correct, and unlike the deluxe WASD keyboard, our mini keyboard will be a dedicated PS/2 beast, so no messy USB > PS/2 adapters at the back of the X16. 👍🕹

There's more info about the PS/2 decision in the FAQ.

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, StephenHorn said:

It's true that these style of adapters will not work on more modern keyboards, which have stopped including the dual-mode controller IC which enabled keyboards to operate on a passive PS/2 adapter.

And in worst case there are also exist active USB-PS/2 keyboard/mouse converters. So if somebody have their favorite USB-only keyboard or mouse, they still can be used with X16.

220px-Active_USB_to_PS2_Adatper_(keyboard+mouse).jpg

  • Like 3

Share this post


Link to post
Share on other sites
8 hours ago, Andre said:

PS/2 ????? Do you have so many junk old keyboards lying around? I've thrown away all my PS/2 already, as it's too young for 8-bit and to old for modern PCs.... Instead I taught my Commodores to use USB keyboards 😉

I always get the feeling of nostalgia with this project. Now it is nostalgia for topics that were discussed to death in early 2019, long before anybody had ever heard of Covid19.

It's about 15-18 months after the PS/2 decision was made.

Share this post


Link to post
Share on other sites
20 minutes ago, BruceMcF said:

I always get the feeling of nostalgia with this project. Now it is nostalgia for topics that were discussed to death in early 2019, long before anybody had ever heard of Covid19.

It's about 15-18 months after the PS/2 decision was made.

As long as we don't revive the discussion about the SNES ports and why they aren't DE-9 ports, I'm surprisingly okay with folks having to ask why the X16 is going with a PS/2 port. For now.

Share this post


Link to post
Share on other sites
Posted (edited)
35 minutes ago, StephenHorn said:

As long as we don't revive the discussion about the SNES ports and why they aren't DE-9 ports, I'm surprisingly okay with folks having to ask why the X16 is going with a PS/2 port. For now.

It's true that a lot of people have come on board SINCE the topic was talked to death.

For me, the only anachronistic element as far as the 8bit era is using the more refined PS/2 connectors as opposed to the bigger AT keyboard connector, and I'm perfectly fine with that ... that's the kind of "smoothing out the rough edges" that was discussed in Dream Computer 1.

AFAIU, the digital side of the AT / PS/2 keyboard interface was contemporaneous with the height of the C64 / 8bit Atari era.

As far as DE-9 joystick ports, we now have two options ... a dongle with a shift register inside that reads the state of the DE-9 port when the select line is pulsed low, and a direct wire through pair of DE-9 joystick ports on the User Port ... which would be program your own interface in true User-Port-Joystick-Expansion style.

Edited by BruceMcF

Share this post


Link to post
Share on other sites
16 hours ago, BruceMcF said:

I always get the feeling of nostalgia with this project. Now it is nostalgia for topics that were discussed to death in early 2019, long before anybody had ever heard of Covid19.

It's about 15-18 months after the PS/2 decision was made.

Ok, I rest my case 😉

  • Haha 1

Share this post


Link to post
Share on other sites
18 hours ago, Cyber said:

And in worst case there are also exist active USB-PS/2 keyboard/mouse converters. So if somebody have their favorite USB-only keyboard or mouse, they still can be used with X16.

220px-Active_USB_to_PS2_Adatper_(keyboard+mouse).jpg

I have a StarTech variation on this. It's pretty great; I use it with my Maximite, and it does the job pretty well. 

You can also do the same thing with an Arduino and a USB host controller; I'm thinking of also building a PC base adapter that lets you use your PC as a software KVM: when you activate the remote keyboard, it communicates to an Arduino which pretends to be a PS/2 keyboard and mouse.

 

Share this post


Link to post
Share on other sites
19 hours ago, Perifractic said:

Just to clarify, if you buy the X16 WASD keyboard, it automatically comes with firmware 2.5 instead of 3.0; it isn't necessary to request it.

Correct - the box to request the 2.5 firmware is already checked; IIRC,  you can also choose to check the 3.0 firmware, with the knowledge that you gain more programability but lose the PS/2 protocol. 

  • Like 2

Share this post


Link to post
Share on other sites
On 7/24/2020 at 7:33 AM, BruceMcF said:

It's true that a lot of people have come on board SINCE the topic was talked to death.

For me, the only anachronistic element as far as the 8bit era is using the more refined PS/2 connectors as opposed to the bigger AT keyboard connector, and I'm perfectly fine with that ... that's the kind of "smoothing out the rough edges" that was discussed in Dream Computer 1.

AFAIU, the digital side of the AT / PS/2 keyboard interface was contemporaneous with the height of the C64 / 8bit Atari era.

As far as DE-9 joystick ports, we now have two options ... a dongle with a shift register inside that reads the state of the DE-9 port when the select line is pulsed low, and a direct wire through pair of DE-9 joystick ports on the User Port ... which would be program your own interface in true User-Port-Joystick-Expansion style.

I find it very strange for the X16, as a (spiritual) model in the Commodore history line of computers, to not have DE-9 ports build in. A real missed opportunity IMHO.

Share this post


Link to post
Share on other sites
13 minutes ago, martinot said:

I find it very strange for the X16, as a (spiritual) model in the Commodore history line of computers, to not have DE-9 ports build in. A real missed opportunity IMHO.

Have you read the reasoning in the FAQ and does that change your opinion? 

Share this post


Link to post
Share on other sites
26 minutes ago, martinot said:

I find it very strange for the X16, as a (spiritual) model in the Commodore history line of computers, to not have DE-9 ports build in. A real missed opportunity IMHO.

An opportunity to what, exactly? To have games limited to four directions and one fire button, and lose 5-6 out of 14 GPIO from the User Port?

That's mostly the opportunity to lose game developers for the CX16, because once you've gotten used to developing for a controller with an adequate number of inputs, going back to the Atari joystick with single fire button is very constraining.

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
On 7/24/2020 at 5:53 PM, TomXP411 said:

Correct - the box to request the 2.5 firmware is already checked; IIRC,  you can also choose to check the 3.0 firmware, with the knowledge that you gain more programability but lose the PS/2 protocol. 

I didn't realize that keyboards had to have dual control firmware to handle PS/2 + USB.  Learn something new every day.

I've got one of the X16 WASD keyboards, and I love it, by the way.  I use it every day for work, and non-work, and X16 hacking.  Just icing on the cake that it works in both modes. With Cherry switches I guess it will last for the rest of my life.

 

4 hours ago, martinot said:

I find it very strange for the X16, as a (spiritual) model in the Commodore history line of computers, to not have DE-9 ports build in. A real missed opportunity IMHO.

I found it a little worrisome, because I *already know* how to read the C64's joystick ports -- heck, I remember that they're at $DC00 and $DC01, and I haven't programmed for them in 34 years.

But, I understand the argument for MOAR BUTTONS, and I think that opens up interesting stuff you can do, so, OK.

I'm also glad that there are pin headers for an additional two controllers, but that's just me remembering M.U.L.E.  Hmm, there's another game I want to write for the X16.  I should have a list.

 

 

Edited by rje
  • Like 1

Share this post


Link to post
Share on other sites
59 minutes ago, rje said:

I found it a little worrisome, because I *already know* how to read the C64's joystick ports -- heck, I remember that they're at $DC00 and $DC01, and I haven't programmed for them in 34 years.

The new interface is to jsr $FF53 to poll the controllers, followed by jsr $ff56 with the accumulator set to 0 or 1 (to select which controller to read). This will put the state of the joystick into the accumulator, and the x and y registers. See also: Joystick.

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, StephenHorn said:

The new interface is to jsr $FF53 to poll the controllers, followed by jsr $ff56 with the accumulator set to 0 or 1 (to select which controller to read). This will put the state of the joystick into the accumulator, and the x and y registers. See also: Joystick.

And unless you have disabled the default IRQ handler, you don't need to call $FF53. Also, the reason you have to call $FF56 to get the state is because I want to move away from magic memory locations. Even the VIC-20 had an API to query the size of the screen, but it lacked calls for more advanced functionality. For the X16, I want to expose as much as possible/necessary through calls, so I have more freedom changing the memory layout in the future.

  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use