好,现在要从原理说起。FC的CPU最大的寻址能力就是32K+8K。表示程序是32K 图象是8K。图象的8k中有分上4K和下4K(放在图库的上面和下面),这样就叫一幅图。. {5 @9 Z4 R8 q: U( l9 W
可是,你要画超过一幅图的点阵,如你的点阵有16K(两幅图),这样CPU就不能直接寻址了。因此我们有一个办法,用一个“调度”,根据我们程序的要求,现在是第一幅图,等下是第二幅图。这样就需要一颗逻辑IC,我们俗称解码器。其实是逻辑切换(切bank)。例如我们在$8000地址中预先放上0,8001中放1:- Q; I" ?7 c! u: m" g/ I5 T
LDA #$00
8 o. a; R7 {7 ~- @5 h' o/ w5 p STA $8000 ;切换第一幅图
E( {; z0 y" `+ }2 Y: H......................
) s# J5 {: b5 V' N# y! m LDA #$017 O' c2 F5 G% a: K: R; {- t+ X! Y" r
STA $8001 ;切第二幅图) A6 r8 S+ ^6 c
在程序中只要这样写,图库就能被切换。这时NES的mapper是$31(H) ,$30(V).
# S% b1 h$ ]8 d到现在为止:程序是32K,图象是16K(2幅图),可是这个图象是当第一幅图显示出来的时候,第二幅图就看不见了。反之亦然。
. u: }$ n4 k- P5 y/ D卡型的名字 9 J a; ^6 `1 p. k8 N) g/ |
16K+8K 叫LA卡 如打鸭子,90坦克,金刚1,2,3等等 mapper $01
' H+ L( R* c1 w 32K+8K LB卡 玛丽,中国象棋 $01
- Q* H5 m4 B# a, L4 U 32K+16K LC卡 七宝奇谋,星际大战,影子传说 (2幅图) $31
2 H! k8 }& m$ }3 _ 32K+32K LD卡 冒险岛,沙罗曼蛇I (4幅图) $31
: H3 l! M0 d# j! A先看看,我这样说看的懂吗?! p3 b; O Z, d9 J9 S8 s9 f) _) r
# k9 U! p; `7 s$ u# Y" B, _, `6 L[ 本帖最后由 曹老师 于 2008-7-21 13:33 编辑 ]