超级任天堂编程/超级任天堂硬件寄存器
外观
< 超级任天堂编程
地址 | 寄存器名称 | 注释 |
---|---|---|
0x2100 | 屏幕显示寄存器 | a000bbbb a: 0=屏幕开启 1=屏幕关闭,b = 亮度 |
0x2101 | OAM 大小和数据区域指定 | aaabbccc a = 大小,b = 名称选择,c = 基址选择 |
0x2102 | 访问 OAM 的地址 | |
0x2104 | OAM 数据写入 | |
0x2105 | BG 模式和图块大小设置 | abcdefff abcd = BG 图块大小 (4321): 0 = 8x8 1 = 16x16,e = BG 3 高优先级,f = BG 模式 |
0x2106 | 马赛克大小和 BG 使能 | aaaabbbb a = 马赛克大小 b = 马赛克 BG 使能 |
0x2107 | BG 1 地址和大小 | aaaaaabb a = 屏幕基址 (高 6 位),b = 屏幕大小 |
0x2108 | BG 2 地址和大小 | aaaaaabb a = 屏幕基址 (高 6 位),b = 屏幕大小 |
0x2109 | BG 3 地址和大小 | aaaaaabb a = 屏幕基址 (高 6 位),b = 屏幕大小 |
0x210A | BG 4 地址和大小 | aaaaaabb a = 屏幕基址 (高 6 位),b = 屏幕大小 |
0x210b | BG 1 & 2 图块数据指定 | aaaabbbb a = BG 2 图块基址,b = BG 1 图块基址 |
0x210c | BG 3 & 4 图块数据指定 | aaaabbbb a = BG 4 图块基址,b = BG 3 图块基址 |
0x210d | BG 1 水平滚动偏移 | 滚动偏移寄存器均为 16 位宽。 |
0x210e | BG 1 垂直滚动偏移 | |
0x210f | BG 2 水平滚动偏移 | |
0x2110 | BG 2 垂直滚动偏移 | |
0x2111 | BG 3 水平滚动偏移 | |
0x2112 | BG 3 垂直滚动偏移 | |
0x2113 | BG 4 水平滚动偏移 | |
0x2114 | BG 4 垂直滚动偏移 | |
0x2115 | VRAM 地址增量值 | |
0x2116 | VRAM 读/写地址 (低字节) | |
0x2117 | VRAM 读/写地址 (高字节) | |
0x2118 | VRAM 写入数据 (低字节) | |
0x2119 | VRAM 写入数据 (高字节) | |
0x211a | 模式 7 的初始设置 | aa0000bc a = 屏幕覆盖 b = 垂直翻转 c = 水平翻转 |
0x211b | 模式 7 矩阵参数 A | 寄存器 211b 到 2120 都是 16 位宽。 0x211B 也用作寄存器 0x2134-6 的 16 位被乘数 (写入两次) 0x211C 也用作寄存器 0x2134-6 的 8 位乘数 |
0x211c | 模式 7 矩阵参数 B | |
0x211d | 模式 7 矩阵参数 C | |
0x211e | 模式 7 矩阵参数 D | |
0x211f | 模式 7 中心位置 X | |
0x2120 | 模式 7 中心位置 Y | |
0x2121 | CG-RAM 写入地址 | |
0x2122 | CG-RAM 写入数据 | |
0x2123 | BG 1 和 2 窗口遮罩设置 | aaaabbbb a = BG 2 窗口设置 b = BG 1 窗口设置 |
0x2124 | BG 3 和 4 窗口遮罩设置 | aaaabbbb a = BG 4 窗口设置 b = BG 3 窗口设置 |
0x2125 | OBJ 和颜色窗口设置 | aaaabbbb a = 颜色窗口设置 b = OBJ 窗口设置 |
0x2126 | 窗口 1 左侧位置指定 | |
0x2127 | 窗口 1 右侧位置指定 | |
0x2128 | 窗口 2 左侧位置指定 | |
0x2129 | 窗口 2 右侧位置指定 | |
0x212a | BG 1、2、3 和 4 窗口逻辑设置 | aabbccdd a = BG 4 b = BG 3 c = BG 2 d = BG 1 |
0x212b | 颜色和 OBJ 窗口逻辑设置 | 0000aabb a = 颜色窗口 b = OBJ 窗口 |
0x212c | 背景和对象使能 (主屏幕) | 000abcde a = 对象 b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
0x212d | 背景和对象使能 (子屏幕) | 000abcde a = 对象 b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
0x212e | 主屏幕的窗口遮罩指定 | 000abcde a = 对象 b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
0x212f | 子屏幕的窗口遮罩指定 | 000abcde a = 对象 b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
0x2130 | 颜色叠加的初始设置 | aabb00cd a = 主颜色窗口开启/关闭,b = 子颜色窗口开启/关闭,c = 固定颜色叠加/减法使能,d = 直接选择 |
0x2131 | 叠加/减法选择和使能 | abcdefgh a = 0 表示叠加,1 表示减法,b = 1/2 使能 c = 后台使能,d = 对象使能,efgh = 使能 BG 4、3、2、1 |
0x2132 | 固定颜色数据 | abcddddd a = 蓝色 b = 绿色 c = 红色 ddddd = 颜色数据 |
0x2133 | 屏幕初始设置 | ab00cdef a = 外部同步,b = 外部 BG 模式,c = 伪 512 模式,d = 垂直大小,e = 对象-V 选择,f = 隔行扫描 |
0x2134 | 乘法结果 (低字节) | |
0x2135 | 乘法结果 (中字节) | |
0x2136 | 乘法结果 (高字节) | |
0x2137 | H/V 计数器的软件锁存器 | |
0x2138 | 从 OAM 读取数据 (低-高) | |
0x2139 | 从 VRAM 读取数据 (低) | |
0x213a | 从 VRAM 读取数据 (高) | |
0x213b | 从 CG-RAM 读取数据 (低-高) | |
0x213c | H 计数器数据 | |
0x213d | V 计数器数据 | |
0x213e | PPU 状态标志 | |
0x213f | ||
0x2140 | APU I/O 端口 | |
0x2141 | ||
0x2142 | ||
0x2143 | ||
0x2180 | 间接工作 RAM 访问端口 | 0x2181 到 0x2183 中的地址在每次访问后会自动递增 |
0x2181 | 间接工作 RAM 访问地址 (低字节) | |
0x2182 | 间接工作 RAM 访问地址 (中字节) | |
0x2183 | 间接工作 RAM 访问地址 (高位) | 0000000a a : 内存库,0 = 0x7E,1 = 0x7F |
0x4200 | NMI、V/H 计数和手柄使能 | a0bc000d a = NMI b = V 计数 c = H 计数 d = 手柄 |
0x4201 | 可编程 I/O 端口输出 | |
0x4202 | 被乘数 A | |
0x4203 | 乘数 B | |
0x4204 | 被除数 (低字节) | |
0x4205 | 被除数 (高字节) | |
0x4206 | 除数 B | |
0x4207 | H 计数计时器 (高 8 位) | |
0x4208 | H 计数计时器 MSB (位 0) | |
0x4209 | V 计数计时器 (高 8 位) | |
0x420a | V 计数计时器 MSB (位 0) | |
0x420b | 常规 DMA 通道使能 | abcdefgh a = 通道 7...h = 通道 0: 1 = 使能 0 = 禁用 |
0x420c | H-DMA 通道使能 | abcdefgh a = 通道 7 .. h = 通道 0: 1 = 使能 0 = 禁用 |
0x420d | 时钟速度指定 | 0000000a a: 0 = 2.68 MHz,1 = 3.58 MHz |
0x4210 | NMI 标志和 CPU 版本号 | a000bbbb a = NMI 发生 b = CPU 版本号 |
0x4211 | H/V 计数计时器触发的 IRQ 标志 | |
0x4212 | H/V 空闲标志和手柄状态 | |
0x4213 | 可编程 I/O 端口输入 | |
0x4214 | 除法结果的商 (低字节) | |
0x4215 | 除法结果的商 (高字节) | |
0x4216 | 乘积/余数结果 (低字节) | |
0x4217 | 乘积/余数结果 (高字节) | |
0x4218 | 手柄 1 数据 (低字节) | abcd0000 a = 按钮 A b = X c = L d = R |
0x421a | 手柄 2 数据 (低字节) | |
0x421c | 手柄 3 数据 (低字节) | |
0x421e | 手柄 4 数据 (低字节) | |
0x4219 | 手柄 1 数据 (高字节) | abcdefgh a = B b = Y c = 选择 d = 开始 efgh = 上/下/左/右 |
0x421b | 手柄 2 数据 (高字节) | |
0x421d | 手柄 3 数据 (高字节) | |
0x421f | 手柄 4 数据 (高字节) |
'X' 为 0 到 7 之间:
地址 | 寄存器名称 | 注释 |
---|---|---|
0x43X0 | DMA 传输参数 | ab0cdeee a = 方向 b = 类型 c = 增/减 d = 自动/固定 e = 字节大小选择 |
0x43X1 | B 地址 | |
0x43X2 | A 地址 (低字节) | |
0x43X3 | A 地址 (高字节) | |
0x43X4 | A 地址库 | |
0x43X5 | 要传输的字节数 (低字节) (DMA) | |
0x43X6 | 要传输的字节数 (高字节) (DMA) | |
0x43X7 | 数据库 (H-DMA) | |
0x43X8 | A2 表地址 (低字节) | |
0x43X9 | A2 表地址 (高字节) | |
0x43Xa | 要传输的行数 (H-DMA) |