|
|
;[FC][最终任务mapper1切页程序]
' m2 {' R4 l% b' R .ORG $CD9B) N$ X' m" h% x; X2 x: g5 T2 I
BANK_START:
* q8 L9 R7 X. W* x* V STA $705 p, R* X* M, L0 [5 \+ z) J' @0 z- g
TXA' j" d# e& N7 H1 O- F: g. D" Y* o- l
ASL
2 F- V7 i+ z7 k1 g% @ TAX7 q' P. i& v4 U: v0 ~/ P
PORT_SET:
: P" Y# j' \: _( S1 }3 H) A( X LDA BANK_DATA,X n* V* f1 k( U$ a, I2 v. G
STA $6E
; W' l5 l; L* R, J: \- n LDA $CDB8,X
. C8 p* U- }9 S" w: q STA $6F
) e! m0 v4 a: ?. K4 B" w; S6 |: n. L* ^ LDY #$00
* d+ V0 Q( [. Y' Z% d" r LDX #$05
+ b% ^9 q1 I, E3 V9 v/ I4 K LDA $70, @5 W; }6 j) f" O3 R# }3 @
PORT_WRITE:
0 `( r: A/ Y1 j1 B+ b/ f STA ($6E),Y
1 j3 E k- a3 p' Z- S LSR
1 P/ {/ F9 d6 }, T9 J: _ DEX4 ~% O- f! L+ e; Z& [2 N) U$ f
BNE PORT_WRITE0 v5 y# r0 G# g3 z6 k
RTS$ ]1 K. f1 r9 x
7 u( ~( x( H; i8 z ( d7 a0 ?! T9 ~- @
BANK_DATA:
2 C8 ?) e8 t- _) ] .BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
' G, B' I6 C' b" U5 k0 s6 U( x ( ~0 Y& s8 O- ^. _
; Z3 I2 `* T7 i. Z* i
;[FC][最终任务mapper1转mapper4切页程序]
1 ]( Z/ n2 K2 F! I' y- z1 @ .ORG $BFD2 ;初始化跳转
3 _3 s) ^# h& T. \! K. z& x; a JSR $FFC0
* O! y, s& e+ \1 ^- m# W+ e4 @5 u! J, w6 g8 x; s9 |
, v# n* l1 f1 _, k; P* s" M! H
.ORG $FFC0 ;切页( X6 j' K1 Q4 p5 Z2 Q8 \% A
LDA #$06
1 F# D @# F( w5 `5 w5 t7 i STA $8000
+ y) U+ u2 I+ ~, B/ Y* p* ? LDA #$0E
- x8 t# |) X# v0 d3 s& W [ STA $8001
2 Q& o9 n) i6 y9 f3 m$ g5 m JSR $80006 `" b) j9 r* d+ v- a: T7 K2 d
RTS
2 E! _) C% I4 E' i, d 6 e. x! M9 D* X" D5 a
.ORG $8000 ;数据复制
C7 |6 |; ]! Y E+ O# u$ b* n LDA #$80
8 e, q1 X# M+ N STA $A001 ;启用SRAM2 I2 E) f& h0 J# l
PHA- y" Q' A2 s9 H+ @; {
TXA
2 Y% f% Q8 ?" M/ Z9 @5 S0 ^ F, x# b2 I PHA
* e$ w1 b" D; s9 n. ?, J LDX #$007 Q/ G5 M1 R( j/ B9 M
DATACOPY: ;数据复制7 ^7 |3 ~/ _( K( C, m0 x( r; D! I5 E
LDA $8100,X
5 G" e/ }4 g% g STA $7200,X- m4 Q! t1 B! D1 I% M( ~
INX* \6 L4 Y8 m, @( R
CPX #$00
7 G7 t" u. ]/ I# H+ {& L8 { BNE DATACOPY, \6 Y$ K( s: h; W9 B. Q6 }3 p* V
PLA x& L5 ~5 h4 A
TAX3 F/ _& s# G9 {3 [( O
PLA' j0 I- f0 L, C" u2 ?, d0 u2 @
RTS
3 ~# c; [) \1 r
' M, n. H7 R$ Q3 x* S W: y .ORG $CD9B ;跳转到转换的切页程序1 F' l' P0 c P2 m- E- `
STA $70: ?+ I& }$ D+ v7 i- j5 g
JSR $7200
% j, e e1 @4 R7 G1 J' r RTS: I) q" l5 G. q) z- a3 {& O' }
: J- j( e/ Z. E) j" G8 P# M0 \ .ORG $7300
2 W3 d: q% [5 R) n" A2 ~' fM1_TO_M4: ;切页程序
" I' G, ` i+ x0 ]5 h CPX #$00
) y3 U: F0 _% n BEQ REG_SET4 Y- ]2 e; |, I. x- t! L
CPX #$01
9 P+ B/ ]/ M7 z# m4 P BEQ PPU_BANK_0000
& ^; |3 ~/ i- _; Z5 o% j4 A. B: e CPX #$02
! K& L& N" A9 _% X BEQ PPU_BANK_1000
" R! y# O$ }' y! e CPX #$03
6 i5 B& ]( I6 }5 i7 `, d BEQ PRG_BANK
; v0 M/ a2 D6 j2 x, N' kREG_SET:
) U6 c' w T/ q0 R2 o STA $A000
4 v9 d" T( H; ~* }0 b. R RTS! m& ]. W! q( }2 a( I
.ORG $7320% N0 n( A, `8 H. [: K$ w
PRG_BANK: ;PRG切页 D6 r/ e9 q; C0 R
PHA
. w' ?* N% ]$ q- i/ S LDA #$06
0 x$ i( C7 c- y! I) }' u) k STA $8000 X' K7 A. R1 X6 L6 ~& r9 A
PLA
' H1 O% g0 U0 H9 [" X( f ASL# M& v0 b" f$ G! i9 o
STA $8001
! r/ ~, J# m, |' ?9 d8 K" I ORA #$01
p$ l h& F* j* S PHA/ V n& h I: X8 |/ E/ m
LDA #$07
; `8 z4 K2 g' H" x0 V STA $80005 h; d R$ L, _9 j
PLA" t+ F( j5 h5 L; S+ L7 a
STA $8001! X- F7 D, u) b9 I. H, e8 ]
RTS+ ?) K: C. a/ W9 m: {" N Y
.ORG $7340
4 J H' c. { f R9 s$ T6 uPPU_BANK_0000: ;精灵切页) p' a# v* j% y1 \% Z4 T
PHA% W5 o( E7 h" s0 T
ASL# |& } v' I. m
ASL
0 N% S+ f: D% n, O PHA
) @+ t" {; [8 i) } c% d2 `+ ` LDA #$002 a* ^) F7 ]* I) r" y# O
STA $8000
1 U! t1 r0 k M1 {' g PLA
' M8 a% y, ~! ]% d" P( C STA $8001
) v+ |$ }2 L( N/ a; R ADC #$02
5 @! G: T# k: z2 e) \6 z' x: s2 F; A PHA! }7 {3 C+ E I- J
LDA #$01+ A, M8 i8 E; G2 @) ~" R* M
STA $80003 _5 H* m" x) E
PLA% L! l* g$ ^8 m1 r, N, n" F& U0 ^
STA $80012 e) Z$ L7 r- @* Q
PLA
" a$ o( d8 [7 o. W7 g3 @' L- a0 ~ RTS. q: k4 J5 q A6 K; m& ?2 ^7 u
# {) e$ t* G+ |( K5 `2 N
.ORG $7360
' {* M/ c. W* y5 ]4 e; D& LPPU_BANK_1000: ;背景切页
, a# m3 _% F E+ z# ^3 Q( t PHA6 Q% {7 u6 H7 u2 q
ASL1 ~- Y# a& t% ]
ASL$ ], P5 |7 e1 V
PHA
9 ]' u J# m) I2 O* d LDA #$02
8 ^9 p8 K) e% u' G2 t& s* w6 H STA $8000
- a% f9 l* A3 g0 z( P8 n PLA- V' ^ u( J- X: ?, ?+ w" F. `
STA $8001
+ z I& _6 Y6 z" G ADC #$01
$ k' C1 v5 M8 N PHA+ U0 K1 U+ b% \& t. O
LDA #$03
# s9 }. ~ n5 K# S% L x STA $8000 G8 R9 O8 i& ]2 _; S _; o0 E1 ?
PLA
5 r1 X; G: C" G. q STA $8001
6 g* h6 r- W4 u9 {) P ADC #$01, x! X4 U" l% c3 [: H# T6 g! ~: ]; M
PHA- ^, E! G0 A" l6 G4 n6 g0 d
LDA #$04. x) q7 o$ U( b6 O, G3 E
STA $8000
! A* C* {2 {! E1 \ PLA
# F# o f7 b3 d9 v! H+ G& _7 [ STA $8001
3 |1 q+ b: U8 H+ T2 u( B; z ADC #$01
# d* F }( T% O: K6 B' T" d/ c PHA& v( J) }. x% V
LDA #$05! [; Y( a' T0 l/ [
STA $8000+ w% G+ ?3 M; f' R8 w
PLA
s3 ?; d, w; [9 j8 b6 r9 P STA $80018 B2 L+ w/ ?4 {* M+ {$ s. }
PLA
7 a, }8 j% T# J% n" x' A RTS6 h4 P, c3 @) d4 T% l' n
$ l. V! g7 t7 D Z |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|