|
|
;[FC][最终任务mapper1切页程序]
1 }( K) E8 T7 m- @- P# O .ORG $CD9B; I. D& g* y" }: C
BANK_START:
# c1 l8 `; F6 P STA $70
# E# o. B; @0 Z, S/ o- W TXA
; C" ?# O# R0 \. \+ ~ ASL: R6 q/ T. c/ A# s2 n
TAX) O: ~, j$ z0 c0 s5 `1 z
PORT_SET:
% \; j& }, A0 [; }1 f6 X1 z LDA BANK_DATA,X! |9 M) N2 S$ L2 S0 m" Z
STA $6E* ?' l) x+ q4 `" y" n8 ~/ i
LDA $CDB8,X/ h' H" ~% h/ t
STA $6F$ O( h F+ p- m9 M. m6 A2 v9 [
LDY #$00
; Y' {( t9 l. n( g$ s LDX #$05# p/ C. i* ?3 d
LDA $70+ N& J& z& z' g8 i
PORT_WRITE:% M9 l1 h5 C q0 k" T& Y
STA ($6E),Y# q# u' ~* F: j5 S! y5 T- I
LSR6 }) t7 ^* U" g
DEX
1 b; V2 A; D! [& |* b+ i BNE PORT_WRITE# [4 H( s0 Y0 ]0 x9 [
RTS
: O* g4 X* n; [
, i& m: v/ y# U! F 6 @. F4 P6 _0 s) Q- c
BANK_DATA:
2 K f6 w9 I& _' X- [7 h .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF! ]# L% C3 c Y3 I' d( ^) F/ s; L
. t" g: C4 }- p) n
+ u- I2 h0 r1 s1 S w;[FC][最终任务mapper1转mapper4切页程序]
! }( ^: z8 c6 G .ORG $BFD2 ;初始化跳转
- Z2 _7 r5 U [4 T: j JSR $FFC07 D1 w+ W- d, _2 a$ m* K8 d+ Q
) M4 x- r |; g0 }" { t! K
; |; _+ |% y+ v1 b
.ORG $FFC0 ;切页" \+ }9 `$ @& u% D: j% I
LDA #$06: B0 y$ ~6 r3 K6 z$ _ w
STA $8000
% U2 y% Q/ H: g1 l LDA #$0E' ^& J: g! J8 j
STA $8001# b& H! `* {& {
JSR $8000
4 R& }& W! S8 Q8 M/ ] RTS
' I" W4 ]- S+ E) v/ ^
1 V; e6 P {' h .ORG $8000 ;数据复制6 z' p% H9 H$ t; T) e8 L5 e% }- v
LDA #$80$ I! a/ r0 c4 O1 f8 m6 q
STA $A001 ;启用SRAM
! i; X; c4 b; k. b! G/ d" j PHA5 a2 B+ j( W. E3 h: w
TXA
9 C8 n+ a2 f- R/ Q1 R( A PHA+ s2 S" Q( r- d& O' t
LDX #$00
. c! \( G2 O; F" r+ m+ E6 QDATACOPY: ;数据复制
" g1 G6 V* P+ D. O% z/ L2 c LDA $8100,X
2 r s9 @+ z) Y; b( A3 F9 [( F6 Z STA $7200,X
, Q9 B- d& a L3 d6 u1 | INX
7 `0 l) l2 @+ m2 Y1 H1 O: J* l( D | CPX #$00# j) R* D. Q! { p
BNE DATACOPY: C! {7 P; p7 f. r& P# n+ r- Z
PLA
3 u) L6 q- j1 y- `! o TAX
0 D# `6 E& v, l# U7 y PLA
* S6 @6 u X4 p( G4 W1 H( V RTS% [+ ?; R; u* O8 Q$ @% \
# x6 W% i( `4 G! }9 [) O .ORG $CD9B ;跳转到转换的切页程序
) j& a3 k+ n" h: }5 r6 u) L4 I# v STA $70, v5 Y, c7 q4 L/ g6 H/ f
JSR $7200
/ b0 {7 B$ x( F4 f RTS
X/ g; m- M& v- c" `7 u( ] 2 | B7 q, Q) x# h# P4 _( P' }
.ORG $7300* N. o, ~7 f: ^5 C0 k& }& }
M1_TO_M4: ;切页程序
0 K/ U; U K- Z! b7 [, q/ S CPX #$00! A0 z @0 V( J/ U
BEQ REG_SET# Z1 q: l9 t6 \, R$ \$ s
CPX #$01+ [& r( D0 j7 j# l! k9 r
BEQ PPU_BANK_0000
1 m# W& ]# X" v" r CPX #$028 T* D5 _# A7 X9 N( ]7 e8 R
BEQ PPU_BANK_1000
4 t8 _- T/ c( t+ _" a; M CPX #$03
9 G2 p/ T4 r* V BEQ PRG_BANK
3 e# r# g2 n! o0 n% r2 Z& M+ TREG_SET:
/ t l! v( m0 y t* t/ `8 t STA $A000 s; n& \( o% L- b- [
RTS
/ O# m: ?+ c9 B: _! L+ E .ORG $7320& {2 L8 P9 C- P" p
PRG_BANK: ;PRG切页
9 _! z- D/ C% E$ ~( m' H8 F; R! m. i: A PHA8 `& u( e0 S$ t1 y! L) \- Q# H! h
LDA #$06. {; Z, d$ P6 P5 y. l- F# h. M
STA $8000
2 V( z- T: e s8 n+ Y9 D PLA% G& [5 U& T/ S
ASL2 B1 b4 ]5 J, J7 ?2 R4 C/ E
STA $8001
+ ~/ Q* k( T7 `3 B' V ORA #$01" Z+ ]2 v0 D2 u0 T
PHA1 D1 U; k! H& {) U4 G
LDA #$073 e; i9 L+ f% {8 {
STA $8000
' }" l, h; }0 Q$ \4 X; r PLA
3 N3 C# `9 S: y0 n# a# n STA $80011 J8 C3 ?/ R3 D. D
RTS
3 R D5 ^9 ~! H8 M9 w .ORG $7340- t# _! s3 k4 \( _' T/ e
PPU_BANK_0000: ;精灵切页; ?, y, Z% }/ R/ `
PHA
+ { y. O* t7 w6 D ASL
Y1 X2 j% g+ k ASL- \7 i8 \0 a9 ~1 [% t
PHA$ A" n8 Q& H$ `$ h
LDA #$00' j! e" _. @3 r1 q3 J0 B& m- y
STA $8000
) C, V/ N A6 f# W PLA, I% h) c+ H6 k
STA $8001
) D' b+ D- U7 i+ } ADC #$023 l* \4 \2 b& G: R6 ?( N$ e1 v
PHA
1 {' H7 Y' r: w& p6 j8 i6 ] LDA #$01
( y- k: b r: F# S: k j STA $8000
* Z% M2 ~& Q7 h. j- J1 y PLA0 u. c* A% S+ ?, x0 v
STA $8001
4 ?# U' C0 w) a PLA) Z8 ]$ b g2 I5 f4 I$ E: A1 w
RTS/ `) r2 \; b$ Z0 Q- @
4 A) M" _( r2 Q& u I$ D .ORG $7360
1 ]+ j7 Z8 m0 v/ R2 z- Z5 OPPU_BANK_1000: ;背景切页
- p4 _, n( B# @/ g$ j) B. @ PHA1 r8 F& G* P4 h2 o- k Q
ASL s/ I) W/ g5 {' U) }% S8 y# K) w+ S
ASL/ `4 O; T3 L% k6 f. l6 [ {. d
PHA
- e# O+ K6 f& a7 j* e, b$ F LDA #$02
0 B* | ` X! c5 U% ~5 P STA $8000! M& D) Y U8 S8 ]. D6 K
PLA: \. s: v2 M7 m* h$ D2 X+ }& w
STA $80011 m) n. C8 y G2 U. {) I
ADC #$01' J. r1 f* P5 N
PHA R4 P0 j$ ~) f! U% G
LDA #$03( I" F* N6 h1 [
STA $80009 b, J+ i" W$ @' p* ?
PLA
" H3 F" R! V, l- R1 {2 I1 { STA $80017 W9 @7 [; @% x2 W
ADC #$01
" r/ n1 t( e# i2 e. ~ PHA
( x. d1 t, [9 s* z* L- g4 ?" L LDA #$04$ P1 u5 S/ \9 m& F
STA $8000
1 T1 `( l! z }8 O, w9 ?% n PLA
" W- X1 x$ t1 [; k; l1 U5 d STA $8001* ^7 I' n9 F4 W3 _
ADC #$01, E/ h5 E# W I' a7 `' H
PHA- a" I: W( N- m, E; |
LDA #$058 o3 _* B0 Z( N4 H* Q
STA $8000* k H1 \7 u- q* n& M K
PLA
: J8 F) Z% ?- C7 |$ T7 c) q+ w STA $8001
" _, b, B3 q! S' \8 ~9 u PLA0 c4 ^ t3 C0 {& J/ N; V: Y4 f
RTS
$ ] ?" q2 s z% k+ E j
N! ~( E i9 A |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|