|
|
;[FC][最终任务mapper1切页程序]
6 E9 R7 v/ c, ^) w .ORG $CD9B
5 R7 t& w! ~; v# T [BANK_START:
# u/ h/ e: m7 R. a STA $70/ k4 X- m, Z/ p4 ~2 p
TXA/ Y4 r* V( n& [6 m
ASL
+ [. c) Y D r TAX
6 \6 k$ u( \6 `4 n9 V. j, t$ yPORT_SET:
, k- Z4 r7 n# n: N2 H LDA BANK_DATA,X6 K6 T4 p- Q5 Y7 _9 L) F
STA $6E3 {4 c( p" D- S
LDA $CDB8,X
6 s0 R; y9 ?0 j( h1 n9 D- v8 Z$ c STA $6F
9 p. }1 }) |1 Y# g LDY #$00
( v; _7 r- o- J* Z. O LDX #$05
7 N8 I& N# k! c/ a- S+ R LDA $70
8 y R9 J" s% v- p2 ^+ qPORT_WRITE:' j; g8 P5 M0 h' [# m
STA ($6E),Y
, g/ G3 A! R+ ~# y2 l LSR/ r6 A8 J) d: }
DEX+ j2 C1 a* j% H9 _, _+ `
BNE PORT_WRITE
! \' N& N$ N8 `4 I RTS' e5 [0 I6 ^1 K1 ^4 @" D7 _" P. J
2 \9 _/ h" E9 Q- `2 y- m" |. f
+ ]( x5 v. M, G. B/ e2 |BANK_DATA:
" Z4 C5 w" O0 u" Y$ A% O! c .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF1 F3 H8 c: b& s3 X1 S% l% N r
4 Z9 W9 ^# p: l0 E9 y# e' q 6 C" L: {3 u3 w& ^; D7 e( M
;[FC][最终任务mapper1转mapper4切页程序]
$ l/ @: Z! }5 o( S5 }4 n$ Z* Q/ b .ORG $BFD2 ;初始化跳转
! c! F$ I v( O0 M* c" V$ \ JSR $FFC0& [: H( s* C' l
, K$ J; Q9 v- n0 k, F& }
' s4 T# {% G! q! A9 p3 q; R
.ORG $FFC0 ;切页
( C+ v2 n( ]$ W6 D# B1 W. z9 h2 x1 T; k LDA #$068 F. R7 P1 l Q; M! C* `- K* m1 \7 y
STA $8000$ m6 K O. r) ^# r, o1 W2 M0 e8 n
LDA #$0E
3 e" k( w8 H3 {1 R ~# _ STA $8001
! Z8 n6 x' q! E9 C2 I1 a, V0 B JSR $8000' E- P0 {" j! p3 r" b/ \
RTS
- O( h. a5 Q: l0 h , \: R" s9 H6 w/ a% S
.ORG $8000 ;数据复制9 X$ f1 w( I- e* [( E
LDA #$80
, A% H# } H) o+ C3 u STA $A001 ;启用SRAM4 z% D! {! y2 g+ k' [4 q
PHA/ f* r$ }/ E- J7 I2 L% ^) i
TXA
2 d' b( N! i1 I& c PHA: r3 q: @, a2 Y" h' b
LDX #$00
8 p7 R4 O( n8 KDATACOPY: ;数据复制 A$ J0 ?( j. l) H N
LDA $8100,X: [7 Q1 ?( M8 v5 z' ], k
STA $7200,X. @9 N; q' H7 _0 a6 z5 g
INX2 N! |6 b/ d' ^4 Y! \( O0 F3 p
CPX #$00) A$ y' K+ \6 l/ s! g, X, m& p
BNE DATACOPY9 g: a: h; |2 p/ t5 y/ u
PLA4 D! k% c! ` v+ f, j% h
TAX' L# l9 l0 Z$ v0 i( _
PLA
, N5 P& u0 l; a% `* Z' L2 V- J RTS
1 P6 v- Q! H& }, ^9 s( _( d% ^3 ~
5 L" m1 k. P; B( Y0 W, D .ORG $CD9B ;跳转到转换的切页程序
9 f, i; N' T$ u& P& Q' B) x) r/ n STA $70* b5 x4 h$ B9 Q8 ~# S' S
JSR $7200
. c( N4 D. c+ N) x7 S RTS; m2 h" f% y6 ?* q! L" O4 X, n
6 s* _/ J2 c2 k# p# a# d
.ORG $7300
' [) ~5 w# c6 \! A7 fM1_TO_M4: ;切页程序2 Z9 O6 F! r0 ^, V1 x& U
CPX #$000 W+ {$ L0 h$ v& ]
BEQ REG_SET/ r. Z' t2 n# I0 s
CPX #$01% c7 O4 {$ z0 F$ M, N
BEQ PPU_BANK_0000! j* M, A7 { y% G
CPX #$025 m" Z7 v9 d F) m) G* D) [* m
BEQ PPU_BANK_1000
- ~: E7 U: X8 {8 s1 [ CPX #$039 A7 J( T/ X" A/ l) S8 [1 S
BEQ PRG_BANK
( G# H0 t/ L" _7 L0 i' F1 XREG_SET:, g$ q8 ~5 m6 l% l4 h, i9 g
STA $A000
* f# d' z$ V: P$ ^' [ RTS" r+ \4 {$ S2 \7 c$ o
.ORG $7320
- {3 N3 O5 i7 y$ Z$ VPRG_BANK: ;PRG切页$ `* r/ s+ D- Q. G Z+ W
PHA
) q2 f* _( @& A, p LDA #$06
- z$ K$ H* W& J1 Z) U STA $8000 c# }8 Q3 V1 V9 m& [ p
PLA0 y* y9 A8 k }0 _2 M$ B
ASL, h- k% F# a/ j! D$ q$ x
STA $8001% {1 A: l3 V& X( {
ORA #$012 g: Q- n, L0 ~8 v
PHA
O3 R, B) ^7 U! e* r J4 S LDA #$07
6 [" C8 l9 Z" ~4 w STA $80004 J& |; |9 q( O7 X1 _' }. ^
PLA
8 |& y' w% g7 l: [$ v) p STA $8001
* ~" M! y0 i' w- R$ k RTS
. r5 I" P1 F& R9 F8 } .ORG $7340. |: C$ g0 X: k
PPU_BANK_0000: ;精灵切页; z! @& C6 h# ?0 V
PHA
. S% s: |2 [, y1 j/ i ASL9 P3 ` Q& c) s: R
ASL) W; g2 L. r5 C F. [2 \
PHA! ]. Y. M" R v. s
LDA #$00) H: `, `( n7 k8 ]/ s/ a* l L
STA $8000
# ]9 p. S% c& y& Y PLA* R3 R% z9 p o) t6 V
STA $8001
; ~; b% d# z4 v, Y ADC #$02
/ x2 p3 D9 k; d PHA5 \/ o: r) Z, J w o" \% `, j4 Y
LDA #$012 D, S. t8 M3 Y
STA $8000; V, ~% H I2 _- a0 |' K! I
PLA/ R- g+ J& s# D( e* U
STA $8001/ k/ @6 E3 d }
PLA
) Z- @( c! c; X }0 c8 m RTS
, l3 n0 i' |6 @1 n5 P; G G - {8 M9 H' Z2 h! f
.ORG $7360* l0 m5 d+ q7 v! Z& j* T
PPU_BANK_1000: ;背景切页
. f" j; [) \0 V* l4 V) f) i: A PHA3 j9 [+ Y/ Z$ J6 v/ z3 a
ASL
9 x2 M( l8 |. [. b5 f/ Q6 J2 C ASL
) h" a8 Y4 X- J- M+ @ PHA
8 Y" h2 m" {1 U- E! v) E LDA #$02
+ y& e% C: G& s' H STA $8000
! X: R) @; F5 B+ H PLA. v! }! P: Z) s2 i& F8 p) k
STA $8001! C/ f" V, W5 p
ADC #$01
c* E) d! S9 x/ i/ p6 ]* N1 ~4 z PHA
$ F, |7 n- m; Z6 F. c LDA #$03 E# x# i% y; \: l
STA $8000
4 g! }2 e" Q+ `7 N9 K) A: ?5 _ PLA
9 q$ S T: T" a" j; s1 R STA $80017 x" t$ l& |6 h
ADC #$017 @. J7 `, l7 L- P1 m! ^% ^
PHA
+ f- x F y8 N1 ^" ] LDA #$047 ?9 S5 F3 B s5 m( Y* U% i
STA $8000
; g0 ~0 X( b3 p$ @ q PLA
# \4 G# q+ p: x% g" O0 {7 \) \7 F4 {5 \ STA $8001
) z; u% ~ m+ o* p, @9 S ADC #$01
2 g- D. v9 A+ D' ]4 J PHA
- U" T1 B& v& Y2 @& O LDA #$05
8 p4 {$ ~* w6 H, G3 S STA $80009 E) y2 V/ m# W$ }" |! b* F5 E
PLA. R& U6 E/ C) H( E- T
STA $8001
& V! j% l, I+ v: b PLA
4 L( H" ]% t# o- F: J+ s1 r; ?( Z5 N RTS9 X4 Z: X0 P- U! _& e
- T0 ] V/ @& \" G7 O6 U+ s& E7 Y |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|