|
|
;[FC][最终任务mapper1切页程序]
: V8 w3 f7 }6 H1 ?5 \; t .ORG $CD9B9 M# x. Q8 M$ |: w, t: [
BANK_START:4 b. y9 V1 Q' U% F6 `% e
STA $70/ o; P% @. e4 z5 Y2 ^% {( O
TXA1 }! D, _9 L, o3 f
ASL
( w1 a: X2 }- ~ TAX, o/ {2 f4 _5 Q, L7 K3 Q/ b% ^
PORT_SET:, N( ~* t# B; \9 U4 Q7 F3 d5 a
LDA BANK_DATA,X: e7 g0 g% Y7 I1 ?9 N
STA $6E
) Q. e3 ^5 x" G' Z LDA $CDB8,X. }& Y# P! o# A6 X
STA $6F
7 w E( |# O* f LDY #$00
( ]% g( e* C+ L0 s" A3 J LDX #$051 `6 ?# x! O4 N$ G% M, w
LDA $70
/ o" n1 l( h, SPORT_WRITE:6 c3 J. O1 [/ F# A! }# ]/ p
STA ($6E),Y; D; B' u) v( F) B9 B# |0 T r& _( z
LSR3 L4 ]2 B3 ]$ E6 x
DEX
+ F% y1 X& {% O: o# Q5 Q% `3 M BNE PORT_WRITE
& p5 T3 d/ N* i. S) w8 W9 F RTS, Q# C* |3 K/ i m+ G9 m5 e
# }7 _4 I) K1 Z4 J$ M! L
- j' K5 O3 q7 y7 \* f6 MBANK_DATA:
- N' p; P* A- U# l .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
4 x/ ?1 l8 J0 S; c
1 ^2 h; m' H _; J0 B7 Q8 K 9 s: q$ W. T0 g7 N6 @# H% h+ R* d* X
;[FC][最终任务mapper1转mapper4切页程序]+ [. G7 [. ^: s( j. ?
.ORG $BFD2 ;初始化跳转! B7 Z( X5 }3 o; s8 L' A% E* k' @
JSR $FFC0
- f8 F# F+ [" @1 r5 E8 n$ q% v# ]# `
/ `* q' u: R( m) h3 ?/ l
.ORG $FFC0 ;切页$ v- J8 n7 ~1 H/ F) K% W' y3 u
LDA #$066 K1 d* }2 y$ U$ d
STA $80001 _& q/ |$ y f6 ?# `2 M
LDA #$0E
7 c9 U d- k2 x) J STA $8001
. p3 W; `) X# f5 p& n4 t! ~ JSR $8000
9 U& E- P$ W; Q& o. p" { RTS 6 ~ u0 I) D1 d# {, I% D6 L
6 w! ~; J$ c( ^5 I1 l
.ORG $8000 ;数据复制* l4 n N- h0 F. i5 W# v
LDA #$80
" N% E- L. h4 C* {- | STA $A001 ;启用SRAM
* k1 j8 R; ?" u! @+ D3 f PHA2 q/ a% y8 D: R8 Z9 {, ^
TXA
- p5 H6 A. [* t# D- c% x PHA
2 M$ L' a' J2 K- R LDX #$00
# Z- q. @9 g4 X# y! X2 BDATACOPY: ;数据复制
: t4 K# r5 ?2 B LDA $8100,X
4 ]6 x9 m7 o$ H* ] STA $7200,X; s8 u: B& ?7 M1 f& m) G- r
INX& Q* j( R9 y) n$ P0 E" Z* S0 Z
CPX #$00. b; d$ T* C9 t* ]* [4 P
BNE DATACOPY5 u, t. g g6 a( x; B$ C
PLA& Q3 ?1 L* C" ]7 |+ ^2 h r- F
TAX
4 E" L6 g0 }. G6 T, a+ {' Y3 }) D PLA
! b4 B- v- F/ s- Z2 F: T RTS
; i0 U( U" ~, v7 V# ] 7 x0 `, A* U) l+ ]& ~
.ORG $CD9B ;跳转到转换的切页程序
% j* j* W1 V! j STA $70
' H' r* [% P6 P JSR $7200
$ f7 T2 T _ ~$ w RTS
1 e8 k: E: S6 D5 v6 G2 ?; i X4 c1 ] # j5 E, F8 F- E' h. r: X
.ORG $73006 _# W+ z) ?8 v+ g
M1_TO_M4: ;切页程序: m- ^8 L1 H* E# _/ N
CPX #$00
3 }( o* Z2 G( `: z9 m BEQ REG_SET: g, y$ l1 x+ K: |7 O' A
CPX #$017 R+ Z3 C" A2 c+ L2 M' ^
BEQ PPU_BANK_0000
; Y1 |' q/ J5 B9 j CPX #$02# \' k' |0 v7 c8 F3 K# R( ^+ [$ A
BEQ PPU_BANK_1000+ j) T: z/ }$ n0 l8 \
CPX #$03
- W' e0 E3 L3 F8 Q; }" o. o BEQ PRG_BANK
8 B+ W; H A" D4 z, h1 W) ]5 xREG_SET:
2 | l8 ?% ?. O5 x9 W, t8 i STA $A000$ i2 v. w, F: W8 k& _
RTS; d) _7 r* I w4 s0 i( y: {
.ORG $7320
! m1 ?6 l' |. j( {" c5 r# ^5 EPRG_BANK: ;PRG切页! t5 ]( }+ j1 o
PHA4 G! C: S) i0 |4 d2 ?6 R
LDA #$06
* U: S; M+ ^3 F# W# c4 a STA $8000
; O2 I# ]$ d. z$ N$ V2 W" K1 x Y" k PLA! p( a+ e" j. |+ P l3 f# J7 N
ASL
" q% q/ N1 O: ^3 d STA $8001
% x$ i8 s# z( U# N* E ORA #$01
6 ~! v% C1 h$ _' {; f: a. v5 c PHA7 J. J( `7 k. J0 o5 P' J
LDA #$07
8 i* f4 _0 h) `! {' s STA $8000: r4 m5 _' n3 ]2 A3 O; f
PLA
4 |' ~$ T" P( @$ q STA $8001
; v5 M- b' F# _. N* x4 w1 y$ o E RTS+ `: `) e" G; G$ [; w1 \+ R
.ORG $7340
& W% [7 L) \+ R) g$ S( ~PPU_BANK_0000: ;精灵切页$ k3 N' ]& L+ D* R0 g7 {
PHA
\2 j& r9 u; \ ASL
$ e$ l. @) ^5 u2 _2 V ASL
' I% {) l: z) a% z PHA
7 b* P( H; i: @9 J$ b4 m8 f LDA #$00
& ]3 m/ ?: R- d1 K$ G: D' I STA $8000
% S( d0 |1 ^1 e+ B% ^) U PLA
' S6 Z! Y1 J/ x4 Z STA $8001
- }, E" ?3 S& `, a" M- I% F ADC #$02, q3 N) ?5 m- O! f5 b8 K
PHA
' j: O. c$ h7 w LDA #$01
; }' c. e8 _5 m* N' | STA $8000, e; j* n# Z u8 B
PLA! y" t! b0 j( T& ]- G, n6 \
STA $8001
" ~2 H# x" t6 C/ \# s PLA
- R0 Z o D9 r* T7 K! q: M: `: Z RTS6 q l7 f! B- T9 U" ?
8 a" B0 b- j& s0 n! X! s
.ORG $7360
" W" ~- m8 Z8 y7 |0 WPPU_BANK_1000: ;背景切页. D* y! E; v3 Z% ]
PHA
$ K$ G/ C/ T9 j: f ASL
, \! b; O1 Z* Q3 u ASL0 O) E# F( s( v1 G G
PHA: z) ?% E6 m8 t8 H8 ^
LDA #$02
& \8 B3 L( ?7 B" Y! o; \ STA $8000+ n9 M0 g/ A& J6 ~, j2 p# v6 Q- p
PLA' ]2 X2 O6 g5 t& h
STA $8001
, D+ L& R2 e2 B5 J! ]0 @ ADC #$013 T6 x3 @) a; C0 G; w% _
PHA7 i1 y4 }) e ~
LDA #$03: M0 T6 N8 ?; Y a
STA $8000
0 B$ Y: _5 m* d% A( b( Y PLA
E* q' \7 F7 s {3 [; i1 P STA $8001
0 {+ Q1 Q3 Q. M7 r8 {2 [ ADC #$01! t& d+ u) t; ?7 h
PHA% O- r0 z$ @# v d" k f
LDA #$047 W( k& y0 w0 V8 Y6 P1 J' f& u# `6 S
STA $8000
! n8 q- K( w0 ^9 P7 o3 D2 }6 G. s PLA" g5 {6 r9 l/ N! k9 q
STA $8001
/ X' B9 A& z9 e" v9 C- U6 b' p ADC #$01
% c- [0 K1 E: A( R2 ]$ H) ] PHA+ e; @* a* J/ K# S
LDA #$053 E7 {. u n" u6 m% j
STA $8000
0 G: r6 B* U) ^# i/ O% R PLA& T6 {: x3 [% O
STA $8001
9 U8 z4 E; U" _1 Z2 c; | PLA
2 u0 p3 }, a6 n RTS
4 q. } V2 ~2 h8 b) P, u" G, O& ?* h+ e1 @
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|