|
|
;[FC][最终任务mapper1切页程序]
! y$ E$ \& Y: n* l# B7 ?; }- p, t8 j .ORG $CD9B
# A% S8 ?3 G$ J/ t, A# b: C$ y" cBANK_START:; D% Q: M9 ^7 G2 ^6 c
STA $70
! G3 t% ^( |9 h( n6 M/ j8 H$ P TXA& K8 ^" \5 D' I) L
ASL
2 D" I' c* F$ l3 H" w TAX
8 [* _, F2 o Q4 P7 YPORT_SET:
6 _3 e7 E! g ]) d LDA BANK_DATA,X
. N7 z+ S) z6 X# W! ~/ \* T STA $6E9 O! G6 G6 M B. T
LDA $CDB8,X" x2 d s+ Z7 {- A
STA $6F2 y7 K; S- b9 K/ _! `9 K$ K+ e P
LDY #$00
$ M3 i" a! L2 X. E7 x1 t7 s LDX #$05; p; u' w! l3 n0 f4 W
LDA $703 H5 [6 \* }* U7 V! n
PORT_WRITE:+ m) `: `: k3 g
STA ($6E),Y0 b2 O. d% S9 G/ s# _
LSR' m- B/ _! [- S! x I: [/ m5 A
DEX" f5 X# Y0 h; k0 Z; i; k
BNE PORT_WRITE# T8 u1 j, c- a* e/ S; J5 M
RTS+ R. V9 @5 w& U6 l1 T" c
. S( {$ K2 F' d9 N+ U3 b$ H / n3 C' ^5 b4 A; Y% ^: s1 P, {) ?% {3 Z
BANK_DATA:3 ]" I5 [8 \& J) S: f- u
.BYTE $00,$80,$FF,$BF,$00,$C0,$FF,$FF
' N. R( t: a! K$ V2 `# f# R% k
+ _6 a7 Y0 k! H1 a
/ Y# n- H! ]7 |4 u2 w, };[FC][最终任务mapper1转mapper4切页程序]
, P% Y) O7 j! P: r; K' L4 n+ G .ORG $BFD2 ;初始化跳转. ?9 f: S4 R9 ?7 l4 T
JSR $FFC08 \! N% v! F) b: U9 q! k, k
- g2 }" }& W# Y E" O) h1 i$ Y
+ u" y* B, k/ @5 u/ a& Q& [) Z .ORG $FFC0 ;切页
]3 C0 P- c* }( V LDA #$062 r8 f2 p; L/ y
STA $8000' Q3 m) j# h U8 P7 e" v
LDA #$0E/ W2 U" H. ^% Y: Z7 q- v% E. q4 o7 s
STA $8001
' N' _ n/ Y, m JSR $8000* P* P; J1 |3 z
RTS
3 Q. Q0 o1 U! y' W( @" v
) I* I9 N4 b8 U! l .ORG $8000 ;数据复制
' @7 o" c: t- _ LDA #$80
3 x' R: H8 e* ~) F# i$ [. w STA $A001 ;启用SRAM2 S2 |* U5 i8 g6 c( L& d
PHA: t, U/ X, Y' E1 R
TXA
1 w1 F+ f# f; E PHA
4 T" ^& z$ y+ I; V LDX #$008 O. { X. T @- `1 x2 x
DATACOPY: ;数据复制0 b& c- Y0 h' \- a* {
LDA $8100,X
0 Z# z$ O2 z5 l* t4 c% E; Z2 X STA $7200,X2 l1 i) W, A& C! C, g
INX
' w! V( I" d& G+ A# @8 ]# N, e$ J% _ CPX #$00
, x, {2 e9 G5 R+ S* P- v3 s- c BNE DATACOPY; o/ w8 q1 L! F# v6 ^
PLA
: F5 C+ h2 m! D1 _ TAX
* }# u/ T( T; ]9 N* j PLA
) H( q( W1 v7 R5 a( R/ a RTS
; E. I! p4 f6 _0 M$ i4 Y & }9 `; h8 N6 a8 u# v) s' K
.ORG $CD9B ;跳转到转换的切页程序; N! W( d, T p9 W" \# t+ {0 r
STA $70
9 X, _( e4 y# c: W JSR $7200
& y! X$ Q% |9 J RTS
4 u% ^* N4 G: J' o 6 _5 e0 s3 f% W0 ]- G
.ORG $7300$ _; v" J3 Z4 g, p% |6 l" ]) J
M1_TO_M4: ;切页程序
3 g: V6 H# j- I( p0 x, {7 k CPX #$00! |6 s1 \8 p) b, |$ v
BEQ REG_SET
+ N7 |7 X1 A7 `9 q" G CPX #$01& [/ F6 P7 x' z! I8 H' B
BEQ PPU_BANK_0000
; N3 r9 @2 |* Z/ x CPX #$02" V0 l: Z/ H; _/ F# C% p: F
BEQ PPU_BANK_1000
5 T# U* b; p/ k4 f8 K; [) i CPX #$03/ X. B( A9 d& g1 ?, g3 m) s7 \
BEQ PRG_BANK
T2 \8 Y4 t% `, X6 M3 j" jREG_SET:
0 z' N/ M- P; W: k4 O4 e STA $A0001 w$ \0 g o/ R9 `
RTS0 v/ I7 a) o: H0 r7 B
.ORG $7320
2 \1 A/ ^ |5 g. `" k& _! g6 z' d+ fPRG_BANK: ;PRG切页
' V- A& B! {% j# S PHA" m0 Q' u' q7 u, J/ d' d
LDA #$06
! A7 \+ P4 Y4 q- y3 Z% ]& z; M STA $80001 ]3 x, x- I4 X' y- y: L
PLA- G$ J. v$ n# {4 J; B& E( x- E
ASL
/ h! I$ r/ A- t* Q( U+ T STA $8001
% g6 N$ {3 o$ Y9 v( r3 A ORA #$01
2 e! o8 }; v/ Y U7 c PHA
/ v- K: ]2 d5 [& J+ W LDA #$07- W/ v* P& r S4 g
STA $8000+ ?1 n; q' Z7 ?* C( O4 } o
PLA3 w4 R( m7 T1 T; B+ ^ q- x) z
STA $8001
$ C# C U+ S% \ RTS- @+ Q# S- W# g. Z, @0 \7 B( d
.ORG $7340
% J3 [# t4 i4 C d' WPPU_BANK_0000: ;精灵切页
* T( p0 } y# t" K5 N PHA
# i6 k; ]* k' _ D ASL! x' G5 j5 z) a7 N# j8 x Q ]; W
ASL8 m, \- N, P- W/ j( A! U
PHA H* r. m, R, t& c( X* w
LDA #$00
7 W m4 z4 |3 e" [3 m STA $8000
; x" R! x: ?$ Z! t3 a; M+ ? PLA) T& T8 c+ R1 z% E) Z N5 A/ h f
STA $8001
, k' K+ X) H6 z9 l ADC #$02
$ t) q1 K5 L2 e4 u PHA: d9 m3 A7 x5 [- b
LDA #$01
M/ ?( R" C: h. O7 I5 f STA $8000
; K6 ^6 R4 T6 }+ }( S1 F/ g PLA6 `$ Q6 o ^. l2 C6 I
STA $8001( A6 {) a% o# S4 i
PLA# y1 e( V f! K6 r
RTS
: v) o3 o$ f6 V7 U * z0 U8 }4 W/ W2 P2 u
.ORG $7360; `7 I# q( ?6 @$ V' \9 \; E* r
PPU_BANK_1000: ;背景切页
7 p4 Y" T$ C3 y' j+ C) E PHA
6 a: H+ e1 z6 M1 x0 M: D9 { ASL& k1 R' T% C1 ^! r9 b; C
ASL) y8 f: m# ^2 j
PHA; f/ A7 Q, @0 Z
LDA #$02
- o+ X$ t) j m7 f; y7 q2 j STA $8000
+ n2 n9 Y9 f' H7 V" Y/ @! } PLA0 J p. d% y9 ], w
STA $8001
) l) s. I6 p! K" r% q% B ADC #$01 y: V/ N/ g3 k& T
PHA
& T5 z/ f- Y+ S" q! J% ] LDA #$03
: F+ [0 o) W/ M5 @+ |3 q+ H5 p8 G STA $8000
}/ ]" y# s2 z- S* o+ M PLA- J b3 b, ~) x- l' g2 |- w
STA $8001
. {3 J) L/ y% K) h$ V ADC #$01
5 R# t# T u x PHA
# f' k) H% e$ ]' c LDA #$04
4 M( b* H) q/ ~1 B/ V STA $8000
3 Y7 B# S, ]9 i0 k! s PLA ~; |/ Z8 B- L' w
STA $8001# F8 y0 B9 H9 W, {% ^* u
ADC #$01+ U% u$ [3 r6 _3 q* Y
PHA7 I3 `0 r& ?+ e1 [6 |: u# m
LDA #$05
/ `8 [* E5 m3 i+ T* ~ STA $80009 W8 E6 g6 S! h- s# v' P- w
PLA
! D0 W0 Q \2 ^6 J& i6 J4 h! J STA $8001
: O- T2 S3 o2 g- X+ F7 D# t* N: d PLA
% E4 V W" [ h RTS5 p1 V$ v4 ?$ L- m0 Z
Y V0 W- E4 R' M: n |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|