|
|
;[FC][最终任务mapper1切页程序]
2 L% r4 \# P T) r0 @& ]( g .ORG $CD9B9 T0 V( Q: t3 L Y6 K: B3 D$ ^
BANK_START:
7 Q" K9 d5 R s2 h STA $70
6 f) g5 V" Z8 n0 Z( @3 g$ Z% k TXA
7 n+ s3 u% z4 \( q& j ASL; B1 l2 Y" _7 }( p$ x( R7 I3 V8 O: b
TAX1 f# i" V/ L2 ?. J
PORT_SET:
/ G- O( h2 N0 Q( e- h* f' S LDA BANK_DATA,X
, `4 j9 Q* ^, v STA $6E x3 L9 ]6 {6 [0 ?4 P& U' a
LDA $CDB8,X
1 R+ {' G5 Z0 ~6 p STA $6F: F/ r2 \; \0 k! ?) O i
LDY #$00
" r/ e* x6 _6 E; |. R LDX #$05
8 ^( {2 O7 e& _! [- |& o LDA $70
8 \- f9 m0 k: b3 Y; U o1 kPORT_WRITE:% M# s) W0 c, Y" w. Q) l' B
STA ($6E),Y
. N! z$ h( x% J+ G+ r8 F) N LSR6 B( B( G8 v* z7 P; ^, i
DEX1 \. r" I* u7 W# u! g$ Q
BNE PORT_WRITE
' o0 n: Y% B* U! u' f RTS L/ g5 L0 X' i, U
; b8 n; B* v0 u' B
% p/ Z: N' y& y% ^* a' Y& dBANK_DATA:! ]" T- R2 C* T, ^# h
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
9 P7 Y; A" @& a8 T K" C* z) Y: G & X b3 a0 v. G% V( i9 O
a- h$ Q1 e% K$ N( u4 W;[FC][最终任务mapper1转mapper4切页程序]
" p$ m. B* g: w0 w .ORG $BFD2 ;初始化跳转( y, \0 S8 \: L5 c
JSR $FFC0
) B/ W: p! A& A# y1 f; e( Z' g K$ x2 d
; N4 {2 v& J4 x' F4 r9 ?2 T+ P9 \& [. y
.ORG $FFC0 ;切页
* d% S7 X7 u* c& u1 h LDA #$06
" ?2 a+ O p0 h STA $80005 D1 Z8 z1 h; J% [
LDA #$0E; A# U$ x- }& u+ j% d' X1 |! u
STA $8001
; Y7 i& s6 I+ V% ~ JSR $8000
$ m# V- z# {9 [% U2 S$ I9 A RTS
; i7 S0 K. @ `* L9 s/ x: T) S& ]( n t5 z3 X5 a) ^$ D: s+ v
.ORG $8000 ;数据复制
, }6 U, b: F9 v( x LDA #$80& j" R) C$ d0 f* H1 \
STA $A001 ;启用SRAM3 f3 u4 R" E% j+ O* a0 E7 F3 p- T
PHA
$ D3 b7 S, E" I TXA. V. h! w- p. Q" k% e! i6 S+ D
PHA \$ P+ i0 E6 t. ^5 b4 s0 r3 v
LDX #$00
8 O7 u) v+ j. \DATACOPY: ;数据复制
5 i2 i; A: X1 s LDA $8100,X0 I' x: y- c2 d: c9 b. {
STA $7200,X" z+ ]: X1 l9 P% U- }
INX# ^) x* z- y+ x" h2 ?
CPX #$00
+ \+ c6 [2 b9 @, m/ |* i: U* r BNE DATACOPY* u6 ]2 ~7 ^' d' i+ F' i% g
PLA
) {: C' n' o5 d6 j' ]% r TAX
, }% F8 H& M/ M; J0 F# f( v* y' | PLA
4 v D& b0 Y6 T6 x- |+ Q7 `' Q/ G) L RTS
- G4 Y# x0 a; [
2 o8 H( M1 `$ P4 c# W: G9 D# V% c .ORG $CD9B ;跳转到转换的切页程序9 r9 C# o! T; F E! E+ ` v
STA $70
! R, o2 {4 X! ^6 X' H1 ^& f/ D6 a7 D& I8 Z JSR $72006 [. W y u1 _
RTS7 [6 P$ M0 l9 o1 w
5 t1 y; d. q% @7 k ?3 h9 n .ORG $7300
5 X1 X3 }# Z( v+ F4 sM1_TO_M4: ;切页程序2 h) M" a+ U! C+ H9 ?5 _6 U. e; v
CPX #$005 D" N7 j+ W1 }2 C+ u
BEQ REG_SET
& [; ~! Q4 R" U" C. D0 `3 s! W CPX #$01
H0 m& X1 b# q) a* {9 }8 k" z4 Z BEQ PPU_BANK_0000
" q5 F: Z! p9 e; P CPX #$02
1 N# K9 Y$ K# ~: E/ }& Z BEQ PPU_BANK_1000
% Y; M5 Q* F4 }3 r CPX #$03/ D5 r, [( M- I8 z; F
BEQ PRG_BANK' G" J, v2 R1 e1 b
REG_SET:
: K u- P b5 W STA $A0002 c4 A& N$ a* s6 D# Y5 y+ V0 h% }
RTS) i% J' p' T, |* {" c$ _0 _
.ORG $7320
1 s" i0 V, r4 Z& o$ e' PPRG_BANK: ;PRG切页5 Z% r$ y+ d, x4 o7 n: ^4 R3 F
PHA
% @! n2 d( @- V. ]6 b LDA #$06
, m; d8 m I/ s+ X STA $80004 M0 L6 D. \& X! Y+ P3 d
PLA
3 R3 U+ N) c7 @- }- q+ k( s0 D H ASL4 O2 s" t( d0 ~" F3 N8 l6 K
STA $8001
% V5 H. O/ A o8 B. A. {: s ORA #$01! K; a, P+ H7 t
PHA
8 p+ {9 i6 u* w5 A+ P, R. X& C LDA #$07
6 n* f6 j5 W$ t7 `+ V* { STA $8000
# A V8 d2 x$ C1 p, V% h PLA
1 y) e5 ?; q, ? S( K STA $8001
& X. ]7 G0 @; A: W: a RTS/ F$ a# f( u, V2 U4 C! t
.ORG $7340+ e8 E/ l7 S5 \! t7 R7 o1 U6 H8 K1 ?
PPU_BANK_0000: ;精灵切页" W+ J, \4 O+ z* U/ ^+ T
PHA' R+ `# G( [8 T. i# E1 C' i5 A
ASL
/ P' g, U& J$ B1 F; ?5 Y$ U ASL* ^* z7 L T- n1 q+ P
PHA% O; G) ]% C% Z" I% B
LDA #$000 m% X' `8 A3 O5 J8 k5 H5 u
STA $8000
" W. F& O- f1 I PLA% ]! j) |' |" ~1 C9 g2 A- Z
STA $8001
8 M2 h( G Z3 }6 | ADC #$02) x2 g3 g5 n: F1 c
PHA& S% ~1 h' @5 g
LDA #$01# e# b9 v4 G! |3 b
STA $80003 S# V9 P$ B# R& A0 `9 A4 s, ~5 E
PLA
2 }4 B: v! ]( V STA $8001
% H# o" u$ Z# M1 k/ X( s7 { PLA& a2 y: T7 s7 g5 p3 ]$ U
RTS
$ i' o* y- w; I3 d; {9 W
1 b6 M' Q6 N7 Z .ORG $7360
w& k# e9 G! W' M8 vPPU_BANK_1000: ;背景切页6 }; ]: b& O1 q
PHA! P, P0 q- A+ F/ Q G( k/ @
ASL7 p1 H( x! X A8 {+ s7 u1 ], l; Z9 a0 b
ASL. t' s0 {7 d6 I# l
PHA; Z" |- Y. [2 e9 J! ]' W
LDA #$02
" M/ d8 |* ], R+ V STA $80000 C: ?' ~: B. A6 } _( z
PLA4 G) a7 K. }* p6 F' f
STA $8001
2 q' H* F5 j2 Q, g# y ADC #$01
& j+ [. a; t3 B) v# G* {. F X PHA
* K" H2 J. w: U/ \( P, {* s LDA #$031 c1 R% Y7 q4 d
STA $8000. W) V, H9 ? a/ ~8 u" T; _
PLA- M) Q1 Z- h0 K2 w2 l& `
STA $8001
5 |4 R, y0 \9 t( A4 [' x0 B M Q# [# M ADC #$01; @" e* R( d& J" S' R0 C
PHA5 T$ R+ |$ o! K f' A2 o, ?8 {2 g
LDA #$04, z; c* A, [: t. f) {- N& s Z
STA $8000/ G9 w) p3 I9 f3 F
PLA
; }- v! A4 j" v; f; a& a STA $80016 f+ {3 ]/ I: e5 l) ~* O& U7 V( p# F, r
ADC #$01
, C1 n% O+ D- `( U$ n9 L4 \% v PHA
' D1 j- N: {% ~! c LDA #$05
$ G$ o# Q: S& W- ?, q" _ STA $8000
* {3 v3 u5 B9 \ PLA
! b+ K% V0 X& Y' G8 W STA $80019 M( s3 |) K; w
PLA/ R* y+ N* W2 ~" i+ Y0 r) g! p
RTS
2 v9 L$ x# ?. S1 ?7 Z+ Z% t$ w# ~
" n1 A- t% s3 i' H! f6 N! y" F |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|