|
|
;[FC][最终任务mapper1切页程序]
8 p9 p: d$ k1 U; t5 i/ j .ORG $CD9B+ |6 d# n$ a, S& }" [+ x( I- u
BANK_START:, g- \ `$ i& W. x8 r
STA $70
' U* r; O' N5 \, n0 g TXA# d3 K) f8 M9 r+ X4 [
ASL$ g- Y6 ?% n1 ]7 }0 Q
TAX* A K/ F1 G* z: k
PORT_SET:
1 [2 v8 K9 F8 H6 a LDA BANK_DATA,X% U* w' a% w1 O6 ]
STA $6E
) X2 U' L1 V; e! | LDA $CDB8,X u) R# ~- ?% {% \
STA $6F/ N9 @6 x) t& B) O
LDY #$00# X9 a# ?* f( U4 _& a$ }
LDX #$055 z- H( E6 I0 y6 A m
LDA $70! _/ b' I5 k/ a! c, ]+ _
PORT_WRITE:
+ e( N; ~! j; l STA ($6E),Y2 ^, v; S7 P; y( r+ Y) Z9 M
LSR
( H& P9 @( R' s8 ~( @8 |: B DEX% B# q" `0 r9 j5 L
BNE PORT_WRITE
' V. D7 b# [% x8 L4 h RTS) p4 |. ? a8 ~. Y! m: M" O
! Q+ W7 J4 n5 ~! q0 q, t
5 P8 M% f9 X- |
BANK_DATA:
/ W; s" M) {$ k+ a9 r .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
4 ?7 l# n- ~9 j' F/ U- X$ N
- v: M8 H% o6 U9 i1 d. J/ g - l+ M. @# E9 y' \
;[FC][最终任务mapper1转mapper4切页程序]
4 Q6 j4 ~ [! y1 ]! s8 f .ORG $BFD2 ;初始化跳转
% F0 |1 a3 }# x j& Y JSR $FFC0
' s4 t" r' B# m/ X3 V* t6 W
; H3 p9 M/ d# m7 t0 }! V
: A! v: x7 v* H7 m2 @- U .ORG $FFC0 ;切页0 J/ s5 G; U1 s: x- n5 |
LDA #$06
$ T" H8 L' j- y. Z STA $8000* }7 y A) p9 y8 z; S" O1 [4 \6 C
LDA #$0E
' {1 k2 X! g( q STA $80011 d. ?2 k H8 Q g$ Y% R3 Q) Y
JSR $8000& K: ~5 Y) w b, a0 {: ?
RTS & g, ^9 m; @: x* z1 v0 i6 X4 l
5 U" h( N% M0 k! Z0 Y& j1 e! x
.ORG $8000 ;数据复制
$ u& _! a5 ~" h, u" `4 t2 a LDA #$80+ B0 J, M% z: N' m" Q H0 Z
STA $A001 ;启用SRAM: _$ p3 p2 }% C9 k3 @5 N
PHA" ]1 [, i5 L4 `) k' Y
TXA
& Z+ O* k. _: B2 d0 ]$ n PHA
/ s. d6 S9 j+ u2 v. U* F8 _ LDX #$006 p) _. R- c v9 T: B: t# v
DATACOPY: ;数据复制! M) y) @, D1 e; i
LDA $8100,X
6 C4 M ~' z! B" v STA $7200,X5 g8 k2 \4 Y) s% K) y8 {8 S" a
INX& @+ T- m: ~& f) s# A
CPX #$00
8 K6 c/ l }* B- J; U+ M0 k BNE DATACOPY
1 l# }% I5 B" W9 k0 I1 A0 r. k PLA
+ p! B0 I5 P5 j. K TAX
n' g7 ]9 y8 H7 I; \: _ PLA2 _) ~8 A" b+ A' f
RTS; Q G Q1 p% V
( I: y. V) r' r) C .ORG $CD9B ;跳转到转换的切页程序
* h: ?: O) A& c& A- i STA $70
3 q& N. {* A8 U$ ^' @ JSR $7200
g# ~: M4 n3 f& i+ S9 j9 R6 J RTS9 X+ u2 n. }% }2 K- |3 e' y
) Z; }" @' l* c) i! r$ h. M4 k .ORG $7300
* w, x3 X) I! Z5 \$ FM1_TO_M4: ;切页程序; P9 S$ N7 K+ v1 x
CPX #$00
9 G, U: ]( ^' x$ k/ u BEQ REG_SET% ^9 d. P8 D, V" F' {, D
CPX #$01
" k5 ?' K* Y! {! ~7 ^ BEQ PPU_BANK_0000; _$ c3 ]. h" p% i7 j
CPX #$02
% [8 S" j" ]8 b9 Y# V BEQ PPU_BANK_1000- q; s) s* f8 S0 d' g1 l+ B
CPX #$03
, j+ q$ e8 e# J. Z% d BEQ PRG_BANK
; L( Q4 q5 ?% \& |0 a ~REG_SET:
7 L3 F2 s. b. C: g; M STA $A000
% ?( h9 a3 B4 i RTS
* M8 Y1 d! `! c) {' {; H# E .ORG $7320$ ^( l9 |( a. d! k' ?: ~, v& N
PRG_BANK: ;PRG切页 f' C S" c8 T3 ^) K r
PHA
2 r# B+ ]4 s4 ]6 r) { LDA #$06
: i6 g9 r; v: ? STA $80000 E' H6 O; h& a: m
PLA3 j3 [% n: f4 h2 l
ASL/ ]' a" D6 y* E3 A) [% S* e: ~9 ~
STA $8001
2 j" H: Y5 |" L% Q ORA #$01
# c( P/ \2 }4 n6 a c5 ^ PHA% Y7 E2 H/ w, q% _0 h$ D
LDA #$07
4 S0 J2 P1 ~/ F STA $8000
: m9 [. P: X% |3 i% Y$ Y PLA( v! J6 C8 K; x3 b9 Z+ z4 _9 B
STA $8001
1 b/ O# h5 r: @' e( V$ y RTS
. ]2 D3 |7 m; Y+ @2 _& B .ORG $73407 ]- t! [2 A; n+ f
PPU_BANK_0000: ;精灵切页
: f7 \7 O; A5 i PHA4 n" l7 w& w1 K
ASL
/ f9 l5 M0 z1 I2 x* o ASL% \9 ^& k- Y2 i3 _
PHA
0 f, ]& ]/ H0 r- C3 O- V LDA #$00. S; x- g" T# x4 ~! x: \
STA $8000
0 k5 w8 G& N6 [; X PLA3 }1 O4 R' ]# M4 g( {- O/ ^
STA $8001
- |4 L. \3 |1 t9 ~0 S ADC #$02& _. T% K1 o7 |) q! j0 n: O4 c
PHA
. f2 n* G5 S ]$ n LDA #$01+ J0 G3 M. z" _4 N1 c9 Y, q |3 a
STA $8000: ?+ i! T9 t" T; _+ ? o
PLA
4 C! k J3 R* T: R4 E, i STA $80016 n; T- v2 G& ? J8 m; v
PLA8 u6 L& v- l8 r
RTS8 D7 M7 `" L: U
1 n0 x8 ^6 f% u# b+ e .ORG $7360: f6 F8 v- `% V2 f
PPU_BANK_1000: ;背景切页
6 ` X% M8 |& s5 F. V3 P PHA5 _0 z4 p9 v2 S' l3 I
ASL% a4 x* ]& u/ G3 h( t1 [# I5 Q9 ^
ASL: s; ?! W- d! f' p m9 T' R
PHA
8 j5 K9 n, T- | LDA #$02
1 T- X- F% ^4 I% z STA $80002 ^* ^* v4 E r H2 F$ \2 P$ ^
PLA
4 B) F# H6 N- l. |9 B6 ^ STA $8001
) x0 N4 d2 X% b ADC #$01* K, d/ I; Z4 R' T. t: i
PHA& J' H4 H _; Y7 q C! f
LDA #$03
4 L/ }9 x- i! q& l ~9 r STA $8000
0 a( D$ Q7 T; j' \( ~& h/ V$ k a' n I PLA
1 S+ \- H T! |6 \" S STA $8001
' A0 M9 V5 U2 a8 v ADC #$01
% f0 c$ ]2 i9 `% G& F$ h5 Y PHA& O$ J `( V {& B9 w
LDA #$04! J9 Q9 e& [4 H
STA $8000- H' T+ @" m; u" V
PLA- E" i* v3 A8 i" l4 r5 v v4 l( [3 {+ p$ {
STA $80015 u: c2 \7 w) p2 w1 B* d6 q
ADC #$016 n1 g, {9 A& l0 v& ^% M
PHA+ J% ~5 I; W" s3 Z+ _0 M
LDA #$05
/ I; d6 L# `% K STA $8000
. x2 G4 R! T6 `+ a X% b PLA
" @ V8 W& y$ | R3 I6 @ STA $80016 K& [' q; b& H! `8 F. b/ w) J
PLA
0 h" @# x9 w8 L } RTS0 U' ]- R: P# I' }
5 m& z0 D8 S5 i" B' G9 S9 F
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|