|
|
;[FC][最终任务mapper1切页程序]
x G( F* h7 C9 t$ s; X .ORG $CD9B
1 X; ]7 z4 ?( L. C/ n3 m/ gBANK_START:' O2 T% y$ z; N4 {2 J) |1 a
STA $70
+ M, j# |7 I' G* f; q" G8 B6 Y TXA0 |# B& h8 } e$ O$ ~" p5 `
ASL
; D' P7 B5 \% w+ d9 g TAX
5 u- N- Y8 T, E3 XPORT_SET:- `: B$ d( v1 n; s0 a
LDA BANK_DATA,X6 G9 w: v' _0 m2 A
STA $6E. Q. _" H8 k% {
LDA $CDB8,X
1 E4 G f# d- d4 v3 r STA $6F' L1 `% w3 K+ v
LDY #$00
" M1 ]$ Y( W ^$ }+ J) o! f LDX #$058 _' J9 S0 j, @ j
LDA $70
+ K* n6 `; }7 B/ v, ZPORT_WRITE:
7 N* I# i5 @# ~# t' J+ b* z STA ($6E),Y
1 }8 d2 f8 y: n- N. U LSR3 X* p) j; l G0 O! w K6 b: @
DEX* f( A9 T L, F& i- H- L% \
BNE PORT_WRITE; ^0 E9 |0 s" F) U) ^) T. C0 H: u
RTS
6 u5 L- I; ]* s8 f! e1 M 6 z- F& [8 s( d' F; j3 M
1 w4 F/ Q5 K3 w3 o/ y
BANK_DATA:
; E+ n/ \) r9 j& T) X) | .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF$ V+ v+ y, F, C0 K. _* T2 \9 C
$ G3 V% K# H! e f; B) ?0 [7 c
! v! {* j2 ^& n* N
;[FC][最终任务mapper1转mapper4切页程序]
; G2 H `% L( X% Y5 O9 S( I4 B .ORG $BFD2 ;初始化跳转
3 w p) x, ^% G% I I5 _6 }5 C JSR $FFC0
W' z% ~9 i9 b4 p+ j4 |
% b2 Q- A" K; i
" M4 v& T6 J1 K# ~, @; ~1 r .ORG $FFC0 ;切页 F% R6 J5 M% P! ?- z
LDA #$06* K; V8 G. d/ ?3 ^" B
STA $8000
5 S% P) O/ T& g' t LDA #$0E; q+ g' @0 g( G( c; H. C! A
STA $80012 D( Q' ?1 ~- O5 y) }3 E* j* d
JSR $80006 u" @3 a; Z2 _, Q
RTS
- g3 M [8 ]+ M: ?$ h8 {+ _ 3 u; r1 [# _$ y# t6 K, @$ b {% E6 i
.ORG $8000 ;数据复制
: y, t+ l5 ^7 X6 x1 E* x LDA #$80" [ ?4 ~ P/ w
STA $A001 ;启用SRAM
6 O/ l; m4 j( ?- ?+ R/ l! c) R PHA; V: E! }# T1 w5 b
TXA
; P% H1 b: m6 o" X5 i: f' ^; F PHA9 ~, l8 b$ [ A9 Z! {4 }
LDX #$005 s% Z8 @4 N( E- k, L
DATACOPY: ;数据复制) T4 F' H7 L/ @/ X9 d9 t" y& d
LDA $8100,X
6 Q8 t; x- m7 X+ @- ]: l& R ?; o STA $7200,X
# K4 N. e7 @0 h# [ INX0 i* S5 u% m' _- B1 i) }
CPX #$00; K, n, G( B- A4 R6 }9 t
BNE DATACOPY; L$ m7 x/ ~6 k9 |0 {
PLA7 v/ P+ }5 `+ l/ I: w
TAX+ G2 S6 Y, }2 N; l; D
PLA
3 W- L2 ?$ k0 L. e RTS/ J- Y% m+ T. C
m/ e/ i+ A% Z/ Y
.ORG $CD9B ;跳转到转换的切页程序
) b% {! d1 `: y* f- K, I0 E* P& U; o7 y STA $70% O2 X1 Q& Z% c
JSR $7200; ~9 F7 v" T6 X/ K6 ^
RTS1 ]6 G9 E4 r# o; f
" T% k# v; ]$ {4 B
.ORG $7300
; H. N7 i; V3 ]7 B8 E" j0 ?M1_TO_M4: ;切页程序
7 [ n0 j+ }! t$ p. ~; V6 P CPX #$009 h; \8 ]+ A" m- I! f
BEQ REG_SET4 k% q/ W/ W5 z5 `4 U. T' N
CPX #$01
# P- }9 b* Y# `1 V BEQ PPU_BANK_0000
* x4 s5 `- a/ ?# f7 ]. B8 g. Q* |9 K CPX #$02 }; C- r: c5 l
BEQ PPU_BANK_1000
9 @& W" o2 E7 w CPX #$03
( w% G( O- g( }/ `" |1 [ BEQ PRG_BANK
( c% c1 t0 a ?# fREG_SET:
0 F4 A2 C" f3 S$ M8 b1 l3 P STA $A000
+ {+ l. P3 T# P RTS2 K& m, Y' r {' T& r0 `
.ORG $7320
$ Z/ a' }3 K8 s& |1 nPRG_BANK: ;PRG切页
% @* F* @. l+ k7 V: F8 f3 z PHA
. y3 e. ~# T/ s% H8 \6 C. c LDA #$06
3 ?- h5 y0 n7 [$ J& q1 |7 Z0 n5 |2 ^ STA $8000# e, ?. W5 s0 @! ^
PLA
- [, ^3 m' S6 m# }1 }1 T ASL+ j9 }& Q' }2 Y6 p( s
STA $8001
, I' u7 M% |! x0 Y% v# T ORA #$01# S( T- E9 d* D5 S9 G1 n# t6 y3 x
PHA0 e3 G% ~. o6 Y6 q% M7 L f% d5 |
LDA #$07
7 U1 K1 E5 y, s0 `$ v8 G+ N" s5 f STA $80007 w- o8 u9 o7 j }2 O& P* E j# J
PLA% {8 n. a: I+ K+ Y; ^
STA $8001
+ r, v8 E! l/ Z RTS
' R2 B" \* c4 ~/ H) @ .ORG $7340
" F: N$ f" F( DPPU_BANK_0000: ;精灵切页: f! U3 V8 J7 L( A5 Y. c
PHA
+ K+ d! i z. N9 f ASL
, i1 K6 \; z3 n. a& h' ? ASL
) C! |- A7 D3 H PHA0 G' s ?4 K6 }& K5 X, s5 p
LDA #$00
. H/ f, e3 Z6 M$ N4 | STA $8000
6 D. b- K# d; r3 m* X5 X# ] PLA
- q o6 C0 u% w" w STA $8001
1 X8 c4 c4 b2 v) S% @ ADC #$02; I' v4 r3 y3 o, `
PHA
6 }$ K+ [8 N1 y$ L& ^$ G LDA #$01
( P8 h; A7 _& U, A! B5 h. z' C STA $80003 {' U" \. _) z* o
PLA
9 |6 O. a: E4 k3 p9 P* a! b STA $8001
- v, [- e3 x3 a7 k( x+ Z, d1 z PLA
0 ~6 E( Y1 a0 A0 }+ ^' J Q RTS
: t; @# u A2 k & I8 l: {" h; z
.ORG $73603 g3 `0 T) ~9 K7 ?+ j& e @! B
PPU_BANK_1000: ;背景切页$ H$ }$ N' U, t7 f* ]
PHA4 U- c4 n1 H/ [- G% v- }8 V4 l
ASL
$ _3 w/ K0 l# }" s' K ASL8 Y! T( a5 P* j6 i% W! Y, n, s3 i
PHA
8 e3 {$ m8 J+ w LDA #$02
. D5 f) G( N2 T3 f STA $8000" A/ ?- J# ?! E6 L& m2 l
PLA$ M5 \) G: z3 k( n. ?% M
STA $8001
- A2 K% A9 `; b, u3 B* ]3 N7 h ADC #$01/ i4 P) k0 T8 n: @% }
PHA/ S; l1 o/ u- d% X" h0 w
LDA #$034 ~+ Y6 y% _( w7 m6 b5 m2 p
STA $8000
1 F5 r( Q2 r9 j$ s: |( U& B PLA. O, }8 B9 A4 e
STA $8001
$ i9 q5 q2 ^7 X) W$ _9 t ADC #$01: F# A! z1 ~6 [" z4 i0 K6 l
PHA- Z1 o$ i0 G( e- G0 X, o
LDA #$041 f8 }# e5 s* d
STA $80000 W9 T+ g. }. M. m; S. B3 A
PLA. H# I: y* Q4 x
STA $80018 w- R$ t" p/ q, Y
ADC #$01/ P7 [6 c4 R4 e/ H
PHA
, O0 }0 _9 m1 } s LDA #$054 E9 l- }2 B. L1 E* A: B. u
STA $8000
4 s5 T: ~) L1 { PLA/ v u7 M: K% m: f$ y
STA $8001
6 `3 s- `+ x5 N8 k PLA$ ~: l+ A/ c6 w
RTS) O$ F5 I5 q3 T& X7 P( p" \/ D
! Z: v w, }# p+ d- b$ J: r
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|