|
|
;[FC][最终任务mapper1切页程序]
; W* ~# H: w7 R3 n, j( D .ORG $CD9B
( T! X1 G) {$ B0 NBANK_START:
. c$ ]2 D$ j4 E0 f8 Y6 G STA $70
4 }( k* t& w% @6 }; |8 H4 d" m TXA; T/ F# r$ Y/ A% m% d6 R
ASL2 R4 ]. _( ^4 k6 m
TAX
! ], b1 s' x" |- j5 E: W- e( cPORT_SET:
: E! e7 A$ v: j3 [ LDA BANK_DATA,X
, K5 @/ h. o: Q STA $6E
; s# e1 c( U3 W/ n8 P" S! I LDA $CDB8,X
# P8 E$ Y! r6 N( E5 I STA $6F
! H& x6 ^& V# ~2 u" T6 Q X- I LDY #$00+ a& I' r* S* w0 a- M3 e
LDX #$054 I; x& c! A* l2 I* ^/ z# U) Q
LDA $70! h+ l9 y+ l5 x! M
PORT_WRITE:
) |/ L! \8 P+ y) r$ C4 |! @ STA ($6E),Y- ^3 c, y5 B* C6 d
LSR C5 F, q; q1 V! K& ]7 S
DEX% f3 f( s' d% p7 J1 j( M! i
BNE PORT_WRITE
6 D& Z( A0 u. |, R1 Z8 ~ RTS: s1 m% q7 x+ ?* K
% `8 P% j2 w5 Z/ W. W: U
: d4 C* p O# s7 @9 j* D0 WBANK_DATA:
a$ Z7 o0 i0 J& ^+ B .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
. z. y- f$ c( K" r/ b5 D8 U ) E% O+ |% T5 ~2 l3 M3 L' y1 K& `
. X( G4 n2 r% `: e;[FC][最终任务mapper1转mapper4切页程序], `. i |$ j& P9 d0 P( C3 Y
.ORG $BFD2 ;初始化跳转4 }. e! _7 ~3 b7 Q* A1 D3 K2 `
JSR $FFC02 d, [5 B3 y+ I: z; w
8 [* d9 w4 ^( E/ P/ m
* s- z6 z1 d$ F3 F% f+ F ~. M .ORG $FFC0 ;切页
0 f4 t- d* P$ d LDA #$06
, r j& @9 z, G$ D6 a! D" L+ e STA $8000
2 ^( I; |( c7 l0 {8 F6 a LDA #$0E
! f5 X% ]( H9 e1 J, X; M$ W STA $8001" t1 ~ G6 y. v$ m8 U
JSR $8000% |$ F! X" q7 L$ v. y, d8 ?: @
RTS
" P2 O- J4 K: W, t1 O 7 U- g# @& Z2 A4 @; Z
.ORG $8000 ;数据复制1 K+ `% I: M( ] c' e& f# a2 D2 P' y6 h$ j" A
LDA #$80
4 v& @8 }# f( f: w/ P8 E! x STA $A001 ;启用SRAM1 @1 D& D1 n: M: T
PHA
2 I5 z7 `* }( }; g. @ TXA6 X; _2 e% J1 z, } Y5 s. ?0 `
PHA5 |: h1 f" Y* C; |2 _
LDX #$00. o; s! ?' p0 i/ V; H$ C0 W# i+ |! W
DATACOPY: ;数据复制8 E0 t* B% c7 A- M3 l
LDA $8100,X
# @2 D' L8 F* Q STA $7200,X: F+ R1 C& m& e8 @/ x% t
INX4 w# U9 e7 `) D+ i% U/ `) S- U
CPX #$009 Y" W1 S1 C$ u1 \
BNE DATACOPY+ w6 H$ _$ \/ `3 x2 z
PLA
! ~) [, k3 R- R( E0 I- V* E x' B TAX
# y C: j4 H+ u1 w h# M: L PLA/ R: v& T, p6 z1 u- J: p0 e2 F) B
RTS& E7 v+ g9 h1 o, U% `3 s
8 c0 V( G: Q( y2 T0 y
.ORG $CD9B ;跳转到转换的切页程序# a' e- O: w( L1 \, b. T
STA $70
3 n% }) e# J; {# Z2 U; F JSR $7200
: q8 k w8 B( L( x2 t5 ` { RTS
6 {/ |) |$ u6 U% A4 y; m# \" k# X , c6 F' G& D ]: a" w5 C$ a
.ORG $7300" z% [/ c/ q. M
M1_TO_M4: ;切页程序
% ~) B: N0 }: F9 \ CPX #$00
, c; E4 R- Y R! |; ^0 x* @ g# H: Y BEQ REG_SET1 ` b( U m5 ^0 B7 Z2 D) R, _
CPX #$018 g) ~- E; O; I7 Y$ ^/ L/ U
BEQ PPU_BANK_00003 U9 S9 b) @- ~7 x
CPX #$021 I1 n+ H" s7 I
BEQ PPU_BANK_1000, A* ]! S: F+ ]; \" j
CPX #$03
+ P; g& x# L, a" J* R/ e& g BEQ PRG_BANK5 b: W. N( z% M8 O/ D
REG_SET:
2 t. [% L2 ^: l4 q' D* u3 h* P STA $A000- ]! i' B0 ?$ x# i3 e
RTS
0 `& a/ ^! {7 S' z! K3 `9 D: @6 W .ORG $7320* ~' B$ v D1 t
PRG_BANK: ;PRG切页
5 d6 j B# H0 }* y PHA* _. [0 y8 D- R; I# h2 V
LDA #$06
, l) g# F5 g8 w; i* f" n STA $8000- T6 }% J" I2 y- o' w
PLA* O( C* l' }! ]3 z+ S
ASL
1 _1 C# P8 ^7 \- _, r0 x I0 N STA $8001. O, W( d! Q t: H9 b
ORA #$01
. _- R7 e, ]0 A+ k6 Y: J PHA; O" \8 b- t7 d9 n+ I4 b' Z. |, t
LDA #$07
; q. X, Q& s6 E3 t6 B STA $8000
8 {( ^6 X: n8 M( S5 x( @ PLA$ W! v8 W6 P/ l6 n( k/ l2 ]
STA $80016 z& y% y( h2 f6 ~- z* }* I: _! z
RTS5 I' \( O% y+ W% A$ N( H+ v
.ORG $7340
- ^8 v- n- ~! V( A- q' \PPU_BANK_0000: ;精灵切页, m9 [( I# c+ A4 Y1 `) Y
PHA$ l& a" }+ {* L8 a1 h9 _& M
ASL% d. v3 y4 B* a$ W
ASL* ~8 B4 D1 S1 j: x i
PHA( f! O+ h1 Y- v( h0 l$ |) d
LDA #$00, `* ~9 u0 e, S5 P. m Z }
STA $8000" o# @( p/ o W& X% H+ V
PLA
. D) F* H4 J- X STA $80011 a$ N. _+ k1 y- I- L" i$ N
ADC #$02
7 a: @; |6 ~# M- `2 o PHA$ _0 ^3 X3 S+ ]- C8 [
LDA #$015 S' d- R* y1 {3 s
STA $8000
5 \" N. F0 Z5 w- ^ PLA
! P2 b6 W; h- ] STA $8001
9 j* v+ _' I6 r- L) T/ k PLA5 E% E7 p+ h( h6 ^, C
RTS
, h1 R* o: m( V, r$ U
* U6 @9 }5 V: R; g& F+ e .ORG $7360) U# K1 ~* ] k8 D; g( A
PPU_BANK_1000: ;背景切页
- W# ^ e8 q6 ~/ |- ?0 m PHA$ V; j1 E) q2 P9 e6 E2 ]- X
ASL
1 A$ N% B( C7 Y. F ASL
$ S% N* H# X% n2 _' P/ t; s. o PHA
5 R% M, |; M/ i- [ LDA #$02
3 @9 Z5 }- t1 {6 @# E STA $8000) {, K# I0 U$ \! p% z
PLA
/ [& |4 m8 g1 |% Q0 p( d9 O STA $80010 n# w1 J- [6 W/ D: h. L: q p
ADC #$01- j/ z- V* J( e4 I2 H& F
PHA
) Q0 A* v% T; i; g LDA #$03
/ [6 g/ ~$ z0 S) O+ d! r) S STA $80001 ~. W+ o. S. b
PLA" S6 M+ t$ d4 g$ }) f
STA $8001# z' O- X3 d2 M# [7 k6 s* c
ADC #$01
+ r6 J! i0 Y" W. O6 x# F PHA" m$ x0 \2 q$ V/ j2 V& G8 P6 w
LDA #$04
7 v, J( \0 o& Z2 s) _6 ?/ | STA $80007 v7 |' p7 g. F3 R. {; ?; z
PLA
# q! H3 B3 l2 H1 d' O" z STA $8001* F F: l$ p5 E9 f3 @$ ]
ADC #$01
5 S. L5 Y7 w3 |9 x4 C2 w PHA: ?* i; B% z$ I. n5 c: G* u
LDA #$05: s3 S, m: n/ c" z
STA $8000
1 h- l1 V1 f6 j4 L! a, p& X PLA
5 A4 I$ p9 B# _6 ^ STA $8001
5 ], `2 N8 x. Q. ` PLA
/ C+ i! X: C2 B! R, A# L2 [ RTS4 W8 @# k1 Z' ]$ b9 n6 Y
- C/ B% P, f1 L
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|