Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

saroo和blueretro蓝牙接收器同用时有个小问题 #198

Open
07saga opened this issue Sep 15, 2024 · 19 comments
Open

saroo和blueretro蓝牙接收器同用时有个小问题 #198

07saga opened this issue Sep 15, 2024 · 19 comments

Comments

@07saga
Copy link

07saga commented Sep 15, 2024

saroo在启动游戏后,blueretro接收器的2P手柄无法被识别到。要在游戏启动后,再把接收器重新插拔一下或者按EN重新上电后2P才会被识别出来。用光盘玩游戏时好像没有这样的问题,是不是因为在SAROO操作菜单的界面2P手柄没有被启用的。

@yzbss
Copy link

yzbss commented Sep 19, 2024

在saroo界面选择运行光盘游戏是否有这个问题?
在saroo选游戏界面按Z进入9球再进入游戏是否还有相同问题?

@07saga
Copy link
Author

07saga commented Sep 19, 2024

在saroo界面选择运行光盘游戏是否有这个问题?
在saroo选游戏界面按Z进入9球再进入游戏是否还有相同问题?

特意全部试了一下,只有用SAROO引导后才会出现2p手柄没有被识别这种情况。
无论是按Z进九球还是选择运行光盘游戏都会无法识别。拔掉saroo卡,直接用光盘启动游戏时是正常。
另外在测试这些时,意外发现另一个小问题。因为新版固件的主题可以播放背景音乐,所以读盘指示灯会不停的闪表示在读取tf卡的数据,但是在引导进入cd界面直接运行光盘之后,依然会不停的闪烁,是不是还在不停的读取数据?其实以前就发现了这个类似的问题,在用saroo引导进入sdloader的界面后,正在播放的背景音乐是不会停的。当时还觉得这个状况挺好的。但如果引导进入cd光盘游戏后,依然不停的读取背景音乐数据的话就有点浪费损耗了。

@tpunix
Copy link
Owner

tpunix commented Sep 20, 2024

有点奇怪哦。手柄都是主板的SMPC芯片自动检测读取的,按理说SAROO只是获取数据,没理由影响到2P的。有待研究。

@yzbss
Copy link

yzbss commented Sep 20, 2024

我没有这个设备,我猜是蓝牙接收器有搜索时间限制,如果短时间内没搜索匹配到手柄,则断开
你可以试试开机以后按键跳过开机画面快速进入到saroo选游戏菜单,然后快速进入游戏

@07saga
Copy link
Author

07saga commented Sep 22, 2024

我又仔细试了一下,和有没有匹配手柄没关系,对于SS游戏机来说,这个接收器插上就已经有2个手柄了,和有没有配对蓝牙手柄没关系。特意用Q版沙罗曼蛇试最方便,在游戏开始界面,就能直观的显示出手柄的连接状态。用SAROO进入游戏后只有1P手柄是亮的,2P是灰的。重接拔或者按下EN键后,不用连接蓝牙手柄,2P也亮了。

@tzmwx
Copy link

tzmwx commented Sep 26, 2024

刚才试了一下,然而没法继续,原因是我购买的hw1版blueretro土星双手柄板子,买回来就用了1P手柄,刚刚加2P没有成功,如何加2P?如何匹配1P和2P?

@07saga
Copy link
Author

07saga commented Sep 26, 2024

刚才试了一下,然而没法继续,原因是我购买的hw1版blueretro土星双手柄板子,买回来就用了1P手柄,刚刚加2P没有成功,如何加2P?如何匹配1P和2P?

先连接第1个蓝牙手柄,默认是1P。然后把手柄的电源关掉。接收器就又处于等待连接状态。然后再连接第2个蓝牙手柄。连接成功后。再打开己连接过的手柄,这样两个手柄都能自动连上了。每次第1个连上的手柄自动为1P,第2个连上的为2P。

@tzmwx
Copy link

tzmwx commented Sep 27, 2024

我使用的这个没有你说的问题,截图有软件硬件版本

IMG_8712
image

video-output-C0203EFC-EC4E-458E-AD5B-7C20D328BFB9.mov

@07saga
Copy link
Author

07saga commented Sep 29, 2024

我使用的这个没有你说的问题,截图有软件硬件版本

你的SAROO卡用的是哪个版本的固件,627吗?

我特意把接收器的固件降到1.9.2试过了,还是同样的问题。

@tzmwx
Copy link

tzmwx commented Sep 29, 2024

saroo版本20240627,其它版本没测试

换个土星主机或别人做的2合一blueretro接收器试试看
或者换个我测试的游戏试试看,我试过世嘉拉力和街霸zero3

@07saga
Copy link
Author

07saga commented Oct 15, 2024

saroo版本20240627,其它版本没测试

换个土星主机或别人做的2合一blueretro接收器试试看
或者换个我测试的游戏试试看,我试过世嘉拉力和街霸zero3

