曹老师,你好,很高兴你能在百忙中抽点时间来解决我的问题.
9 g" m7 [# H" Q* p8 L1 O- C) V4 A是不是3F00——3F0F的16字节,每四个字节组成一个调色板,
$ P q7 @/ C& o+ B t: c& M* Z' T其中3F00,3F04,3F08,3F0C是用于背景?# R- k1 T$ ]0 T% }
精灵动画也是如此安排呢?
) _) N3 A- k4 n7 k; P7 U看到你的程序后,我把后面的DMA精灵传送的程序补了一点,把“叶枫”用作动画,) }! p3 D6 B# K2 n* [
共用了8个拼起来的,用的是相同的调色板数据。) {/ H1 R3 L* x0 S% s
下面是我写的原程序和游戏ROM,程序写的不是很好,还有一点疑问,就是$2005
/ O# f" O; }4 Z# k2 U- @端口,不是写第一次为屏幕的X坐标,第二次写为Y坐标吗,开始那几个字用的就是屏幕
* A9 n2 o! C1 m向上滚动,实现"曹老师好!"几个字向下的,但是在精灵通地DMA写后为什么屏幕就9 x1 h1 J% w" @
偏离屏幕的第一缓冲区了呢,不知道是哪里出错了,由于手柄按键问题还没有弄懂,所以0 Z0 z2 n# Z, [4 J9 N- p
没有用手柄来控制"叶枫",老师有时间帮我写个,顺便我可以学习一下用循环如何来读1 x0 k! o* I1 F6 l% p
取按键值的,并是如何和精灵联系起来的,谢谢了!
/ x3 l, c# i& M, B5 T .ORG $C700( c) @+ \. K5 D: Z
LDX #$00: P6 L. `) q7 S, q1 d
aa: B! D* U2 t( h6 Z
LDA Spr_Data,x* K+ P5 e. Q7 L; h( u( T, c' u
STA $0200,x
( L) Y$ o- U- }1 N INX
0 p( |7 P5 b' Q6 p0 H9 I6 y1 ~" z6 t/ I CPX #$20
/ n6 S( V {% N& ^% u9 s, } BNE aa
( o* ? ]0 G* d/ }2 d JSR Vblank9 s" P% M" J) @7 Y# y5 t
) v9 k; E7 k' h q: u
LDA #$3F) m/ X. V# U- @/ ]3 [2 h
STA $2006
; u1 [- o. R* Y$ @- |0 p6 i4 d LDA #$10& J& s2 ^% }1 d& J" P+ T q5 z* ~
STA $2006
7 u& K* q$ h2 J LDX #$00
+ g& B) F% ~8 J$ @+ {LOOP LDA Spr_plet,x
Y' _( E) Z) c$ O STA $2007
( G# J G9 B7 `3 A" i0 X# i INX
2 p/ j' I7 h+ s5 D CPX #$10 |. |3 X# \* {- N: H
BNE LOOP6 ^6 ^1 ^ i5 {) Z5 ^" E @
LDA #$00
* W) D' I, R7 |0 c" g STA $20037 N2 x0 Q8 d7 R% N, I$ Z" w* L
LDA #$02, y# [" B7 w+ y# b# I$ u. I
STA $4014
8 c, q" W3 c+ d2 {move:$ R# N7 \$ |4 g+ a/ r
LDX $0203
1 o9 ` P9 O7 h. [8 q DEX
6 Y" q9 ]: x+ |' @3 {0 f4 w STX $0203
/ x9 b J" p5 M( V LDA #$04
) `) k' `7 @/ h6 y STA $20& E/ P7 b' z7 V; s) X# {, P4 u
LDY #$00
1 `* J0 ]% ~1 c8 |! m7 _; a JSR Vblank3 _+ q( ^% T/ K7 K% G5 C
JMP LP16 `; g F( ?8 B! L8 E* I
LP2:" ^& G! ]! g/ u7 v" ?: B
JSR XXX8
, n b" ]3 d' I( m8 ILP1:
: Q: k: T: b% a5 k2 v# S1 M LDA addr,y$ X# ?* X' U9 [6 U
JSR put
% U# f9 d+ `1 @1 s5 }9 D! g INY9 Z- ~5 E* {! M6 j7 D& v, c
LDA addr,y
4 @ B8 ]0 f7 Q% S5 G. x7 [; ^ JSR put3 ~: D0 B4 s# d) z4 u2 }
INY
4 z0 h) ^3 ~1 C6 E! e8 [% r DEC $20
% A+ t- P8 M9 w+ S o4 E1 Q BNE LP2
0 ^( @9 ^1 P: J JMP move
. Z) E1 G9 I2 A$ N
6 F2 Y2 f9 ^: h9 Mput:
; L, w2 G7 v5 r/ U2 C1 ]' ` STA $2003
7 m8 k. R2 I) u" g0 h! D; A$ X STX $2004
2 W; |& o0 t7 F1 G RTS( n$ S1 u) b+ C2 x- n
XXX8:4 ]' A$ e0 z) P
INX8 E3 i" T; D1 Y, C2 p
INX
/ f; a5 a6 E+ g; g6 z" J" h5 | INX
9 J! t) E/ }0 C& V6 U! p% r INX% O9 i8 H2 q: \: l) d) ^- x& A: D
INX
$ q$ u6 ^; H: y8 v$ B/ F INX
: ] O2 e: Y, P1 R+ t' h \1 D5 V INX
% h& j$ f( ]/ T8 t; A INX
+ g' j) X5 }# s- ~ RTS
! c$ F$ Z1 i! G" v% G: fVblank:
' I L0 w2 H5 T, ?% [# ` LDA $2002
+ e: j( n8 ?3 C4 u) B% h8 l" {5 f BPL Vblank c7 Y2 P* i% J; i, c
RTS7 f. M5 H9 o$ t" [8 w8 b' A
1 S6 h7 u, |, u4 S4 o M* V .ORG $FF906 Y) I$ T9 w8 J, @7 x7 v
Spr_plet:8 t6 M: ]1 m1 ^: ~: R# l
.DB $02,$27,$2a,$2c,$02,$20,$16,$08,$15,$2A,$20,$08,$15,$2A,$20,$08+ z: i. I) A, h& r% h
.ORG $FFA0
3 \# h) |0 r" Haddr:
0 {$ B9 l; r7 C {: c) T .DB $03,$13,$07,$17,$0b,$1b,$0f,$1f. D9 }$ ^9 ^ `* X. b1 _% Z
' [* O( i1 H; p, r) l
.ORG $FFB0% A9 W( c! I7 b) r7 J6 _9 Q$ h: u
Spr_Data:
: r8 g9 A4 o5 d/ `) e! G3 Y. S .DB $78,$44,$03,$80,$78,$45,$03,$88,$78,$46,$03,$90,$78,$47,$03,$98
2 a$ {* Z7 R, L5 q, p .DB $80,$54,$03,$80,$80,$55,$03,$88,$80,$56,$03,$90,$80,$57,$03,$98
附件: 您所在的用户组无法下载或查看附件