|
|
;[FC][最终任务mapper1切页程序]+ ] R- C; z$ x
.ORG $CD9B
+ j- ?, z( H8 h$ `4 @ i; p) EBANK_START:4 j# Z6 }0 W6 R
STA $70
1 q/ U' B8 Q% e3 r- J# v! ? TXA
' P: E6 c4 i" A* j$ S ASL
7 T0 W0 @1 |+ _+ ~ TAX! `9 T' V I% d0 W3 V
PORT_SET:
: p$ j* c C j" |/ r: v LDA BANK_DATA,X2 F# q! S# t; y$ Q+ D( w- x
STA $6E- S% b0 o; m- i7 c& H# r
LDA $CDB8,X
2 h8 I2 U% ?5 h4 l4 B6 \ x STA $6F; S+ Y. m3 `7 |$ F; }) k
LDY #$00$ B( R9 Y% b9 I) W
LDX #$05
. z2 C0 {# L& R( q. }, t b LDA $70
, g# P7 k n# e; l+ n, X1 r3 a( oPORT_WRITE:% u* @; v, U3 x$ w# B ^( ^5 Y# n
STA ($6E),Y
1 O+ L3 J% K. \/ F' n8 A LSR- q% g8 `, n! Q0 H: R6 @" ^8 U
DEX: E7 a5 {+ |, b
BNE PORT_WRITE3 _+ ~1 j! P& _
RTS
^+ y W* [/ l7 a. l; L, N
+ J5 X: d8 S7 J6 m # |) m& v, @, q
BANK_DATA:
, O d* J z" h. z/ V6 `; e' e .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
: i2 K$ e' W+ R1 q
3 _" d/ t0 _! R H4 n
, r& {4 c4 K7 j;[FC][最终任务mapper1转mapper4切页程序]
, ^ L& A; i3 v" a$ M, S( Z .ORG $BFD2 ;初始化跳转' B- s0 J4 A. J' D2 ~+ |6 }3 s
JSR $FFC0' y( Y* }5 \9 o2 G% Y
! G" i; D9 ~4 ^/ C, {/ R
. _% T3 L3 P: D0 C; a .ORG $FFC0 ;切页
C2 |- p# B, \4 w0 i1 f! R LDA #$06
" X: h5 y: n/ b7 e! }8 N STA $8000( `6 ]: Z9 f. A/ Q/ U
LDA #$0E/ k5 P9 T3 R% p$ J- b. c/ D
STA $8001' X+ A5 u7 E: x; V
JSR $8000
{$ Z8 Z, H& y( z' |# j1 _6 M- m$ j, k RTS 3 |; L: Y: r% q5 M# V9 \% e# ]2 ^
$ Z' ~& ~. c2 H( N. I; s0 ]4 d: m# Y- X* o .ORG $8000 ;数据复制5 i7 p7 O# `5 E5 R
LDA #$80
) _/ V4 v, C& H6 E- y STA $A001 ;启用SRAM' |/ u) i4 y- ]8 _, z
PHA; a) a$ H" Z7 _7 n, x6 g- |
TXA
6 P) z6 J- D x! O+ I+ \ PHA' e5 e# g! r( j0 q; ~. I
LDX #$00
2 |+ S m8 v0 j4 a# E6 j3 pDATACOPY: ;数据复制2 N1 r+ [' r7 n; n! m/ n
LDA $8100,X
Q( ~% A, |5 h0 r. R* \/ _ STA $7200,X* y; h* M6 h! O
INX5 U5 `0 e! l1 N
CPX #$00
3 P$ I' O: ^+ P W$ o BNE DATACOPY
7 F* g. b" {1 e/ _& Z, g V7 ~ PLA0 F' ^. d, M1 Q7 U8 t6 G
TAX
% |- j0 e A6 i. V/ I! ` PLA. i/ Y6 d2 p& s/ c
RTS
" O y1 L" H2 E& u& J" M2 n% H s
& p+ f7 M z+ u* v9 ^( z' e .ORG $CD9B ;跳转到转换的切页程序
2 I+ Z2 I$ u! U& A1 ?. ~1 L STA $70) ^" b0 ^: Z1 @7 g2 q$ I
JSR $7200& o! M- I0 H& F( E. Q; Y# t7 v
RTS
1 \+ T7 Q$ |6 p6 t( f9 R) H) K, j7 T
6 q* t; S# y3 `; c .ORG $7300
s$ F' F$ {5 i; \7 eM1_TO_M4: ;切页程序5 n, a$ W P$ S+ t7 R
CPX #$00
3 g1 M6 c5 E( `# a% D BEQ REG_SET; b" a$ E9 z8 Y$ P8 R' V
CPX #$01
/ R* z9 c6 w/ W' X4 [ BEQ PPU_BANK_0000
8 n$ W& B' d3 Q( k* | CPX #$02$ Q4 r# Q( J: e9 i0 ^
BEQ PPU_BANK_1000
- M0 [% |: c1 s+ G8 | P0 J CPX #$03. r+ b1 s$ L* ?1 X C) o" X7 k0 c
BEQ PRG_BANK& ^1 b3 E2 g4 g* Q6 K/ A) a, u
REG_SET:' P* w! r! b. {
STA $A000. h0 b9 s0 ~% q: @( S) x* I
RTS
+ O: U% n: _/ s/ H* [6 W .ORG $7320- D7 ~' }3 C. b; j1 Z! l
PRG_BANK: ;PRG切页% ^- t, `& U2 [2 F: H2 `. o8 S0 g$ l
PHA
4 X; c9 n5 c9 i8 v* Z9 u LDA #$06
, H2 U1 a" q& H9 U! ^0 \) L* ?/ R, u STA $8000
, S/ z" r- K5 F% {% P' G PLA5 C9 C+ E$ \4 \6 `! g
ASL% U. `4 Y4 A$ H; e8 g% G
STA $8001
$ B: K- M m5 y4 U, Y ORA #$01
9 }( @' W. S9 t' R PHA
: V3 v s) C/ \" R- q LDA #$07/ Y4 z8 D$ f" C3 V E4 y
STA $80007 P3 h, [. w: u8 Y- i6 K
PLA: }4 c1 I9 h3 }+ d: t b( h
STA $8001" S9 a- N) o: D& l6 O8 Q' I
RTS1 @( Y: r- `' G9 J8 k4 N. g& c$ Q: x
.ORG $7340! ] O5 z" \- o8 d! H8 U# K
PPU_BANK_0000: ;精灵切页$ e9 @' o0 T0 V: l+ {
PHA! F0 b, S4 S* J
ASL" P- r3 P. r; a4 Y+ Q, i3 R) N
ASL
9 {7 m) z* I7 `# ]4 }' S PHA- T0 ?8 U9 O$ l" k
LDA #$00: H+ ]8 G3 T0 g4 x
STA $8000* C! r# x9 \: Z- s
PLA
5 L& _: E, F5 K STA $8001* _, g6 ~; @9 @8 G) `
ADC #$021 Y% c1 q4 e+ Y9 z( ^
PHA
" h1 N( \7 S) R0 K0 q( c LDA #$01
" A& }0 n+ t& |9 i8 g/ i% T3 D STA $8000
3 s/ d8 q; E( v PLA
! \5 h% t; n. X+ C7 T2 M+ F STA $8001% R* l8 |7 K$ R9 Y5 r- v; v$ P& O
PLA
7 B. ~0 h1 |$ \% ~; R5 }; z# h2 i RTS
; y4 |8 J6 {7 i& E* K0 v* z 7 Z+ d8 k& c' h) N( ^
.ORG $7360
6 A9 R6 ^9 b. f2 W: Q' T( APPU_BANK_1000: ;背景切页
6 c1 t1 `# |& k$ W. { PHA
: J3 ]) i7 e/ R9 m+ O* r ASL
3 U. s% A! _0 t& x: H ASL0 r) V- u( ?4 K. V
PHA Q7 L0 o6 c( p
LDA #$02
8 N5 W0 m1 k8 c& Y. k# T! m STA $8000
7 Q! w3 Z9 K3 w4 E6 O; y/ |% j+ I PLA2 y2 J4 m& a* r* l8 B; E
STA $80014 M! f, K; a. b. u0 B8 z5 {
ADC #$018 X) }- e6 Y9 n
PHA! N. v A. a6 G7 L& E |
LDA #$03$ ^- P& X2 G$ E+ y; h* s0 G- }
STA $80007 \: {9 ?; Y) y3 J
PLA4 e1 s6 c; ^ |. J
STA $8001
8 N$ G) R, A" S ADC #$01
3 t7 J/ U0 K" P, ?. R PHA7 ]. D- ~' a; @6 n
LDA #$04+ ~/ G1 c* Y( |2 L
STA $80002 ?3 {+ f$ m3 O
PLA
5 w( T" k1 z$ G, T0 |4 x4 T2 b STA $8001
& z- D4 i: F, O3 i6 s! ]' ` ADC #$016 h/ ?( c, |1 e+ R& N s8 l
PHA8 c% _9 Z8 h1 j8 A2 s" e n
LDA #$05. O: ^! x7 w9 p
STA $8000
) }, O& r) q1 ?( g# i PLA
) Z9 y3 o4 F" D STA $8001( _- V4 d j) r! Q, `/ I5 _6 p- P
PLA
# @/ c* }4 b7 }, M: P* o$ } RTS" t% H, G6 R4 D( l, j, h$ C
$ ^3 G: y4 \$ }7 ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|