|
|
;[FC][最终任务mapper1切页程序]
9 J. W1 u; J$ E* k .ORG $CD9B- Q. g$ {/ P9 J/ G* m/ G
BANK_START:
0 O3 `+ C& y9 L- y) o* N- a STA $70
( z+ l& X9 L- ~' E* W+ i TXA
( P. q; g# `1 Q" ]& O$ b: d% Y# h ASL
' \2 J7 A$ }9 q! N. X+ j& g TAX Z; `, u: {7 ^6 v ?" z5 W
PORT_SET:2 y/ V- ?# k: U, V9 t# Z! s
LDA BANK_DATA,X
; R, ~' c+ T# K STA $6E
+ k; g1 l% P3 [. V8 `4 B1 F& c LDA $CDB8,X
* @. Q3 U7 T6 w' ~ STA $6F, L3 n8 B+ z3 ^2 ?
LDY #$00
8 L N7 C7 b5 {# {- R, ]1 P& c LDX #$058 q7 e2 L3 k. f
LDA $70. T, r; n% Z4 h3 x
PORT_WRITE:3 Y7 v3 e3 | ?: Q+ }
STA ($6E),Y# z4 t: i) r6 J* V
LSR
$ B' X: g+ f; K# ?: A DEX
/ f8 r' l/ O; @0 r. L" y BNE PORT_WRITE
( z& g/ [$ M$ {2 {1 }/ Z3 D) [( F RTS% ^ O, l- x2 A/ Y- e
& W+ G' `1 i$ I0 k% C 2 q6 x% E# T0 D( q8 V; ^
BANK_DATA:
% q7 A6 O* }5 \& O* c .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
, d/ `* u: `8 P6 p- |: U 0 y! S: W& `: D& V
9 C: o$ Y! ]* w% \$ J" B; F1 j;[FC][最终任务mapper1转mapper4切页程序]2 O) J$ H3 G% ~! ]$ I# ]
.ORG $BFD2 ;初始化跳转
0 B, S6 S$ h/ ] JSR $FFC0" P9 q. w1 a2 Z4 H$ F l$ d
2 L2 s7 i1 A W5 d$ u3 u r
5 ]! e# `" n) |$ B7 A2 v. e3 |# l .ORG $FFC0 ;切页
0 M H C" ]$ d2 q! q LDA #$06
# ^' f3 A+ [) e6 p0 B( Z! I STA $8000' ` j* k6 U$ l+ [; `
LDA #$0E! g* W2 q5 t8 ~) G4 l
STA $8001
& m' P: G: _' |$ @ JSR $8000
* a4 g2 B( t/ ^0 K3 D RTS 0 E: t g! C$ F! H% B
# D6 S3 K$ \5 f" v3 H3 i t/ g
.ORG $8000 ;数据复制$ d! d& F1 u, b( r j4 s
LDA #$80
0 e h6 T3 G7 e% y$ A" q0 ` STA $A001 ;启用SRAM% V/ i7 r/ h+ j; U2 v- d& u0 F
PHA2 A( S, E8 _3 Q9 m8 ]$ X a- W
TXA
' z# }$ t$ f8 {1 g1 l5 C PHA8 F/ h8 j" o; z- k' i
LDX #$00
5 ^+ N: R# X2 g$ pDATACOPY: ;数据复制
6 z8 u& E! U. y LDA $8100,X& u* B) H1 A( C/ p1 R% _! q" m
STA $7200,X
9 H. ^ v6 N, T/ B i6 O INX
! i. o0 s# q$ o4 s CPX #$00( H; y u& j, D( `
BNE DATACOPY0 q- e- f) x8 a' t& c
PLA/ V W u4 [* L! ~, `% n' j3 v
TAX5 b1 ~6 e$ A p
PLA
, i9 M1 Y* g3 x+ P RTS
( A, h, P4 Q& e) { Z / q% V& H* ~; e6 K
.ORG $CD9B ;跳转到转换的切页程序
0 \! h4 G x- k STA $70: {4 f& z: m6 U, ^! G I4 o
JSR $7200: E+ P3 d9 M. P' Q/ `- `' r1 Z
RTS
. z: L) k" ?) r/ d( e0 T0 c( r ! b5 P2 `4 r% F+ D" X
.ORG $7300
7 Q M' b- f* i0 JM1_TO_M4: ;切页程序2 }9 h# {) ]0 n! }; v" N
CPX #$00! P( T, p& I6 B2 }; p) ^
BEQ REG_SET* d! b2 \+ i/ |& o& {
CPX #$01
3 G+ h9 N6 g% f3 {8 Y$ P BEQ PPU_BANK_0000
; Y6 @# Q2 ^7 Z2 C b8 c( V/ J CPX #$021 k H) l: u* e' k+ P5 Q( K( X
BEQ PPU_BANK_1000
0 U" ~. M9 ~/ w1 z) V2 u7 x CPX #$03
$ z! u! ~* u& y- B( ]) ]0 E5 O6 ~ BEQ PRG_BANK
% a1 O. J, M L6 v2 ZREG_SET:
2 K( ?# C" o- D5 u8 A' [' d a STA $A000
: G& q: `; L& T: \ RTS( \' \' g5 ]- a
.ORG $7320
) V8 V! h- _8 t( o% C# `PRG_BANK: ;PRG切页
, J% E: N. s: C; v PHA9 R+ T1 V% M- Z8 J2 |$ A& T9 _
LDA #$06
{6 \3 X5 G# T STA $80002 n3 k& b# h) f
PLA
" ?) z3 P3 g, h3 a1 K6 _ j ASL: e1 d( x( @# m: h9 n% v
STA $8001
6 Z( W, p) S" Y3 M8 q ORA #$01
# B5 u' A) H! a PHA
5 T4 x# o2 K; k0 P; M LDA #$07
, s1 `9 d" b# Z C STA $8000
2 W4 x7 G2 c# f& z' e& J; n. M" R& P PLA
$ X% T; A. D" c+ X" _ ~: s9 W STA $8001# E$ P, p" k2 ]9 i2 _4 \$ D, ~, ]
RTS( Q( k5 n3 Y; S8 s$ g: ^
.ORG $73409 B7 d G" c& i# E3 \/ X7 v
PPU_BANK_0000: ;精灵切页7 Z$ i: `' Y& B# @$ ~
PHA! q ~- y0 y- v& T6 D0 H% N! f
ASL
4 V9 b. n! b2 c# E4 x ASL
( q2 S4 \2 }& Y* \' O# I PHA
8 v/ x8 I# |) J* M4 G2 F& ^ LDA #$00
) Y" U1 W" }# n, R" ~ STA $8000
! E. `) w( Z# D- W! q PLA
8 d8 x1 C$ ~- `$ U% t5 u$ q: `9 [ STA $8001" j% }5 ?, y4 j% n4 E W
ADC #$02
- L. }3 o1 ~4 Z) U PHA) g* _. a9 p _ E: @% L$ ?+ W
LDA #$01' f1 N; c7 P, a9 ?+ Y( O" y7 N
STA $8000
3 S; x; I) A# ?: O( K PLA/ B1 q7 O6 l+ B
STA $8001: C* \) g% m% L u2 z
PLA
3 u# ]7 K, L% ^ p RTS
+ C/ T5 w& G# l* f7 Z, I2 e% e4 ?0 \2 W
$ \. q0 M1 j/ ?. l' ?) c# g .ORG $7360
: M9 o8 z: [7 p8 QPPU_BANK_1000: ;背景切页
2 j. l$ m% h7 g PHA
* Y0 W- _4 v, ` ASL
) I, B3 K+ a" ]5 W, x* ? ASL
) Q- j7 @; Z5 \0 ^9 N" B PHA; h( g! A; H. B- Q( C+ }
LDA #$02
+ o7 t/ c' q7 \1 q. _1 E _ STA $8000# p0 h4 Y6 l: U" \: O
PLA
+ V# j' `1 T2 R$ V c) N" R7 o0 D STA $8001' G0 c( l, a8 U
ADC #$01+ c, ]/ R# c: w- F, q# }7 M2 M
PHA8 ?) y4 v* ~/ a2 M, r# g( f
LDA #$03
& N( C9 q# W7 }5 z8 W" f STA $80000 n2 n# v, M' l3 w
PLA( p* s2 @- D, u- T# l' N( K
STA $8001, ]( a& _* F8 q! k: G% Y
ADC #$012 t8 r7 d7 |5 {
PHA
/ ^, h$ d% O7 [$ G0 M0 V' `0 N LDA #$04
, v$ b1 g6 A+ t0 S STA $8000
) \" {; E$ }, L7 I- Z4 l. u PLA
. e7 D4 W- a9 z* A" v" e0 O. U STA $8001( Q- f9 V" a& e7 i3 Y0 X- D' S
ADC #$01( x9 m' N" c( m
PHA8 H9 m8 ?- G9 S! Q5 G
LDA #$05
. Q/ _4 [ L. ^$ u6 Z STA $8000, X3 \: |/ `% k7 Q' c) B0 H4 M- }
PLA
0 m' p/ }, {% b6 n- l STA $8001
/ B! R* ^4 K4 z" L! t$ R3 y* E' g PLA
1 b; p: ^$ C; X RTS* G& L2 L+ G" H5 {5 c. u0 C
) {+ _& F/ K' a6 c- T
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|