|
|
;[FC][最终任务mapper1切页程序]
" Y0 Y/ ~' u4 m u .ORG $CD9B
4 W/ E- a$ |7 [8 r6 B0 P; o6 VBANK_START:' j0 |, x- O& X. P" N" D
STA $70
+ R) @8 f" G+ I# h: } TXA
( X$ [& |1 [+ F9 ^# |3 R ASL
3 Q( i" O$ o8 f( _; r TAX
, |4 q w+ I( `4 s4 ^/ aPORT_SET:
0 K4 j! E8 i1 c4 n LDA BANK_DATA,X8 ]3 ]6 X% u5 q- {: r& X3 y$ C' J
STA $6E) H3 c* k8 i4 |$ C( m& I+ W
LDA $CDB8,X
4 A" L4 s1 g, c/ ]# Q9 o STA $6F) Z2 ]. M1 k% v# A
LDY #$00
) c, J2 ]' K! n+ o LDX #$05
# Q; u/ a1 K [; z' P$ v LDA $70& T: ~5 o- _4 T7 `- q0 v, g( w
PORT_WRITE:# t. F7 e- r/ o8 f# V# ~( s( N
STA ($6E),Y) | o0 ~+ ]3 z: Y
LSR* Z2 I& S4 T" ^- h c2 r
DEX
6 i4 _3 P1 X4 L$ y7 e BNE PORT_WRITE8 O6 |; |7 Q/ e( a& c. B
RTS
' [! u$ P1 l2 F! I9 H5 r# c: m9 a " H/ H6 k0 B1 K7 t
0 e2 J1 b: P- d& r8 D* r
BANK_DATA:
, t, @: G) w: Z- m% p) K .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
. W6 a- r. U0 l/ X) a ; D( B6 ]& r6 J6 M
! u& y% z: o {;[FC][最终任务mapper1转mapper4切页程序]
4 z' a0 ?) F8 R; g z" k9 w .ORG $BFD2 ;初始化跳转2 _7 n) E0 }& P* @; a
JSR $FFC0
8 `5 X1 r3 W- c- e! b2 J4 z$ d" x6 w3 f. }
0 ]5 F' ]# A/ M, n* I5 m. N .ORG $FFC0 ;切页' C: C$ J( R3 k6 H% _
LDA #$06
1 J% N. L7 k) [( j: P. U STA $8000$ r6 f% J$ @3 @0 R" Y
LDA #$0E, R+ X. A2 S" h- ~
STA $8001
6 @& F5 E& f5 S: g JSR $8000
! b" s/ ]& P- R8 e' {( q RTS
1 i: Y7 s" [# N: m/ I7 G ; A" N; ~% G6 j" }: z* g+ g7 N+ @: D
.ORG $8000 ;数据复制) ~+ C) Q# Z( K# c
LDA #$80/ P/ A- f1 w3 e& `
STA $A001 ;启用SRAM
0 @# e% j4 s- ~( l; f PHA% G: x5 F5 o8 b
TXA7 {. l/ h% k c$ Y o% x
PHA/ x) Y! _! h8 \0 g" W2 N
LDX #$00) m, j9 X4 _3 D3 W, R) h1 U; F2 x
DATACOPY: ;数据复制
! t }' u/ S: e4 x0 j) G8 f, R, | LDA $8100,X) p& C7 N r! s0 f$ u( Y0 B- }/ K
STA $7200,X
3 G- u- j. j5 S6 v) {6 o; Z INX
; \. l/ Q$ H7 _& k1 a CPX #$00' W" L4 k' r, A, Y; f
BNE DATACOPY
0 J3 N+ r3 c& M, G PLA
8 l( N% S0 x0 H. y TAX
- z* A: y3 E+ V" A PLA
1 e& ]% b5 ~4 |8 Y9 w( t4 p3 }0 G RTS* Q/ d- ]5 v/ x) C4 A
4 ?) ?) T+ x7 L .ORG $CD9B ;跳转到转换的切页程序
& K" m% R7 f5 o, I5 G6 f: w: p STA $70# z+ Z- r- X5 i% D; Z* d: I) I
JSR $7200
; h" G F) X' H* W1 l6 M+ o RTS s5 P7 g- [1 \" \! N9 d
" w9 P$ T3 P, h
.ORG $7300
' j+ K3 o( L9 b0 T- HM1_TO_M4: ;切页程序
& m# k! [! L2 r- R4 t CPX #$00
; y8 p$ D m. g- _$ X2 `4 Q5 u BEQ REG_SET
' k( E- T4 L3 m4 s CPX #$01( U9 K P" c; c9 P
BEQ PPU_BANK_00001 R7 I# l$ F2 p
CPX #$02
/ e2 Z% `8 h. Q3 V2 O0 j8 S BEQ PPU_BANK_1000
4 c ^$ Y4 P6 x0 @3 I( I CPX #$03
$ s) L* J- o8 G1 I* _/ {/ k$ O BEQ PRG_BANK
5 w B8 Z8 x' r8 n, \- G6 O0 L7 QREG_SET:
+ C/ R$ \( k4 X G STA $A000
# T* j8 |' |& ~" U RTS( d4 ?2 @, _1 ?2 o
.ORG $7320& {4 g2 t G7 A) |
PRG_BANK: ;PRG切页/ m s2 f$ k% q; ~* w
PHA
' g3 D; R- l$ g0 c LDA #$06* \! O6 m& z5 n2 @6 U
STA $8000- h7 _" d" {# B5 [
PLA
; p: @9 j& t5 E- W$ e8 N& p ASL; h0 j4 l/ n/ N) E8 o
STA $8001
# r }4 L$ z3 W' E/ B ORA #$01% V2 F% j6 I: ^4 T- k
PHA
$ A* C% x0 T x/ z, g& H; J LDA #$079 d* u" n) b8 ]+ _- b1 }' C
STA $80003 y! {7 S) O+ ?; Y$ \
PLA; d, T8 V6 c0 w7 Z/ @
STA $8001
% k h# j; n9 J; c$ \! n RTS
7 j R1 L+ B2 {4 T3 e: _+ V4 D .ORG $7340* T) o2 n) \: Y; A- X* {* Y5 h
PPU_BANK_0000: ;精灵切页
2 b. H6 O C+ S6 r5 b2 _ PHA& n! x' g& g6 F- ~2 W- N9 h% L
ASL
2 B/ b$ f- R$ O ASL6 K' l% l0 l3 B- h m, f' a& ]: G
PHA* D2 F/ w+ j) U
LDA #$00) X" l% e6 {8 O* {2 o4 O% p
STA $8000# m4 c2 r7 N4 h$ M6 y% c
PLA
; {1 r7 ]+ w( G STA $8001
% w( R) s& |- ]$ \: I5 ~7 F ADC #$02
* a( Z% N$ {) z* r3 d PHA
E9 y) w& K% \6 s- l" u' Q LDA #$01: T; _+ c: r8 b3 I; ^4 [' c
STA $80004 l- k( W9 f: |
PLA4 Y1 f) N0 g! S$ R
STA $8001
2 l' f% B- |3 _9 f4 ~7 r t PLA' |# s2 i1 R; h! v
RTS8 g7 g; \4 {$ _
1 p1 S* A: u/ l* C% w5 p& | .ORG $73602 b& ~# o' g, F! N) w: J
PPU_BANK_1000: ;背景切页5 T" c& v+ k1 d1 D" y
PHA
8 n# l: ~- v1 U% ^; C ASL
$ n. [0 @) E/ ?2 n; [1 r' F% p$ k ASL; v# b2 [/ O+ [6 A* O
PHA% Q( z* f; Q7 q" L, o& Q3 ]1 z
LDA #$029 H: q% _+ s9 C; O; w6 U
STA $8000 B; \% o# {9 V/ k- a5 p
PLA
! T+ q! g( i0 C' F* l& W6 e STA $8001
% t( T# h. R. U0 |+ c/ o- M+ P ADC #$01
. u" D0 ^- k2 [" f! N PHA/ I: Y2 b5 [6 m; d e8 W
LDA #$03
, l4 H$ k) I! n; D( [1 G STA $80002 g! z8 j: X" U6 P I- D4 }/ @; C
PLA
. H" V6 [: l$ F# a3 d7 Z5 Q STA $8001* S7 o/ B: N- `! |! E+ x0 l( |
ADC #$01" K$ C5 Y9 ^3 }0 x% u ]" d* U
PHA" D; O0 q7 T" v8 h
LDA #$04
# A( A9 j6 m; R. _6 P: m! j STA $80003 o; N9 y% X3 D+ ?
PLA( C9 U! y f5 u7 L; y% \
STA $8001
: k! r; ]/ Q2 E ADC #$01 P7 s \3 W$ M% Q4 n& B
PHA: N1 |: S. q9 Y6 u0 k) b$ Q
LDA #$05- c$ Q- l. R* v8 N
STA $8000% L" v/ }3 {2 `/ M# G8 J. Q$ N7 X: ?7 ]
PLA% w& x5 @% E& ~- C
STA $80011 y8 d8 j9 r$ ?6 s
PLA& _/ y0 ?+ H: x( t. X2 L; o
RTS0 _( J4 a4 I: A' x4 N6 `
% M: p' K7 \9 H( D: ~+ B+ r/ U |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|