|
|
;[FC][最终任务mapper1切页程序]' {1 ~3 g7 f" {
.ORG $CD9B0 n" C) ~8 D# B. f) h; Z
BANK_START:* v" T6 l u/ G: z" F' d% G
STA $70
$ A3 M, o3 J# Q! [* `( v TXA) x. e, ^. R% `1 u
ASL' t$ f3 k- w8 M# g# O+ ^
TAX: T; t) v v% o, b% m- \
PORT_SET:0 M; _' j3 _$ S
LDA BANK_DATA,X4 ~1 Z* r; d7 z8 S& z
STA $6E
6 L; A( y% F4 a! h* f; O. L Q) a7 c LDA $CDB8,X
/ W( h5 e0 G2 m% j2 w STA $6F
; B: O2 `; z. Y- l LDY #$000 }0 X' T D5 }) H: G
LDX #$05
; z1 R7 T1 d! T7 z3 i LDA $70
* F2 m$ V' l i8 Q4 g4 W0 i4 e& HPORT_WRITE:6 V; q2 q- c9 r( l
STA ($6E),Y3 x8 _* K+ O- Q; M
LSR$ K) Q* y5 Z5 [: E i; Q
DEX
; \+ q# n, d& S BNE PORT_WRITE$ A2 @0 A0 ?) J1 }% n
RTS# w) m1 M8 I( c; r5 G
: o3 R5 ?8 t* Q) c 6 V) T5 T+ l, I0 m
BANK_DATA:
3 o4 @, h x/ } A* d" u2 V) X .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
: d: f8 e, y& l* U! d
3 g+ B( V8 _. I6 U3 k3 g
0 |' @6 p4 _9 D; ~' J/ S;[FC][最终任务mapper1转mapper4切页程序], u0 {0 Q0 f. _1 X% E7 H% H( T+ G8 O
.ORG $BFD2 ;初始化跳转
% a, k- E7 d1 ]0 e7 e3 s$ o% d5 S JSR $FFC04 ?& ~) ~% o$ E* l3 }( l5 _6 l
" h' T1 J0 \: I8 F4 b3 g" G/ j$ k4 y' L* ~7 r$ }4 M
.ORG $FFC0 ;切页
" V; i( T3 q* k8 W LDA #$06( L8 V; y% Y+ R" L! X$ b# @2 e
STA $8000
* I$ Y% Q0 p; \- n. D LDA #$0E' i" s, m3 `) q3 g8 A: l: d
STA $8001
5 u( h# A* o7 M JSR $8000
; K4 v+ G" Y) t: [) i+ V4 Y9 ~ RTS
5 d0 R+ \# X/ h 6 w2 a. a& y9 @! |3 `; H
.ORG $8000 ;数据复制! k& M! ]7 a [& P# C Q
LDA #$80* |# t# U$ G% f4 g& S
STA $A001 ;启用SRAM, h$ d9 i5 u, i$ q
PHA* [1 o" M9 X1 q6 w+ R
TXA
- H# P6 o9 V7 x9 n, h3 @5 ` PHA# E; P% g- X3 | j1 @
LDX #$00
' H1 L" J8 N" M' u" E1 V5 aDATACOPY: ;数据复制) ]! Z4 c3 T" H: |# v. X
LDA $8100,X, \3 m0 s' s* p" m: N! k. _" ]
STA $7200,X
( h4 W0 j e y" n( R/ X! Q INX g, K& i0 {; ] S
CPX #$00
h# X1 {( w# D& @9 c6 G; {0 O BNE DATACOPY7 g ]: {* R2 J$ t+ b7 z
PLA
% h C0 ^4 q/ p$ v$ }4 o TAX: _% H L) B5 Q5 p8 P9 a& Y
PLA- ] h% a R4 D1 \
RTS
2 q% l* y+ `# r/ l' A k* _7 L& |% q
.ORG $CD9B ;跳转到转换的切页程序
+ z9 c4 x; |! |! G1 m k( }# z STA $70" A* Y D$ n+ C! ?4 o+ f9 w/ [
JSR $7200
. t- ^9 D* \' l9 b RTS) A3 Y! j+ P8 f
$ u( @( N8 f& u' Y9 f& ~) N4 m .ORG $7300
& b$ A; a& q! YM1_TO_M4: ;切页程序# o- }2 y" D" S$ y, x
CPX #$00' q1 \) C6 X2 S9 b; j' ^ p
BEQ REG_SET! |6 {$ ~2 ^; o1 h4 n
CPX #$01
4 v, M$ u9 ~7 c" v" H BEQ PPU_BANK_0000* r$ J$ f* f/ f1 n# L
CPX #$02
1 ~! w( `) I& c, e) ?0 `( ] BEQ PPU_BANK_1000, u/ C+ d" _& ?$ N) c
CPX #$032 d3 Z( A7 D. h/ h3 z/ p0 s- Z2 J
BEQ PRG_BANK8 p9 W, L+ z& v+ f. B' _4 E
REG_SET:
4 B8 E4 N( d9 V3 A" s( s. f STA $A000
# T+ _0 M1 z+ ?- Y$ d8 I: }, v RTS v; n" c2 H6 l# `) T
.ORG $7320
( J6 S: }6 U7 M4 \) T# `) bPRG_BANK: ;PRG切页) L" n6 T, q' s- [6 X2 X
PHA( C2 e7 R. N, D# o& D2 V3 ?; F) D
LDA #$06
4 W1 w4 L- `, r5 Y STA $8000
) O; N6 C4 d- I7 M PLA4 v1 p& U# t- a4 |: Y; K1 K
ASL6 W, }) K' s3 I( [4 ?) P2 u$ o
STA $8001
9 _; W; j: D* K9 s( ?1 w' C ORA #$01
$ p2 t0 A/ Z' f" { PHA7 l0 {4 l5 o5 ^ K( i0 _: U
LDA #$07
1 V; t* f& C2 k0 D0 M A" R STA $8000
7 k1 W* y- k8 M! C+ ~7 j$ V PLA1 j* x' t; y [
STA $8001
$ l0 w- ^6 b7 ~( Y8 w RTS
& Z5 m$ V% H/ d0 H2 y& s .ORG $7340
1 @0 r2 _3 _8 C4 S; m9 V- oPPU_BANK_0000: ;精灵切页/ }9 N8 S7 o* t2 _" F5 [( Q0 Q
PHA
% B1 H5 k$ v$ q' Q9 F ASL
9 @7 j- o# p! K( s ASL8 B/ I) J+ ]( z
PHA* Z( S1 x6 e7 p, O7 G7 L: l
LDA #$00
) P8 m( }! M+ b z v+ U STA $8000) K3 ^( @5 l3 C
PLA* F3 R; H) |! C) ^
STA $8001' {& P0 A8 B7 o s5 ~
ADC #$02, `8 K7 c3 M8 P, c
PHA0 G7 [! l2 z, d/ u
LDA #$01/ Q# P U: Q. P
STA $8000; Q' R& m: ~+ |7 w4 _
PLA5 n2 k( y {% I2 R8 _
STA $80014 g1 T' ?' ^7 q7 f. d4 v
PLA
- A# Q$ F/ J' g( \1 G8 d, Z4 b RTS
+ b! D2 V7 t7 y' B; C8 @2 E* U% b
" F) D, Q5 P n/ z8 y. j( d# R .ORG $7360
+ r# F& L; a2 E2 `9 B; Q; E0 BPPU_BANK_1000: ;背景切页
6 B2 Q3 i* h' K# Z PHA/ Y% ?" L. c& Z3 a: I8 o* T
ASL
; o/ h7 ]& b. a3 O! F9 O9 t ASL: Y; r' E/ I# q" @- g$ M
PHA
( v! ?. U9 l; |( ^. C LDA #$025 T1 p. K) _' z; T! C
STA $80007 t, Y7 V) h8 E
PLA% W6 I6 a! Q5 w; b
STA $8001
/ T, q: b5 t- w8 C/ z$ N ADC #$01' W+ h. `$ f- [) E' v" l1 [8 M
PHA% I0 a5 ^' f' X' z+ M
LDA #$03
3 N, b) i" N7 n7 g7 D STA $8000% r: H9 ?' g5 R* c1 r' u0 F/ ]* l0 r
PLA8 U( c! i4 |: z, O% \ i$ q1 }
STA $80010 N0 D% M c# t9 x0 c4 Q
ADC #$01
9 }1 ]- h2 p# ^ u8 W& y PHA
/ k% w0 b! N6 @. I0 |9 j, V LDA #$04
- r1 @2 c1 d- U. Y& d6 B" b STA $8000- L* A% C4 i! E, C6 `: ]
PLA
, G# X/ P3 A9 E( } O, c" j STA $8001. d3 Z% F* X9 J! K( e- I# k8 M
ADC #$01
3 C; w# f4 ?+ J z5 K1 F. X PHA
7 V* F8 m' A6 ~$ s) B LDA #$053 z6 G7 S: A- L1 R! I
STA $8000
2 k' ]. ~/ L- v PLA' v! c8 ]0 S' o0 X, e5 }
STA $8001, e W- [, t' w# c, Z
PLA0 I7 ]8 |4 T; o6 J4 }
RTS
# M, `5 n7 M. L# Y0 S
3 O$ g1 U8 u& H7 t0 G |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|