第一章 工作系统概论 1
1.1 引言 1
1.2 电脑游戏机的系统组成 3
1.3 电脑游戏机的硬件系统 3
1.3.1 电脑游戏机的主机组成 3
1.3.2 6527中央处理器 5
1.3.3 6528图象处理器 6
1.3.4 6116随机存储器 8
1.3.5 6527CPU的工作电路 9
1.3.6 6528PPU的工作电路 9
1.3.7 接口电路 12
1.3.8 时钟电路 14
1.3.9 盒卡简介 16
1.4 电脑游戏机的软件系统 20
1.4.1 6527CPU工作系统 20
1.4.2 人机对话工作系统 21
1.4.3 F BASIC工作系统 21
第二章 6527CPU工作系统的特点 22
2.1 6527CPU的基本特征 22
2.1.1 6527CPU的指令系统 22
2.1.2 6527CPU的内部寄存器 22
2.1.3 6527CPU的复位 23
2.1.4 6527CPU的中断 23
2.1.5 6527CPU管理内存的分布 23
2.1.6 6528PPU管理内存的分布 24
2.2 6527CPU的显示系统 24
2.2.1 背景画面的显示结构 25
2.2.2 卡通画面的显示结构 29
2.2.3 屏幕显示状态的设置 34
2.2.4 CPU与PPU之间的通信方法 36
2.2.5 背景画面的位移 40
2.2.6 显示系统的配色 52
2.2.7 图形库结构与卡通设计 53
2.3 6527CPU的音响系统 59
2.3.1 发声软开关简介 60
2.3.2 发声方法及控制程序 61
2.4 6527CPU的中断系统 65
第三章 人机对话工作系统浅析 68
3.1 对话工作系统分析概说 68
3.1.1 系统软件的特征 68
3.1.2 系统工作中使用的PAM单元及作用 68
3.1.3 读键操作过程简介 72
3.1.4 系统分析中的统一约定 75
3.2 复位画面的绘制 75
3.2.1 复位画面的结构 75
3.2.2 复位状态的建立 76
3.2.3 对话系统主控程序简介 76
3.2.4 对话系统的中断程序 77
3.2.5 中断处理主控程序分析 78
3.2.6 重要子程序介绍 80
3.2.7 复位画面中背景页图形的绘制 84
3.2.8 复位画面中卡通页图形的定义 92
3.2.9 功能键的定义 98
3.2.10 复位画面中OPERATOR栏的操作 98
3.2.11 复位画面中提示栏的操作 100
3.2.12 COMPUTER栏三基色块的绘制过程 101
3.2.13 各信号灯闪烁的控制 102
3.2.14 等待按键状态的建立 105
3.2.15 复位工作过程小结 107
3.3 对话工作板的工作过程 107
3.3.1 对话板的进入过程 108
3.3.2 对话板的操作过程 110
3.3.3 对话板的工作过程 112
3.3.4 重要子程序介绍 114
3.3.5 对话工作中的音响 116
3.3.6 对话板工作小结 116
3.4 计算板的工作过程 117
3.4.1 计算板工作状态的建立 117
3.4.2 计算板的算式输入过程 121
3.4.3 算式检验工作过程 123
3.4.4 算式的运算过程分析 124
3.4.5 运算结果的输出过程 131
3.4.6 CAL·屏幕编辑过程 132
3.4.7 CAL·板的退出操作 134
3.5 打字板的工作过程分析 135
3.5.1 MES·板工作状态的建立 135
3.5.2 MES·板工作程序简介 136
3.5.3 运动卡通的控制过程 137
3.5.4 制表工作过程分析 141
3.5.5 MES·板的退出处理 142
3.6 对话工作系统的发声过程详析 143
3.6.1 发声控制程序简介 143
3.6.2 对话工作系统的音响数据汇集与使用的重要单元 144
3.6.3 $FC控制发声过程详析 145
3.6.4 $FE单元控制发声过程详析 151
3.6.5 $FF单元控制发声过程详析 154
3.6.6 发声工作过程小结 156
3.7 音乐板工作过程分析 158
3.7.1 音乐板工作状态的建立 158
3.7.2 音乐板工作程序简介 162
3.7.3 音符的输入过程分析 163
3.7.4 MUSIC板的演奏过程 168
3.7.5 MUSIC板的退出操作 171
第四章 F BASIC工作系统简介 172
4.1 F BASIC工作系统的基本特征 172
4.1.1 F BASIC工作状态的建立 172
4.1.2 F BASIC工作系统的RAM分配 174
4.1.3 F BASIC的保留字 178
4.1.4 F BASIC的显示画面 179
4.1.5 F BASIC的程序输入 179
4.1.6 F BASIC程序的存储格式 180
4.1.7 F BASIC程序的编译 182
4.1.8 F BASIC程序的立即执行过程 183
4.1.9 F BASIC程序的暂缓执行过程 183
4.2 作用于卡通指令的讨论 184
4.2.1 卡通的定义指令 184
4.2.2 显示卡通的定义 185
4.2.3 显示SP的显示与定义的解除 187
4.2.4 动作卡通的定义 188
4.2.5 动作卡通的运动控制与定义解除 190
4.2.6 动作卡通的测试 191
4.3 字符函数指令的讨论 192
4.3.1 字符ASCII码的转换 192
4.3.2 数值、字串的转换 192
4.3.3 字符串的组字和测试 194
4.4 作用于背景显示页指令的讨论 195
4.4.1 CLS指令的执行过程 195
4.4.2 VIEW指令的执行过程 195
4.4.3 LOCATE指令的执行过程 196
4.4.4 PRINT指令的执行过程 196
4.4.5 CGEN指令的执行过程 196
4.4.6 POS指令的执行过程 197
4.4.7 CSRLIN指令的执行过程 197
4.4.8 SCR$指令的执行过程 197
4.5 转向指令的讨论 198
4.5.1 程序的无条件转向 198
4.5.2 子程序的调用和返回 198
4.5.3 数据区的恢复 199
4.5.4 开关转向指令的讨论 199
4.5.5 机器语言子程序的调用 199
4.5.6 程序的条件转移 200
4.6 作用于配色与发声指令的讨论 200
4.6.1 配色面板代码的选择 200
4.6.2 配色代码的重新设定 201
4.6.3 背景画面的染色 202
4.6.4 BEEP发声过程 204
4.6.5 音乐旋律的演奏 204
4.7 键盘输入指令和功能键指令的讨论 205
4.7.1 INKEY$指令的讨论 206
4.7.2 INPUT指令的讨论 206
4.7.3 LINPUT指令的讨论 206
4.7.4 功能键指令的讨论 207
4.8 系统操作指令的讨论 207
4.8.1 SYSTEM指令的讨论 208
4.8.2 CLEAR指令的讨论 208
4.8.3 清除程序区 208
4.8.4 暂缓执行型程序的运行 208
4.8.5 暂缓执行型程序的列表 209
4.8.6 程序运行中的暂停 210
4.8.7 RAM空区的测试 210
4.8.8 POKE指令的讨论 210
4.8.9 PEEK指令的讨论 210
4.8.10 运行程序的中断 210
4.8.11 CONT指令的讨论 211
4.8.12 END指令的讨论 211
4.9 读操纵器指令和数值函数的讨论 212
4.9.1 读操纵器的方向键码 212
4.9.2 读操纵器的功能键 212
4.9.3 求数值的绝对值 213
4.9.4 求数的符号 213
4.9.5 求随机数 213
4.10 循环语句的讨论 214
4.11 其它指令的讨论 215
4.11.1 非执行指令的讨论 215
4.11.2 读数指令READ 215
4.11.3 两变量值的交换 216
4.11.4 数组说明指令的讨论 216
4.11.5 外存取指令的讨论 217
4.12 F BASIC中断处理程序的讨论 218
4.12.1 中断系列子程序 218
4.12.2 PLAY语句的后期处理 219
4.12.3 动作卡通的运动控制 221
第五章 游戏编程特技 224
5.1 F BASIC程序与机器语言程序的结合 224
5.1.1 机器语言程序的写入 224
5.1.2 机器语言程序的运行 226
5.1.3 应用举例--真正的电子钟 226
5.2 系统子程序简介 232
5.2.1 移位类子程序 232
5.2.2 数制转换类子程序 233
5.2.3 置数、送数类子程序 233
5.2.4 运算类子程序 234
5.2.5 变址取数类子程序 235
5.2.6 地址指针设置类子程序 236
5.2.7 字符、图形显示类子程序 236
5.2.8 与PPU通信类子程序 238
5.2.9 清屏延时类子程序 239
5.2.10 发声类子程序 239
5.2.11 中断返回类子程序 239
5.2.12 读键盘、操纵器类 240
5.2.13 电子钟程序的优化 241
5.3 局部画面的显示编程技巧 243
5.3.1 直接送显法 244
5.3.2 查表送显法 245
5.3.3 开关变址送显法 246
5.3.4 F BASIC系统送显法 247
5.3.5 F BASIC程序快速送显法 248
5.4 背景画面绘制的编程技巧 249
5.4.1 直接送显绘图法 249
5.4.2 BS.2A背景绘图法 257
5.4.3 置色绘图法 259
5.4.4 优化查表法 267
5.4.5 间接分段绘图法 274
5.5 卡通控制编程技巧 277
5.5.1 两个系统中卡通的区别 277
5.5.2 操纵器的采样 278
5.5.3 卡通的定义 283
5.5.4 《大赛车》游戏卡通定义程序简介 289
5.6 音响系统的编程技巧 295
5.6.1 系统效果音响的调用 295
5.6.2 系统背景音乐的调用 297
5.6.3 音乐旋律演奏程序的编写 298
第六章 应用程序专辑 304
6.1 6527工作系统的小监控程序 304
6.2 6527反汇编 307
6.3 模拟电子琴 309
第七章 BS·2A版本 F BASIC系统程序及说明 312
第八章 BS·2A版本的图形库数据介绍 483
8.1 卡通图形库 483
8.2 背景图形库 489
第九章 6527指令系统表 495
附录一 背景显示单元与PPU地址对照表 500
附录二 键盘电路原理图 504
附录三 家用电视游戏机电路图选集 505
1.任天堂HVC-001 505
2.任天堂FH-989 508
3.任天堂180 509
4.小天才501 511
5.终结者S-500TM 514
6.HTTEX HT767 515
附录四 家用电视游戏机常用IC脚功能图 517
附录五 游戏机IC引脚阻值实测数据表 518
附录六 电视游戏机IC代换表 521