Joystick Port

Page 7/14
1 | 2 | 3 | 4 | 5 | 6 | | 8 | 9 | 10 | 11 | 12

By gdx

Enlighted (5704)

gdx's picture

17-08-2022, 03:42

aoineko wrote:

Access times are only specified for reading data from the mouse.

You talk about making a mouse driver for MSXgl and you asked the following question: "And what about the timing between those access?"
So I gave you the timings for the mouse. The datapack does not mention MSX-HID since it is not a standard protocol. So I can't tell you better than to see the wiki page.

sd_snatcher wrote:

Sadly, the article is now so disfigured that and full of obsessive prejudice labeling it's almost falling apart. Many parts have conflicting misinformation that were not there originally.

This is false (see modifications history), there has been little change in the article since the original. Only some clarifications have been added to avoid acting as if it was something official when it is not. The main lines remained intact.

aoineko wrote:

And about the article, it's really a pity that there was so much misunderstanding between MRC users.

Whose misunderstanding (apart from you)?

By sd_snatcher

Prophet (3552)

sd_snatcher's picture

17-08-2022, 19:56

@aoineko

I made a whole cleanup of the article, removed pejorative terms etc. Please check if it's easier to understand now.

This costed some hours of personal time. Let's just hope it's really used and not just quickly defaced.

Also moved the "not part of the standard" Disclaimer to the top of the article. I wonder if we should also do this for the SCC, FM-Towns joypads and so on.

By mars2000you

Enlighted (6318)

mars2000you's picture

17-08-2022, 20:23

This version seems me more easy to read and understand. I've made only some very minor corrections.

By Grauw

Ascended (10623)

Grauw's picture

17-08-2022, 21:12

Excellent!

By aoineko

Hero (537)

aoineko's picture

17-08-2022, 23:24

Given the knowledge I have now accumulated on this subject, it is difficult to know what I would have understood by reading this article for the first time. That said, it seems much clearer to me about the "experimental" aspect of the method and its implementation.
Thank you.

By gdx

Enlighted (5704)

gdx's picture

18-08-2022, 02:56

sd_snatcher wrote:

Also moved the "not part of the standard" Disclaimer to the top of the article. I wonder if we should also do this for the SCC, FM-Towns joypads and so on.

The standard recommends connecting to pin 8 but does not advise against doing otherwise. Several joysticks and joypads that do not use pin 8 have been sold with ASCII endorsement.

Aoineko, not being standard does not mean that it is a bad or unreliable method.

By aoineko

Hero (537)

aoineko's picture

18-08-2022, 09:19

gdx wrote:

Aoineko, not being standard does not mean that it is a bad or unreliable method.

I have never said the opposite.
Simply, after I read the (old version of the) article for the first time and thought it was a standard,I wasted time searching all over the net for more information and not understanding why I couldn't find any.
This is what the clear warning message in the article can prevent.
I added a General purpose port's devices detection feature in my MSXgl library using a derivative of this method... I'm not going to say it's bad or unreliable. ^^
It has known limits, but it remains useful.

By Pokun

Resident (53)

Pokun's picture

19-08-2022, 20:17

I reread the article again for the first time in years, and it looks much better now. The clarification of the terms used and how they are used is a really important part.

Values returned depending on the components and wiring which can be used to detect a certain type of input device sounds exactly like a fingerprint/signature to me. At least as long as they are a deliberate part of the design for detection and/or are widely used by software for detection. Signatures like this exist for many other computers and video game consoles as well.
Ex: Famicom peripheral detection

By Danjovic

Champion (258)

Danjovic's picture

19-08-2022, 23:13

The GND pin on the Atari joystick port is 8, whilst on the MSX Joystick port the GND pin is at pin 9.
Luckily pin 8 on the MSX port (which was designed to provide pulses to the paddles) is initialized at LOW level by BIOS, which allowed the MSX to use Atari joysticks that were pretty common at the time.

I wish the PSG datasheet provided the sink current capacity of the PSG I/O ports but after so many years of flawless operation we can assume that such figure is enough to operate safely.

Nevertheless, as pointed by GDX, use the Pulse pin as GND is neither a bad nor an unreliable method, this is just a method.

By Pokun

Resident (53)

Pokun's picture

20-08-2022, 22:24

Making pin 8 an output pin that defaults to 0 was most likely a deliberate design for compatibility with joysticks used with virtually every other computer at the time. As Nyyrikki said on the first page, the official MSX joystick design uses pin 8 as common ("common" is a term for "common return ground" whenever the GND pin isn't used for this). As Sd_snatcher said it's part of the MSX design and how BIOS routines expects it to be wired. Also as someone else said, using an output pin as common, means software can easily disable the joystick by setting pin 8 to high so that buttons always acts like unpressed.

Of course any active joystick (such as one with a turbo function) would need voltage as well so it would use pin 5 for +5 V and pin 9 for GND to power the active circuit (though the stick and trigger switches would still use pin 8 as common). Active MSX joysticks should probably never be used in any Atari, Commodore or Sega system where +5 V and GND uses different pins (and vice versa).

Page 7/14
1 | 2 | 3 | 4 | 5 | 6 | | 8 | 9 | 10 | 11 | 12