|
|
;[FC][最终任务mapper1切页程序] U* H K" O9 V- D1 X
.ORG $CD9B
8 S* g1 U+ l2 \' `2 O4 M/ p4 XBANK_START:/ _2 H, ~0 K( S$ V8 Q4 X. {' d
STA $70& R8 l' A+ {' i" z
TXA$ i7 k- ]/ N- H7 E- G+ O
ASL
3 H1 @( D; E$ F( o+ ]$ E. i TAX
% |! J9 I ~* w7 c4 u# c6 D/ k p% mPORT_SET:3 @ F& V( P* q$ I
LDA BANK_DATA,X
/ @+ T9 i3 ^# M! w4 e& _; I STA $6E* u% U, Z7 G9 D7 Q/ Q
LDA $CDB8,X1 B0 {; a$ V k! s3 H Z* s: e
STA $6F
, Q( S* Z" y% N" P/ @ LDY #$00
% k8 }) w9 G" Z LDX #$05
% j; K+ p8 k, D LDA $70
( U8 C, ~/ I8 }0 B4 D* Z$ yPORT_WRITE:& D6 N4 S1 S/ V' c- i/ n
STA ($6E),Y
3 F1 _( W" d, A r6 t1 c8 X LSR
1 r3 [. s. K7 m DEX" G8 F' }1 m$ Y0 |8 M% N
BNE PORT_WRITE
) ~0 ] U& \" s8 U7 [ w- i RTS T4 `; r7 V' t
k' s0 X+ x. N" {5 J _- p
2 f$ c& v; A; e( E( Y" IBANK_DATA:
( e% ]) \. {) Q; y0 n8 w$ v .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF. i# a( y: s" d
" i. o' q, J& m0 ~. k6 a
t7 T, H5 ~! \1 o4 `0 @
;[FC][最终任务mapper1转mapper4切页程序]9 z. {1 I8 f+ D
.ORG $BFD2 ;初始化跳转
' O) N n+ l! k' t JSR $FFC0
0 m2 W; e5 e v9 x* B ]* n
0 L0 I( Y q/ B0 Q) n7 q, Y F7 ~
.ORG $FFC0 ;切页. L# R( F4 s% K! K7 K1 ~. M
LDA #$06
5 F4 D3 W" o% Y% \ STA $8000
4 ~- s- T" V- l' d LDA #$0E6 m Z' l1 ?1 k# i: Y, `1 ?" J0 Y
STA $8001 X+ e, ^1 `5 N$ n8 y
JSR $80001 C+ u- q3 H' |$ I1 y# [* N: |, ~
RTS 4 e! [; M$ E, U1 n0 i! h n# V6 N
# v, O. z( E; f .ORG $8000 ;数据复制' R9 V O' u8 |% P. P7 |! K1 a
LDA #$80
9 W" Q& O5 d( s6 U9 o' K STA $A001 ;启用SRAM! x1 ?! Z/ k6 ~" ?3 n. Z
PHA
( O" r( Y/ y m5 d. {9 Y2 N TXA5 U6 e3 R* o8 N! a
PHA
* F" E/ [( ?9 j3 K0 z LDX #$00$ {, s" t% ~4 ?) d; d8 d
DATACOPY: ;数据复制+ C& G0 }0 `. S; H( n
LDA $8100,X
* e1 H0 b. m3 r2 R: k) e STA $7200,X
( L: C9 `$ `4 }& V* y0 F INX+ Q- X# W2 ?4 s
CPX #$00
; z( n- {7 |8 C9 E# N BNE DATACOPY1 n; U& S; m( F0 e
PLA3 J7 ^5 Q" L1 {+ G" l4 f! U/ B5 B
TAX1 Y# H, p3 e* ?- z2 C9 E6 {
PLA
% c6 |. z N T. Z* A/ @& P RTS
6 z, L! |! k4 _7 N$ I3 t 1 g4 i$ U* {8 ]! l
.ORG $CD9B ;跳转到转换的切页程序4 z+ y3 T: i& R( o* ]" Z* G7 l B
STA $70" Z# {$ y9 j- g7 G* |2 l
JSR $7200
+ D0 W4 g% G8 H: o% M; d* n) F RTS
" }" f: z7 V3 P+ u/ f1 E( A7 E: z 0 f+ K- _8 Z7 S+ P% d/ A! t
.ORG $73006 u1 n# q: T( L1 V' V! U1 h
M1_TO_M4: ;切页程序) D0 m8 _# S! s
CPX #$00" @5 ~5 l6 ?* f* @- ~
BEQ REG_SET/ Q6 T3 B) q5 P, A9 g
CPX #$01
6 {, f' X) V1 Z# S BEQ PPU_BANK_00009 ?& H, x" c7 Q9 {* Z
CPX #$02
8 z0 D4 C l1 z; u6 C BEQ PPU_BANK_1000
$ h W s$ [. B" b1 } f CPX #$03
- b5 z8 W2 J6 ~' J* G BEQ PRG_BANK# M6 z* M3 |, W5 O2 Q6 ?
REG_SET:6 @$ j j* x* h# h! Q
STA $A000" N& C8 D; U+ k) {+ H) p% W
RTS& ?# D2 H2 v% f
.ORG $7320
& {; N( H8 V+ G" m+ vPRG_BANK: ;PRG切页 i! Y, q- ^7 i. {. ^
PHA
* @ T# Q* B& J1 p* r Z. N LDA #$067 w% a o7 G @
STA $8000
8 X& h% E9 k, P$ o3 O: k" w PLA5 @* M: O* q6 J; y9 G7 z
ASL
* n" f; C" |2 T) @ STA $8001
% e. T1 A6 t l5 X7 `6 R) ? ORA #$01) W( W$ ^/ v) r4 D& d! i+ [9 R) J
PHA1 F2 k7 l7 m" A& B9 g
LDA #$07% i6 @9 \) h- L
STA $8000; O/ C# e+ ]$ U3 Z* a3 K6 M, d
PLA
; A% x' J0 e' `! \ STA $8001
- I1 a( L3 h+ p" f' o0 {: o* O RTS- D7 [) v5 j: l3 U
.ORG $7340# X% D! i6 @3 m: R5 T
PPU_BANK_0000: ;精灵切页6 [7 j. R4 ^4 T% E
PHA) ^3 a0 C: @( W3 H: y
ASL
6 H) K! Y; Q2 e1 h' B4 n! c1 { ASL
- t" V, f# O( |4 }! x* Y* { PHA& }( {& r: r1 S, w7 H
LDA #$00
* i6 H; y. v8 T# ~ STA $80000 M0 Q7 X5 U8 y
PLA
- G& Y/ L6 w. X1 x, G) D STA $80017 ]6 p' K& A# T) A: H; n, l
ADC #$02 `. c: P& R2 b$ E8 H
PHA! a) j1 a; V* T4 i
LDA #$01
" p' O" f4 i8 q- y' r STA $80001 k4 _1 n4 k+ p9 m2 t6 C4 B
PLA
5 T) |" F( d/ {/ ^1 ]' s STA $8001! o% o& ^' I8 `
PLA1 X3 f0 r% c5 n0 B( N
RTS
& P3 i0 {: ~! P" O 4 s7 X* Q6 N% V; X: w8 u# f
.ORG $7360
/ J+ r; U" z8 p6 I9 c; ?PPU_BANK_1000: ;背景切页
# W; g5 D0 ?+ g6 {2 j PHA
# c4 y; p$ O; ]6 L: g ASL
) @+ h6 c9 M+ F- m# l ASL
2 T+ I, W! Z* ~. M* B6 G PHA
2 H6 G2 q% C+ M6 o: v" T+ _% z8 T LDA #$02
u7 d. V% Y/ M' M/ T) R7 s" L STA $8000, e/ I: b' `6 v) h% _. e+ ^ P
PLA
4 F K6 j- X+ u. z1 C a1 W. F STA $8001
; ]8 d. R7 s' o0 d0 g* z+ a. t ADC #$015 C) x) G; w+ O& q
PHA4 F9 ?$ z' o1 _6 ?7 p1 l3 ^1 d7 p0 q
LDA #$03
3 n: d# a3 B5 `/ R& n) b STA $8000
9 E6 {0 i4 E2 d6 b$ q* h$ v PLA0 I( r4 D0 k1 ^$ a
STA $80011 `) L0 K% ?3 {$ G5 p6 P8 b1 y, Z
ADC #$01: z1 r5 K* s+ V$ b
PHA
) I$ y1 w. o& g- c LDA #$04
! p' R* `4 E( I, Y$ l( L0 i& { STA $80001 z0 l! G5 u) E a: s( W0 w
PLA
# D6 V; Q& v1 J$ W( n, }: k STA $8001
% [. q2 o! g- Q# _& D* }9 o, T: r' j ADC #$01
5 p& V; D7 s6 q& M: \ PHA
% W, q- K$ p$ z- n LDA #$05# ?, j# K' m. v9 a$ f& c
STA $8000; t- v% g/ U$ r* j, s
PLA- z2 Y6 n" b6 C0 r
STA $8001
8 l/ ]7 I& M; i3 z3 j% n PLA
* s+ |# j8 |+ ?! `' a' q1 w RTS3 L. z: r0 p# `+ q# u; L& Y
7 q: r& X, I: f |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|