|
|
;[FC][最终任务mapper1切页程序]9 c7 [$ [+ K& ?0 ^' Y
.ORG $CD9B
" @! W6 V1 [( z3 W) W/ oBANK_START:0 L# a+ {, r: c; l0 u
STA $70( j5 n* X+ w) V* {
TXA0 `0 ?) A: V) a: J- L/ X# o
ASL0 H7 h2 C2 X3 ]. a( e0 S) x2 g0 f
TAX& f* R# J: b7 z" [5 z; O
PORT_SET:
1 E1 [% r' v$ Q1 A* \7 C LDA BANK_DATA,X- `# |8 l0 m! `# N/ ~
STA $6E
9 v* |4 @8 ?3 x LDA $CDB8,X2 ?3 H& R9 {4 J! x, ~/ B/ R
STA $6F
8 P: m: q( g0 y' { LDY #$00: o: F5 U8 `- P- B
LDX #$05" S7 Z8 I4 m N* z0 C
LDA $70
! h- _( M7 }( x: S k2 X; f: zPORT_WRITE: F# ]( X2 N# T3 e+ J
STA ($6E),Y
* k& t3 }; Q7 j9 `7 a/ W5 G+ [ LSR) i7 D# } y! d o+ N; J9 `+ O
DEX) C; Y6 ] l5 d& p! y' N
BNE PORT_WRITE
. O6 L( A2 X' ~& U2 _7 I RTS s# ^0 D( i* t
' ^! w6 k' a, u+ Y% m$ O , c& R, ^1 n ]9 k2 r4 s
BANK_DATA:
. v p+ P) ?8 X: ]/ N; ^; i; z) B; s .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
0 r! [8 `9 a' Z1 e& ? # d) y7 b! z4 Y
* M- H) R& o5 q2 |0 g;[FC][最终任务mapper1转mapper4切页程序]* P8 C. O5 C3 C2 ?; d; L9 v
.ORG $BFD2 ;初始化跳转
4 U3 b! T* K& V3 \7 w0 F JSR $FFC0
1 q5 c9 _% [& r; a. W2 a$ a' p0 y6 y, C) Z
6 w6 ?8 m; f. G1 @1 Y .ORG $FFC0 ;切页4 B3 {: {# I+ O& z) E# {4 u8 b
LDA #$06
6 O. i3 R$ d3 W0 A0 P+ x STA $8000& F: b1 `3 U6 V! V# P! y
LDA #$0E
9 U8 p& N$ |) }8 J0 w4 m2 j% a STA $8001) T4 s- M; a4 I" }$ S* R8 i8 W: `2 _
JSR $80000 ]/ Y/ g3 P' W9 L- k! I
RTS , r! T) w B; {
3 g6 M( g* v$ b+ M6 V* F# q .ORG $8000 ;数据复制* q0 i) X" _2 p; Z8 g% G6 ~. C
LDA #$80
4 X7 Z* n! B( Q# b; c STA $A001 ;启用SRAM
6 [. x0 `5 ~4 ^* ~6 `& t( { PHA
, z3 E N! p F& ? TXA
. V% Y, B7 f: m. J9 Q PHA" }8 V ?/ Q2 w! I) Z# `/ Z; n
LDX #$00
: d$ g: g0 F* t: E& cDATACOPY: ;数据复制# z7 s$ \# Z1 l1 d7 H" r) h
LDA $8100,X
1 J" I# e" |* a B- n6 P5 q$ K: y STA $7200,X
4 U* ^; R- E+ j& H) `7 d INX, ~# a1 T; w0 c9 |2 ~
CPX #$005 H9 x; O' N* M% R0 L
BNE DATACOPY
. J+ B6 g5 b4 C+ R9 O* }# W PLA2 x( Z- h) ^' u+ b0 Y
TAX. I1 Y4 `9 f# S5 f! N0 {
PLA
0 {5 P; U& t( b! b8 G2 g RTS
& M+ G8 v8 }& N1 ^
' u& l f! W/ }2 j; r/ h9 C .ORG $CD9B ;跳转到转换的切页程序% w$ x! f. f5 f; n
STA $70( R/ Y* N) a4 ?+ W1 f# K! a4 k
JSR $7200
: t* }/ a2 h/ r; P/ V& S) Y, E# | RTS
4 I, l9 ?0 c$ {8 I1 S + y b3 n3 Y! b7 S6 E/ w/ \
.ORG $7300& c/ U7 Q; v: y/ e4 d7 v( e2 W
M1_TO_M4: ;切页程序, L- I* b4 `2 @/ ^' g
CPX #$00
6 x5 {% a7 O ~( ^: A& f) d BEQ REG_SET/ t9 j! D o h' f! z, Y
CPX #$01
( _. O. x- E& W1 Y M( J. b BEQ PPU_BANK_0000
; t9 Q0 A+ D% x8 A CPX #$02" l ~5 T' D1 _5 _; g
BEQ PPU_BANK_10009 a2 y9 H% m0 e9 e7 H$ [
CPX #$03
9 `9 z$ S. B5 R- \) Q! J BEQ PRG_BANK) f1 N o0 V' \- x( [$ k
REG_SET:( j- e6 ]* M& N0 }+ M* R' d3 i1 R
STA $A000, W9 D7 I! i% }5 w$ p* L
RTS
( y r7 k& M, E0 `/ u8 j .ORG $7320$ }% _/ t" k$ j
PRG_BANK: ;PRG切页
2 { P' Z4 W( a/ w- W9 Z7 p! ] PHA
. U! J% Q' O1 Q LDA #$06$ c% M8 h, x# s- M* t& ~
STA $8000
3 m( }3 X- [; _% {4 z PLA- o# G2 Y/ B" N5 x: m+ D
ASL1 l2 {7 w: d- B
STA $8001
9 r I7 F6 Z9 j9 S: d3 H ORA #$012 l2 e) A4 e+ [# X/ V4 V1 t
PHA0 R! R2 R- r/ W; l$ Z0 r; R
LDA #$07# c p3 `" l6 `7 q3 x( p) T
STA $8000) W O1 S+ ~- V. n6 `, g
PLA+ l2 b! K& [/ L- T
STA $8001
& N8 ?' |, C1 p# | RTS4 I6 d& b% q' Q% Z2 r
.ORG $7340; ?% F2 ?# g) ^ f/ p* G
PPU_BANK_0000: ;精灵切页
# }) f& L; [" {( p8 `+ L- M PHA
* N0 c4 T& V# Q# o2 z3 [0 r- Q" d2 _ ASL- C& i. C! U/ L* R9 A- j5 K
ASL/ F) o9 ?5 d$ [
PHA
+ I Z4 q" T2 L/ y' t/ T LDA #$002 \! R8 K4 }2 ?" K
STA $8000
4 E9 Z6 H, ]7 ^# i# s( s' v& } U PLA# W1 M5 l! j* x8 j
STA $8001, o8 t0 T0 q9 n- z$ b5 z
ADC #$02
) M3 [6 M4 ]1 S+ @% Z* T) Q. J& }# ] PHA( F! f, A9 X: A7 c6 u: u: c! h
LDA #$01+ S+ [+ q' _. D o4 m# n- m
STA $8000
& h+ c/ V7 T' p6 e) F9 |3 u+ k9 m PLA4 y: L! B* r/ q) [$ {4 Q) `7 `
STA $80015 r: A, H2 u9 f& N+ F
PLA: X5 K5 I- v# O# m( B6 r+ b
RTS/ y7 O/ @: { k6 U
* W% K i2 G5 Z8 W5 n# h
.ORG $7360
% Y( Q* K% }+ T2 Q' ~; C0 FPPU_BANK_1000: ;背景切页# d( i$ x( ?0 V5 l, @1 j) D# X
PHA
3 W, R t# ?6 B9 i ASL
( U* E- C$ ]1 U/ G3 | ASL
% F7 r. v* m4 ], V/ u, Q8 O$ t" _3 x PHA# R( f+ G- }$ T: A
LDA #$02
! b% L, H( o5 C1 k( h3 c STA $8000. C! _7 P8 N; i( k' W
PLA5 h _/ l8 Q6 Z' K3 ?( H/ d
STA $8001
$ T5 } K: y! N/ I ADC #$01/ \& R4 ]+ J, F: |+ A
PHA/ ~7 g% q* u1 T/ h
LDA #$03
4 l8 U: d8 p7 b) e# }) A3 V STA $8000; ]( o! ?5 o1 _/ u; U& x
PLA
! e4 H3 x( d. C2 H7 H; P& i, q. N STA $8001
. w3 c. V8 ?# |3 i ADC #$01
8 z" H9 k4 U/ g0 s7 X; h PHA
& x( o2 K; c. `, L LDA #$04/ z7 y+ ^: u, W: y) ~
STA $8000$ w+ s& W' X7 T7 w$ J
PLA
K4 f8 U. N2 l, s2 |& G STA $80019 N' B: m7 N) q
ADC #$01
& w! T3 V6 E+ o6 U PHA
$ X- l* V L: o' _ LDA #$05
- b+ B+ O/ z6 { STA $8000
/ o! p' T. b" E3 B7 D" S PLA
, S9 Q: z% E: Z9 v# S' {# [ STA $8001 O: p* m' \: y
PLA8 G9 G* H" u9 p5 C
RTS
9 V4 {2 l Z6 o* h. p
8 A' s2 e) h( W% l, F. A( m- C5 o5 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|