|
;[FC][最终任务mapper1切页程序]
# |: f9 U7 }$ o+ J( Q .ORG $CD9B
8 t+ B; B+ O+ ]% v; B# X7 @) EBANK_START:' |/ T1 _0 v/ n0 q9 V- r7 S1 Q
STA $701 {9 G( e6 r6 K7 B0 l
TXA
1 a% Z$ B0 J" X% S ASL
+ z0 L* o; d' v6 h- } TAX& P! i( a8 v* g9 S! G5 }' q! |
PORT_SET:
- E+ r: x& s( L. u( N8 _4 j% f LDA BANK_DATA,X
$ _" N; E+ I5 U- C! E STA $6E
; u! ]3 B3 L# K: ~4 P$ \' s- i3 J6 Y LDA $CDB8,X
7 y* y# B, ^8 s! F STA $6F. I1 @1 `1 j9 O
LDY #$008 |6 E4 y$ Z2 r2 z
LDX #$05* P+ v8 ~. S# m) A4 Z* K
LDA $70. M2 B* q) ], n0 Z1 C" E/ U# F
PORT_WRITE:
5 x! p; M; Q1 k2 i2 } STA ($6E),Y/ J7 i' l' l+ }8 t/ x: s' a# w/ X
LSR: r5 f! T& L4 ^$ q' D( Y# R! Y* {
DEX
1 R( ]) u7 G+ L BNE PORT_WRITE" @+ L5 l7 o& }3 ]8 A1 g; O1 B+ M3 s
RTS3 \1 p, a0 U; N
; f, Y7 y1 o5 r0 ?
0 @& K2 M! b( x4 ^ f8 m
BANK_DATA:
2 d- e+ { p6 c( r4 { .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
- s' t9 }0 h9 k
& \: @4 ^$ j+ B( t- F% O. P0 ` 0 u3 x+ L7 t) X, j6 V- F) W
;[FC][最终任务mapper1转mapper4切页程序]
+ q! _$ N) l- J+ J' B .ORG $BFD2 ;初始化跳转
7 D- @- n: G) l: X% u: P JSR $FFC0
' Z) c+ {) V1 u" {# }- ^ V3 w6 `" b9 t4 N; P0 \8 H6 s
% F- F. h) d2 f6 m5 @ .ORG $FFC0 ;切页2 D; d- \; k% S& |. N7 _ k
LDA #$06+ w" z- F% n' C) }! h. G& K$ S+ D q
STA $8000 U2 |# ]" G* X9 z6 ^$ K
LDA #$0E6 ~" G, ~& {% D- o" v0 i
STA $8001
& F P. `1 m9 o5 H JSR $8000, \6 X! ^. K/ i& ?) o
RTS % U5 _. S7 f6 S8 K+ g, x. _
: u$ }/ { t8 }6 |5 i, r0 m( r
.ORG $8000 ;数据复制7 b$ R) L9 H, X) s# P
LDA #$80- d6 ^. d( e8 d4 q
STA $A001 ;启用SRAM
* v4 ~$ c6 p% F* l/ P PHA
* _% D* u: N7 D" {! Y TXA
' s5 o9 a' t- c* V0 a PHA1 K F/ g) `* ~5 t+ s' ?
LDX #$00
: ^: i( ]: @* B! Q; `( T8 JDATACOPY: ;数据复制
, ~8 n# ]7 w: u6 K+ J5 Q LDA $8100,X# O0 P4 y6 E; P% V& H) f8 p
STA $7200,X1 ? ~0 S+ c/ R: t8 U1 t. s
INX
- G, H, s9 R4 X7 q5 Y% D: d CPX #$00& ^ x/ x6 W; B7 z# Q: Y+ ?
BNE DATACOPY8 Q5 z, P3 s0 |. d( y4 }3 A# h1 k
PLA( t- o. U! m. X, j) [- e
TAX4 [ O" `- T+ f, U; X; E$ x C7 x) s
PLA
, T% d9 `) _9 D. B! p9 E RTS; K6 Y+ H: U: C2 p+ b
; x% C+ e* z! ?- }
.ORG $CD9B ;跳转到转换的切页程序
& T+ X; B- F* n* J+ A( ^: x2 | STA $70
$ A. N4 U2 I5 e, A8 _* [ JSR $7200! g( d0 c- S* A- T3 \& R
RTS: w) C2 e& r& Z/ p2 O; G; k( x
2 E- {. H3 D. E$ P' h. q- P- t: _
.ORG $7300" `$ _; Z0 J: W3 G& B% K! K
M1_TO_M4: ;切页程序, Q7 A- P6 L* i$ N! U$ z. @- l( ]
CPX #$005 r8 _' }8 W) N( E6 R& h0 V: `
BEQ REG_SET( @: Q; J9 ~% v. ?3 i2 W1 f' }6 {
CPX #$010 |4 X! r/ `) E0 }4 T" |- G
BEQ PPU_BANK_00001 @- o! P0 e" u8 ^) N, d, c' O
CPX #$02+ Q/ e; A6 ~4 l/ E
BEQ PPU_BANK_10004 {. O2 J/ T' |! L0 c
CPX #$03
% D1 r3 X5 g, Q( T BEQ PRG_BANK9 U5 R2 F$ c/ ?7 W" d- n
REG_SET:# F& V4 ^- k3 i) G8 r/ C
STA $A0001 C, [* f, ]1 F6 S9 N& j
RTS$ Z6 C' o" b4 M( g: z1 [6 N
.ORG $73208 D0 K& \1 D9 ~( D( l0 u" }
PRG_BANK: ;PRG切页( q) g0 e6 ~! C, n* |2 Q" t
PHA
* p3 b) b0 E$ G' D: C LDA #$06# c3 Y* o4 l+ d# V
STA $8000' L1 X9 l* R. `- N/ H& d% W, J1 A; q
PLA- u: X0 O' v I9 N# S! F4 ~
ASL6 f. O8 q3 Y3 L- N/ U( M
STA $8001
8 [2 Z5 f4 k7 t' `2 N ORA #$01 E$ M; y( r( F* p- J3 P7 W
PHA
) }. U* R& ?2 y6 \: a* V0 ^: f LDA #$07
7 V6 o8 S2 V& k: Q. A+ N6 k STA $8000
. j: Y" j$ T( j7 k2 S* R# ~ PLA
. v7 G0 h+ Z5 j7 T% M STA $8001
3 t; |2 Y4 j" `9 U! C0 e! { RTS1 D% U; W N- w% @3 n/ ]+ }* h
.ORG $73400 b: K1 s& X$ x$ r: v- T9 h4 d# J
PPU_BANK_0000: ;精灵切页- b+ A+ s' m% p, q
PHA7 | Y& W; a7 z+ V& h6 r
ASL6 M3 T7 E0 k: y- t. m
ASL5 z1 }# q( p4 c$ a
PHA' G9 ~1 g& }3 e" H/ ^6 w
LDA #$004 H. [7 g7 f0 e9 d) I! @9 B
STA $8000/ _3 j8 R* D5 R2 p: S9 `
PLA
0 g( w3 Y& p! D7 M6 L STA $8001, f; m+ K% ~1 `8 d
ADC #$02" s6 E, ~0 u( Q% g# w. u
PHA
( M4 K* a: E: }3 `& [5 k2 u+ D! X LDA #$01- n. X1 P3 [) f9 H* p2 Z, ~' Z8 ~
STA $8000
/ b# V& p: }( D$ l: p- k1 I PLA
) C3 |* R3 [5 f STA $80012 C$ a/ D9 N6 z2 l* r
PLA
; _; c* E3 T/ Y: Z. D RTS
: m4 I2 t& N; N2 z6 ^& X
, a: w B1 i3 L& Y% _ .ORG $7360
5 R& z0 T0 ` T5 rPPU_BANK_1000: ;背景切页) ^! G9 b9 g- S! h
PHA3 n0 E a$ I/ u3 `% y! k
ASL
, q# _" |2 @; s; A- ? ASL. j A( m) [# I: g+ }
PHA
# M% I9 Z C+ w2 l: U7 M/ m LDA #$026 [" T- w$ D& v! R9 e
STA $8000# u. ~: r* V; T T& q
PLA( I7 n5 g! s# X: x1 Q
STA $8001
. u( K8 u6 w3 \ ADC #$01
$ Q J$ O! z* J. Y PHA
! ~) j& h. s' {1 F1 e LDA #$03
$ p5 F+ c1 I$ ^1 M( M3 x% J# a STA $8000! U2 o+ R. N6 s; ]: v5 U" s' \- L
PLA- i! B4 d0 A$ K3 D/ N2 t4 J$ E
STA $8001
5 D: `7 W* g) h% p$ v ADC #$014 m3 Q: {) n7 m* u+ K5 I5 j
PHA
) D! x3 k) e' l LDA #$040 {7 B; r# m; D9 V9 V/ C
STA $8000
& m9 I% T3 p9 L+ ^* R PLA/ C7 i" U. D0 C/ [- Y) y
STA $8001
! Y& ~: W4 O( I4 q2 D' F ADC #$01
# Z: f1 P& W( d* w! u PHA( D) b3 ^ @* P& x+ G; V( i. s/ w
LDA #$05
4 x" d) \7 h1 ~' X) w2 B STA $8000& V7 s# `% c0 g: u' @
PLA
8 E' W$ g- y! z, G8 E) i1 l STA $80016 p. ` N, z# l" P# o
PLA
9 B1 Q; M$ q6 p1 v RTS9 v/ J6 T* y* e1 a
# {% F$ f; \, c( x5 H |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|