|
|
;[FC][最终任务mapper1切页程序]
6 \1 k; K- y* P- d .ORG $CD9B- K3 m7 n" D$ P3 K& [" b
BANK_START:4 V; ^ s) A) m" k) I
STA $70
* Z0 N6 ^6 H6 t6 E* f TXA
+ ^5 X- f8 f9 f- S% @ Y6 R ASL
* p/ e6 X& U6 x0 U; ?6 T TAX
) a1 H/ _+ V7 ?" n ?: YPORT_SET:8 j; V% g' b+ w6 }4 F
LDA BANK_DATA,X7 T' D2 A0 W" s3 H) V3 H2 X% H
STA $6E; J$ U5 F$ U6 V. D: n
LDA $CDB8,X
* ~# q! O7 S8 Q$ o& d ~ STA $6F
. k; @& a B& P3 s% i. O/ C LDY #$00; |1 {, r, Z. ?: P6 E/ i& ]
LDX #$05% U8 J- A; T# d, F# c5 T$ X* N
LDA $70
! s1 k) p0 r" z/ w, IPORT_WRITE:8 l; l- L( J3 f) \3 {/ t) w. u7 L" i! g
STA ($6E),Y
0 t4 m ?+ Z" o6 r: @5 A9 h LSR$ {7 N. } m# b
DEX, ]% _6 P V# v0 E
BNE PORT_WRITE
4 {7 k8 w" k& O) L6 E q RTS4 V( T9 I: V8 v2 ]
9 F5 d2 P% ~. u) @9 s R
9 _' J5 R: Q, U! PBANK_DATA:' `% K1 t0 ?4 q R/ C; ]4 g4 \/ G
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
8 W4 s. s3 }& G* K' O
1 S: |9 Y3 L, a/ G7 x3 ]
7 x, W; E( _2 F' z4 Z$ Q;[FC][最终任务mapper1转mapper4切页程序]
% }0 c( e4 _: ?) }5 V; x3 S6 n) { .ORG $BFD2 ;初始化跳转
2 F4 u, K) p6 q7 o! ^% o- ]- H JSR $FFC0/ x: F. U$ @8 J/ u0 Q, _
: j0 p& { L' B9 R: @
) z$ x# Q: N( }% [9 X
.ORG $FFC0 ;切页
" n% B2 G" J0 F8 C7 W LDA #$069 `, m% ?( c8 W( Q( N
STA $8000
, p1 n/ w$ V4 N0 c5 T8 w0 M LDA #$0E
! z2 P% z1 z3 ]! N9 R6 X4 N6 ]) e9 Y/ G STA $8001
2 h- s: H2 p: V- I JSR $8000
' F5 e+ U& A; L# ~% E* U* K RTS # k" m& z/ F. {( V2 {$ _8 H1 Q
: a# N$ @4 F! } p6 C! [
.ORG $8000 ;数据复制) D+ n2 U9 O! Y3 y* r. p. y
LDA #$80
9 x+ i% V! n6 X @8 c: r STA $A001 ;启用SRAM
- A4 A& g; z4 @6 q PHA% C$ |9 N, R4 ?
TXA
# \/ A" U& |+ E+ V0 H4 R PHA9 U& p& V2 D# L# V9 R1 x
LDX #$00" z: R7 U+ c0 Z( y7 X
DATACOPY: ;数据复制
; z# L7 J0 ?5 `5 E! t0 D9 j LDA $8100,X
' k( G4 k4 I4 Q, ]4 e STA $7200,X
; X! B/ Y% d8 x) K% Q INX- b' K8 Q$ Z, e$ S
CPX #$00- Y( A5 W- x- s+ z
BNE DATACOPY- q0 G8 W# N( z" a
PLA& l' S$ ]% B1 |8 V* ]+ t! [
TAX% x6 r2 `3 V9 R6 f! i
PLA
% N# c- W/ }( p- H1 v RTS7 q4 V' G# l/ s5 F5 U8 w
1 Q9 L- Y6 n1 i/ a0 J% p .ORG $CD9B ;跳转到转换的切页程序
7 E7 K' T4 s. q" _( J' H& W STA $70$ y0 } l- f: J# T/ I. I" f- g6 j' `, y
JSR $72005 [; Q% y+ N# x$ C$ G3 ^
RTS9 o, F6 R" ?' P5 L9 W! q
5 ~& ?, \8 K# `6 F2 T5 S! `: G .ORG $7300
5 p- l( Z) |& B! |M1_TO_M4: ;切页程序
4 B) y, ^* S/ R0 G+ _( l CPX #$00
# X/ Z/ p5 U z: {0 U; J/ L- e BEQ REG_SET
/ K2 m: g+ U* O5 J CPX #$01
, y( x# U% r* \# C' I BEQ PPU_BANK_00004 }3 B! {2 ?+ v' K
CPX #$02+ }) f- Z! A4 f0 Z
BEQ PPU_BANK_1000
& l% F6 Z' {# u) R: D2 [" G CPX #$037 ?# p5 A( t3 X
BEQ PRG_BANK) V( J+ {3 j0 k. [6 @/ Z
REG_SET:
# s, d A) ?; C6 L STA $A000
6 D' Q4 P# u; t2 |6 |- w, {) y8 S RTS8 |; B) g) A, P9 U( Y
.ORG $73206 O2 a. D' R+ Q$ I5 N% h
PRG_BANK: ;PRG切页
o+ |7 x1 \6 W1 R4 [* Q PHA
* p( h1 l, Y/ A+ s LDA #$06
: a- U( j/ C. l3 w- @3 Z8 ~ STA $80005 g6 g* @3 e7 c, J t8 j
PLA+ ?3 y. r* U5 H1 f3 O, q7 N" ?% [5 b
ASL' H% z( F3 q4 C6 A
STA $8001" P* d! d* F+ z$ v5 z, \& F
ORA #$01
7 o- ^* w( y8 H5 ]5 S3 _0 }5 s( p PHA
; |% b8 F9 t4 B# T LDA #$075 A9 V6 G8 q) `6 E- J
STA $80006 Z6 y! N v1 t/ n" q0 W
PLA
0 k+ h/ G' p2 L( }" I% I STA $8001
" z' |5 H5 E# T& o% B RTS# S' l- ^9 Z& Q$ m, i
.ORG $73401 |8 B. ] c' K" e0 g+ |
PPU_BANK_0000: ;精灵切页
) v3 y/ A% }# j! a. X e% d. C PHA% a+ d$ u$ }/ p7 w* D" T8 ^( ^9 v
ASL
: h8 S9 c" O( l, ^$ u+ C ASL1 l7 F- U; a- P. u2 [% _
PHA) N/ m+ a( F3 E5 L% b" v \# A0 m$ S
LDA #$00
: ]4 N1 j0 j, P0 e STA $8000
1 f+ ^/ r s2 L$ r- N PLA
0 X/ t4 P1 c6 F' x! J2 R STA $8001
* O3 E* @ l/ C( d# ] ADC #$02! T% F$ a+ b7 }: B
PHA; u; [" b- P' z
LDA #$01
' a8 T, a4 P8 C/ m V9 g @5 X3 ^+ p STA $8000- i' w! K" n, i# t
PLA
; c; O8 S6 V9 L; X0 k3 K STA $8001; E& p; x( g) E
PLA
: o _/ b# F/ ] _' X0 V RTS9 @1 X7 [$ H& e% E) i
8 e/ R% v8 P5 o9 n4 `& T8 N
.ORG $73608 g5 X5 y N7 p% @
PPU_BANK_1000: ;背景切页
9 L/ |) z2 u/ t; b9 C* Z; O' U PHA- n& @2 K. ?/ o* x) y0 Y
ASL/ A8 R7 h4 V ~: N( M4 l. B2 L
ASL% _; x: l. [$ W! a8 K2 @
PHA
3 J8 E( m7 A5 Z% [ LDA #$02
0 W. ~, W0 m- i( m4 M( Q/ G STA $8000
' g9 S+ w+ {5 f9 C, H PLA
/ Y9 H2 r, H% v) |; z: ^7 } STA $8001! W8 w: S" H# k( o% S* m
ADC #$01
2 v5 e4 B1 M. t) p PHA
' C8 G, Z5 v% z% A LDA #$03% ?( l* o9 f) a3 \
STA $8000% E& A* u' c; V, L* x; J
PLA8 f' k/ ^* f* `5 t
STA $8001
5 ~4 f3 k a6 q5 L8 f& ?% ?0 K$ Y ADC #$013 t8 S, w* ^2 Y: m' U# c
PHA. } e) M& J+ {9 S/ K: t x# P4 L6 t
LDA #$042 X6 w7 q- l% a: [, Y
STA $8000
. x3 d | S; f8 K2 z0 [7 I PLA
9 Q2 r* X0 V# g) c% h STA $8001
: w' L' Y+ c6 f+ ^: z$ R ADC #$01
& A& n6 n5 ^8 G `9 p; a PHA
# j# S3 [' v; E# q LDA #$05
- E2 v2 W" q, n( n- @+ q0 g6 x" B STA $80002 r) [" B a+ \: Z
PLA8 u5 _5 N/ Z4 U- x6 x* ~7 M
STA $8001' G* {) r6 @, q' k2 S
PLA
0 j. D& n+ }+ d RTS! M. m9 t% e' v I- }2 y- N
) f; P5 t e. W0 _0 a3 `
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|