对软件方面不太擅长,所以只能从硬件上进行测试来分析原因了。
先说结论,这个问题不是由Saroo造成的,而是所有和saroo一样,通过扩展插槽来启动程序的方式都会有这样的问题。比如具有控制界面的存储卡,金手指卡等。只要是通过这些卡的控制界面进入游戏,都会使2P手柄无法操作。
这个蓝牙接收器本身的功能还是挺强大的,他所模拟出来的手柄,在默认模式下是世嘉土星的3d手柄,所以一小部分不支持3d手柄的游戏会无法使用,比如上次试的战斧格斗版。把模式改为dual,这时候工作模式为六分插,手柄会被识别为普通手柄,就能够使用了。这也是你在测试赛车和个别游戏时看上去可以正常使用2p手柄的原因。因为这些游戏支持手柄分插,操作2P的其实是1P手柄分插上的2#手柄。
造成这一现象的原因就是在用扩展插槽启动程序时,2P手柄接口的第六脚会被强制输入为低电平状态。这个引脚在技术手册上标识为Vin,在有线手柄上,通常直接和+5V电源短接。当有2P手柄接入时,它就会变高电平,在没有手柄接入时,它就是低电平。所以被扩展卡程序强制拉为低电平后,除非重新插拔,或按下蓝牙模块上的重置按钮,否则就无法识别到2P手柄。
不知道我的这些表述,你能不能理解。因为我已经改变过好几种不同的硬件电路都无法解决这个问题,所以也就只能看看大佬你在软件层面能不能找到修复的办法了。

@tzmwx
Copy link

tzmwx commented Oct 15, 2024

1.如果怀疑第六脚,可以接收器端直接将第六脚接+5V,普通手柄这脚就是直接高电平的

2.我用的那款没有你说的问题,你或许可以找找其它原因

3.用光盘进游戏测试一下?或者用金手指卡进光盘游戏试试看?如果同样的问题,那就可以确认你做的接收器有问题或接收器软件设置有问题

@07saga
Copy link
Author

07saga commented Oct 15, 2024

1.如果怀疑第六脚,可以接收器端直接将第六脚接+5V,普通手柄这脚就是直接高电平的

2.我用的那款没有你说的问题,你或许可以找找其它原因

3.用光盘进游戏测试一下?或者用金手指卡进光盘游戏试试看?如果同样的问题,那就可以确认你做的接收器有问题或接收器软件设置有问题

直接用光盘启动是正常的,但用引导卡启动后光盘游戏也会有这问题,我是直接用万用表测的电压才得到的这个结论。为了验证我甚至1:1复刻了原作。以排除自己做的PCB有问题。

@tzmwx
Copy link

tzmwx commented Oct 15, 2024

修改一下模式,应该是你接收器设置问题

multiple dual改成别的

@tpunix
Copy link
Owner

tpunix commented Oct 16, 2024

仔细研究确认了一下,手柄的识别完全是SMPC硬件去控制的,软件无法干预,只能读取结果。
这只能去找接收器的原因。可以把接收器的串口接出来看看啥情况。

@07saga
Copy link
Author

07saga commented Oct 16, 2024

仔细研究确认了一下,手柄的识别完全是SMPC硬件去控制的,软件无法干预,只能读取结果。
这只能去找接收器的原因。可以把接收器的串口接出来看看啥情况。

虽然这个问题对手柄的使用没什么太大影响,但总归是想搞清楚是怎么回事。
用来写入esp32固件的rx接口的还是在的,用什么软件可以查看串口数据?
另外,我试用更多有引导界面的扩展卡,确认都会有这样的问题。即使引导后进入光盘游戏,也无法恢复。但是不使用引导卡,直接用光盘启动游戏时,就都正常。虽然和saroo本身的关系不大了,但是现在能讨论这种问题的地方太少了,所以只能在这里咨询一下啦。
用原版的PCB文件,直接复刻了一个测试结果也一样,这个用了四片电平转换芯片,控制效果应该好于使用三极管的版本吧。或者是歪打正着,只有使用三极管作为电平转换电路,才能更真实的还原真实手柄的状态?mmexport1729065714888.jpg

@tpunix
Copy link
Owner

tpunix commented Oct 16, 2024

串口,putty或secureCRT都可以。设置921600的速度就可以看到信息了。

@07saga
Copy link
Author

07saga commented Oct 16, 2024

串口,putty或secureCRT都可以。设置921600的速度就可以看到信息了。

抓取到数据了,和用光盘玩游戏时产生的数据流是一样的,大概意思就是完成初始化,然后连接到xx蓝牙手柄。也就是说,个问题和这个接收器并没有直接关系。
另外,为了验证是由于六分插模式,使得部分游戏可以使用2p手柄,特意试了好几个支持六分插的游戏,果然都是可以2P的,除了tzmwx说的这两个游戏外,我还试了梦游美国和电梯大战2,土星炸弹人等,multitap在dual状态,也就是六分插模式下的确可以2P,3P。
还有将此引脚和普通手柄一样,直接短接5V也早试过了没用的。

@tpunix
Copy link
Owner

tpunix commented Oct 17, 2024

之前有人反应手柄查询速度太快,里有一个测试估计按,试试看?
#177

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants