Page 1 of 1

I want to build a PS2 Multitap

Posted: Wed Aug 31, 2005 3:01 am
by ingsebastian
Don't ask why :)

I have found some info about the ps2 pads, but nothing about how a multitap works. Or why a psx multitap dont work with dualshock2 pads on a ps2.

Any help will be appreciated

Tnx

Sorry about my english !!

Posted: Thu Sep 01, 2005 8:19 am
by jbit
Ages ago there was info on the web about the lowlevel PS1 multitap protocol, but I have no idea where it is now.
I've never seen any infomation regarding the PS2 multitap protocol. Maybe some nice person could hook up a logic analyzer or posh scope to the pad bus and document it? ;P

DualShock2 pads use relativly huge packets (18bytes, IIRC), and if I remember right, the old PS1 multitap could only deal with 6bytes per port, so this could be why they "don't work" with the old taps. It should work in digital and standard analogue mode though.
(Why the PS2 multitap doesn't support the old PS1 protocol I don't know though..)

Anyway, it'd probably be possible to make a homebrew PS2 multitap using a fastish PIC micro, protocol infomation, and some quality time with a PIC assembler.

After all the effort and cost of materials (Playstation plugs and sockets don't grow on trees, not near this house at least), it'd probably be cheaper to buy an official multitap.

Hope this helps a bit.

Posted: Thu Sep 01, 2005 7:57 pm
by Arwin
I don't think this is about price ... otherwise obviously buying one yourself and spending the time you would have spent on building your own on working would make more financial sense. :D

I have a multitap and a chipped ps2, so if you find me some software that reads raw data from the ports (and explain to me how to run it on the PS2 ;) ), I can test one or two things for you.

Posted: Fri Sep 02, 2005 7:16 am
by ingsebastian
Arwin wrote:I don't think this is about price
Thats right :)

I will try to read the data when i connect the multitap, and when i press the diferents buttons.
But...., i have not a logic analyzer, anyone knows the data rate through this ports? Will be enough to take samples with the pc parallel port?

Tnx for replies

Sorry about my english

Posted: Mon Sep 05, 2005 7:43 am
by J.F.
The first time the multitap is communicated with, it returns an ID of 0x80. After that, it's transparent and can't be seen directly.

Assuming MT on port 1
SEND: 01 42 00 00 00 ...
RECV: FF 80 ...

Commands after that first read are passed through to the appropriate port.
SEND: 02 42 00 00 ...
RECV: FF 73 ...

Shows an analog controller responding on port 2 of the multitap. The first byte sent is the port, 1-4 for controllers, and 0x81-0x84 for memory cards.

So your multitap has to respond with it's own read data the first time that port (1 or 2) is read so that the PS1/2 knows there's a multitap. After that, it must transparently pass through the data to/from the correct port based on the selector in the command stream.

Edit: by the way, the nominal rate of the PS1/2 pads is 250Kbaud, but PS2 controllers can apparently also run at 500Kbaud. So you need to support a clock of up to 500Kbps.