|
|
;[FC][最终任务mapper1切页程序] _ M0 S6 n+ K4 I7 F% z
.ORG $CD9B* z! ]6 J: B1 H6 r6 } A% k, S
BANK_START:
( ]" ]5 s2 }! F/ w/ M+ I( I STA $70
4 L P9 b" L: | TXA7 h' U. g. K+ ~ T
ASL
+ Y8 _0 k/ M. |# U8 l TAX P: m, U5 u% ?& `& R+ H/ w
PORT_SET:8 O7 a& t( L0 v8 P
LDA BANK_DATA,X! L1 t. r" ^+ m' c; v5 L. c
STA $6E" I9 y1 Y f, n" u' t; c1 O" u
LDA $CDB8,X
0 H; F+ ~- S/ h STA $6F# ~" y- p1 M) G( U' d
LDY #$00
# t3 k5 U" C1 b% J LDX #$05
2 V! `0 ]% h Z- f7 } LDA $70
% e- x1 [4 @1 }. M- G* mPORT_WRITE:
, \; ^/ F: m/ ?# d# }+ X5 T: H9 ^ STA ($6E),Y
( R6 j* h5 C" c; k, j- Z) ~ LSR5 j8 t0 m U! a9 R( `# v
DEX
- C+ ]% \6 u# W# a8 C BNE PORT_WRITE
+ m' d% F( C }4 x) a- f3 ` RTS/ m* W2 T# P5 Y/ t- s
. B8 p! g5 d% L }: I# X
. X- ^, G R; Q! V1 W& _
BANK_DATA:) S" D$ _. K- o- I6 Y( b
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
' `$ X# x( W) X8 Y# }
. |, w, l$ i8 \, l- m1 U
+ e5 P0 p6 x5 H$ |3 t6 J;[FC][最终任务mapper1转mapper4切页程序]
( L) [# V$ m* v, N4 L" S+ F .ORG $BFD2 ;初始化跳转
$ l3 s: y: H5 ~' l JSR $FFC0
# l/ Q1 Y2 Z7 m/ S0 C+ N
o& C* F9 m) G x* P) h9 g5 s# Z4 C+ l J
.ORG $FFC0 ;切页
# z2 B7 ~- H# L3 ~) ?' m LDA #$068 ~/ ^- l, f" _7 \3 j- C% V- y
STA $8000
, v' l7 V. u3 A) Y2 ~4 r0 b4 t LDA #$0E
5 ^! o k- r" P STA $8001
- M7 [) `! x" M' \ JSR $8000% q) G) s+ k1 F
RTS 7 E" e. Y D+ s" k
5 [. q) J& S$ J9 k' |) ] .ORG $8000 ;数据复制2 C' S h- x/ w% R1 U
LDA #$80
+ U' u* T/ B- a6 T STA $A001 ;启用SRAM
& _4 @; f/ l$ C PHA7 I2 u1 P8 S- W8 K% r
TXA" ^/ \, `# g2 k. a6 s8 Y
PHA
' ]% ~& u5 T) N' ^2 ^1 X LDX #$00& H' }* p2 L2 f6 X2 e
DATACOPY: ;数据复制8 h+ e" ~2 G8 p" D) `3 ~) ~
LDA $8100,X
; Q+ e! c, p0 \4 O STA $7200,X
5 n- a8 q% W+ X+ Y9 X, z0 m INX; |% W: `: ?( f
CPX #$00" g: D9 C8 d W' } d* _4 g$ m. ?4 ^
BNE DATACOPY
W/ b% H6 n, J+ z# v$ { PLA
" |4 T: ^- O# O TAX% s4 z, Z( v$ R1 b. y
PLA
3 V g9 ~7 q( Q* I* S- F" b RTS
6 P4 B/ e$ P _ 6 i6 r' m A0 O' v8 A
.ORG $CD9B ;跳转到转换的切页程序
5 s% Y$ e* x- p) C- a9 j STA $70
* C( T7 A/ x& Q/ n% T, S0 R8 | JSR $7200
9 c8 v' u) o* m s6 G/ P1 q6 { RTS
, I/ V1 |: G& v 8 k- q) v/ H1 K8 ~/ d, o; D
.ORG $7300+ s# q, b j/ e7 l$ {5 E2 y
M1_TO_M4: ;切页程序
$ W" H% C# x; ?3 f9 D7 @ CPX #$00
( L4 ^. I% x ]& \/ y BEQ REG_SET/ g% X5 }" F/ ]& F( r/ I
CPX #$01/ B% R( l: m( e2 r5 j- V
BEQ PPU_BANK_0000
' U G& o& K# c& @7 G. l/ A CPX #$02
, I8 I6 d; F2 J6 e+ p' N5 L7 {8 H BEQ PPU_BANK_1000% a4 [3 L) P' v L
CPX #$03" O9 ^1 v! y6 B/ m. i* A
BEQ PRG_BANK1 I- I/ g( `( q/ E! Y7 E$ i
REG_SET:: a5 I4 K$ D: Q! [5 H/ v
STA $A0005 `) Y0 K3 ~; k0 c, t8 |
RTS
( \) }, Q$ e; g; R7 z) C .ORG $7320
- y' s Q& t5 ]" }! s! tPRG_BANK: ;PRG切页 L4 E2 |: |+ m2 b& w: k
PHA
) b+ }& I: ]9 V! [5 T% R LDA #$066 F: o* K/ Z' B: e' h
STA $80004 X* P3 ?* u' ?$ k2 H' h# J
PLA
7 p M/ S9 r/ A* L: H# A, K ASL1 A# h2 l0 S# A5 l C2 `! B
STA $8001! ^1 X( q. T p* n u
ORA #$01* u# D, \- b9 v% b
PHA: z" } j& K$ K" n0 H8 H% e4 r
LDA #$07. a. o ?; T, c/ _7 B
STA $8000; \6 N8 t& D, ~ r+ {
PLA/ z1 d$ Y# A! `" o$ O
STA $8001( T0 s: q/ i6 F7 C2 A0 F' C
RTS
2 Z: w9 a4 U: U! A .ORG $7340
& \; F0 y$ _3 y' wPPU_BANK_0000: ;精灵切页
1 t, Z2 h, O I5 g5 t* ]! v0 @ PHA0 ]- J3 Y& h. T! {' `% t! x
ASL- B3 g- X0 i( F: Z. d! \+ [
ASL
Y( V% E- n6 e- V0 o8 `5 q PHA: X# g" c6 g# Q; v. s0 f% @. T
LDA #$002 p; R/ l' l/ E+ |
STA $8000
! j+ }/ k$ ?7 C0 ~ PLA, G l, g, I+ y/ @
STA $8001* i8 ^% P# ~! n4 h
ADC #$02
4 P- S f; V+ S5 V! L/ Y( v7 q PHA' b& [; W- A/ N7 u
LDA #$019 h9 U& s+ R6 Q
STA $80007 d4 d+ i3 K2 }2 h0 F+ u( \
PLA
. v1 S1 T, R5 ^9 ~3 ~& G STA $8001
% G* F+ S3 b; u: F PLA
( J. g2 c& G6 s' O* U RTS1 h& ?5 y2 E+ r: Q* x
9 d/ o- M- L$ t' g2 }! T .ORG $7360
- c# r) B- z( E9 XPPU_BANK_1000: ;背景切页 X+ }2 m) N0 a# p3 Y& T5 v
PHA
" |$ n% t/ D. R- o) |+ q) M* X ASL
0 S: O, g+ A% j: A- j( H* Y ASL
; P2 O% G& u8 R6 _) Y PHA# V0 A3 ], y' a2 R& O `
LDA #$02
+ C) I) e V9 b4 p' ?% {2 { STA $8000
! y, `2 o( a0 I PLA# z7 n8 d6 b( R6 A8 X
STA $80018 K |+ T4 `& G3 g; w
ADC #$01% i* o1 U4 O& r7 e# e: o
PHA
! S: y4 M k( E9 B" N2 G6 Y& ] LDA #$03
! I6 R, Q8 ]5 f$ k6 V STA $8000' I) ~1 w/ b3 u) o1 Z# m/ F
PLA& I$ E( }$ ]- {! [: t) x
STA $8001, y6 J3 ?+ `# @; M5 A! N% T
ADC #$01# u5 S9 ^0 z6 J0 l# e; O8 \
PHA. U4 J5 P* I3 g) m2 I; r
LDA #$04
% V h) R9 J$ n1 Q6 i. \' v: q: |, ~ STA $8000
1 \+ i5 D- ~5 u" l V PLA; X9 @6 S, i/ i# n8 a
STA $8001
% i8 C& d% n" {5 T$ f* k$ P ADC #$01/ Y- I v+ U; \2 o% ^
PHA- ?1 k, e' z$ |% v$ c
LDA #$05
7 F9 x |# v7 t9 V5 ]8 i" B STA $8000
( w0 S5 @6 Z( a# U PLA5 m) m; ]; g) s# R. e# `
STA $80010 ?1 e2 ^! R- n/ o: }* I
PLA
8 \: `: W, c6 B9 z" y RTS# x$ k% k' _& E m
9 y% A6 z4 @ d; a7 H4 E5 m
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|