|
|
;[FC][最终任务mapper1切页程序]
. l6 I, l2 y7 h" a. s6 T b .ORG $CD9B" F3 x% O$ a' k; f) k
BANK_START:
8 M/ \2 s( y+ y0 a STA $70
" T6 f) Q" n! v8 f; } TXA; W- j! f( n5 \
ASL8 P% c# s d. U0 W3 _0 C
TAX. q) o* G% W7 }
PORT_SET:" E: ?; f9 m5 A& o6 P# O
LDA BANK_DATA,X
]/ B5 N/ M* ]5 j- }* J0 s STA $6E8 R8 `; \- N0 A( \. M7 E
LDA $CDB8,X
6 |$ M J7 R4 B, ? STA $6F2 m6 }- L3 ?- h5 k0 t, z
LDY #$00* T1 k, H- G# f
LDX #$05
: T D6 f( u( g/ F& @ LDA $70' a) V9 J+ w4 `2 {4 p5 R
PORT_WRITE: x" D. h# t5 p& k! ]/ e
STA ($6E),Y6 d5 _5 l, g8 N6 K! n
LSR! h2 k; U" H- _6 p8 K
DEX5 e3 T" X& v2 ^0 K
BNE PORT_WRITE
! X6 S; H; p1 R. y/ S7 M- K q N RTS+ a8 {' _. R, u$ `# @$ ~6 V
\2 Z, e8 ~2 h/ B! \. c8 t
$ l% m/ y' h! E4 K/ g6 r+ j" |4 \BANK_DATA: v# O, S! Y: Y7 g
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
) R7 \ ^3 z2 Y' p- W& |* A
4 A1 h8 R5 O! z2 W * w2 ~0 b) ^1 h1 q
;[FC][最终任务mapper1转mapper4切页程序]
5 p0 f7 g8 e5 }: I. P .ORG $BFD2 ;初始化跳转" W" P9 P! r$ W# B
JSR $FFC00 S, N8 @- ^+ F+ K5 C7 j$ q8 h) u
- Y7 ~( U% J1 l2 j
8 |1 V* ]6 W+ l5 K .ORG $FFC0 ;切页1 j4 a) x- f; Q4 C( x
LDA #$068 r' Y! y8 u/ e! V1 m9 n+ t! w
STA $8000
. f0 S0 T# F B6 P# k8 E) E3 B LDA #$0E
1 `8 f8 \* }1 r1 m$ E: s W STA $80013 m. @. C, d/ r6 I% @
JSR $8000
6 Y! Z/ c+ |. L9 F5 T( g' r. Y% @ RTS
# @9 M" b& p( J5 W* C$ {
4 x; W4 g" _- W% }6 e6 p .ORG $8000 ;数据复制
% v0 e. g3 r5 x" @& {$ G7 x LDA #$80
' Y8 ~# W U) l3 R4 s: _5 y! ` STA $A001 ;启用SRAM
3 l+ E& X) u7 e1 u; @7 V PHA! g) Z: ?# s% Z1 x
TXA
' h/ A+ c/ e' R$ ` PHA
* |( M1 N9 @& w# S LDX #$00+ c7 o9 u4 I7 i7 E5 D2 Y" t( T- B
DATACOPY: ;数据复制& w* @! `1 ~5 X9 b9 }$ [
LDA $8100,X
) m3 D5 Y( u9 A5 E- A, e STA $7200,X( h* Z+ T$ J( y. D
INX2 u& z) A3 S6 w% u+ D3 O5 O
CPX #$000 {) G6 U7 ~1 b9 R' E. Z' ^- Q
BNE DATACOPY* J( U% U- Q8 L, z% Q/ |5 p3 v
PLA/ r. Y: ]. m/ S: v% E4 D: m
TAX
3 s) ^1 M0 J/ Z$ s2 B$ V PLA1 }1 J. s! o2 \/ p4 {
RTS0 [6 ]8 R* t/ t) i# r
5 r. q, L! W) q) b .ORG $CD9B ;跳转到转换的切页程序0 ~+ G+ w$ \+ X9 S D8 u
STA $70
# T) V9 U6 k7 |7 L ]+ o JSR $7200
; ^5 ]4 t* h! o5 P$ s0 t( Z RTS
5 E1 b. ]" q4 d; m$ G ; K& W, A$ m1 ^% h7 o( V+ b4 b: b
.ORG $7300
' P9 j1 f7 P1 y3 HM1_TO_M4: ;切页程序" L/ _+ U+ r# ?! q" U6 B
CPX #$00, F) D# k) E N- C: {
BEQ REG_SET7 i8 G+ {6 ^% V2 z$ b' o( E
CPX #$01, W2 O; T3 P6 [9 d! M) Z D( F
BEQ PPU_BANK_00003 p! P2 d+ e! L7 W0 M [
CPX #$02
2 V$ m1 C7 \% {. t8 _* G4 s BEQ PPU_BANK_1000
6 z: B- s6 T7 F0 |# @+ R4 Y CPX #$03$ ]9 \/ M' G; B( r g5 A
BEQ PRG_BANK) |2 k @3 k7 q9 E8 v
REG_SET:1 X9 S, V$ l0 X; Y" u
STA $A0004 M( z+ n( _/ D* M# y
RTS3 _1 x# Y2 [1 L+ l3 g5 Q" G
.ORG $7320
5 E' v; G, q& i1 W9 I: e9 W/ SPRG_BANK: ;PRG切页8 A+ n* D4 R9 X3 a# M* V0 x
PHA. v+ }4 X. B" x2 s9 Q
LDA #$06
0 _5 O% [2 K$ Q- I" C' P, L" F STA $8000
) e7 S/ q, g4 e PLA
" P0 P( S* ?5 ^, K0 D n6 y+ F ASL
+ {# T- ~( J; X @0 g# c STA $8001
+ _: ^5 d% Y8 Q6 E N ORA #$01
4 u; j; M O0 a" X: s+ b3 | PHA
5 v E7 s1 p1 E4 f LDA #$07* i* b" V6 P, R5 F+ V
STA $80000 q" ?0 T& f/ a
PLA
5 k5 {: e( _1 X: k+ s7 \ STA $8001
+ U# w0 V6 e. \3 p" V RTS
( h k( |. a0 g .ORG $7340
# R: u! I! ~! w2 J M6 I3 zPPU_BANK_0000: ;精灵切页/ i0 W6 P2 x J$ A6 X; O3 B4 l0 ^2 I
PHA
7 J4 x" a& h6 I/ Y ASL
. g' r: p/ }. j# w( x G ASL
) Y+ d0 }! t/ i% X/ F PHA" u' d' p5 W. u& u1 C: T
LDA #$003 U0 p$ v' a* Z1 i' A7 C
STA $8000
% Z7 G; g4 I2 {/ Y1 l PLA# v" T* n3 J# ?/ u
STA $8001
* Y5 {# G) o' b# g3 h/ ^ ADC #$029 L# o% F% s: _# ]) h' f
PHA
- \' a9 S J2 f: R* k# v' R LDA #$01
9 M9 H$ ^) I6 V STA $8000
& `. ~4 t& }& u PLA
# v! L) \' R3 j STA $80011 o& ^- L3 _, f. s( h9 O' R
PLA
0 w9 u6 r& {, F4 G" S4 g( @ RTS
/ g* k/ k& }: X & V! Z4 ~9 Q. X, n I; Y
.ORG $7360
' A, c/ w. ]# A, E/ k* n7 FPPU_BANK_1000: ;背景切页' e9 f9 a$ M" D7 m- O3 o
PHA, ^9 U: J, k7 T5 A/ ]' Q
ASL
8 t# U. D1 e, V# ^' H ASL
) b0 V- Z+ D8 A6 r3 o1 c8 G' C PHA
, O: ~ W7 j8 N8 h; `/ g& X LDA #$02 _ J% `$ T2 u) g* i- B$ H
STA $8000
, N7 W8 ^- W" J% [+ H3 d PLA$ V- `- e8 w1 a1 w
STA $8001
- C. F8 X2 ^4 i9 P( V8 t1 m$ h ADC #$01
6 X5 }5 O1 ]/ `0 V4 D5 d PHA
( q8 D) U; n1 n; H- S LDA #$03; O5 o* {, ]" r) B3 y# T
STA $8000
! _" Z! ?9 Z$ I# I1 p: U& c0 \. f2 u PLA
) q1 b9 Q* Q5 M STA $80018 W# p: H% U& b% C, @2 W! |9 _
ADC #$010 m, z2 h6 _- q" f9 I7 K" N
PHA- _8 @0 @2 a. R4 R; d
LDA #$04
1 Q2 C' |; g. ?! q0 e8 L STA $80008 v) i$ G4 S: s- }1 P" J" O
PLA
8 B: g# Y* X2 h- v" h+ Y STA $8001
, }& o" N0 F$ F+ ^- Z ADC #$01* q$ t5 O5 H3 p a9 @, {
PHA( Q$ e+ n# S( U- \( ]" i$ ^# v
LDA #$05% [7 o" n0 a E. ?
STA $8000
: ]/ r7 r! G ]3 @1 a PLA' j2 v4 d) Y G# v0 W
STA $80012 B8 f7 s, P7 ]: y# u
PLA
! H- f+ ?' ?; s$ _6 { RTS) W5 c1 a9 m$ S1 K; h3 E3 a0 s
$ H. Y( J! I# W5 c; k* G! h
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|