|  | 
 
| ;[FC][最终任务mapper1切页程序]# R9 K) b, r- Q3 I .ORG $CD9B
 ) E) e; j' j. V$ ]" d+ T3 D, p$ bBANK_START:2 u2 `, U- l" u% r+ g: T
 STA $70( \' M& V: [# ^. z  _0 U
 TXA
 : O* X5 O8 X0 W+ ~) ?( g% W ASL
 P# s# ?: Y; a/ J TAX
 1 B# @! `( X/ B, W' p" Q6 RPORT_SET:% U# v, r/ P2 H
 LDA BANK_DATA,X- l& D/ `6 F& o" x! ^8 Z/ T
 STA $6E
 - r2 u1 g9 O/ X; S LDA $CDB8,X
 3 }0 M& b5 [. \3 l' G# [ STA $6F1 C3 e4 a6 t5 c$ F- L
 LDY #$00" {/ M. ], H. h- Z% j3 K8 d
 LDX #$052 U& u6 }* f( w; k2 y
 LDA $70
 7 N/ m" c8 C6 h6 H/ v$ JPORT_WRITE:# l0 |6 v% ~) s( V! ?) i) d% n; w. Q
 STA ($6E),Y
 . s$ M: f: }- q8 m7 E6 @* p# O LSR% E& N" l1 W( l+ ^
 DEX$ X/ Q3 b- @" S
 BNE PORT_WRITE
 8 k  r5 J2 P" W: J4 t' G2 U RTS; H/ J. {% _1 _
 9 a0 s  y: V! @* r: H. t
 
 ; K. g. q- b4 r& cBANK_DATA:8 N1 l0 [3 g$ A3 ?& c- E$ U3 w2 q2 ^
 .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF1 [; t1 R" \. |0 X/ W* _, x
 
 , T9 N& q  ]6 W3 M$ S! [) X' q : w% c* X) R0 H0 G4 f
 ;[FC][最终任务mapper1转mapper4切页程序]
 : Z( M9 Y2 U! `) I .ORG $BFD2   ;初始化跳转: b3 X7 g5 P* x8 T
 JSR $FFC02 J3 T: P* O& N$ D% q
 
 6 _* v5 \2 g5 C% w
 $ |/ d6 Q; y% r3 [ .ORG $FFC0    ;切页
 4 u4 y0 L$ E, i- E LDA #$06
 # u6 \7 Y: `* W5 C+ [ STA $80002 }& C; K+ }" m* {8 m; _" j
 LDA #$0E
 6 i: z7 @2 K  ^8 D6 O$ i STA $8001+ N9 `; o, s- a+ |0 U
 JSR $8000
 ! z, N/ s$ `9 V3 E, R0 q RTS 0 v9 P2 k1 Z) u+ {) [
 
 ; j+ |1 t( e2 z6 f2 b .ORG $8000    ;数据复制3 h$ j2 Z" u2 z. P6 k) D( q# n9 e  o) \
 LDA #$80
 ' s% F4 W. T" x STA $A001    ;启用SRAM
 1 G, o: A, u" y8 X$ ^3 T& h PHA
 * n. Q! g" g& V. ^$ o# h7 u TXA: x$ `  U+ N. X4 u! l& p. E
 PHA! t7 z, o# I% w+ N3 x
 LDX #$001 C* A3 k1 m- u. m
 DATACOPY:     ;数据复制
 ) c- C3 B: d' m LDA $8100,X
 $ o# t& T: F# s STA $7200,X
 l+ U9 E% H0 L INX, ]4 {$ V% O. `$ K# W
 CPX #$00
 # P! f1 ]/ ~- Y+ I+ x1 x# w BNE DATACOPY
 & [5 e- O0 Y7 I! Q1 Q9 Q PLA
 ) p5 L2 k6 {, x" |& @8 [ TAX
 1 C7 T/ ~$ {, V0 v3 `- C4 T PLA
 8 p. c# x) I1 G4 W  s RTS
 . r" G  y' B! X" D- Z- Y4 `' e; Y
 + k$ _' d# C- a0 _/ e' I6 E .ORG $CD9B    ;跳转到转换的切页程序
 : r3 @6 B0 X0 V/ ^/ p STA $706 v# R9 S; i: x6 @
 JSR $7200( h. c9 |5 v2 g4 I! V' z1 s3 d
 RTS" d& M+ R$ `: @$ L; G* s
 6 }. V7 A( \9 }
 .ORG $7300
 ' n: V. M9 S; a: Z$ Z0 @5 E8 PM1_TO_M4:    ;切页程序7 Q5 J9 F# Y: v9 ^6 ^* d/ O. @, M
 CPX #$00
 & D1 C% d4 u- `1 n, ~5 Y BEQ REG_SET" h$ Y! N* u! W4 i! M0 O* Y+ D! h
 CPX #$01
 # O. p: M3 Z5 E2 K1 C) C BEQ PPU_BANK_0000' O+ Y% e$ U% F  M* P9 o/ c
 CPX #$02
 # R. P, `8 @2 x7 H! ~1 X  U/ ?3 l1 v BEQ PPU_BANK_1000
 6 F4 \1 O8 j: a1 e: Z CPX #$037 l6 _! E: T3 ~0 w  Q$ k2 W$ S
 BEQ PRG_BANK
 ) G, t( w2 ~2 NREG_SET:
 ; Y$ X  H! g* H( B STA $A000
 5 X: W+ J) f, w. M; R RTS
 $ n  |( J. W5 O$ [$ @) C1 ^5 r. s  .ORG $7320+ |, z! L2 M' X$ t4 K/ U, u
 PRG_BANK:    ;PRG切页- E2 c% \; s" W# o8 ]
 PHA
 ) b2 k+ Y1 }5 n$ ~. ^% Z) B+ y# M LDA #$06
 5 Y2 D" }; ~; l* W STA $8000
 ) X1 b) u2 f6 O9 Q/ [, R PLA1 I0 d8 O: d5 p7 l$ I1 I' F; }
 ASL0 g" U5 t2 D% ?
 STA $8001$ q7 k' _. y" g& O- F
 ORA #$01# i2 n0 A! |) o; M3 o. t+ @, H% P
 PHA
 % a( _; C3 ^) V. x LDA #$07
 v, X1 _( I# \0 G, E STA $8000
 ! @; @- @% P) }, I PLA
 1 A( S4 d1 F8 n. J' H8 H6 H+ X" l STA $8001
 ! n0 t3 [& P3 @2 c/ B  D; X RTS
 7 h, ]- w6 l' o3 [! w  L( j .ORG $7340
 & V6 g) C! q, G5 s3 i7 r" RPPU_BANK_0000:    ;精灵切页) I/ f  T0 H. y3 j
 PHA4 y; t* H& [  s% S, S, C; \: @7 z9 `
 ASL
 + H* A$ M7 f7 _5 T5 r: _- o ASL2 s0 _. I, C" O% S) T& D
 PHA
 " Q( P3 ?% D) s  s; f# } LDA #$00' A) A5 O& H6 C, J' T
 STA $8000( K: x& e) n# i
 PLA
 1 ~: K2 m6 b: M  A* k' T STA $80010 D4 F3 D. V2 j' Y
 ADC #$02! l' Q! Q# N6 P7 S
 PHA
 4 J+ m. e& z1 U3 w( } LDA #$01: f) o" o, V+ O- p5 z
 STA $80004 J) e! d, A; u# S0 v) w
 PLA! [( R- K( d8 ^8 F
 STA $8001
 / T- h! e/ d5 ?! |$ x# ? PLA
 . y  l7 r+ c# z, A RTS
 % S0 x7 Y# A% n, G1 W
 1 f6 b% _, e/ |5 |  .ORG $7360- B9 n- j5 B* D0 g
 PPU_BANK_1000:    ;背景切页( d: P/ ?6 l' s) Y* q6 M3 S. S
 PHA
 - @- L8 }8 F" i. f; f ASL6 y8 i( w7 t% p: w8 {3 Y
 ASL
 ! A3 D; r3 I  V3 N PHA
 1 D' X1 n1 R  B7 p1 E8 w9 D LDA #$02# L! k) c& C& g" `, |
 STA $80007 \: J4 q5 d0 @3 }2 b$ a7 `. l  f/ a
 PLA( Z2 H( \) W2 D9 a& M# u8 N9 c
 STA $8001/ K( i% N1 K- Q: q1 q$ l2 s' z. g
 ADC #$01) G0 b0 h# F: p5 D; P
 PHA* Q" d2 G' F7 z4 }6 ]
 LDA #$033 K7 L9 ]" O+ R5 t
 STA $80008 O9 B/ |1 i/ w4 Y
 PLA
 0 T  c; {- g  W( c- V! ^ STA $80011 Q3 V& K! E: q1 ^
 ADC #$01
 / ~( @( ^: c0 ^7 T1 s3 A PHA
 / A7 R% w7 e0 h: m+ _ LDA #$04
 : _! ~, k: S( ^+ [, F STA $80003 \% e! m- I1 a: O& A: Y* _
 PLA
 % i: @# R6 U: \3 K STA $8001
 7 ?* d- P. u4 j$ U) i8 X* S) w+ l ADC #$01& Q! n4 r9 E7 @5 g7 l  J
 PHA0 g- Q/ ^" ?5 d7 v4 C
 LDA #$052 Z, V1 z! ?" a0 o7 H' F  u
 STA $8000
 1 b5 y7 @( v  z2 L& h PLA* {% S( c3 }4 y! m( K( N1 k9 \
 STA $8001
 " {7 M+ T! p2 M5 C( R# i' U# v PLA/ x; b4 C, g* [
 RTS
 , o% }$ d4 M2 [  g% V, `$ H, V8 j' h* x8 i: u! h& ]
 
 | 
 
x本帖子中包含更多资源您需要 登录 才可以下载或查看,没有账号?立即注册  |