EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    & ~- E# {* h' u0 p+ K, P9 Y
  2. 作者:FlameCyclone+ T8 A! z' @1 q) C
  3. 时间:2017.2.12
    1 w7 t3 q+ w2 C3 l+ c9 A. k

  4. 8 z( x; |! P3 c, T! l% \3 X+ S
  5. 按键跳转:6 @' k8 _! r+ ]* _) p& T
  6.         C1EF:95 F5 94 F1
    1 ]& R$ K/ Q+ e6 k
  7.         C1EF:20 70 FB EA. l0 ?! q( w3 }" s/ ]0 ~& [

  8. : |* K: [% l. C7 B& x( V6 E
  9. 滚动偏移:
    : L/ D5 T8 J" z* K3 |6 [4 a
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 207 S" U# i$ u- O4 x7 j& j: {% h
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    , {4 w% v/ Z8 I  ^" ~( v* M! \

  12. 9 C" z: v9 j% i
  13. 背景调色板:; G& d+ Q" f3 l, h  @
  14.         CF20:9D C0 07% t! w! _2 u) u2 Q% ~' V
  15.         CF20:20 A0 FB$ z- C& X! v" ~1 |: J, V# z
  16. ; ?4 P; T/ K4 ~3 d2 F
  17. PPU BANK号:
    ' O/ z6 d/ a. u2 T  S" Q4 ?
  18.         C8C9:9D F4 07: y7 `* M3 s+ T1 }' L' s: |
  19.         C8C9:20 B0 FB
    - d1 p& R9 E( k, t: x" e8 t7 j1 R
  20. 7 d6 ^& K, i" E" q- ~, H. T
  21. 按键跳转:4 b( ^6 M: S  A" _
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20% z9 \9 m3 Y  k" d# S9 F
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 205 S+ j3 y5 ~$ E) p8 W$ C
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF; t' c# @6 `3 W; q

  25. 1 y8 A7 C8 u, M+ u/ N9 Z; Z
  26. 背景调色板:
    ' K6 l* V" e' D7 n1 K. D+ N
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    % J* N4 c5 S9 I6 u! m
  28. ) Z1 S* j6 }) C$ q
  29. PPU BANK号:! s6 c  n. n0 Y. P) l, |! J; t
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    0 t! U+ Q3 y0 h( H7 T
  31. ) ~6 h2 G2 H% F+ N- ~6 x
  32. 滚动偏移:
    ) F& \- g- c4 C* S; h& h
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    * e+ d- v! v6 Q9 p7 ?, h8 F
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    - t8 V4 c8 v2 r; c# K4 c
  35. 4 }5 D6 T5 F! V: b

  36. ! [) z- W( U7 v1 e6 }
  37. 切BANK后A000:
    , ~4 n# x7 V3 K$ T
  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
    * T# M% Q5 c3 w, o6 D! |5 d9 i
  39. : _9 Q9 w- b) G& |. |3 _& p
  40. 0 H" }" _! k$ }5 W4 T# i
  41. 6502 simulator:
    : A% X, f! G# q  F
  42. PPU写入程序:6 F  T0 i) n  S
  43. .ORG $A000
    1 f1 M7 k$ P! u+ z( T" B
  44. CSP = $80
    & K9 h& s2 Q5 F
  45. C0 = $81
    3 X: @, |4 \/ p2 ]- t& w
  46. C1 = $827 ^1 U# f3 L( g% Y' g1 O! O
  47. C2 = $83
    ' O/ U/ X6 [9 b& Q* [$ x
  48. C3 = $84) O7 N- f' a$ M/ X) R6 A" H
  49. C4 = $85
    / X, h/ k$ S( G2 }+ r  y
  50. C5 = $86
    5 t/ Z& K* G+ E) ~) q! @# d
  51. C6 = $87! s6 X1 r: Z7 @9 w5 s
  52. C7 = $885 `7 Z* l% v4 H
  53. C8 = $89
    / N& F' ~  D: C' J* G
  54. C9 = $8A. H+ y% H# A& U  Q/ I/ s. _- P
  55. CA = $8B; ^3 L9 O0 m" z
  56. CB = $8C
    1 M" b& D# W. D" T
  57. CC = $8D
    & W# r! P% L  K6 h) c
  58. CD = $8E$ @) Y; N1 J0 ?" t7 w& r& X
  59. CE = $8F& [* B. t" T4 L9 G8 E5 S, Y0 U- v. W
  60. CF = $90
    + k9 k  L) T% W$ d3 ?, [
  61. CG = $91( V, Z' @: F' i& a- ?
  62. CH = $92- z5 ~3 h! [/ c' z& w8 r
  63. CI = $93
    * f8 j2 P) a) H$ x+ M* v4 N# a
  64. CJ = $94+ N0 o9 t! e  V7 J* f  P& }
  65. CK = $958 y! a. q6 [9 Q' @( L5 S
  66. CL = $96
    1 f5 y+ Z7 S5 I& ?: U  ~
  67. CM = $97
    1 }9 E* g+ f& C: b
  68. CN = $98
    3 n: i) U/ `4 j* I8 |% p# B
  69. CO = $99
      W; h( Z% N5 _! }
  70. CP = $9A
    7 _' d2 X8 j+ ]5 B
  71. CQ = $9B5 a! e9 t& t7 ~
  72. CR = $9C5 K# j5 H# }3 I" A5 _4 \$ B
  73. CS = $9D
    / [# I: F6 w& Z( _
  74. CT = $9E
    ( o$ U, m, T4 k- R" s
  75. CU = $9F/ I; R, f% d/ y' d. y2 q
  76. CV = $A0. y( C. I2 m# K/ P: M: E& ^
  77. CW = $A1
    0 O& y+ h7 H" m; R- v6 _3 L. f
  78. CX = $A2
    / f) s" j$ @# }" d  _9 {4 P3 a0 V
  79. CY = $A3+ Q, m5 A4 Z1 C% A$ U  v/ @
  80. CZ = $A4
    + u% z/ e. Z! c( r& k
  81. CEND = $FF! U9 ^2 j% g$ M. p- a
  82. ' g- @! x3 f% `+ Y& [

  83. 2 T5 B3 Z9 p9 l# W8 c
  84. CMP_RE:
    3 ~$ J; T0 ~3 D. k
  85. LDA $FF, f" ?  j+ I3 Y
  86. AND #$7F
    6 ?9 K& i9 k# d$ B0 }
  87. STA $2000
    6 n; [  h" g  n# Q
  88. LDA $2002
    7 K4 v( {( Y+ e/ _) p$ d
  89. LDA $25
      t' y1 Z: p) W/ S& v
  90. CMP #$014 o) T1 j! E7 f
  91. BNE PROREG, x- G/ K9 I& m0 n$ l
  92. LDA $F5,X9 j6 p& G) L7 O2 x# z% `
  93. AND #$CF
    " y) t& p( S0 w" z! u1 e
  94. BEQ PROREG8 }3 o' c' ^* k( _9 Y8 K
  95. JSR PPU_CMP
    ' h; u3 H9 ]% x$ z  q8 I
  96. C_RE:
    $ D% k4 `' E" v' I6 k) g3 ~
  97. RTS
    ' r5 Q. Q7 q0 G% c
  98. PROREG:
    ( d4 D1 Q+ s9 P' d  j+ e5 ^
  99. PHA
    . V- W% @: R; A& r, O2 m
  100. TXA
    & M2 `# \; c; z- |4 K
  101. PHA
    3 h* h. p- d6 Q, Z- s% @# |
  102. TYA
    - W. N! i1 [' o8 f. G, a
  103. PHA, Q- U4 l+ @1 ?- b, B; F
  104. LDA $253 }9 R! ]  {1 @# \9 _9 D
  105. CMP #$01) {" z. e& c0 S- {6 Y( h
  106. BNE RE* o& V% `# f/ C5 I8 A
  107. LDA $010A2 p2 }: L0 [, P" ^$ E4 ?
  108. CMP #$00
    $ R" O  z$ {0 ^) z! w8 Q# |
  109. BEQ P14 g. M  C. w1 A, r( [

  110. * N! A/ L: p& D- R" @$ ]  n
  111. RE:
    - v0 U5 l9 R# E+ @
  112. JMP PPUWRITE, q1 A7 v* W" R

  113. $ m/ @0 O: ]3 `0 K. i
  114. P1:                ; 条件判断4 B( c5 I2 |  d1 Y; }
  115. LDA $7FFF
    1 b& Y7 ?+ \( X( G, H, _/ I6 T
  116. CMP #$FF. u, C" ^- P: ~& W/ }  _! M
  117. BNE P1RP
    ' N# m6 Y! \0 p/ o
  118. LDA $7FA0; ?) X3 `8 v, A4 l
  119. CMP #$000 J4 O. N: \9 \
  120. BNE P1CMP2 \4 m* p0 L) V9 o  A  }4 u
  121. LDA #$FF" e9 ?8 ~1 W& R6 n/ i, q
  122. STA $7FA0* J6 ~  [) a6 K. I* ^
  123. JSR CLEANA4 s8 n1 k& J: b/ B5 U- k% q; {
  124. JMP PPUWRITE
    ; O3 U2 m: t1 p1 k( d4 _9 p1 }
  125. P1CMP:
    , K2 N$ c$ i8 ?* S( a
  126. LDA $7FFF8 Y  }  O0 a1 Z3 e& f
  127. CMP #$00& Q. \5 o( e4 f' h% U0 E
  128. BNE RE2 a! m! X# G; w; G3 o2 U$ ~; ~" _
  129. P1RP:
    , |9 X8 z4 w3 u. b8 W
  130. LDA $20026 }3 ?0 M) k5 }* v
  131. LDA #$00
    ! [- E) m1 C& @# s  T5 s
  132. STA $2001
    5 K8 S3 o/ I9 k' b( P
  133. LDX #$00
    ' _$ h( Y0 P  L& t3 z, U8 b; a8 X
  134. LDA #$FF
    0 N2 x1 e; p' M, P5 N/ W& S
  135. STA $7FFF. d$ d! P& O2 V  k# N) e5 O* }
  136. STA $7FA0
    & ~1 ~# p' ~& w  Z$ A+ X5 i
  137. JSR COPYPPU! }' a4 K8 L* F
  138. PIRP2:- R2 P4 y" Q, [; O) J7 H7 l1 A
  139. JSR CLEANA4 _4 N  }8 M0 L0 \2 O! @. j6 u! C$ Z5 E
  140. JMP PPUWRITE
    . [# Q& w/ M" k

  141. # ~5 b5 S6 ~: g6 ~% e7 r
  142. COPYPPU:
    * p. @" n- c2 R9 C# q& e
  143. LDA $FE
    + ?9 {0 W5 S% K0 {9 K) W
  144. STA $7F50+ B, J7 N) w: Z) S! h; w
  145. LDA #$088 U8 Y/ \5 j& O8 A5 f2 v$ ], r) c
  146. STA $FE
    * t7 {* H( A  `/ Z5 e0 ~
  147. L0:) M1 O4 y, n( ?1 X
  148. LDX #$00: r8 D: K5 K/ I4 o' F; Y
  149. COPY_07C0_07DF:
    3 U5 Y+ A# y( N& }# G% q1 j. i
  150. LDA $07C0,X
    7 }" d' @  b2 k4 e9 G
  151. STA $7F00,X4 ~6 i% B) |% R
  152. INX3 v0 o% ]( v2 W
  153. CPX #$404 m0 X4 f& g1 c/ z
  154. BCC COPY_07C0_07DF' Y) o* ~7 V  R6 U, ~1 F- \8 Z
  155. LDX #$00+ f; z4 H) W# Q  q
  156. PPU_07F4_07F7:
    # J$ y! C6 f+ O6 U" a
  157. LDA #$007 y9 J6 W9 Z; s3 K9 V! C5 j+ ~' t
  158. STA $07F4,X
    ) u6 B* l7 C2 ?! N# V. U6 w9 B* C  ]
  159. INX
    8 v& z1 k& u. y" w8 x: `% }
  160. CPX #$04
    $ h5 e% o* q; M" H: u+ H1 v
  161. BCC PPU_07F4_07F7$ u( a" O2 z( X. m; P
  162. LDX #$004 c: L2 n/ z$ y& g& q
  163. COLOR:
      _, ^- ~6 M1 P6 {6 q
  164. LDA COLOR_DATA,X/ R. ~6 @$ e" r  B- ~/ H: v3 h
  165. STA $07C0,X
    ! H$ ]$ a% I0 H% W
  166. INX0 e: Y; {; L) O  A) K- Y; k
  167. CPX #$10/ `* ^$ k+ z2 `. w) f
  168. BCC COLOR
    9 ?" o2 m! m' u% d% d
  169. 9 M! H  A. j6 ]0 O& B3 s) C
  170. PPU_COLOR:
    2 n" X& S, \2 M$ D6 J' U0 R. i6 Z
  171. LDA #$3F
    8 {6 `8 j) A* w/ c- |
  172. STA $20069 T4 P. D5 A) B- T- V( Y* \  O# u
  173. LDA #$00' }3 L# u5 H% `6 C
  174. STA $2006
    , w- D9 _3 e( y& Y* r: r2 K/ V& I
  175. LDX #$00
    : L3 S& g# C# \
  176. PPU_COLOR_W:
    + L+ B* _: X6 _7 E: J) y
  177. LDA COLOR_DATA,X" W6 y- B: ~% |! O8 e! l  I
  178. STA $2007( f( d# ?, x  f' d6 k
  179. INX
    ' m1 C5 e* M/ j+ g+ b; N# r
  180. CPX #$10
      d+ `1 ~" x" y+ p* R0 j6 O
  181. BCC PPU_COLOR_W2 Q) M; _6 X7 z( e" `
  182. $ _: J! d( t+ P5 F* m8 j
  183.   i+ t6 F3 o0 N4 a1 s% d
  184. LDX #$00/ l1 a, n2 f# h- n
  185. LDY #$00
    2 z6 _3 m6 Q2 q4 L0 ^, u: s  M( g
  186. LDA $BD  _$ O0 |  ?' X( h  F0 f- k! o
  187. PHA
    / h. B# T% d7 b  G5 N. k+ @
  188. LDA $BC& W5 H/ ]; @; r* _: P
  189. PHA3 C, V" v/ C) H. b' v9 ^# ^
  190. LDA $BB
    - J, Y6 \* w( d# ?3 T$ o
  191. PHA) X0 d$ v( j, N$ b2 ?4 O- j2 k, D
  192. LDA $BA
    6 |% [9 l" @" E& s* K! K  ~. {
  193. PHA
    4 W5 E7 A* t4 }+ B: E
  194. LDA $B9
    " ]8 [5 l( W0 _. ^: n7 D
  195. PHA
    $ J9 t2 Q& @, z/ s6 g( H
  196. LDA $B8
    & I/ Y0 _! @+ r; r
  197. PHA
    # C. n+ u$ L, t# m
  198. LDA #$00
    " L2 f. k6 W+ @% V
  199. STA $B8% d( n6 i7 G3 k% L. h0 z+ B3 b+ b
  200. STA $B9
    : o0 N+ X5 R$ e$ G- i$ H
  201. STA $BA6 l! m( w" X* {. \1 N( [: j
  202. STA $BB
    6 U, Z  F8 V2 Y% @/ v7 ]# ~3 B
  203. STA $BC
    ; z6 V/ n7 P+ [/ x
  204. STA $BD. R" D) Y; T  A9 v1 `' c
  205. LDA #$00
    ' t" g) {: t& I, d% T' X
  206. STA $BA- B! {" V/ |# f8 y( o8 c- O; |
  207. LDA #$20  B7 d' o. o8 }1 `
  208. STA $BB8 @5 K# O; t6 ]% v
  209. LDA #$00$ `: F4 ^( M$ ]: \
  210. STA $BC6 w/ i( M; Q9 w, Q
  211. LDA #$60
    2 v1 y3 t, Y& q
  212. STA $BD
    2 L6 A: r& R4 P. p3 d

  213. ! d) |+ D5 ?1 s$ Y4 m
  214. L1:                ; PPU复制& o, b4 A4 S. `" d
  215. LDA $BB. `, t$ s' ]' ?+ O# b% R" F
  216. CMP #$28
    ( G, |5 {& ^' V. y6 l
  217. BNE L2
    ; I! M$ j# D; {: p/ C; e
  218. LDA $BA
    4 M7 F1 q! V- P( V8 z4 E' l8 ^
  219. CMP #$00# ~4 \% Y- z; h% v
  220. BEQ PROADPLA
    , M' E& O" E: ]5 e% S- X
  221. " y% F+ n, W' P. }: C0 e
  222. L2:  z6 S/ k8 n9 S+ {1 j  F
  223. LDA $BB
    % v) ]6 M& B/ u3 j3 i
  224. STA $20068 [- Y  q1 p4 e8 Z! q) _
  225. LDA $BA
    , N- z* b3 D, R& y: G) n
  226. STA $2006
    # B& l2 @. W' r( F8 C6 O$ u4 [

  227. 2 w- ?8 m8 J3 E
  228. L3:
    ( ]/ e0 I/ k3 A
  229. LDA $20070 ^9 ^) K: t5 N( B
  230. LDA $20079 G$ A$ z2 v: E7 s- ^4 f
  231. STA ($BC),Y
    5 c/ W: {* k7 ^# ^
  232. , U3 Z7 |6 c) v$ Q
  233. L4:( s  \! w& e( `& r
  234. LDA #$007 f6 f9 S2 [) g' u) t# J' r
  235. STA $2000
    1 K: u* w& t) I6 S" M
  236. INX
    1 l8 S. v( A/ l3 |+ ~7 A  a# }( r
  237. INC $BA
    ( o$ z3 A+ k# C# w( d" i
  238. INC $BC
    ( F" D3 q6 N$ y
  239. CPX #$00) y) L3 e. B9 f, r$ G9 h0 v
  240. BNE L1
    ( i3 |1 o8 G* X
  241. INC $BB
    6 g* ~1 q  o' }% r3 _
  242. INC $BD
    7 l# S3 E! f4 ?! b: t" L* G, x& t
  243. JMP L1* ?' N$ P  _. f1 \

  244. 9 W9 v- [" Z% Y
  245. PROADPLA:                ;出栈, t' b# _5 w- l+ ~# l# x( [
  246. PLA
      h4 k3 q" j5 B
  247. STA $B84 G, T! M6 a7 A* T
  248. PLA
    9 @: P  r) ^  u& ?+ ~" P& x
  249. STA $B9
    5 g  c" F4 x3 p1 }( M
  250. PLA. _; g. c+ g. Q$ }
  251. STA $BA
    2 n  l, A9 K8 @2 n
  252. PLA
    4 C7 |5 s2 M- S; n7 x8 c
  253. STA $BB
    & j0 ]0 K% K9 {  q6 ^# _
  254. PLA
    + @% P5 S  z; T  j' n3 O
  255. STA $BC2 y1 n( C; {+ _! ?
  256. PLA
    ( f. P9 ~6 P, q  g5 y5 ?
  257. STA $BD
    $ M) A" O2 ]4 I, p5 ?
  258. CPRE:, C( \, `" c' |* Z/ q
  259. RTS
    # H9 g6 t& v  o3 ~

  260.   x/ J/ F5 b0 L; T% _1 N( u
  261. CLEANA:                ; PPU清空6 W; ^" h; Q; D1 D1 x
  262. LDA $BD
    ) j( T3 i  K; `0 j" |7 I$ D$ N0 M: h
  263. PHA
    * R% l7 [) \% Y# Z, o
  264. LDA $BC" }) u6 R9 K& U
  265. PHA
      E; f1 l9 K3 n
  266. LDA $BB
    4 P& c$ L1 E$ [$ i/ i9 D1 ^
  267. PHA
    * ^4 Y% z7 P. u
  268. LDA $BA8 b4 C8 y& X; V% V" @4 I
  269. PHA
    % [% X3 \8 [! U6 b& K& ]+ s
  270. LDA $B9
    5 ?% C4 ?- @0 l: C$ c" O2 [) [
  271. PHA
    2 R/ t3 x% f, h) p. M8 d) W8 L
  272. LDA $B8- y& I% G8 G: T* I. u1 \0 x, i7 B
  273. PHA9 d8 K9 r3 w+ @" }5 u5 j
  274. LDA #$007 M! z  K0 c! Y, |' B  D
  275. STA $B8
    4 \  P5 M  ^6 T5 A
  276. STA $B9
    $ T  W5 i4 N3 P8 L* }+ R
  277. STA $BA
    6 Y/ r: A) z6 ~& A0 j
  278. STA $BB
    / }+ X3 o8 N8 {9 I0 a+ T
  279. STA $BC: }% e( q) L) m' D
  280. STA $BD2 x5 d5 p6 T/ \5 v
  281. STA $2001
    " |; E3 i" e. @9 b5 n
  282. LDX #$00
    ; ~6 V; b( q$ E+ B& O
  283. LDY #$00
    9 O; u$ B: N& L$ ^
  284. LDA #$00, q/ b4 s1 I; D8 A2 I
  285. STA $BA
    . Z2 {% m( O5 d; Z
  286. LDA #$20& E' _8 P( J# I# X
  287. STA $BB  N+ c6 C; _1 T  K

  288. $ T7 A: U% S6 z0 F, A0 j/ H
  289. CL1:
    ( K$ E! a6 _% V4 C, E0 O2 f
  290. LDA $BB2 T5 b" [' J* {4 c. g. G3 e
  291. CMP #$28" v  s; I/ T) L: y$ c( Q
  292. BNE CL2. ]% W9 `& I# P/ Y
  293. LDA $BA
    7 g, q- O+ _( m, p2 L
  294. CMP #$00  L  K2 o6 G9 E  F- B+ V, m4 R; Y
  295. BEQ FREEWRIYE- L0 ^$ U, y+ j5 J2 L! t( [6 M6 L3 K

  296. ' k1 C- l8 V; }( J7 H* U3 d, a
  297. CL2:2 v* z  |6 c- B7 S$ y3 f, D
  298. LDA $BB
    & ~& P6 m/ E: ^, F$ u
  299. STA $2006
    ) Z" p$ n$ _7 b5 g5 M$ h
  300. LDA $BA( Q3 ?# I2 a& g
  301. STA $2006: T( G7 Q. [" J) D8 \) v! C$ {

  302. 4 }; S$ K+ y8 b5 w% c
  303. CL3:
    # h: M3 d/ P' c; _5 q% j# ]# b6 Y* e, T
  304. LDA #$00
    2 {2 P  R' M; w, e" W$ m; S5 n
  305. STA $20074 |3 e; F9 d. T# Q" Y4 G
  306. 3 ]( s% K9 v4 ?. H) s; ^
  307. CL4:/ b* s! q* {" ~. ?
  308. LDA #$008 M$ N1 w5 K3 U  u# A8 R& ?/ [; n
  309. STA $2000
    0 }* B" o/ Z* w4 |
  310. INX
    * K' G/ x* D2 q+ w  `3 v
  311. INC $BA! y+ d! z/ p' e- q4 ]
  312. CPX #$00& ?' D& t7 x1 |# R, w5 y4 M  G
  313. BNE CL1& e! |6 P: V2 H" y' w. _
  314. INC $BB
    , E" L8 K" K1 f" s" }( }
  315. JMP CL1
    , L3 `) r* n9 Y/ q' _; T
  316. 2 ]- ^: J# u5 t) N4 T/ g

  317. : c. [$ n- H* H$ {6 ~' b) p4 h
  318. FREEWRIYE:- o  t/ }  _! \/ e( W8 ]$ E- z
  319. 5 _, }" k# o- [: i7 `/ N) |
  320. NOP  l2 a) c# i) |- v/ [, D

  321. $ z4 P, @* X. A; W  {
  322.   W1 _7 \1 S% Z9 r( i2 {8 z( t

  323. / z& W9 h$ U4 ~* }
  324. - b, j5 X2 z( m' ~1 r$ _" f9 O% J

  325. * Z  n! u/ V2 r5 P8 {0 h
  326. CLEANF:                ; 恢复现场
    ! |3 e; F: o2 J# w7 W

  327. # P+ F' X! g2 e( ?$ D' l5 G
  328. PLA# }, [+ M9 Q! H/ o/ V3 {# G
  329. STA $B8! r  b# _/ _! m
  330. PLA
    * Y5 `* y* s# N4 O) \; d; y
  331. STA $B91 h& Q( O' C. Z! L! e
  332. PLA+ N+ ^% U! C$ ]# M% e* ~- q+ F$ p
  333. STA $BA* F% y' E1 T+ @) c
  334. PLA
    * D# ]) |* ]) A
  335. STA $BB/ [& O# c, D  ~$ O5 x2 g
  336. PLA9 B% F  F% h; P- u  l; J: M" I
  337. STA $BC( L" N4 U3 V& |6 H: U6 o$ m
  338. PLA
    $ z) p8 I/ T9 p, e8 B; K  \) j
  339. STA $BD( v7 J! b. V/ {8 f
  340. CLRF:3 L* E" Y; u; A/ A! n, W
  341. JSR FREE_PPU
    8 j. P4 a: X+ m9 A. |
  342. RTS+ o; J- D% U" X+ I. Y- _
  343. 9 L) P, P/ e& A% b6 L. S

  344. + l& I$ e% Y+ \6 k1 s
  345. PPUWRITE:    ;PPU写回$ _$ v9 ~: i8 j3 y% W5 _
  346. PLA
    * ~! l- r+ F/ N7 d  z
  347. TAY3 R3 r# c/ j: Q, Z
  348. PLA7 Y: n% {' k& s; Z3 r* `
  349. TAX0 e5 m, o6 J7 y, u- P
  350. PLA1 q" D5 Q7 b8 _0 \
  351. LDA $25  [* l7 z! O9 M5 D0 ^
  352. CMP #$00
    + l" H6 H# t( b# }
  353. BEQ WP1& u1 U, [9 H# I' V7 J1 D
  354. LDA $250 n' b% w# _, n) z# e
  355. CMP #$011 R) s3 i3 [- p4 P- m
  356. BNE WRE2 J" D+ q$ a; E
  357. LDA $F5,X
    " N2 p2 q! X; z5 x% b
  358. AND #$EF
    : H. _# \9 @- A2 N( V5 K1 b
  359. BEQ WRE
    1 y- P: K% A; z( Q6 ^8 z5 g& i
  360. LDA #$00$ ^' _/ M# g0 j
  361. STA $7FA0' L& ~# U8 P# a) n2 D

  362. ! Q: _9 @, s) z: z( [+ f+ Q
  363. WRE:
    : @. w7 O, K; N; _  {+ C
  364. RTS
    9 M) L" f/ X$ B
  365. + ]9 F! J8 U  ]
  366. WP1:
    - ?/ L9 l9 S6 y, S
  367. LDA $7FFF& G$ |1 Q! S5 l. \# I. q
  368. CMP #$FF
    + a! [7 _: U" S7 J  a3 |; F, o
  369. BNE WRE
    % J4 ]/ L8 G8 f, q
  370. LDA #$00, s) z  G3 M1 T7 L% m5 s
  371. STA $2001  R- N" \* K) T0 k( N
  372. LDA $BD
    1 p5 I% |: W8 `. V
  373. PHA6 Y5 M; u0 }3 t) x8 _5 o
  374. LDA $BC
    ! `9 d0 J- j- C0 y* U0 [) o
  375. PHA" O3 ~9 s  L3 }2 H5 i  V, v& f
  376. LDA $BB+ c3 D3 a1 m% V% Z. b2 S; @
  377. PHA
    % F: O: }1 a& A2 f: ]& H
  378. LDA $BA
      F$ K5 }6 [% [& Q' X4 R% i' n1 P
  379. PHA5 e. |/ y3 P: P+ z
  380. LDA $B94 U9 Z% k9 W5 p6 T7 E4 k! Y8 K8 E
  381. PHA
    0 n, G: c6 i: p1 m& o% Q+ |0 l
  382. LDA $B8% Q/ x3 E7 D, o. ?5 t# H8 u
  383. PHA5 {# G7 |! v0 p: s
  384. LDA #$00
    6 ~5 k, H  {2 }( `2 X: Z
  385. STA $B8
      y) I; G, G+ I4 w3 v3 e
  386. STA $B93 }& v9 y/ V! J8 `4 H7 u
  387. STA $BA
    + b! o: W6 j( f5 w
  388. STA $BB
    2 q& }, R  v) Y
  389. STA $BC' ?, G# Z1 G$ l1 z1 D
  390. STA $BD
    $ X4 ]0 |' k( ^) t* y* H
  391. LDA #$00
    1 p4 c9 L2 k4 q, E  I
  392. STA $7FFF
    ! t/ ?( n( s8 B$ C$ G- k1 I
  393. ( p3 y' m# j9 s3 t, n+ D. Q4 ]
  394. WL0:3 q+ A! \% u5 e) |2 }& m6 J
  395. LDX #$00
    3 C* q* j* G2 m' X5 a# ?- P8 N/ j
  396. LDY #$00' U( g/ O# P  n' B6 T
  397. LDA #$00: q6 r2 X& H: ]! B( V; }
  398. STA $BA
    8 g" B& E% Q) c% K- i- w
  399. LDA #$205 M' K6 z# E+ C$ b6 T: o
  400. STA $BB
    3 |- ]/ {, J$ ]/ e7 l' g
  401. LDA #$00
    " z5 n6 a( N, F4 r
  402. STA $BC: I  D6 `& @% i: Z' l& }6 t
  403. LDA #$60
    . l( ?7 u0 r: A' N9 ^
  404. STA $BD
    . o+ P7 E3 z: D' r

  405. / \4 Z$ T8 L' W' K
  406. WL1:
    4 ?/ v0 ^) T. A9 }
  407. LDA $BD' V; \2 `7 S9 F' c" r- s1 l
  408. CMP #$689 V& S9 _9 F8 ?9 f8 `
  409. BNE WL2; G0 ~# E$ J9 L' R, {
  410. LDA $BC* b' x9 N  K9 ~% `4 j- o2 I5 ~, M
  411. CMP #$00
    % J7 P" I7 i2 p' Q- }' b! G8 I% Y
  412. BEQ WLR
    ; h  T7 e+ X: N. }9 j' U! @

  413. & b- j2 y6 K- Z- X, [' j1 ~
  414. WL2:8 z+ {7 U; q9 y; m9 ]" Y: p1 P
  415. LDA $BD2 v. f/ m. J: i6 Y7 [/ h7 B
  416. STA $20066 S, P2 F( ~2 r- ~$ _2 \
  417. LDA $BC" t5 O/ p% r' |7 P
  418. STA $2006: c2 ?) f. O3 i" P0 V8 q
  419. ; j$ F( x5 T5 R4 M4 B1 t: K
  420. WL3:+ h1 \0 Q, w1 t4 n" U8 h' @# J
  421. LDA ($BC),Y) f% V2 Q# j( L
  422. STA $2007
    6 L, B# z' [) m; [4 V
  423. ( }& W8 P: S( }$ |
  424. WL4:
    $ t( U; p, B7 ^* c' z
  425. LDA #$00
    ; M& p3 M0 z3 J: G) L" c" X
  426. STA $20003 I* w0 j- m; d# n
  427. INX
    5 g" P1 H" ]7 _/ R" P+ K
  428. INC $BA
    " S+ ^- C! z4 }/ _' `
  429. INC $BC) C" u/ d: E8 ^; Y; z
  430. CPX #$009 U. N. l) }2 l- j( ]
  431. BNE WL1
    , ~2 c% H* O. d3 u+ n$ q# M
  432. INC $BB( \3 R# L# x3 a, d9 G8 O
  433. INC $BD
    / @, j2 M4 g1 A7 ?
  434. JMP WL1
    % f, b. h9 K; T* G/ E0 ~

  435. & L' {, q# M/ k6 x. D9 D, L7 l
  436. WLR:
    $ z3 @2 }; T4 J( s$ m$ J$ U# s2 f; s
  437. LDX #$002 M8 i0 L( t( u) r4 S# I! b
  438. COPY_7F00_7F3F:- l" m+ S% V* ~8 F& {: k3 g
  439. LDA $7F00,X
    7 m" j, S6 {5 n* ~" c* w
  440. STA $07C0,X) o( q/ j; R3 l) ]
  441. INX
    , M0 G: r/ |* V4 g5 D5 l
  442. CPX #$40
    7 p7 }) g6 R& R
  443. BCC COPY_7F00_7F3F0 {% v- Y; a! F+ M$ e2 ~0 [. B$ q" \

  444. % U0 g4 |3 Z  ?" m
  445. LDX #$00
    0 n: i6 G1 F3 d+ x0 F; y  }
  446. LDA #$3F- Y4 H' s3 Q9 ?
  447. STA $2006
    ; Z! q; r# D; [
  448. LDA #$00/ r% c: |0 z# ]
  449. STA $2006; @3 u3 u, c' A3 X" B. [
  450. COPY_7F00_7F10:
    ! [. Y4 \4 Y. }: j" P  Q. q; I
  451. LDA $7C0,X
    : c- c7 I/ B" S5 ?5 k0 ?
  452. STA $20071 z; r# d# W" \3 ]# ]6 w! X
  453. INX9 m  i5 [; t. z; D0 u  c
  454. CPX #$10
    3 T; m0 V; [& D$ w" Y
  455. BCC COPY_7F00_7F106 F+ k( U$ I5 m! B" a# n
  456. ' b) z, D$ c* }# |) J
  457. LDA $2002
    / d' r9 `4 d) j, o% d
  458. LDA $FD4 s7 ~- F5 T" P4 K
  459. STA $2005
    * {5 N/ N* n* ^8 a/ q
  460. LDA $FC
      |! g( Z8 G. n( M3 P5 K" q1 ^# k3 G
  461. STA $2005
    9 @& o" u! V+ k% w
  462. . {3 v  O. j* m3 Y9 d/ a) W7 S
  463. LDA $7F501 y1 a; `# p: m& v& M9 p
  464. STA $FE
    " {6 }4 ]/ {; p& l) n
  465. LDA #$001 H0 M* h2 P4 O7 R
  466. STA $20000 P0 c' |' @6 t. g* z
  467. PLA
    - o0 ?' ]2 l+ M: T. |
  468. STA $B8
    # V- U  x, |+ U- t3 Y0 _
  469. PLA
    ' W& N1 z" U5 M, d
  470. STA $B99 P0 S3 M+ r" c, V& v0 G
  471. PLA1 f$ d9 u, s% r  @6 B& @0 j, e
  472. STA $BA, N/ i/ @5 A& a: ^6 K
  473. PLA2 s: ?, f0 L3 I6 v1 x
  474. STA $BB
    0 F: `6 z! ?) r+ k, b8 r
  475. PLA
      M5 u/ n2 ?4 g; h: I
  476. STA $BC+ z) B( P: B+ a1 W9 |* S9 H5 }
  477. PLA
    1 W- m, B7 F5 W0 e' M3 O, d
  478. STA $BD
    1 P/ ]4 ?8 X7 T' W9 Y

  479. 9 f; M# m" m4 `  H+ `' ]4 f
  480. RTS6 X. o3 y: q9 B% f

  481. * l4 N' y. r; t2 M' q: n& |% |
  482. PPU_CMP:
    : G) K  P  j' @8 g' S/ D

  483. 0 c8 k6 \6 \& I9 e

  484. - a  b% e& p* U% @2 J1 Y! E2 R) n
  485. PPURE:& e  {5 d- o" x5 w7 Z+ B& y
  486. RTS3 R( U/ @2 X: O4 X1 U
  487. 7 _3 O+ l. _8 Z7 ~- w
  488. 2 J; t2 ]% w: Z; t  X* H- I+ `
  489. FREE_PPU:4 k0 V# A4 O6 d, ^& g3 H

  490. 9 Z6 |3 B6 q2 p9 O
  491. JSR TEXT01_PPU) A# j1 |# z) C  Y- m
  492. JSR $CBC0
    8 t/ s8 @3 v2 j& K  L2 @0 v) E: ~. ^% _
  493. JSR P1_PPU
    $ i4 W! l* u% U
  494. JSR P2_PPU
    * a# G* a; D' l6 E
  495. RTS
    ! A! I7 E0 q( I/ s0 V

  496. ! Q# C  z5 j. u- i, t
  497. TEXT01_ADDR:" D  i; O$ p& f) p$ y
  498. .BYTE $20,$42, j: p& `: j# ?+ c, f  D
  499. TEXT01_DATA:
    ; J! w* h# V; X- b. ?3 J
  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# X- d6 A" g. ~, z, X% O( y
  501. TEXT01_PPU
    ( _  V! ?+ j) r1 S/ ?
  502. LDX #$00
    6 r0 |4 t# j9 ]9 P2 S
  503. LDA TEXT01_ADDR
    , J, p5 j& ?$ j
  504. STA $07033 w- }( r) M( E/ D4 \, A& E
  505. INX
    : ]7 a- u3 s% i# [
  506. LDA TEXT01_ADDR,X
    ' M- Y! U4 G0 d2 P3 H8 |
  507. STA $0704
    : \6 n9 k5 I# `4 G
  508. JSR PPU_PROCESS- a+ ~7 S$ }0 G! {; Z9 K
  509. TEXT01_W:  ~0 v) K1 [; A
  510. LDA TEXT01_DATA,X
    9 G" |- W' \8 ^$ w: ?- v
  511. CMP #CEND
    / h- {2 h8 X# Y. [* e2 _4 C
  512. BEQ TEXT01_START% o6 Z/ H7 u) @0 t# Y+ L1 o
  513. STA $0705,X, u) Q5 u# F, W* z+ e2 G
  514. INX
    . e7 U. V: o: x/ `7 [" Y
  515. LDA #$00& U' H( Q9 ]6 J8 F
  516. BEQ TEXT01_W( t- |1 `- o8 q1 q" r
  517. TEXT01_START:; J: }6 A4 l) F
  518. JSR PPU_START
      m6 g. C+ T3 M, H- ~. M
  519. RTS
    3 O+ b- p, V# d" @

  520. . k0 C( a3 E, Y. O
  521. 4 N2 l5 u* b: M- E1 u
  522. COLOR_DATA:7 m9 `& O( F- m8 T2 b
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28, _) k0 j( @; i) E- B* b$ P) l4 y( |

  524. % L+ `+ r" P: T
  525. P1_PPU:
    / y6 n# G! B9 {0 I  S. q5 h4 B  H
  526. JSR PLAYER_01_PPU
      g) [5 X7 }+ H; y* U1 q
  527. JSR $CBC0
    , Z. B( q4 k( u+ f3 z; @; i
  528. JSR RELIFE_P1_PPU
    8 C, T0 D. G) u* L
  529. JSR $CBC0
    2 k% ?; F4 r$ `/ {/ g8 Q
  530. JSR RELIFE_NUMBER_P1_PPU
    * M0 b" P% X- {9 o& f/ |9 T
  531. JSR $CBC0
    * ~+ m7 J( \& [4 V3 C
  532. JSR WEAPON_P1_PPU# }0 d. x% o- G0 m, Z# P& x7 P
  533. JSR $CBC0
    " y& n- h# |/ [
  534. JSR BULLETPPU_P1_PPU0 K# b5 g. A' K# v4 S! T+ I  \
  535. JSR $CBC04 Y) D/ D/ Z- T
  536. RTS# G3 N7 @0 P+ @# [3 I" H, _* ^
  537. & c  e0 t; y! Z" E; G# O
  538. P2_PPU:
      T/ @& e3 |2 u6 `) y
  539. JSR PLAYER_02_PPU3 n( C4 E0 u- \: E3 |# A* v
  540. JSR $CBC0& D2 O' S1 k9 f5 K7 o0 E/ S
  541. JSR RELIFE_P2_PPU
    ! V  E) Y' j) q
  542. JSR $CBC0
    2 w( t0 e* q9 ?, d8 v5 d. M" [
  543. JSR RELIFE_NUMBER_P2_PPU$ a" t) k+ v! F" [
  544. JSR $CBC0! U( I1 s+ X/ g/ R4 v/ J
  545. JSR WEAPON_P2_PPU
    ) ]" D" L( q2 |
  546. JSR $CBC0( d% o; j& H7 s( a' P9 @# |. }, D
  547. JSR BULLETPPU_P2_PPU1 l1 G4 a. l: f
  548. JSR $CBC0
    ( b- ?+ Q% ^7 l  z' Z% H4 |1 S' v
  549. RTS+ N7 [8 [5 {$ Z

  550. ( f1 Y1 D* t! Y9 O+ B

  551. $ _2 w2 W1 S. ~; `  Q
  552. 5 z7 F2 X4 X% F: f
  553. PLAYER_01_ADDR:
    0 ?7 [6 B; F( u; o" o# c7 x5 D
  554. .BYTE $20,$A3( U2 w* {6 P, P
  555. PLAYER_01_DATA:3 ], A. k$ m& F( ]$ J
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND5 u- D* @- y0 b+ G& t2 Z* Z
  557. PLAYER_01_PPU:
    2 p) C) H' [  f3 G- [5 T
  558. LDX #$00
    . m% j3 e* A* X) X, H6 V6 H7 x
  559. LDA PLAYER_01_ADDR
      D8 e' N& e& O! H- S5 H, T/ v( i- F3 E
  560. STA $0703
    . t( W& A  `3 G( r
  561. INX0 N0 ]6 Y  v2 {" t$ N3 S
  562. LDA PLAYER_01_ADDR,X) I, h3 I4 w% ?' p0 V
  563. STA $0704& Q: B+ _7 @& L
  564. JSR PPU_PROCESS
    6 T3 b+ {, k& r& `& u" o
  565. PLAYER_01_W:9 L) F5 Y$ f% [  `9 h* H
  566. LDA PLAYER_01_DATA,X4 K- |- Q+ ]* D; D9 V# H
  567. CMP #CEND
    5 f% p, i1 p8 G/ f" h" i
  568. BEQ PLAYER_01_START
    ' g4 a1 g1 k$ j: U; E' u" e# I
  569. STA $0705,X
    6 [9 ~  u( _# l9 E
  570. INX/ I% j3 d9 k6 s' j! L+ a+ C1 G
  571. LDA #$00
    2 @1 y0 l& O9 _
  572. BEQ PLAYER_01_W2 a. z5 A- e+ n, s3 L# S9 ^9 e' Z
  573. PLAYER_01_START:
    7 H! H5 {/ T% Z1 a
  574. JSR PPU_START+ [/ x5 K$ F. X# R/ m
  575. RTS
    # x* N8 Q+ I* ~7 e* }, f

  576. ' j# l0 l+ M( G$ B% ^

  577. 0 ]" X* e/ u+ {- O- V/ t
  578. RELIFE_P1_ADDR:
    ; V& Y  ~, F& `* H/ j
  579. .BYTE $20,$E3& R* J8 `2 j4 I* L/ e! v
  580. RELIFE_P1_DATA:5 x# {5 i" T6 p) M4 P. D, ?
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    - x: ^8 Y9 `4 p( S# Z) F+ B) n' |9 A
  582. RELIFE_P1_PPU:0 L8 z5 K+ [4 ^- E
  583. LDX #$00: H" |8 _% u6 Z% U
  584. LDA RELIFE_P1_ADDR
    2 ]3 L8 S2 w) h! O( B
  585. STA $0703+ F% q0 v7 x) k& a
  586. INX
    4 m/ D2 ~) K  [4 w
  587. LDA RELIFE_P1_ADDR,X
    ; l8 I3 l4 d/ }8 m1 W! ^' y" [) n
  588. STA $0704
    8 S- a1 ~# q+ I0 D( H( J; z! Z( w( f+ ~
  589. JSR PPU_PROCESS
    - A5 N' D2 x1 O/ n" h' }  a! B
  590. RELIFE_P1_W:
    $ V, H% L3 ?( j2 l
  591. LDA RELIFE_P1_DATA,X, y$ |. T$ e" k
  592. CMP #CEND# k7 j+ \1 t( q) T: v5 U1 c; ^
  593. BEQ RELIFE_P1_START& ^/ L! r/ T7 K- j
  594. STA $0705,X# J: f# v# c9 g& T
  595. INX5 M+ }3 K( c2 e% _3 H2 T# @
  596. LDA #$00
    2 l' D$ O; o) t# n
  597. BEQ RELIFE_P1_W
    7 |  |3 R. P( ~5 F
  598. RELIFE_P1_START:
    6 Y( v9 t* W- Y2 n! i/ L0 U+ o; X
  599. JSR PPU_START/ ~; a0 [! S  v) a$ a
  600. RTS
      m* S& M+ X6 F% I9 f) Z  {7 R

  601. 7 P: s7 w$ u3 ^, C7 F) K$ d

  602. 5 q: Y2 H2 ^$ x3 f* y3 w+ W
  603. RELIFE_NUMBER_P1_ADDR:, D  Z, b3 p8 J: R! _
  604. .BYTE $20,$EA, d& e! O5 Q! P' n  _) G4 F0 F3 i8 _
  605. RELIFE_NUMBER_P1_PPU:4 ]. W2 R( b3 Y: {& R2 _$ T
  606. LDX #$00
    4 @- U: j8 J. q- W) l0 Z
  607. LDA RELIFE_NUMBER_P1_ADDR0 y6 c) `6 m/ A# ~# [( Q: C
  608. STA $0703  o8 v9 j1 c$ D
  609. INX
    ! @. D# \5 l! e, m- J8 S6 O' T% P8 W/ F
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    . v! Z/ |+ ^/ I
  611. STA $0704+ [0 w- t+ L0 x5 p
  612. JSR PPU_PROCESS: q& Q" q  v$ `7 F# U* y) m
  613. LDA $32' q7 [. C; [- ]
  614. JSR LIFETODEC
    ( z6 T1 Y) K* e) O. {9 p, e* P
  615. RELIFE_NUMBER_P1_W:, a& C1 j* Q4 z: J7 D
  616. LDA $7A034 [+ i# P- ~2 \/ @8 ?5 H3 u
  617. STA $0705
    % z0 v4 d+ s, W6 x9 s) U, r
  618. INC $0705
    2 m7 {/ u) @6 V2 j- _9 m
  619. LDA $7A04/ E' L/ J" G6 R. ?! |8 h' S$ Q7 z4 I
  620. STA $07060 H; @% }+ f- l" \0 d
  621. INC $0706& W- m! X1 A" E: z
  622. LDA $7A056 f6 M( k" P; g5 x1 g7 h* w% g+ Z: j
  623. STA $07075 W( u. C) u6 |3 B8 p
  624. INC $0707  l; y  P, c% Z4 d. z+ z! S1 u. U
  625. LDX #$03- H! Y2 E% f+ J
  626. RELIFE_NUMBER_P1_START:+ u- m# |, x% H+ s- \) V
  627. JSR PPU_START% t" Q" p' c. O
  628. RTS
    3 Y$ x! J5 }0 F' t! t5 s* @  |! B
  629.   Y  Z) z/ F2 q' D  }* G
  630. WEAPON_P1_ADDR:
    6 }% A: o  E0 c9 T
  631. .BYTE $21,$23
    * n6 Z  s. C; l: y1 f8 l8 Y
  632. WEAPON_P1_DATA:+ f8 J4 O0 Z! h! w7 ^3 N  ~
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND% X5 ^/ w. o- d* K9 C/ \( x' d
  634. WEAPON_P1_PPU:5 p5 N9 R3 }/ y6 A
  635. LDX #$00
    * k6 d- B! ?# p" }
  636. LDA WEAPON_P1_ADDR) r9 S1 }( O) r7 w! u) F
  637. STA $07031 g4 c$ n( R3 Y: k" |6 N: M! J
  638. INX* e) W, z) o4 x
  639. LDA WEAPON_P1_ADDR,X/ W; r3 [- u% A( j
  640. STA $0704  e, L" z$ X1 N9 Q
  641. JSR PPU_PROCESS4 ^9 s* y. k5 R; X2 W  C; O
  642. WEAPON_P1_W:
    4 W" N3 p6 H) n' }0 C6 j
  643. LDA WEAPON_P1_DATA,X  Z" Z+ f$ r4 W- n+ S) i2 o7 h( j
  644. CMP #CEND5 i1 [" Q/ F2 O5 y7 L& u
  645. BEQ WEAPON_P1_START
    - M! r/ p* m  }* `; o8 C
  646. STA $0705,X
    . q, v7 E$ g# n! r* ?
  647. INX" p  V/ j& j9 u
  648. LDA #$00+ M5 P5 ]# J9 w% F8 q& w
  649. BEQ WEAPON_P1_W% w, ]4 Z/ V3 r1 o! P8 n/ |8 q
  650. WEAPON_P1_START:: [+ Q7 B" n( J, ~1 v) Z
  651. JSR PPU_START
    ) X/ R5 a" l6 S% ]
  652. RTS
    ' W# _& M8 H8 h* @2 {: F
  653. ' L: x- a2 o* K' z- C2 I/ b
  654. BULLET_P1_ADDR:
    & {( y6 e$ l5 G/ C+ G$ h: m
  655. .BYTE $21,$2A  m4 V, q0 d( n5 G& r$ P% |! [
  656. BULLET_P1_DATA:
    ; E& Q( M; e( _9 L; B# o1 w% Y
  657. .BYTE $00,$01,$02,$03,$04
    . B9 b) ~' d# ~; c
  658. BULLET_P1_NAME:
    ) H" H1 m2 T1 w1 K; d9 o: J
  659. .BYTE CN,CM,CF,CS,CL% s8 b+ G- B) Q  S
  660. 3 z) A5 b+ A$ R7 s) G
  661. BULLETPPU_P1_PPU:
    0 w: W1 C* G6 C
  662. LDX #$00
    1 w+ L% s$ B, {! J
  663. LDA BULLET_P1_ADDR
    9 n0 y2 T+ c( |+ J0 j
  664. STA $07039 p0 v6 W# i) b
  665. INX
    - o2 X+ ]3 p4 h" U' J* ~2 \
  666. LDA BULLET_P1_ADDR,X! m) [( b- b. {* @' R6 e
  667. STA $0704
    9 \6 t  F: E/ r9 A5 D! S( y
  668. JSR PPU_PROCESS
    ( m6 V1 Y# w; m+ [2 }9 w
  669. BULLET_P1_WRITE:
    0 J, O. R' l: ?0 ~
  670. LDX #$00
    ! n0 b& J$ I/ ^$ D( N4 K4 F, P; e
  671. LDA $AA" C9 m- o+ k5 R# Z' p
  672. AND #$10, b$ W+ x9 G; ~0 A
  673. BEQ C_BULLET_P1
    5 [0 [& ^4 ^; W0 W1 M3 X
  674. LDA #CS8 T, t6 X0 @" S% i) {1 W9 H/ d
  675. STA $0705
    - h- z" e# ]0 F! p' n) Q
  676. BNE B_NAME_P1
    ; t* h: s1 @; b: u: a
  677. C_BULLET_P1:
    ! K0 J% H1 O6 r. t, H% T
  678. LDA #CC7 N/ \8 I+ l( c1 @# v, D
  679. STA $07055 Y1 Z$ ^; B5 K& B2 ~! ]" m
  680. B_NAME_P1:/ m. m' W6 k& l! q5 S. [8 v
  681. LDA $AA+ l3 c/ _. O8 X  J) |% e' M) G
  682. AND #$0F1 I3 X9 }( f0 h# |6 a: F
  683. CMP BULLET_P1_DATA,X
    # m4 y" u& Z! X9 X* o0 e+ p
  684. BNE B_NAME_P1_RECMP
    % p5 U7 h5 U0 S4 i6 `
  685. LDA BULLET_P1_NAME,X
    ( c" I1 r  }, O8 t( u
  686. STA $0706. G- O: T: s, u- a- X
  687. B_NAME_P1_RECMP/ i/ I" G0 ~7 I' U% c, n
  688. INX
    ! N& i# E9 b- s% h, ~( M
  689. CPX #$05
    ) d9 O. x* Q+ c6 H1 E
  690. BCC B_NAME_P1: X2 H* {! h8 r
  691. LDX #$020 R' f! i/ y* r9 f$ e9 _: [
  692. JSR PPU_START) Q! G  z* l& _( r5 t
  693. RTS
    ) x" [' W% _1 x# b; i5 z

  694. : r6 I8 K6 o% ~$ T. C

  695. ' \4 O1 `5 _$ i) E2 H9 T
  696. PLAYER_02_ADDR:/ c* L% ], d4 c: d  v$ M7 ^+ }
  697. .BYTE $20,$B37 V: Z: K9 s: I6 [# f
  698. PLAYER_02_DATA:
    * x9 B  N6 Y% E2 X# d, U1 c
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
      C; z7 Q; y9 ^; E8 \, ~! R
  700. PLAYER_02_PPU:
    $ b8 R+ W% s0 M7 N
  701. LDX #$00# ]/ d; p8 C' r2 e; b
  702. LDA PLAYER_02_ADDR
    9 u4 U0 G1 D9 n$ S2 N/ @- ]/ {- k5 D
  703. STA $0703& E% Q- W% p, a8 {+ X8 h- G" W4 O
  704. INX
    " L% {- b) L# V% ?
  705. LDA PLAYER_02_ADDR,X
    . w7 F+ \& J$ e; `
  706. STA $0704" m6 d" F1 B& Z& V; d+ j
  707. JSR PPU_PROCESS  u+ y* M) U" k7 ?% Y% I5 x
  708. PLAYER_02_W:
    7 s! G  M0 H5 z; M- R
  709. LDA PLAYER_02_DATA,X
    0 r' o9 c7 R; Z1 _! n. i' [5 F
  710. CMP #CEND
    4 u5 P, _8 }1 b! @+ o
  711. BEQ PLAYER_02_START% \- S; g5 [5 U' x+ X( h
  712. STA $0705,X5 P% Q8 w. n9 ]$ g- o3 e0 \
  713. INX
      ?+ O& p$ G8 D. U5 A* n$ {
  714. LDA #$00" C7 d) G# U' N2 f
  715. BEQ PLAYER_02_W
    7 g" D4 r0 O- _* K5 P
  716. PLAYER_02_START:: ^' G+ s  J; U+ L) h; l
  717. JSR PPU_START6 f! Q' }5 b1 v0 b, z+ z
  718. RTS. M! @4 {* M' m! q) f9 ]

  719. ; [& F; ^. ?' n7 s# \+ `

  720. / ?' N+ L" r  C* E/ m  r
  721. RELIFE_P2_ADDR:0 l8 `- T4 u9 Y) H* G
  722. .BYTE $20,$F3
    ; d$ k1 g( p) e, w! v$ H$ J
  723. RELIFE_P2_DATA:; n8 T$ f3 j1 q2 c
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND# y7 H: }' V4 z( D( C
  725. RELIFE_P2_PPU:
    4 `! [" X$ F) Y" N% f/ y6 ^' n! P3 e
  726. LDX #$00  d  v+ p1 x/ U& E" l7 w% T! H
  727. LDA RELIFE_P2_ADDR/ i2 ^0 O5 _8 S( F1 S: b6 q, P
  728. STA $0703" Q6 V: k4 Y0 F) Q3 B
  729. INX" H0 Q3 G$ Q0 F6 ?0 d
  730. LDA RELIFE_P2_ADDR,X# ?' c1 A1 o. w" L% |& W
  731. STA $07043 T3 c' v* g- I8 E7 _1 J$ n! T# w
  732. JSR PPU_PROCESS! G/ R# |* Z6 X" l5 s- |; B! `* q
  733. RELIFE_P2_W:
    ! C1 n2 Y7 j3 \  s8 ^0 \) J
  734. LDA RELIFE_P2_DATA,X  b7 h' h- u. e6 d, a/ z
  735. CMP #CEND2 G$ }9 D: o! i  Y- b8 p
  736. BEQ RELIFE_P2_START8 C1 n% N8 e  S+ ?* W6 e3 y- `
  737. STA $0705,X$ ~' M$ }2 _6 I' N9 b" V$ {
  738. INX
    - q) N, O& e* m4 }5 w
  739. LDA #$001 k8 x/ s8 ?. t
  740. BEQ RELIFE_P2_W
    1 V% H7 o4 M! f& q% i' E2 i9 ~% X
  741. RELIFE_P2_START:
    + d* l* ?  t: O0 X
  742. JSR PPU_START
    1 H2 N" T% K0 G& P, ?: B
  743. RTS
    ; }- r+ O  v" e' |. [$ [

  744. " ?2 J6 x/ B' @/ t" A

  745. ( F/ p) V* M- [# w
  746. RELIFE_NUMBER_P2_ADDR:
    : S5 ^7 f' i2 R8 h/ u3 ?8 Z- l! E
  747. .BYTE $20,$FA
    ) r. _: Z" G/ v" _
  748. RELIFE_NUMBER_P2_PPU:" N6 i/ ]0 l+ O
  749. LDX #$00& [* C4 c7 ?/ s3 m# _
  750. LDA RELIFE_NUMBER_P2_ADDR
    ) S6 ?" y- N1 b: @
  751. STA $0703% s- o/ m0 ]4 O! k# j0 p: h+ n
  752. INX
    3 S, Z( y: {8 L7 o& m# t  ~
  753. LDA RELIFE_NUMBER_P2_ADDR,X4 }# t# {) Q2 M- W6 q% l( _1 v8 v
  754. STA $0704
    9 r% H) b5 H1 g: O( b, W: U3 @
  755. JSR PPU_PROCESS
    / C  o+ b" s! k& U! ^% w& m
  756. LDA $333 A) G  q+ {8 @
  757. JSR LIFETODEC% t1 [5 w$ T" y6 D. B9 ?
  758. RELIFE_NUMBER_P2_W:
    : K5 A% N7 ?1 ^$ @6 C
  759. LDA $7A03
    ! N2 F' y8 X$ F* w: a+ h
  760. STA $0705
    5 z4 F, z& t3 o& e6 m. n8 F
  761. INC $0705/ x3 t4 r1 y, C- r, `7 q. c
  762. LDA $7A04, G, i7 \0 A) j9 N  t& C; D
  763. STA $0706
    " e6 F+ i$ ?! A9 v' `
  764. INC $0706
    % Y: D: V; J! [. |2 K9 f" E% s
  765. LDA $7A058 E( U  t9 n& q: Z# o, h  ^3 C
  766. STA $07071 M7 \8 H8 _3 @9 H+ e. F, D% v
  767. INC $0707
    & o" s1 ]. E  N$ B$ k5 p8 X' @
  768. LDX #$039 q5 M& a( L6 H) U( F/ G6 v
  769. RELIFE_NUMBER_P2_START:! x* ]6 R; `: y. V( P
  770. JSR PPU_START
    3 m# Z" D) x0 e: `0 k& L
  771. RTS' t9 d' {! _* O6 t% P+ ~2 @; s

  772. & H' H: ?* F( n7 t( x! m) `8 q
  773. WEAPON_P2_ADDR:
    5 W- h, _5 G: J0 l9 v9 `
  774. .BYTE $21,$330 ^& [, I' ~8 G# q7 P+ r: G
  775. WEAPON_P2_DATA:
    ! a$ o1 e5 E7 B3 V6 ~
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND' E% P- U$ x) h1 X! o
  777. WEAPON_P2_PPU:
    0 \8 b; @, B. w6 }. Y
  778. LDX #$004 K4 g( m3 q  k: A2 t" A# k
  779. LDA WEAPON_P2_ADDR) |* }) f$ H0 ]: d
  780. STA $0703% B) N( s2 n$ Q# V
  781. INX) G3 K9 r; x. l9 e
  782. LDA WEAPON_P2_ADDR,X5 o3 S1 b3 d1 S0 x/ W$ v$ ?' s
  783. STA $07046 i0 j" c! t' G, H" S+ Y# I6 |& O5 C
  784. JSR PPU_PROCESS$ k. Y* N; L8 N2 L# f
  785. WEAPON_P2_W:' w- [, h8 o2 L; y, y: L
  786. LDA WEAPON_P2_DATA,X
    6 y8 g) M, E" a# ?; ^
  787. CMP #CEND
    + A/ r9 b, x6 M3 T; a+ _
  788. BEQ WEAPON_P2_START. u4 H+ Z& k. ]: Z8 I# V3 B# a' n
  789. STA $0705,X6 {- H: e% v  L# E# X
  790. INX9 l+ V4 t( d! \7 V0 J# g% E
  791. LDA #$002 x- e- z3 g# |. ]
  792. BEQ WEAPON_P2_W4 H* @0 _7 X- S3 v% R
  793. WEAPON_P2_START:
    3 v7 m# f' J" w5 H6 O  v3 Q& A
  794. JSR PPU_START1 a9 X4 g# _9 e  x7 J
  795. RTS# q: J" n* p* P" y) d

  796. # x1 `9 @2 T; i* A
  797. BULLET_P2_ADDR:1 u" d9 `% e/ C* ]
  798. .BYTE $21,$3A+ o4 e8 @1 Q& X( k( w- E; m
  799. BULLET_P2_DATA:' V( \! \0 B3 f% |
  800. .BYTE $00,$01,$02,$03,$04+ [# I; I: W3 M* j/ W2 f; H
  801. BULLET_P2_NAME:
    4 Z- X* l3 [* p3 y) @% S* @. a
  802. .BYTE CN,CM,CF,CS,CL; |- e, a9 ^" \  _+ d
  803. - W' E5 m' I# x2 k- e( Q
  804. BULLETPPU_P2_PPU:. D' G9 g* z3 Y$ r
  805. LDX #$00
    4 H. x3 i4 x+ B5 ]0 G
  806. LDA BULLET_P2_ADDR
    7 X2 G& \' N9 J4 l7 ?* r
  807. STA $0703
    , `$ Z3 L6 \% `! v. T* u+ O; Q
  808. INX6 p. A# b" W/ f9 e' X
  809. LDA BULLET_P2_ADDR,X
    6 W' i* P- l4 s1 U
  810. STA $0704. Q9 q1 I3 K% ~$ M
  811. JSR PPU_PROCESS1 K9 b! ?- |0 G9 q. ]4 N
  812. BULLET_P2_WRITE:, V1 @9 j: ^1 P
  813. LDX #$00" ?! B: R/ c8 W% |
  814. LDA $AA
    - O7 A" |6 r. |1 H
  815. AND #$10
      Y3 y. U7 G; J4 Y
  816. BEQ C_BULLET_P2
    $ m  e8 v7 j0 E6 D7 w+ J5 ?8 [( e
  817. LDA #CS
    2 c, i, e& N. v* j1 U9 A; v  y2 F( |
  818. STA $0705
    7 [' _! p8 q3 X8 o7 M+ K
  819. BNE B_NAME_P2
      B1 r/ n* L1 E
  820. C_BULLET_P2:
    * }1 Y8 S/ b5 H- k0 b/ W9 u
  821. LDA #CC# w$ |# d; c: R* B1 ?
  822. STA $0705- q' p3 E0 n9 i) B4 I% X
  823. B_NAME_P2:
    ! R2 b& w! R3 X. `9 ^& C7 C* G6 [
  824. LDA $AB5 C2 l& v+ k: I
  825. AND #$0F
    ! Z1 G9 M$ b$ i2 C  j+ b
  826. CMP BULLET_P2_DATA,X
    2 h5 s1 l- U- B+ B7 D
  827. BNE B_NAME_P2_RECMP
    0 n  V$ V# W3 O; A$ H* S
  828. LDA BULLET_P2_NAME,X
    # R5 W, O; }$ K. g  b- z8 R( ]
  829. STA $0706
    4 i- y7 C, q. O4 K1 H) r7 c
  830. B_NAME_P2_RECMP
    7 b& y) `# j2 U$ v; ~
  831. INX  E! i' s, `. ~. A6 t. V
  832. CPX #$05: F& }# R: z2 K0 W6 \2 X' K) T
  833. BCC B_NAME_P2
    / k! R- U6 w- N& m+ J( }
  834. LDX #$02
    8 p% @- K, g0 f( E$ K( ~
  835. JSR PPU_START
    ) [2 N9 r4 i0 }+ h  k% \6 L
  836. RTS5 g; N: X" a" Y9 ^6 _

  837. 2 k! g5 R# i  T3 A: [4 L
  838. + p. H. f! P$ f1 K
  839. : R1 B2 ]- P, y4 d* M/ K+ I

  840. ! M( q7 |) ~7 o  |* e) y+ `
  841. : r: k9 s* ?4 T. R2 ?

  842. 8 V' _$ U- I, z5 i: K2 Z- Q
  843. LIFETODEC:                ;十进制转换7 U1 @8 g' S$ i4 _# g
  844. LIFEL1:        ;initialise& s/ s0 u8 [. L4 Y3 x
  845. STA $7A00        ;$7A00=F3
    9 ?8 y6 [) H! G7 _0 F  {( M
  846. LDA #$00& p8 b; \  x1 n4 V1 D# ?# W% i4 s
  847. STA $7A03        ;$7A03=005 E! ~% y' h5 z7 w; p8 V6 h6 J
  848. STA $7A04        ;$7A04=006 Y6 ]. c/ l: }% N* A
  849. STA $7A05        ;$7A05=00
    . Q. o% U& r) H( {! V, u, x
  850. LIFEL2:        ;copy data $7A00 to 60014 q0 j: j2 Z& A/ O
  851. LDA $7A00
    . H) H2 k# T! _2 P, {- A! l
  852. STA $7A018 b/ y" M$ f. L4 E( j# {. B

  853. ! ?( R: V4 w$ R6 q: l; ?" Q& s( F
  854. LIFEL3:         ;hundred6 i7 G8 {. [2 R( ~8 S0 u
  855. LDA $7A01
    + _7 R4 }8 P( O2 x4 J' r8 w, Z
  856. CMP #$64
    ; s. Y, d; Q6 [/ V! j
  857. BCC LIFEL6                ;$7A01<100 goto L6
    0 m" O7 t; P% m. f; ?  M
  858. LIFEL4:
    " r; _. v, h% U' l9 X- `
  859. LDA $7A01
      n9 `$ I( Z1 w& d2 l- X! G, M( ]
  860. SEC" r* J6 W( W) H  `+ P. i7 g8 P+ |
  861. SBC #$64        ;$7A01=$7A01-100
    + D3 G' s4 P& ]* a8 G" J5 f  ?
  862. STA $7A018 {* [4 C3 M3 N* O
  863. INC $7A03        ;hundred++( |% x& U( D" |
  864. LIFEL5:
    " Q: l2 D7 |8 h2 h
  865. LDA $7A015 o9 \# C9 l% R0 v2 k8 y! k% M! j! ?9 C, T
  866. CMP #$64
    ( Y- }1 O6 f( G, l6 m4 I. y$ t# R
  867. BCS LIFEL4                ;$7A01>100 goto L48 T3 x9 j# j8 B/ h! h

  868.   g3 R3 |1 b# d6 z
  869. LIFEL6:        ;decade/ y8 l7 e- e) i- }. G
  870. LDA $7A01
    1 ^$ h( l  d5 F: z+ C4 z3 Y( p0 r
  871. CMP #$0A( J  v% A6 [; B; z$ S
  872. BCC LIFEL9                ;$7A01<10 goto L9
    $ a% O# G4 m7 r4 [
  873. LIFEL7:          f7 q# C# G1 u+ i9 ?& X
  874. LDA $7A015 ?' y2 y, _' U1 ~. r4 m
  875. SEC2 u6 b: J( V: `) ]9 x3 z
  876. SBC #$0A" O. B6 [9 D2 \1 o! u) w7 Z
  877. STA $7A01        ;$7A01=$7A01-10# W! ^6 s% J) t* l0 o0 f
  878. INC $7A04        ;decade++
    ' M' x4 R/ C! i9 c/ l1 i, f0 G
  879. LIFEL8:
    2 d) w2 s  G) ?5 @/ Y# P& ^9 X$ H
  880. LDA $7A01
    " G  Y5 h! q8 I/ {$ i6 r
  881. CMP #$0A
    # ^- \! e6 x/ v1 k4 q9 Y
  882. BCS LIFEL7                ;$7A01>10 goto L7
    3 [# W0 o) y9 m
  883. ;unit
    8 t# \6 r2 X# {9 m# e3 r* t
  884. LIFEL9:0 N# d- N+ U5 k2 |, A
  885. LDA $7A01        ;$7A05=$7A015 p! u; j; d  n9 p1 z/ D
  886. STA $7A05        ;unit# }) i; x7 m3 X
  887. RTS        ;return: }9 X1 b1 F! \5 M1 N
  888. . H3 U! R7 s5 u8 ]# s

  889. . D8 V' s3 U0 Z9 [) o1 Q+ F& L3 x

  890. 8 b2 b6 a+ r4 O2 F( `
  891. PPU_PROCESS: ;PPU地址处理程序+ X8 ^1 j3 G+ H7 k0 g4 x9 D+ X
  892. LDX #$00
    / \/ i' l+ N  i2 D9 y
  893. LDA $FF
    * q9 y+ Q; I8 F
  894. AND #$01
    7 W) K& N; e. x% o/ A! v% I, Z! F
  895. BNE PPU_2400_27C0
    ' f" V# j% M0 u4 g# s# a
  896. PPU_2000_23C0: ;命名表1. H$ u* [/ k+ h3 P& \+ _% M
  897. LDA $07032 P6 L: L% f5 O& \& |, s5 ?5 p
  898. AND #$FB
    : w/ q+ c7 @' l: @; u
  899. STA $0703
    7 E& A* I% R& u1 v
  900. RTS! I0 I0 U. x! O5 T! o! Z
  901. PPU_2400_27C0: ;命名表27 M1 y" |  ?; u7 @
  902. LDA $0703+ [8 M7 H- f- g$ c5 R
  903. ORA #$04; v( F: T) K: R+ B
  904. STA $0703# p- S9 C/ C# i; C" n
  905. RTS1 ?- |: F7 `. R- `3 f
  906.   [! c' v" Q: m, @9 ?3 x' r" K1 o/ [
  907. PPU_START:  ;PPU数据写入
    : i) P, r: z  i% }
  908. STA $211 I7 J6 s5 I7 e& F8 O( w( c# u# k2 \, P
  909. STX $0701
    / U3 j+ R7 Y2 ]2 ^+ }1 b
  910. LDA #$00
    0 [4 p( B* U1 a. S9 B
  911. STA $0705,X
    $ t9 F6 M! N6 ?/ R, @0 o
  912. LDA #$01
    " r5 V) z8 v5 j$ T% `2 m
  913. STA $0700
    0 {; r$ z! U& D
  914. STA $0702$ d/ R. B! A4 c6 v  {' e
  915. RTS
    $ L8 q) Y6 N1 k, _+ f9 w

  916. & v7 ]% `8 ?3 D% N

  917. # Y0 \% A: j) m2 l0 A
  918. # `( e9 s7 c; ]1 F6 I9 \

  919. . U. w% p$ k8 l- W6 k
  920. 0 j. s  H7 c3 D$ p

  921.   `( I+ F" A  ]$ A$ X. A! _7 A
复制代码
0 J0 \' L# H) m

本帖子中包含更多资源

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

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

签到天数: 2115 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
% s/ S: C, c) l% l3 F

签到天数: 2544 天

[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, 2025-2-19 06:46 , Processed in 1.080078 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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