|
|
;[FC][最终任务mapper1切页程序]
! v7 v+ d7 ~ [! S .ORG $CD9B
( L1 k% P$ l; BBANK_START:( b5 I8 O- S( `" k, @
STA $70
U; M- P# Y& B& H7 Y TXA
3 {5 b' B, z1 ~ ^ ASL
! k( y- `% R+ j6 A( w9 G; k- e TAX8 @) V9 {' R+ L* x# p, _7 z* e% ^) I
PORT_SET:
$ w# H; ]6 N: D& b; E1 A) Z/ m LDA BANK_DATA,X
0 C2 Q8 V. P; C6 Q6 s* n STA $6E
- j/ T( ~/ c' i/ [/ x5 b2 P LDA $CDB8,X
# T% y: S2 T1 C1 o6 j3 D0 o STA $6F
; A6 m& e- T' \1 L1 E6 m- _ LDY #$00" q1 l1 S" g5 J+ Q5 y
LDX #$05, d* V8 d6 H1 u( B: r4 k
LDA $70 N6 L. B2 w/ F0 W& s7 _3 j8 V
PORT_WRITE:" Z& e, ~/ D# K3 ~! T8 Q
STA ($6E),Y: U9 ]8 c( p- w0 _# q5 j" F8 P" G
LSR0 _3 U2 x3 o2 }
DEX& o8 T: O4 F- s( B
BNE PORT_WRITE9 Y, D* _: `0 E: ~: e1 f5 `$ E
RTS- |6 X M6 F( _9 |# s
" @, o- D# \% g& H- V _ 3 y6 ?0 p" o5 u) ^& A
BANK_DATA:
9 T- P& o( T$ l) B0 b Y* N .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF+ |( V% p- r: P2 o0 c6 Z% P
9 t6 S/ @! b G J ! `! Q* o. v* @ X/ m# V
;[FC][最终任务mapper1转mapper4切页程序]
- P0 Y8 Q* ~' p& ?) H .ORG $BFD2 ;初始化跳转0 R: J, P$ d. m8 X
JSR $FFC0
( G3 T$ B/ a% Y* |$ S F6 H% R' C% G5 Q: A$ X" z
' v7 |) |2 F- a. X
.ORG $FFC0 ;切页
# [. |5 E$ Y# _ LDA #$06" z4 S4 o$ X1 k8 N8 D7 A
STA $8000) q G- c1 {8 K2 r
LDA #$0E5 h( L- z& c1 I3 h4 b8 `" w* z; B
STA $8001: B; B3 i( e4 @
JSR $80004 }) x* k7 C9 m/ i1 ~1 z! U' k5 w: B
RTS 3 ?# ?, R N) }) a
2 n3 T& z4 g0 r/ ]7 N& y# X' P .ORG $8000 ;数据复制
! u' t5 I) I; j2 e LDA #$807 V- A! q; D W' ^, |8 a; e& u
STA $A001 ;启用SRAM
) Q/ A% Y- h4 |* ]* ^ PHA
! q; y' s9 Y. ^! D TXA7 X8 ^$ e3 i7 N+ v
PHA
4 J- d1 X( y( O% Q. {: X7 m LDX #$00
3 ^: [* ?' ~* q0 E u9 \DATACOPY: ;数据复制' B- T1 l0 q3 y( F( o
LDA $8100,X, {# g- o( |1 ]0 m3 D
STA $7200,X
. p+ n* a5 T9 p INX
1 z7 ~: w; T+ M7 @; c# X: s. u CPX #$00
. l8 h; E" @! M* m BNE DATACOPY
2 A9 w4 {9 q1 I1 m4 m# m PLA' G) X* X& b" @0 w# T
TAX
2 M! [# V* v* ] PLA# J- k) p0 B% D8 j: G
RTS
$ Z, L) i& q: p7 u5 M$ j
% n% T, _# H( A; i .ORG $CD9B ;跳转到转换的切页程序
/ o7 p. W5 T: A5 o0 n2 c STA $70, Q& l: K [; E
JSR $72005 b3 I8 S2 X L
RTS, S& Y F/ c- _9 Y1 L! c! }6 c
5 m. Z% X( G% D3 u6 ~ .ORG $7300
% Y1 s/ i9 K O; g. g5 p4 f, WM1_TO_M4: ;切页程序6 G% _, `$ z/ f3 e2 p
CPX #$00
+ y; l# x& G8 D; v, y& E BEQ REG_SET: j5 l% M8 [' p, G- F5 y& L# m2 V
CPX #$01$ j1 f7 H0 B9 w; A, y E: M; q
BEQ PPU_BANK_0000
1 I6 F3 G; G. y0 I) ~& C( i CPX #$02& P' t( o \+ }. X* H
BEQ PPU_BANK_1000
; ^. ^( l- U2 w! G& b v3 O" U) G3 C CPX #$03" @! Q$ H% h9 F8 X9 K$ f
BEQ PRG_BANK
' B9 \( f2 O! @# l# N3 RREG_SET:
6 _( C9 D. m) N2 N& ] STA $A000
# |/ d( K1 z0 P5 U. y RTS
4 ]* S1 v; o9 s .ORG $7320' N& K' H; z. c$ O
PRG_BANK: ;PRG切页4 V* d3 m3 C; W+ s( s) G) i
PHA
" h7 i6 |; i0 A' t0 }5 U5 H# { LDA #$069 s; h9 ?6 X6 x1 V$ Y; P
STA $8000
. q- \4 U6 O" O5 x PLA
R0 ?8 b8 B- Q% u ASL, v! O8 C R; T4 U
STA $8001 {' S! L# D7 a# Y: D' d5 ~( ?
ORA #$01! B* L; p/ D6 ?5 D$ u2 O
PHA* h' N4 E! v2 o U
LDA #$07" c5 B2 _& |1 [# ~" h+ ?7 }
STA $8000
" ]. J; P8 p4 d& L PLA2 [$ q: w2 G; Q9 Z* |1 `9 u1 m
STA $8001( m5 H |0 w1 j
RTS: i& b, I- \6 |9 g( ?
.ORG $73408 N6 M' |2 O* y; S. O" R7 |5 z) [
PPU_BANK_0000: ;精灵切页& G6 B; k" V3 X6 F* G& ]1 E5 [' C- _
PHA% L5 j# e2 X$ H6 X
ASL
& m0 @8 S+ d A9 O4 b ASL7 Y6 ?( N$ b) w& o& L+ E
PHA7 T2 k/ U9 @4 {
LDA #$00: u# J. i4 k/ r
STA $8000
# y; l) d2 x( t! E7 P6 @9 H PLA
0 A6 I+ C- O Q& A1 U% X STA $8001! {& @& G- [# r" X9 x, i; W- N
ADC #$02
; K/ t1 L/ b9 w; h3 }, d6 D# A3 ~ PHA
! K5 {! ]2 u4 H4 q" R: s LDA #$01% }$ i8 E; ~& b* [7 G: e
STA $8000' R; R h7 k7 Z& [
PLA
/ R' @! N6 a) ^- S; v) R STA $8001
! m; F5 S3 X4 j6 f. _ PLA
. F4 M+ Z" F4 _2 J& ]- ?' U! d RTS: P& S9 R( b" W! q
# k4 m* O! \- R {
.ORG $7360
2 }6 y5 e7 o0 x/ kPPU_BANK_1000: ;背景切页' q0 A- c( y; m8 E5 I
PHA
( H! B, O" A; e1 |5 z; e& x; s ASL9 M5 e7 D0 }3 W& _$ w
ASL9 w0 @+ O% S. Z0 q( y
PHA& k1 F) I) P; N+ _
LDA #$02) H$ ]1 T7 r8 @3 E1 Y: b
STA $8000
" v( z$ Y2 ?% E+ g+ Z6 z. ~2 | PLA
L( Z) y3 c) x7 j4 a; M STA $8001. S" ]* G! n8 s: b y9 w8 d
ADC #$01
& G" F* n& I4 t( k* B( Y PHA
b7 K' d f( b$ _ LDA #$03
& m M$ L- E# I0 A9 t; h. l! N STA $80008 i. D. U7 |( O& Z
PLA. z) T l/ ]+ Y, F
STA $8001
3 e8 }' G; z3 g ADC #$014 c& n' I/ i6 ]. V4 E
PHA" @5 a% B. m6 G* o* z" T6 i! B5 w
LDA #$04
8 T, M. A: x# g7 {- t; j W7 E STA $8000
3 J5 ~' e+ ]: D, A PLA4 [7 u9 a9 Y# B7 i" V! O
STA $8001
# K. _6 i' @" c0 ~ p ADC #$019 a( K" u. Q* I0 i% b4 [! y8 L
PHA
9 ~! ]* f8 p% Y8 X7 k LDA #$05# d9 N: \9 \ F
STA $8000
4 F5 s9 _6 N6 ]' N6 C- C PLA& N7 T9 }1 k7 a* ~4 ]
STA $8001+ p7 s' }. m5 M; B2 R( `$ T
PLA
+ q0 |- F0 u5 N" s6 C RTS
* A1 Q8 G( ?* h0 r' _, D7 f
) w3 C& v# |# @ }; L Q |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|