|
|
;[FC][最终任务mapper1切页程序]
: p3 r z8 O8 ^* D: c .ORG $CD9B4 D' Q$ c7 o1 k i/ x1 r |) r
BANK_START:
1 x, Z) s) Q; ^+ e' h STA $70. D* k4 Y4 f( ~+ ]) U" Q5 I
TXA1 n' b" Z. ]& H ?% A
ASL' g. N4 o n8 m$ _4 L8 L
TAX2 p" ~* o( S" w; F% |) p# F
PORT_SET:
: u3 G- p5 k4 ?4 N0 W* B* [ LDA BANK_DATA,X
: T% M8 J; H/ {8 I% x STA $6E& d6 C3 R" S! Z
LDA $CDB8,X
) J; W7 G% U. h. } STA $6F
1 T5 L0 ]- r# u1 a! T! \ LDY #$00
' N1 d& k/ `' Z LDX #$05
1 S y- e& M. {" G0 L LDA $703 p4 P, ?0 \4 ~6 G
PORT_WRITE:1 p% [4 E2 z/ _! h8 `& q
STA ($6E),Y
0 p" z# h+ W8 o! ?1 c, R LSR
: }5 H$ ^. ?% o; v9 r" @ DEX
1 u5 g! C2 j# m7 d5 O# } BNE PORT_WRITE$ D. w, Y9 N# B2 n$ P! Y
RTS
2 a' D' }$ ?" q9 M 4 v/ s9 O6 |6 j" |
# T- H& H. Z; p" A# o
BANK_DATA:7 B; k. J( k# Y( q
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF2 o- \6 P1 ~7 N3 `/ q- `$ x3 E6 z
+ h* C' M* b# O# d3 R4 @' X
, Y' C/ k4 X8 U3 {" K1 ?* j;[FC][最终任务mapper1转mapper4切页程序]
/ O* N, n9 ], N# g .ORG $BFD2 ;初始化跳转
" i- y: i5 `5 t' p JSR $FFC05 Y$ M6 z5 d% c1 h, k. k$ R
- j0 K h. ~' k' L
7 W9 o$ r, T; ^5 T4 o .ORG $FFC0 ;切页3 Y) X3 L- V2 _. f ~9 Z- \
LDA #$069 h2 i9 F; v! t' k. S. J! c U7 s
STA $8000
% \$ G- g- [: @0 K# @1 E+ c LDA #$0E- v6 b8 e; E( L2 H; m2 O
STA $80017 \* B' A9 ?9 a# T
JSR $8000: ]* a8 _* @9 X) ^
RTS ! w5 i( {% B1 y' A
9 H. ?6 I0 c- \- z2 ^( W& ~0 J .ORG $8000 ;数据复制" W! a, I. z% v
LDA #$80" w* Z! F9 R- z, |, y
STA $A001 ;启用SRAM
6 k4 q! m. j) V7 ?! H: x PHA1 S( x9 r8 p. I
TXA
n8 Q/ C i8 c# ]& M PHA6 B7 q3 E# }! {9 c# ^
LDX #$00) d1 B$ s! v2 f3 D! g
DATACOPY: ;数据复制
2 G5 \9 j% H2 B" T+ f LDA $8100,X
6 w! [0 [) z( p ?* p6 k9 ? STA $7200,X
T6 S8 X' ?0 X0 U( E O0 t2 l INX
0 | w8 N7 C$ t' i. Z CPX #$00
% C+ Y6 t5 \! g7 i BNE DATACOPY/ ~/ J; ~5 \6 V1 A9 Y# Y# o
PLA/ [ Y' Q+ M1 e* B Q+ ?/ u
TAX
1 |' d* M; t' g) F2 z/ k2 n, f PLA8 N, w- }" g$ r8 K8 I7 B7 V; D ?- X
RTS
2 }$ @/ m& I x- I1 }2 N. m + z# k% Y# K1 _6 {. {; Z2 P
.ORG $CD9B ;跳转到转换的切页程序8 d8 r7 Q/ c) @+ H
STA $70/ S5 I) l# ^$ @% w$ X
JSR $72005 l6 L/ y7 v# C7 p" t6 S
RTS% g- q8 `( o+ F" J4 w8 |% A
( k5 |+ U, l# n( j, @9 d .ORG $7300
! a* t# V, c* m, @+ o% A: `M1_TO_M4: ;切页程序! g. D9 U3 k! l1 Q) [6 s' [! V0 h0 C
CPX #$001 G- e& C0 |' _9 _, d' u2 R: V5 A
BEQ REG_SET& K* k. u5 q% N; n: A" S5 q1 G# o
CPX #$01
, o8 P$ e' l n4 L/ _ BEQ PPU_BANK_00006 B& K1 }$ ~+ }) L3 @* d( X- C B( s
CPX #$02
0 u, C/ F- j3 ~( e, `$ f& W$ F2 @ BEQ PPU_BANK_10007 f1 X: U* l$ N+ ]/ ~
CPX #$03
, P7 m: p. ?& K! o( H N& { BEQ PRG_BANK$ `2 F# i( h$ k* p; M: Z
REG_SET:- ~( e4 v! ~" k, ]
STA $A000
" j _) b% H# i6 g5 @9 K/ v3 } RTS
/ {4 K3 j$ F b- f9 y& p. x% ~ .ORG $7320# k6 c& O$ f6 [ r; A0 ]$ r- g
PRG_BANK: ;PRG切页
3 ^7 c5 v7 J {& _+ i3 x) Y PHA
, n, h2 D" s* H LDA #$06
$ T* d, V. w- p STA $8000
3 J& i7 p9 q2 Y, n0 @, M' r PLA' t' h, [& P7 L! ?7 q( g2 L
ASL0 l& t. b" I, ]/ u8 V8 K
STA $8001; f; a" ~: I7 {
ORA #$01
0 y/ k) X* u5 D: i8 _6 c PHA
9 ~# _; W1 ?1 s% C6 S LDA #$07
8 U4 ^% v9 `% b: d4 v STA $80007 g, \$ s f3 O0 p
PLA
0 x( t8 n, ~& r# R% T# s7 @ STA $8001
; j9 J+ M. r$ [, T" J RTS
! Y& `1 I; ?& V# x .ORG $7340/ M" e* I0 O) m6 K- z0 P' k
PPU_BANK_0000: ;精灵切页2 ?. z3 r* p% r- z1 O6 m
PHA- G d9 T9 c# \0 }
ASL% w+ I" c2 J! T! j
ASL
6 n3 M3 T" h0 `/ f6 ]2 Y' i3 p PHA' k& O3 \& R6 S( ` H: I5 V3 w. S
LDA #$00
5 y/ j% C$ s4 `' r7 O8 U" U# o STA $8000
. i9 y. L6 p) o2 y PLA! ?9 r: n, F. W& ^# U
STA $8001
: o4 Z4 T# y1 {9 X7 [ ADC #$02
/ O$ x5 H9 J6 q% x' ~ PHA
' h+ a, A6 o! l1 v" G' ~0 ~ LDA #$018 u) \2 e' y b4 ~
STA $8000
, m- _ _" ~+ e( M- O% |0 x) E! p PLA1 ~4 M/ J4 [: J. k
STA $8001: ~' a# i* Z$ I% e5 V4 B
PLA
' r1 v) b4 M1 O( f$ m RTS
5 V# l1 R- c. J
6 F; h- z5 y9 j7 @ .ORG $7360
+ T0 }1 q Y; X4 a. q: XPPU_BANK_1000: ;背景切页
: V7 U4 y9 e" \- }! Y5 h9 n PHA R; i+ O+ L$ O! j* l
ASL
" _! U/ o3 I" n ASL- {8 \' i+ }2 x: G9 m H: ]! j' J9 o
PHA& [- s' k! ]3 s8 i1 v
LDA #$02
. H ?1 i, U+ T; k. b STA $8000* s$ ~5 _$ s2 ^# y6 @' {
PLA
' H3 ~6 N. f: e5 B STA $8001
1 @$ b2 I* t/ a- @. ^- M. V* n# M: H ADC #$013 q# \* l$ B m, z
PHA
/ J0 U0 N2 ~& i* J LDA #$03
9 `- i( O: M1 T6 X+ | STA $8000: K3 g9 Q: x* X( P
PLA6 j5 h6 o- j) J7 V, V
STA $8001
. H, D! v' T- r ADC #$014 F1 @4 O" N4 z$ `8 I5 Y
PHA
; n+ M @' I o- J& ^3 ?' b LDA #$04 Y y( c8 D+ a
STA $8000
4 V( [! E' d/ F PLA& F( s L6 a! u O
STA $8001/ ?! A P0 A& J+ \, V
ADC #$01" V6 h2 `) c+ r0 B5 l7 p( H- Y
PHA
6 M4 X% R$ u4 O LDA #$05
& [1 W* W3 b8 O5 { [ STA $8000
! i4 m' T( N" c! N1 C e; G PLA6 D% m) u+ y' i/ {3 ~' `( \
STA $8001
9 a5 {. o7 x; Y4 w! B# ?: ^ PLA. F) [( c1 _' c1 V$ C
RTS
! _' a- ^/ v4 r
4 _4 X' i9 L0 r1 s; Q# M& S% F) V |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|