EMU618社区

 找回密码
 立即注册
搜索
查看: 743|回复: 4

[原创HACK教程] [退隐作][最后的教程]

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
      P6 X% ]' Y  q) u% y, h9 I1 Y: `
  2. 作者:FlameCyclone
    ' R+ X  \6 E, \- a/ w. `
  3. 时间:2017.2.12
    4 U# P1 O8 a) w0 y4 `

  4. $ }3 X2 y& M( L# G
  5. 按键跳转:
    , y3 D$ d* @. `1 `9 F% F& c
  6.         C1EF:95 F5 94 F16 L+ F- W2 ^' K! a" P6 d! @9 M
  7.         C1EF:20 70 FB EA
    8 ^: k! v/ z( i. V
  8. " D! f! k( }8 S9 V  i- }  h
  9. 滚动偏移:1 B0 n( w8 X8 ]8 h6 Q( C' E) m" g
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    * Y5 a" B. w7 Y1 N( n7 U
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    5 Q  _7 s3 }0 L! h+ `1 i
  12. 7 m+ {* p$ k# P2 H; U. v* F
  13. 背景调色板:! U( M5 B/ k% V0 ~  j
  14.         CF20:9D C0 07
    , [; M  y  O6 V! G7 R, b
  15.         CF20:20 A0 FB
    % a( l0 r5 T9 o$ n! m

  16. 3 I- S2 U; u7 @6 E! T
  17. PPU BANK号:
      X+ o- c  `# P, [) B& e
  18.         C8C9:9D F4 07
    0 r4 D! y8 \! T: L+ P
  19.         C8C9:20 B0 FB
    ' W* |+ r7 P- r) k( u& Q4 ]

  20. + P$ I% e! g& j5 o; z
  21. 按键跳转:: x( \7 P& P! K& r- n: D8 J" @9 S3 B
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    1 t2 i. w" L- j/ _6 ^- q
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    3 A) Y2 }1 c6 ~  r
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF' s  `6 _  K+ V4 D

  25. 8 e0 Z1 a3 R# B! `
  26. 背景调色板:
    * a* L4 [( j' ^7 I
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF; @. J! l3 q7 j% J( a/ q0 i

  28. . V: H, V! j! [+ H
  29. PPU BANK号:: X4 v8 M$ d$ v9 A3 ]* @
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    8 L( J. X" {4 ^

  31. 4 a5 s: b: h6 J! h) h# R" g- A
  32. 滚动偏移:* w1 @4 p) A1 @4 l  k) |4 D$ V
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60/ f$ O" j" t; f, s8 w0 B& o
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    3 O$ X5 R7 u2 p6 m+ r
  35. ! c6 {5 |, P. h+ i  f, x6 d8 I- y* B

  36. & j; z0 T! R9 Z. ?5 X
  37. 切BANK后A000:
    2 N2 F) N7 q  x* P  u( H. @
  38. A5 FF 29 7F 8D 00 20 AD 02 20 A5 25 C9 01 D0 0A B5 F5 29 CF F0 04 20 8C A2 60 48 8A 48 98 48 A5 25 C9 01 D0 07 AD 0A 01 C9 00 F0 03 4C AC A1 AD FF 7F C9 FF D0 19 AD A0 7F C9 00 D0 0B A9 FF 8D A0 7F 20 3A A1 4C AC A1 AD FF 7F C9 00 D0 DD AD 02 20 A9 00 8D 01 20 A2 00 A9 FF 8D FF 7F 8D A0 7F 20 6A A0 20 3A A1 4C AC A1 A5 FE 8D 50 7F A9 08 85 FE A2 00 BD C0 07 9D 00 7F E8 E0 40 90 F5 A2 00 A9 00 9D F4 07 E8 E0 04 90 F6 A2 00 BD 2A A1 9D C0 07 E8 E0 10 90 F5 A9 3F 8D 06 20 A9 00 8D 06 20 A2 00 BD 2A A1 8D 07 20 E8 E0 10 90 F5 A2 00 A0 00 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD A9 00 85 BA A9 20 85 BB A9 00 85 BC A9 60 85 BD A5 BB C9 28 D0 06 A5 BA C9 00 F0 27 A5 BB 8D 06 20 A5 BA 8D 06 20 AD 07 20 AD 07 20 91 BC A9 00 8D 00 20 E8 E6 BA E6 BC E0 00 D0 D4 E6 BB E6 BD 4C E4 A0 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 60 0F 28 28 28 0F 28 28 28 0F 28 28 28 0F 28 28 28 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD 8D 01 20 A2 00 A0 00 A9 00 85 BA A9 20 85 BB A5 BB C9 28 D0 06 A5 BA C9 00 F0 20 A5 BB 8D 06 20 A5 BA 8D 06 20 A9 00 8D 07 20 A9 00 8D 00 20 E8 E6 BA E0 00 D0 D9 E6 BB 4C 69 A1 EA 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 20 8D A2 60 68 A8 68 AA 68 A5 25 C9 00 F0 12 A5 25 C9 01 D0 0B B5 F5 29 EF F0 05 A9 00 8D A0 7F 60 AD FF 7F C9 FF D0 F8 A9 00 8D 01 20 A5 BD 48 A5 BC 48 A5 BB 48 A5 BA 48 A5 B9 48 A5 B8 48 A9 00 85 B8 85 B9 85 BA 85 BB 85 BC 85 BD A9 00 8D FF 7F A2 00 A0 00 A9 00 85 BA A9 20 85 BB A9 00 85 BC A9 60 85 BD A5 BD C9 68 D0 06 A5 BC C9 00 F0 24 A5 BD 8D 06 20 A5 BC 8D 06 20 B1 BC 8D 07 20 A9 00 8D 00 20 E8 E6 BA E6 BC E0 00 D0 D7 E6 BB E6 BD 4C 0E A2 A2 00 BD 00 7F 9D C0 07 E8 E0 40 90 F5 A2 00 A9 3F 8D 06 20 A9 00 8D 06 20 BD C0 07 8D 07 20 E8 E0 10 90 F5 AD 02 20 A5 FD 8D 05 20 A5 FC 8D 05 20 AD 50 7F 85 FE A9 00 8D 00 20 68 85 B8 68 85 B9 68 85 BA 68 85 BB 68 85 BC 68 85 BD 60 60 20 B9 A2 20 C0 CB 20 DE A2 20 FD A2 60 20 42 92 8B 8D 95 80 8C A3 80 90 96 8B 97 8F 8D A3 8D 96 99 98 8F 80 93 98 80 83 81 82 88 FF A2 00 AD 9A A2 8D 03 07 E8 BD 9A A2 8D 04 07 20 91 A5 BD 9C A2 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 28 A3 20 C0 CB 20 56 A3 20 C0 CB 20 7D A3 20 C0 CB 20 BE A3 20 C0 CB 20 EF A3 20 C0 CB 60 20 3B A4 20 C0 CB 20 69 A4 20 C0 CB 20 90 A4 20 C0 CB 20 D1 A4 20 C0 CB 20 02 A5 20 C0 CB 60 20 A3 9A 96 8B A3 8F 9C 80 81 82 FF A2 00 AD 1C A3 8D 03 07 E8 BD 1C A3 8D 04 07 20 91 A5 BD 1E A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 E3 9C 8F 96 93 90 8F FF A2 00 AD 4D A3 8D 03 07 E8 BD 4D A3 8D 04 07 20 91 A5 BD 4F A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 EA A2 00 AD 7B A3 8D 03 07 E8 BD 7B A3 8D 04 07 20 91 A5 A5 32 20 42 A5 AD 03 7A 8D 05 07 EE 05 07 AD 04 7A 8D 06 07 EE 06 07 AD 05 7A 8D 07 07 EE 07 07 A2 03 20 AB A5 60 21 23 A1 8F 8B 9A 99 98 FF A2 00 AD B5 A3 8D 03 07 E8 BD B5 A3 8D 04 07 20 91 A5 BD B7 A3 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 21 2A 00 01 02 03 04 98 97 90 9D 96 A2 00 AD E3 A3 8D 03 07 E8 BD E3 A3 8D 04 07 20 91 A5 A2 00 A5 AA 29 10 F0 07 A9 9D 8D 05 07 D0 05 A9 8D 8D 05 07 A5 AA 29 0F DD E5 A3 D0 06 BD EA A3 8D 06 07 E8 E0 05 90 EC A2 02 20 AB A5 60 20 B3 9A 96 8B A3 8F 9C 80 81 83 FF A2 00 AD 2F A4 8D 03 07 E8 BD 2F A4 8D 04 07 20 91 A5 BD 31 A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 F3 9C 8F 96 93 90 8F FF A2 00 AD 60 A4 8D 03 07 E8 BD 60 A4 8D 04 07 20 91 A5 BD 62 A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 20 FA A2 00 AD 8E A4 8D 03 07 E8 BD 8E A4 8D 04 07 20 91 A5 A5 33 20 42 A5 AD 03 7A 8D 05 07 EE 05 07 AD 04 7A 8D 06 07 EE 06 07 AD 05 7A 8D 07 07 EE 07 07 A2 03 20 AB A5 60 21 33 A1 8F 8B 9A 99 98 FF A2 00 AD C8 A4 8D 03 07 E8 BD C8 A4 8D 04 07 20 91 A5 BD CA A4 C9 FF F0 08 9D 05 07 E8 A9 00 F0 F1 20 AB A5 60 21 3A 00 01 02 03 04 98 97 90 9D 96 A2 00 AD F6 A4 8D 03 07 E8 BD F6 A4 8D 04 07 20 91 A5 A2 00 A5 AA 29 10 F0 07 A9 9D 8D 05 07 D0 05 A9 8D 8D 05 07 A5 AB 29 0F DD F8 A4 D0 06 BD FD A4 8D 06 07 E8 E0 05 90 EC A2 02 20 AB A5 60 8D 00 7A A9 00 8D 03 7A 8D 04 7A 8D 05 7A AD 00 7A 8D 01 7A AD 01 7A C9 64 90 13 AD 01 7A 38 E9 64 8D 01 7A EE 03 7A AD 01 7A C9 64 B0 ED AD 01 7A C9 0A 90 13 AD 01 7A 38 E9 0A 8D 01 7A EE 04 7A AD 01 7A C9 0A B0 ED AD 01 7A 8D 05 7A 60 A2 00 A5 FF 29 01 D0 09 AD 03 07 29 FB 8D 03 07 60 AD 03 07 09 04 8D 03 07 60 85 21 8E 01 07 A9 00 9D 05 07 A9 01 8D 00 07 8D 02 07 60 FF FF8 @8 t0 F5 P! X9 L; t
  39. 5 S8 O) U; F' e1 g' L* \6 `

  40. 3 s& M: {* v, v6 k8 `2 I$ _
  41. 6502 simulator:% C' M" ?5 Q8 @' c1 H) z- S$ C
  42. PPU写入程序:
    ' D: f# U$ R7 @- L
  43. .ORG $A000
    : e* J& G' u$ [* o7 R# T$ k+ Y
  44. CSP = $80
    5 |6 @4 h5 @, `, W& @' {9 `0 `
  45. C0 = $81
    ' y* S  N7 u6 `. I& v& \
  46. C1 = $82
    1 \6 w4 d  o4 W
  47. C2 = $83) B  c; \' ?( ]) J/ Y: H
  48. C3 = $84
    / M+ f& q8 v9 i: u/ ~7 C3 {
  49. C4 = $85
    3 q# ?: Y& {: B9 J& _4 W7 ~6 O: A
  50. C5 = $86
    , a; X" T3 D# G& H& \. u6 |- e
  51. C6 = $87$ S9 B' [* A! s0 G0 u% b& Z9 v4 L
  52. C7 = $88- s3 d( k, K' @2 N
  53. C8 = $89
    , R! N9 R. w+ C: [. @( j, F  u
  54. C9 = $8A9 L& V* @' W3 n5 k1 T5 b
  55. CA = $8B
    * d9 ~7 {  Y+ a' ]' z! G
  56. CB = $8C! F, O" x* M9 O' Q7 t
  57. CC = $8D; c; ]3 s" E! `+ Z
  58. CD = $8E
    9 F3 J! W. p) K4 }) c
  59. CE = $8F2 Y) Y  ]/ ]6 j: X* e# o
  60. CF = $90
    " b; B) ~! y9 ^; v2 Z& g& E  P0 t
  61. CG = $91
    + ]* _/ s$ \/ @0 S; }3 c7 a; E+ [
  62. CH = $92$ N, B4 g4 g( n5 N2 }) x4 z) s
  63. CI = $935 L" D  Y$ B& ?0 c6 M6 w: B$ \3 @
  64. CJ = $94, u3 n# [3 q* K5 I- m7 B/ q& Q
  65. CK = $957 A: y% X6 `! ^! g  h+ C
  66. CL = $96
    % _. x9 F0 W7 ^* Y) ?1 u# D
  67. CM = $97; p; i* a" n- v- P, L
  68. CN = $98/ u- L9 q6 D/ L" y
  69. CO = $99
    + [# g9 {, h1 M6 M+ T% ?
  70. CP = $9A
    ) N2 I# }+ ^8 }" }$ X, a
  71. CQ = $9B  V% M2 U$ v: U; O! R) O0 N
  72. CR = $9C
    1 [( O2 \* @0 `' i9 X7 l, \( J
  73. CS = $9D; L7 z) v% I( m9 v# J
  74. CT = $9E! V# I$ S- L* y% o
  75. CU = $9F& [4 R2 @5 n0 ~! N) v6 _5 s7 @
  76. CV = $A04 V7 x  @9 {' `4 S' y
  77. CW = $A1. I& p/ D+ |, W( M( z2 h
  78. CX = $A2" m- P: [: \& \  K# C4 j0 P
  79. CY = $A3
    8 q: W7 G  W+ a6 _8 R( K; w8 Z% h- Z3 @
  80. CZ = $A4$ \9 b" D6 V2 Q8 |6 k
  81. CEND = $FF
    ' e0 p' Q& h6 S1 v# p% B

  82. 8 ^* t' Q3 G& p. J, J; ?" E# O9 j
  83. # Z1 `$ h3 C$ `! ^9 o
  84. CMP_RE:0 H$ n1 a. a7 ~  A$ v
  85. LDA $FF7 G5 g) A  _. K$ {: v. x* ~6 @
  86. AND #$7F4 |: w) G" @$ P) i
  87. STA $2000  j+ n$ C7 I* U# J) `
  88. LDA $2002; k7 z1 f, V! ^; R7 k; i. o2 w
  89. LDA $25% w' L% P7 B, u% G
  90. CMP #$01
    $ x7 R% @+ F% Z( R! r: w& \
  91. BNE PROREG
    ' X+ T4 Z7 x; B+ A$ t. X$ A
  92. LDA $F5,X; H, }2 m* Y$ ?+ O2 r7 x% x
  93. AND #$CF
    6 D+ P/ ?9 L! f( c& T
  94. BEQ PROREG, d' R" ?5 p- B* Q' c/ g7 Z6 ?
  95. JSR PPU_CMP+ h4 h$ O9 X: t0 q5 y
  96. C_RE:: G! p- k, ?$ }& N, \
  97. RTS
    0 U8 K; _0 q& C1 o& x
  98. PROREG:
    . }& [$ A! i. L" j( `% D( [
  99. PHA8 @7 @4 g% E" @0 }
  100. TXA3 p+ h8 l9 E% e( R$ I
  101. PHA/ V% k: U9 c/ \0 q0 r1 u
  102. TYA
    8 P9 q  S' E; G1 `/ b- x7 }
  103. PHA
    + c0 Z( X1 y2 I( v! |2 ^9 g
  104. LDA $25
    - O5 I/ [) _3 T" w
  105. CMP #$012 |; n% T% F1 j. O8 {% i: S) M
  106. BNE RE' Z1 V/ e" i4 }4 {! `& b2 f
  107. LDA $010A) |7 S. C: B, Z! ]/ }& Y* n  K2 m' `
  108. CMP #$005 E  r7 C. j  C7 Q+ B2 X
  109. BEQ P1' L$ \* j2 G& P4 j* a
  110. 8 Q, U  R, A( j' M* F! Q3 `
  111. RE:
    . i6 o6 ]$ g3 j# U
  112. JMP PPUWRITE
    ) o5 O4 f) W+ \' b8 E0 m- n  x1 F
  113. 5 m4 S2 V% t3 r  s
  114. P1:                ; 条件判断9 Q+ w7 t  A9 r% _& _- g. p  j
  115. LDA $7FFF
    ! U0 \& k% o: Q3 G
  116. CMP #$FF' A% y  F# ~3 y. }$ o
  117. BNE P1RP( l# I6 h% ^) M1 ?8 G
  118. LDA $7FA0
    ! B3 s8 {# h2 J. i3 Q2 P$ m- `
  119. CMP #$00
    ' I- s3 f% D/ [+ Z8 v/ U
  120. BNE P1CMP
    - _9 l' [# ~$ s# n
  121. LDA #$FF; M1 F, c) k& h+ S; ^
  122. STA $7FA0
    - N# d9 n3 r* e- n2 _0 R. c' ]
  123. JSR CLEANA$ v. Q/ s+ k# G7 P$ N/ k5 s! {+ \6 N
  124. JMP PPUWRITE
    ; S6 G# y* u4 _/ ]; C4 p
  125. P1CMP:5 p! ]* a8 f: i3 t: x  }: C
  126. LDA $7FFF; v2 w% q" g, s0 C) A7 \
  127. CMP #$00& p/ ~8 Z: h" l. T
  128. BNE RE# J1 q- r  d2 q$ o$ ~
  129. P1RP:, e2 f6 J# r# M, _  ^
  130. LDA $2002
    ( Z: f: D+ l& Z
  131. LDA #$00
    - f. A, g( H/ U7 B, }$ x1 q) ]
  132. STA $2001
    * Q. j+ U) j# o) E
  133. LDX #$003 E- g  [. t6 v0 k
  134. LDA #$FF- l% c: ]& S6 B" x1 K4 f
  135. STA $7FFF
    , r2 \# \5 T8 k2 Z/ m
  136. STA $7FA0! n( H& G! f* i2 x( H8 D
  137. JSR COPYPPU
    ' G. X- K$ g, O' d1 f" C" t
  138. PIRP2:9 I$ p$ D. H- t* B. M
  139. JSR CLEANA) j1 G. Y* e, W) D
  140. JMP PPUWRITE
    + Y2 p; I3 m. M7 H6 d$ ~

  141. ' l/ A% u. Z* d$ j
  142. COPYPPU:
    / B2 S& ~7 P* y4 C
  143. LDA $FE, t* q: C' D* @" _" ?6 h. P
  144. STA $7F50
    - H* ?' N0 O' p6 }
  145. LDA #$08
      w2 J7 T, X# q5 H+ Q1 j7 A' T& f
  146. STA $FE
    8 N# F. \+ b7 [. y" c- K1 f
  147. L0:- e; v' C: S& Z0 h
  148. LDX #$00
    3 l- \3 M1 _* `/ j9 F1 |+ I
  149. COPY_07C0_07DF:
    / p( Q( o  `; c* u& P8 c. @1 y
  150. LDA $07C0,X) R( d0 p" z4 \2 C1 s7 ^( [
  151. STA $7F00,X3 |) {! f  x! H2 g- U; j" ]
  152. INX
    ) I. F( @: B: N1 u, ?/ J3 ~
  153. CPX #$404 S9 Q4 |" W& q) `
  154. BCC COPY_07C0_07DF" a, R4 e% k+ ^6 o4 m0 f* l
  155. LDX #$00
    5 ]' g7 x1 w5 Y
  156. PPU_07F4_07F7:& o: N8 X% w! g% ~1 U5 @9 }
  157. LDA #$00
    4 v2 w( Q$ A1 y' u# i
  158. STA $07F4,X+ O& S% y5 l# q' y$ W
  159. INX" n+ `/ Y+ o% \1 `1 B' b( j
  160. CPX #$043 g1 o1 V4 g0 c, N; F; d
  161. BCC PPU_07F4_07F7
    ) ^; n; E9 M+ O6 w/ U
  162. LDX #$00" F/ ?" m2 j- |# {  {# l
  163. COLOR:
    6 V- u) R( ]/ Y- U# f* _- s
  164. LDA COLOR_DATA,X
    5 V: y% S# z5 ~+ }1 W8 R; n
  165. STA $07C0,X
    1 t  {+ b  x/ |) @3 y- T
  166. INX2 X' Z8 h& a5 Y  s8 O/ e1 b
  167. CPX #$10
    5 w. H4 P" l" s+ F* X& C
  168. BCC COLOR$ v2 H. @. T5 v0 j

  169. " R( j$ i0 Q- U5 E2 ~* X, J
  170. PPU_COLOR:
    ; E* a$ }+ O$ @7 E; y& e, X
  171. LDA #$3F
    : O" G, ?3 D  {( ]9 N) {8 W9 o8 N
  172. STA $20064 U: Q" Z9 A7 D! u, L+ r
  173. LDA #$00$ D" d/ w, ?: T" N+ n6 u1 b2 w+ g7 A
  174. STA $2006: `8 d$ Z) r" L( ^4 w& J' K( M
  175. LDX #$00
    & f6 b& {5 L7 _1 Y
  176. PPU_COLOR_W:- T/ }7 M) Y2 E. u" t
  177. LDA COLOR_DATA,X
    - g( ?6 @) E& P3 k  D8 E
  178. STA $2007
    : B& k2 k* b* E6 I$ M/ [. z( t
  179. INX
    ) ?1 U8 o. y- O9 i
  180. CPX #$10# T* q$ \. z& H9 A; n0 U3 N
  181. BCC PPU_COLOR_W" q) x& s- Z3 l  n3 p

  182. . o  Q; |$ p: u. }6 X$ H
  183. 6 D7 Q& L$ }' H3 l- S
  184. LDX #$00# _0 _- S6 P, `4 h5 K% q
  185. LDY #$00
    - C5 m7 f6 k% E
  186. LDA $BD( h+ c( @4 v3 a9 z) `" ^
  187. PHA. \! o* \( L( @
  188. LDA $BC
    $ t) k2 O' F* m6 L
  189. PHA
    6 b; b6 Z$ U  [8 P$ Z& V" O
  190. LDA $BB( {+ d6 J+ }4 \7 n+ X* a/ g% c- a
  191. PHA
    $ h3 d7 X, k- L
  192. LDA $BA3 b: n2 F; D# h8 Z/ Y# u
  193. PHA
    . p3 J/ E4 j7 j: z0 y. x! [
  194. LDA $B9
    1 K, t) n- }$ s# k, ?2 q# s7 [
  195. PHA
    0 K3 ~& `, H: i- W8 S% ^
  196. LDA $B88 T( ~3 N" N; D, f* u" |
  197. PHA
    , E% z0 Y- Z2 p$ p3 }' m, l
  198. LDA #$00$ N) z% K+ \, z# l
  199. STA $B8
    0 R$ x: A2 w  X9 F" B+ D9 _) |
  200. STA $B9
    ; W- y5 x1 A- d4 r# I- k
  201. STA $BA
    2 }% C3 t8 p! a3 G
  202. STA $BB
    6 w' m' f3 {0 D; ~* A8 h1 _
  203. STA $BC* D/ o/ U; i$ Y; G( }
  204. STA $BD
    . |) [" ~- B/ R4 _9 d' f' r& [' K
  205. LDA #$00
    ' A+ G9 G, o7 \7 U; ]1 @
  206. STA $BA. N8 \, h: n9 W. m  ^! F2 x3 \
  207. LDA #$20. d  F: b7 o! _) }. n' k' [
  208. STA $BB% _) u2 G/ Q! H' I1 G1 m3 [# ?3 i- l
  209. LDA #$00
    7 `' s  f6 Z9 p: g( W4 ~
  210. STA $BC. j1 c2 N1 R+ R( P# w
  211. LDA #$60* Q" {$ {" l3 f0 z/ O$ [" F* e
  212. STA $BD! k* U& G) _2 u$ t" Q1 F; ?
  213. 1 i' i4 m8 N+ w+ j/ f( b
  214. L1:                ; PPU复制
    % p8 _9 o! e  l/ p' H
  215. LDA $BB: G. z$ @% k6 u1 R0 f: M+ \" N
  216. CMP #$28( o; I0 ~" H; B6 r; C- T' q/ x" {, z
  217. BNE L2
    & r, @3 ?, _3 M8 u, e
  218. LDA $BA
    ! s4 a7 @4 k- h: c
  219. CMP #$00" C* W+ ]$ c" }& M! F
  220. BEQ PROADPLA
    & _$ O0 i8 C0 F0 h9 g" I

  221. 2 m, Q0 N$ c& a- Y
  222. L2:
    5 q! g* ]% w, V' X. [
  223. LDA $BB5 m5 H: P6 S( F( |2 M
  224. STA $2006
    3 @6 Y( X/ h# X; M4 |3 ~3 K
  225. LDA $BA, m$ r. J. f, n, \0 Z$ m; _
  226. STA $2006. R' I3 w) z) H3 H
  227. 5 l) w) _4 y. l- q
  228. L3:* j% A( \4 d/ P  C  i
  229. LDA $2007
    6 i* M/ X! R! a4 d& v6 X
  230. LDA $2007
    8 N0 m! f% P; o* n# r
  231. STA ($BC),Y
    0 \; m0 f7 T* U% o
  232. 9 i2 v: ^9 z# P/ r/ `0 h
  233. L4:1 }! Z5 p& h4 _7 v
  234. LDA #$00$ b: @5 Q5 M5 P
  235. STA $2000
    & I1 j- j7 M6 y
  236. INX
    $ S5 s+ C6 f3 {3 d2 O* R8 o- b; w
  237. INC $BA- g6 ^9 @0 q: z! O% n6 O. X/ n3 g
  238. INC $BC
    & }. N5 n" z, g2 p9 ^! M
  239. CPX #$00
    ; C# i1 N1 a) y/ O( U
  240. BNE L1  l# S: b) W2 t
  241. INC $BB* ]3 ?: q8 X1 v' m3 k. C, x2 v( b" X
  242. INC $BD
      @" ?, n% q' Z) Q/ t
  243. JMP L1: x& n% Q; }  Y( A8 }/ F
  244. ' c! A1 A" Z: E# o' s" U
  245. PROADPLA:                ;出栈
    2 p* I+ K$ _# Y% G6 i( u
  246. PLA
    + w4 O" z( A' @0 a0 P! W
  247. STA $B8
    1 x& d& A( n' o; F
  248. PLA/ h, ^- K. {% y* D% C( A
  249. STA $B9
    ) T: N! k7 c$ y! i  f
  250. PLA# L- l! J9 F" d
  251. STA $BA
    6 W, V' \' [2 E! `3 o. R" C- R
  252. PLA5 z6 w* r+ P& ^
  253. STA $BB& e; ~0 R/ X5 i4 S; J: ~
  254. PLA% j8 h" a- a) |0 z6 h/ t2 s7 g
  255. STA $BC4 X" `4 @6 s1 B; E
  256. PLA
    + ~& d0 w( v5 l# z. w5 ^7 ^4 D
  257. STA $BD  }; j" q/ J" P0 m0 q* q3 u. C- m% i& c
  258. CPRE:
    # Q0 @% N6 k" @9 N) l& J
  259. RTS9 l. |  N: T& a5 o# N$ c; d/ F
  260. & q# U$ J# y. ?1 F9 R, s
  261. CLEANA:                ; PPU清空" y* v3 m, ^/ n  Q
  262. LDA $BD7 t% @; B9 Y/ T0 C5 ?" s* M
  263. PHA- H! t; ?9 ~. i8 j, ]# v% L
  264. LDA $BC
    & h8 c6 \% _& r: {& x: m/ j
  265. PHA  k7 O. @) @# Z
  266. LDA $BB
    4 S+ v4 F& D; p& S
  267. PHA% N) ~2 S3 V( q9 l* Z' b% Y5 s
  268. LDA $BA* ?  m! p8 {# K6 K* D
  269. PHA
    # w; W) H3 I$ w6 R# t% H7 A9 o! w
  270. LDA $B9
    ; T& D$ _6 G' h8 J
  271. PHA6 i" q' K; u/ e7 j9 h
  272. LDA $B8
    & }/ X9 t. y2 j! {
  273. PHA
    & V- q' b  D% `7 Q2 b+ M5 p$ k
  274. LDA #$00
    " [) B( \" l; C% G! q, {6 W! M
  275. STA $B8" ~: O: L9 q6 D* o9 ~: O; }
  276. STA $B92 r5 g# C) f3 D
  277. STA $BA& P0 R; h, L$ y0 p4 b1 N
  278. STA $BB
    ; h. |6 h% X, e6 k1 K9 _0 b2 x
  279. STA $BC
    9 [5 a" ]$ _7 o8 p' b/ C
  280. STA $BD
    " E+ j; s2 S& [( G: L! c
  281. STA $2001+ |, ^9 w* N$ f. K: J5 O# e4 t
  282. LDX #$00) ~9 Q+ N6 q7 |. i9 i9 T2 @% b
  283. LDY #$007 ~6 m; n% D8 a5 s8 e7 ]: A2 C: E
  284. LDA #$00
    + C. X; D- b# ?, S, S8 b5 y
  285. STA $BA
    2 U' l- f2 {0 M: }; m9 A
  286. LDA #$20
    ' y* _; t, f4 z( ~% [7 U
  287. STA $BB
    + t# f/ T* W2 ^, l! g+ z% |
  288. * c8 {& @1 P; z2 X: V3 Z
  289. CL1:
    * A, C$ C2 f2 v$ G6 J  P  p2 {
  290. LDA $BB
    ; _2 E0 m% U* ?: D" D$ }
  291. CMP #$28
    , m$ A& O2 \6 [4 [9 ^! C. ]
  292. BNE CL2
    ( l* c- a% _. D5 T3 ~
  293. LDA $BA/ F0 H  m( y$ S" r  |
  294. CMP #$00" Y0 a# o  m$ p7 `6 }5 u
  295. BEQ FREEWRIYE
    7 \( n; z5 y7 E' L

  296.   o& o/ X6 M' y5 |
  297. CL2:9 E8 K1 {3 T# M: P' a. Y! F
  298. LDA $BB( M7 ~2 n  t) M1 c
  299. STA $20063 E4 |% Y7 Q* S9 k
  300. LDA $BA
    " H! r+ `& X: V$ E% n
  301. STA $20066 l+ R5 m$ F: X# a4 b5 h3 ~7 v: S
  302. ( l7 W9 [, O. w
  303. CL3:
    0 g$ M7 b" G- a
  304. LDA #$00/ E) J1 S: x4 L+ N  _
  305. STA $2007
    ) X, i% Y9 Z8 S0 \- }" k3 S, L1 a" h

  306. ) G7 _/ S7 B4 |
  307. CL4:/ j* @8 c! j& l- p' Y6 p
  308. LDA #$00
    # T- T& l0 M$ v/ h7 C
  309. STA $2000* i! ^7 T7 V- {7 R6 C$ h+ p  r, m
  310. INX7 m' U  F; L3 G0 e* n
  311. INC $BA1 w. M7 d# ^, J" t% D
  312. CPX #$00
    * }4 g4 S( f% C. Y
  313. BNE CL1  b" P; ?+ q& Y9 `# ?' ^
  314. INC $BB
    ! n3 g6 x0 \2 P- ~0 V) c+ r
  315. JMP CL1 , ]% ]- Z( F1 M# U+ \+ Q3 z! T! n
  316. " w: p9 d. C( C5 u, Q" y( n
  317. ) W+ a4 G) ]6 _0 j8 o$ m
  318. FREEWRIYE:3 J7 r% k% e  C( V1 {
  319. ; E; E; Y  N4 D! J# n
  320. NOP% `0 S8 h" O7 Q/ m

  321. / R  q) s% d( M, Y4 B: K( D: ?3 v& N' P
  322. 7 a8 s2 a5 E1 e# `) n3 I

  323. ) d  H6 U& ^! D' n" p  X# z+ L* G

  324. $ z. ]2 Y8 c( g' i/ l+ p: d$ @2 b, F
  325. & L2 X* B( x( Q4 e6 E
  326. CLEANF:                ; 恢复现场' q# [3 M2 u+ c! u& w+ k
  327. 9 |$ p- d, q' q0 _
  328. PLA# x' Z; s2 t7 d8 \& b* y
  329. STA $B8
    3 {3 n( S; s4 G( d3 O
  330. PLA, Q5 W# O  e1 L7 I
  331. STA $B9. G, z/ D% c* R* R; ]. ]
  332. PLA
    ) o" l, P1 I1 X) |& \/ a$ d3 b: k
  333. STA $BA' r- S8 a' `! Q
  334. PLA
    ! T9 C  c, I+ _; G/ Y
  335. STA $BB
    7 b: e( G4 a9 w+ @) h' O
  336. PLA
    7 p6 b% a) Q, E
  337. STA $BC
    9 m0 |* B6 m3 n4 }5 x) d
  338. PLA
    4 F5 w- r2 v1 U( p1 C
  339. STA $BD
    # M( ~. q, ^7 q8 A) X# w/ i
  340. CLRF:* e2 W. L6 U4 _
  341. JSR FREE_PPU
    ' k- X& f8 J$ s6 Y9 r* T' y8 L- k
  342. RTS) L% _0 F+ I8 O2 H. M  W0 N
  343. : j4 Z2 ?+ x, g+ ]: g0 m
  344. 1 r4 H' X4 p- f% W
  345. PPUWRITE:    ;PPU写回# s" z* v- g; G
  346. PLA
    4 J1 }! K& {. G/ P4 _9 Z7 a* i2 T
  347. TAY
    0 v+ H5 q9 b% X/ k2 s  a) _
  348. PLA
    % P( Z& Y! j! t1 h+ P7 h
  349. TAX) q, O" W5 v$ b' o5 f
  350. PLA
    % C" B% E2 b% [: z+ b
  351. LDA $257 `/ S) p4 d1 q6 k) W! S) i
  352. CMP #$00" D; ?6 |1 N& F$ J. [( \, _
  353. BEQ WP1
    * V* O7 U: f- b) J4 h" ~
  354. LDA $25
    & R' f3 O  k  L6 R" k# C3 G: K6 V" r
  355. CMP #$01
    $ O( Y. e' T7 ~; z6 T$ b
  356. BNE WRE
    ) h0 r& Q. G, j$ X
  357. LDA $F5,X" C* z) l2 M, s: I$ t
  358. AND #$EF" e: {/ d; C, D7 G
  359. BEQ WRE7 }* B' }' V8 l
  360. LDA #$009 y, S3 \' F, \# I
  361. STA $7FA0
    - |9 R- w9 v. q0 d: }

  362. 4 F2 O0 ~0 I4 f7 U
  363. WRE:
    9 j2 d% w' N; f5 c2 W$ L! H% w: ]
  364. RTS
    0 e9 r7 C4 m$ J8 G0 c

  365. 2 s8 N3 q: M6 ^4 ?) I7 y
  366. WP1:" X0 T3 W0 L3 a- E
  367. LDA $7FFF, R; I- |  Y1 I/ [: T) m+ X* z1 A
  368. CMP #$FF0 r! Q$ r" \( o$ H' m/ a
  369. BNE WRE
    % H8 b  X; n3 Y
  370. LDA #$00
    $ ^) t2 x4 b9 q* C3 M* a: q
  371. STA $20018 x% _$ s+ [! t$ S; O% d: s
  372. LDA $BD
    , |( u0 g- I) j* H4 f* H
  373. PHA8 V! K8 F+ d9 d" {3 y' c* n# D8 R6 r
  374. LDA $BC
    5 e* k8 A1 Z- n6 Y! a8 R/ k
  375. PHA0 ?$ g  [& r  L# v
  376. LDA $BB$ d: E3 A$ h7 f2 q
  377. PHA
    . {: d8 J) r/ M( S9 B6 {, r' n
  378. LDA $BA
    , I- ^" r( L  ?1 p0 A
  379. PHA# i1 w) M* r' m5 X6 j$ e( O/ n5 Z
  380. LDA $B9
    ) r3 s% o7 I3 Y" O
  381. PHA
    : n& s" l" c' o/ K
  382. LDA $B8$ g. [* D! Y. ?! j5 z' a4 U6 [0 x
  383. PHA) R3 q6 d  u7 A5 a2 A3 z
  384. LDA #$008 L0 u/ `7 x; x4 Z
  385. STA $B8
    9 f* X" F; v, Y6 R. k/ l1 O
  386. STA $B9
    8 ~1 g% g; V% i  e
  387. STA $BA
    8 I$ i2 J/ c3 y8 P4 A& a
  388. STA $BB
    9 S' ^# |& a7 @- `& Y' [
  389. STA $BC/ }6 W; m: ]8 ^% I; @5 \
  390. STA $BD0 w: @4 Z0 ^& q' Z# k3 Y$ y
  391. LDA #$00
    7 V- v) J! ]; p  f
  392. STA $7FFF
    / H1 \8 ~: f- L: J
  393. 1 U0 }1 f- p! C/ @' O- y9 o
  394. WL0:. E( E) j' ?1 @6 p: s4 \
  395. LDX #$00. r8 C5 ~, I. q) X2 Q% m6 C9 O, Z
  396. LDY #$00* d. ^( C$ n2 j6 a
  397. LDA #$00- n9 q0 C5 R" n2 y: A. B
  398. STA $BA
    2 R$ Z0 X; L+ s9 l" A) z6 U7 {
  399. LDA #$20
    2 n. g% Y' O2 G1 r* A2 r
  400. STA $BB
    . ?# _5 F( K7 ?5 x
  401. LDA #$002 L1 A! S+ r3 R6 M* |+ |5 Q
  402. STA $BC
    $ F+ `9 t0 ?  z  ]9 v
  403. LDA #$601 U* g( ?1 ?) ?0 ?5 l* Z8 ?
  404. STA $BD  n% m) e4 `' D" Z& _

  405.   w( ?! u& e  }2 j
  406. WL1:  k, @: N) N" v2 v1 S  Z8 i
  407. LDA $BD0 Z3 N9 n+ a4 x7 U
  408. CMP #$68
    2 ^* w! {" p  h5 ]2 `) P
  409. BNE WL2! L1 L/ I9 q  a1 o" z# i- t
  410. LDA $BC
    : L" I; z/ D1 o& }/ g5 G- o
  411. CMP #$00. w, c' c6 J; G. ~8 v% b7 O
  412. BEQ WLR
    2 E5 u# ~( m3 f4 p& [! i7 |
  413. 8 h& J$ n& f; Q/ q* ?! G
  414. WL2:6 w9 [+ h  ^5 D4 z
  415. LDA $BD# v# `4 u; c2 B: r2 w  d
  416. STA $2006
    9 w8 {5 ^& d) d' D1 l9 K
  417. LDA $BC0 L# n9 e5 T( Q% w( j" H
  418. STA $2006/ m5 x/ g. S7 {6 H$ S+ t
  419. " Z9 @& a2 W9 A( y" p$ `2 l& g! K# s0 w
  420. WL3:
    ( L% G' V: F1 i
  421. LDA ($BC),Y9 K" p* A' }, \" i0 l8 ^" ^1 ]
  422. STA $2007; K0 L( _6 }5 }- N& o

  423. / f! m" U( O, g+ R: r8 m- U+ [& q
  424. WL4:& \4 F1 t$ I/ I' N
  425. LDA #$00+ F/ D2 S2 b' r; i
  426. STA $2000
    # j3 B+ k6 V/ x& g% E, w" o! [
  427. INX
    ' z- C: c/ c/ o4 C
  428. INC $BA
    ' H6 a7 q0 ~# w, s4 y, _/ _6 P
  429. INC $BC8 z, Q) t& {/ o3 l5 [
  430. CPX #$00( D; n) p5 q8 I1 U% J+ }# {- Y& l, K% E
  431. BNE WL14 O3 y$ M; R5 A9 H0 M6 `
  432. INC $BB
    $ h1 ~7 d+ ~' V4 }' A  O- l
  433. INC $BD  n6 P4 W2 b& J5 C. v- B- B6 Z
  434. JMP WL1
    6 N2 `5 @( p* t$ p* Q' s

  435. 0 n& ], G/ i1 N
  436. WLR:6 m  y, y' M2 Z# c* n
  437. LDX #$00
    % ]2 b! s5 C  j; g* Q& L: K
  438. COPY_7F00_7F3F:" x# y0 w: g  s# x
  439. LDA $7F00,X# P8 z( C+ I8 X1 h9 q/ @
  440. STA $07C0,X# {, a* k! b" c+ W3 G( R1 ]
  441. INX
      m. [; X2 ?$ ^. R$ |7 b
  442. CPX #$40( g9 ^8 C" Y+ f, G3 M
  443. BCC COPY_7F00_7F3F" T3 B. d* I2 k' x3 m/ M
  444. 4 I; I9 u3 O! k& c2 T. [& @' T
  445. LDX #$00
    2 y; t$ y  @6 X, `9 ^. q9 y+ I
  446. LDA #$3F
    2 V9 v( z5 i' U( [! s8 n
  447. STA $2006
    ) [, _5 e' T8 m# S# y& J6 I
  448. LDA #$00
    5 {# @- ~: I8 z) [6 B6 T
  449. STA $2006! @. w" y5 a2 N2 y9 G1 x9 ]3 ~
  450. COPY_7F00_7F10:
    ( ~8 N6 `* P& z) ^9 f
  451. LDA $7C0,X
    1 Z0 v7 z2 q8 W9 x/ ?" G7 m
  452. STA $2007: N4 v' S5 o- ?( V, b
  453. INX3 A, G; u6 b% p/ s4 v8 \
  454. CPX #$103 _, C; |# a  W4 R
  455. BCC COPY_7F00_7F10
      r9 b" {: p2 M( U6 E

  456. 2 G% h0 Q$ F" H4 R
  457. LDA $2002
    3 u# R7 [, C( [8 ^' m  _% a9 j- J3 U
  458. LDA $FD
    1 a7 J( i2 G6 c4 E8 `
  459. STA $2005
    / ^9 P9 R. j& N8 L$ K; `
  460. LDA $FC
    2 Q; q9 q# P* V" t( a9 a& P/ S! I
  461. STA $2005. h9 V; A& _  O/ _0 f2 t1 P! P1 M

  462. ( K, Y4 p7 c! C% S, K# Z, _
  463. LDA $7F50. x# Q& b: V7 ]3 C. W
  464. STA $FE* r' Y9 _( ~% Y2 @4 f. z& ^& |
  465. LDA #$002 W5 V! g0 w* X2 [* N1 v
  466. STA $2000
    / T6 n/ t3 P8 x* O8 A! r# N6 x
  467. PLA6 @: B& b7 y+ }8 n
  468. STA $B8( B8 v. w0 X. ]: o* w
  469. PLA
    7 R/ @' Q* o/ L  N$ t) ?
  470. STA $B9+ e3 q  u; L, Q( |( H& T! d
  471. PLA
    8 }5 `! s+ a7 S1 t* E
  472. STA $BA2 o3 s: f( e  F, a7 \
  473. PLA0 s8 d8 y8 g2 ~( P* l3 p3 p8 ]
  474. STA $BB( ]% `+ k4 F. O6 c
  475. PLA  L, s7 e; q- e( k
  476. STA $BC# _5 j, w  g/ w3 S) O9 V
  477. PLA
    2 ~' N/ i- x0 K1 }3 ~2 ^3 t8 o
  478. STA $BD9 D/ }6 k7 k+ l6 l. C. s  v
  479. ; h4 @# f1 g; M# J
  480. RTS
    7 }$ V; J/ V8 r" r. S0 `; P/ g5 A, v
  481. ( i$ Q7 j9 H( j. L  O
  482. PPU_CMP:1 w+ Y" ]; d- j7 j$ z1 r6 f# y% i, _
  483. / W* {% s- t" e. ^* J9 a& Y+ c$ B
  484. " C: Y  g6 F2 A8 P4 D+ C4 Z* \
  485. PPURE:0 a3 W+ M! p  m$ p* J3 _, d+ H8 \
  486. RTS
    - F0 n* Z3 P( m. ]( l
  487. 7 Z9 z' F% K2 V- a
  488. $ r" z  h: n6 j* f( K. f5 C7 e
  489. FREE_PPU:4 Z! _* F  D, \* V9 w/ x

  490. % ^( F7 s, f' R" S$ d2 Z6 F5 p
  491. JSR TEXT01_PPU
    + n' g8 S+ [! t+ `6 w8 T0 j4 J
  492. JSR $CBC0
    4 o7 U8 ?5 E7 w& a3 p
  493. JSR P1_PPU+ k) ]7 C6 F: h8 R1 x  v
  494. JSR P2_PPU
    2 G' y' f3 e; V! y( V) R$ |
  495. RTS
    * G% x- J3 l6 U- X# V. {
  496. ) W. w& X, o3 q6 r: u
  497. TEXT01_ADDR:- v, k8 n+ K- k2 t8 y( ]$ L% |
  498. .BYTE $20,$42
    5 c- d8 H: y7 `
  499. TEXT01_DATA:
    4 ]: T+ K. ]. t: B) v
  500. .BYTE CH,CA,CC,CK,CSP,CB,CY,CSP,CF,CL,CA,CM,CE,CC,CY,CC,CL,CO,CN,CE,CSP,CI,CN,CSP,C2,C0,C1,C7,CEND
    + J% G0 ~7 |( B2 @
  501. TEXT01_PPU, M- i) [5 ^* f4 v$ ^
  502. LDX #$00
    4 \  a$ |3 d$ F. w+ @2 r
  503. LDA TEXT01_ADDR
      t0 `8 [$ M! _9 n* P
  504. STA $0703
    ( h% J  v( g7 I3 l8 u
  505. INX
    7 r' Y: n* o, I
  506. LDA TEXT01_ADDR,X$ I4 ?* J* b: q+ Q( e
  507. STA $0704
    8 {$ B/ J% Y3 j: r* c
  508. JSR PPU_PROCESS
    ; V# J& s7 J1 g4 V) {, L
  509. TEXT01_W:# o2 u) M5 ~! A/ O
  510. LDA TEXT01_DATA,X$ t% m, }% q7 @$ O" J
  511. CMP #CEND
    ) G  |# v' m+ {5 U3 E
  512. BEQ TEXT01_START
    # H- c! I6 C! d) D" d# P
  513. STA $0705,X0 A( w4 L6 Q( A
  514. INX
    4 j, u/ j* {$ T/ y, ~( U
  515. LDA #$00
    ; e% V: J8 F/ a0 f3 T9 P) }! o
  516. BEQ TEXT01_W6 p2 m7 J$ S0 H& o) [& a- R
  517. TEXT01_START:
    0 @9 }; c! L( l9 C2 {
  518. JSR PPU_START. |8 t, t% ?7 B( x0 W5 V& S. V
  519. RTS6 M" ]) x+ a1 @2 Z  M

  520. 1 S1 m/ K: H& X2 l6 S" g

  521. 3 ^. X3 F$ L, ^5 k7 q# h
  522. COLOR_DATA:
      f& Y+ K( I+ W3 A8 i. {, [. M: w
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    : J# O& K  B2 D6 X. m3 r( z# J% j2 u

  524. 7 f% _$ N3 ?9 @$ i, A
  525. P1_PPU:
    2 [, b3 H+ s+ R7 y/ p
  526. JSR PLAYER_01_PPU7 _  W  ]! T2 }/ B, R; C
  527. JSR $CBC0" \$ ~: ~3 U* s7 M4 z! c
  528. JSR RELIFE_P1_PPU, v% L( u$ m/ q& E2 b  q$ G
  529. JSR $CBC0
    3 d% C  [3 B7 v6 u5 B$ @1 D1 K
  530. JSR RELIFE_NUMBER_P1_PPU6 }/ I+ H. u; A/ l% H
  531. JSR $CBC0
    ; |4 y4 N4 m3 }& t) y) @
  532. JSR WEAPON_P1_PPU
    5 a/ k& h% L" o/ A
  533. JSR $CBC04 V7 Q4 i5 Y6 t- r4 U. @+ O
  534. JSR BULLETPPU_P1_PPU0 V  x% j8 G1 N1 e
  535. JSR $CBC0: g  z+ m& o  o5 s5 f$ }1 s8 i$ Q
  536. RTS
    5 K5 G; E! C% j3 |  V0 k5 C0 N

  537. 5 X5 p* M+ N- v2 A# d/ ~% ~$ t
  538. P2_PPU:
    7 e6 G6 a1 R( m
  539. JSR PLAYER_02_PPU/ J3 r8 y# I. |
  540. JSR $CBC0
    7 c6 O& r5 Y& H! ?! s" W
  541. JSR RELIFE_P2_PPU1 j; |  U! B( f% b4 z. I
  542. JSR $CBC0* T) o! |; f7 @$ C5 I) T: R
  543. JSR RELIFE_NUMBER_P2_PPU
    , p2 i+ c# C" u- N- O
  544. JSR $CBC0; ?1 ^( t6 M& a# U# a+ c9 s; {
  545. JSR WEAPON_P2_PPU( ~' A' ^- Q( i; Z
  546. JSR $CBC03 Q! [8 N7 A0 N6 o
  547. JSR BULLETPPU_P2_PPU
    + r& m6 q! S2 p/ b9 U' P4 F
  548. JSR $CBC0
    / {. r7 p5 O) Z" x/ N
  549. RTS1 ^; B4 W) q3 A* n% Y% t
  550. . U% p3 b8 d9 U) d% h/ P8 Y

  551. + Y4 p" ^" z% I5 s. s2 j1 U$ E

  552. 5 k) a# s2 F* Z, Z7 b
  553. PLAYER_01_ADDR:+ J. m* T& @: k: U
  554. .BYTE $20,$A3
    4 ~, s( m$ d) C0 r
  555. PLAYER_01_DATA:' p) @. ]" k+ Z$ u' _( A' e
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    ) W2 z7 m1 |. I/ ~
  557. PLAYER_01_PPU:6 s4 r; a+ J8 \) x( h2 a
  558. LDX #$00
    , D1 I6 Z' d# k# g% l
  559. LDA PLAYER_01_ADDR* I: I7 H' x" K6 p' ?' q
  560. STA $0703
    ; i9 t+ o+ a5 N7 X
  561. INX
    + B9 M: z4 C+ e
  562. LDA PLAYER_01_ADDR,X
    ( L& V1 k9 F0 l) D) U0 r  D: J
  563. STA $0704
    9 @, b; Z: B6 w6 e; M
  564. JSR PPU_PROCESS9 Y- i: E* Y  g' V+ t
  565. PLAYER_01_W:* ?. D' V# F( K& i
  566. LDA PLAYER_01_DATA,X
    # D. D5 c  A. ~6 n2 q. v
  567. CMP #CEND: Y0 }! x7 |, C2 F1 Q
  568. BEQ PLAYER_01_START( F  G+ W1 k! y* O
  569. STA $0705,X
    ; [1 ?* X8 C& l4 }5 }, h" N" [
  570. INX: H' G/ ?% A) q! T. |
  571. LDA #$00; h+ R9 V% C( [3 C
  572. BEQ PLAYER_01_W
    9 \  e7 Q' A: e5 a# b% A
  573. PLAYER_01_START:/ j3 @, R! l! _  c
  574. JSR PPU_START  R- }+ \5 v  q9 w- u- C. z
  575. RTS8 m1 U2 Y( R/ O! k; Y
  576. ) @" C# w# d' j

  577. 0 n! a  r5 r1 u( _% y$ M! G
  578. RELIFE_P1_ADDR:* M7 M7 g6 {6 D" [% M
  579. .BYTE $20,$E3, M- h: ~5 J; \0 y  T) i! m  j
  580. RELIFE_P1_DATA:! v$ |: V) Z: o( ?+ R0 f9 h+ I
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    0 O' N3 I. L9 j" i: e) U% q
  582. RELIFE_P1_PPU:
    4 K, q% o# O$ A: k7 n/ h( J4 J& ~
  583. LDX #$00, W( j5 b5 J4 q9 N8 b  X
  584. LDA RELIFE_P1_ADDR7 Q6 h4 b* M9 \1 B$ v8 [) y2 }6 T
  585. STA $0703/ _; a2 R5 T. c8 j& |( G; o- A
  586. INX
    ( i3 }% P7 J* d1 W& e  E; @
  587. LDA RELIFE_P1_ADDR,X! [% }( W' G2 ^; l
  588. STA $0704
    4 {: ~0 l9 W$ W$ v& u& D
  589. JSR PPU_PROCESS! A" n3 ?; X! c2 I
  590. RELIFE_P1_W:
    9 ~* L5 n# [8 \/ F: i
  591. LDA RELIFE_P1_DATA,X3 d/ Z4 e0 P* c7 i# D: q- F
  592. CMP #CEND% d5 ^  v# L0 F) Q" x
  593. BEQ RELIFE_P1_START3 H' v' i' B6 A0 z: ^6 U2 a
  594. STA $0705,X  Z) J4 y! K' [' O$ ~
  595. INX2 h  }: O" p) t5 H8 ^+ j/ e
  596. LDA #$00
    # P# H: T. \0 e& H% {
  597. BEQ RELIFE_P1_W
    5 M# J* j8 L- Y6 t* @& Y
  598. RELIFE_P1_START:
    ; T, U! M( k4 D: U5 u6 W+ B( P/ j. K% T
  599. JSR PPU_START
    0 s0 r' g! ]3 ~4 I5 e
  600. RTS+ I- X2 J# }, \9 P7 p( N

  601. ' I3 s) H2 V2 n7 b* |
  602. " I* |5 z; e  n) J1 E& i: [9 o
  603. RELIFE_NUMBER_P1_ADDR:
    + H/ i9 r( q+ |6 j3 J, d
  604. .BYTE $20,$EA
    # E( ~9 O: z; r0 M- E
  605. RELIFE_NUMBER_P1_PPU:
    ' a. Y; A6 ]9 g: @7 V. m
  606. LDX #$00
    1 r& o/ q3 @- f& b
  607. LDA RELIFE_NUMBER_P1_ADDR- n4 P  D* N; Q9 E# u8 l* w
  608. STA $0703
    0 d8 x+ w7 u# ?+ u+ s" t
  609. INX- q# O+ a4 z4 y( d7 {& B
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    ! ?; R( c8 u6 s9 P6 K
  611. STA $0704
    4 Z' ?5 D' k; i& Y: [
  612. JSR PPU_PROCESS
    ; N6 A/ U3 ]' ^! t" f  t& }$ {, t
  613. LDA $32+ Y1 M8 h' h- H& ?: h
  614. JSR LIFETODEC
    7 O& V& C0 h0 t0 R: U, V, p8 w
  615. RELIFE_NUMBER_P1_W:
    - g) e% i- d6 F: o
  616. LDA $7A037 v7 l7 |. |! w
  617. STA $0705/ z0 [5 O' r6 G: U$ w2 {3 T" |
  618. INC $0705* |- w- U. n  j$ S
  619. LDA $7A04; T5 o  ~( d4 J5 j
  620. STA $0706
    3 |* r3 W' R" e+ t- i
  621. INC $0706: G: y) V, e$ w, L! f- m
  622. LDA $7A05( \6 X3 Z& q$ H# n$ }) V! P/ @
  623. STA $0707
    ) I( w$ |$ B2 e/ l& h/ A; M8 u
  624. INC $0707- |8 t/ t  F5 Q% f" [
  625. LDX #$03
    7 B7 {  E- a8 @
  626. RELIFE_NUMBER_P1_START:: X2 `6 P/ d* _- `' `: `
  627. JSR PPU_START
    3 `8 K% H. w9 a! b3 F8 o- \2 q% w
  628. RTS+ p* {0 C- h) P4 ]# T
  629. & K/ h8 H" D4 h6 u% G
  630. WEAPON_P1_ADDR:* N2 S9 s6 I- u6 c2 {
  631. .BYTE $21,$236 e: ^; h7 x/ m7 l& w8 H( s, Q
  632. WEAPON_P1_DATA:
    9 G( E9 Q& C  P! ?- V# i
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    % o: |/ F6 w: f1 e/ k+ A. _+ K- A
  634. WEAPON_P1_PPU:
    . O: l$ f3 c- ~7 k* u; U( E: e
  635. LDX #$00% \2 D# I! v' K8 P& f% i6 o1 A
  636. LDA WEAPON_P1_ADDR7 R, s0 T; U9 R) k6 J6 {8 M/ |
  637. STA $0703
    8 {, D, x3 B/ R
  638. INX
    + Q( d/ h- m( e. I5 O
  639. LDA WEAPON_P1_ADDR,X
    * r# n6 d9 [/ k0 n' h! _
  640. STA $0704$ T  j1 ?$ ~8 c% p9 f3 c
  641. JSR PPU_PROCESS, q7 x# K9 S2 n/ T, _
  642. WEAPON_P1_W:' v  x+ h) C) j" D0 z& c
  643. LDA WEAPON_P1_DATA,X
    , q2 o' m+ i/ r9 Q7 F6 k2 P
  644. CMP #CEND
    4 r5 E- D3 L  j  p2 P3 p7 E: \8 i
  645. BEQ WEAPON_P1_START
    7 ?$ @- I* V* I8 Z# P7 n
  646. STA $0705,X
    * f6 \6 b3 X2 \
  647. INX0 Y* {9 ?2 J) Q" @' c
  648. LDA #$000 O( z- n* e# B! A7 I& i! m
  649. BEQ WEAPON_P1_W& u2 j  c7 N& o4 m# f
  650. WEAPON_P1_START:, S1 A3 X$ M, H6 ^
  651. JSR PPU_START- a* T. Y! c4 g9 Z
  652. RTS
    0 B: Q' Q7 w7 {5 x! J- u  A

  653. - u7 u% c: R' s3 |6 S1 O3 Q" }
  654. BULLET_P1_ADDR:
    ( H6 d9 z! y' Y+ o$ S; K* s; v
  655. .BYTE $21,$2A7 {8 S2 q  m* R, u
  656. BULLET_P1_DATA:2 S7 {( ]& t! r+ x
  657. .BYTE $00,$01,$02,$03,$04+ i2 l- {/ n% l: I* }4 d
  658. BULLET_P1_NAME:, C' C4 V1 v9 W3 v9 P1 ~
  659. .BYTE CN,CM,CF,CS,CL8 U: F0 E% J# ]) s1 r3 t- ^

  660. " U/ p, W$ C# u) y+ H' q5 ^
  661. BULLETPPU_P1_PPU:
    ( ~# K, }+ p, G0 z/ M* O, V
  662. LDX #$004 f: E& b# J5 ?0 t0 t
  663. LDA BULLET_P1_ADDR  Q" T' Z' p# C0 v) b9 z* N
  664. STA $0703
    ; A$ x) ^2 e  ?  \
  665. INX
    $ @6 l2 R& I$ K. n6 R7 w
  666. LDA BULLET_P1_ADDR,X
    ( t: c2 I& f. L6 j$ S% E
  667. STA $0704
    , i+ i) H, R6 N7 _2 R
  668. JSR PPU_PROCESS; j+ s. R2 `7 p" u
  669. BULLET_P1_WRITE:
    + s" E4 S8 Q3 u
  670. LDX #$00
    # W; F. o  `  w- C: w
  671. LDA $AA
    : j; n  C2 u, J
  672. AND #$10/ `3 ~. J( V6 u/ b8 h2 d( n
  673. BEQ C_BULLET_P14 \; X: v  r% M; C: j2 f& b% `
  674. LDA #CS) [: P# z: _- b; H' k1 T
  675. STA $07054 {+ E- c& n4 K) ?% W1 v) W8 O
  676. BNE B_NAME_P1" d/ p" ^3 N. o  t
  677. C_BULLET_P1:' d8 N9 d1 l0 z9 N& X
  678. LDA #CC
    , r* m  x0 o6 ?: S+ Y8 C
  679. STA $0705
    1 Q/ C6 I  y1 B  C5 {
  680. B_NAME_P1:- v& N/ ^; V, t' y2 v" ]# ]. U
  681. LDA $AA4 k9 b  S, z2 ?  c
  682. AND #$0F9 S6 B* z: |: \
  683. CMP BULLET_P1_DATA,X% ~7 P' D+ C8 v  A4 t; s5 t
  684. BNE B_NAME_P1_RECMP
    ' v6 S2 D2 C5 ~$ [. d- w
  685. LDA BULLET_P1_NAME,X
    2 C* }6 Z; Q. y8 n- I
  686. STA $07067 p. `4 p! E7 E
  687. B_NAME_P1_RECMP
    , c3 ?* W0 |; S9 W! m* h6 ~
  688. INX
    8 w2 h5 f2 F1 a. V( H" p$ B* G( @4 R
  689. CPX #$05
    & s8 q; E1 n  c6 R- q( J8 M8 W
  690. BCC B_NAME_P1( Q7 |6 P& o3 A8 u
  691. LDX #$02
    - s, b1 ]5 N2 W# Z% Q
  692. JSR PPU_START
    $ D. m, X& D3 l" Z# K$ e
  693. RTS
    1 V7 H* G- _6 v. W7 _3 ?( h% ]5 t
  694. + ^; Y% z2 m3 F

  695. " K. j4 x  [& }
  696. PLAYER_02_ADDR:
    2 d/ t% E# B. c- p( D. P& f: ?0 X
  697. .BYTE $20,$B3, c, z) H6 P9 t' ]* U- f! _- h& |) B
  698. PLAYER_02_DATA:& [) J8 s! d( F
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND" l" j5 d; i! a
  700. PLAYER_02_PPU:$ W6 j2 H5 r! ^2 C  D! f
  701. LDX #$004 b! q1 |/ \+ P1 [$ }
  702. LDA PLAYER_02_ADDR$ G) o7 w' U6 e
  703. STA $0703
      |' v$ r! f7 C# q4 `& ]
  704. INX
    1 I/ n; h$ k- j# C+ c% I3 x+ u/ S
  705. LDA PLAYER_02_ADDR,X, U1 }0 H* Z- P1 }( V$ Q
  706. STA $0704
    , ]  {* I+ k' j  ^, h& h! L+ ]
  707. JSR PPU_PROCESS9 t2 f5 w" @! e3 v9 p6 W6 h
  708. PLAYER_02_W:) u8 [( q  F# _4 \
  709. LDA PLAYER_02_DATA,X& v+ r4 s4 W7 Y4 l8 m4 t
  710. CMP #CEND
    0 j! r6 Y0 S" T2 c+ x% J3 D
  711. BEQ PLAYER_02_START" b' o/ J0 j0 N- v
  712. STA $0705,X
    : l+ p( s/ T- M
  713. INX
    # l: A2 k1 ^; X- v! o0 R& A
  714. LDA #$00
    & ~6 C! u% u! H' r- G
  715. BEQ PLAYER_02_W/ ?7 Q! k5 z5 P2 b# j7 S. q
  716. PLAYER_02_START:1 {' _, p+ F0 ]2 R, A) q
  717. JSR PPU_START9 e0 i/ I9 S" V9 x6 y0 l$ K) N
  718. RTS
    ' o7 H6 H# z9 {# O0 U* s2 m
  719. . o* j- q3 [- u5 [; p; M2 {
  720. # z: C( L! w$ c  s4 C8 i' r
  721. RELIFE_P2_ADDR:$ C0 U+ r- i& J  J  b" T0 N5 }
  722. .BYTE $20,$F3+ A6 m3 N2 B: P5 ]0 t/ Q  D
  723. RELIFE_P2_DATA:5 I/ ?# y) b: m* _+ K
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND  A9 e' I7 a: P+ A# t+ D% H
  725. RELIFE_P2_PPU:4 b/ @$ w& w' |* r6 r0 I0 C2 R
  726. LDX #$00& C$ r8 l# G  X2 I' r
  727. LDA RELIFE_P2_ADDR
    6 e" F" H8 w5 M! y
  728. STA $0703/ c/ W% S' b, W) t% t3 q, U) f
  729. INX& b# k4 l- D  \# K
  730. LDA RELIFE_P2_ADDR,X
    * N3 ?* N+ p' v* \* W/ h- D
  731. STA $0704
    ( C4 M$ G8 s! P9 O2 \( c" U
  732. JSR PPU_PROCESS
    0 m% b5 q/ z# s4 o. i3 {7 E( d
  733. RELIFE_P2_W:! c8 ]8 @" P# q3 T: Q6 [6 r4 Q
  734. LDA RELIFE_P2_DATA,X
    & t- Y' u& ]% ]8 b1 x/ i, s8 {
  735. CMP #CEND
    * i9 O1 Q5 ~7 q+ t. T
  736. BEQ RELIFE_P2_START
    ) I) K9 l) @2 |* ]. v3 w' |4 a
  737. STA $0705,X
    1 M3 Q# {/ l6 D# ~; {0 J+ B
  738. INX
    $ c# `' Z; c: i+ s
  739. LDA #$00- s  N: v9 _0 f$ G# @8 T& q
  740. BEQ RELIFE_P2_W
    ' q8 E$ W* j: f/ U4 w
  741. RELIFE_P2_START:: I) I  g; \' \) z, W& Y
  742. JSR PPU_START+ y  x0 E+ t" G! s3 ]$ z  F/ w, C
  743. RTS
    * p" d) ?, d" T3 q6 y* y
  744. / ]4 S' F( }/ m9 `5 l

  745. : r' H7 o+ x1 ]) s: t$ q7 T  L0 C
  746. RELIFE_NUMBER_P2_ADDR:  G; [+ B& C" ~& f7 \: d
  747. .BYTE $20,$FA  [5 t6 y# N: u9 k
  748. RELIFE_NUMBER_P2_PPU:
    5 `1 j2 u7 S, V& B
  749. LDX #$00
      v$ p6 a+ P0 Q) {8 m$ h; \
  750. LDA RELIFE_NUMBER_P2_ADDR9 Y' q9 r; f; E3 d
  751. STA $0703
    # m; |# w6 X0 f+ ~$ Z" T1 A
  752. INX# e' Z  F& _/ ?5 ~# X
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    " S) r8 W2 d/ O/ `$ n! N8 H8 h& b/ w
  754. STA $0704
    $ M- n) z+ r: H
  755. JSR PPU_PROCESS; Y- [/ c) C" Q
  756. LDA $33' V* A; u2 i9 K7 s: q
  757. JSR LIFETODEC
    * R; l6 R+ u0 q9 ]) B
  758. RELIFE_NUMBER_P2_W:8 N9 }$ B' V0 q+ {
  759. LDA $7A03
    3 v+ r- k/ G7 S5 b8 A
  760. STA $07051 l: v8 q1 J/ W/ l2 c2 ]# S
  761. INC $0705
    8 N# i5 ^( I/ x0 p' d
  762. LDA $7A04# ]% Y( D. }- p: |. U" v
  763. STA $0706
    $ E( k  Q8 l1 T2 _: s
  764. INC $07069 o7 ?% `  K) ?  v0 @
  765. LDA $7A05. W2 q; l/ h; n
  766. STA $0707
    " y7 V( N% z' Y
  767. INC $0707
    % p; A% e2 W1 ~" r
  768. LDX #$035 x$ _! T) Z" {
  769. RELIFE_NUMBER_P2_START:4 y5 n/ p2 ?) Y% D2 F5 |
  770. JSR PPU_START
    ) X& N- z# g5 Q. a! G/ a
  771. RTS
    - k) \% ]; i6 B
  772. ) U$ |1 x4 `* y* O
  773. WEAPON_P2_ADDR:
    ' N+ p) u- B* g
  774. .BYTE $21,$33
      Q" T3 i$ q& j+ x
  775. WEAPON_P2_DATA:
    5 _- p; b. v$ ^& T1 _0 O% `/ W
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    3 ^0 M& X( q+ R& j4 @2 e
  777. WEAPON_P2_PPU:
    - a& `/ K' [& |; c
  778. LDX #$009 q) o5 e. v  N9 E
  779. LDA WEAPON_P2_ADDR
    1 B( r$ V# ~8 w. }( N
  780. STA $0703
    0 q8 F. z! o3 x4 P( i  j( o  z4 l
  781. INX
    ' c4 \5 Z4 D. u# T0 C$ x& v' w0 G6 I0 O
  782. LDA WEAPON_P2_ADDR,X6 g7 C  Z- G3 c# e  F8 U4 T
  783. STA $07045 x9 j) c% H, `1 ^8 Q
  784. JSR PPU_PROCESS
    & T6 u1 [7 ^- V" S+ ^' b
  785. WEAPON_P2_W:
    7 Y( M+ j, r3 C8 ]. s
  786. LDA WEAPON_P2_DATA,X0 V8 U- @0 F) l1 Z4 c3 Z9 O
  787. CMP #CEND& _  m3 @- L% T4 e  y
  788. BEQ WEAPON_P2_START
    1 E7 N+ n* l/ o3 V' v; X
  789. STA $0705,X
    ' g; i5 a: Z, }  z9 @' z
  790. INX
    + G) H3 i1 h1 ]! x  y
  791. LDA #$00
    ) j* a( L; Q; a( A; A
  792. BEQ WEAPON_P2_W
    9 j6 I! c( ^  Q  N
  793. WEAPON_P2_START:% _1 F- W* R) i' \
  794. JSR PPU_START! G0 P, x; P( m' p
  795. RTS
    - p; J9 z5 w% B& O
  796. - ]3 r+ _- ]# B5 [, t9 @4 I' f9 V5 F8 p
  797. BULLET_P2_ADDR:
    0 b$ k% b3 \4 L! l
  798. .BYTE $21,$3A
    9 Z# B; T5 b# U6 Y
  799. BULLET_P2_DATA:) K4 u" c/ N+ H7 H
  800. .BYTE $00,$01,$02,$03,$04
    8 E7 ^  r0 K3 I; B: @+ {! K
  801. BULLET_P2_NAME:2 g. x5 o% M& h  s  G
  802. .BYTE CN,CM,CF,CS,CL: w# j4 a5 q: L( @6 Y0 ^# K

  803. $ T3 U5 y' B, M! ?' k/ t* |7 S) V
  804. BULLETPPU_P2_PPU:/ o7 {7 E2 ^& A. M( {- M" y. m
  805. LDX #$00! g& C# W- j" M7 g: r/ D' ]  b
  806. LDA BULLET_P2_ADDR$ x. I8 [: g; m: \3 A, @
  807. STA $0703
    1 B3 I& e( _2 |+ V5 r! `
  808. INX6 Q, n6 N& T( M% U5 H0 q
  809. LDA BULLET_P2_ADDR,X7 I8 z: D6 q- ]3 o# c  V/ D& H
  810. STA $0704
    7 `% j" S2 P" P+ D: _% k5 Q# N
  811. JSR PPU_PROCESS" C8 b  V8 B/ V2 |' T6 s4 X- V
  812. BULLET_P2_WRITE:8 y; Z! t2 \' M' O
  813. LDX #$00
      H8 ]( k1 ~9 K- _( [; M
  814. LDA $AA5 q' d% j& d2 k5 O0 t5 u2 P" `
  815. AND #$10( Y- F2 C* @7 w4 ]" a. n5 s6 g
  816. BEQ C_BULLET_P2
    ! z" `  I2 u1 N1 A7 U6 L
  817. LDA #CS
    " \& w6 S( s0 [( D7 \  d
  818. STA $0705
    9 I: C) V. \% p" A' g
  819. BNE B_NAME_P2% i( L3 S/ t) C
  820. C_BULLET_P2:
    + O( S: V- F% c
  821. LDA #CC: v9 }- [# B+ E  t' K
  822. STA $0705- r8 t, w8 E6 ~' O5 L+ D, W' h
  823. B_NAME_P2:- M5 A/ l1 @4 Z
  824. LDA $AB7 O4 Z. g$ \3 |* k6 @
  825. AND #$0F
    ' [6 E1 _% J# t- U
  826. CMP BULLET_P2_DATA,X
    & }( m  N& }- j7 Q0 f2 r: D
  827. BNE B_NAME_P2_RECMP2 k& t2 H/ h. T$ k6 k
  828. LDA BULLET_P2_NAME,X" x  t# W- c6 s$ y" c0 W
  829. STA $0706
    - a+ F. z, O5 k
  830. B_NAME_P2_RECMP
    5 t7 z) b/ y5 w0 A& o7 m& x: d9 p
  831. INX
    ; X' }+ a4 I" ^: k9 F
  832. CPX #$05/ w' V( }( t* u7 w, i6 r
  833. BCC B_NAME_P2
    7 }1 B9 u0 D  E3 ~
  834. LDX #$024 C  f2 N+ Y9 q/ W) B# m9 q/ e% v
  835. JSR PPU_START- m% p4 t# d2 z' o
  836. RTS
      z% E/ `' p! c

  837. " N; V$ f6 ~; [! v, S9 U% m& y

  838. , p! Y" ^0 k1 p, d
  839. 4 S/ N/ U+ G6 Y1 L$ i: X/ n
  840. ; h1 u1 k) B1 h
  841. - X1 {+ w1 Y) v3 z0 N! j- W

  842. : X. q# u3 q  h4 a
  843. LIFETODEC:                ;十进制转换8 C  M9 A7 P  e3 K$ c( p
  844. LIFEL1:        ;initialise
    2 a4 y# Z1 G) G0 r6 k: J
  845. STA $7A00        ;$7A00=F3
    % x. F0 a( q* D
  846. LDA #$002 L2 p3 ]0 j- g/ p- u2 I% g
  847. STA $7A03        ;$7A03=00% @& x6 U7 C+ V7 ~: s9 x
  848. STA $7A04        ;$7A04=00
    0 u, O; k- ~% a6 z1 D" w
  849. STA $7A05        ;$7A05=00
    2 _: p' ]" ]/ e5 I1 c8 A+ M
  850. LIFEL2:        ;copy data $7A00 to 6001
    : Y8 b- w) {9 X9 d. @# |8 I
  851. LDA $7A00$ k) F! T# a6 ~! T4 c, I
  852. STA $7A01
    + W' n  L& D2 r8 m- O* E8 Q, l) d

  853. - I; g( g& e. ?7 J, f. U& H" ?
  854. LIFEL3:         ;hundred9 J7 J5 o/ z- n. p7 n( K  G# S0 ^
  855. LDA $7A01+ c9 k& M. _+ L1 ^9 P" H
  856. CMP #$64
    ' V7 S# l9 g, i* W4 n5 g9 J7 [3 L
  857. BCC LIFEL6                ;$7A01<100 goto L69 f; a; j) A  k, r* |
  858. LIFEL4:
    5 e1 N( f' {+ m2 R9 |/ p
  859. LDA $7A01& Q/ ~2 f7 d$ L' E! S: X0 i
  860. SEC
    , v& O" H* \' w1 N3 y. Z1 g
  861. SBC #$64        ;$7A01=$7A01-100, h, p4 n8 g. j1 Q6 K
  862. STA $7A01
    # i+ W6 i: |  t7 A, `: ~
  863. INC $7A03        ;hundred++
      v; Q1 n8 c* ~1 u1 Q9 ~
  864. LIFEL5:7 M$ W# {* v+ G1 ?/ B$ |1 K
  865. LDA $7A01
      t6 ^. E0 P2 ^9 n0 i. @6 \6 R
  866. CMP #$647 x, \. D! W' q* O3 Y
  867. BCS LIFEL4                ;$7A01>100 goto L4
    - Z' E1 O# p" q" Z: D' Y) q! I
  868. 1 U2 ~7 L/ T" _: F
  869. LIFEL6:        ;decade
    * V' m2 |; T2 h
  870. LDA $7A01
    % _9 S$ M0 y9 U6 {+ ]) I$ v
  871. CMP #$0A/ w; d6 p- t8 `0 R! d
  872. BCC LIFEL9                ;$7A01<10 goto L9
    * _! ]/ G6 q" m  S8 S
  873. LIFEL7:       
    4 u/ L/ z7 \1 a0 m, ^6 o2 J
  874. LDA $7A01' ?5 ~4 i0 P6 N
  875. SEC
    ) }) @, q6 k9 _* o3 d% a7 I; G
  876. SBC #$0A
    # m9 b5 a/ i5 W7 ~& U. s
  877. STA $7A01        ;$7A01=$7A01-10
    + v( v! N; X9 |5 }8 ?( s7 n( j
  878. INC $7A04        ;decade++
    . a1 q& r: y' }# {/ ?2 P
  879. LIFEL8:
    0 c2 s; E% G- i: H
  880. LDA $7A01
    - H0 E3 x8 h" V( Q' K
  881. CMP #$0A
    4 F2 I9 \1 y3 Z# s8 S% r# F! B1 M9 R
  882. BCS LIFEL7                ;$7A01>10 goto L7; W. v1 J% Y' M
  883. ;unit4 }& s1 Q7 T6 i+ D* c
  884. LIFEL9:
    & L; t& @7 P# F9 |0 i8 ^
  885. LDA $7A01        ;$7A05=$7A01
    : b2 a# t; V3 a) ~" j
  886. STA $7A05        ;unit$ D4 u& b; r" o& D
  887. RTS        ;return
    8 R3 M4 g; N9 ^5 t- O  k

  888. " @% p( M1 {; n+ W' j. F0 `2 c( _
  889. 1 T/ K# l6 a2 P/ L! G3 ]  A

  890. # Z' G8 N. M/ k/ F
  891. PPU_PROCESS: ;PPU地址处理程序7 _% \: k1 K+ G  `, I
  892. LDX #$00
    % |7 |! D8 S+ A; }
  893. LDA $FF, O3 S/ S/ e5 i: y: B3 [# ]
  894. AND #$01
    8 f! @" a& w, y9 X
  895. BNE PPU_2400_27C0
    & D9 h, G, T( V+ h  U& r
  896. PPU_2000_23C0: ;命名表1
    8 ?+ U. b  O+ `5 y8 a  V( U9 U
  897. LDA $0703
    7 m  o6 L2 ]- |3 P2 m. i
  898. AND #$FB
    ! e, X* V3 E5 s& B8 ?( r2 S
  899. STA $0703' s/ p* s* H" n) @7 U
  900. RTS" C8 E% @9 G) A% w, H
  901. PPU_2400_27C0: ;命名表2. }- L/ g. J0 N1 S9 }1 x5 v7 ?% y0 Q
  902. LDA $0703
    ; u4 M) r6 ]( Y* i, b
  903. ORA #$04! H, a5 C4 b2 k7 A
  904. STA $0703* ?1 @5 t& N0 y: ]1 ]
  905. RTS4 _+ ?; w  @$ h6 j
  906. 6 R' w; g8 T3 @
  907. PPU_START:  ;PPU数据写入
    : x4 t; N0 t+ H' t& Y5 _" {5 k
  908. STA $21* y+ h  e) I- Q. f5 e
  909. STX $0701; R6 W, Q7 e* |7 B2 C) O8 x$ F7 V
  910. LDA #$00
    7 j) u% Y& H' V) y( ^
  911. STA $0705,X
    0 h5 X0 L/ j4 s. x2 |
  912. LDA #$019 s7 {! t; {- i. C5 U/ y
  913. STA $07000 u* t" s& ?: b' ~
  914. STA $0702
    " M! Z: b9 O, w1 ^5 Z
  915. RTS
    ) y  U! s7 @4 _6 Q, S+ Y
  916. 4 N! x% q- G9 f, x

  917. ( W) o# L7 q! f; W2 {% ~/ V

  918. $ \, S7 Q2 X8 u& E3 g
  919. 1 U" r4 x5 t9 M! g) F

  920. 6 t- k- N; I& w4 x0 R& m
  921. " i6 V/ _6 a+ u$ c6 O' u
复制代码

0 _& T; y' B  Y

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[发帖际遇]: yandagui 被钱袋砸中进医院,看病花了 3 个 柠檬. 幸运榜 / 衰神榜

签到天数: 2137 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
- l; `# p8 `3 s% |& B

签到天数: 2548 天

[LV.Master]伴坛终老

发表于 2017-2-13 19:24:13 | 显示全部楼层
怎么就退隐了呢?我还一直期待楼主能出SFC相关的教程呢。
[发帖际遇]: zsyf花14 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2017-2-16 20:23:33 | 显示全部楼层
没事时有时间时还是欢迎发表教程,谢谢楼主贡献

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2017-2-16 22:58:37 | 显示全部楼层
看不懂啊。。。。。
[发帖际遇]: liujunbtx 发帖时在路边捡到 1 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-2-25 05:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表