|
|
;[FC][最终任务mapper1切页程序]2 X" n4 y0 T- c' J& Z' a- \
.ORG $CD9B
% l S# S& {# x9 P- TBANK_START:
9 W, X7 a# M7 v- p+ M) e! H2 n( c4 B STA $706 X: |9 X6 }/ X& {. ~1 Z5 Z
TXA& T5 ^, X! _2 @) C% h% n
ASL1 T8 q. N- j. O5 a" X2 z# G
TAX- W1 b/ _" Y$ t! a
PORT_SET:5 g$ n5 |/ H- R* }
LDA BANK_DATA,X
- u b. }6 j9 x& \# ~5 \3 P STA $6E
) I( Y! O1 R+ ]( j9 { LDA $CDB8,X! S8 P+ d( j9 {9 y( @) E7 R0 q" e+ \% `
STA $6F
3 P" D }. }/ E( h. w5 D& X# U& Y LDY #$00
; }0 W4 a2 H5 t$ i LDX #$05
5 T7 d% K* \7 W6 G! d. o6 | LDA $709 a/ J6 G- i6 T7 | i* Z
PORT_WRITE:( O$ E+ l) m1 G, w
STA ($6E),Y$ Q5 ^- t1 G8 x% I
LSR7 W% L: p: [: d; V% D2 L6 D! V+ w
DEX
5 H0 f0 s/ ?" S/ @ BNE PORT_WRITE
5 K4 G* a' p8 @" b# Q4 j/ I1 f RTS; @9 Z2 ^, l4 f* y' e w2 l
: u% B- B$ R0 ? c! y7 e ) k7 a, F& f; s9 R0 N
BANK_DATA:
. s" h5 C2 Z2 n8 } .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
* P; Y4 z3 o: W( ~ + W; b' `) [1 k+ |
' U1 D+ s; \6 c# L
;[FC][最终任务mapper1转mapper4切页程序]+ B4 w' h* S0 ~* w6 ^+ y2 t
.ORG $BFD2 ;初始化跳转# ?; V4 i; E8 ~2 |
JSR $FFC0
1 X/ u* }% J. S8 K, s! \; w7 Z0 y% q' R1 x
, E, a& D4 p5 k, s/ o
.ORG $FFC0 ;切页+ D4 F6 Q+ e/ _) {
LDA #$06
1 Z7 f: V! m8 D% ] STA $8000) U0 W% A3 w- @: f# V% b
LDA #$0E
1 B- P9 F( R1 Y. I* X! v STA $8001
, h3 K7 z* T# v) [) C JSR $80000 a& J: D3 Z0 E/ |
RTS
" L3 }2 ~' \+ w ' \. k1 R o8 \6 a4 t& r
.ORG $8000 ;数据复制
! R, f5 U. V, B+ C5 E2 R5 x LDA #$809 C9 E& `7 R; y l* e
STA $A001 ;启用SRAM( N) m( n+ @4 }
PHA) g7 N+ }* [* v- \' u" }
TXA
7 j0 H, m7 F* J k PHA f2 I* r& c" H( A3 B. y# [
LDX #$00
4 c! P [ G+ x- \ ^5 C( X! sDATACOPY: ;数据复制" R/ l ~* j( y: M" ] J- v
LDA $8100,X
7 m b y& g9 R" K* h- n STA $7200,X6 g' ~2 j9 R0 ~
INX8 F, E& _% R" s! ?
CPX #$00
6 C5 _3 I, q2 M BNE DATACOPY
) g) P, P7 T& n3 w6 `) g) G; O PLA
, q" M) Y9 j- x2 E$ O TAX# ^7 Q: D7 o: E$ ]* c
PLA
3 H* M9 |4 e8 W) S; J RTS
F4 o) [1 I8 A: u* c* g ( W4 h0 h2 Q, y$ i: |' L9 H7 s8 B% x
.ORG $CD9B ;跳转到转换的切页程序- A' H* y" m/ Q" }" `+ o
STA $70# t* o' T! n1 N4 p7 J
JSR $7200* x/ H/ ?" k8 \
RTS3 p; \6 g" r! u1 n8 l, u5 D
# Z: Y& L% ?! R- [
.ORG $7300; Q% G8 D" h. q8 B- K1 k% I
M1_TO_M4: ;切页程序
9 Q w. z9 \- u! Y2 r5 Y7 Z/ O CPX #$00
. p, M% a7 z7 ` BEQ REG_SET, U3 G. f1 x' J. F- U; j
CPX #$01
& p# g1 @; y* M% V& d Q BEQ PPU_BANK_0000
, u, n8 |9 }; @: ]3 V CPX #$02
6 w: b8 ~7 X6 k" A/ Y4 q9 A BEQ PPU_BANK_1000/ W# |! Z+ C4 E
CPX #$03
; J% @- s6 a: r% Y8 s! [, N BEQ PRG_BANK4 A; x/ |0 r6 i" a; [
REG_SET:1 q+ b1 `# ^9 z" [5 v6 b
STA $A000
- M( P j' e& ~. }* A1 e! H RTS/ ?! @$ c. T2 o% K) m
.ORG $73200 k5 w! ^. d' a8 S' P, O, M1 f
PRG_BANK: ;PRG切页
; j! x7 ]; E% z PHA8 G U5 m( r7 _. G
LDA #$066 k) t; C+ ~/ ]* n" n
STA $80000 m/ b X- T( j# N" N j2 s
PLA
" v5 Y: r# D2 Y8 V: |0 H4 ` ASL
2 ?& N( p& J% U7 x& o6 R STA $8001
% m. D8 c' j4 w, ~& p+ ^9 B: w- h ORA #$01' G8 ~/ I: Z7 A2 l& v
PHA+ }. I" W! D6 C8 w' X7 \0 L
LDA #$07* s( a5 ~3 Y* {. R8 g1 b) q
STA $80004 H; n. E7 D P) K. d
PLA
1 m' A& }, j4 ?8 y; J0 L) G STA $80016 G0 V% g3 ^3 L3 m: G, ]
RTS* |, ] K) [0 i. t$ X! f" V
.ORG $7340
2 F# ^" }6 f& p9 U7 p5 gPPU_BANK_0000: ;精灵切页
- V9 a9 `( _( }" R) R PHA, [$ P9 m# [4 ]9 I4 @8 `, t5 H
ASL& Z1 t2 D- ~$ E1 T4 A9 Q6 K, a' E
ASL- u2 P0 [1 w( _! n( X- K2 A8 g
PHA$ K" {* H& i8 `% x6 L0 V5 H' I* L
LDA #$00
) u! E! z4 F# v+ \0 w2 t) Z STA $8000 L0 w( |5 p8 l+ k
PLA9 j, R8 Z( ^8 ]2 `1 j2 M' a! K
STA $8001
: s+ F4 t U& r# m: X# K ADC #$023 s0 E, e% M. _0 X
PHA @0 ^6 z& n7 J+ w4 x. U6 s c
LDA #$01
9 R, L; w4 H/ ^! m9 A Y STA $8000# Q( T+ P" r3 d8 P, y5 O" p
PLA3 ?0 N: U k `7 X i- v
STA $8001) o+ E' \1 t/ |" S
PLA [: i7 y% _, [! B D; G: B
RTS7 B3 q* x0 |* T9 P, B
% p+ d3 o. [. P# Y% v) h .ORG $7360
& c* O' P( ~* r4 `" R+ i' PPPU_BANK_1000: ;背景切页
' X" u$ G8 q. h) B PHA% C9 ~6 p3 d' n
ASL
F; ^, u$ a& h$ v ASL+ N5 _: C9 G0 r) Q6 F9 o4 p
PHA: P7 K0 e j7 i% I* g. R# U# {
LDA #$02
/ Z; ~) V" V) X! \/ y# u4 Z! v STA $80006 Q( t: f4 s. P0 T5 C' E
PLA( | Q; S( R' v% P* j
STA $8001
* o6 L, J+ J, d% x: {. ` ADC #$01; w# y8 K" t! U; |
PHA
! o' q8 w8 |6 V/ B/ }' { LDA #$036 i" ^) o1 |8 A# \
STA $80009 L! T; @4 P% J* U
PLA
/ W" ]6 T, V% @/ h0 F STA $8001
# O+ P; L2 m, B& | ADC #$01# V3 A' U! Z9 C
PHA
4 w" y3 s; M7 ]4 h* j' d LDA #$04- X: R: N! s5 d# F; F/ G
STA $8000% _' ]; g4 ^6 q, j, Q0 J
PLA
$ d7 n* _/ p* a# q6 H! Q% ^ STA $8001* r( r W' }# U F" \
ADC #$01
8 Q. k% V2 M+ K' R& m s& _$ H PHA# S0 H( D5 r! J) {6 M7 u
LDA #$057 I* ~/ ~6 a, U/ X/ z: x( m
STA $8000( l( G$ G( }& D% C
PLA G& n* R* y& e' u+ z/ h
STA $8001 f7 R) m" O& r1 m4 t; I
PLA/ X3 {" a( t: J8 M4 Q
RTS
- L+ R- V U3 k, t5 m4 i' I# ?. g
; x1 w0 ?! f5 T- w$ ?& U9 P7 R6 W |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|