What is the point of bits [3:0] in the R15 of the PSG

By Eugeny_Brychkov

Paragon (1107)

Eugeny_Brychkov's picture

05-12-2019, 17:56

Never touched joystick circuitry too deeply. Looking into the book page 26 I can not get what is the purpose of the IOB0-IOB3 and their connection to the inputs of the port A. Somewhere else I saw that it is for trigger readout disable. Why? What would be the circumstance? STB (IOB4/IOB5) lines must be enough to read both joysticks and state of their stick and buttons.

Login or register to post comments

By Grauw

Ascended (8621)

Grauw's picture

05-12-2019, 18:32

Joystick port pins 6 and 7 (triggers) are bidirectional, so they are connected to both IOA5/IOA6 input pins and the IOB0-3 output pins. Normally the outputs are set to 1 by the BIOS ISR to allow input (otherwise input would be pulled low), so you need to disable interrupts while using these to output to a device. This function is not used by regular joysticks and mice, but it’s nice to have it nevertheless.

See http://map.grauw.nl/resources/msx_io_ports.php#psgioports

By Eugeny_Brychkov

Paragon (1107)

Eugeny_Brychkov's picture

05-12-2019, 18:53

You'll not be surprised to know that this is the first link I go to to check the basic information about MSX ports Smile PSG ports info section is not clear on the subject.
I will put 68 Ohms resistors in the series for STB and '07 outputs to protect them from the shorting to power rails, there will still be slack of 3.52 kOhms until machine fails to register the button press.

By Grauw

Ascended (8621)

Grauw's picture

05-12-2019, 19:06

What’s unclear about “Output joystick port 1, pin 6”, etc.?

That page is only an overview, so I don’t really go into details there, but it speaks the truth Smile.

The technical data book seems to have an error on page 25 btw, it lists TRG 1 as I/O but TRG 2 only as output.

By Eugeny_Brychkov

Paragon (1107)

Eugeny_Brychkov's picture

05-12-2019, 19:07

Grauw wrote:

What’s unclear about “Output joystick port 1, pin 6”, etc.?

It is missing explicit information that line is bi-directional, and can be used for bi-directional communication. Up to you to add it or leave it out. I do not think there will be many people interested in these details.

By Grauw

Ascended (8621)

Grauw's picture

05-12-2019, 19:14

The description is from the perspective of the Z80 and intended as a reference, I think more details belong in a comprehensive article on the joystick port. But pins 6 & 7 are mentioned as both input and output, so it follows Smile. Might add a dedicated page in the future but people can read the official docs if they want that info. The technical data book lists it on page 25, despite the error for TRG 2.

By sd_snatcher

Prophet (3137)

sd_snatcher's picture

06-12-2019, 02:12

The pins-6 and 7 of the joystick ports are primarily used to communicate with the MSX-Touchpad via SPI protocol. Later, pin-6 was also used for the Arkanoid Vaus Paddle and can also be used for the Sega 3-Line-handshake protocol devices, like the Mega-Multitap and most of the Saturn controllers.

By Eugeny_Brychkov

Paragon (1107)

Eugeny_Brychkov's picture

06-12-2019, 07:26

sd_snatcher wrote:

The pins-6 and 7 of the joystick ports are primarily used to communicate ...

Thank you for this information!

By sd_snatcher

Prophet (3137)

sd_snatcher's picture

06-12-2019, 22:36

You're welcome. Smile

I forgot to mention that the Konami JE-700 "multiplayer link cable" also uses the pins-6 and 7 for communication.

The cable is used for multiplayer mode on the F1 Spirit 3D Special. I heard that this cable also works with the F-16 Fighting Falcon game. Could someone please confirm that?

By Manuel

Ascended (15979)

Manuel's picture

06-12-2019, 23:31