|
|
;[FC][最终任务mapper1切页程序]: E: \# Z" O, ~" P
.ORG $CD9B
+ \) n# G# _- d2 U$ sBANK_START:
2 [1 B `' A( k+ p, b9 W; r/ W: ` STA $70" x" l! E8 Q: E, ~ X0 }6 c
TXA
$ R6 \4 Q2 z9 t7 I h' \, q ASL! b4 s! O _6 W0 A$ a
TAX' O8 ]- c& W, h- t- D
PORT_SET:
' T+ ^: z9 p* h! s8 ` LDA BANK_DATA,X
$ w9 W1 k& _. X STA $6E
( T' _( F$ b; c- n; I3 f LDA $CDB8,X A9 G+ ~0 B$ a7 v \
STA $6F
7 ^0 W0 T/ C' ^ LDY #$00/ }& B+ o2 {/ A! s3 H: N# _
LDX #$05
3 }- ?2 g) A: o7 F2 N E" @3 G ` LDA $70& a+ x6 c$ |! o( y1 X' F }1 n
PORT_WRITE:
& A3 t+ E" X2 ^; Q2 h7 c STA ($6E),Y
- J. O2 Q8 c3 j/ k/ E8 S2 M LSR
4 @. Y' k3 N7 ~( G6 S! V% p DEX
) Q& N! l" i) M a t+ H* p0 `9 t BNE PORT_WRITE
/ J# n) m4 q; Z2 E y8 v RTS' ~+ E- j _9 m) A' ^+ q
) Y5 ]: p, S9 p 7 O$ t7 ?9 f6 g3 E
BANK_DATA:
& ^# U8 W( S7 p" M .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
- [8 x1 w5 Y. `8 u8 ` K3 w% Y
- n/ r# q0 \; F: Y8 ]
+ z0 P6 G! S8 k7 k;[FC][最终任务mapper1转mapper4切页程序]) {' H; ?. ]0 F0 d. o; x
.ORG $BFD2 ;初始化跳转9 m9 i/ V# E2 s& z, T
JSR $FFC09 [: y5 s: @5 u5 a
7 W) o8 p! W5 E/ z) N
# \ w j& u* e4 ~/ x c
.ORG $FFC0 ;切页" u* @9 u, [1 P4 m- C, ]1 H- V8 a
LDA #$06) H% ?) U% s+ O9 P, Z. n0 Q
STA $8000/ v, D7 v; n1 R/ `
LDA #$0E
* _4 d3 m7 \/ W) h+ e6 o* G( c STA $80011 e8 f3 u% m/ A4 h) L
JSR $8000
1 K# F7 p N% w# U& g, P RTS * |1 W8 f8 X0 b$ ^
# Y/ z' Q( H3 x, f' O) c, L, r .ORG $8000 ;数据复制! O2 U! e% r4 Q& o! e! B; x3 } a" `5 X" l
LDA #$80/ I$ j- E4 v( Q1 z2 y, T
STA $A001 ;启用SRAM1 b3 F! I2 x6 F" V* I! A7 N
PHA! a, b2 T, P1 i( ]4 V
TXA
: ]1 d7 X* k1 o$ T) P PHA% ]( v+ u x0 M& [* }7 H
LDX #$00
( x8 E( n) X! G' k% N2 v7 UDATACOPY: ;数据复制( u' e h$ a$ i3 T1 o) J7 Y. o
LDA $8100,X( x5 u- o( w7 r& T
STA $7200,X
4 [. M- b6 k8 @3 J INX P( \& J; f% P* L" y
CPX #$001 p+ K' a! L" l
BNE DATACOPY
/ {2 o# K7 a* p1 J1 u3 z PLA
8 h) z7 @5 V* I! L5 \ TAX
* q! t8 `, l* J& x: o3 }6 _) f PLA
% W3 w# M& J* Q7 P& @- S; s RTS/ m3 c( Y2 k* _: x6 v
# V, m( d% r, r .ORG $CD9B ;跳转到转换的切页程序9 ]7 a8 @& R2 H: ]
STA $70
5 K0 K" i. l# d7 ?; p0 [ JSR $72005 w3 _) L: n7 s" I
RTS
; X# B, z5 P6 @9 N0 ^; h
4 E% c4 Q3 p! ^: I; h2 z .ORG $7300
/ f' M6 D( L3 ?: I) ~" xM1_TO_M4: ;切页程序2 n$ i5 G- d* g) Z4 Z) p1 b
CPX #$008 e9 W6 g0 N2 v4 D1 s
BEQ REG_SET! a6 ^5 |& W" A' e) c
CPX #$01
9 I8 K8 c2 d3 K BEQ PPU_BANK_0000
7 M- }! X+ |/ i* X: f4 B CPX #$02: L3 v ~) T! o3 y* ]: r7 R
BEQ PPU_BANK_1000
; e- J8 f$ W1 k9 F CPX #$03
# {2 q0 G- j& L0 O BEQ PRG_BANK
0 l/ Q* ?' f& m. OREG_SET:' |) ]' H% N+ C/ P; i+ |& J0 Q
STA $A000
" k9 m4 z6 {" ] RTS
! | u" L0 ]/ U0 o$ s3 D/ C* X5 u6 E1 T; f .ORG $7320
- Q( ^0 t( I7 B7 e9 xPRG_BANK: ;PRG切页
+ Z' [$ L* a2 Z3 M2 ^ P2 q PHA
Q6 \0 v6 {) q! ^0 R8 i: R LDA #$06) l) K* p& \, P
STA $80004 Z2 p* C( K( H+ j8 I- j! ]! Z
PLA
" C! j$ E: H2 v- x* ]6 P1 T" [ ASL! }4 O* f. X8 A B" d
STA $8001
! j; |$ M( m6 ~+ X1 o, k+ c ORA #$01! s( L1 A5 p# m' T/ R$ q( q2 u2 [# t; a% `
PHA
6 F; M: ?' b: \: R- q LDA #$07, a: ^" H# g* Z8 H
STA $8000' b: m% s- K2 i, |1 @$ t( F, c
PLA
) \8 m# B: w+ v* [1 b8 K% ^$ V STA $8001
) }" g: O2 @. L RTS: s; J9 ]5 ]4 x, S. u2 ]6 ]
.ORG $73407 K9 E& c5 M$ x' z8 ?4 a
PPU_BANK_0000: ;精灵切页; r% H# G" G; [
PHA8 L/ F" H3 m6 `5 t, R, q0 L
ASL6 J' u3 M/ [" p& m
ASL1 c% Z7 C: l3 Y5 l$ L5 K
PHA
% q, C2 n9 A* Q5 H: e9 F' F LDA #$00
+ |( Q. i# l+ J# J. T STA $80003 ?& |% a+ O. t2 U
PLA
- N6 ~+ @, ^+ N$ f/ B/ r STA $8001
2 T; W' j5 F6 C. @# r ADC #$027 o0 Y8 |. Q4 t' V G& I& ~/ a
PHA
7 Z7 K( u: O0 m( u LDA #$014 E+ s G6 A$ N$ W7 m7 w9 H4 D
STA $8000
5 j5 A* Y! s( |4 o/ F) i PLA
3 Y; J. a- J K1 }) I5 o; N {' a STA $8001# a$ f# J$ k5 \1 g" X/ a
PLA; Q: y: \8 N8 H/ V) R2 k9 g
RTS
! E, e( a9 H( K * o8 { q" l0 x$ I6 Z+ c' \+ |" L/ f5 X
.ORG $73607 r- }) L5 c0 I, k% A% v2 x* O; `$ C
PPU_BANK_1000: ;背景切页
N! G9 k3 K4 p2 T H# P PHA
5 k, G7 `' ?% U ASL5 w3 A' B9 |" O# ^
ASL/ X' o. Z+ m/ r8 r/ g3 @7 H6 r1 d
PHA6 a7 d+ h5 H2 i" u
LDA #$02' M. g7 d0 B! }
STA $8000
9 v9 q5 N% d( X3 i" o! J+ b PLA& z! g8 j2 R- l* m4 e! }
STA $8001; s, H3 x8 O6 Q. `% ]
ADC #$01
! E2 ] u# X/ ]4 C PHA+ u5 u1 X. \4 E! b. H7 \0 S
LDA #$03
( W. g" r- |, D( m; T+ e1 D/ ^0 D STA $8000
' K' Q) G8 ]8 K5 h) Q) F" @ PLA7 N, }8 R& m* ^- Z) h$ U2 x. I
STA $8001
G9 E. z$ }. x8 @, u ADC #$01& p4 R! P8 ^% {# G
PHA
6 I, Z# v6 X3 p9 a% W LDA #$04: H7 c$ ]: M$ V, K8 u2 h
STA $8000
- {8 `; i t* o, r! H/ a0 f% v; P PLA
, k9 w) ]( {7 i+ d+ k STA $8001
* S2 {+ ^6 x2 `$ |& ^ ADC #$011 \# ^3 d8 V0 ^5 S: ]) W# m
PHA3 P2 ]) U% D) x0 w4 e
LDA #$05; [* n: A9 t0 r9 p
STA $8000
; B/ _5 U" B/ w& q4 a9 N PLA
& z* L9 b* l- P4 W6 \9 P STA $8001* h& u1 ?5 `9 U: s' J, l
PLA
o! P* _. R7 u. A4 J% e% m. Z RTS
8 X. T& O- Q* K U( Y$ T* e4 y; {8 G4 N0 ~; S7 K& c6 Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|