|
|
;[FC][最终任务mapper1切页程序]1 N, N. E+ r) V- W) k* I. n3 N& r' k
.ORG $CD9B+ G: a. n, ^" [/ l
BANK_START:9 Z7 {1 Y! \- u1 Q* I) o8 s
STA $70
; A% r3 ^6 _3 K4 x TXA
, `1 n( `9 H9 a; p- n) b- c ASL( L& | z- ^9 q4 y
TAX
/ _2 Y d9 g; ^1 M! A5 }, c: F+ wPORT_SET:
1 X# @ T2 g9 T4 a$ Q3 R LDA BANK_DATA,X
9 o9 L( X, e. b+ Y* O* C6 s STA $6E( \% r3 L6 E) T; _6 g
LDA $CDB8,X/ [% `; {9 g0 B0 q9 i
STA $6F
- ~8 C. l4 b. a5 {/ I) T' _: l# C LDY #$00" y: F" {+ {$ u0 u% r
LDX #$05; q7 I: l6 N" t* y s# o
LDA $70
+ h2 e& {& C/ ?2 D; GPORT_WRITE:
# e+ k4 ?4 A& M7 J STA ($6E),Y T5 w; k h3 O4 ?
LSR
" P5 t. V1 L! H* Q' r* b* d DEX
+ N6 t- u, X4 n& Z5 k7 t S BNE PORT_WRITE
0 G/ y0 K4 `( p) E Q7 K8 v RTS+ Q% x3 V* u* q: v; \8 o6 a
' V! K! y! h) _$ F6 m0 @* b* P
" ~5 {; j# l+ L' ?# g, b6 HBANK_DATA:. S. E' k2 ?( ~. B( g/ |- a3 N
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
4 a) w2 u* U+ S$ N+ B 4 t+ t6 T8 c6 _; x' c: p9 y8 w: T
5 x( L3 ^$ Y q0 y- D% w7 ]# N6 V% f4 M;[FC][最终任务mapper1转mapper4切页程序]
' q8 D3 `) [ ?" u: H [/ E7 `9 b .ORG $BFD2 ;初始化跳转; B# E6 W2 V# h# u5 n
JSR $FFC0% R9 L n/ Q5 v; L
+ a: f% p) }2 [; {' ?
: J+ e: Z. t% H .ORG $FFC0 ;切页
5 a4 _ ?4 y( B4 z* m2 A R LDA #$06
/ P9 X2 s% B3 |& ` STA $8000
7 X( l5 b9 B( j6 D+ V9 f } LDA #$0E% y( Q6 o6 ]. f) r8 c4 m1 m
STA $8001' C+ L4 f/ `6 U9 s* S; S1 l
JSR $8000; n2 ~+ Z: U' y$ Z0 P
RTS 8 s8 P/ I8 X" t- `% h3 o9 p. a8 V* u
! a9 w' y/ x" U: }4 R( K7 C) R
.ORG $8000 ;数据复制: q9 ~' V0 e. Y
LDA #$80$ ^5 \. `! x! @* V
STA $A001 ;启用SRAM
6 W0 R/ J$ W/ r/ _# { PHA7 i3 }( q- z4 @6 J' ^( {) g% J
TXA
7 a3 B9 h" R. k# q* q2 o9 R0 o) w PHA
9 ]8 y" d; b r/ g3 q LDX #$009 B& ]. t2 x: z5 u! {4 {
DATACOPY: ;数据复制- D: r0 M1 a6 g1 n
LDA $8100,X0 ]$ b5 o& w. n0 B: `5 l
STA $7200,X
9 p3 m% o0 Z+ \- s INX( \4 J$ z$ @9 b7 @5 \
CPX #$00
) F8 o! G& d* G9 g( ` BNE DATACOPY
4 Q# N3 L% L4 i' A# j PLA7 C7 j$ U2 r/ j# z
TAX# G J$ @* J9 u! m5 x+ J7 o9 k
PLA+ O# @( S" J5 H: S% G0 W% f5 o
RTS+ Q* |# d7 U, z# |/ g9 T, m$ a3 D8 @
) E5 X' m# Q- F+ {0 d3 o# _( w
.ORG $CD9B ;跳转到转换的切页程序$ C% }2 m+ A g' ]7 E+ s( V
STA $707 Z4 A+ e9 N( X/ p" l+ g
JSR $7200
+ W' h0 d2 t$ H5 p8 t4 S RTS
4 `1 j4 j* q9 K0 S ' \7 W: N/ W% f1 C N2 ?+ A+ V
.ORG $7300$ C( m4 F ]6 {0 F0 }
M1_TO_M4: ;切页程序8 [- n) _- u: R% y m5 d) U& F
CPX #$00" V- I z' F, F ?9 q7 P! O! v
BEQ REG_SET) y) ?+ Y$ k9 H ]: Q3 _
CPX #$01
) @$ Z/ F: K' x5 V; z' @# b. n BEQ PPU_BANK_0000
( [. Y2 X0 L {4 X& m CPX #$02" N$ o; l% f! J8 Q1 p
BEQ PPU_BANK_1000! O, d# c5 f$ k+ K1 f. G1 W5 E
CPX #$035 V0 F; R$ a' `
BEQ PRG_BANK; n1 i h0 {0 D. B! R
REG_SET:- L- R$ i/ n9 {
STA $A000
1 Z7 D3 `' |1 }9 |9 g; M RTS
# `, G! i/ e+ F0 I/ }4 J, b .ORG $7320
a3 G: f7 Y% h5 ?' T* s0 OPRG_BANK: ;PRG切页
p1 W) u, t1 |, [ PHA
2 }8 }9 ~, l- d) C; X LDA #$06
( |' a8 L5 ^- w$ X+ ~ STA $8000; N+ t" w0 F1 y6 C
PLA6 ]6 t; a* I3 J; C2 K4 b3 T2 K
ASL. Z) w8 I3 @2 U6 {/ g) s
STA $8001+ {& k. a/ x Y
ORA #$011 ^- \" s+ q$ S
PHA5 l( n( n9 N. q, s p3 i2 R
LDA #$07
" O/ p: |4 t" r3 u STA $8000 S! `2 u# u* @
PLA6 o3 r- U8 d6 g
STA $8001. O# m9 ^5 H% |$ t* A
RTS
- f8 R" L3 h4 O' C .ORG $7340
+ d1 G4 c/ _- \2 UPPU_BANK_0000: ;精灵切页, o4 w2 ^' j+ P5 T( m0 L8 ?
PHA* J' D# g! ?" ]
ASL
! ]2 P$ v2 ^9 m R1 Z ASL
& q" B* z- r! L5 Z PHA" y) z/ M) J- h: [' o& R7 g+ f
LDA #$00
+ @! V9 ^- |9 l. N! t STA $80001 f, Z- ?4 ^6 H0 p% Y
PLA3 }* J6 K/ R! ]2 A
STA $8001& ?) Q0 B% j( }* h- F
ADC #$02: d# }: ^6 m/ {: R3 S8 ?' s& q
PHA# P' J' v3 [' Q2 I+ l" \+ |
LDA #$01
3 E7 Y1 @1 s2 a3 ~ STA $8000# [; [ }: \/ U8 V8 I& q* M
PLA8 C, ^3 t! O% t. U# K
STA $8001
7 r5 A1 t3 d9 j: e: B- T PLA" I# v6 e0 S0 }* w/ A" n
RTS; B0 r0 S5 j6 x1 d/ ~
$ A$ B C, x0 r" z1 B .ORG $7360
7 J1 q* S. p3 ^+ v7 M6 w* H* DPPU_BANK_1000: ;背景切页 g# ^# {0 [' ]5 }7 Y+ l* ~
PHA
. j7 H7 t) K7 G. D ASL. {& H" G6 l; [1 b6 u
ASL! g0 ^% T" K+ s+ P& Q" ^
PHA
( ]. ~! E, L4 I u7 ]% I& A/ U i LDA #$02- |. w/ }- ]- r+ [( E. [- K
STA $8000
" P L4 w6 R0 \1 D/ L PLA/ |5 U0 n2 A# M3 T& B. [; {
STA $8001! @. _3 a# f3 @! m* K
ADC #$01; l$ _6 V! }& V. [# T' `
PHA; C. Y3 X5 G- L# s2 Z# p4 C
LDA #$03% w7 d7 ?& q; U6 \) x
STA $8000
( ]9 E/ }, @! X/ }: ~ PLA
2 A8 E1 n+ @$ m8 k% t5 ` STA $8001
& G g4 Z0 C6 l5 c# ~ ADC #$01
! T8 d0 t# s( [" C9 P PHA: G. P: R3 l1 ~. I! z5 M
LDA #$04
* U, @7 _9 D& E# L STA $8000
1 c) W# _5 B6 S2 i$ X2 n& [ PLA$ q" [# k( E& A5 _2 x
STA $8001# Q, \$ ^1 u3 a4 V) U$ X8 }
ADC #$011 W/ d8 E; X) j! q: u2 W
PHA. J& c: n) v) d. }
LDA #$05
U7 w* L8 w1 J y& r STA $8000
6 z) p# Z1 u& }% C4 G PLA% `2 Y. \' M S% f6 O. f
STA $80018 K7 o' t) Q) c1 q
PLA- m0 l- Z+ Z/ ^4 c
RTS; I/ {5 V3 S8 k* d! B
2 n# W! v0 e- p* Z& f! c |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|