2. Amiga 摇杆¶
2.1. 引脚排列¶
2.1.1. Amiga 4 摇杆并行端口扩展¶
并行端口引脚
引脚 |
含义 |
引脚 |
含义 |
---|---|---|---|
2 |
上1 |
6 |
上2 |
3 |
下1 |
7 |
下2 |
4 |
左1 |
8 |
左2 |
5 |
右1 |
9 |
右2 |
13 |
开火1 |
11 |
开火2 |
19 |
地线1 |
18 |
地线2 |
2.1.2. Amiga 数字摇杆¶
引脚 |
含义 |
---|---|
1 |
上 |
2 |
下 |
3 |
左 |
4 |
右 |
5 |
n/c |
6 |
开火按钮 |
7 |
+5V (50mA) |
8 |
地线 |
9 |
拇指按钮 |
2.1.3. Amiga 鼠标¶
引脚 |
含义 |
---|---|
1 |
V 脉冲 |
2 |
H 脉冲 |
3 |
VQ 脉冲 |
4 |
HQ 脉冲 |
5 |
中间按钮 |
6 |
左键 |
7 |
+5V (50mA) |
8 |
地线 |
9 |
右键 |
2.1.4. Amiga 模拟摇杆¶
引脚 |
含义 |
---|---|
1 |
顶部按钮 |
2 |
顶部2 按钮 |
3 |
触发按钮 |
4 |
拇指按钮 |
5 |
模拟 X |
6 |
n/c |
7 |
+5V (50mA) |
8 |
地线 |
9 |
模拟 Y |
2.1.5. Amiga 光笔¶
引脚 |
含义 |
---|---|
1 |
n/c |
2 |
n/c |
3 |
n/c |
4 |
n/c |
5 |
触摸按钮 |
6 |
/光束触发器 |
7 |
+5V (50mA) |
8 |
地线 |
9 |
笔按钮 |
2.2. 寄存器地址¶
2.2.1. JOY0DAT/JOY1DAT¶
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
JOY0DAT |
00A |
R |
Denise |
摇杆-鼠标 0 数据(左垂直,水平) |
|
JOY1DAT |
00C |
R |
Denise |
R |
这些地址各自读取一个 16 位寄存器。 这些寄存器又从 MDAT 串行流加载,并在 SCLK 的上升沿时钟输入。 MLD 输出用于并行加载外部并行转串行转换器。 依次加载来自两个游戏控制器端口的 4 个正交输入(总共 8 个),以及 LISA 新增的 8 个杂项控制位,这些位可以在 LISAID 的高 8 位中读取。
寄存器位如下
鼠标计数器用法(引脚 1,3 = Y 时钟,引脚 2,4 = X 时钟)
位 # |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JOY0DAT |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
JOY1DAT |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
0 = 左控制器对,1 = 右控制器对。(总共 4 个计数器)。 下面显示了左右地址的位用法。 每个 6 位计数器 (Y7-Y2, X7-X2) 由来自鼠标串行流的 2 个信号时钟控制。 从收到的第一个位开始
串行
位名称
描述
0
M0H
JOY0DAT 水平时钟
1
M0HQ
JOY0DAT 水平时钟(正交)
2
M0V
JOY0DAT 垂直时钟
3
M0VQ
JOY0DAT 垂直时钟(正交)
4
M1V
JOY1DAT 水平时钟
5
M1VQ
JOY1DAT 水平时钟(正交)
6
M1V
JOY1DAT 垂直时钟
7
M1VQ
JOY1DAT 垂直时钟(正交)
可以读取每个计数器的位 1 和 0 (Y1-Y0, X1-X0) 以确定相关输入信号对的状态。 这允许这些引脚兼作摇杆开关输入。 摇杆开关的闭合可以按如下方式解码
方向
引脚#
计数器位
向前
1
Y1 异或 Y0(位 #09 异或位 #08)
左
3
Y1
向后
2
X1 异或 X0(位 #01 异或位 #00)
右
4
X1
2.2.2. JOYTEST¶
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
JOYTEST |
036 |
W |
Denise |
一次写入所有 4 个摇杆-鼠标计数器。 |
鼠标计数器写入测试数据
位 # |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JOYxDAT |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
xx |
xx |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
xx |
xx |
JOYxDAT |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
xx |
xx |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
xx |
xx |
2.2.3. POT0DAT/POT1DAT¶
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
POT0DAT |
h |
012 |
R |
Paula |
电位计计数器数据左对(垂直,水平) |
POT1DAT |
h |
014 |
R |
Paula |
电位计计数器数据右对(垂直,水平) |
这些地址各自读取一对 8 位电位计计数器。(总共 4 个计数器)。 下面显示了两个地址的位分配。 计数器由来自 2 个控制器连接器(左右)的信号停止,每个连接器有 2 个引脚。
位 # |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
右 |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
左 |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
连接器
PAULA
位置。
方向。
符号
引脚
引脚
右
Y
RX
9
33
右
X
RX
5
32
左
Y
LY
9
36
左
X
LX
5
35
使用正常的(NTSC 或 PAL)水平线速率,电位计将在一个帧时间内提供具有大约 500k 欧姆的满量程 (FF) 读数。 使用成比例的更快水平线时间,计数器将成比例地更快计数。 在进行可变光束显示时应注意这一点。
2.2.4. POTGO¶
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
POTGO |
034 |
W |
Paula |
电位计端口(4 位)双向和数据,以及电位计计数器启动。 |
2.2.5. POTINP¶
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
POTINP |
016 |
R |
Paula |
电位计引脚数据读取 |
此寄存器控制一个 4 位双向 I/O 端口,该端口与上述 4 个电位计计数器共享相同的 4 个引脚。
位 #
功能
描述
15
OUTRY
Paula 引脚 33 的输出使能
14
DATRY
I/O 数据 Paula 引脚 33
13
OUTRX
Paula 引脚 32 的输出使能
12
DATRX
I/O 数据 Paula 引脚 32
11
OUTLY
Paula 引脚 36 的输出使能
10
DATLY
I/O 数据 Paula 引脚 36
09
OUTLX
Paula 引脚 35 的输出使能
08
DATLX
I/O 数据 Paula 引脚 35
07-01
X
未使用
00
启动
启动电位计(转储电容器,启动计数器)