EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序: W5 S) Z. I. Y7 p+ W
  2. 作者:FlameCyclone
    5 i* ^) r/ j. E7 x$ h, j
  3. 时间:2017.2.12% {/ X) |3 M  Z$ C0 d& }) ]
  4. " K: J5 ^7 R& [& O  Z. U
  5. 按键跳转:
    8 H8 |7 ~9 {7 g. k
  6.         C1EF:95 F5 94 F1' X; h, A, ]+ o5 B9 U
  7.         C1EF:20 70 FB EA% G. ]. _4 p4 c2 W: B

  8. # X5 V+ n* f4 r# x
  9. 滚动偏移:7 G3 V; `% x! G
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20/ F9 D' a2 o8 z; K1 ?+ i3 R/ q
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    " ^7 B2 t# H" j

  12. 3 x) f0 ~6 _1 v# N( C% L& w
  13. 背景调色板:
    4 z, V5 k2 c  ?
  14.         CF20:9D C0 07& a6 N# D' P. x5 M
  15.         CF20:20 A0 FB7 o! |$ B, M$ f  |# j$ p

  16. 5 b, @; `, a+ U: Y
  17. PPU BANK号:
    1 I* ]) m) O; {) ?- E+ Q
  18.         C8C9:9D F4 07: P$ ^. q; M/ p
  19.         C8C9:20 B0 FB. z. g  C, `. `8 i7 M
  20. 2 x( H) W% H+ X/ z
  21. 按键跳转:
    3 t; d5 N' X; l. E
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20' R" f) a' h: V2 C
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    2 l4 k$ q1 f; K
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF; O' i1 W! a/ U9 e  Q
  25. 4 R* [8 z3 f! ?2 l4 u
  26. 背景调色板:
    3 S1 m$ H1 p, G9 ~2 A7 R
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF7 I9 F* V/ S1 ?* ]

  28. # f3 [2 n, M  M, m9 k; C
  29. PPU BANK号:
    ! v+ Z+ t* y) t- I4 b3 d9 ^- w( M
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    6 K; {" A2 C/ }+ a8 \% [$ N' t

  31. & [* Z, O* s3 B1 Z9 q' [& v! }
  32. 滚动偏移:
    " z# r' G+ I. g: \+ [
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    4 G4 e6 X0 p$ W' T, g- ], j
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF% U* r# |5 t3 j& m9 f; k! ^
  35. + B! b4 ]! @9 s5 R1 A+ c# A4 h3 `
  36.   {: D2 L+ S. D7 C  }
  37. 切BANK后A000:6 r8 z2 K, u+ v/ M& J
  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
    " x$ Y% _2 ]2 C

  39. 0 r. n1 o" F6 Y. I
  40. " Q2 J- J! T% g4 }5 V$ w* ]
  41. 6502 simulator:
    0 v" x, V% `% H/ M7 v# H4 V
  42. PPU写入程序:
    + m  \' w; W& @2 o! G
  43. .ORG $A000* A. A/ I" p+ F) h
  44. CSP = $80; V4 Y" K& J4 ^: N
  45. C0 = $81
    . ?6 a; Z; U3 V
  46. C1 = $821 j/ R/ d7 ]8 m' R+ i4 [. {, O
  47. C2 = $83$ `0 o& c$ Q& B# @' E2 A
  48. C3 = $84. W+ @4 T; L6 @, I/ w0 V& [5 z
  49. C4 = $85  ^. |: c( E- ]+ Y# Z
  50. C5 = $86/ T1 u# h2 U5 U9 R$ z5 z
  51. C6 = $87
    % k- w! q: c6 E& k/ {
  52. C7 = $88/ I( {: o) `* ?$ B- W6 i- \
  53. C8 = $89
    2 f* n( ]' ~) A2 n
  54. C9 = $8A: k; \+ z% |& |. f4 ^: e4 l* V7 d8 A
  55. CA = $8B
    : @3 i) C$ k) u$ j
  56. CB = $8C: J& K" n$ S% h  T4 `: {
  57. CC = $8D
    7 }/ u9 m1 F: l* B& z# D' d
  58. CD = $8E' u* k7 l7 {5 W; ^6 J% i# |/ k5 h0 Y0 b
  59. CE = $8F
    ) s: A; t& I; _7 r% `& G
  60. CF = $90
    : }7 j6 u9 b( w# K; [* Y3 U( P
  61. CG = $91
    7 @3 @: R" n% {$ ]' T
  62. CH = $92
    ; b4 u1 [  T6 F! K3 m! V" A3 T/ a
  63. CI = $935 ~3 Z# O( N* k& q0 g
  64. CJ = $94
    / ?. H4 E: j; n
  65. CK = $951 _, D3 [' {2 D' N% L
  66. CL = $96/ L) B  ?8 K* }/ g0 y
  67. CM = $97
    $ n9 T" o* e- Y4 k! `4 w* V
  68. CN = $98
    # |# E2 y& F: [" U" K$ D
  69. CO = $99% C, P6 c& d( o+ Y* s7 X5 Y
  70. CP = $9A
    ' Q! W2 D& K& ?6 g& Z% e" y
  71. CQ = $9B) D/ B/ O! Z) |
  72. CR = $9C  q( l# o4 g4 y. h
  73. CS = $9D' @* A" ], p- ^* e
  74. CT = $9E
    0 o4 M/ k) r' L0 q! G3 @5 O* B
  75. CU = $9F& \, Q0 k1 h3 D
  76. CV = $A0
    5 n' A' }& l% e9 [8 o
  77. CW = $A1
    % u6 a8 Z( k8 N2 v+ _! Y; ?
  78. CX = $A2
    1 E# e+ |  G! N  ]
  79. CY = $A3
    ) u) ~  O* t' V" h' z% o8 s
  80. CZ = $A48 M" p9 L' M5 [7 P
  81. CEND = $FF0 n1 b" t; y# E, e
  82. ; T7 P. V. H) @- N9 ~% Z2 @/ Q7 T

  83. 1 a" }- Q0 z* A$ B. F
  84. CMP_RE:" D6 ]/ z3 _8 d
  85. LDA $FF8 s( e9 Q( H% k
  86. AND #$7F" L0 W. l$ N* M# ?9 I9 m" g
  87. STA $2000
    % b# F: i! |, F# h. T; \! g' X5 j
  88. LDA $2002
    8 k+ V. A* c2 F' K9 b0 O: c3 {0 C9 H
  89. LDA $25) k) p' {1 W" i! o$ B) c
  90. CMP #$01% J8 g: |0 \$ J6 j
  91. BNE PROREG
    2 {8 H9 r& U, Q. Q
  92. LDA $F5,X
    : Q8 F, v! |3 ]7 d4 l
  93. AND #$CF
    5 H* u4 q! N8 `2 `! j# ?
  94. BEQ PROREG
    * R7 M. i" `8 ]. L+ d
  95. JSR PPU_CMP
    . h  V+ L# d6 U2 F5 V
  96. C_RE:
    % Z7 U1 X, X" Y9 o/ x5 {+ S  T- l; s1 I
  97. RTS
    8 F5 {" y3 {& @0 d! J
  98. PROREG:
    * Y- R2 ?+ O2 E& l" `) P* @% `& d
  99. PHA5 w' S) H! o; t+ s2 Q3 k) {& Q* n
  100. TXA
      A$ _4 A$ w( y2 Z* j7 k) e. J: o
  101. PHA  f4 x  v9 r$ W- T
  102. TYA7 _0 b7 |2 K" F
  103. PHA! r; y: D/ E( c8 n4 w/ d2 n
  104. LDA $25
    3 B% M2 C* Y6 m" R$ n4 Q
  105. CMP #$01
    . B% e' A0 S, M
  106. BNE RE
    $ B& M. Y! A. s& q+ r
  107. LDA $010A
    * h  Q6 \, l) b# f8 j. w3 a
  108. CMP #$00
    9 W5 L3 Y; P1 h$ J# Q
  109. BEQ P1
    2 [, r) E2 Z" z5 x

  110. # G" u+ Y2 j; L" D/ L2 N# i
  111. RE:% t  Q* n7 m( [/ J. M* ^
  112. JMP PPUWRITE" ?, C+ U2 r& U# y( Y+ ^5 K% \9 u

  113. % E( \& e% n/ t5 A
  114. P1:                ; 条件判断& l& ^4 K' k% l. H4 y
  115. LDA $7FFF, [) H  A& k2 {+ G( ?
  116. CMP #$FF
    3 k1 _. o! g! @. j
  117. BNE P1RP
    : \! v8 f3 @( z9 s4 Y- c4 b, F
  118. LDA $7FA0
    # n3 a' Y& E. n+ i/ R8 w% O/ Z
  119. CMP #$00
    7 ~. d  V8 K0 _; f2 W; V' A; ~
  120. BNE P1CMP
    " l3 l7 I' g  h# ~
  121. LDA #$FF
    $ ]6 K, z/ D! L/ `0 D- X
  122. STA $7FA01 z0 h5 A; `" f+ o7 I
  123. JSR CLEANA
    ' _% U# I: @8 ]
  124. JMP PPUWRITE5 G# b( ]! J$ a6 h, o: Q& Z# H
  125. P1CMP:; x1 D; F- V2 B, q& ^
  126. LDA $7FFF
    2 Z' F/ W8 H' o9 Q3 j% R
  127. CMP #$00
    % P8 j8 m/ l5 M9 K* h4 o+ M
  128. BNE RE
    * [& j) ?' w# D  Q) q+ m+ t
  129. P1RP:
    $ P) W+ k5 F' [* O  S
  130. LDA $2002
    7 w. k* l" t, b! C
  131. LDA #$00
    2 \9 g3 e6 G& e8 C
  132. STA $2001
    * c3 h$ n( @; e* u
  133. LDX #$00" Y: W8 \, \' B* I! N8 N
  134. LDA #$FF  |$ ~: t+ x/ V. t# W% H5 B
  135. STA $7FFF
    - J6 z% V. @, A3 _1 ~" |8 L
  136. STA $7FA0
    ! u4 o/ @( u) Q7 M. y% W
  137. JSR COPYPPU
    ' F( `2 z0 d) @* I6 |) p7 [
  138. PIRP2:/ V* U9 H5 g2 t% w- J" i
  139. JSR CLEANA
    ' G2 i# b# F1 h- Y4 t( V4 g
  140. JMP PPUWRITE
    1 |( R% C7 Q6 U% ~  a* g4 B
  141. 2 _, i. i$ e8 D8 x( U! H
  142. COPYPPU:* `, C5 G: G; F& h% @
  143. LDA $FE6 |: |/ [; C4 l6 I
  144. STA $7F50
    ' Y) m) S: e! i  T
  145. LDA #$086 j) R+ C; x  y7 L8 x$ `
  146. STA $FE
    1 Q8 o" s" x3 l/ K" D7 i! x9 o8 t
  147. L0:
    : E9 N* e" ?4 Y, t" l: e: F; ^9 L
  148. LDX #$001 ?. }1 `" S7 `6 R  ^+ P* e
  149. COPY_07C0_07DF:* R2 `+ o5 ?- p" X! m& D- u
  150. LDA $07C0,X
    8 m# e" a4 R. N
  151. STA $7F00,X
    $ u1 Y  U6 K9 I* z* }
  152. INX
    4 n! h. s. z% @' v* N0 v7 `& _
  153. CPX #$40: s# S; p0 J  U- D6 Z& c7 y
  154. BCC COPY_07C0_07DF
    ! M6 T7 p) L0 W4 G) L
  155. LDX #$00
    " m" W" ]+ P5 ?* K  d" N" z; ^# |
  156. PPU_07F4_07F7:4 h& e5 L+ D+ i, ^% a
  157. LDA #$00/ a7 J/ y2 i2 {% K1 A
  158. STA $07F4,X
    " v( V) F' m5 K% b  g3 c& e
  159. INX" f8 ]( m) V7 ]  s3 U) i; z: T
  160. CPX #$04
    / g8 }4 E3 o, j  @% K
  161. BCC PPU_07F4_07F7+ t# n9 F4 B4 u! h. d. M) f
  162. LDX #$00
    / M* L% j+ H2 D! }& u1 t
  163. COLOR:
    % S  f+ d2 k3 [$ o. N5 u8 M$ R
  164. LDA COLOR_DATA,X
    7 C/ F7 U* N2 p/ }
  165. STA $07C0,X( q  s6 P0 [4 E* _- X3 U% @
  166. INX
    2 N- b# |1 j6 E3 ^
  167. CPX #$10, U6 P$ h: M  y8 r4 ^* y# l6 M
  168. BCC COLOR
    ( n$ z$ s5 U. d8 V

  169. ( F# x5 H6 I( H4 S
  170. PPU_COLOR:! _5 L) l# d5 G' V, d$ h
  171. LDA #$3F
    6 y& b6 D/ J5 [  L
  172. STA $2006
    ! `1 q1 o* d& w. f; r
  173. LDA #$00- m7 q2 T- R. Q3 y- q9 D/ O: ^
  174. STA $20061 T, n  F) t. t5 R
  175. LDX #$00$ h+ y1 q% r1 I( T& V& \6 K2 a
  176. PPU_COLOR_W:
    , c( D6 Y$ U; D& ?3 M; C
  177. LDA COLOR_DATA,X
    $ S, J; W% t% B( F% R- r( |7 Y
  178. STA $2007" k$ B9 i0 ?5 M
  179. INX% }3 K5 Z6 Q+ `# h/ B! m
  180. CPX #$10
    % v% J6 g! {) c6 |0 H4 {
  181. BCC PPU_COLOR_W
    & ~2 n9 B7 W+ b7 a) y% o
  182. / I- z9 k9 U0 w2 O7 c1 f

  183. 4 g; F0 l0 A# v8 ^( I9 x
  184. LDX #$00! K* ~' C" }1 a
  185. LDY #$00
    2 `. a. J& l; z- Y' k( D  R  \
  186. LDA $BD
    - Z( h: v8 s7 h2 T
  187. PHA4 y! j8 m1 \; G% t% A9 S5 r
  188. LDA $BC
    % J7 B7 i3 R( \/ M
  189. PHA3 n, |  D/ y# J: E
  190. LDA $BB
      Y1 t, U' U' ^% S4 q: T3 v( _1 u9 w
  191. PHA4 m( t- E6 X, x
  192. LDA $BA
    1 D: v! T- J$ T
  193. PHA" T+ S* P- P; `7 @
  194. LDA $B9
    ' J! w; t$ u/ k( e, a1 l, }* M  u& j. J
  195. PHA
    * ?' I( ^6 l) s" e
  196. LDA $B8
    & f/ D  T% ?6 H, x) }& M
  197. PHA, J/ |+ Q" z6 O
  198. LDA #$00
    7 z+ h! y& F' S- v5 O
  199. STA $B8
    1 w) U, v' w3 w  @9 d4 _+ A; B
  200. STA $B9
    / ~5 U" |( e/ \. n! Q+ W1 k
  201. STA $BA
    3 y1 i& R: n. d$ D1 W2 j( r8 }" Y: n
  202. STA $BB
    - B0 T" R7 q/ s* h0 n6 P0 ~
  203. STA $BC
    + B4 ?9 P$ U; Z% l. v
  204. STA $BD
    . a( o2 D5 j8 R" D
  205. LDA #$001 c' g) N" F: }5 R1 b5 Q" |
  206. STA $BA! u  o  t! H$ g# m1 B9 M% U
  207. LDA #$209 V# I! b! S& o7 ~5 j. v4 Y
  208. STA $BB
    0 H  w2 _. _/ m2 A9 o' O- l
  209. LDA #$00
    & C# }/ \6 Q! s. T$ w
  210. STA $BC
    4 x. _+ F( D2 ?1 }$ r3 H9 V1 F
  211. LDA #$60" c6 X9 }7 f3 q* `5 f* T
  212. STA $BD% w; C7 ?  ^4 Y
  213. 1 S9 W/ \8 d" c
  214. L1:                ; PPU复制7 {6 g5 c( N, k7 E
  215. LDA $BB4 O" M. ]& P2 n9 n
  216. CMP #$284 g5 R3 E4 Y% r9 L8 Q
  217. BNE L2
    ; e5 @$ z) a. ~) L
  218. LDA $BA
    3 ?! g7 X2 b% y* t4 H+ u
  219. CMP #$00
    # k  J- l; X' u# ]: T+ b; T1 N1 e# J
  220. BEQ PROADPLA" ^/ g( s6 m3 U) w

  221. * o8 x" \$ n" S6 z
  222. L2:
    ' s$ a" j" {: I3 _/ B7 t5 m7 d
  223. LDA $BB4 ~% P1 j8 e0 k) ]9 o. ]8 V
  224. STA $2006
    5 G* z  s1 S+ X; L( w( ?8 k
  225. LDA $BA
    , g  T6 W* e' [: R, v. Z+ I# `  ^3 o6 e
  226. STA $2006
    - u( G2 X; N% b' H

  227. ) _0 }9 c4 t, W% ?2 |: S
  228. L3:; M$ C) x, C7 L' N9 U$ w
  229. LDA $2007
    ) `; p# A1 ^/ w; V0 B
  230. LDA $2007
    ! ~2 T1 N8 `, u$ [" L
  231. STA ($BC),Y" ~% ^2 X* c3 c

  232. : n% L/ b* k: v; D+ D; z1 Y1 u
  233. L4:( r  w5 ^: [# P& L
  234. LDA #$00  }1 |1 E0 O, \
  235. STA $2000  R; K- ?# Q! Q! O8 h
  236. INX
    ' k* i7 S% p3 m! k9 X
  237. INC $BA
    3 k, ~8 |! E$ o7 ?
  238. INC $BC
    + q- h- D1 _6 _' _$ l( ]$ U
  239. CPX #$00
      y, D3 A) D% u7 V; K+ Q2 r/ t
  240. BNE L1+ d6 N' b2 U3 Y# V5 }2 a+ c
  241. INC $BB
    ; C5 x( ~7 @+ J8 E+ m* d, m
  242. INC $BD
    * i& i6 h! c1 Q/ `
  243. JMP L1
    2 O: t8 N& D# k6 q! a  x
  244. - I9 a' m6 R0 w. [, O: `
  245. PROADPLA:                ;出栈
    % Y5 }% m: Q1 S* G* p6 i
  246. PLA- A9 h: e8 z7 y# E( W4 \2 r
  247. STA $B8, q2 L, j: _; X% O" R0 M
  248. PLA
    ( O6 A9 K8 k9 o! L8 {% r
  249. STA $B9
    7 K. ]9 d2 p  k; d( H: Z  n; X
  250. PLA2 L3 _$ x! V% t- G% m; G
  251. STA $BA
    & h* ^" Q& A' B9 [+ t! K1 o
  252. PLA, {# Y% @8 n' P( T4 @6 y( u. K
  253. STA $BB
    3 V, o) G5 X4 c  G% c& t5 F, X! ^, n
  254. PLA6 q; t( ^" E  C3 Z
  255. STA $BC
    ( a# H9 D% k  E4 \* d
  256. PLA
    ' o+ \' V. F9 X& ?+ H
  257. STA $BD7 w, O; l' `' a# r% Y
  258. CPRE:
    ( ]; h# K8 {: P& f0 `9 j. ]+ L) G
  259. RTS
    , u) T( U1 k8 e1 U

  260. 3 i( ^$ n; b/ R8 Y) V1 k
  261. CLEANA:                ; PPU清空4 U% o' ]: r# P4 [4 h: G
  262. LDA $BD9 I' q" y. B& g) b/ g" {7 o; R
  263. PHA
    , ^  f# M$ H$ C8 z" T8 J1 ?( w" c
  264. LDA $BC
    ; J- o' b2 _0 J" B2 Z2 _
  265. PHA
    1 b* |( S. T5 j- O' h
  266. LDA $BB
    ( h: b! F+ d; a- v, c
  267. PHA
    6 q: a# p7 ?. o/ m; a; j
  268. LDA $BA
    / n2 T6 ]. }/ e# n9 O
  269. PHA
    3 U9 u2 Y5 \5 J, X" `+ G
  270. LDA $B9
    8 a; m) H: d8 @% b0 r
  271. PHA
    % x5 j% o2 a) Z$ S
  272. LDA $B8' k' _  O" l% T7 y; Y( l
  273. PHA
    " C" |3 `  s- O7 b% f) d! [
  274. LDA #$00
    ! O8 X  F7 B! }% |3 A
  275. STA $B8
    4 z6 U7 v  ?3 w/ j( w8 \) e& W
  276. STA $B9  I9 ~, S4 ~0 {! _
  277. STA $BA& D* n! q: p% `8 }+ `
  278. STA $BB( B. @8 A( y: D
  279. STA $BC# A" X0 }! V& ?+ G! l8 M
  280. STA $BD1 r3 r% G3 N$ o8 u
  281. STA $2001
    4 A, L/ K# W0 ?' S! l
  282. LDX #$00
    & |* b* `2 Y/ A' T6 |- _) u
  283. LDY #$00+ Q  L1 }/ y3 |9 O/ V
  284. LDA #$00
    # Z5 I( [# a' z: }2 C4 O
  285. STA $BA+ [* g. N. z+ \
  286. LDA #$203 d- Z/ p  ?, V2 ^+ Z
  287. STA $BB! T9 i" G5 d  Y0 U

  288. 7 v8 c5 c" i- ]" `. S' A
  289. CL1:
    , V7 X2 I: |) h7 L
  290. LDA $BB
    3 D- K0 ]7 D2 [' t+ F# f
  291. CMP #$287 s  J. L4 I9 G. S0 |  O- l
  292. BNE CL2- E. s5 h  o( R2 p' s4 @, `
  293. LDA $BA
    5 Z0 I- y! o% J3 p2 G: a: ^
  294. CMP #$008 w2 w2 `# x8 y* S) h% q
  295. BEQ FREEWRIYE# r* B) _- }  p" N4 X8 x2 s; L$ ?

  296. / G  R) t1 C$ E4 C
  297. CL2:" l, @0 e/ S* d; N
  298. LDA $BB$ P7 B) \8 I- W+ A7 u6 ?6 w
  299. STA $2006
    8 ^8 _8 S! u; _5 D& x' p
  300. LDA $BA* U! w, I4 |3 L' |+ N- C7 u
  301. STA $2006' r; }% L0 N" C/ J

  302. % P" A" Z" _) W( W( x
  303. CL3:
    0 x. U6 u2 o) ]% W; G1 E, s( v
  304. LDA #$00
    4 \" u" x5 A" V2 F2 T3 h
  305. STA $2007
    + c- i, N) v2 z% Q% A9 D

  306. * ?& |6 \, s* g# d* R* O
  307. CL4:# o7 P( ~4 U- L5 q" I. y
  308. LDA #$004 _; b* }9 i# J* L7 T
  309. STA $2000) q. v' i+ p) s& \$ e
  310. INX
    ! X6 L  G! T0 F6 D& @1 G$ {
  311. INC $BA
    ; K; d* b9 O& d/ ~- e' [3 z! ^
  312. CPX #$00
    9 U% `# z% o  I5 A' C4 S2 t
  313. BNE CL1
    . V) m6 |2 D6 {$ z
  314. INC $BB1 s2 N" r8 f! H! n8 u
  315. JMP CL1 0 h7 k; y1 m  Z0 E
  316. 4 |) }+ v' j7 W* j
  317. $ C4 v. [1 p# ?: l8 ]' _# _
  318. FREEWRIYE:- ~9 ]% n" ^6 ~  J. y" Y/ s) f$ B
  319. : b2 ?4 y3 \% V! {5 [9 x( R
  320. NOP5 g6 Y9 t0 s0 r& l: Z: F) x, Q- C

  321. 7 k; `: e- ], p# q; X
  322. # o4 k, s- e' m- x  \4 [
  323. 4 B2 q, p$ G9 m+ C% q% x6 ~1 [7 t

  324. 3 [8 V! F0 y7 C3 m
  325. 2 p9 F3 \2 _, }( d7 H
  326. CLEANF:                ; 恢复现场
    ! U" X( i8 U- ?# B5 X) V2 P7 ]

  327. " _% \3 d& ?8 f* S) K, W
  328. PLA* V9 k' P3 b. D9 n, l! _
  329. STA $B80 W& ?1 {% k% Y! l
  330. PLA, D' b: F: n+ b9 T. u( Z
  331. STA $B9
    9 q% P* ~6 t2 Z6 ^, Y% I$ v8 Q. Z
  332. PLA: ?7 T  [; B# I5 z0 S! ]1 u9 d+ G
  333. STA $BA. T! e* \/ f& P; X* G
  334. PLA& t5 d! R" P+ Y3 Q, w
  335. STA $BB/ J9 p  S1 A) Y% W
  336. PLA
    ) w9 E' j% {$ x. ^/ f
  337. STA $BC
    7 s4 Y3 l$ i) l& H; G6 J
  338. PLA
    3 z* v8 n( D( f7 t* X& d
  339. STA $BD
    ' B$ s/ k. M" v# A7 z9 }7 V
  340. CLRF:
    ' u3 ~5 ?* K7 b. E0 Y& X2 |8 B; b2 }
  341. JSR FREE_PPU
    ; o$ {% @  N" r& A: z. Y+ \
  342. RTS
    ' q( r0 I) D0 f
  343. ; [" c' b5 P) q% }2 I

  344. , _; Z9 H7 B$ M2 P3 c
  345. PPUWRITE:    ;PPU写回4 [3 L+ H- o: P# V' }4 X7 U
  346. PLA9 C9 W& O3 J& V: o  j, _/ t
  347. TAY) M- y# o) V5 O* [
  348. PLA, u# B* q; e, _8 K& a
  349. TAX2 H$ c0 U0 `9 C3 f4 ?  l
  350. PLA
      `! U2 x1 y0 c+ C0 x
  351. LDA $25
      T. i0 k5 Z/ t; Q. b" L# J
  352. CMP #$00* N& H/ n4 _/ r. q+ J* y6 o: ]
  353. BEQ WP12 C) P1 B" k  ]6 a
  354. LDA $25
    7 a6 e( v+ S+ d' l; S
  355. CMP #$01
    7 I' D! R; H( X, G8 N
  356. BNE WRE: |8 |0 ]" T' _2 s# U/ _& u) [) z$ m
  357. LDA $F5,X, c" M  L% g% s) b$ J* a; s
  358. AND #$EF' k- J6 K2 Q" }' G
  359. BEQ WRE) Y  T! ~8 K1 }: C3 c
  360. LDA #$00. ]3 a6 `) a2 n% D7 `8 t& v: f/ X! D& g
  361. STA $7FA0
    * z0 Y" A! A$ \# l

  362. . _! [1 S* {0 D$ A" o9 v
  363. WRE:
    0 v" `6 `1 s7 i* ~3 l
  364. RTS6 K8 s9 B4 T  X
  365. 6 d6 @. N8 G! [/ r
  366. WP1:
    2 ^9 m$ Y* z6 E. u( m. y, M, K# D
  367. LDA $7FFF+ T8 |$ g8 e5 [* a: }9 ~
  368. CMP #$FF3 ?, l9 d7 U4 @; Y$ o2 r+ y
  369. BNE WRE0 ^% c6 c7 {6 t1 x# e  p1 L  g1 q
  370. LDA #$00
    5 L; _, v4 h; r2 r5 D0 Q
  371. STA $2001
    ( u: M* W' M- i" H& a9 E/ j
  372. LDA $BD
    ' b8 t8 Q' ^8 }: g) V
  373. PHA$ z* `* U4 f* D+ `6 D
  374. LDA $BC
    ' j2 s4 [; R& o3 G3 d4 K1 _
  375. PHA
    4 e9 E" T; q) p$ D) V, ~6 P
  376. LDA $BB
    3 F9 N) d' P; S8 m1 }
  377. PHA
    ; E- l5 F$ w" r- \1 X
  378. LDA $BA9 M8 Y  R* V% {7 m1 b
  379. PHA0 e* v: D$ P, G/ m+ a2 @
  380. LDA $B9
    9 I6 j6 |* D% A3 O! o8 M! N
  381. PHA
    - L; r5 U: {1 _
  382. LDA $B83 {: a4 [! M: F6 w7 o
  383. PHA
    6 U) j. n5 l% N; h9 h$ c6 @8 ?& Q
  384. LDA #$00  C  b+ O! J& v, s; i7 {9 u
  385. STA $B82 W9 u% D3 `; j2 t( S* d, \8 A
  386. STA $B9
    ( o, g4 x( b) Y0 d: ^: W
  387. STA $BA2 j+ I% V( H6 k* [# O! ], f
  388. STA $BB
    " ~8 q) i, `" h8 S; c
  389. STA $BC5 j" W' t( s' z( ?8 B: K6 ?- m' ?
  390. STA $BD
    & }8 ?2 a2 c( u9 s( W
  391. LDA #$009 S' C) `. A  n; F
  392. STA $7FFF4 ?/ U1 g8 |  b

  393. . P" Z4 e) w. F5 \- r0 Z
  394. WL0:
    4 s4 j3 g; {0 ^8 n. L2 V
  395. LDX #$00
    9 C! V4 a3 ]& U4 c2 F
  396. LDY #$00+ q. F, G  B& l
  397. LDA #$00
    - y5 N  Z. {9 P) s8 Z: r
  398. STA $BA  [. p# U( L3 T8 X
  399. LDA #$20: h/ s0 z/ j/ l; |, g0 h& r! Z: Q- m) t
  400. STA $BB9 N' ]+ E/ `$ b9 q
  401. LDA #$000 b$ s) F% o8 f0 o% A% w
  402. STA $BC
    , B! U; ?( H. L- m  |
  403. LDA #$60
    " h4 w/ w8 P  p6 k, k
  404. STA $BD& a3 u4 C- x* a( V, [- z

  405. 1 G# r7 d. L; E( }; [% ]
  406. WL1:
    8 e; }( Z! r1 \) F+ c: x
  407. LDA $BD5 i& J- S- N/ L) |2 m
  408. CMP #$68
    1 E5 A$ z& d/ L9 `3 _1 J4 J
  409. BNE WL25 w1 I2 a7 v' |% e5 c
  410. LDA $BC
    : H' V7 c; x) ^- P0 D0 ?1 Z
  411. CMP #$00
    7 ~* z5 M3 e# F5 r* j9 P  _; V7 @
  412. BEQ WLR
    . q) s9 Z7 b6 |

  413. $ i" ^: ?7 n" s( i
  414. WL2:* p$ ]0 a6 P& \' M9 w. j4 l) O
  415. LDA $BD- U$ p% c0 T9 f; E
  416. STA $2006! Z1 e1 k8 l* B5 e5 C0 y
  417. LDA $BC. b4 s8 ]$ ?, l
  418. STA $20068 b9 g2 S' k" q$ w% |7 d" Z( |3 X& H' v
  419. $ P4 B5 K5 ~5 R7 O+ S% ^
  420. WL3:
    ! U+ p! [; y+ u: h+ h9 \4 h
  421. LDA ($BC),Y: {& E. k( z" d2 H  k
  422. STA $2007
    + R* R8 ]$ t9 ~# F- B0 C$ d

  423. 9 B! Q$ x$ R7 s4 d. V7 E+ T2 v* }
  424. WL4:* P2 ~# O6 C8 t% ^2 z. D* ]
  425. LDA #$00
    5 x( P" h& }6 p' R
  426. STA $2000
    * L! x  e: ~  P! C4 @5 }( g) g& {9 b% \
  427. INX5 B4 y/ q% d  _; x# n- b5 J7 G
  428. INC $BA" @4 k# m. U) Z1 A6 ]( R; t( k
  429. INC $BC5 w, J7 z7 t( |
  430. CPX #$009 y8 e& P  S! {% q2 m. M) Q& B: ~+ S1 o
  431. BNE WL18 W! u% ]) z* q5 @
  432. INC $BB
    * R' I% m- S# m. L* P9 V. _2 s
  433. INC $BD
    1 T& o, e. Y( ^& z+ K. @% R
  434. JMP WL16 \+ m  u( F, }% ^5 f8 P  u# J

  435. 7 `* l' ~, q% k9 L3 ^
  436. WLR:! ~6 p7 F7 I$ K0 _# l" K5 s  ~
  437. LDX #$00
    # T! i! }# K" l- A' y
  438. COPY_7F00_7F3F:: \0 a' ?& K# g4 _+ G
  439. LDA $7F00,X/ N; b/ t1 q2 [
  440. STA $07C0,X7 X" Z: @/ ~0 \, n
  441. INX' j( M0 k  o& q# v+ y
  442. CPX #$40. Z2 w% n# w( x2 r
  443. BCC COPY_7F00_7F3F, n: z& n8 @; v" l  N7 D

  444. 9 ~4 ]- v0 N6 Q, l( A$ [$ V2 M
  445. LDX #$00
    6 H, A7 n6 \( J, z2 ]7 E8 v! A
  446. LDA #$3F
    ! x8 V+ p' D# i, L; P* J
  447. STA $20066 U+ x( }, H0 t/ r! w- }
  448. LDA #$008 H% V  W" e" v7 |' r) I
  449. STA $2006* j" \) y" X9 _: ?" r/ t, q
  450. COPY_7F00_7F10:, C* N' L# p! p; z7 L' p
  451. LDA $7C0,X; ]' Z! G8 v0 u2 \6 ?
  452. STA $20072 B. Q8 c; e) E; j  d1 Q
  453. INX7 ~9 m4 l2 {( p
  454. CPX #$10( [8 w! Z9 J0 I5 Z
  455. BCC COPY_7F00_7F104 F# g+ r$ W9 N1 g- W/ i

  456. . q$ a9 k  v3 [5 O3 Y* n- s5 _2 c. R
  457. LDA $2002
    ; R. u5 L' s% ~4 t+ }$ N
  458. LDA $FD
    7 {9 D9 W8 ^2 U) V' R
  459. STA $2005
    1 p% s8 D2 s* [' J6 @
  460. LDA $FC- }$ ~" _* V% E( E
  461. STA $20058 d; `# z+ Q- d% F% A! r

  462. ; T5 {+ }8 k- y9 I5 \
  463. LDA $7F50
    3 w" Y2 Q0 J$ ~
  464. STA $FE# a7 [. N  |% M% i5 ?) P- @
  465. LDA #$00
    : k& i  Q' K7 [2 Z$ w' c
  466. STA $2000! d# ~  R0 @+ U/ h" x/ S. W: r
  467. PLA6 s6 d# w; y1 e6 [0 h( O- ?! ?
  468. STA $B8
    ( ?( H% h* Y$ [+ |/ R1 `1 N# d
  469. PLA
    $ e. j; E3 Z1 X3 }" N( i
  470. STA $B9
    ! \! j* F  O0 ^5 ]! c* e
  471. PLA
    - P( u' x" D/ G* G6 B
  472. STA $BA
    7 ^; K3 {6 D3 r& q! D
  473. PLA
    9 g7 \* W% m3 q
  474. STA $BB3 O: {0 u6 ]' h! u+ y2 L
  475. PLA7 n9 A( S7 B4 W* U0 W
  476. STA $BC* m0 e. Z& y! r, A; h3 V
  477. PLA
    ) P) e7 y! J) c6 \" T5 B
  478. STA $BD
    - w. E& t2 H% G% f* q9 O( U2 e& f
  479. 5 X3 Q6 b0 b$ Z6 K, |! x* Z+ R
  480. RTS
    9 F% S/ m' K! U) Q, x' q& o
  481. " X( c9 ~  e2 K8 H) R; t
  482. PPU_CMP:. c% B: R! y2 J0 y

  483. - C/ c: g- r5 D' I6 _
  484. + l4 s- g1 B9 h& ^( h
  485. PPURE:$ @! Q8 X' |7 O2 B
  486. RTS. a/ v9 C. o/ q: C# i' h$ a5 s+ {
  487. 6 f2 N7 I- k0 ^

  488. . s  h' t! v2 `1 c* D
  489. FREE_PPU:% W2 d' r3 ~0 z) j5 R$ a

  490. % L- {# Q* z( c3 H9 @. i
  491. JSR TEXT01_PPU
    8 Q) U5 ]6 M9 J1 }5 R9 r6 `, N
  492. JSR $CBC0
    $ f0 Q) b" m3 A
  493. JSR P1_PPU
    ! n# ~6 f: _  b& m2 C& W! V' Y$ Z
  494. JSR P2_PPU$ P# N7 }. A  q; m) b
  495. RTS
    0 {- k8 Z9 ?3 e7 W

  496. 4 R, o/ e( m% W6 c" W& A& S4 M+ @
  497. TEXT01_ADDR:
    2 h/ N" }3 D  K5 e
  498. .BYTE $20,$42
    # q) P7 L- Y' U/ {" ^
  499. TEXT01_DATA:
    & I) _; p$ D1 P# F" ^3 C
  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
    2 a- K# ?2 N. R* |  |
  501. TEXT01_PPU5 U$ l* U+ `& p6 @! r
  502. LDX #$00. w7 y3 ^$ `2 {0 P
  503. LDA TEXT01_ADDR
    ; N1 V$ o6 O7 T* X7 W
  504. STA $0703
    ; E% E& w( D) L2 g6 e; x( |
  505. INX8 `$ S) `+ L% u: |- ]
  506. LDA TEXT01_ADDR,X  K+ h* S! S4 f( O* U& W& y( C
  507. STA $0704
    $ C; s1 X2 Z) i; Y; U& C( s6 r
  508. JSR PPU_PROCESS
    8 n0 Q0 K, |4 d
  509. TEXT01_W:. ~& M  ~* J; X# }9 K2 I/ r( T
  510. LDA TEXT01_DATA,X. O- z9 q- ]  b. t  ]; w# a  d
  511. CMP #CEND
    - F: m$ |6 h# E. j6 R# L
  512. BEQ TEXT01_START+ E1 [; x7 }% I/ N1 e( B  T+ X# c
  513. STA $0705,X# s& ?! M7 g+ C! D1 N+ V
  514. INX4 F& r' @* G; g! x# k  ^
  515. LDA #$008 y9 h" }. }. t0 X
  516. BEQ TEXT01_W# G/ ?9 v  ?- T; o
  517. TEXT01_START:5 i) _( Z, @2 U$ _# X" |
  518. JSR PPU_START& Q2 ?: ?7 Y5 U2 z- X
  519. RTS
    " [+ d% Z- g# E, \6 H/ |
  520. 6 y) a" X2 g# c, R! ]4 i; a
  521. . V7 w' o, F5 v
  522. COLOR_DATA:, l$ e$ F' z  D2 V5 q4 ?8 S
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$285 T- k# g: M, w0 a8 j  P

  524. . A* k5 V& U, C# _" Y* K
  525. P1_PPU:
    ( e( K$ s- [- z( N% Z: {# i
  526. JSR PLAYER_01_PPU0 ?5 z& ~+ f$ s! I  q* q1 Z
  527. JSR $CBC0. \9 S( T2 o6 |; Q
  528. JSR RELIFE_P1_PPU  x$ h. q& D1 [  t- R
  529. JSR $CBC0. E4 R% L% F+ G4 g4 N
  530. JSR RELIFE_NUMBER_P1_PPU1 ^& A$ w" y' j- q# H" c4 D
  531. JSR $CBC0
    8 E* U5 E1 W* t2 l  O1 i
  532. JSR WEAPON_P1_PPU! [4 d7 D+ V2 R
  533. JSR $CBC06 U: o! `) b7 o5 |; ]
  534. JSR BULLETPPU_P1_PPU
    3 s1 Y1 a! i0 D8 r( z9 b* r% ~( R' H
  535. JSR $CBC0' B4 [  k5 ]! t6 R" A0 }+ e4 {* K
  536. RTS, o# ?0 J  A; w

  537.   W# D/ s8 u4 l! o+ ]/ |' w. v$ j, a
  538. P2_PPU:
    6 ?1 @" {: W1 }& Z; \& a1 z6 _
  539. JSR PLAYER_02_PPU( S1 h5 g4 Q2 d1 n1 |; A
  540. JSR $CBC0' _% w# @8 T$ R& X( K3 o
  541. JSR RELIFE_P2_PPU
    # }) Y& `5 \' M  }+ A2 Y) \8 Q7 N
  542. JSR $CBC0
    4 k* k3 H1 n% r2 o& c
  543. JSR RELIFE_NUMBER_P2_PPU
    ) v9 O# t& T) y3 S, G* B
  544. JSR $CBC0; x- `/ y3 o. |
  545. JSR WEAPON_P2_PPU: M4 W4 e! j: s, F+ \
  546. JSR $CBC09 m! t2 s4 n/ l: ~& z- ]& U8 B5 }
  547. JSR BULLETPPU_P2_PPU! H1 T3 G) }% w1 H! ~& D
  548. JSR $CBC06 ?" X8 l4 Y7 \, D2 m% j( \, H
  549. RTS. ^! H- T3 s) g, f$ w

  550. 5 h( W9 L$ X9 r, a

  551. * I& ]1 D) L- F8 B5 b

  552. 6 Z" _. D3 y0 f. l( \, c" s3 U! }
  553. PLAYER_01_ADDR:
    3 A5 w1 G, K5 E+ C  w
  554. .BYTE $20,$A3% G; g' h- `+ r5 o1 t
  555. PLAYER_01_DATA:  x$ m+ v. h8 P# s( F
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    $ s; @9 m/ Z2 f: t1 }- y, ^) b
  557. PLAYER_01_PPU:. o3 R" t- M4 h% N5 y: p/ _7 J( U
  558. LDX #$00
    3 |3 w  a! P9 x) U  r
  559. LDA PLAYER_01_ADDR
    ; \% y" m( ~& h/ S
  560. STA $0703- D* G8 s* x7 p" h6 O, {  m6 C& T8 u
  561. INX
    / k  {3 s$ L3 x. S4 p3 `8 u; l
  562. LDA PLAYER_01_ADDR,X
    ' F- W/ D1 h1 j/ Y! h9 E
  563. STA $0704
    8 h7 v+ x5 `4 P2 t' k$ l4 e
  564. JSR PPU_PROCESS
    + D, F+ f9 l3 L  h9 {, d. U
  565. PLAYER_01_W:# ]4 `% H) x/ {: D- d+ {
  566. LDA PLAYER_01_DATA,X) f! x* d7 ]2 ~! d# F
  567. CMP #CEND
    # J6 J& H% D0 d. ^
  568. BEQ PLAYER_01_START
    ! C+ s& V8 c( [9 t" u
  569. STA $0705,X
    # L: c; N  ?6 X5 h, Z( m
  570. INX
    2 c% L1 C1 A. q- x& u0 J
  571. LDA #$00
    - M; b1 h' _: o) \* ^2 |
  572. BEQ PLAYER_01_W3 b8 I9 j7 f  Q% \2 _( B8 K
  573. PLAYER_01_START:$ S: i( S* R2 U, i8 U/ _& c: M
  574. JSR PPU_START. N# l  c5 \+ E
  575. RTS: D, w, T$ w* ?" O* }
  576.   P6 W* |/ f" i. a

  577. 6 }1 K7 o% I8 N4 i" t
  578. RELIFE_P1_ADDR:
    : d% v1 x3 o$ F" Y4 @
  579. .BYTE $20,$E3
    1 M$ C7 b, G$ g6 C* t" X* C
  580. RELIFE_P1_DATA:
    ! C8 l7 l4 `) ^, k
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    3 q& _/ y5 K9 O# T/ [" `# ?( z
  582. RELIFE_P1_PPU:: O7 Y4 w& J, q. h
  583. LDX #$002 k3 g6 V, \- S5 W. T- d3 N  }; H
  584. LDA RELIFE_P1_ADDR
    / ]% \  ~' E' \5 h, a
  585. STA $0703
    3 W5 Z/ p5 f3 V
  586. INX7 j% Y; Y( i) V7 \" A& F7 T0 R
  587. LDA RELIFE_P1_ADDR,X# b* N* T/ h8 h: X+ X" T9 ?* t
  588. STA $0704
    7 P( X7 R& f9 s* L+ j" x% H
  589. JSR PPU_PROCESS* g/ A0 M% p) k0 F9 C, }( Y# l
  590. RELIFE_P1_W:: V8 q+ |8 D* a
  591. LDA RELIFE_P1_DATA,X
    3 O' d: w  U' K. d
  592. CMP #CEND" z( E( {6 d" I3 J0 k
  593. BEQ RELIFE_P1_START: u9 f: u" P* C! n5 G" |; l) e, t
  594. STA $0705,X
    4 a+ x4 A$ e5 x1 L
  595. INX
    6 z" k% r5 u, H/ ~& w
  596. LDA #$007 T; a7 M0 H' h" J" c
  597. BEQ RELIFE_P1_W
    2 M3 g' O/ b& e
  598. RELIFE_P1_START:
    6 o& q# M! m. z8 r$ f8 ?1 ^
  599. JSR PPU_START
    ) c( {1 H+ }6 |
  600. RTS1 @' f2 g6 m6 E3 D! ~  V- s
  601. * ^% J* i; x8 B: x7 W& W

  602. ) q; K. \% V" I# `- J& f* g
  603. RELIFE_NUMBER_P1_ADDR:
    $ N. K+ w' k( S1 L  ^; E" [/ N
  604. .BYTE $20,$EA
    / T& l+ ]; [/ f, K2 A+ V) r
  605. RELIFE_NUMBER_P1_PPU:
    - d' R$ ]3 g3 t
  606. LDX #$00* H, {7 |. Y) e( n0 i
  607. LDA RELIFE_NUMBER_P1_ADDR
    ) ~  e- G. V. z. u) W  o1 P
  608. STA $07039 P  U+ _% R/ j  g
  609. INX
    2 _, E/ C0 V. P; v6 D
  610. LDA RELIFE_NUMBER_P1_ADDR,X3 f" b3 S% o( {4 c  L3 W
  611. STA $0704: h) b2 M; f' p1 K7 O' y
  612. JSR PPU_PROCESS
    $ T4 \6 q7 k3 n7 D6 R
  613. LDA $32# _  w" \& H$ V$ z" m8 e
  614. JSR LIFETODEC5 H. c; x- J+ q5 F) u
  615. RELIFE_NUMBER_P1_W:0 i: b6 y, W: D, {5 i( C; O& M; z
  616. LDA $7A03
    6 I8 f! F  {& S$ p
  617. STA $0705
    $ v: D) y7 c# D5 N% \' z7 c
  618. INC $07051 N' |5 a  N1 ]7 s' z
  619. LDA $7A045 A* J( e% T8 j6 G& L3 Y+ W
  620. STA $0706
    5 x& x; O# T# L4 i
  621. INC $0706
    : M5 ^1 P( G1 v6 K7 b4 f
  622. LDA $7A05
    7 U0 o2 W# L2 h
  623. STA $0707- b6 A) f* a; U9 e8 h9 a: _2 C& k# }
  624. INC $0707
    ( S6 q7 g5 `: q7 z, _+ z
  625. LDX #$03- e& `, V; D% {! W' s. ]- M
  626. RELIFE_NUMBER_P1_START:! X: d3 m2 U! z" S* }1 h
  627. JSR PPU_START7 Z" E  p; \: r* d% o, S, I; x
  628. RTS
    - J: X# `5 g  A

  629. - w, }& M0 z. }2 g1 k% s
  630. WEAPON_P1_ADDR:3 W! R) @8 Y4 i! c! {) e
  631. .BYTE $21,$231 L" c! u  l4 V0 U4 w8 H1 k& {
  632. WEAPON_P1_DATA:7 X9 q) J) }2 K9 j) s7 p$ y
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    / b2 b8 m2 x) H0 D  X3 D
  634. WEAPON_P1_PPU:1 L6 \$ k. i( ?3 {( o1 M2 J: |
  635. LDX #$00
    : @! b0 T- P( R/ U6 L* q: @) z7 q
  636. LDA WEAPON_P1_ADDR6 @) g# R; v( _- D# g8 _
  637. STA $0703
    & m& x, H' |  I
  638. INX& I* j% N& E! }
  639. LDA WEAPON_P1_ADDR,X
    1 a' l  M$ Y  |( c9 y/ V: `
  640. STA $0704
    , r' I# h  @* j9 g8 K
  641. JSR PPU_PROCESS
    / U; a8 j- a' L- o
  642. WEAPON_P1_W:
    , ~( p! [/ n6 ], k3 n: l  a+ y8 i
  643. LDA WEAPON_P1_DATA,X, J0 R. C6 X, \1 `1 u" C
  644. CMP #CEND
    " O% m& C+ x4 h- a
  645. BEQ WEAPON_P1_START
    4 B- f+ I* Y; M: y# E
  646. STA $0705,X
    3 i5 K  k0 ?0 F( D! ]
  647. INX  K! c; c, g3 J2 U% e
  648. LDA #$00
    6 O$ z* Z* J! o- u  w: ]
  649. BEQ WEAPON_P1_W
    1 x" F; Q7 E9 g2 C
  650. WEAPON_P1_START:" x" R, M1 ~1 w
  651. JSR PPU_START
    / I; N/ h! P& J
  652. RTS! i, o% K! a, [- E7 u

  653. . N) A* }7 e& n* n, Y; m% ?; S3 O; G
  654. BULLET_P1_ADDR:  ~# s; m5 M% d/ _# v+ D2 |
  655. .BYTE $21,$2A
    5 E" X/ ~- W+ S6 b' Y' U
  656. BULLET_P1_DATA:
    4 D1 X8 D5 K4 p9 c+ {/ B
  657. .BYTE $00,$01,$02,$03,$04
    7 y# D) i3 @; I3 _: w0 i' K) I
  658. BULLET_P1_NAME:
    9 x( J0 ?! S8 t
  659. .BYTE CN,CM,CF,CS,CL
    6 [; i3 r- c7 |6 h' R/ y& a

  660. ! C# Q6 H, j$ _' F- r9 t2 |3 a
  661. BULLETPPU_P1_PPU:" G: @- C8 r8 v- y6 i5 w
  662. LDX #$00. l( a8 a# O- g3 m" J9 m; W
  663. LDA BULLET_P1_ADDR
    - E% e2 h' a8 n& f! @8 M; C
  664. STA $0703
    1 h8 D! h, G. \
  665. INX/ ^$ J. M- U* \9 ]6 h  F
  666. LDA BULLET_P1_ADDR,X
    : B, z6 z; e8 a3 h" p- U
  667. STA $07047 b- n3 c5 `2 d/ p% C0 Y0 [; \
  668. JSR PPU_PROCESS
    1 ^' d$ e8 c3 _  L& F4 G* I
  669. BULLET_P1_WRITE:( F0 a9 {) ^1 g$ t, k/ \/ g" |
  670. LDX #$00% M  i# I' H% n: w. l4 s
  671. LDA $AA
    ( r+ Y4 I; l& d, E# e! K7 m
  672. AND #$10
    4 r) h5 l( ~+ U5 m
  673. BEQ C_BULLET_P1
    : s& O* D, z7 p: J- s& l) K
  674. LDA #CS. g* L$ g( W2 o
  675. STA $0705
    4 t$ h& I0 q' M+ L; |8 w- x3 e
  676. BNE B_NAME_P1
    7 b9 p" d  y- d! D) _# a' \
  677. C_BULLET_P1:! N! ]" h; j' o* w
  678. LDA #CC
    5 q) {7 u2 P% j0 i8 A  T; Y. e
  679. STA $0705
    4 p. v/ K8 i( W% N
  680. B_NAME_P1:; r* q/ C: i3 K! R
  681. LDA $AA
    ; U# i  m& O4 V/ f$ r  u: N
  682. AND #$0F. b9 P5 i5 K7 g& ?5 H0 A9 `& ^1 u
  683. CMP BULLET_P1_DATA,X
    ) l6 k, r+ e; j' S6 {/ C' l
  684. BNE B_NAME_P1_RECMP
    & v" Y+ w6 \# M' ~8 e& f0 h
  685. LDA BULLET_P1_NAME,X
    $ t6 U% L5 j7 Q) K0 _' y1 ~
  686. STA $07061 ~& E: F9 Z3 y! t, |
  687. B_NAME_P1_RECMP
    & Q! O; p$ S2 U: k- ?
  688. INX: `- I* K9 p; B6 n& S
  689. CPX #$05
    , U! M% D3 c  X* J+ j+ e
  690. BCC B_NAME_P1
    ) v, D. r- t3 V" N. N% `4 V
  691. LDX #$028 C, b9 ~9 T) G( |% d! j
  692. JSR PPU_START5 l( A) _' f8 G( x. r
  693. RTS! q/ M) E7 s/ [! S
  694. / ]2 d3 e; [. K! n$ X' D3 h1 q

  695. 8 \, x/ B- O/ ~" P
  696. PLAYER_02_ADDR:" K1 S, O8 {2 H; H
  697. .BYTE $20,$B3$ \( `) f9 B) K5 M; p; R2 ]
  698. PLAYER_02_DATA:
    0 f9 O/ @) ?6 S. ?" ]3 j- [
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND. z) k: }7 T9 Z& H
  700. PLAYER_02_PPU:
    2 r% `$ I, L8 x2 P. s! r
  701. LDX #$00
    / ~2 u6 _$ [/ {, O/ x5 N
  702. LDA PLAYER_02_ADDR: C* M0 {* b% U7 T+ ?) i
  703. STA $0703
    $ ^4 o; K, z& I7 c4 n6 l+ a
  704. INX8 X& h. F/ u  j7 L& e" M8 K
  705. LDA PLAYER_02_ADDR,X
    7 }7 U+ w9 {/ }. ]
  706. STA $0704
    + m" b$ m# [! J  Z* V0 H
  707. JSR PPU_PROCESS
    ) u5 f$ ^3 a" R0 [: t7 |
  708. PLAYER_02_W:, }& {! v- o9 v+ `
  709. LDA PLAYER_02_DATA,X
    7 }9 }4 H, _8 ?7 s1 `  s# T- T* x3 B
  710. CMP #CEND
    % M' D: K4 f: T+ f1 Z: [
  711. BEQ PLAYER_02_START; K7 P5 _1 r% x) P, a
  712. STA $0705,X
    ; I9 W( t- T2 o- p; i
  713. INX. s% {: i! u( S, I# g0 Y0 n# T- `
  714. LDA #$00
    5 z8 N" Q7 B2 U" X
  715. BEQ PLAYER_02_W9 j0 @+ f2 [' ?2 T, a- \
  716. PLAYER_02_START:
    * i7 N. ^/ U5 G" e; m+ R; ^
  717. JSR PPU_START
      F8 l) {3 c/ G" g! b
  718. RTS
    ( x6 o9 ]5 H1 K* h' M! @( M

  719. / ?8 Z7 J& H4 T: X" V& o1 W8 E

  720. # z* w6 @- J% C1 M. A. p7 p
  721. RELIFE_P2_ADDR:
    5 j, u, A* i3 |% D2 v' I$ z
  722. .BYTE $20,$F3
    0 l6 c9 T% S: @+ j1 s
  723. RELIFE_P2_DATA:6 g8 m* N9 e) x1 N, j" J$ U
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
      _# J3 g1 Y! \8 S- ^3 s% X
  725. RELIFE_P2_PPU:
    # }( _. v3 K4 v  X) q. H7 i
  726. LDX #$00
    + g: P9 q+ U# q+ p3 K+ g0 a: P
  727. LDA RELIFE_P2_ADDR
    ' V4 V8 A: N) |& B9 N
  728. STA $0703
    5 ]) `. r/ W! A1 v( ~8 K
  729. INX" _0 J' [  d7 u3 b& t  a/ X1 l3 ]4 n
  730. LDA RELIFE_P2_ADDR,X
    . g& W- |' d; \. N3 p
  731. STA $07048 O  E, [$ |. ~$ t% H  E, }
  732. JSR PPU_PROCESS' J( h- Y+ G7 s) f2 ?& V
  733. RELIFE_P2_W:
    1 N. x. E( o3 j
  734. LDA RELIFE_P2_DATA,X! V# t: X( q' U
  735. CMP #CEND3 _% Y% c8 v; I. M- `$ S+ e% ^
  736. BEQ RELIFE_P2_START
      i6 W; e+ m2 p
  737. STA $0705,X
    % b$ B7 }5 m" J: g# _; x
  738. INX, V3 G. S" a3 s8 O3 x9 F( S
  739. LDA #$00  K$ o& G6 s* C! W" a
  740. BEQ RELIFE_P2_W* c" z. n) a9 n
  741. RELIFE_P2_START:3 E# \8 C1 u: I5 n8 T$ ?* e
  742. JSR PPU_START( f; ~8 |" d& s
  743. RTS0 t8 M1 @  o4 p3 ?9 O  j
  744. ! d9 r2 V  t* Q7 x* _+ n

  745. $ S, ^$ `4 q. L  [0 b
  746. RELIFE_NUMBER_P2_ADDR:
    # I3 ?* |! S# Q3 K% c" U% y
  747. .BYTE $20,$FA" e9 j# e& m; K, p5 ]2 f+ ~3 o
  748. RELIFE_NUMBER_P2_PPU:
    5 h0 P# t5 t3 ^& V) G
  749. LDX #$00
    2 K$ l; V% g8 D: E5 b' v) ?2 B3 W
  750. LDA RELIFE_NUMBER_P2_ADDR
    - V' ?" a% k  {: ^
  751. STA $0703
    . V' d& T& j" ~' W! H6 Q: w
  752. INX
    5 h8 T% t0 b9 ]* I5 ^/ i# ]
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    $ c  t+ \: _" Z4 T& Y  Z9 n
  754. STA $0704  T5 I5 |3 b* B: a- D7 [
  755. JSR PPU_PROCESS1 q' M4 W  I; l8 L9 T
  756. LDA $33
    $ C6 y# K- o/ ^! \
  757. JSR LIFETODEC+ b% w: \  w/ x1 `! m$ B; {
  758. RELIFE_NUMBER_P2_W:
    5 s# I" w- R* j7 k7 {" z4 W% R8 t
  759. LDA $7A03
    ; G* L9 B% w# T; |/ O, q
  760. STA $0705/ ~6 m& |8 l0 M. `: `
  761. INC $0705& P! d+ [4 @0 f" J
  762. LDA $7A04% c6 D, U6 B8 R' e4 N
  763. STA $0706
    8 W) l' u8 G3 G% Z* U7 O, ^
  764. INC $0706# u( r6 ^& {6 N/ |, f
  765. LDA $7A05- B, }% z5 ]) R( Q
  766. STA $0707
    ' S7 {+ v& i9 S
  767. INC $0707
    " A5 T+ F7 E0 I0 m/ ]& u
  768. LDX #$03
    ! A) |$ o7 [2 {9 u" U' u' o5 {
  769. RELIFE_NUMBER_P2_START:
    / g# O3 S/ Y; O% k$ L  H. L5 N
  770. JSR PPU_START
    6 I& K& ?' j! Q- V5 O; Z4 Q7 s4 O
  771. RTS: z/ B! v+ R9 c% y

  772. ( F) H8 p, i, t& ~- J3 `, t
  773. WEAPON_P2_ADDR:
    $ m. t/ ]9 I3 t; n2 u- R( n% X7 ^
  774. .BYTE $21,$33
    ; Q/ W8 O1 `5 D3 J; b
  775. WEAPON_P2_DATA:
    + e6 F% n8 M  j+ x
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND+ }5 {! A, {+ _
  777. WEAPON_P2_PPU:) q+ e$ v" k$ M6 I) b2 ]& I
  778. LDX #$00
    $ u; j- `, ~8 ^% J( M
  779. LDA WEAPON_P2_ADDR
    * J# ^8 T- m; _7 [( p) l7 i
  780. STA $0703
    7 M1 ]# |% x3 h4 a& v' G; B
  781. INX
    8 N) x: T' S& h4 g
  782. LDA WEAPON_P2_ADDR,X7 `! h1 `8 R  q# X: Z8 q* \9 h
  783. STA $0704
    ) r9 H+ A, K' a8 M# m8 w% R7 d, O! z
  784. JSR PPU_PROCESS
    # E. f4 E# E  m4 G
  785. WEAPON_P2_W:5 h3 m- L% P! i' r
  786. LDA WEAPON_P2_DATA,X1 u! b. |5 E: W, T* o# q
  787. CMP #CEND
      g* s% g/ ~% c5 c
  788. BEQ WEAPON_P2_START
    , I/ L1 b4 n* |, I* z" S9 J. g
  789. STA $0705,X
    / h! ^, j8 b6 ?
  790. INX  S. T% Z5 W7 t: x4 I/ Y
  791. LDA #$000 i& q0 j# p0 @
  792. BEQ WEAPON_P2_W, C5 @- e- L3 }5 g
  793. WEAPON_P2_START:- g9 S% @0 U% c% _" U
  794. JSR PPU_START
    6 E) V7 I! B  P% T
  795. RTS) i6 p; `+ {3 ^' b, B. G3 l

  796. 2 U! k, {5 E6 s8 m* S; Z* Y$ `
  797. BULLET_P2_ADDR:' [) Z4 A6 K- }2 }1 u
  798. .BYTE $21,$3A, R& C( i; g; C. D+ L
  799. BULLET_P2_DATA:
    : i/ P0 t" O' ^. V8 M
  800. .BYTE $00,$01,$02,$03,$04
    3 R1 l: b. b2 D( \
  801. BULLET_P2_NAME:0 ~' h; n! {+ M& z' @+ P9 M
  802. .BYTE CN,CM,CF,CS,CL
    5 z# K6 d3 ]7 e7 z9 v. k
  803. / v9 Q( k4 `) `7 ^, |9 N# R7 f/ i0 [0 ~
  804. BULLETPPU_P2_PPU:
    ; A$ h- N8 X6 A
  805. LDX #$00$ i* @  C  z0 B  y( {- I( W
  806. LDA BULLET_P2_ADDR
    4 X) X! u5 c( L) i4 Z6 r, ?
  807. STA $0703) m; b- y+ m0 d+ @5 e8 g" r
  808. INX1 F' K$ N" t; M$ }
  809. LDA BULLET_P2_ADDR,X
    7 c# f4 b  Z8 t/ q3 m5 o! H! Q
  810. STA $0704! V3 s2 \  ^7 i" g
  811. JSR PPU_PROCESS
    & t  x+ f  P& X8 j
  812. BULLET_P2_WRITE:
    6 j6 v' ^! g& u5 k% ^# i; \3 k
  813. LDX #$00
    , y7 Y4 x) p  m1 F3 o
  814. LDA $AA
    # c8 H$ O  R5 g
  815. AND #$10
    3 ~8 l* C4 P: r( \( l( k
  816. BEQ C_BULLET_P2
    3 I! R' j! `# x4 {- k
  817. LDA #CS. ?$ n9 y7 E7 p$ |
  818. STA $0705
    " M  r' Y% D0 Q+ X* j$ q! y
  819. BNE B_NAME_P2
    6 N2 ], O1 R; D" ~8 U7 s5 c. M
  820. C_BULLET_P2:
    - m- }) k) [3 q1 s6 e2 j( \  W( h6 f
  821. LDA #CC  {4 U  g6 V, S, A+ M* z7 D- B
  822. STA $0705! R* o! |$ l( f9 Z( p: N8 s
  823. B_NAME_P2:8 x# C1 @, U6 J( I2 c! h, |. [8 |7 u3 H& N
  824. LDA $AB' ]! n' @7 k( C0 e/ q5 N
  825. AND #$0F' w7 R* G3 k4 b* B: m. }2 r8 z
  826. CMP BULLET_P2_DATA,X
    3 W; r- {- M9 ]) j1 r$ X  v0 `$ t
  827. BNE B_NAME_P2_RECMP
    7 ]6 q) P( e+ L* q
  828. LDA BULLET_P2_NAME,X
    4 ~5 J: O  v( ^) @
  829. STA $0706
    : S/ W# C0 _1 R4 r1 \
  830. B_NAME_P2_RECMP' w# T+ E9 B' \; O
  831. INX
    7 s3 q) ~1 z: j0 A) Z" f) x
  832. CPX #$05! Z5 h$ S7 G. Y1 Z/ g2 P4 H
  833. BCC B_NAME_P2# Z" R5 P, C" }9 i$ R3 L
  834. LDX #$02
    - D% _( r! `( }+ r4 z
  835. JSR PPU_START. p1 Z9 _9 \  b
  836. RTS
    $ P5 q, W: |* m0 y
  837. 8 O4 l  x. W0 x4 ^5 w9 g

  838. 6 P1 D; K" G. i1 _. h9 N; v& ]+ T

  839. ( p( _5 E8 S- V; B2 V- L
  840. ! R5 _' f2 S' p* g* i' c6 a1 R
  841. 4 d. k" X+ n% N# F7 T& z

  842. 1 M9 v* L% t4 x, J# @+ ]
  843. LIFETODEC:                ;十进制转换
    ) Q4 o' C: f- S+ U, u5 j* s
  844. LIFEL1:        ;initialise6 Y5 [, }; e* S$ V( C7 O9 ~
  845. STA $7A00        ;$7A00=F3& c) \& ?' j3 L6 e" T' h
  846. LDA #$002 \& a/ E" e' a! }1 k9 @$ _6 q
  847. STA $7A03        ;$7A03=00
    ! I3 o! D. M* f0 x: y6 F
  848. STA $7A04        ;$7A04=00
    ; [* E' `3 l2 u/ e0 C
  849. STA $7A05        ;$7A05=00+ D3 i6 F/ ^! I4 g  h. p
  850. LIFEL2:        ;copy data $7A00 to 6001
    ! F  D$ M  f, \$ R% A
  851. LDA $7A00/ w- q% }5 q8 V9 V5 l: ^
  852. STA $7A01' _" }6 U/ D) ]" w! g4 _
  853. , {2 a$ W  M; P* a' ^. K+ j
  854. LIFEL3:         ;hundred
    # F. U- u  Q6 ~" N9 o
  855. LDA $7A01
    & @& }# w8 ?: S; q
  856. CMP #$64
    3 A7 i1 ~$ E  `5 q- [9 V
  857. BCC LIFEL6                ;$7A01<100 goto L6
    6 P" }# r" K& {
  858. LIFEL4:# `9 a# I, C9 V3 t, {5 T
  859. LDA $7A014 x5 q* ]* }8 Z
  860. SEC
    7 s2 z& F/ y- F' [" i4 U9 o  M( L
  861. SBC #$64        ;$7A01=$7A01-1007 S7 @+ h, }) l) z( j
  862. STA $7A01
    # H7 Y; g/ |- v5 ~
  863. INC $7A03        ;hundred++
    2 z/ ?' Z- o8 o5 B
  864. LIFEL5:9 L: ~3 X4 R9 @1 `# C1 w+ h
  865. LDA $7A01
    5 i  I- o& k# ?, p
  866. CMP #$648 |5 m' z8 N7 t  ~
  867. BCS LIFEL4                ;$7A01>100 goto L4" b  ~# _5 M* j" Z
  868. 4 p9 I. U. r) P% }: Z
  869. LIFEL6:        ;decade
    3 x- n; ], t1 b+ G$ V
  870. LDA $7A01
    2 F0 [# u/ m) U9 s7 a4 C0 q
  871. CMP #$0A  X4 g  L' b: b+ `1 c7 ?
  872. BCC LIFEL9                ;$7A01<10 goto L9
    ( x$ m7 U" s9 B- h) P4 e
  873. LIFEL7:        - u4 k. C( Y0 O1 P4 ^( Y% L. k/ }: D
  874. LDA $7A01
    : l5 M5 F6 [7 A5 O! p  k' K8 W" P
  875. SEC
    / S* P- l! v) g! R, P  [+ M
  876. SBC #$0A
    $ q1 _4 y# W, H" L) r
  877. STA $7A01        ;$7A01=$7A01-10
    # \/ F& }. c: p  j; p
  878. INC $7A04        ;decade++
    2 v! g% [# z; _9 b* l* B
  879. LIFEL8:
    ; k) A1 a* ?4 D3 ]. h
  880. LDA $7A01
      v! l. E" C- c7 M$ g; M4 M
  881. CMP #$0A
    - g+ }4 T$ |0 W& }2 b
  882. BCS LIFEL7                ;$7A01>10 goto L7+ g9 Y( M) H' l, d3 e" p
  883. ;unit
    6 v3 P9 k; ~7 R' G( `3 y% d
  884. LIFEL9:
    7 c+ y. l6 j! b$ h& ~. n% I
  885. LDA $7A01        ;$7A05=$7A01
    3 z% H1 P% e: G# n7 Q  D! i
  886. STA $7A05        ;unit
    , O' h$ N% \, O1 j3 N& ]! e
  887. RTS        ;return
    7 ?4 R; g' e5 p- ~  t! W3 j: J
  888. 2 }9 f$ G& X2 P. z; [  J

  889. , ?: R( h+ q7 c) g, s0 y7 s9 w& a
  890. 8 m" o, ?, g  R/ V' y% r
  891. PPU_PROCESS: ;PPU地址处理程序
    0 O4 ]! ^) {7 Z  S5 k
  892. LDX #$00
    8 u5 s) C4 P' U
  893. LDA $FF
    ! }$ P! m+ ^6 ]3 E
  894. AND #$01
    : ^0 U5 S" n  l+ R: p. l+ @! ^. M1 N
  895. BNE PPU_2400_27C0
    3 N9 Y4 v5 O7 Q# c6 L# Q& t
  896. PPU_2000_23C0: ;命名表1$ u) L2 @9 ^5 ]9 m6 _0 o, j
  897. LDA $0703- c" \4 r: s1 V, u* l' x
  898. AND #$FB
    , T) X% S  ^8 @$ h4 b
  899. STA $0703
    * P4 [, G6 i8 k4 B
  900. RTS8 Q% r$ K& A, ]) A/ R1 n
  901. PPU_2400_27C0: ;命名表2# ?5 m& W% n  p
  902. LDA $0703
    : R# v6 r) g0 i; Q0 Y& S
  903. ORA #$041 y* D6 X, r) {& J+ D1 U
  904. STA $0703
    5 Z; {4 m" k* N, a% ^
  905. RTS
    ) D4 v' ?$ K  l9 t; i& f* l5 x+ B
  906. 8 B/ O, p# d1 |- }( P/ _9 J
  907. PPU_START:  ;PPU数据写入
    $ j3 i5 g2 W# @% |4 @& [
  908. STA $21
    8 h; F1 C9 [1 B; P4 v2 |4 ?! Q  q1 J
  909. STX $0701- o3 o5 V; o; ^2 v
  910. LDA #$00" w5 D* b3 x/ H5 e5 ^# s
  911. STA $0705,X: P/ I$ ^! U$ n) z! Q& x; p
  912. LDA #$01
    & z% A3 ^7 H% T
  913. STA $0700
    8 V0 s5 g4 r: j- c3 A
  914. STA $0702
    + I* ?8 s" J, ~4 u$ [: d/ @
  915. RTS6 }/ V; Z6 Q0 I3 Z4 c4 I& T
  916. ! q2 j* z5 _- x3 s2 [
  917. 5 u+ }# X  h# L0 c0 `

  918. ' u8 ]: a! I& A. w
  919. 2 b& f$ K6 u5 A8 \0 U- d

  920. 4 U' A) i; C0 z2 @3 n

  921. $ f2 d, z1 B" L# C# o" r
复制代码

. Z- d+ g7 ~2 _( ?6 P/ L& d& E

本帖子中包含更多资源

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

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

签到天数: 2137 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!/ ~% f& U; P7 t! K9 ~& T2 T/ \

签到天数: 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:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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