关于手柄“热插拔问题”的最终解释
理论上说手柄即使热插拔有害,也是对系统软件有影响,对硬件没有任何影响,注意红色部分,稍后作解释。我们先从最低级的讲道理阶段开始,不妨研究一下手柄插拔对系统的影响:
1、关机未通电状态,将手柄插入主机,开机,主机操作系统检测到手柄,载入游戏,游戏通过主机操作系统映射的驱动对手柄进行操作,玩家控制手柄操作游戏。这是正常的顺序,没人有意见吧?在这个顺序中,主机和手柄历经了这么一个过程,手柄由未通电变为通电,主机由未检测到手柄变为检测到。
2、关机未通电状态,开机,主机操作系统检测手柄,失败,并开始循环轮讯各个手柄接口,载入游戏,游戏无法通过主机操作系统映射的驱动找到手柄,报错,等待(这里有一个软件编程的合理性,稍后讨论),这时候插入手柄,系统检测到手柄,驱动生效、软件检测到驱动,开始游戏。这个过程中大家可能会有异议,但先假定我说的成立,这个顺序中主机和手柄也经历了一个过程,手柄由未通电变为通电,主机由未检测到手柄变为检测到。跟第一种状态没有任何区别,如果你认为有区别,那纯属于你人性化的设想主机在自检中检测到跟游戏中检测到会不同,这个我下面会说到,但请打消这个念头吧,我们玩的不是chobits。
首先既然设计了主机、手柄分离,硬件厂商自然会想到手柄插拔的问题(他们一定比我们聪明,这个别怀疑了,除非你自己可以作出更好的主机),所以设计过程中主机操作系统会在开机后就会对各个手柄域进行轮讯,因为系统没有眼睛,他不知道玩家是否在开机前就把手柄插到了主机上,当主机开机检测到手柄后,一切正常,进入第一种状态,这个就不说了。当主机开机后进行轮讯,未检测到手柄(排除硬件故障可能),这时候如果系统设计报错,会报错,并继续轮讯各个接口,等待手柄插入,如果没有设计报错,会继续执行设定的任务,比如进入操作系统或检测光区中是否有游戏或媒体并运行。这时候与主机操作系统就无关了,接下来如果有游戏,执行后游戏取代操作系统对主机控制权,并寻找主机操作系统对手柄的驱动映射,如果发现手柄无效(排除硬件故障可能),而且软件编写的时候考虑到该情况就会报错并继续等待手柄插入,也有不报错的,但依然会等待手柄插入。待手柄插入后正确运行相关程序。这就是第二种情况,有争议的话就体现在游戏的编写上了,有的会等待手柄,有的不会等,但多数都会在手柄正确插入后运行游戏。如果没有运行,那是软件别写的问题,与主机硬件和主机操作系统无关。为了证明这点我们可以做这个试验:再没有软件、不插手柄的情况下开机,这时候主机等待,不会进行任何操作,插入手并,可以操作后拔掉,再插入,又可以进行操作。
所以证明了:
1、主机在开机时检测手柄
2、如果未发现手柄,会对端口轮讯,直到找到手柄
以上两点证明,手柄其实在任何时候都是热插拔的(无论开机插,关机插),因为主机跟手柄都历经了未通电、通电,未检测、检测的过程。还是不明白的话,请重新看一边我的文章。
下面再讨论是否会对主机软硬件产生问题:如果你看完上面的文章明白了我的意思,你会觉得大家讨论是否热插拔手柄是很可笑的一件事,如果没明白我的意思,没关系,我再简单的说说:
首先,接口的磨损:无论开机、关机,只要你拔插了手柄,对接口都是有伤害,这个没有讨论的余地。不理解或完美主义者以及唯心论者,请把这个帖子关掉吧。所以说这个损害可以忽略不计算,这就解释了我最开始那句红字话的意思
其次,我为什么说会对系统软件有影响呢?这是因为如果软件别写的不好,开机后只检测一次手柄,之后就不再检测了(但据我所知目前三大机种生产者中没有这么傻的厂商),可以通过我的那个试验证明,如果插入手柄后无法再操作了,那就是软件问题,说明不支持中途插入手柄(请注意,这个时候我已经不再用“热插拔”这个词了,原因请看文章第二句红色注释)。那么就会出现手柄无法操作系统的‘死机’情况,不过因为现在游戏机的操作系统都是固化,重启动即可。至于大家谈虎色变的烧主机、烧接口、烧芯片等等问题我要说的是其实都是人心理原因或极特殊的情况,
1、插入方向不对:现在的接口大都有防呆设计,这种情况很少见了
2、插入方向不对,用力过大:………
3、插入方向正确,烧毁:这种情况很多,受害者会出现无辜的眼神和摸不找头脑的郁闷,找不到原因后会责怪道主机开机情况下插手柄是不正确的,但我前面说过,无论什么情况下,手柄和主机之间都是未加电到加电,未检测到检测,不存在这个问题,但问题出在哪里呢?唯一能解释的就是手柄接口在开机时插入的瞬间被击穿了,为什么会这样?通常是因为当地电压不稳,或空气湿度较大等原因,这个时候如果是手柄先插入主机后再开机,就不会出现这个状况,所以这个就是概率的事了,但我这篇文章讨论的是大多数情况下的开机插手柄是不会出任何问题的
需要注意的是:记忆卡等周遍类似,除了厂商说明严禁开机插拔的设备,都可以按文中的说明理解。但因此产生的后果,作者不负任何责任。
以上讨论的内容不限制于gc主机,ps2、xb都可以套用
小牢骚:我希望以后不要再有这类问题出现了,因为之前大家讨论的都是一些很低级的问题,而且仔细看置顶贴后都会解决的。所以我不经常在这里发言,gc因为种种原因人气低这个没有办法,但人气低也不能用灌水凑帖子,所以以后如果没有很有争议的问题,我还是会潜水的,希望大家不要见怪,个人认为版主的任务是维护版区秩序,回答问题(但不等于有问必答,可以看贴解决的请看贴)





