|
|
;[FC][最终任务mapper1切页程序]5 w- Z9 C& c7 J
.ORG $CD9B0 I9 M. V" M. ^2 \' r: T1 k
BANK_START:
, r9 A) P& n$ S/ Q. S6 Y p3 ] STA $70# r$ n( B, A$ q
TXA* W" [* U* U* e4 w2 p
ASL
( b2 h5 h8 C( R7 U5 b TAX H4 g8 ~7 R2 r+ o9 b
PORT_SET:7 X' F% w A) S: t3 t. }
LDA BANK_DATA,X1 a# v3 f4 u4 H& w2 \2 G$ j
STA $6E
! ~ z* j$ e/ k3 q LDA $CDB8,X
4 C3 _& m3 o1 B. R STA $6F+ b+ |8 w/ N @1 I+ m7 t
LDY #$00
$ a$ l$ I+ w% N6 t) ]8 x LDX #$05
0 K X; N# H0 o, C, t LDA $70
) |- a* b& ?/ |; I$ bPORT_WRITE:" {* f9 k. q2 J: O. E2 D8 Q/ b
STA ($6E),Y
: C( O! y" T- p3 j+ s LSR$ y7 N- _. M7 E' L/ v% D& _
DEX
$ F: o- W8 g+ |2 h/ k1 I0 s* G BNE PORT_WRITE
$ h1 p: i2 K* k" f# W8 g, m" D0 q( R RTS
+ M/ B; h6 n3 S$ Z1 K+ C) o- f5 L% Y
$ F. ]3 D! t# |' W
" n! c( c8 {2 yBANK_DATA:: i" K, S; ?% V; O, T8 k, @5 _% d% e3 {$ _
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
+ f* }- k- F& ]/ H
% z7 h' [1 ?, ~9 Z) l+ \ [$ |/ r* T , N0 C1 w5 K( |7 a' e$ W7 p
;[FC][最终任务mapper1转mapper4切页程序]5 a0 g/ ~! e0 Y' ^6 C0 {5 F
.ORG $BFD2 ;初始化跳转
: y/ y/ k: n& |* t6 { JSR $FFC0
# N1 C4 A7 o# v4 }# k5 ?8 z2 h. y: y
/ b5 o- n) H. V. K
' i' W( T3 _3 L .ORG $FFC0 ;切页# M P {6 R5 x
LDA #$06
9 X# E( L9 \* m7 I0 [8 R STA $8000
# t6 a' `; s( j LDA #$0E8 S9 g, Y# x( z1 t' K# x* u$ r
STA $80017 }7 x9 a! y0 f" Z9 @
JSR $8000# P# K( x# F# M" ^
RTS
! s7 y4 t* ?1 A7 A/ Y $ O+ G) j" e/ ~
.ORG $8000 ;数据复制9 x" M3 r% S( F( R- z1 S
LDA #$80+ b- V; A+ [% O
STA $A001 ;启用SRAM
8 f$ Z8 u3 u9 u1 H0 A PHA! d$ r9 [& Q& H. `2 W* |( ^, x
TXA
# r% v+ d/ e! R" |/ M PHA
% n5 ?8 S8 b! O) p- x# `) Y& F( N LDX #$00) A9 N0 {0 Z f, ` _$ |% f
DATACOPY: ;数据复制
% N# {- |7 N( G4 t. ?6 Y7 c& H0 ^ LDA $8100,X$ `+ J: i2 t g2 g# J3 ?3 e% o5 t
STA $7200,X
" R5 a) \- U; {9 g" ~( S- C INX
( D9 |/ N( I# X: P& s/ M7 }1 R/ [, I CPX #$007 u6 P4 L; r6 q, E7 r* e1 m' N( d
BNE DATACOPY
3 Q* y. L# @# u* \ PLA0 A8 r$ [" I8 P6 X
TAX4 D7 C' T3 J3 ]5 Q/ ?
PLA
3 X5 b1 v* \7 }8 H3 q RTS
T3 _; Z, b7 h- v6 E
6 Y+ P9 {4 P* d/ d; ?$ N! G .ORG $CD9B ;跳转到转换的切页程序' {3 e- t9 L+ i3 x `0 Y
STA $707 t. b$ T, I3 i3 z2 `% h
JSR $7200
5 S% a6 w ~0 j) U4 s RTS C B7 y7 r+ {/ W8 }! z
! {! j. |5 w0 p, H
.ORG $7300
( k. C- { s) G P7 A) ?$ h+ @; rM1_TO_M4: ;切页程序0 q4 _) N2 j6 I6 v! J9 I4 X
CPX #$00
# `' v: C) ]7 K BEQ REG_SET
8 e3 L1 m& {7 m& o2 X6 t CPX #$017 N9 N) ~* Z/ f1 l: i5 @
BEQ PPU_BANK_0000) i4 G+ C" @. @ f i7 j, u, |1 A
CPX #$02; f9 l' o3 a( |
BEQ PPU_BANK_1000
3 d' J' J) g3 y2 R9 r8 g+ u1 x5 I CPX #$03
8 _5 r+ `; ~* T7 U6 w BEQ PRG_BANK/ E8 |( \3 a9 {4 X+ l/ S) n
REG_SET:
4 @6 s1 C5 K. V7 d' \5 F STA $A0006 c& p& d8 B0 P2 Q
RTS
& o0 s/ z5 X9 i1 ?; k- p/ ] .ORG $7320
& C& g- Z6 ` R( O: i8 |( M/ iPRG_BANK: ;PRG切页/ r) z1 A! c* I+ E7 h$ u7 c
PHA1 `/ G' j, [* y( w
LDA #$06
$ \ D% D) j- g) j0 L+ t STA $8000 F) n7 B6 @( q% e7 L) n$ q
PLA- E) G' D$ o+ `- ]5 e- D
ASL
2 j! y8 C9 n) a( _ STA $8001
- a/ |, R8 _" B% Z- w1 t ORA #$011 P/ \' i& q s' P0 c& r* Y
PHA
, b' R( Y1 W1 J! l& e s LDA #$078 |% ^: t+ a, k0 Z
STA $8000* `+ B7 |3 U2 M ~# ]# \' h9 T! |
PLA, l/ [* o. ^" b; T# v- c1 P
STA $8001
, g$ \4 F; p" i8 h1 P: U; J RTS
1 T) }8 N; g9 |! R Q+ \% C .ORG $7340
+ B9 D$ I- P4 H5 T- JPPU_BANK_0000: ;精灵切页
, t3 \" B6 E Z4 ]# `$ ^8 M4 D/ l" X$ a PHA6 f! R$ O" V7 u' s7 s% r+ o
ASL: c6 m- p8 L6 n7 z1 N/ L
ASL
1 a+ m, a0 _; Z# Q) F$ D( Q( K PHA
, e w5 f7 Q# E LDA #$00: q7 o) r$ {* T6 P
STA $80004 M* [ C* ^/ T
PLA
0 W4 R$ O2 O) `5 F! p# o STA $8001
: R- | Y9 ^9 U4 N$ P b% n ADC #$02' ~* \" W; Z2 @
PHA
3 _" e9 p5 G; f, S1 Y: Z% B$ \: M LDA #$01
" K2 L9 L3 X7 ? STA $80009 k* y k2 @( |3 W
PLA$ j3 V. l( w$ b4 h3 ~
STA $80012 C$ [" ^ e" [
PLA9 E+ M; ]( _8 S- g. c
RTS+ S, {# s2 ?5 e7 i7 \7 K& g7 ^+ a
- h$ O4 I( O% U- P .ORG $73605 ~9 J7 u4 D! B* N9 A3 Q
PPU_BANK_1000: ;背景切页% G7 x( M+ n0 V
PHA+ z% ` c6 p5 C, r
ASL
% ?' r8 W h: b0 T8 c- F+ h ASL
, s0 U4 e! a9 J( J# v" v PHA$ g/ l; `0 z, |% h: C5 F
LDA #$02
! K$ K" M4 O6 A6 C& b7 U STA $8000
5 W1 {; `( U7 z$ y PLA
6 N, m6 P; \1 j$ }1 M- j STA $8001
: u) v; ?9 m# s8 A( X ADC #$01- J7 ^# X* }! `# f, ?
PHA8 E5 L. [5 e' y$ n6 \( [9 ~, V* }
LDA #$032 K- G1 u6 r+ o2 m }
STA $80009 ]/ |1 n$ v4 _5 \
PLA
5 d, K) F, t$ @ STA $80013 F3 B: r' t3 k# ]/ z$ A. `
ADC #$016 M4 e& A" k% J
PHA) Q% A% _& w, A% `
LDA #$04' U" E) V) u4 c/ x' E5 U6 r
STA $8000. r9 X3 r' m# B/ O1 _2 c
PLA
7 ~. B, ]% i- U& s! Q STA $8001
8 E, E* ]" m3 ~ ]8 a$ ` ADC #$01 N5 N. e2 M5 i* p$ w( O( ?
PHA# N. b: @5 `! a
LDA #$05
" s" G- L7 [: Q8 I STA $80006 s0 c7 [* @# J5 ?
PLA
& c2 U: H2 \# r3 ?; P9 Z0 n4 B* D% V STA $8001
# z8 ~) H2 R0 Z" ^& f+ ?6 n. s: K1 B PLA
' A0 `* B& Z6 \/ H/ J+ {0 S RTS- ?5 ~4 `/ [( r) @* n. v0 Z1 R
; t% S; ^: ~1 k3 v) Y
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|