任天堂掌机GBA编程说明.docx

上传人:b****8 文档编号:13111694 上传时间:2023-06-11 格式:DOCX 页数:9 大小:338.23KB
下载 相关 举报
任天堂掌机GBA编程说明.docx_第1页
第1页 / 共9页
任天堂掌机GBA编程说明.docx_第2页
第2页 / 共9页
任天堂掌机GBA编程说明.docx_第3页
第3页 / 共9页
任天堂掌机GBA编程说明.docx_第4页
第4页 / 共9页
任天堂掌机GBA编程说明.docx_第5页
第5页 / 共9页
任天堂掌机GBA编程说明.docx_第6页
第6页 / 共9页
任天堂掌机GBA编程说明.docx_第7页
第7页 / 共9页
任天堂掌机GBA编程说明.docx_第8页
第8页 / 共9页
任天堂掌机GBA编程说明.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

任天堂掌机GBA编程说明.docx

《任天堂掌机GBA编程说明.docx》由会员分享,可在线阅读,更多相关《任天堂掌机GBA编程说明.docx(9页珍藏版)》请在冰点文库上搜索。

任天堂掌机GBA编程说明.docx

任天堂掌机GBA编程说明

GBA编程手册(翻译中)

1.02版本

GBA编程手册(翻译中)1.02版本  1

1GBA系统  5

1.1系统概述  5

2系统配置  6

2.1CPU框图  6

2.2完全框图  7

2.3内存设置和访问宽度  8

2.4高位在前  8

3GBA内存  9

3.1内存映射图  9

3.2内存配置  10

3.2.1GBA内部内存  10

3.2.2游戏卡内存  10

3.3游戏卡内存等待控制  12

3.3.1访问时序  14

3.3.2游戏卡总线  15

4LCD液晶屏  16

4.1LCD状态  17

4.1.1 垂直计数器  17

4.1.2 LCD一般状态  18

5图像系统  19

5.1背景模式  21

5.1.1背景模式的细节  21

5.1.2VRAM内存映射  22

6渲染功能  23

6.1字符模式背景(背景模式0-2)  23

6.1.1背景控制  23

6.1.2马赛克大小  29

6.1.3背景数据在VRAM的地址映射  30

6.1.4字符数据格式  32

6.1.5背景屏幕数据格式  34

6.1.6背景屏幕数据在LCD上的地址映射  36

6.1.7背景旋转和缩放特性  41

6.1.8背景的滚动  44

6.2位图模式背景(模式3到5)  45

6.2.1背景控制  45

6.2.2背景旋转和缩放  46

6.2.3点阵数据  46

6.2.4点阵数据在LCD上的地址映射  47

6.3OBJ精灵  50

6.3.1OBJ功能  50

6.3.2字符数据映射  51

6.3.3OAM  53

6.3.4精灵旋转/缩放特性  59

6.4对象和背景的优先级  61

1GBA系统

1.1系统概述

GBA是一种对GameBoy(GBC)向下兼容的高性能的掌上游戏设备。

GBA拥有一个2.9英寸的TFT彩色液晶屏幕和32位的RISC类型CPU,游戏性能上超过了超级任天堂(SFC)。

GBACPU                                   

32位RISC类型CPU(ARM7TDMI)/16.78MHZ

向下兼容GBC的能力                                   

为了兼容整合了一个8位的CISC类型CPU

(不过,这个CPU不能和GBA的CPU同时工作)

内存                                     

系统ROM            16K字节(包含2K字节的GBC系统ROM)

工作RAM            32K字节+CPU外部256K字节(两个时钟周期)

VRAM              96K字节

OAM              64位*128

调色板RAM            16位*512(OBJ256色,BG256色)

游戏卡ROM            最大32MB:

掩膜ROM或者FlashROM

游戏卡RAM            最大32MB:

SRAM或者FlashROM

显示                                     

240*160*RGB

可同时显示32768色

特殊效果(旋转/缩放,α混合,淡入淡出,马赛克)

4个图像模式

操作                                     

操作键(A,B,L,R,START,SELECT和4个方向键)

声音                                     

4个声道(相当于GBC的声道)+2个CPU直接控制声道(PCM格式)

通讯                                     

串行通讯(8位/32位,UART,多人游戏,多用,游戏手柄总线)

游戏卡                                     

和DMG、GBC一样,GBA装备了32针的游戏卡连接槽。

当游戏卡插入的时候,GBA自动判断类型,并自动切换GBC和GBA模式。

下面的游戏卡可以在GBA系统上面使用。

1、DMG游戏卡,DMG/GBC双模式卡,GBC专用卡

2、GBA专用卡

2系统配置

2.1CPU框图

2.2完全框图

2.3内存设置和访问宽度

当操作游戏卡的程序使用16位指令(16位编译器),操作CPU内部工作内存的程序使用32位指令(32位编译器),能得到更高的执行效率。

2.4高位在前

IntheAGBCPU,memoryaddressesareallocatedin8-bitincrements,andlittle-endian

formatisusedinimplementingthe8-,16-,and32-bitaccesswidths.

3GBA内存

3.1内存映射图

下面是GBA系统整个的内存映射图。

3.2内存配置

内存地址的00000000h-07FFFFFFh区域被分配为GBA内部内存,08000000h-0EFFFFFFh被分配为游戏卡内存。

3.2.1GBA内部内存

1)系统ROM

从00000000h开始的16K字节是系统ROM。

不同类型的系统调用使用这段ROM。

2)CPU外部工作内存

从02000000h开始的256K字节是CPU外部工作内存。

这段内存是两个内存周期访问一次的,16位总线宽度。

3)CPU内部工作内存

从03000000h开始的32K字节是CPU内部工作内存。

这段内存用来保存程序和数据。

4)I/O和寄存器

这个区域是给寄存器使用的。

5)调色板内存

从05000000h开始的1K字节是调色板内存。

这段内存用来保存调色板。

6)VRAM

从06000000h开始的96K字节是VRAM。

这段内存用来保存背景和精灵数据。

7)OAM

从07000000h开始的32K字节是精灵属性内存(OAM),保存要显示的精灵和他们的属性。

3.2.2游戏卡内存

1)游戏卡ROM

从08000000h开始分配了3个32兆的游戏卡ROM空间。

这个三个空间可以设置不同的访问速度。

因此,他们被命名为“等待栈0”,“等待栈1”,“等待栈2”。

这样的设置可以更有效率的访问游戏卡内的不同访问速度的内存。

等待栈0的基地址是08000000h,等待栈1的基地址是0A000000h,而等待栈2的基地址是0C000000h。

另外,每个空间最顶端的1M位(注意不是字节)都是分配给Flash内存的。

这个区域主要用来保存存盘数据。

2)游戏卡RAM

从0E000000h开始的区域是游戏卡内存区域。

这个区域可以放置最大512K位(注意不是字节)的SRAM或者Flash内存。

然而这个区域的数据宽度是8位的总线。

由于这个设定,任何连接在这个区域的游戏卡设备必须用任天堂的库来访问。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2