|
|
;[FC][最终任务mapper1切页程序]4 _! Y$ g; X: B
.ORG $CD9B
& t9 ]. E' g8 L- aBANK_START:
0 Z3 L5 e+ Z% C# ^- Z+ m STA $70( t8 e/ p3 O2 t x: o
TXA
/ l- d4 |$ [0 f% ~' ] ASL8 y7 p4 E1 y( }9 [' h* p
TAX" H# f/ b7 S2 n5 D8 @. e
PORT_SET:
1 }: ?7 S. a s9 l: h7 y; S LDA BANK_DATA,X, O& q% ~' O+ K$ C
STA $6E. j1 f' R5 r$ e( o$ b& j
LDA $CDB8,X
$ _3 `4 P2 D1 S' X STA $6F
$ g% e* d# z1 c9 ^5 S' A# Q2 X7 j LDY #$00: {4 c$ M6 h; O* h" d
LDX #$05
+ ^. ?5 @1 R4 c. Q LDA $704 b; H1 C" x2 G! w4 n
PORT_WRITE:( B$ c Q5 l7 k- L( v
STA ($6E),Y
) i W1 D$ r7 n( W* g/ n* A0 {6 ? LSR) h; T# M; t, K8 {4 o
DEX
" _0 B& V; S/ H, ~8 }1 g# W BNE PORT_WRITE
: b. E: ^7 f7 S8 X1 H$ d- Z K9 e RTS8 Y% G a. f( T3 \
8 t2 @; ?4 I1 S& s' q + R% Y4 {" e7 M U8 V' J
BANK_DATA:! p: m0 T: {( Y% W* ~3 [# `
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
* }# f: _3 x9 H- P- r 3 Z3 H) e: L& j! D* q
! u( A. u7 U; Q5 d3 y+ N! p9 l& I;[FC][最终任务mapper1转mapper4切页程序]
" [! c1 y1 w3 F* t! i4 w# Q/ { .ORG $BFD2 ;初始化跳转$ I* d9 l! R0 r. x9 a. ^- ^
JSR $FFC0
$ w# v4 X1 {1 V8 ]0 `: t9 ], H8 o! J% V6 \
, a* s: s# W9 l/ k
.ORG $FFC0 ;切页4 n& N. k" J' R. d( V
LDA #$06
9 T6 |9 w, X0 O0 w" M STA $80009 ^3 `/ l4 G/ h# s: p. g" H
LDA #$0E0 x; l4 { x; C/ I X
STA $8001
$ q' T# M8 V3 L g2 n7 e JSR $8000+ y8 D; N! ~; ^! M( h8 x
RTS
1 d3 D( Q! b- Y* k4 G ( O+ {3 `. G5 b# y0 H
.ORG $8000 ;数据复制
9 o# G" B3 o! e4 s( T* a# @ LDA #$80
) V6 a. Q+ S/ ^0 K9 `: q' c5 m STA $A001 ;启用SRAM
; [* Q8 K( t5 j" X PHA4 |+ S4 Y3 ?+ E
TXA
: _6 p& M' b# J: A4 O6 I7 C PHA
- r6 T: B2 Y1 H4 K; i+ N LDX #$00
/ \8 N4 w: R& H SDATACOPY: ;数据复制9 ^3 u0 x7 f4 @6 J' T
LDA $8100,X4 j1 S2 ]$ x) E$ y+ b
STA $7200,X
7 E2 g" ^1 s0 h6 A INX
9 W) n J X. l. m' T7 W CPX #$00
+ Z! `; p9 c& t BNE DATACOPY
% w: \( N% K$ P; y PLA
$ v* @3 d: X- g# A TAX
6 b0 L7 E0 F( J/ L) V) J PLA
/ k( }% q3 E+ k. p. A RTS( f' h6 w# p$ |
& I+ P' \- O: F4 I i% J V .ORG $CD9B ;跳转到转换的切页程序0 w" z2 t' B, o6 ?4 Z" L
STA $70# Z0 p# Z6 T a [
JSR $7200
+ Q" r: Y/ q- |5 m1 m" u. q$ X I. M RTS
" u2 v: z. s: \; }7 \" H
' V4 [& o9 D8 b* a& Z .ORG $7300" G4 T" \) f' U& Q6 N5 D1 q
M1_TO_M4: ;切页程序
- Y. C& J" ^; s" P8 k CPX #$008 `) p1 ~8 o$ L7 M
BEQ REG_SET4 m' o- R3 E- ^! s
CPX #$015 J' `. j0 U7 m
BEQ PPU_BANK_00000 ^: F0 K1 X b9 M7 Q$ ]# S- x
CPX #$02
& ], r4 L+ \' u" D8 J, z4 Z BEQ PPU_BANK_1000
( z; c& c% s% s$ i% W CPX #$03! J' F) {# P+ z6 H* p9 r" }
BEQ PRG_BANK
) G6 ~) i+ b; I7 O/ J! o0 jREG_SET:6 H/ ? N$ L& p6 l# i- ^( z
STA $A0000 v5 }- w, ?7 F, D8 Y" F+ S, x2 z
RTS" Y! u. b# d% r: w, R- q% a0 D
.ORG $7320
' z+ d* L" d! G+ ZPRG_BANK: ;PRG切页
" X+ w6 ^6 Y3 D! Z" @0 n9 G PHA
3 a, f) w R `2 F3 W. I% V+ _9 a LDA #$06
5 N$ @$ v: q: a3 J STA $8000
. ~- }$ K; R5 k5 D: p/ t3 ?) u2 B PLA: q7 i; o: ?5 s1 D4 O; M3 [
ASL
1 A: j0 M% [" a9 O- w+ k+ F8 s STA $8001; E3 t* j! K* W3 ?& r. |/ T
ORA #$01% e% a3 Z3 s2 S- }: k
PHA' T% f5 x7 w6 _: c E4 |
LDA #$07, c" O9 j9 P0 l1 W& n. Y6 ]
STA $8000: I) }8 B, v; W& d# u3 W
PLA
% v, c" t: f2 }6 i' e: G STA $8001% B- }; s j7 d" `4 \
RTS
& X- N4 k# a9 W% R" ^6 } .ORG $7340% F+ f" _# D2 j% F7 p( ?$ B
PPU_BANK_0000: ;精灵切页
$ m; C" d7 ^5 u! j PHA
) t) A6 _+ y1 d3 @ ASL) r2 G- K. @ e9 C+ d8 D
ASL
! G- f5 P( N2 v" W. g/ j/ H PHA7 R* C6 y% P4 Q
LDA #$009 X m& x3 ^# b. D. U0 `+ s
STA $8000
# M0 u4 X9 B0 _) F PLA
1 } P+ w' O* l6 ]0 _# {8 x STA $80012 Y9 j+ ?" E3 K, a
ADC #$02
( h/ A* ^4 h: y PHA1 j! K$ b: }/ E( e
LDA #$01
" ~# ^1 e2 p' s2 O/ u9 f STA $8000
, ^. U. _. |! U PLA& W) l, R1 \6 y$ S0 w
STA $8001
. i) F* [ s! D( k; {$ I% m" g PLA
* ]" y% A0 a; ~4 X RTS
7 ?) l3 Y7 }! j2 p* E & Z" x! z* S! d/ b1 O6 U9 M# p
.ORG $7360
$ l$ @( o5 m+ M; U! \0 b" \. GPPU_BANK_1000: ;背景切页
" j5 e/ M2 C" t7 B! U PHA
/ L y9 ^' a0 s ASL: a9 G- A: {4 w5 r: y, U. R1 ]- l
ASL
0 d( b7 n1 a' c# i PHA* V9 L7 A% S- F" [
LDA #$02
/ V+ e, d# t! D, A STA $8000
3 U$ c% N# T: \3 z PLA8 |/ M) t/ c2 n5 t1 k
STA $8001
% v% l* D: [4 q L/ q ADC #$013 c) h4 ~1 A0 l$ v* p/ [ f
PHA
/ {& Z7 L! j5 o" W3 y* i/ u+ U LDA #$03
0 F/ k. \, \) Q8 U+ t STA $8000
W! \; U4 `0 W1 Z3 x Y PLA
4 [4 |, D# N3 C* G STA $8001
/ ]. j# l7 T ^7 Z! f+ _$ g ADC #$01. ^& h5 t+ X& Q. F
PHA7 _! w# ^2 y! M, v7 h# L' \
LDA #$04
7 m- s/ ~0 n1 Z4 A4 q, G; } STA $8000
3 } M* J8 ]# K7 q1 d. i PLA
0 I1 s# w6 T- c! _8 @ STA $80011 {1 N a8 { y6 O; h
ADC #$01) x2 x6 q2 H/ `1 r+ m* B/ C O6 B) R
PHA
( q8 D7 D- [% A e: h# N u( j } LDA #$05
! u; K- k6 ?3 J! E0 P4 E STA $80007 m7 c/ @: W& M4 ]( ^; _/ ^' _ b* |
PLA5 n0 y: x# H) E7 t, \1 a7 \( _
STA $8001
) h8 K, k8 ^8 c3 t* P PLA% B9 d' f2 b# y) G
RTS7 a4 m. o9 @# j" z1 _: ?
" w- u9 E# A3 j/ A9 u3 P2 X4 z |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|