|
|
;[FC][最终任务mapper1切页程序]5 w, s8 N" R+ A+ X7 B
.ORG $CD9B C& L6 r# T5 e8 C4 Q2 J
BANK_START:
8 K5 ?# A$ @7 c; H1 X STA $70
9 J/ P9 c: G# }4 ?; R; E TXA
4 u" E5 ?! i; x4 f7 A1 v$ C% K/ W ASL
$ Q& }- b) c; h0 ]" R4 | TAX3 E5 O8 p. K. f" ~- }, ^
PORT_SET:
4 U+ k; m* {- T6 U3 S# Y+ D LDA BANK_DATA,X
$ M1 E( o& q3 C( m) I4 V2 B$ H STA $6E
# i9 `7 t5 ~ f/ v% \! e5 h LDA $CDB8,X
0 R8 ~* E! P( F$ D. o STA $6F4 P2 e2 _9 t; W: B
LDY #$00 z0 b- H: X& g4 |- F6 b I$ [
LDX #$05+ `; n. Y$ @5 ^9 e1 b4 ~7 \; E# z
LDA $70
6 c# Y8 U/ `- O7 J, H G/ v; O" ^PORT_WRITE:4 x" I3 d0 I0 s
STA ($6E),Y
. w K( T7 m \5 V( k" {- L1 l LSR
. J' }2 v) C+ Y( L) m& ^, P7 Q% P DEX
% Z" @8 w2 O8 i6 k BNE PORT_WRITE
$ J, D" R3 X- Z! r, C; {$ j5 h RTS! v$ k+ w+ P) I( p# {* I
v. x" Q- H+ W! a! p* ^' b' \' p 8 z5 V6 c e" n3 t7 _1 O9 w: ^' e
BANK_DATA:
& ?8 v7 { X; v .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
3 G; Z1 S- L( i/ v( c. Y $ i6 r- J1 x" Y0 [1 K
$ V6 y" o. G- R, a& z$ r
;[FC][最终任务mapper1转mapper4切页程序]
. a- G C! O# [9 J7 b .ORG $BFD2 ;初始化跳转. E1 ^1 \' I" e: X
JSR $FFC0. x' k$ t, s3 f' n; t
2 J0 b# [% k% Z: K' o1 D. ~: k. w7 u) b- ?
.ORG $FFC0 ;切页
$ ~1 Z: O; c) U7 K3 B' P! m; D LDA #$06 K& T2 W( J, Z: [
STA $8000
9 |* o* F$ @: Y1 k8 C LDA #$0E
# D' Y, x4 o% P STA $8001' a% _7 \ a4 H- W
JSR $8000
: G" u K6 D3 O. q2 H0 B) `# {# c1 Y1 P) m RTS % V! I- \& f4 c7 x. ?( W
% n& b+ ]$ C" U1 b& @2 m
.ORG $8000 ;数据复制# Z. X+ I( W# U/ s" A, @( W1 ?
LDA #$80& P" J9 l8 j. g2 n+ q& K# ~
STA $A001 ;启用SRAM
8 y* P. L# R2 E; C. A, M/ L8 B PHA
, \0 A; b. f+ U4 r; P) _) l TXA7 a) o7 i \! \% t
PHA
% K2 m2 P( F0 t$ P* c& O LDX #$00
5 Z0 q6 ^8 _" j K; f2 WDATACOPY: ;数据复制% n% R7 o, `, q$ `
LDA $8100,X, T- K2 f5 e( C$ Z/ S6 l+ d+ Q
STA $7200,X
7 n9 a5 C9 { ~6 ` INX
" N" w. c2 e6 S) E Q0 a9 @ CPX #$00 D. e4 j" a% Q; v6 x- J
BNE DATACOPY6 z0 e* A, r/ p! Z$ s \( q% f
PLA2 W, {" U8 U+ K F0 W' I
TAX* u! B$ f4 w# G- h4 D5 y: s3 w
PLA1 ^; Z( C5 U* I& u
RTS
+ P- Z( j0 \0 _
5 [' W3 o3 q+ u .ORG $CD9B ;跳转到转换的切页程序' P% P$ G* d0 [3 z" L1 S( J
STA $70
, \& u5 W: f- ]! v$ l& ` JSR $7200 T l, t7 f/ |; y: e& C, c
RTS
5 C: O6 c) \7 g+ G! u8 Q4 h9 C
$ p' I0 z" B0 `& l5 Y) @ .ORG $73002 j$ x! F" b- Y: l' f5 f9 \: M1 j
M1_TO_M4: ;切页程序2 f' l) x- i8 r8 ~
CPX #$00
* Y8 T/ A% \7 w) P; |) t BEQ REG_SET
$ |5 B: J. h9 O9 W1 d! _" A CPX #$01
5 p N% ~: ^; M) a4 p0 l6 d BEQ PPU_BANK_00006 J6 ^9 `$ q# A8 I
CPX #$026 C0 h8 h- m7 j. R
BEQ PPU_BANK_1000% Z9 r( A2 p4 M- E7 m0 H6 t" @% S
CPX #$03
4 t* f8 i9 F) S7 u" U$ D4 h BEQ PRG_BANK8 E1 D) i* c/ ^9 [8 ~$ O3 [1 a. u6 V) Z6 z
REG_SET:
4 d7 w8 G/ P/ x5 T STA $A000
$ M0 x7 p( J7 `4 D) W3 [7 P+ M2 a RTS
: u8 H8 b# ]* V- A" K0 s/ r0 V$ ] .ORG $73202 N7 Z/ M6 i2 g4 w/ v: r( q
PRG_BANK: ;PRG切页
/ ~* G: j4 X" {# | PHA" }1 b: R0 D; R6 o2 u% w: i
LDA #$06
* E+ o1 V% }) a* z' e0 ? STA $80009 x4 ?0 W9 _* y4 N+ F
PLA
' u( X3 `8 v$ G- \% ~4 V/ V! b ASL
, D3 O2 }# K% s0 t# N1 } STA $8001
1 J2 m$ k+ ~: q ORA #$01
) c. W+ m* @" i: Y- g/ m( i PHA
: X. C) [0 L7 K5 | LDA #$07
7 t2 G* x" F( p! A" ]8 l$ q- v9 [ STA $8000* O# o* v$ l; {/ [
PLA
" Z% ?! E6 A- @6 ^: j2 C STA $8001; C/ j* u0 @; Q# p
RTS! `7 G$ m& O3 J6 M$ y8 t4 y8 d
.ORG $7340* \3 D4 t' `* ]1 m3 ~
PPU_BANK_0000: ;精灵切页
+ u# O# U/ B* T6 P5 F/ O; Y3 I; F, }1 U PHA4 m4 \) @3 ?; U+ U3 v
ASL
3 }$ v( f9 P3 s2 b; W4 X+ L# _ ASL$ S9 s+ S- k+ @$ l5 M/ }% i
PHA$ ^& s1 O+ ?6 w" m; X" L
LDA #$00" T6 h: x0 W3 |8 a: b: J; k
STA $8000
# Z% e, K5 P* x PLA, X* ~7 ~: G$ N1 l8 Z5 G
STA $8001 t- Q9 k" d! v& f1 i2 d5 ^
ADC #$02
: M6 r" p- n" ?& Z6 G6 d PHA- c) {0 ~+ D9 L( Y; k( j Q& p6 o
LDA #$01
2 j: z" w1 A+ ?' [$ d3 e* h STA $8000
2 ?" A4 Z6 J( l# i) N' y- k+ Y PLA
0 ~0 e* Q) B# `8 u* Y( E. e6 s STA $8001
" {( Y: a# v0 j1 y7 r/ n# a PLA, d) J# j2 s }0 j2 W" m. f/ w
RTS
, Y" G# S& t4 A D 4 ^ n0 r( V2 f$ c1 a" P. X
.ORG $7360
8 e9 R; s' F- I+ tPPU_BANK_1000: ;背景切页
2 R, A; `: ~4 E7 L" n6 n PHA
$ r) }6 p+ ^/ a$ u3 ~ ASL
# l2 _7 a- f3 e/ p$ ]* n ASL
* g, p0 B7 I0 R" c4 p# j' F/ [ PHA
5 N5 u. c1 l6 r4 } LDA #$02# I) s- y9 o; E; F6 w7 a
STA $8000
) |2 w! o- F P; N1 W# d& [/ X PLA: @. v {: l6 {% B4 g5 x/ Q
STA $8001- `) C' W& s) C
ADC #$01
9 f* p y7 t4 b1 ~) l4 L# _ PHA1 Q# }- s/ L, ]2 T, `( E
LDA #$03* U# A& r$ `7 V) n
STA $8000
2 |, O' F& v4 `0 F; l! n7 D PLA S, {8 K# O! {- Q3 n
STA $8001
# N1 d& F' `3 `8 e- m$ @ ADC #$01
) l/ Q8 z& o5 R/ g PHA
6 |2 w: T. n, {1 |8 p) B LDA #$04
. Y+ `+ ~3 Y: k9 N STA $8000
2 e1 Y5 o9 m. ]4 C PLA0 }7 P1 b& L9 \4 L C& y d
STA $8001
# g9 V& [, a! r; h ADC #$01( O# b% Y* y) w) A/ D
PHA
" @" o3 F X- p, N% t6 V# v LDA #$055 ^& O8 z1 z; ]3 [9 t5 u9 R+ n7 m
STA $8000
# s+ y: H; v2 V4 q/ @ PLA
$ U% N8 P0 L. @% U8 t7 b4 k STA $8001! x) S/ J) Q$ g! u% Y
PLA
' E- r1 Z" A* q- b/ N) R5 B RTS
8 ^* W: w B& B1 ^5 S' U! t
+ k9 j( B4 Q M+ `8 t" O0 c: s6 X. R& ? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|