世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄

世嘉土星手柄定义,如何自制世嘉土星手柄

来源 Gamesx

土星手柄的控制板非常简单,两个74153芯片组合成一个定制的世嘉芯片,两条选择线用于轮询四组四个按钮,如果要制作自己的土星控制器,只需把两个74153芯片插入其中,并按照此图进行接线就可以了。
在这里插入图片描述
世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第1张图片

控制引脚定义
pin # Name Function
1 VCC +5v (Out)
2 D1 Data 1
3 D0 Data 0
4 S0 Select 0
5 S1 Select 1
6 5v +5v (Inp)
7 D3 Data 3
8 D2 Data 2
9 GND Ground
数据位分配
S0 S1 D0 d1 d2 d3
Off Off Z Y X R
On Off B C A St
Off On Up Dn Lt Rt
On On - - - L


注意

  • 如果安装了非标准控制器,则下面的引脚排列可能不准确。

  • 此引脚排列仅适用于Saturn打击垫,格斗摇杆和双摇杆。

  • Saturn端口具有许多功能和用途而MegaDrive控制器(包括3-和6-每个端口上都可以使用按键板,鼠标和TeamTap(双格斗杆,以及土星板,键盘和枪。

  • SMPC(系统管理器和外围设备控制)芯片会自动处理这些设备的所有通信,但它会告诉软件哪种类型的设备已连接,即使硬件支持,它们也不能保证这些设备在游戏中能正常工作。

  • MegaDrive控制器连接到Saturn的引脚排列尚不清楚,但Sega的文档说此端口支持它们。

世嘉MD手柄定义

来源

Genesis(Mega Drive)控制器使用标准的9针连接器,并且它们的通信协议非常简单,因此我构建了一个小适配器,将我的Genesis控制器变成了可与任何仿真器一起使用的USB游戏手柄!
世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第2张图片
总费用约为10美元。

使用ATmega48,带有Objective Development的V-USB驱动程序。该电路基本上是以V-USB作为参考设计的,但做了一些小的修改。

我用了一个绿色的LED,因为每个人都喜欢LED灯。

Genesis控制器使用6条线(D0 … D5)进行数据通信,并使用第七条线(SELECT )来确定将哪些按钮的状态放在这些线路上。
世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第3张图片世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第4张图片世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第5张图片在这里插入图片描述

世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第6张图片选择线(SEL)通常为高电平。要读取控制器的状态,第一步是读取SEL为高电平时候的数据线。数据线将指示D-pad(方向键)的状态以及B和C按钮:

引脚按钮(SEL = 5V)

引脚 定义
D0 方向键上
D1 方向键下
D2 方向键左
D3 方向键右
D4 B按钮
D5 C按钮

如果D0-D5任意数据线为低电平,则说明此刻按下相应的按钮。

接下来,将SEL拉低并再次读取数据引脚,它们现在将指示A和开始按钮以及方向键上的上下状态。

此时按钮SELECT的引脚为0V

引脚 定义
D0
D1
D2 GND
D3 GND
D4 A按钮
D5 START按钮

读取数据引脚后将SEL设置为高电平,如果您要读取只有3操作按钮的控制器,那么流程到这里就结束了。大多数Genesis以30至60 Hz的频率读取控制器的状态,并将SEL线拉低20微秒。

但是,如果您要读取6按钮控制器,则需要做更多的工作来获取其余按钮的状态。将SEL线再次拉低两次:(清除SEL;等待20µs;设置SEL;等待20μs;清除SEL;等待20μs;设置SEL。现在,在SEL为高电平时,在第三个低电平脉冲之后,控制器以X,Y,Z和模式按钮的状态做出响应。

引脚按钮(第三脉冲后SEL = 5V)

引脚 定义
D0 Z按钮
D1 Y按钮
D2 X按钮
D3 模式按钮

最后,将SEL脉冲从低到高再次完成读操作。

世嘉土星和世嘉MD手柄定义,如何自制土星和MD手柄_第7张图片

你可能感兴趣的:(硬件开发)