|
|
;[FC][最终任务mapper1切页程序]! |4 t0 o0 h- |/ H7 V# E+ X7 h
.ORG $CD9B
& T1 u3 u, G% B% kBANK_START:. D# ]' p9 \6 g; B& D9 m
STA $70
; K1 W9 p, A8 I U- x0 i0 V TXA
1 E& U4 s1 n7 O+ H- V4 @ ASL! T, P& d+ e* @
TAX& ~: B2 ?/ H$ ~$ @; w
PORT_SET:4 Y* A% o+ ]2 \, ~' w# o5 n. C
LDA BANK_DATA,X- ~; b" ]9 ?. B1 j9 s1 [
STA $6E& S/ m/ S C5 O
LDA $CDB8,X
2 T- t9 S/ t* E9 i7 D3 w' @- Y STA $6F/ b* k) A/ ~5 D, n; Y
LDY #$00
5 u+ I( J8 ^" X, u4 Q/ r LDX #$05
6 N1 o' Q7 L }( C' ` LDA $706 V6 [7 f: D) i
PORT_WRITE:
/ ~$ ]) z/ r; p3 I8 Q/ I: P STA ($6E),Y
: A* X0 a( o& Z& p/ U& Y% O: s5 n LSR
' B6 b" p4 {2 ~8 ?8 K- N DEX1 @5 m# `8 x( Z" M. A- m+ O' d
BNE PORT_WRITE
# T, E/ N2 U b8 k7 S M% Y RTS/ k. B" d9 F4 }8 @8 t5 t! q
! }6 I, n7 l5 d: d" h
8 C9 e1 h2 k+ ^! |$ q; Q
BANK_DATA:& F2 S$ z" b& v
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
$ e `4 r( e) e q2 h
- R7 B+ |: q6 y6 ]
' V0 J2 h% A! n$ K. J;[FC][最终任务mapper1转mapper4切页程序]
; j1 n0 R+ H6 S/ h, V+ j6 ] .ORG $BFD2 ;初始化跳转
5 }) E, ]* }8 X/ N JSR $FFC0
+ \" `# R$ _) R1 |
$ Z2 t, O5 L; P* l m8 a2 X" l8 R( T
.ORG $FFC0 ;切页. m, ]+ `2 u6 I: N6 i
LDA #$06
5 n( A. R; b7 b5 |! ], n* X STA $8000
+ p \$ H$ g9 s7 _+ ~9 Z LDA #$0E
/ C2 a' j. J9 q0 Z7 E STA $80018 H% ^5 j" s% k: }# m
JSR $8000
# J/ c: o& d' h8 y RTS
/ i: ~9 ?/ p* O0 n8 s
8 U3 N# \9 G4 L/ @- G$ ^4 b .ORG $8000 ;数据复制
! n# K( D" P8 O LDA #$806 Z. V' ~0 N* H( v: k0 H
STA $A001 ;启用SRAM
& u! A# A7 P3 s& c3 a0 `- ] y2 e5 T) M# s PHA
! t6 J5 Q+ e" {. B TXA; b0 t4 e x. P$ `( v: _4 C! Q% Y) s
PHA
, M& G' t1 ?7 b LDX #$001 V( X. S5 @, a3 f8 Z4 ?
DATACOPY: ;数据复制
0 o" j# g6 C. _ LDA $8100,X, o5 ?$ A! r; ?3 d: N- T) J+ O
STA $7200,X4 ?. e. i* ^1 ?2 ?6 H, i
INX* ?" ?* I* n h- T/ O, n9 j
CPX #$00
3 j) B/ S+ w* C9 k( b BNE DATACOPY
% _+ {9 L2 T' s: N$ e( k PLA
, O! |8 _. ]) d- q7 F) |! d TAX
~9 m2 W5 X4 ^, R$ q PLA
7 c3 F; b- w/ G. `4 V RTS
4 E! \. l8 r Z2 ]+ A: Z ' }* c$ ?2 K6 D9 b$ \* H
.ORG $CD9B ;跳转到转换的切页程序9 B2 j8 H- f* X& A, W$ I- u! Z
STA $705 ?7 G$ C6 A/ S
JSR $72006 i3 u& U1 o. L l" y9 [
RTS7 D2 `, B# g/ Y6 _0 q# `
! a: B. l/ f! k" A+ J .ORG $7300
/ ~! Y A: Q+ n1 C' [0 B9 H) w) s+ _M1_TO_M4: ;切页程序7 l9 _/ E8 O. ~0 h% k6 r
CPX #$00 w6 ?: Y+ S' Z2 {
BEQ REG_SET
! x5 y8 h" A5 l0 r# b1 j CPX #$01
4 Q6 [/ C3 i3 t- ~; s% }7 T. C BEQ PPU_BANK_0000
" u; j, U: }8 d) g# L CPX #$02( ~" q2 ~* s/ g( y, m
BEQ PPU_BANK_1000. \0 R' l+ Q3 u
CPX #$03
/ i3 \. {5 K2 d; H: A; R7 N; Q BEQ PRG_BANK
" \. F |4 r' |REG_SET:
) B7 I2 d% e1 L7 V STA $A000% A' S1 K& Y5 j6 U
RTS" L/ K3 i. Q6 P
.ORG $73203 {. }$ E5 f) K
PRG_BANK: ;PRG切页6 [+ N' @1 Z: S7 |+ F
PHA' P0 |0 ]( J& S2 ^* j- e* p
LDA #$06
. a, i2 c3 ]' @! K a2 _ STA $8000
$ ~; D9 d. Y2 e z6 t& Y PLA. C- p+ W' M! a5 l5 l
ASL
" H! b5 I$ ]# h% T9 Z F6 N STA $8001
/ X* L; O3 A. N. q! P ORA #$01
. f& d/ ]$ e8 p# W3 o PHA4 G! s- I- x4 h
LDA #$071 t, w5 G$ f1 i9 t: m( X
STA $8000- z' T0 d9 r! n/ m) q) s" S5 e9 B
PLA
* S' J5 _5 c0 N, k STA $80016 @ Q G4 X9 k' N6 l9 {' L
RTS
$ x$ T3 ~, S9 @+ P& @ .ORG $7340
% p- E4 e/ _" E- m0 {; c3 i* }PPU_BANK_0000: ;精灵切页; _" R& B1 y1 u; U, }
PHA
8 X& E2 y3 E# V) Z" o/ G' E ASL" B3 r, H J5 m' |: N1 Z" R4 l2 j; e, D
ASL" ?7 Q: I6 J. _, i! d
PHA
# Q6 _8 J4 s+ U4 u5 r1 T9 {% T LDA #$00
, t7 f2 i" v3 M: r- V STA $8000) f8 v3 F! r7 Y# b8 r2 @3 G" x
PLA
5 @' K3 @& _9 L* _0 m STA $8001
. @% _, V3 {( N2 c# N ADC #$02
0 C( g& C) H, H; E$ K* [ PHA0 V" F; }* x7 t( N
LDA #$01
* X' q1 ]3 B. w STA $8000
6 \) L1 W# f8 m/ w( Q {& {& P PLA9 b# h& o. u1 H4 g7 C) s r9 ?
STA $8001- g8 @* g% X$ x$ Q( \( {$ x, ^2 g
PLA* Q, a! O& g# p1 N2 F
RTS8 j% M( b) e: T0 u; ^0 o
5 E/ P; N; ^. a" J, i+ W: o! r
.ORG $7360( b/ p2 x0 n! d! w& o. u
PPU_BANK_1000: ;背景切页
2 H& p$ x; T; R PHA
t6 z3 R/ |5 z& r! a ASL
5 @6 D) s! A8 [- k5 r5 N) p/ } ASL
" ^& S( b: X2 Q' V8 ]. b PHA
b8 o" q v0 g, o# R8 S% z LDA #$02
) {* t' e' j: u$ E6 O STA $8000
8 Y ]2 s- {0 H; o4 W: m PLA! L5 L% {5 J2 W3 T) a D# D# p: U
STA $80014 X- o6 S, v% \1 a. H# U
ADC #$01# S2 ^1 T: s6 x4 B" T9 m
PHA
% k! B+ h" E. A( Y5 S LDA #$03
+ n. u0 v' `, w, E STA $8000+ e1 q; t$ ]. p3 y q" G
PLA# W5 i$ o" Q) C! j4 l8 I$ n
STA $8001
" f2 Q. L& o: M ADC #$01
c d# h- Y2 M: I+ L- ?. w- C PHA6 X, \* p. c3 L, c3 g, O" `
LDA #$04. S5 ~; K( E0 H, g$ a k
STA $80003 j) E1 K; x; V8 J" T5 w
PLA2 x Z8 L$ c; O) Z- H, Z L
STA $8001
4 B" R, S4 x8 D/ U$ W. m ADC #$01" s: y7 f7 h5 x+ ~9 g7 d u7 n
PHA% e% E, [) ?/ L* R
LDA #$05
3 v3 ?3 f# }# K7 c8 k# c STA $8000" c# _5 r. ^8 n. N/ y
PLA
2 p8 |0 s, M. z6 U STA $8001
" y, R" a4 c1 R- M4 l( X0 B9 c; ? PLA. t9 q' ?5 T9 z4 W& D5 n
RTS
4 C; |. t. G2 F
# l: D3 j# s0 x: s s2 h |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|