|
|
;[FC][最终任务mapper1切页程序]
- H1 T, x/ T; F8 ?: D- Z .ORG $CD9B5 ^' w, W e+ P8 m+ O+ B
BANK_START:& x. I7 E& R8 q
STA $70
7 v2 n. D, S7 ?9 k. ] TXA9 r& g, T& O4 L/ l; j+ n4 A
ASL
; x8 {7 T9 q8 G TAX
# Y) Q8 J c" I+ W& F' N. l/ tPORT_SET:
! t9 a8 m% r3 [8 o LDA BANK_DATA,X" c2 L b; Z/ g
STA $6E3 R. o$ {- C4 ], ^0 z
LDA $CDB8,X2 V J. X: k. S) u" g
STA $6F
( K. q# B6 f1 q: A$ J$ M LDY #$00
$ E+ j0 v) J4 A; p. y& n" ] LDX #$05
5 B* F4 U8 P. m7 d; W" y LDA $70
# L. {$ ^6 t W$ u: G5 K2 dPORT_WRITE:2 Z7 U$ E, O- ^" M' R8 }- S
STA ($6E),Y
! K, C8 Q6 n" S. Y) ?8 k: u LSR' C$ K; v4 k! p& H% i
DEX6 P# R4 n( S- D6 E
BNE PORT_WRITE( V7 @6 G7 h9 p+ d& C
RTS- d# }2 n" n( x9 R
) N6 ?2 d c; D( }* F; X7 o
3 p% C* o9 p# a8 [. q" ^& J! pBANK_DATA:
* X8 t( @5 h/ h* u, e1 Y .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
1 F. @$ g, P, h$ \1 b: ?
" e8 E4 x1 l* N) k" e( u
' |- o1 w/ Q; i4 e4 U) V;[FC][最终任务mapper1转mapper4切页程序]9 @, F- Z, s( K. V" ]" |
.ORG $BFD2 ;初始化跳转; ?1 y/ N$ C* W3 _; ?
JSR $FFC0) C/ }$ L/ a, A3 [
8 y: ?) o* ^; \+ p1 ~8 f
/ ?" A' E0 b3 q' u .ORG $FFC0 ;切页
5 P) d; [" E# l; ^0 o LDA #$06/ X" J3 _+ y' F- b7 ?5 l( q
STA $8000
. w" H. t* \2 C* G LDA #$0E
* B" I! l% \9 p( @% U: G STA $8001
! [! ]0 P. t: N) P d5 x3 r JSR $8000
1 L( e* X z- H RTS ! A0 ^0 H" z3 w G) i5 A$ Y
/ a1 `, W7 k8 ]: Z6 l2 n& P .ORG $8000 ;数据复制
% l2 L) _3 k: k7 z+ t LDA #$80* l" z" x+ h) i" g, U% |) ]6 X
STA $A001 ;启用SRAM/ }1 @; |. T. |8 i
PHA5 Q" @' h8 R/ l: j! E T, ]3 H6 c
TXA
! r* l# B3 A! `/ g PHA# J& ^9 [8 ]; a( m0 l6 Z
LDX #$008 R% _( k8 A* ~
DATACOPY: ;数据复制2 y, U: ~& L7 r8 z2 X
LDA $8100,X: r, ~# R5 m$ X
STA $7200,X$ F. Q4 g Y3 u, h2 N8 d
INX, A/ ?: V( Q! K% \- c& |- V' U# k5 f
CPX #$00" B( q' X' J+ |) C; p
BNE DATACOPY
/ n9 K+ W* `" Y8 s PLA3 E( H. u. f/ ]: N9 l: R7 r
TAX
+ l9 ^3 |4 u8 d+ b; n3 @# D" o PLA7 W. P: t1 p Q9 v% T" W2 r
RTS
; c1 D( u# b3 U# s: Q
! C7 |0 R; r- U m' V$ W3 R% X .ORG $CD9B ;跳转到转换的切页程序
' h7 Q* b0 r8 Q2 v9 G5 P+ W STA $701 w; N% q# C4 z8 z
JSR $7200( g( m& A6 D6 a7 q+ y
RTS
* _9 Z' o% p% n) Y $ ?. \; o& h2 ?1 y
.ORG $73002 B. e4 L4 R. U" g' u+ ?3 Q
M1_TO_M4: ;切页程序! V4 l0 a! W! O9 P
CPX #$00/ X9 M2 _0 E& l$ c! z7 A
BEQ REG_SET8 O$ @% x2 R6 n3 ` B- U ^" v8 c
CPX #$014 p: z; N# C5 W1 U* f' v
BEQ PPU_BANK_00003 e3 d6 s" p8 p) s, s. { j. K; o9 e# [
CPX #$02& U2 j" ^/ o/ O# v8 Q6 P
BEQ PPU_BANK_1000! G! l% b& G$ J8 l. y% ]+ q3 j) u9 _
CPX #$03
) }( P- O `' \" C5 Z( g! h BEQ PRG_BANK* l) k) u0 M6 o \, H6 y4 _! S t
REG_SET:2 I `6 X, H% R
STA $A000
$ x& I. V! N3 R4 w1 f RTS
0 E+ b/ W* i- ] S9 m; I .ORG $7320
+ H, L2 G. j) N1 ^PRG_BANK: ;PRG切页
2 f8 a4 R; n% w6 D+ h$ A PHA; M8 t, Q+ U/ r7 X, S* `* h
LDA #$06( j; M# J0 `9 @& J* [9 t
STA $8000
. b: _1 I! n2 r# e PLA
* z c8 F6 C' @; F ASL k- T& j& r7 a/ w
STA $8001
+ n& [# F5 y$ N* e5 e3 p ORA #$01
% A$ I& W* u# P PHA
! n" C& [( R1 d9 b LDA #$07
1 {& f# r2 I3 }3 Z: e' U STA $8000
6 P1 Z3 g' S! E PLA
" _" M6 G+ J; z! x( o STA $8001
% k# s. s* q6 z) a RTS6 N) @( u! ?/ i
.ORG $7340
+ n- p7 H5 b+ \# X X9 CPPU_BANK_0000: ;精灵切页
4 `4 D o0 S. V, L1 g4 M PHA% q1 @ u6 q5 [/ V" h4 G
ASL
+ d! h* \7 W$ n: z: o ASL9 m( U' s3 c* n: q
PHA( H: N5 D1 n. j$ ?5 W
LDA #$00
2 V8 j' i* q' X! C: i& ^) G4 T STA $8000$ I& B. g# k8 X" y9 G/ y, o
PLA/ P+ `( U' S* b% ^0 T, H: W, ?. W
STA $8001
5 a, \1 _! r; @/ |% B9 x ADC #$02/ Q/ N& \, h8 R6 J$ k9 ]
PHA
. \0 Q J" C! n# e6 n1 x LDA #$01! C3 Z4 B4 Y3 r; Y: O7 g* P
STA $8000* e, b% q" Q% b7 x" ~5 t
PLA
& {+ _% @3 {) Y. x3 T STA $8001% i% G2 k. Q* J2 B$ {
PLA
: \; Q* f( n |! } RTS
) b, i; w$ Y- ^) Y! B+ g/ b
- T+ W' m* }* r3 `5 m. o7 c& A0 N .ORG $7360- e/ ^: D" C+ a+ B! y
PPU_BANK_1000: ;背景切页4 l& W! N7 B9 P B5 H9 @. w9 u3 p; O
PHA& F7 `5 K# r; W7 p+ F' U# J4 ]# m
ASL
- A q( I; U0 |* j) H7 o ASL& g' @( @) s# ^$ k6 A g
PHA
+ z- Q5 f8 M. r; @ LDA #$02
6 l& [/ T9 }9 ? STA $8000
; G2 |, S L" C/ _- b) Z8 | PLA* V$ N( T4 w" g' K( {3 y
STA $8001& c- _, C2 k% C r, @; F. X; ]
ADC #$017 R+ Z9 n" R% V
PHA
4 b8 L1 d3 o/ G8 a7 e LDA #$03
; `' w( O, g$ P1 O2 z8 T h STA $8000
% L/ h* v" [# F3 U1 `1 V5 V PLA0 Q% r ~& ]: M8 @3 d
STA $8001
R8 u# N2 o* P P% H ADC #$01. L" Q; I! t7 q# a
PHA
" U$ |& C' ^4 @; C3 M( ^! U LDA #$042 ^5 c0 L4 f+ u1 A6 t. B
STA $80004 W9 X% w0 D: y, c, V1 b1 Q+ R0 v! n
PLA/ w2 _7 U/ s& z* `8 S2 I0 C
STA $8001+ d8 ^1 E- e3 }
ADC #$011 u3 _# [( w6 x8 i2 _; e
PHA
2 U0 ^0 o) A7 M' d4 ? LDA #$05
S9 k$ f8 t$ K7 [1 l1 ~6 T STA $8000, o, r7 p7 W1 Q! g' W
PLA
1 q3 a4 a$ c2 q3 l5 s1 S. i STA $8001; y# T( G) \. W! B. }' W# R
PLA; j# q% k6 \# i( ?
RTS
$ [4 F: ?* |* l$ E; o1 T% L) ^, r' s& Y+ Z8 f' X- M
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|