|
|
;[FC][最终任务mapper1切页程序]' {7 r; p& o$ j5 [8 ~4 s
.ORG $CD9B7 r: ]* j+ T2 Y- X( g8 x
BANK_START:8 Y: F. Q5 ]$ R- H6 L- |. h
STA $707 B& y! ~ p! g% Z
TXA1 o4 E$ m, [/ d9 ~2 b/ Y
ASL
& O9 J( N& @; v" G) y$ e TAX
$ [2 h: M0 m+ h* U2 b! iPORT_SET:" T$ |) T) R1 I$ J4 Z) o$ h, v
LDA BANK_DATA,X
9 X4 {$ }2 W' I. P7 ] STA $6E! i, K0 D8 }, v7 C, Y8 K
LDA $CDB8,X
1 \* S" W; M E& E% S2 V STA $6F
* d- }0 X1 a5 z5 Q. F" H) K LDY #$00
) k3 s) i, i& K2 Z/ \ b LDX #$05
D- `/ ~ O R5 k5 H3 X LDA $701 U! v5 Y0 }8 f
PORT_WRITE:
0 g6 N1 j( S2 g6 O: u" L STA ($6E),Y
) f5 t; ~. e: n, \ LSR
# T# L. _: _$ g' E% n# }4 x DEX' i; z4 |/ O6 a3 n V4 f/ t
BNE PORT_WRITE# @2 ^3 f" h) t1 w, x1 @
RTS" t) m2 y2 P! u
9 Y$ d* g7 B3 a- d " N( \ P" U/ g* ^
BANK_DATA:5 j/ @4 y# ]. W) L/ u: F2 M3 b" L
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
x2 k1 R" X+ f# V5 Y5 ]# g8 k - S8 E( q; ^* s
9 |0 Q* h7 D' K k/ ?. n |4 {6 T
;[FC][最终任务mapper1转mapper4切页程序]& x# K. p1 t7 {1 e4 g7 `7 S
.ORG $BFD2 ;初始化跳转
K/ f9 M9 v3 t; r$ l/ v JSR $FFC02 F# D L4 I+ v, k+ w5 ^
$ X) \, k, T0 }. ?0 |/ ?
4 b/ g, t+ s H2 p" q .ORG $FFC0 ;切页4 U: ?! b% x2 M( Q; m
LDA #$06
2 r3 [; u3 k& J: s4 w STA $8000
0 w6 `0 z" O/ u5 o LDA #$0E
! Z/ h Q/ ]* U4 s2 ^ STA $80018 s# |4 ~& k$ j e
JSR $8000
2 e f! ?% K3 I7 k RTS
. r8 a a$ T& i" h5 Q
! b# r5 z/ O, M. x+ F4 A) [ .ORG $8000 ;数据复制6 G6 k; } t7 D9 h) c- C
LDA #$80+ K4 ]2 k4 S/ G O/ h
STA $A001 ;启用SRAM
" }" ?( Q( I: Y PHA
: }& S7 t2 H: U' e( }7 i( g4 v TXA
/ n2 T" `9 z8 W) s- I8 }/ b" x! u PHA6 d1 ^' Z$ S D/ a X
LDX #$00
1 I0 d" f; r: p, wDATACOPY: ;数据复制' R9 V5 F4 D, e7 e. b5 J8 j8 g
LDA $8100,X' [" n( q f8 t) L: ^' p. ?
STA $7200,X
5 {3 w! y- `. |3 ?( r7 H INX
" [# m# B4 M. \6 a CPX #$006 j: c: a$ V$ Q3 ~
BNE DATACOPY
& i1 [1 P% [$ |( [6 J1 X) N PLA6 N$ U2 j# R$ Q( J3 b
TAX
4 M; Z" }. E& C' ~% f PLA
/ q" }3 W$ f# W& e RTS& J9 }* R; C! N5 Q2 {$ M( H
9 t5 v4 h" e$ k# ?9 R$ v" L* _' V3 N6 m .ORG $CD9B ;跳转到转换的切页程序+ x5 k& x: V" e- {% e: |) r
STA $70# B$ _8 m; }: m$ c
JSR $72002 Q+ d8 d9 U4 e0 T; l$ H6 b% i
RTS
3 X3 ]9 _' f* l
: T- e. U' v! q3 d .ORG $7300! L9 [0 J( f- L1 c
M1_TO_M4: ;切页程序8 f: {8 r% f# |, H& ^2 v
CPX #$00' @# D+ ~2 L) {. N
BEQ REG_SET( S) t# a2 V" l. |3 q
CPX #$01
( w6 t1 [& r* a+ v/ K BEQ PPU_BANK_0000
8 w3 y/ ]$ a3 J8 t8 _ CPX #$02
1 w& r: C [% s3 q# Q: M BEQ PPU_BANK_1000
/ T% ?+ m& g; Y' y7 R1 \ CPX #$03
2 Q3 C2 C- w0 V# V+ L& l BEQ PRG_BANK1 T/ x/ {3 h6 h/ X% N# V
REG_SET:
7 k2 c; a+ K) L# M8 `' E& W+ M STA $A000% ^! A$ g: {( U
RTS
0 i% o" I; D8 A% W6 Q8 i1 i .ORG $73206 t( n" L1 x, {9 ^. |" s: `( M
PRG_BANK: ;PRG切页6 Q1 T( E5 V3 Y+ v# @* x
PHA
8 f) x) y1 \+ O/ u/ A% P LDA #$06' @; J$ ?( t9 w0 Z
STA $8000
% v3 Y6 i5 F7 J9 ]% b/ N PLA
3 ^% M ?) Y" V$ x9 p' m6 ? ASL+ J' s' o# {7 c3 g% z- i
STA $80012 ^% Q5 s6 |8 w% Z$ \! r9 |
ORA #$01
2 c! m6 n+ g" R/ \0 N PHA1 }2 R1 O9 g( x- C h
LDA #$07; w5 f0 c" a; R& I) w3 C/ I5 U3 D6 R3 R
STA $8000: a2 n, `! U O+ Z5 H3 y' n" k3 K/ v
PLA
. {9 |7 x1 M! a STA $8001
/ p" W4 u! F/ N( K; ^ RTS, B/ Q# `+ e& q/ @; c
.ORG $7340- w% `# j# U4 D0 B" p
PPU_BANK_0000: ;精灵切页, ?, s/ N: i V( e
PHA/ w; C/ |4 M8 }3 I: C! |0 W) a( E) Q
ASL
0 ~1 `; ?& [' J: C F& j ASL& ^, _1 c& P$ }* F
PHA3 d# [' [+ ~$ M( k
LDA #$00
: |; n0 R7 @9 e& R STA $8000
. H. @2 @/ ^6 Z& d. ]2 N! { PLA
s$ Q2 H, Z5 U! Z7 u1 T" @' {$ _' s5 I STA $80013 V1 n' ]$ q }0 Q8 z3 I
ADC #$02
; H7 \ P0 f$ @$ u- h, \6 r ~( z! N PHA
3 R7 [" G1 B" k! w- w) B# L) z LDA #$01
: d' t$ X7 T5 T/ E' J STA $80009 q4 \# G W6 X. ` a! i
PLA
0 Q& d0 X4 b+ K/ u7 Y) s$ J2 f) ] STA $80012 h8 i/ A& `; U: `5 d
PLA
' R0 F/ G, a# q' S& M RTS9 G8 f4 R; G: D, n& }* _/ d2 i
4 z6 H. [2 ^8 {- s. \) _# E .ORG $7360
+ B/ h) ~1 s: e* r. WPPU_BANK_1000: ;背景切页
7 U0 j( X; }6 i# G# A5 K+ c& ~! @( K1 E PHA) H9 b& _: \3 _1 R1 S( y
ASL
" ]8 p" ~5 m- t' s: o7 \ ASL' O0 V; e4 X/ V5 M' t
PHA& d6 o2 J5 X9 q' v( E
LDA #$02- V: t& t2 A/ h: Z9 R
STA $8000
/ {/ }8 o& `7 ~3 r PLA
3 u+ o2 A1 P4 }5 y STA $8001
! e6 n$ C9 \' e* o( o ADC #$01+ C$ v/ y+ f: I9 I( d$ w5 t, X
PHA# f. }2 u# e8 n
LDA #$03
/ S9 j* m. S, s% c STA $8000
- Z% B1 D1 ?2 ?) i( s PLA
1 I) ]6 q8 S; Y0 a- v; Z STA $8001$ t& J7 M. Z* c. B8 x7 I2 @
ADC #$01
& {& j E+ D9 }& V& i9 i PHA
6 n: R" ^5 E3 K \; ]6 l2 M! z LDA #$04
1 o |1 V L$ _* O$ q# J1 S STA $8000
: S9 m2 a+ w' L2 _ PLA# ~# K6 V% F; ^, O: @
STA $8001
@$ L- R5 H, A( ^5 [( Z ADC #$01
! h- V; o1 |+ V# m PHA& k5 T. E5 f; Y# _# ?4 v
LDA #$05
4 A& p. T( n( Y7 u STA $8000
; [8 C2 s$ F9 I' V: j0 y1 l/ l6 H PLA
j- Z+ H* d3 i n5 d0 m STA $8001
. \+ l5 M& O8 ^ PLA
8 q( l/ P8 B; L/ x5 T0 F& J RTS
7 p- u6 ?' w8 c# _& r2 b$ H' u9 m
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|