注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

深夜是徘徊在潮湿睫毛上的我的梦以及他的梦

是直到最后都无法放手的一种气息,是我们生命中最后的思念……

 
 
 

日志

 
 

每周一Mapper(第二周 Mapper 76)(中)  

2009-08-07 23:42:32|  分类: fc资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

4 PROM具体切换

///////////////////////////////////

8000h Index/Control (3bit)

操作的端口是$8000

Bit2-0 Command Number

有效位是0~2,就是有效值范围是0~7

6 -Select 8K ROM at 8000h-9FFFh

输入6就是选择加载的地址$8000-9FFF,一次8KB

7 -Select 8K ROM at A000h-BFFFh

输入7就是选择加载的地址$A000-BFFF,一次8KB

8001h Data Register (Indexed via Port 8000h)

端口$8001是写入数据段,切PROM的话,向这端口写入一个数X,就是将第XbankPROM数据段切页。这里(PROM)1 bank8K

///////////////////////////////////

向内存的$8000写入06就是将要切页到$8000-$9FFF(指内存)

再向内存的$8001写入00就是将$0010-$200F(NES文件)切入。

这里$0010-$200F指的是NES文件的地址段,即$0000-$000F是指文件头。

每段就是8K(换算成地址段是$0000-$2000

$0010PROM开始的地址

如此类推

写入$8000的值

NES文件的地址段

切换到的内存地址段

0

$0010-$200F

$8000-$9FFF

或者

$A000-$BFFF

1

$2010-$400F

2

$4010-$600F

3

$6010-$800F

4

$8010-$1'000F

5

$1'0010-$1'200F

6

$1'2010-$1'400F

7

$1'4010-$1'600F

x

如此类推

($0010+$2000*X)

($200F+$2000*X)

FD

。。。

注意一点:就是驻留体。驻留体就是内存中不切换的程序部分。这里的驻留体地址段就是在$C000-$FFFF。这里正好16K。这驻留体部分对应NES文件就是(除文件头外)RPOM的最后的16K。(按一个bank8K,驻留体占了2 bank

各型号所说的Bank的大小是不同的。PROMVROM所说的Bank的大小也不同。

6写入$8000,将0写入$8001的汇编语句

程序------

LDA #$06

STA $8000

LDA #$00

STA $8001

----------

注意,这里没有默认值。打开时只有驻留体会载入。

  评论这张
 
阅读(340)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017