|
|
;[FC][最终任务mapper1切页程序]' b+ X* d9 |% v5 V) N3 x
.ORG $CD9B
' n" p6 Q8 `/ ~ ~1 t! ]BANK_START:9 ~ a' X1 e' _# C2 a. W
STA $700 S3 X* l& \0 @: x3 H0 A
TXA, o; F. P) c$ d9 _3 K
ASL- Q r1 ` F }; k
TAX, O9 \ S( k( q. c% b9 b- J
PORT_SET:' m! _4 _6 L0 w/ {6 Q1 v. N
LDA BANK_DATA,X, Y& R9 P( b) Z+ @: I
STA $6E
) Z+ s9 U1 T/ n# j% T; P LDA $CDB8,X
5 A% t* E3 m* g, Q, J/ u5 v9 \ STA $6F
( i0 ~& _# v" e1 o6 N7 G s LDY #$00
b4 i! W/ w% P* o- u) ] LDX #$05) M0 \2 T7 i: s( C2 p0 R
LDA $70
7 O+ m: C$ ~( J6 r) FPORT_WRITE:
2 `! w b: E! E1 P( [) U0 w/ X9 q STA ($6E),Y
5 A& ~. y! k/ @9 m LSR% f; G! l* q& d" T$ n: J5 _
DEX
7 B& U0 O4 j' Z. p BNE PORT_WRITE
8 j; D. o4 s& H4 X6 Z RTS
& H/ \1 u$ w( I, k! s/ Y
e _4 e M3 e) w% ^ % X5 g* h# c& n: M
BANK_DATA:
' Q/ F2 B' H3 C; _ .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF0 D" t: Q8 j" E- ~- V1 S: o$ e& g. Z6 \
; e o; d" N: F8 B/ H
* B/ M5 N8 n# i8 I1 t- z9 ];[FC][最终任务mapper1转mapper4切页程序]3 t# i$ r9 F$ @% x `
.ORG $BFD2 ;初始化跳转& o" t/ q* Q3 J$ s0 ? F) R/ N
JSR $FFC0 _3 [9 Z: f. h# w; m( A g
9 D: V1 U- a* X6 N4 M
$ W5 q( }* [5 [) k
.ORG $FFC0 ;切页
) f' m. j1 E: K+ {: f LDA #$06
& F$ `0 q# }$ L# T! T0 x STA $8000, c% Y5 L' `3 C/ w
LDA #$0E
R* n, p$ n8 p' O0 X STA $8001
, A. r5 E$ i' B) {' y. ^0 j/ E8 c+ o JSR $8000
5 j2 q6 _1 X) h% `0 N3 `9 J RTS ) P, u2 B1 g- A% a
* D6 V7 C1 _' B0 ^ J4 B4 t .ORG $8000 ;数据复制
# T9 O# I% F$ N9 x1 g8 Q LDA #$80
2 d2 d% [1 [% I1 \ {. ~9 y STA $A001 ;启用SRAM
3 H% B, g; H7 W4 p PHA8 D, v: b" E# l: r1 ?& b1 L. Y
TXA. D; v# Z7 b$ z, O5 Y# U
PHA; V( G' E* w1 m) M, N
LDX #$00
- D1 D, ]8 ]( W5 Q! NDATACOPY: ;数据复制
7 q+ X+ {1 T0 n/ s! K7 K" Y; W LDA $8100,X, r Q! A1 f9 k
STA $7200,X, ~% m& E6 x( M% Q
INX7 `- {2 ^" G8 F- Q: n% `8 D2 w
CPX #$00; l& x# W' Z* R: o) \; \9 T
BNE DATACOPY2 t& X' O* T" B, A' A
PLA) @) l( J/ K+ i; v! k
TAX A$ _. V; U+ Z6 F; {3 l+ s
PLA# ~# R4 l6 r! o0 y8 x8 ]0 U1 A/ e8 L, [
RTS x; I, G& g4 q+ I5 y' X& s
G- f: I2 u* f7 s$ v' A
.ORG $CD9B ;跳转到转换的切页程序$ }" G9 J9 ^9 }: \/ J. f$ }9 m
STA $70
: \% N4 F6 n# K8 _ Z6 y JSR $7200
2 Q. P0 g/ V" B( T* m( [6 z RTS
7 @% |: w& u2 H% {3 V1 K6 c y 8 p/ M( R: |# G# R6 }4 I* [
.ORG $7300
8 v! f: K n' l4 rM1_TO_M4: ;切页程序
0 `; A) W& y; R CPX #$00
( e8 S }7 O! d BEQ REG_SET
: f: @! X$ B$ e4 A# X CPX #$01( L( W0 ~' T6 i( N0 h+ ]
BEQ PPU_BANK_0000/ b2 m: ]; F# I
CPX #$02
. r! }& j3 h" h3 B3 x$ W BEQ PPU_BANK_1000
: u! d0 G" w$ ^$ h CPX #$03
5 l+ `# i! Z! |0 W BEQ PRG_BANK1 ]; x, p2 A- l1 n
REG_SET:" e3 w* [; @7 G' O+ U
STA $A000. o+ w( T9 ?" c7 I
RTS
' h2 N8 i/ _: `2 G2 U* Q `0 v .ORG $7320
) k# s$ ?# z; ~9 {4 P6 ~4 _PRG_BANK: ;PRG切页
# [5 U% u3 k$ C: C% _- s4 D PHA
' b# z8 Z9 s" ~- j LDA #$06
* D' d) L. c J% y+ e$ k STA $8000/ q) m% T, J7 Z2 ?+ @8 J9 ?" v+ u, a
PLA
! J9 `$ ~4 x0 H g ASL
3 ~( Q; r4 n$ ]; u8 N k c2 g STA $8001
" L( q, _( Q- O. J9 @; { ORA #$01
4 S1 M" P; L# t7 ?* `. h* w PHA; H; [0 F, l O6 b' F+ K7 I
LDA #$07" Q5 w( m, J& @" ^0 c$ {
STA $80006 ^& s7 R x5 E, k
PLA
% l( j' h" e2 g0 _3 V STA $8001
2 E" t- m4 O+ t5 {: h# K RTS
8 g/ t1 U- a, T: \2 h$ D .ORG $7340
0 i6 o) v, C& X* w VPPU_BANK_0000: ;精灵切页- ]) Y6 V0 D; `% _
PHA+ f+ C$ k2 R8 `1 n, p* J
ASL+ s% d" [4 c* Z, C3 p
ASL( l; F) ^0 t' w8 o7 J
PHA4 ^; I0 r2 w0 D, ^
LDA #$00$ h2 q+ x% O; C/ V" E$ o. W
STA $8000* |. ]6 h) ]6 l6 c. ]" \$ c
PLA
, ]0 Q3 x' Z4 W# H7 w2 z0 u STA $8001: o% K- ?$ X$ Z1 c! P, e+ m0 J/ f- ]
ADC #$02- N" g: R3 F/ V* D5 M9 j+ U% s
PHA R# V- i2 M9 a9 T
LDA #$01' w$ ^& D* a) C
STA $8000) R. F! L* l( F) k+ t6 u: ?" k- v
PLA3 J0 H* B# y' w( z2 M0 f
STA $80014 P( @3 o4 {2 ?! y, j3 H3 ^
PLA
- M, n, t' E4 T: X- s RTS3 R% E" ], d7 X& L8 q- m' [
3 G" | t j9 F2 ` .ORG $7360/ G- `( Q0 a- r
PPU_BANK_1000: ;背景切页
) `( x# B# V9 e PHA
' c* P# N# }$ q' ]" w0 x ASL
1 c" Z+ D6 m0 F! s; w ASL
* e: S1 J0 M# A$ n# ^, f# f PHA4 G- X1 i/ q, w5 x4 {& g# x
LDA #$02
# u n. O( J/ Q- U4 ? STA $80005 C' C7 r$ V1 p% _% U9 W
PLA
# a7 B$ N* }- p l ?' l- A% v, o STA $8001
. O" w) ~( j, V6 G6 T' Q ADC #$01
3 Y1 _ k/ Z: n0 D2 s& w _& j PHA
: q4 u3 _$ t6 z6 f LDA #$03
9 f& M" ^2 n) r- ?2 J | STA $80006 A( @' ~1 H! |8 r
PLA
4 |' N# t. j- b" q& Z1 g STA $8001! i9 N* c; @2 z& I8 y1 s- F
ADC #$01& G+ F! X5 k+ ^0 b* l0 m
PHA
$ h, P4 Z$ {6 g N" Y' k' E, | LDA #$04- O0 ~$ o4 P' ?9 q
STA $80008 V" c! W, r: k& P2 O* D4 d
PLA E& g; U: C( E# P b9 }$ M$ ~5 M
STA $8001
! s2 F) i; J1 {+ j4 I ADC #$01
' @# g* R% i8 V- R; m PHA
* l0 G4 K( h- P3 P/ Z LDA #$052 y" E, {% G4 l$ y' ]9 F
STA $8000
# |: o6 H, b q, `0 R, ~2 i PLA
- X' [, Y8 U+ }- a STA $8001
7 x" L# w% ^8 I' S PLA
4 e6 t- Y7 J3 P' M6 \' ^ RTS
- j9 S7 I s9 v8 F8 l" x+ ^$ B8 j8 f, V9 Z; x! ?% v# Q
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|