2. Amiga 操纵杆扩展¶
2.1. Amiga 4 操纵杆并行端口扩展¶
并行端口引脚
引脚 |
含义 |
引脚 |
含义 |
---|---|---|---|
2 |
上1 |
6 |
上2 |
3 |
下1 |
7 |
下2 |
4 |
左1 |
8 |
左2 |
5 |
右1 |
9 |
右2 |
13 |
开火1 |
11 |
开火2 |
18 |
地线1 |
18 |
地线2 |
2.2. Amiga 数字操纵杆引脚图¶
引脚 |
含义 |
---|---|
1 |
上 |
2 |
下 |
3 |
左 |
4 |
右 |
5 |
n/c (未连接) |
6 |
开火按钮 |
7 |
+5V (50mA) |
8 |
地线 |
9 |
拇指按钮 |
2.3. Amiga 鼠标引脚图¶
引脚 |
含义 |
---|---|
1 |
垂直脉冲 |
2 |
水平脉冲 |
3 |
垂直正交脉冲 |
4 |
水平正交脉冲 |
5 |
中间按钮 |
6 |
左键 |
7 |
+5V (50mA) |
8 |
地线 |
9 |
右键 |
2.4. Amiga 模拟操纵杆引脚图¶
引脚 |
含义 |
---|---|
1 |
顶部按钮 |
2 |
顶部2按钮 |
3 |
扳机按钮 |
4 |
拇指按钮 |
5 |
模拟 X |
6 |
n/c (未连接) |
7 |
+5V (50mA) |
8 |
地线 |
9 |
模拟 Y |
2.5. Amiga 光笔引脚图¶
引脚 |
含义 |
---|---|
1 |
n/c (未连接) |
2 |
n/c (未连接) |
3 |
n/c (未连接) |
4 |
n/c (未连接) |
5 |
触摸按钮 |
6 |
/光束触发 |
7 |
+5V (50mA) |
8 |
地线 |
9 |
触笔按钮 |
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
JOY0DAT |
00A |
R |
Denise |
操纵杆-鼠标 0 数据(左侧垂直,水平) |
|
JOY1DAT |
00C |
R |
Denise |
操纵杆-鼠标 1 数据(右侧垂直,水平) |
这些地址各自读取一个 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
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
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 |
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
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) 读数。 随着水平线时间的成比例加快,计数器计数速度将成比例加快。 在进行可变光束显示时应注意这一点。
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
POTGO |
034 |
W |
Paula |
电位计端口 (4 位) 双向和数据,以及电位计计数器启动。 |
名称 |
修订 |
地址 |
类型 |
芯片 |
描述 |
---|---|---|---|---|---|
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
启动
启动电位计(清空电容器,启动计数器)