Posts: 923
Threads: 7
Joined: Jan 2012
Reputation:
47
Location: Argentina
04-09-2013, 11:42 AM
(This post was last modified: 05-01-2013, 09:38 PM by KrossX.)
Old post Wrote:Currently checking the SIO to see what weird voodoo magic is at place cuz my logs show whateverness (or it could be due to lack of sleep). So, this is what I currently know from making Pokopom. (Yay! Using LibreOffice... for something.)
![[Image: WjoZyTdm.png]](https://i.imgur.com/WjoZyTdm.png)
My guess is that the Multitap for PS2 uses the extra words for the pressures, making it 20 bytes per controller instead of 8. Which is why they're incompatible I suppose? Cuz I've read that you need a PS2 Multitap for PS2 games, and when using PS1 games you need the PS1 multitap... on the PS2.
So, PCSX2 handles Multitap on its own. It deals with the header and just calls PADsetSlot to tell the plugin which controller to use on next poll. Except that it just doesn't seem to work. Similar to Issue 1326 where PADstartPoll ain't called when it should've been called. 
I'll try to get some decent logs after I get some sleep.
#EDIT: This is a SIO_Remake thread now. Test builds attached.
- Added support for raw PSX memory cards (mcd/mcr)
- Fixes issues with pads on port2 (eg, Issue 1326, Gladius Co-op )
- Fixes multitap (eg, TimeSplitters)
- v7: Hazardous but fast memcard check for AutoEject. Allows support for multitap. Beware of memory card corruption. (discarded)
- v9: Same as v7, but bettered.. yeah

#Note: Sio rewrite files are on the pcsx2 folder, separate from the diff changes.
#Note: v5 is pre r5622, v6+ doesn't include commited changes.
Sponsored links
Posts: 20.146
Threads: 405
Joined: Aug 2005
Reputation:
540
Location: England
Its possible it doesnt work. The whole sio interface id a complete hack job as nobody knows how it really works! So its been designed from test results and guessing
Posts: 909
Threads: 39
Joined: Apr 2013
Location: India
Can i use multitap on pcsx2
Posts: 923
Threads: 7
Joined: Jan 2012
Reputation:
47
Location: Argentina
It's bananas!
Code: Multitap on Port 0, Port 1 Unplugged
[00|0|1] [01|FF] * // StartPoll
[01|0|1] [42|73] // Poll
[02|0|1] [00|5A]
[03|0|1] [00|FF]
[04|0|1] [00|FF]
[05|0|1] [FF|70]
[06|0|1] [FF|7D]
[07|0|1] [FF|73]
[08|0|1] [FF|76]
Pokopom -> PADsetSlot [2|1] {00}
[00|1|1] [01|00] *
[01|1|1] [42|00]
[02|1|1] [00|00]
[03|1|1] [00|00]
[04|1|1] [00|00]
Multitap: [00|02|01|5A] (port,pad) 00,01 // SIO
Multitap: [00|02|02|5A] (port,pad) 00,02
Multitap: [00|02|03|5A] (port,pad) 00,03
Multitap: [00|02|00|5A] (port,pad) 00,00
Pokopom -> PADsetSlot [1|1] {01}
[00|0|1] [01|FF] *
[01|0|1] [42|73]
[02|0|1] [00|5A]
[03|0|1] [00|FF]
[04|0|1] [00|FF]
[05|0|1] [FF|70]
[06|0|1] [FF|7D]
[07|0|1] [FF|73]
[08|0|1] [FF|76]
Pokopom -> PADsetSlot [2|1] {00}
[00|1|1] [01|00] *
[01|1|1] [42|00]
[02|1|1] [00|00]
[03|1|1] [00|00]
[04|1|1] [00|00]
Multitap: [00|02|01|5A] (port,pad) 00,01
Multitap: [00|02|02|5A] (port,pad) 00,02
Multitap: [00|02|03|5A] (port,pad) 00,03
Multitap: [00|02|00|5A] (port,pad) 00,00
And it's borked indeed. It kinda tries, but never polls nor does the PADsetSlot for the multitap.
(04-09-2013, 12:10 PM)refraction Wrote: Its possible it doesnt work. The whole sio interface id a complete hack job as nobody knows how it really works! So its been designed from test results and guessing 
I guess a rewrite is in order?
(04-09-2013, 01:35 PM)Yash the gamer Wrote: Can i use multitap on pcsx2
You can try.
Posts: 20.146
Threads: 405
Joined: Aug 2005
Reputation:
540
Location: England
(04-09-2013, 08:22 PM)KrossX Wrote: I guess a rewrite is in order?
You are more than welcome to attempt a SIO rewrite xD
Posts: 923
Threads: 7
Joined: Jan 2012
Reputation:
47
Location: Argentina
But I'm lazy! ... aaahh, oh well. Is basically the PSX SIO with some extra thing or two? If so, nocash new info might come in handy.
Posts: 20.146
Threads: 405
Joined: Aug 2005
Reputation:
540
Location: England
04-09-2013, 09:54 PM
(This post was last modified: 04-09-2013, 09:54 PM by refraction.)
(04-09-2013, 09:40 PM)KrossX Wrote: But I'm lazy! ... aaahh, oh well. Is basically the PSX SIO with some extra thing or two? If so, nocash new info might come in handy.
well its on the IOP side, so it probably is just an extension on the original SIO interface.
And hey, the whole team is lazy  Why do you think its taken 10 years to get this far? xD
Posts: 923
Threads: 7
Joined: Jan 2012
Reputation:
47
Location: Argentina
Posts: 20.146
Threads: 405
Joined: Aug 2005
Reputation:
540
Location: England
\o/ good job
Posts: 923
Threads: 7
Joined: Jan 2012
Reputation:
47
Location: Argentina
Now added the settings check, tested toggling Multitap on and off and the game reacted accordingly. Also, tested with LilyPad having Multitap with different port configurations and it reacted nicely. For example, port A and B resulted in 2up options and adding port D resulted in 3up option, so it works nicely.
Now what's left is.... the sioDMA thingy and the Memcard thingy.
|