设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    ) j% [/ L3 Z' w
  2. 作者:FlameCyclone# C7 Y% K7 m, }9 ]6 B
  3. 时间:2017.2.12
    8 o7 T" i  K1 m

  4. % i# d8 Q/ G7 o& d2 r6 H
  5. 按键跳转:
    # C. ?! G0 g8 v( H1 q* V6 ~3 `- b7 p
  6.         C1EF:95 F5 94 F15 ]- ]4 ]* B( M5 n
  7.         C1EF:20 70 FB EA( |6 Z$ m2 s. g2 x5 e. i- _4 [

  8. - b( O+ ~  D, w) h# r3 T
  9. 滚动偏移:
    / _" h& \, C5 I6 S" s
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    8 c( G2 m  l( T/ [
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    + S* D9 U- f4 u; f

  12. & p! s( n9 ]. x, V3 u5 s" ?
  13. 背景调色板:, y  C( q; b+ H
  14.         CF20:9D C0 07/ ~2 V3 n2 I) M% l) x. d
  15.         CF20:20 A0 FB
    1 D* L; v6 f  B1 w: Q: f
  16. 7 D3 O( G, b. x4 w1 L  r! x
  17. PPU BANK号:
      |2 z: S8 o# [2 z: }) b
  18.         C8C9:9D F4 07! f! ?' \# C) Q1 x# P
  19.         C8C9:20 B0 FB0 ?% h6 q9 [4 j7 q4 R2 n2 A" D
  20. + K; q7 L! x9 S. Y5 _( w
  21. 按键跳转:
    ) C; v/ I! U& ]" f5 S
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20$ ^7 I3 z8 |4 N! W# w: v/ h/ F& j
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    9 C* m- U5 Z$ w6 U! G$ N$ G
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF! G  I: h/ ?! N4 e0 ^+ h: r. m
  25. 9 \! q+ j$ ^6 |- d* F4 \
  26. 背景调色板:9 b2 z# _7 n$ ?1 M
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF3 M6 J' E; y$ }" y) _" x- Z+ l

  28. ( z( k  i  h; s! W$ H3 i+ j
  29. PPU BANK号:
    . r+ W; G4 [7 Y7 [$ s! R* F+ F
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF9 T+ y' U5 m& {) H+ |/ N. P
  31. ) {& Y! N1 _5 s! H+ x
  32. 滚动偏移:
      y  y: _: V- u4 B' c( |
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60. P; I0 X4 ~2 G, }0 V! g
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF& k0 @% N0 z) i3 O4 l& ~

  35. 8 h  X0 c$ _  q2 ~8 l

  36. * X9 Q# b8 e- p6 F
  37. 切BANK后A000:
    & h% K% m: R3 ?3 L: O/ D2 r8 v# m' W
  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 FF# o9 c1 O; r( Y0 F: g( X

  39. ) G6 {5 A3 T* k

  40. 2 b; }% ~* Y  Y5 _, F" ]- \% Q
  41. 6502 simulator:0 s  [! \5 e& z1 Q! L) f: d8 O
  42. PPU写入程序:( h* e8 L2 z4 K  b1 t) _# o/ q
  43. .ORG $A0002 _8 l8 x8 P& J( U9 ]
  44. CSP = $80
      Y( C% a5 }2 M7 R2 {2 _
  45. C0 = $81
    : s/ V* `  @- g7 Y9 p3 Z( a9 |& R
  46. C1 = $82
    * [+ |; c6 d6 {4 [1 {7 m% s; t
  47. C2 = $83" P6 Z- B" A- ~+ C
  48. C3 = $84
    + D1 @; O1 g3 X$ v
  49. C4 = $856 j- c/ \! k) e2 X% z6 I
  50. C5 = $860 C/ `2 v/ Z+ ]5 n
  51. C6 = $87
    4 A6 {# v' m* W1 y7 G
  52. C7 = $88
    ) S9 N( {" T: F; w3 n) D
  53. C8 = $89% r; o7 D; s0 D
  54. C9 = $8A7 x# _+ \' M- y; i
  55. CA = $8B
    ! ?( \& ^. P/ a/ |/ e4 h7 _
  56. CB = $8C$ @9 i, ]: t# w5 t' I. w
  57. CC = $8D' }  I4 T% ]9 A7 _9 C8 B- U" f' b8 g
  58. CD = $8E
    & a. `8 n7 f9 \  [+ G! w& q
  59. CE = $8F5 B* P. ^' m5 p( X1 W. c
  60. CF = $90+ B( s) H+ X6 l$ x
  61. CG = $913 d  z% @+ |' A# W: ~2 y. I$ S, u
  62. CH = $92! j3 e! A" P! T- r$ o# C: f4 Z, K
  63. CI = $93& U, [: h) n3 W9 q$ b
  64. CJ = $941 q% U: @# m- G8 ~6 [
  65. CK = $95
    . b3 o8 |& O- A
  66. CL = $96, a# x$ f4 w' \: K# d
  67. CM = $97
    2 r$ U. l5 i0 r! h3 g5 n
  68. CN = $98; \* P# N: Y  u, ?0 i
  69. CO = $99
    2 Z$ F  M& r, u! |7 U! r# j
  70. CP = $9A! ]+ B5 W, U5 y. Z* s
  71. CQ = $9B
    7 M- Q6 W5 q/ A" ?4 I* P
  72. CR = $9C
    % n) V3 Q4 K' x% }
  73. CS = $9D
    3 E4 q, W; o6 f, T
  74. CT = $9E
    4 X+ h& D  X8 r
  75. CU = $9F# h& C- m5 k2 P9 @0 v* }
  76. CV = $A0( e" @( Z( I; u, Y2 W
  77. CW = $A1
    : c& _% v" g% z5 S) k, y2 T
  78. CX = $A2
    9 C1 s% ^5 q5 @& W1 X+ R
  79. CY = $A35 E7 [, L5 E7 h
  80. CZ = $A4. d: ]) x0 e1 s7 A7 }" |2 Q
  81. CEND = $FF
      i/ z8 K3 v: j+ k6 T5 B/ F, W

  82.   }7 c9 }# k9 L# y: H$ N+ l+ L6 q
  83. 2 W6 l7 |3 M7 i& z2 D  y0 O
  84. CMP_RE:
    ! c4 ]% O# A# X0 E5 z# d' ?! e
  85. LDA $FF
    . p5 I/ O6 n2 ]% O) I& L1 a
  86. AND #$7F0 d4 k, }% M& a/ x. C9 r  L) Z
  87. STA $2000' E! T1 W3 c, ?( T/ E
  88. LDA $20024 M  T! f8 T2 k
  89. LDA $25* v& O2 G6 S  L+ A+ E
  90. CMP #$01
    6 C8 t" c* X$ a+ Z. \
  91. BNE PROREG
    $ U1 \4 M7 G* \  t. S% r5 D6 D
  92. LDA $F5,X
    + m3 {5 a- l' E# N
  93. AND #$CF
    6 Q' ~; S. {$ w8 k! r1 @9 i$ T( E
  94. BEQ PROREG
    9 [7 Y4 ^$ P, C
  95. JSR PPU_CMP
    - J4 X; Y; q5 W4 ~4 s1 `3 B! Y. Y4 F' e
  96. C_RE:
    2 q- }5 v& g4 D- R# g
  97. RTS
    1 t& `4 z3 J+ R6 \* B8 I- n
  98. PROREG:( n; {/ d; a+ `+ f+ W
  99. PHA
    5 |3 C+ M& U+ P
  100. TXA, ^- q) ?0 y* B' i4 ~3 |
  101. PHA
    1 ^, d5 k: w  Y6 R( y* _
  102. TYA$ ^) y# a4 A. U3 ]. W
  103. PHA  q! \, A2 w0 a; F/ s2 G* R1 @2 h
  104. LDA $25
    / i( _. n& B4 R8 o) |/ W
  105. CMP #$01
    % w3 J* ^/ P, A! ]$ j  S
  106. BNE RE
      @0 R8 R( n" j
  107. LDA $010A0 r5 S  k0 q: M% I4 {0 W" ~
  108. CMP #$00
    2 v  {% o0 N1 s  @9 R
  109. BEQ P18 i0 B% A% V9 @0 Z+ x8 q
  110. " Z! z" M* `7 y3 g
  111. RE:
    ; \8 Z! I+ j" \0 ^' Y5 X% L% B) y
  112. JMP PPUWRITE
    & D" f( j; F0 W
  113. 7 m( \# [8 \/ g: o
  114. P1:                ; 条件判断% J5 ?7 h  v) G3 n& a1 y3 V$ ^
  115. LDA $7FFF
    8 r* k# H9 Y# g# n' t& P, L
  116. CMP #$FF# M+ n$ Y, ^! K. x  g6 C
  117. BNE P1RP3 ]2 W2 {' Y1 F8 {1 ^" s. V
  118. LDA $7FA0
    + O8 l, V! v) V, Q
  119. CMP #$00
    * p+ _. i$ j9 ^& w+ Y9 C
  120. BNE P1CMP
    ' J6 p! ~% h% I3 h8 L' a* Z
  121. LDA #$FF
    ' g. h' ^$ `" U
  122. STA $7FA0
    - l7 Q3 w1 V, M& D
  123. JSR CLEANA
    7 y# x, z! C7 U% F# H: U4 s
  124. JMP PPUWRITE
    ' t6 B  e7 L8 H. j6 f
  125. P1CMP:& q" |' H$ u3 p4 ^- N
  126. LDA $7FFF6 k# u  I8 f7 `9 p1 m8 c
  127. CMP #$00* s7 Y" c, e* [7 r7 P
  128. BNE RE; `( G2 X8 ^# m" Z0 W  N9 Q0 o
  129. P1RP:
    2 j- a9 c& i' ]2 ]& n
  130. LDA $20021 M' s5 [: X; L9 L5 z+ U
  131. LDA #$00: L) u# g0 l& Y/ n8 k0 r! C5 S6 C$ d% J
  132. STA $2001
    4 e, K  D; b* J; Y) v* r6 S
  133. LDX #$004 Z7 U/ q2 W  [# r  \
  134. LDA #$FF5 y* F& U, V& ^0 {" v8 P
  135. STA $7FFF
    1 N+ Y' Z# B0 y1 ~& y' o
  136. STA $7FA0* C1 ]" [* ?% i0 X1 K: n( `
  137. JSR COPYPPU
    0 M4 r$ S+ M: S# |3 r% [1 Y& K
  138. PIRP2:
    5 l6 i7 ]6 B& l3 C( w, L/ \
  139. JSR CLEANA
    ' ^5 {5 F) ~: g8 @$ W3 {
  140. JMP PPUWRITE" b9 M0 C  h5 \' B

  141. / y% |! \8 z9 N/ y! v
  142. COPYPPU:5 H) W# L, s9 N: Q% o& [, p. R
  143. LDA $FE1 Z: B2 `" o2 ~% e  n
  144. STA $7F500 B  U3 a2 ]; u# v  b* x
  145. LDA #$083 x* M- T. [  w' J
  146. STA $FE
      F# g5 @* h, z' g! ?! H
  147. L0:0 T+ S- `( e+ A" r+ K
  148. LDX #$00( ~2 h& r# _5 D1 ~2 c. g
  149. COPY_07C0_07DF:+ s2 v- x5 K( y8 B
  150. LDA $07C0,X
    * v/ N7 I2 X; q2 x
  151. STA $7F00,X4 p5 T% c6 B; q4 [
  152. INX
    . i% T  j: h. K& E1 L' j
  153. CPX #$40
    1 o/ l3 u5 B1 W0 M- x) b8 x
  154. BCC COPY_07C0_07DF
    / H: ?9 ?& N" C8 B: d; b5 F6 w" f
  155. LDX #$00" a' x' s- _3 c. P
  156. PPU_07F4_07F7:
    9 r! x! S$ O% J  }$ [% g
  157. LDA #$007 _4 D4 f. x& k+ F0 R" c% V
  158. STA $07F4,X3 z- H5 w+ Z% }
  159. INX& j* U- `3 L# S0 h- E
  160. CPX #$04- f1 k% a. z: u% q& n
  161. BCC PPU_07F4_07F7' V. R5 z4 P2 P. {- j3 o
  162. LDX #$00# n& T0 R" Y* o# `1 k3 h& I
  163. COLOR:( ]# U; h" n; y* E2 q0 o2 I6 _
  164. LDA COLOR_DATA,X
    9 m7 [7 b  Y3 v+ O0 L
  165. STA $07C0,X
      ?% [1 V9 D2 {7 U' e. G, C5 F' J+ X
  166. INX$ W/ g" |5 Z) P+ ^$ ~5 o
  167. CPX #$101 [+ J& Z3 o! L6 g6 h: b
  168. BCC COLOR
    . {& x5 N: N5 P
  169. " D  x$ t( U1 m0 A" v( Q! V  U/ @
  170. PPU_COLOR:
    6 k, a; u# ]. \. W: t/ W
  171. LDA #$3F
      z4 E. G2 T( l  G' `4 {
  172. STA $2006! [! H5 i+ y0 k( u4 x& H- `! W4 d% u
  173. LDA #$00" R( w) h7 \& ?) T( `4 K/ z- q$ s
  174. STA $2006$ v0 C3 X; ~2 V0 w8 l. G$ v# v. f
  175. LDX #$00
    8 q7 j- l2 n/ E9 E/ c" ?
  176. PPU_COLOR_W:, F; M, c, `* B8 t
  177. LDA COLOR_DATA,X. ]1 K$ g4 g5 O6 |
  178. STA $2007. p& I) g$ \: y3 p
  179. INX+ U2 y, |7 o" G- r/ {3 o. `% s. y8 k) ^- ?
  180. CPX #$10
    . j0 w6 r& J6 ~4 H! G
  181. BCC PPU_COLOR_W
    $ W5 {* i; W5 c) |, f) s4 r7 D1 W

  182. 7 r6 ~& B! {0 m
  183. 7 v9 Q0 r) G! Z2 T; n2 o) \9 I% r
  184. LDX #$00
    & m' t6 a- v% }; N6 V! S5 I
  185. LDY #$00
    0 j3 K5 A$ B  l+ U( w
  186. LDA $BD
    " k4 ~2 }$ G# P" c+ l0 D; o) N
  187. PHA
    ; q( n+ y! f# s' C6 e
  188. LDA $BC6 J; d& A+ R$ @$ l# g0 H" A
  189. PHA
    1 p; t: b1 N/ ?# v$ Y3 g
  190. LDA $BB
    / t: x3 |# p! E5 S- Y! Z
  191. PHA0 R# e( X9 ]" r% o* T! Z7 q2 k
  192. LDA $BA$ R0 d9 n+ u; D* ~" s4 r  ]4 y
  193. PHA8 E; ^. b+ _& \. r' o7 F1 ~
  194. LDA $B93 B- F4 M/ c' ]6 G# {# A
  195. PHA
    6 b* B+ _6 ]- m3 L! }3 X2 \
  196. LDA $B8
    6 W* F( d" A4 K8 n0 x* |
  197. PHA% r$ ?% ]+ O: R. L8 l+ P
  198. LDA #$006 Y$ i! U& u& r) h" n( b: Z
  199. STA $B82 B+ d# a+ [) t# b: d! w& o; B, w
  200. STA $B90 c  a  c/ k9 }+ E4 ~
  201. STA $BA% w  S5 G) l; H: Q9 w0 N, X
  202. STA $BB, X; X. _& i6 G6 O$ Q- s
  203. STA $BC
    . F1 @' p  d. i. [
  204. STA $BD
    : q- k% Y6 P. I0 f' b" E: ]
  205. LDA #$00
    ( B% Q8 a6 b( b; a) v
  206. STA $BA
    ( W$ r; _- s! P
  207. LDA #$20
    2 A: s% I* n1 K/ ?( s
  208. STA $BB
    5 s( ]) U/ K* `. s5 R
  209. LDA #$00$ X! Y+ ~; M4 ?: E
  210. STA $BC2 E+ U; {/ V# y9 h; N
  211. LDA #$60
    ) l* A3 ~- _; I0 a% G) y
  212. STA $BD
    6 t9 M, y5 e9 w* l

  213. " `% j& c1 W8 v* E: F+ i, A6 `' W/ }  B
  214. L1:                ; PPU复制
    ' K, |( d/ w' l! C" F
  215. LDA $BB; t: E% f. r3 r# O4 J8 O5 V
  216. CMP #$28
    / i: t0 p4 U7 |  S" P
  217. BNE L2% V4 x8 L# T, L
  218. LDA $BA! r" K$ X2 m0 U9 i
  219. CMP #$00
    ; D! o5 l0 T. X2 n9 Y) K. t' i# Q
  220. BEQ PROADPLA: Q1 r" Q- O) N5 ?. w9 h( i

  221. 6 q8 F; r$ c% G$ M+ }( Y3 f
  222. L2:0 a3 m" D" |! `/ t  G/ M
  223. LDA $BB
    - @+ [  n: H* Z
  224. STA $2006
    / H/ i5 w4 b3 |( \# d
  225. LDA $BA5 Y/ M% x( u4 [
  226. STA $2006
    . S7 m6 }+ _2 f" V: W

  227. . v- y  n5 i! c* W1 D6 Z! d
  228. L3:$ b1 l% u* @" x) C5 h/ ]# ]
  229. LDA $2007& o& z1 Q8 V: P. i8 `# P0 D
  230. LDA $2007/ P; O+ A4 H# K1 A- I! n
  231. STA ($BC),Y- R0 O9 w6 V' R( T+ R2 v

  232. 2 ]) a( |* }5 D/ c; b1 i
  233. L4:) o5 M) q4 u" s& W
  234. LDA #$007 i7 b# ]/ |  @# `. e9 i1 _
  235. STA $2000
    # h% C; H& y0 I& h
  236. INX7 _! J; K8 v9 t2 c* `7 W
  237. INC $BA- ~" J. ^5 j; y5 v2 q6 ]
  238. INC $BC
    2 c0 l( J9 E2 u
  239. CPX #$00* _* b5 _' @) _. z' U2 O
  240. BNE L1
    3 u8 _0 N( P' o( T  a
  241. INC $BB% p6 `) P) I0 f
  242. INC $BD  G$ o: \% m( r3 ^* I
  243. JMP L1
    8 |! V& o) }* {- o" ?8 l
  244. * o! Q" v$ K2 a7 z3 }  N
  245. PROADPLA:                ;出栈; b/ n2 m. f, Q& A( \; G
  246. PLA9 O; Y  w6 _& R0 m" I* j
  247. STA $B8" [& N9 \2 K  m; d4 ^
  248. PLA* W9 D* s  ~( m, h1 ]& s. }
  249. STA $B9
    % @8 d# b, s% E/ ~  c7 E
  250. PLA' k  ?7 d6 h0 |% w, T, |$ D
  251. STA $BA) }! J; B# C) S% |3 r
  252. PLA, K' {$ s' A+ G+ l1 f6 W. d* f9 B
  253. STA $BB
    ! z6 y, V- ~* Y* C- v" h' B4 d( z3 L
  254. PLA
    1 E# y3 {% S8 h: Z! J( A' |
  255. STA $BC$ ]3 \1 V( P3 q. X9 i4 i
  256. PLA
    / j0 C( Z% c8 h' U
  257. STA $BD
    $ n1 j8 d+ I/ P- F& a  H# E
  258. CPRE:
    / E$ Y* g$ M2 p5 k+ H- _3 k7 Y
  259. RTS" F2 f' l+ V8 e/ `  N

  260. & m8 M# k$ D( R" z9 t
  261. CLEANA:                ; PPU清空  Q) D/ w  P3 C3 y" A7 x" S
  262. LDA $BD0 r7 ^& w% ^# {8 w* Z
  263. PHA
    $ }* W8 n6 i$ {" L
  264. LDA $BC% c9 u9 X3 g: d5 Z1 ]
  265. PHA4 S1 G2 |3 H6 ]! f  l  h
  266. LDA $BB
    ) S1 F% `. o/ q* Y% V* }
  267. PHA
    9 c6 m- p, U  s; E' s" w; m
  268. LDA $BA/ B% N/ ]. Q5 ^. ?
  269. PHA
    4 @0 y1 |* k" v, ?: `8 @
  270. LDA $B9
    5 H8 G  B1 i" T3 d1 v
  271. PHA
    0 a$ u0 T5 F" x& o% p) i& ^- o
  272. LDA $B8
    % y4 a" Y4 L. ^. ~3 j
  273. PHA
    " ]3 _/ {. G6 \
  274. LDA #$006 L7 D: a8 ^# Z* V; W
  275. STA $B8( G7 ?. T. d0 V* B) Z6 U& V0 g
  276. STA $B91 g" v* z) E/ ^
  277. STA $BA
    ; Z. X$ a) b- |0 C# f, e
  278. STA $BB
    # f% H* v4 ^6 Q& R
  279. STA $BC
    / A3 {, N  g% n/ v7 k4 p
  280. STA $BD
    / S7 W0 j/ [$ N* r$ n; Z8 M$ \, F
  281. STA $2001
    " m# O$ X9 o/ b7 V9 U  F
  282. LDX #$00
    + x# p1 S+ i1 V
  283. LDY #$00
    , n! q% o0 s3 T$ g
  284. LDA #$00, A$ n$ A+ D$ M" [( o" ?
  285. STA $BA
    ) e" |) g" g" z; j- m0 D8 @
  286. LDA #$20, `  r8 I7 a! {; R
  287. STA $BB% L6 {- X8 Q9 L; Q( E

  288. : z/ Y5 o' Z! b+ G7 Q- G
  289. CL1:6 _* W7 a' T; T) M' ~
  290. LDA $BB
    2 u) n2 M9 _6 A% Z
  291. CMP #$28* V8 z  @' k4 t/ R/ F' w
  292. BNE CL2
    7 X. q4 G0 [& N
  293. LDA $BA
    2 R* g! g5 I* H
  294. CMP #$009 h, {: W1 S6 K4 S' K4 T4 L
  295. BEQ FREEWRIYE+ m4 t) a8 y+ h7 A
  296. 1 ~! e2 _& z2 C* C9 g6 i
  297. CL2:8 \- u8 V2 H6 a. Q! ^, y
  298. LDA $BB) t' a# k. U9 p. d: I
  299. STA $2006
    0 O3 H( i% Q- U1 x
  300. LDA $BA
    : g  _. ~" ?  B& d) N
  301. STA $2006
    * D4 f% u' S( l7 r# |

  302. - l5 q/ z4 O5 }0 u( Z  ^) q. E
  303. CL3:4 T' q9 J& [8 A5 Y. k
  304. LDA #$006 M. o* S: B& Q* s3 g6 L% |1 ~3 v9 F
  305. STA $2007
    ; ^) W1 F4 m. t5 |; u5 u

  306. 1 {; w1 Q4 ]& @4 F! C2 w
  307. CL4:
    & g3 m: ~8 ^. O) ~  |
  308. LDA #$005 F# h1 W4 [/ m; _; j
  309. STA $2000& l, ^; r! F. S( l0 `  V3 a
  310. INX8 Q' M9 ~" D, ]  {  d* C  ?. P
  311. INC $BA0 I2 ~: X( r. A8 y) E  |! c
  312. CPX #$00) @: ?. f; c0 J
  313. BNE CL1
    3 B0 S7 O) r. X
  314. INC $BB8 q" a% }) H9 h2 u4 u+ @
  315. JMP CL1 " e/ ]7 |& A  n

  316. $ a. }. k$ x; l% p  j! p
  317. ( {! h2 z6 J8 F' o  r. @2 Q  [
  318. FREEWRIYE:
    * e( S- B& ]  G. A, B1 a- Q$ ?+ L
  319. 3 ^: U; E; G$ ]
  320. NOP
    $ t( [. {3 _6 O6 D3 N  W* @

  321. ; ^6 T+ v+ b2 `: D+ P# e

  322. , F3 W7 H; h6 Z
  323. 7 l0 B$ h. ]& \$ q8 i( ~7 a. r  h1 w

  324. " A" b$ g/ a8 N9 _5 N

  325. 0 R" f9 ~/ M" A6 |
  326. CLEANF:                ; 恢复现场
    3 g0 d1 m' e6 `/ D! S, L7 d8 ]
  327. ) h2 M2 P# a& l7 M# w
  328. PLA
    7 o4 l6 l2 J5 y1 Y
  329. STA $B82 R/ M- s8 f& B% Z% T: a. I0 M8 {
  330. PLA
    8 c! u6 y# Z( H9 w+ Y; E
  331. STA $B9+ i. W9 D. W' m3 u1 T
  332. PLA
    9 b; H. U# {! d: d$ r5 X
  333. STA $BA
    ! @' N! j; Z8 {1 `: a2 y1 i
  334. PLA6 O0 d. `* M/ g! u( i
  335. STA $BB
    6 ^- U& q+ r' ~1 o& l. ?
  336. PLA7 F7 z, ?( `( Y( o( y* z( ^$ c
  337. STA $BC
    ' @' u8 n% P5 t( {0 |4 E& i& K
  338. PLA
    ' U6 [2 L2 ?% ]5 V; X4 m' |
  339. STA $BD
    ' F( H  b6 t0 W" p* g
  340. CLRF:, l0 A5 E7 F9 G9 w- p
  341. JSR FREE_PPU2 q. p+ _5 n( U' @8 U2 F0 J
  342. RTS
    0 c, ^, w, @( J+ L
  343. - G9 O3 C3 h; H5 {2 n; l
  344. - ~* f7 ^4 n' V, K6 V6 |6 D7 W
  345. PPUWRITE:    ;PPU写回; A- e9 ?' t# y: t  ^
  346. PLA4 {6 \$ O& k& }' k( ~
  347. TAY
    1 T  E/ L( e9 c  X( D% i
  348. PLA
    ( J' i! L% z1 V! b
  349. TAX
    : Z( R: O( B- `; v! b  {4 r
  350. PLA/ c" k$ b( k" b/ k: Z$ J
  351. LDA $25
    $ J. P, G8 H2 X  T/ ^6 [8 K4 I
  352. CMP #$00  M% V% _4 ?; H& Q# q
  353. BEQ WP18 e4 |. j" t! j7 s. B6 Y, W
  354. LDA $25" g" L6 z% i2 @' u7 C8 [
  355. CMP #$012 I7 a1 r1 p6 B! t1 o$ i
  356. BNE WRE
    + ^& R0 p& i) ^$ ]- ?( T. v# r
  357. LDA $F5,X0 Y8 R  I0 I: f! r( g
  358. AND #$EF
      y1 n% w9 g& y" [
  359. BEQ WRE" C* r$ |1 f) g5 g
  360. LDA #$000 s9 @5 L. Q6 s
  361. STA $7FA02 X3 y% ^6 z, m" R1 [5 T
  362. # f$ Y% x$ k! q! ^7 o; I7 B
  363. WRE:
    9 h7 _  v! A8 V7 U* [
  364. RTS
    1 j7 i' T- E* N
  365. 6 W3 Y) `/ p* I% g  ]1 {( T
  366. WP1:
    / x4 K# a4 O" F# a
  367. LDA $7FFF& t9 c2 {0 C- l6 g0 \
  368. CMP #$FF
    ; n& W. Y: d7 J, A6 j; h/ s
  369. BNE WRE3 N  n8 t9 M& ]# B2 Q% W) v
  370. LDA #$00! O# c2 M4 [3 I: i
  371. STA $2001
    ! O& d2 o, N4 E: ]/ A
  372. LDA $BD
    , n8 p( Q. J6 `* s  i
  373. PHA
    8 n& [' T5 E, D$ t
  374. LDA $BC
    4 G+ R  |) q  A6 v4 r
  375. PHA
    4 `$ @/ v. ~' q+ X7 _/ \9 x' z
  376. LDA $BB
    ( u9 J) b  g0 r8 E/ @
  377. PHA  \1 I9 j6 I# w3 G- H' Z. ~6 R
  378. LDA $BA* i. x+ ^. g' q! x
  379. PHA# j) \5 J9 j, j
  380. LDA $B9- U4 y. E# C) c8 S
  381. PHA. K( y- A2 H# b; C" {* _( _
  382. LDA $B8" l0 D% B1 j" p" o. V* N
  383. PHA+ {3 i0 s) F/ X4 y
  384. LDA #$00" V) w/ c9 g( `# O! l
  385. STA $B8
    + U6 e: p' z1 s% c2 r% T# I
  386. STA $B9
    . [; Q( `: W& g- b. X: Y
  387. STA $BA
    : [2 N$ j7 m5 u' W5 C6 v* e
  388. STA $BB& h) ]. F' P, }/ ^' S
  389. STA $BC4 X" V' |  T$ l! O# \1 @* m4 Z7 R
  390. STA $BD
    8 b) i8 ~2 S6 Q7 ~
  391. LDA #$00
    9 B7 e2 E( ~- r% w8 a" ]
  392. STA $7FFF
    ' J9 j% O8 c# H

  393. 5 E- B$ ~8 z! A4 h+ p1 V6 `
  394. WL0:6 t3 u* E+ E7 |$ G- P1 s4 Y" q
  395. LDX #$00
    " c7 h$ C" n3 D- y% s8 v, b
  396. LDY #$00) z# u2 L" Q  U( }$ K; g  j# ]  @
  397. LDA #$00
    - A; E! y0 O! t3 Q+ l5 _
  398. STA $BA
    0 n# D& c7 m0 u' D& P  [7 J  p5 K
  399. LDA #$20
    7 u; s+ Z; _0 a1 Z: ?: {
  400. STA $BB
    ! u5 d! d) m+ t2 u9 {: R* |
  401. LDA #$00
    8 x- i& Z) s9 J0 G* \" S# l9 w* Z
  402. STA $BC
    / b& [, z3 r0 l, B+ D- i
  403. LDA #$60
    1 f( \  W. ^8 q
  404. STA $BD) i0 h. I# o. z% B- T+ G" B
  405.   V. _; C; v' m6 e. v9 K
  406. WL1:4 t& s" t; M0 j9 u, S/ O
  407. LDA $BD
    - V4 c/ r- o3 ?( Q9 y: B' V2 G' r
  408. CMP #$68! {- W* W% j. g  b
  409. BNE WL2
    ! x$ C+ r- I6 E4 X, H2 `
  410. LDA $BC
    $ W0 i4 d; b* ^. G
  411. CMP #$00& B1 ~* y+ V1 y# v  n+ R
  412. BEQ WLR7 W/ d0 n3 _2 _1 Q8 D. T
  413. / v( U  K8 w" q# ~: A* C
  414. WL2:
    & o  A% m, u3 l- j" E  m
  415. LDA $BD* O( P. ~* G4 g
  416. STA $2006# Q. H" T1 i* L. E# B; z' Z/ Y! F) p
  417. LDA $BC$ J" W; r& s# N4 p% o
  418. STA $2006- d9 k& i" a3 ?8 i! A

  419. 3 P7 \# V1 O5 A0 {' f+ _
  420. WL3:
    9 D6 x- [! Y: C9 X  k. T
  421. LDA ($BC),Y$ z; x! X* D" X* _: X* \1 z  h( Q
  422. STA $2007' q) J  G6 ^: x8 p0 G0 v
  423. ' q3 J$ j3 ^* b
  424. WL4:
    5 H$ E9 s; j( j$ m+ K2 v
  425. LDA #$00
    ( y: g: J/ J. V8 @
  426. STA $2000
    ! z2 R* K% ?- a! Z( H
  427. INX3 l- J" H! F/ ?
  428. INC $BA
    ! H- z  }$ }" i
  429. INC $BC
    % t( I0 E) x# o) ]1 Z8 q
  430. CPX #$00; F& M6 Q4 X. q* x9 H/ |% l
  431. BNE WL1
    7 g% b1 W- d8 U" {0 z, r1 ]" A% A1 T4 T
  432. INC $BB
    1 q3 Y" K0 @# |/ o7 y2 U) C" O
  433. INC $BD
    . E  `+ x3 ^& v$ Y2 N+ A0 m
  434. JMP WL1
    + u% Z8 t/ f- Z) m! k
  435. # b* @2 @& b; @  ]+ A
  436. WLR:
    3 `- v# l) Q7 E! R# t
  437. LDX #$00" l5 F3 M6 [4 n  p% k
  438. COPY_7F00_7F3F:
    2 J# B7 t) W# }, u1 G
  439. LDA $7F00,X: q5 v, n$ V! j% y( y. a
  440. STA $07C0,X+ P" ]: p" t6 u. o2 J4 {/ ]- O
  441. INX1 u7 x. b  y. v( Y0 d4 y
  442. CPX #$407 I  c+ P) s# L" J
  443. BCC COPY_7F00_7F3F: e; ~+ P8 M: U9 U
  444. & i. G( N: q, F2 E% B
  445. LDX #$00
      H; j' U0 K' l& W; c% c8 O
  446. LDA #$3F  J% Q* E8 I8 O$ `" o
  447. STA $2006. ^6 x3 G, {) l
  448. LDA #$00' }( w. \) |% E
  449. STA $2006
    * P. E6 R. k. J
  450. COPY_7F00_7F10:
    1 e0 u1 D% I7 l' B* H4 u2 l
  451. LDA $7C0,X
    3 m* k4 r/ j  N# p
  452. STA $2007
    9 E4 T3 y! z  t4 U8 v2 l
  453. INX7 @  k1 s! j; V- l  g& v5 Y
  454. CPX #$10
    5 V- ?, H5 X. ]9 m9 n& f4 l
  455. BCC COPY_7F00_7F10
    * W2 x3 N, g% l& n# N* \2 B  R2 w

  456. % H  ~* \# x/ X6 S
  457. LDA $20026 k4 \. \, Z* M" W" E: P
  458. LDA $FD+ d; q" O  F$ M% m9 X  L
  459. STA $2005' {( j4 k9 z& T
  460. LDA $FC) E5 y% C8 O, ^0 \* M5 e7 J
  461. STA $2005
    9 G5 P: a7 e4 A# A% G# {" \% M
  462. 2 ~) Q, Y8 y( q+ @4 r
  463. LDA $7F50
    " ^+ ~* V2 f. P' s: {9 `# m9 R
  464. STA $FE
    1 J& ~7 S2 G) r, Z+ H  D7 a
  465. LDA #$00
    ! i+ x/ i, p8 H, x* |+ S0 k3 J
  466. STA $2000
    , b- l3 y, \& q! u4 t3 Q8 `$ Q
  467. PLA$ y8 Z1 }# y: ]& @7 l
  468. STA $B8
    0 B" y" z0 x4 B( E) q% ?
  469. PLA, H, \0 B2 I- q: H& W# m5 e$ W
  470. STA $B9
    , l9 Q: T( P8 x- J* h
  471. PLA
    / _, z" y+ p* j/ W) L% ~7 {
  472. STA $BA
    ! ~* a8 q" A6 W; p: z2 {
  473. PLA& f4 Y* L! A% `* U7 _, B
  474. STA $BB! i( z3 R8 i; q' \/ h
  475. PLA
    ; K# o4 C% c3 E% F7 \- O
  476. STA $BC
    ( ~, k2 ^/ ]+ F' C9 c; P( W; u, \
  477. PLA; W% \7 h( @5 a( I- @( x/ T+ }
  478. STA $BD- u3 l: g9 a. c

  479. ' D5 D& X9 G) q- q
  480. RTS
    0 z' Z6 N9 ^+ ?- H

  481. 6 w$ {8 ^' U* r% `% d; m  d
  482. PPU_CMP:" x2 p. x& X0 g' ]

  483. 3 e+ R5 x$ {/ S, I, x* J. @
  484. 4 b& V+ I2 e' u" g% N
  485. PPURE:& p7 |& Y7 Z8 m
  486. RTS3 @; l; e& F" F. m% f; _) e) [" \. X& A

  487. 7 D9 ^. [. l, L$ z8 h

  488. 3 v4 R. ?3 c6 q. o- z
  489. FREE_PPU:$ T% e6 n3 F% s/ I) u  h5 Y

  490. 4 |" z2 G, W  s' ~  j' @% c7 D
  491. JSR TEXT01_PPU
    1 O/ T4 p) M# ?: P
  492. JSR $CBC0! s2 _! c  a& Y( \/ b( y0 |+ v& S2 v
  493. JSR P1_PPU, A2 A8 B+ d* v0 B$ A. j
  494. JSR P2_PPU
    9 d4 m6 o- P" {( c5 s, v7 y6 i
  495. RTS/ w" u/ v* ~! Y  d: y/ R

  496. 6 c4 N! `1 u) ?2 C
  497. TEXT01_ADDR:
    ; x4 A# W$ O+ D. \6 [) s5 ~
  498. .BYTE $20,$42) Q* }0 U1 |* k- C5 ~9 M4 H  d
  499. TEXT01_DATA:
    + u  h( x1 E( A4 _* E6 T7 k
  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,CEND0 j9 q% [+ }  ?- E, V3 o
  501. TEXT01_PPU
    7 t2 `! N4 E7 u3 f
  502. LDX #$00
    ' ~  t+ c6 Q# Y1 e
  503. LDA TEXT01_ADDR
    4 `* U- b3 r# g! ~" x
  504. STA $0703
    ) `8 c! O8 i1 X  p" ~; I3 i
  505. INX
    9 ^. P' C6 _% d/ y- H# N
  506. LDA TEXT01_ADDR,X! u7 \: a9 j* z0 ?7 ^+ U6 g
  507. STA $0704, |8 ]4 ~3 G( W
  508. JSR PPU_PROCESS/ N9 K( ~% e/ ?6 |$ T9 _6 I; N
  509. TEXT01_W:
    " Z0 n4 r8 b# A5 e
  510. LDA TEXT01_DATA,X
    7 j9 D' F- \2 ?4 [8 y9 O3 c6 ]
  511. CMP #CEND
    : U9 ^+ {4 x9 R: e1 @! w* B
  512. BEQ TEXT01_START0 b# ^" _% d7 u+ E# b5 K
  513. STA $0705,X
    # y' C0 x3 S% @( h7 F; L3 C! d
  514. INX/ E0 F8 F1 l) M* M+ y
  515. LDA #$00
    6 H% h7 a5 ~5 W) S# f% _4 K4 d4 K
  516. BEQ TEXT01_W! C0 b8 I9 g9 t* p/ z$ j7 F  g! a
  517. TEXT01_START:
    % e4 B- d; V2 ]' A; t; U+ v
  518. JSR PPU_START
    6 l, o& E, @" p4 X1 }% q. C
  519. RTS. r; x) b7 ?$ b7 s$ O0 q8 k. E1 ]0 z

  520. 9 ^  t% d# \; k: I/ B# B
  521. " q$ ]% l( u( h6 Y/ H# J0 ]5 t
  522. COLOR_DATA:
    8 C# `, c6 H5 Z1 E
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    3 H0 |2 y" n$ C3 `/ N7 C- r' c; m: q
  524.   ?1 e; J1 c# B: ^2 D
  525. P1_PPU:' t, Z! I1 o5 T* z) c
  526. JSR PLAYER_01_PPU
    , i" E$ t) x$ K) g
  527. JSR $CBC0$ U  l  h( f" ^6 |' a
  528. JSR RELIFE_P1_PPU3 s) J2 ]: ?# |% w8 _
  529. JSR $CBC0
    8 C) B7 k4 A6 {; t9 Z$ B" E9 n  Y
  530. JSR RELIFE_NUMBER_P1_PPU# Y% K9 B! B& v* `- y& g0 @7 d
  531. JSR $CBC0
    ; C7 L2 E& |, K3 q; |, A( R
  532. JSR WEAPON_P1_PPU% G& t& l2 }) b3 T9 L
  533. JSR $CBC0: u  U7 ~: O3 F, z) z& \) F
  534. JSR BULLETPPU_P1_PPU. n9 ^; ^% A7 o; w; B; M
  535. JSR $CBC0
    - B' c; M  G# g9 f5 ?- n4 }
  536. RTS
    + d1 o8 T4 o2 C0 m4 z) Z
  537. $ d9 i8 |9 T1 e0 g6 Z* \' L- Y4 B2 |
  538. P2_PPU:4 y" L0 z. ~! w1 v( X
  539. JSR PLAYER_02_PPU+ g# T. K0 Y$ c# z( Q+ L9 A
  540. JSR $CBC0
    4 m& T% ?' a" y4 T; {! m/ s
  541. JSR RELIFE_P2_PPU3 C5 Z* [: x( x" I% n) f  j
  542. JSR $CBC0
    . k7 D$ G4 q& ]5 d
  543. JSR RELIFE_NUMBER_P2_PPU! c! Q8 D4 T2 u1 ~7 M% M! |
  544. JSR $CBC0
    3 w# y% ^* T, @
  545. JSR WEAPON_P2_PPU' b8 Y8 a3 _4 B& M) b6 S
  546. JSR $CBC03 _0 F+ H3 w  K% |+ F  j
  547. JSR BULLETPPU_P2_PPU
    / l( Q8 |1 u# C; @& L! R  L$ {
  548. JSR $CBC0
    7 L6 v8 h& ?; g( x
  549. RTS
    0 p3 Y4 _" Q7 m; t7 w6 {7 C- h

  550. # [$ n* t/ Z' p( z

  551. & s+ {) b) ^3 P' x
  552. 4 q* Y; Y' |9 }6 R5 w+ ?/ J0 |
  553. PLAYER_01_ADDR:* H8 i2 @2 K2 o& J+ p
  554. .BYTE $20,$A35 Z% ^- t" T' h6 U4 f+ y
  555. PLAYER_01_DATA:
    & \5 F; Z: l. X, y
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND; c( t6 h! M2 H; o' w3 z4 l- o( r) l! ~
  557. PLAYER_01_PPU:
    : `# |. S& l* h& I$ Z: B$ X3 s, T8 G
  558. LDX #$00
    ( z) g5 ^: ?% R
  559. LDA PLAYER_01_ADDR
    7 A0 w& r) j6 y# a4 T* L
  560. STA $0703
    8 m6 x" u3 _) P2 ]! k' O# U
  561. INX
    6 q( P5 O9 ^, m' o0 r
  562. LDA PLAYER_01_ADDR,X7 ^# M! ~: X: j. M
  563. STA $0704& x$ x" h& z7 e, V
  564. JSR PPU_PROCESS
    0 g9 l# S  f. f# E; ?6 i
  565. PLAYER_01_W:, T. c- k; O3 B3 f* ?
  566. LDA PLAYER_01_DATA,X
      q  Z  F& I$ p8 m
  567. CMP #CEND4 n% k, m- R$ L6 g$ U  K! K2 h
  568. BEQ PLAYER_01_START
    1 p& |- I+ |0 C8 |: q, v
  569. STA $0705,X
    # n5 q: [0 {6 Y& ]9 |3 w3 N* J
  570. INX6 x  R& ~8 t0 a% o% Y. E. G: U2 X
  571. LDA #$007 [5 F0 i: t0 F6 @# A  y4 M
  572. BEQ PLAYER_01_W0 L, p( W# w) }; a
  573. PLAYER_01_START:1 P, ^, {0 }' d# g! V1 h7 q
  574. JSR PPU_START0 E6 H2 z' }0 o
  575. RTS" ?7 [$ Y1 [) z$ ^& a
  576. 7 b. W4 ~; S8 y* `/ p7 N
  577. 7 `+ ]/ ~- ]5 F
  578. RELIFE_P1_ADDR:
    " x) U0 P5 E* |1 F+ z
  579. .BYTE $20,$E3
    + j2 C0 A* A. v& o. J
  580. RELIFE_P1_DATA:+ M4 L& Y  t, C
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    , ]6 @9 ^" F' J! O  O2 l& A
  582. RELIFE_P1_PPU:. K2 x8 m/ |& L8 W1 }. S
  583. LDX #$00
    6 k1 z' H) q9 Z% r
  584. LDA RELIFE_P1_ADDR
    : u, o& Q" s7 n$ B" m6 `
  585. STA $0703
    4 N9 M# R! _/ D6 w0 d
  586. INX- ]$ D1 k+ }. ]  N, u
  587. LDA RELIFE_P1_ADDR,X
    1 ]0 \% \- I- W1 a
  588. STA $0704
    3 N1 A2 u) A$ r4 [9 g4 \5 D
  589. JSR PPU_PROCESS
    $ C! Z/ V, @9 b! h5 n0 E
  590. RELIFE_P1_W:
    ( K+ F; F2 a* a- _- c9 @; O- P
  591. LDA RELIFE_P1_DATA,X
    " D3 e& `4 o4 x/ y' G: A; q. r
  592. CMP #CEND
    , T, G9 P/ F6 F$ j+ I; l# r6 k
  593. BEQ RELIFE_P1_START
    . j& f; n0 I5 h. B3 @$ [
  594. STA $0705,X
    ' Y! W1 |% |' `# l/ r$ F
  595. INX1 D4 r' W0 @4 O5 _6 i7 G" i
  596. LDA #$00  d! o4 o5 I3 Y- D1 P) ]' v! G  M
  597. BEQ RELIFE_P1_W) i+ w% H7 C' }* t8 e
  598. RELIFE_P1_START:9 {3 A, v  {$ I4 p( L& U
  599. JSR PPU_START
      K2 H+ @2 [/ Y) R  p- f# k3 \
  600. RTS
    : v% x% n, S' t- d. J8 {

  601. " k1 g% \9 F; x0 w

  602. * r0 V3 q; i* }; ?6 O0 z" S
  603. RELIFE_NUMBER_P1_ADDR:
    , ^+ L) \0 E; O1 l
  604. .BYTE $20,$EA
    0 ^6 u1 d8 G" n; J7 V% l4 ]: ~
  605. RELIFE_NUMBER_P1_PPU:* y2 C5 s  \  ~& B$ Z4 q! h* \
  606. LDX #$00) j2 g; [% u7 I: \0 i' ^' J$ C
  607. LDA RELIFE_NUMBER_P1_ADDR
    ; N% ]7 d9 e& z# T5 S
  608. STA $0703
    1 v" A4 p6 W7 _: @9 c- [
  609. INX
    0 ~% m+ i9 B6 K- q
  610. LDA RELIFE_NUMBER_P1_ADDR,X, p: z" w* b" L: l
  611. STA $0704: a. Z  }: ?  j+ }
  612. JSR PPU_PROCESS4 N0 v0 t2 [* K) f
  613. LDA $32
    : @' b- b1 I" j+ G4 g
  614. JSR LIFETODEC
    3 l" U# k  W6 p" |' z: |  R% o
  615. RELIFE_NUMBER_P1_W:( h" s) b, `- d! N9 g2 R; {" W( p8 B+ Y. a
  616. LDA $7A03  }! K9 W7 N- l! E
  617. STA $0705
    9 y& h9 o) y, ~" {8 ~) I# S
  618. INC $0705
    ! T4 Z" c, L& H0 e
  619. LDA $7A047 O/ v0 ^# E& s/ d0 ?/ R
  620. STA $0706
    0 J1 o7 p2 I5 \
  621. INC $0706
    - {4 `* \  I+ g
  622. LDA $7A05
    ! d2 q! E) D) V( ]
  623. STA $0707
    4 }+ Q& V: c$ L9 j) S' G
  624. INC $0707
    + y! b, ]6 f% Z) ], Y5 R0 r& @
  625. LDX #$03, ]2 K4 J; P) E# i' l* f
  626. RELIFE_NUMBER_P1_START:4 Q, f( [, @& R2 o
  627. JSR PPU_START
    , C: X5 o# }2 g- m
  628. RTS6 M% p2 K, l% {2 B- k
  629. 3 ]) H$ X5 z( _* b) U& V
  630. WEAPON_P1_ADDR:
    1 T. j1 R$ h' C- N( K
  631. .BYTE $21,$23
    - L8 _0 N) K) I$ d. p: O' ^
  632. WEAPON_P1_DATA:
    # L% g0 @5 K- c" W  ]# @
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    * T1 S- k& V5 V) o; X6 I
  634. WEAPON_P1_PPU:
    7 y4 {) S4 S$ X' U, Q# o. k6 X' p
  635. LDX #$00. }5 ^+ |3 w; |9 w$ W
  636. LDA WEAPON_P1_ADDR; I9 F/ L. W0 M, U( l$ P
  637. STA $0703
    $ _! e/ F; w, z: k3 }' @! K
  638. INX
    7 b0 o! p* }: y4 K  E' W" f
  639. LDA WEAPON_P1_ADDR,X
    4 e: U0 [. B" g0 U' y6 u
  640. STA $07042 V# {+ Q" M1 ]. z& I
  641. JSR PPU_PROCESS
    # _1 K: h8 Q4 H6 B7 O  @3 [, C
  642. WEAPON_P1_W:, y6 Y5 q& W7 e5 H
  643. LDA WEAPON_P1_DATA,X
    / M# Z3 H, K; s, Q  ~1 J3 s3 j
  644. CMP #CEND
    - n' l/ t. X% r& s" z
  645. BEQ WEAPON_P1_START
    2 h* X+ u! L5 c; q3 s) S6 x
  646. STA $0705,X
    : K5 M& ~" S7 E0 N# y. u" w% }
  647. INX/ `: F0 f4 X  ?$ `4 e0 J$ T
  648. LDA #$00" v- {2 g' l# p. b4 O7 R  L
  649. BEQ WEAPON_P1_W
    0 l2 I* I4 V% w- h1 C
  650. WEAPON_P1_START:
    7 c- |1 Z; N7 q6 U9 T, l
  651. JSR PPU_START
    * b  k$ m) ?7 M2 Q) m
  652. RTS2 \1 V+ Y* t; x) f8 U+ v6 R+ V
  653. # l4 N  \" ?: Q& Q9 j. {+ {9 O9 `
  654. BULLET_P1_ADDR:* m7 {7 h7 R4 {& ~# t! u0 H5 O
  655. .BYTE $21,$2A; ?0 q0 F- x: J" ^3 [
  656. BULLET_P1_DATA:
    2 U4 Q& a, w; q8 M
  657. .BYTE $00,$01,$02,$03,$04- {! s& R  p5 b" A2 X) ~, W
  658. BULLET_P1_NAME:5 C4 t) X8 V. {, f- b1 `* T# I( |4 l
  659. .BYTE CN,CM,CF,CS,CL2 o2 j: E6 C, A# E& h0 b# \+ d- w- j/ e
  660. 3 P' u" E4 v  h8 ^$ A/ V/ |
  661. BULLETPPU_P1_PPU:2 r. f) z3 y: \3 Z9 K5 h
  662. LDX #$00: h8 k  q9 a+ ?- k. v1 V5 r" F/ o( u
  663. LDA BULLET_P1_ADDR# @2 j2 O# n# q# H" ]& v* \
  664. STA $0703% ]$ o; t& H: ^; b3 Q! I
  665. INX9 X# ~6 {- X7 L8 \) W2 [
  666. LDA BULLET_P1_ADDR,X
    - A$ G" v( [) E4 e
  667. STA $0704
    6 c# R$ Z* [5 X8 l% ^- H: x% {
  668. JSR PPU_PROCESS1 I& v# Q, Z: C
  669. BULLET_P1_WRITE:
    * N+ @' x, k) T, ]: u3 F6 ~
  670. LDX #$00
    3 r1 m/ ?8 `5 Y7 H6 p
  671. LDA $AA& T5 m, Y' [! N' h4 G
  672. AND #$101 u* z) A8 E( X! Y: C
  673. BEQ C_BULLET_P1
    " f0 M. Y; K! \4 ~
  674. LDA #CS  T7 ?$ D) l8 x# c
  675. STA $0705& {0 _# @! S# _& E. k5 x
  676. BNE B_NAME_P1. Y: i' w4 i, U! o  p% U+ P0 c- A
  677. C_BULLET_P1:
    1 E" H4 o* J3 J5 l) H- D4 U7 w
  678. LDA #CC
    ; Z8 E0 O$ A  X+ x  s* g
  679. STA $0705
    . l7 z8 y" o" S( u7 E, d
  680. B_NAME_P1:' K# C$ ?' I  n! F" i% ?; B) B- B
  681. LDA $AA1 N4 ^! [/ w, P3 O
  682. AND #$0F
    / p5 c5 c8 F. B" z: P1 R; |9 `  K2 l" ^3 q
  683. CMP BULLET_P1_DATA,X
    $ m5 P% _8 v/ z* g3 n
  684. BNE B_NAME_P1_RECMP5 i6 v, U% i/ \; r. _! X
  685. LDA BULLET_P1_NAME,X. z6 `+ }$ `: I( Y0 J" @6 O- R2 F
  686. STA $0706
    3 V( m  K( A& v
  687. B_NAME_P1_RECMP
    8 K6 Q! \" C2 F3 ?1 R5 p4 h' u
  688. INX' ^4 [4 x7 \# R. a3 I1 I, |
  689. CPX #$05
    ; B) ]' @% o+ i# z  X9 s1 c; l; p
  690. BCC B_NAME_P1# J! Y; Y# r, ]5 k6 P" H
  691. LDX #$02
    # {- y( e8 z$ `  t7 D- p
  692. JSR PPU_START
    & f5 j; @' s: C
  693. RTS
    0 p, {5 L% ]2 G
  694. / y5 Q7 P' o& E/ E2 ]

  695. ' i( u8 L. Z! w3 Z% c
  696. PLAYER_02_ADDR:9 E1 i; R( u" N" R- U+ j7 r
  697. .BYTE $20,$B3
    0 M+ G- @* M) f
  698. PLAYER_02_DATA:0 v* ^3 K2 @% X. ^! [' W
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    2 O. v+ ^; s- v) v$ u
  700. PLAYER_02_PPU:
    + {7 p  y, i1 J/ _$ ?
  701. LDX #$00
    ( C' P  G8 _, C% L: ^3 Y8 G! N0 M) Y
  702. LDA PLAYER_02_ADDR
    0 ^0 t; ]0 T  A' _. a1 v9 ^* m
  703. STA $0703
    " V+ j% R3 P2 ]$ _0 w
  704. INX
    3 M; I$ Q' y- p5 v% @- S( ]
  705. LDA PLAYER_02_ADDR,X
      S( L& l; O+ B- S
  706. STA $0704( J0 c. L7 t/ i7 n+ @. t  P! s) D
  707. JSR PPU_PROCESS
    * |5 z/ k' s) E1 w
  708. PLAYER_02_W:
    - ^4 D9 U% \1 s2 ^+ z
  709. LDA PLAYER_02_DATA,X
    3 z: }- r% n* {% R+ {
  710. CMP #CEND1 L( Z, M1 Q0 ?$ i- S, ?
  711. BEQ PLAYER_02_START8 P9 X& E1 `$ ^
  712. STA $0705,X
    ' S; Y* x* Z' X0 ?
  713. INX  {/ ^0 n. P' Q3 A+ t4 S: c
  714. LDA #$00* `  I% T. q. D# ?" P9 Y5 l+ c8 {$ s
  715. BEQ PLAYER_02_W) u) k& T+ m, I& h, Q9 r) `
  716. PLAYER_02_START:' L5 @: T' c' I, |0 o+ i; S% U1 D  i
  717. JSR PPU_START  Q& k4 ~  I$ a! p/ f5 m
  718. RTS
    8 u0 n: A+ [; ?

  719. 8 S' j0 d1 _5 k
  720. ) q" K% B' i) I$ ?$ ]( I* x/ A/ l
  721. RELIFE_P2_ADDR:+ Q3 e0 k0 _( ~( q# @: q1 y
  722. .BYTE $20,$F3! I6 m: q  w* d, a2 |# c4 Y
  723. RELIFE_P2_DATA:$ |- ], t9 T( J* t0 n: Y: a0 o/ D
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    7 ?$ A3 b$ S" p$ r- N/ \
  725. RELIFE_P2_PPU:
    $ R9 }8 [# _2 T! Q0 f% t
  726. LDX #$00
    0 v% W! ]( R0 ?0 \- Q, d1 N0 c1 \- J
  727. LDA RELIFE_P2_ADDR  P% `( }2 H, ]! Q- N4 M
  728. STA $07038 f: h% l/ N( u' `* w; i4 N
  729. INX( U3 l" ~, h. b! [* e
  730. LDA RELIFE_P2_ADDR,X7 J: I; p' b0 k; V: }
  731. STA $0704
    4 k- Q8 ^5 d; K" J
  732. JSR PPU_PROCESS
    ' @" k9 G: J5 f) U
  733. RELIFE_P2_W:
    , g8 l, ^) f% {# t
  734. LDA RELIFE_P2_DATA,X5 Q" W+ \3 }! O1 ~! w5 `6 ~
  735. CMP #CEND
    9 K& L6 l/ ?9 [
  736. BEQ RELIFE_P2_START
    ) _" E" }$ J* G- _+ `: s
  737. STA $0705,X' |8 S3 J3 d( ]% m2 R
  738. INX
    ( e# C* }) {" y/ b0 S  s
  739. LDA #$008 p9 f4 ]! i$ }
  740. BEQ RELIFE_P2_W
    ( V& s* M0 X5 I
  741. RELIFE_P2_START:
    * p! V, m; t9 @5 ]# u
  742. JSR PPU_START
    / F5 _6 B: a% `
  743. RTS6 o+ [! \; [% F
  744. ' B1 ?2 d! n7 |1 x* N6 r
  745. ( m) p: d; F* Z& [+ p) Z
  746. RELIFE_NUMBER_P2_ADDR:7 m! f% P+ u; \- j4 o
  747. .BYTE $20,$FA9 t+ _( f9 X& J# p
  748. RELIFE_NUMBER_P2_PPU:
    0 |( l/ d, a% f  t& [3 h
  749. LDX #$00' g1 [; b3 I9 l+ }* G
  750. LDA RELIFE_NUMBER_P2_ADDR# n% Z8 J5 p5 w5 \
  751. STA $0703+ W+ j9 T0 `1 w- g3 r# a
  752. INX
    % Y  m* l  z1 o( q. K  G1 ~
  753. LDA RELIFE_NUMBER_P2_ADDR,X% W! Z1 F$ i  E8 M' R
  754. STA $0704( P# t, n- ^5 ~: _3 Y, b
  755. JSR PPU_PROCESS
    / ?6 l# C; Z+ w  [5 U8 w7 @6 Y5 \
  756. LDA $33! T1 V1 [% f1 A  O. F
  757. JSR LIFETODEC
    - G. S; u! {1 b# t; |6 T  H9 ^; s
  758. RELIFE_NUMBER_P2_W:1 x  w! S3 L8 k8 O7 m  r; k
  759. LDA $7A03
    - N3 L3 j1 N$ \, [
  760. STA $0705
    3 k1 Q/ B6 m2 D3 l
  761. INC $07059 G5 }2 ^% Z* D/ ~+ s, V6 `
  762. LDA $7A04: v: H! @* S% e7 e' A
  763. STA $0706
    2 v: _5 n$ v0 p" x+ e4 x6 a! T
  764. INC $07062 P3 [3 g: ?( Z7 s
  765. LDA $7A054 s# Q0 k! T1 ~  B+ H+ E7 _1 y
  766. STA $0707, \3 L$ B. V1 F
  767. INC $0707
    5 D% E3 X2 B' j  K3 V* ?
  768. LDX #$036 h6 V, l7 D" K7 m- U, \
  769. RELIFE_NUMBER_P2_START:
    - C7 s6 x0 I# _* E. ?
  770. JSR PPU_START* U+ h  I1 ?2 J. f: ?
  771. RTS+ {. Z. d6 w' x& h
  772. % n+ @" \8 P0 V7 y
  773. WEAPON_P2_ADDR:0 K* I: t9 F: V5 s- X! ~
  774. .BYTE $21,$33
    8 |  t2 {. K* u. q& h
  775. WEAPON_P2_DATA:$ T/ h5 m" L$ r8 Y) j$ x
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    - R' t1 Z" M. y
  777. WEAPON_P2_PPU:3 ]5 q+ c: C- e9 i" L; e
  778. LDX #$00
    9 u5 g. [6 S  w$ t2 ], R/ L
  779. LDA WEAPON_P2_ADDR
    * ^( f% ]0 N. s% Y" q  \
  780. STA $0703( i) T- g+ \! g
  781. INX* u& c% i' A3 `( q+ Y6 z; ]8 U
  782. LDA WEAPON_P2_ADDR,X: i' A, ?$ Y* q. G  m2 r- q# ?+ \. u
  783. STA $07045 u# h: n7 k4 ?
  784. JSR PPU_PROCESS
    / L* J/ g' S2 g
  785. WEAPON_P2_W:
    & f- L$ D% g$ D$ K" ?! S( q3 z4 q/ R
  786. LDA WEAPON_P2_DATA,X
    , Z  f5 E+ ]3 n- H
  787. CMP #CEND
    4 f! f& b7 L6 D5 v  V3 r/ [4 s
  788. BEQ WEAPON_P2_START* ^. R9 Q# z$ }- b/ b- z
  789. STA $0705,X1 {7 F; ]2 b: @# ]
  790. INX' n# J( t' p+ H: O0 g7 H
  791. LDA #$00* m0 M4 f$ ^# w* R2 j
  792. BEQ WEAPON_P2_W% M% A8 t/ b2 Y$ P1 m: C
  793. WEAPON_P2_START:
    1 L* H, r) j, A- [- O
  794. JSR PPU_START
    : ]. |4 ~) [  _: L3 _
  795. RTS$ @+ ?5 W% [9 s" G& c3 n

  796. 0 z( B8 A) v4 l* [- [1 n5 f
  797. BULLET_P2_ADDR:
    $ w5 j, Y, H. ]  W$ ?% w" x
  798. .BYTE $21,$3A. K: m+ R$ I) n& I6 l0 _+ b
  799. BULLET_P2_DATA:/ H8 l2 Z# ~2 l8 Z8 }$ l7 {5 N
  800. .BYTE $00,$01,$02,$03,$048 t' t' w, v0 |$ T- _- U5 v
  801. BULLET_P2_NAME:; F% ]* t* ]8 H- E* }5 U; Y6 n
  802. .BYTE CN,CM,CF,CS,CL
    ' m6 r( J- B  ]- w3 F

  803. 7 J- c0 e( `/ ^3 d) X# u( C! t, w7 L
  804. BULLETPPU_P2_PPU:% g/ n3 q$ s; U, `
  805. LDX #$00
    . e. I4 z* Z+ `) u/ V2 K! D
  806. LDA BULLET_P2_ADDR1 J* [6 L4 C* B2 [
  807. STA $07038 [# m' ?! Y' C9 s0 c7 D; T
  808. INX
    ! B6 t( \5 I" s' `8 M
  809. LDA BULLET_P2_ADDR,X
    7 c" l. ^, D  Y
  810. STA $0704
    1 ?) O" O. g" h- r1 x+ x
  811. JSR PPU_PROCESS
    7 |& q: ?8 P7 n4 S
  812. BULLET_P2_WRITE:$ G/ a4 k2 u' r5 d4 o
  813. LDX #$007 J; X1 D8 h7 T- e8 W
  814. LDA $AA: z) y, F( Y+ q5 l
  815. AND #$10$ Z0 H# L& @% W# |4 r/ ~! ^
  816. BEQ C_BULLET_P2
    9 ~7 p8 y3 @. l4 r* T' p+ z$ l2 h
  817. LDA #CS/ k2 g) X; h0 B) V- g
  818. STA $07050 C% M2 {4 b6 W( U5 `; I- R
  819. BNE B_NAME_P2& }- Q; L. i3 C7 Q8 ^: W
  820. C_BULLET_P2:
    + U4 D7 j: f% W4 c! G
  821. LDA #CC
    # T. u5 x8 D7 i9 `7 x
  822. STA $0705% M! R' _. f1 Q  M& X: D5 K
  823. B_NAME_P2:
    , D) k" p  }$ J9 O
  824. LDA $AB  D. K* ?( m. f+ A7 d: ?
  825. AND #$0F% P7 B2 H6 u7 ?; q' H( ~
  826. CMP BULLET_P2_DATA,X
    0 }* w. q7 k- v1 Q
  827. BNE B_NAME_P2_RECMP4 W" W9 `$ ]3 Q
  828. LDA BULLET_P2_NAME,X, q1 A3 O2 u- r# f$ H' e
  829. STA $0706
    1 T: e; S6 C  t3 H$ q2 f2 o$ d
  830. B_NAME_P2_RECMP) h6 M& d7 `, C
  831. INX# y0 m7 z5 w* W/ ], m: i: K1 `! F
  832. CPX #$05; V  ]6 j0 [% P; o0 @3 h
  833. BCC B_NAME_P2& A4 j& Q. i/ ^; {/ p8 \
  834. LDX #$02
    , r, G( x9 O5 s4 E9 T8 X' y8 R
  835. JSR PPU_START& k, I3 r+ E9 b- D3 C
  836. RTS
    - i; E# K( s+ b

  837. - e  `9 z# f2 T0 d* v% t, J

  838. 4 o' O! S5 W, l( c

  839. " k' ]$ D) e5 @! q: v. c2 y1 Z( w
  840. * E5 w* O4 t; C
  841. 2 p' Z3 H* }* {' h$ R

  842. 3 H8 P8 }, A$ G! T. V. |) ?; X
  843. LIFETODEC:                ;十进制转换
    7 ]# D1 v5 z% L5 v  }& u
  844. LIFEL1:        ;initialise
    ! s% f* b, L+ q8 o' x' A
  845. STA $7A00        ;$7A00=F3
    / l- N, D4 b; w7 x2 }: {
  846. LDA #$004 ]! D" S5 @6 J8 O& i) t
  847. STA $7A03        ;$7A03=00
    7 H6 m+ S8 a% n- z$ O
  848. STA $7A04        ;$7A04=005 H! v: p$ U; {
  849. STA $7A05        ;$7A05=00
    . N3 Q0 c3 o+ _. t# ?
  850. LIFEL2:        ;copy data $7A00 to 6001) f: f* J' v$ \6 v
  851. LDA $7A00) Z  s/ ]; a+ I8 d# u4 T; B" g
  852. STA $7A013 B9 b0 y9 Y2 ]
  853. 7 O# h( M5 r% R$ |1 a% S5 X" l; ]
  854. LIFEL3:         ;hundred$ q0 C: u3 H$ Q+ ^: A& B% B
  855. LDA $7A01
    7 U  k) l/ C- a
  856. CMP #$646 [8 ~! w1 j2 }; g0 t+ l
  857. BCC LIFEL6                ;$7A01<100 goto L6
    - T  i' C9 e, v
  858. LIFEL4:4 N* [% {8 n& x8 c
  859. LDA $7A015 N+ e! \; e7 `
  860. SEC) [7 m+ X$ ]( E. w9 r
  861. SBC #$64        ;$7A01=$7A01-1004 y5 u* o- q. y
  862. STA $7A01
    - ^# g5 _& s/ u7 G: p& J
  863. INC $7A03        ;hundred++
    6 ?5 h6 R- r1 F4 k
  864. LIFEL5:
    7 K# T, L2 B( D$ R
  865. LDA $7A019 I" y! [5 K' L7 c4 {2 J8 T
  866. CMP #$64
    # S. o' R4 ^# e
  867. BCS LIFEL4                ;$7A01>100 goto L4
    4 X3 ~" P, O# R& j9 @# ^$ E

  868. , V  x0 R  h% e
  869. LIFEL6:        ;decade2 o& n$ p" f2 ?& Y
  870. LDA $7A01
    4 J, G3 _0 f$ z- W" T) W
  871. CMP #$0A  e( d8 N5 k# t7 p
  872. BCC LIFEL9                ;$7A01<10 goto L95 Z3 X) G6 F' L$ p1 M
  873. LIFEL7:       
    , ^$ v' k9 d' e/ i& T" \9 f7 f, x
  874. LDA $7A01: c$ p8 w& o3 r) p" p
  875. SEC
    0 h* B3 q6 U' b
  876. SBC #$0A% u; W* \  [1 `# G% N1 r
  877. STA $7A01        ;$7A01=$7A01-100 J" Q8 q5 A+ \7 N0 L. m5 _) i
  878. INC $7A04        ;decade++  u: U" ~8 ]! j1 r/ T" \
  879. LIFEL8:, h! T4 C: _9 O3 l
  880. LDA $7A01" f8 p7 n! l: [3 [0 b- v
  881. CMP #$0A
    $ W  Q1 }$ K8 V* j+ f
  882. BCS LIFEL7                ;$7A01>10 goto L7
    ; w1 `& O1 W- \
  883. ;unit9 `5 [. }6 F0 I- L4 I/ `9 c- e; X
  884. LIFEL9:& K! w) H9 A$ V# ?3 e" Q
  885. LDA $7A01        ;$7A05=$7A018 V* ]- c$ \4 X: w$ @& _, G
  886. STA $7A05        ;unit, l2 R1 V5 O) @+ p; L: \/ u6 Z
  887. RTS        ;return
    , F$ V+ \% Z' k0 h+ K
  888. : y0 H. i/ w! k# k/ i3 A

  889. ; \6 [) w/ j2 {. ^: u
  890. ! Y! u  _" j$ N) o0 K! B+ T. Y
  891. PPU_PROCESS: ;PPU地址处理程序/ u  e/ S5 {7 i# r2 F6 S& \
  892. LDX #$00
    / J6 |) c5 ?/ O: \
  893. LDA $FF/ X& R4 I" t. v! x- i
  894. AND #$01& r2 Y1 C$ P: k. i/ D9 i
  895. BNE PPU_2400_27C0
    # w  d8 m+ Q! S1 ~6 f3 _
  896. PPU_2000_23C0: ;命名表1
    : E: _: }% q8 \% w7 b0 U' ]( x
  897. LDA $0703/ f5 e# t( D8 k
  898. AND #$FB: H' _( `. [4 q9 O6 G
  899. STA $0703
    # t( c* T$ R3 ^* ?7 I5 s3 e, H
  900. RTS1 k; A; Y1 i5 K$ [( p
  901. PPU_2400_27C0: ;命名表2" A* U$ y7 q* j4 f; I) _3 v
  902. LDA $0703: a7 A+ E! j$ B2 _) N* j9 L
  903. ORA #$04
    " `: C! A9 F4 k9 V7 @
  904. STA $0703! D5 h$ @; z- y  [0 a4 \' |& Q2 |
  905. RTS
    ' I7 P& K  |1 Z# `
  906. , F. F0 a/ I) `3 s7 i2 B4 Z
  907. PPU_START:  ;PPU数据写入
    & }0 a! R( L7 i7 M1 C: k
  908. STA $214 Q0 x# O3 h2 a" B9 w9 U% L& Y
  909. STX $0701
    / N4 O/ a2 U4 n. ^" v$ _
  910. LDA #$007 p5 K5 Y& ^: u( U7 |5 {: m
  911. STA $0705,X5 v& P: x8 p$ _0 G/ m1 p
  912. LDA #$01
    8 a- D: F  j) b9 l7 n$ h! K% x
  913. STA $0700! c+ P5 P6 m- S! K, x' q( p6 O7 k: a" J
  914. STA $07025 o% {0 ~: M7 I# @0 Q8 `
  915. RTS
    - c. C9 R9 |% {1 O" ^  M0 G; D

  916. ( X- T6 h6 X: e3 a) P
  917. 0 I8 ^: q. @( f4 x" c9 P
  918. , Z8 Z. s% w  z# q9 w+ j
  919.   b  K4 y7 E& e: h6 ]/ j# ~
  920. 3 V- c( r. z* n. J6 |

  921. 7 Y( G0 \& B1 I8 u$ o1 R
复制代码
% g. D2 P& c1 p+ y

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!% ?3 W) n" y* x
回复

使用道具 举报

签到天数: 2570 天

[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-8-26 19:04

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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