|
|
;[FC][最终任务mapper1切页程序]& i' m- |* W1 ^0 _
.ORG $CD9B
/ N$ }! R ?/ q1 u: H2 ^# t7 o: D% @BANK_START:
$ `3 D" w6 } \0 |9 f! v STA $707 V6 _1 O# _/ n
TXA1 K K9 [: U: ?& S6 c& v
ASL
' ~5 [- p& r& }( }4 p' n TAX
# J, R. m( j+ k/ vPORT_SET:
. W6 G# f7 B0 f* F$ P% @ LDA BANK_DATA,X! z, o' G5 h. }
STA $6E
( \& v7 \) v- I, H4 U; m LDA $CDB8,X7 G8 L/ `, ~+ m& q
STA $6F. Y: P, ], {* K3 }# z
LDY #$00' F w$ T, l& Z
LDX #$05
2 C/ z5 U. [/ H! R LDA $70
& \3 _2 _# K0 g. G3 Y% x* K, @7 xPORT_WRITE:) F- ~) l+ c0 @6 ?: \5 n1 J
STA ($6E),Y$ W# z' i6 b! v9 @3 F) p
LSR8 Q6 M8 j0 o; h) Y% Z9 t7 G
DEX
) g+ j/ ^- H, [$ Y9 e BNE PORT_WRITE; r2 a6 z9 w8 H. Q2 q0 g
RTS
8 ~" \2 _ `) o ) `- T2 { ]- X0 W. _; L& B- y
; J( X' M! F3 I6 e6 T* oBANK_DATA:, Y, R% n4 ~6 A3 m) G- T0 |5 i
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
# b" ]( R( q9 k# B & ^7 H5 m8 ]( |/ d N" h
4 {1 A4 b' W6 y2 e, m, T. w;[FC][最终任务mapper1转mapper4切页程序]& s; m1 n8 V3 _+ F. Y* F: m
.ORG $BFD2 ;初始化跳转+ t7 P/ b5 Z- ~4 o7 `$ j/ v
JSR $FFC0
$ Q% f, U/ t+ ~, ]* F
: _! A1 X: g! N5 P9 y4 W( r' {# L9 A2 G8 f1 N
.ORG $FFC0 ;切页 D) I" G: a. y* ^* i
LDA #$062 ~6 P+ l8 w: C R, o- R/ N5 J
STA $8000( s7 m" h) o- ]
LDA #$0E4 Q! Y! C8 L! T! ^
STA $8001
+ |, _3 t& W7 u) J" d2 F& o JSR $80003 \# z$ ~9 W/ u$ n5 r8 y
RTS " _. m$ Q; ^4 |. j. Z
1 w* N0 C* w, V0 ` .ORG $8000 ;数据复制
F! Q& U7 `4 E" s+ w4 Q# H LDA #$80: o8 U' T# o M% i9 R( L0 Z/ A: R
STA $A001 ;启用SRAM
3 x+ g+ Y( e0 s PHA
& X& _ R( I4 B; k( L TXA+ S* ?$ L& M) u+ _4 Y- d' p m% T8 {
PHA
B0 |" P$ j2 x9 M @ LDX #$00
9 A( } c; o% |, DDATACOPY: ;数据复制
8 V( S$ a- J: f& Z LDA $8100,X: q! A! H, ?" O
STA $7200,X2 o0 @% w' ]. ?8 G& C2 O5 G) \+ O' ~
INX/ i4 ~& X# ~7 v' i: w
CPX #$00
( k5 Z- s8 ?$ O2 X9 N# @ BNE DATACOPY1 o5 }6 i( D5 o p0 i ~ A( I
PLA
( J2 N( |+ o. M TAX/ y. f: O( m$ t5 B3 ^0 R
PLA. N/ U2 S/ T5 D! d! R8 ^, K( c
RTS- C! _# G: P, W8 _2 B/ B6 a5 |
; \( n- y1 K6 S4 u* o8 t4 K1 y .ORG $CD9B ;跳转到转换的切页程序6 o- T( ^( u% l) k/ N
STA $70
( j/ @# ]8 Z' l% U5 A7 L0 G* Z JSR $72005 t9 {7 Y) e& k3 F
RTS
# z) u; p& j2 \: z
6 d$ [3 D9 ]. Q7 |. D" R .ORG $7300
0 s: F' ?6 S" o( E; \M1_TO_M4: ;切页程序
9 r/ V8 i+ C% \' p4 z3 @5 g CPX #$00
1 ?* K( D: q, F' @/ E9 _( B6 @/ E BEQ REG_SET
: e# O. q4 n5 I3 S- F, e) y$ n CPX #$01
. U2 o* _: H3 L( ^$ S BEQ PPU_BANK_0000) k- ]! q+ P! i+ M* }
CPX #$02
8 q* y E7 i/ l% D+ B& d BEQ PPU_BANK_1000
8 L% }' i* @, S0 P+ [6 } CPX #$03
1 U4 l5 L0 [2 A8 M, P BEQ PRG_BANK
2 D" F. R0 N# G. XREG_SET:
7 @/ v# s1 M6 _+ J& Z STA $A000
' b7 D; x0 e ]' I2 E RTS2 p$ {4 i6 A) g! ~9 b
.ORG $7320
5 |1 [! H( r' F- A5 \! w- h6 |PRG_BANK: ;PRG切页
) E. F2 i; i% j; @% a0 ^ PHA0 Q) S4 v' e& L$ F$ C4 x
LDA #$06
+ v! M+ H7 S3 f7 H! G- l( Y# X STA $8000. q& s* K3 R: n" k' h
PLA# O- q3 X. x W0 y1 ~
ASL
, Q9 Z6 D. g, B6 R STA $8001
6 @# |! ]% u' ]0 t) h3 l0 a ORA #$01( Y3 n1 N- Y0 @ B; {
PHA
/ m K% E3 t; v3 L6 E9 n9 q LDA #$074 N: J O/ X( _ X- Q. o
STA $8000
: C0 \+ g# V/ ] e s8 U PLA
1 F3 Q ~1 B7 I$ s: _3 [2 w: y STA $80014 i* D' ]2 U {, B
RTS5 j3 Q, Z% T% s5 u
.ORG $73400 {% J) u1 L, t6 p# d
PPU_BANK_0000: ;精灵切页2 R4 ^- N' c Y a; ], D8 d
PHA
1 w; ?0 b4 w/ u, r3 e ASL
# r& H4 @8 u' ^& f+ a" ]/ c/ u ASL6 z9 |5 u( J! P
PHA; i5 V2 R6 }9 Q) |( P! m
LDA #$00) S. @. h! ?; |$ P6 D& }! M) X
STA $8000
. z K9 s, Q; B* J PLA3 Q1 y' b; I! ~7 A, X
STA $8001- V7 N( K3 X: |% K) G# l# l
ADC #$02: G, }% N T1 P+ y+ D# H
PHA. M) s) W6 P3 J3 r9 w. F2 C4 \4 h! V" R
LDA #$01* q4 o3 c @# k3 G
STA $8000$ M) x# s% S# u
PLA' A% R" h7 {) ~, k3 ^# A
STA $8001* I \* R+ s+ m
PLA
3 w* A; V( u( z3 m( `9 H RTS
8 P1 g. i' u: W# Y/ z4 g& i7 l . M$ g9 _6 Z3 N6 |) Z0 ^* K0 J. }
.ORG $73600 f( ?9 j9 a4 d2 L+ `9 q
PPU_BANK_1000: ;背景切页4 t4 e, v- H: u0 N- X( t
PHA
( U0 P" c* y: x0 n" K ASL
R4 F4 g6 O- ` ?$ b ASL" c% M- O/ D1 `) u* d+ M
PHA# H1 @, N0 a' P
LDA #$02
) j e0 p0 ]6 q% z4 q: Y0 z STA $8000
. ]. P j* @7 ]9 ~4 w; i PLA" M6 G3 }$ }% }( a
STA $8001- b% l+ X7 b* n
ADC #$01$ S$ V* m# G) G, G
PHA
3 x$ B/ Q$ l% Z/ l. B- M0 l. g LDA #$03
9 M% n8 U9 `& y W STA $8000. P$ ]# Y2 i7 W1 I8 D i
PLA w5 n! n' O/ ~ `" P/ M. e
STA $8001
1 F9 ?1 T9 n8 a) ^ ADC #$017 S; d; E0 @" f' i* P
PHA
4 [0 C- z4 O2 c LDA #$04
8 {" R9 }/ F$ @ E8 S STA $80008 f& J# Q' l$ n& g) v
PLA G% P8 M7 b2 Q9 c7 [2 A
STA $8001
( n* _+ T3 [+ V- [ ADC #$01+ y3 r: x5 M6 D- O
PHA
; `! c8 T1 l7 i/ | LDA #$05
& j. h7 ]( ?: h3 S STA $8000* F( a) v+ Q$ b7 Y9 ^' W
PLA
' |0 ?7 ^5 P& R' G STA $8001
+ F6 z3 i3 O; g PLA, H- J7 @& t2 W4 {( G
RTS& y5 L) Y. ]) a$ b/ s, p# D1 }
1 g' ?6 E, [- y0 { |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|