EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    % c: H# Q% m: q0 G0 r5 [# R
  2. 作者:FlameCyclone& C6 u3 R+ \) [' L4 i5 E5 _
  3. 时间:2017.2.12
    / ?1 u2 s, f( v2 k2 {

  4. ; ]8 O6 I$ ^$ M5 m  w
  5. 按键跳转:
    ! ]& k: @% k1 V5 V: D4 E. d
  6.         C1EF:95 F5 94 F1" |# R8 |$ h# t: w
  7.         C1EF:20 70 FB EA3 ?( _& P3 }2 d7 a, d
  8. # F: l# a' s) R
  9. 滚动偏移:
    8 T. G& q/ f; M* T  h( e
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20. k! d3 F% }& h* N* U2 k# [/ c
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    5 V& m2 m1 Y+ w1 W7 ~9 @
  12. ' B3 T* d; T2 Z  P' b
  13. 背景调色板:
    ' P- I8 }" R. Q1 ~5 J8 s
  14.         CF20:9D C0 07
      L# |6 M! o1 L% P0 R, A
  15.         CF20:20 A0 FB
    1 f: y  r; N" l  D* D

  16. 3 O# X7 D: [: q9 R$ X. Q: u
  17. PPU BANK号:
    / }" z: y- g) x: i1 o
  18.         C8C9:9D F4 07* ^3 f, S; _3 ?+ w
  19.         C8C9:20 B0 FB$ `2 b; d! w9 J
  20. ' I5 q* C, s5 G& G' W3 E, a1 e
  21. 按键跳转:
    5 _2 m$ I9 X: [% B
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20+ w% g0 {6 d& b) Q9 x( K
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    , y# J& \6 ~/ }# @
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF6 Z0 Z$ A( Y$ h$ W

  25. 8 n9 Q, P" c$ W6 r; `
  26. 背景调色板:
    " N( [7 }6 K' m3 Q  Q, I+ D; q' ?
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF2 R6 a3 `: x5 \

  28. 6 Y4 G. g1 G# T3 P1 e  @
  29. PPU BANK号:
    : `* L% t* G) j# W6 c4 m0 U
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF2 i7 ]3 P1 _1 C6 B

  31.   \) s  `. K& q3 W4 F- |
  32. 滚动偏移:
    ; {! e* y8 w9 @3 d9 m
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    ) L7 b& S6 m! `5 w6 n) Y2 h
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF7 u  d0 K/ b: s3 e5 e
  35. 4 h& t3 j$ i1 w3 ?
  36. 7 g7 c) j5 S4 d" S2 h6 F3 T
  37. 切BANK后A000:, b) n3 {0 f( z# I* N
  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
    # q3 i9 m+ E, f  f+ c! A1 s9 f

  39. & F, h9 v2 }% e3 m4 w3 r
  40. # {) }* }/ P: a
  41. 6502 simulator:! r. z6 E. Y! F; F" b' N
  42. PPU写入程序:& {+ Q. h, s% g* `8 Z! A4 w7 c
  43. .ORG $A000
    1 [8 b, }) v. M: S# d
  44. CSP = $80
    8 Y6 m: d; n+ G' K* y
  45. C0 = $81
    # n% k# Y3 \+ o0 @% U4 D
  46. C1 = $82: I- u" ]2 c* J2 ^. O7 f8 W; N8 B
  47. C2 = $83, j7 T# V; w, a" u3 R5 n" Y
  48. C3 = $84
    , m$ G. r' y+ r; ?9 {
  49. C4 = $853 h2 v4 w6 b6 [9 P/ M! P7 M
  50. C5 = $86
      C8 K+ F  p9 h5 _
  51. C6 = $87
    1 H- [) w4 C0 S2 y( a
  52. C7 = $88
    - A$ D3 K5 u  D4 E/ p
  53. C8 = $89; _$ h" {  {2 [, ?, n) f
  54. C9 = $8A# A9 t* a( L8 B  h  ^
  55. CA = $8B
    9 H/ A( O0 y6 A8 ^3 F; B
  56. CB = $8C9 \% P7 Q- o" m, G5 A. v3 H- k/ p
  57. CC = $8D
    * D) w/ c+ X4 {
  58. CD = $8E
    / |6 g' Q. u; ], w- H, c
  59. CE = $8F( ]" k9 S( C, Y! }" I. X) A1 ]. B
  60. CF = $900 v1 J/ m* J+ G+ Z, j: ^  E
  61. CG = $91
    1 m; ]  S0 q( b! L
  62. CH = $92
    1 e' G7 ]5 c" o0 k, T
  63. CI = $93
    ! `$ p  f0 p0 p) d: T
  64. CJ = $94
    8 k; ?& T- q/ X" H# ?
  65. CK = $95( n9 W5 o6 R$ ?; v8 `# j- A
  66. CL = $96( i5 A. s% C1 u2 w0 j) v
  67. CM = $97  b% c' ?/ g5 y) V
  68. CN = $98
    / Z% Q! a  G/ t" c& A/ N
  69. CO = $991 w/ v4 s+ q. Z" k1 y5 w
  70. CP = $9A
    5 |' D( L" g) F$ J( R6 x9 X, d
  71. CQ = $9B8 p* P- v; Y7 F5 V: S) C7 T( N
  72. CR = $9C
    5 r) P4 G. \* ~6 y
  73. CS = $9D
    % H) D2 d  @6 d7 Z7 K+ J
  74. CT = $9E
    2 n5 Y1 J* U, `; s: n' J' \+ q4 N
  75. CU = $9F
    2 R/ Y5 l8 a0 h7 T) w: q
  76. CV = $A0
    6 [" P8 {6 F- T  Z: E
  77. CW = $A1  j- H( Z2 Y/ T: @
  78. CX = $A21 h1 V$ J/ h3 b* f, R2 E, F4 @
  79. CY = $A3
    ; s3 X: {) K" k; c( r/ _' U+ l$ W
  80. CZ = $A4
    6 F- _) O, N7 J  N5 n; T( G
  81. CEND = $FF( D1 P: l/ o) S

  82. 0 r% Q1 N, ~' U1 q) o, e. L6 y, A' Z, |

  83. - e8 \/ H6 e7 ^9 }% K$ N
  84. CMP_RE:
    9 M/ D/ C7 h3 u! G
  85. LDA $FF
    7 g$ e2 z. k; ?9 j
  86. AND #$7F
    9 A$ j: G5 x( G1 F: C) S! _
  87. STA $20007 z0 E$ s: @% @8 I# Y
  88. LDA $2002* W8 A% \6 ~# \$ y2 p. `
  89. LDA $25
    : j8 D/ |- N' s0 S
  90. CMP #$01
    # @7 Y/ R& q! E* Q! t
  91. BNE PROREG# {  }; z3 c: N6 X3 Q$ _0 C5 T1 G
  92. LDA $F5,X  l! ]$ b6 t7 F9 U1 N/ p, }
  93. AND #$CF
    , o& s( L1 }- R9 F6 n' F* E1 T7 Q, x
  94. BEQ PROREG' m7 Y! S# t  y
  95. JSR PPU_CMP* [, k; t( G* p( d" N3 |* r
  96. C_RE:
    " h" Z8 S: M7 C, N* w) F; R, X
  97. RTS! H( u" m$ \) F( P5 D
  98. PROREG:
    ' ~+ g, v7 k$ ^4 {9 Y, R
  99. PHA$ |" u* X' F& E, b' z4 x( y5 f
  100. TXA
    . q9 |& O. U/ N* w$ {2 n/ E
  101. PHA
    2 E& s1 h- p# @+ O- }' R- X
  102. TYA, f9 O! A# e9 e( K, j4 w5 i
  103. PHA5 m9 N% `) u/ h% k, s" X
  104. LDA $256 B0 p6 z% P* I' q. `2 V3 \
  105. CMP #$01
    2 r. \3 a) q. l3 K
  106. BNE RE! Z, K0 E' A+ ~9 U% U# N0 {
  107. LDA $010A6 F) e% w% O. M: J0 m: X
  108. CMP #$00! n; S. k9 D2 y+ o2 Q, B
  109. BEQ P17 r* m! B7 j' J/ l

  110. 5 _/ J- {5 F9 l% J2 M
  111. RE:/ L9 w. s  V* \" ~
  112. JMP PPUWRITE
    3 s; N4 V4 }9 ^4 i1 w( u) u

  113. , ~& B0 c1 d; @8 t( p
  114. P1:                ; 条件判断* \& {3 P4 A1 p3 K; Z2 }/ V
  115. LDA $7FFF
    * [; y' c/ `" o# I4 e# [
  116. CMP #$FF  S& E# a! r/ |
  117. BNE P1RP, E4 ^& l; L& ]# T% t
  118. LDA $7FA0
    6 @- S3 l( S% T7 Z* s- t% V
  119. CMP #$00
    / W' I0 |9 @8 q& p# I/ `& D
  120. BNE P1CMP, @" v  E' \; O
  121. LDA #$FF
    + d0 x( U! w2 c) P. W1 X) a) S
  122. STA $7FA06 f7 o6 D  g4 O: h
  123. JSR CLEANA1 H3 ?7 K( U7 z- t
  124. JMP PPUWRITE8 T5 p: s3 E6 u5 A5 K  q( ?- y# j$ Z
  125. P1CMP:
    ) O7 {; C0 b% n5 q
  126. LDA $7FFF* \7 ]. O9 S& q0 K7 M+ ~5 y
  127. CMP #$00" N% |2 ^: {% ]* Q; q* v/ D
  128. BNE RE
    " j7 Y3 O" ^7 |2 g/ G
  129. P1RP:$ n$ w! H7 q( P
  130. LDA $2002
    8 Q" o. f/ Z% R# w0 ^4 l( p8 `4 W
  131. LDA #$00
    6 r* g( ^0 o! T0 W$ j% e1 q& y
  132. STA $2001
    . W3 {% w& b: W( z! {% z* H& h$ P
  133. LDX #$00
    1 J3 c1 T4 v! X- o# B1 N/ O
  134. LDA #$FF& V& w/ G1 N* V8 r- K& f" S
  135. STA $7FFF
    : x$ L, B/ P7 u" C2 |
  136. STA $7FA0
    ( E6 g, t* y0 U, H% V
  137. JSR COPYPPU
    * a# t$ n! n, K% ]0 a# A5 O
  138. PIRP2:
    ! A7 G6 j) o) n! @
  139. JSR CLEANA. X3 f" A# q6 @" N4 D0 z! \3 J
  140. JMP PPUWRITE
    * @" C+ J7 {* r+ L. e2 M3 f, r
  141. ( D% B* X" `; K6 P
  142. COPYPPU:
    : Q6 W/ [7 |" x& i2 E( J! C: U
  143. LDA $FE5 J0 M. q, z& ?* u9 Y8 P; @( @0 ]! L
  144. STA $7F50. F% B4 c6 V8 \: u
  145. LDA #$08* s; ?& i  V" O4 _1 Y% n0 }
  146. STA $FE
    % Z! m/ W( Y8 x" M
  147. L0:7 J  K; \. g' S3 H' q2 d% G
  148. LDX #$00! x5 \9 J3 O: f* I7 N0 [0 i
  149. COPY_07C0_07DF:
    8 S" m% }4 b( l+ A& z  J1 M. [% ~& B
  150. LDA $07C0,X; t. @9 p# K6 s" [
  151. STA $7F00,X  J! z+ D& Z8 u5 A- y! Q& k
  152. INX7 Q4 G$ n& y# I& c1 Z$ g3 N
  153. CPX #$40
    - _, `9 n) D7 g
  154. BCC COPY_07C0_07DF
    ) n8 t. F- e2 G1 a; J
  155. LDX #$00' F7 w& H, w- h5 y- p( p
  156. PPU_07F4_07F7:  _9 V! e% G( S& T6 u* T1 A
  157. LDA #$00
    : Z$ L6 M9 L" `! ?
  158. STA $07F4,X
    - m3 G8 P% D3 A; A
  159. INX% }& D& G' C5 t7 q; i6 Z
  160. CPX #$042 i8 B" c& m7 k' z- [
  161. BCC PPU_07F4_07F7) }# D2 G( I+ R& O' R0 Y8 m  X) ^) g
  162. LDX #$00* c& ]" g8 z6 Q# K4 d( [
  163. COLOR:; ^7 ?- m6 f3 v% v1 z# L+ J7 a. k
  164. LDA COLOR_DATA,X
    ! f1 g5 u$ z: R! a
  165. STA $07C0,X
    % \2 S/ N' Y% j4 T  _
  166. INX
    4 |8 }( m3 Y9 n
  167. CPX #$108 B7 D: ~( l" c9 d1 B6 I1 H4 W
  168. BCC COLOR
    0 D5 ]) ?9 @9 \" W& u
  169. % d2 @7 @& q5 e8 ^+ I+ G
  170. PPU_COLOR:
    0 M! u6 I: B3 s& r
  171. LDA #$3F' E' |0 l  q9 b, G3 g2 r: Z# J; \
  172. STA $2006
    . D, B1 L. n5 I! l  h4 N
  173. LDA #$00/ @6 `9 a5 i6 q' t
  174. STA $2006
    8 N9 B( {- M4 r2 M
  175. LDX #$00# @4 @; |& a- U2 ^  x9 i
  176. PPU_COLOR_W:
    5 A+ x- T+ m0 G- {1 \$ Q. f
  177. LDA COLOR_DATA,X
    ( t0 i' s' ?7 T6 V. B
  178. STA $20074 z/ g$ I+ S) O7 {) D; ^9 J8 V
  179. INX
    6 l3 H* A' j) H
  180. CPX #$10( a, x0 o' x" |0 m
  181. BCC PPU_COLOR_W
    ( s% d5 ?9 ]4 @  W" a0 n- H% M6 K

  182. # Q8 f% X' q5 c* z3 b( J9 O- L5 ]
  183. . Z' h; B, ^/ A( r9 M
  184. LDX #$006 M9 }/ R5 Y" K' \% i5 @5 Z0 J( a
  185. LDY #$00
    3 k% |* L" b- O, D
  186. LDA $BD7 d8 e( N7 _" `3 z7 V
  187. PHA( I. a; i2 t. a& ]3 A5 Z9 Z1 K
  188. LDA $BC1 z$ r" h# U8 L$ F' x# v
  189. PHA
    # _; Y0 _& S, t3 S
  190. LDA $BB8 k/ y' t8 t3 U" D+ w8 d
  191. PHA# B- Z% Q' p2 ?% d) ]
  192. LDA $BA
    ! c( k+ h$ s& [' n" r1 I
  193. PHA. O: h" y) I; o. Y1 r; Y8 R
  194. LDA $B9- p" z8 _! R0 \4 ?  S
  195. PHA
    / l! ?8 g9 h  I' O) f
  196. LDA $B8
    , D4 N2 J, ?& @/ g; b# B: s: }% o0 ~
  197. PHA" @; A2 h6 l% R7 b9 P8 O" {& ^
  198. LDA #$00
    & S' A0 @) |. _: Z! q
  199. STA $B8- V$ i: F7 l, O: ?
  200. STA $B9' i. Y( N6 q+ B5 d
  201. STA $BA
    * i" S, R1 ~3 u) t
  202. STA $BB
    : l9 B- L4 h$ J8 X! P9 m4 ~
  203. STA $BC
      l3 n  c6 D% d. Y2 G& t) n/ J$ h
  204. STA $BD
    : T/ Y$ K6 W5 E" t* Z0 p1 {, d
  205. LDA #$006 Z: a' H/ [' d  O, F, @6 C' g
  206. STA $BA
    ! u; a. O0 j, b- _! }
  207. LDA #$20" F) |# A% U' P8 E0 Q: a
  208. STA $BB* i" U, e, T, m
  209. LDA #$00
    7 X' u5 j; l  A0 l0 s7 u
  210. STA $BC  ^# P0 g! o) J7 F" g1 ^' q
  211. LDA #$60
    . N/ l  b- L) H: t' m% q0 _6 ^
  212. STA $BD7 |- D3 e3 L5 c2 Z
  213. 6 \  `9 }( o' \6 a5 I: l" [
  214. L1:                ; PPU复制! \  }) h- R" ^. a6 {
  215. LDA $BB
    8 I2 n' x  }, N  X: Q$ x
  216. CMP #$287 P  S$ P' |6 ?$ N' P( M) s! d1 [
  217. BNE L2
    ( f# l' V0 J- G% O- S9 H
  218. LDA $BA) o+ _2 V( k1 L' k
  219. CMP #$00
    " Z/ f6 n- o& {' i, ?4 l) ^
  220. BEQ PROADPLA: h* O$ ?1 }/ S
  221. & v4 w* ~" f( X  n
  222. L2:, Y  S) N4 E; C1 z: T% Z8 D' M
  223. LDA $BB
    ' y& c! }* R7 S" G. C  N
  224. STA $20064 N0 J% @1 k7 o4 Z
  225. LDA $BA
    8 ^& b: F: G7 }5 b
  226. STA $20065 d" G$ ^" w( H1 W2 W/ A% E/ [2 u

  227. * f  t. W4 {7 f) ~6 h. `7 T
  228. L3:
    4 R2 W6 ~' m! O. _* z
  229. LDA $2007$ i5 {6 F- Y, ~
  230. LDA $20075 F8 g, f5 [* W$ z
  231. STA ($BC),Y' |4 h2 i* ^2 y+ v

  232. 0 \3 b* ~8 }/ l* d
  233. L4:% u# ^/ S9 j6 q1 f, T2 f& p
  234. LDA #$008 ^  _  H/ G" C& ^- f& K4 V5 P
  235. STA $2000
    " H9 s- ]5 G* S
  236. INX4 A8 j# \3 J; F( F. H
  237. INC $BA
    " P9 ]1 b. x+ a6 ~/ v
  238. INC $BC
    ! M; a3 D- D2 W; D- Q4 T" D/ F
  239. CPX #$00; Z, i+ a7 Q1 u" R9 i% F, J7 ~
  240. BNE L1
    ( p6 \( P% a1 X5 r+ t
  241. INC $BB# c! V% K  G# W( b1 i9 y' c2 m7 @
  242. INC $BD- h% c# P. o5 t8 y' H( j% Q0 Z9 S
  243. JMP L1, U! b4 `+ |  B  x3 z) ^* }: J* G$ ?
  244. 3 D, I* Q8 q+ K0 O3 s
  245. PROADPLA:                ;出栈
    % u% ^! _* p# Q: M+ R6 d8 E
  246. PLA
    & l& X4 u/ d( {
  247. STA $B8
    7 p; H  `2 l! e  w6 ~! l* g' V: A
  248. PLA9 _% Z* l4 ?7 l
  249. STA $B9
    ) j$ [- B2 Z7 m% g; o6 x  ]# v
  250. PLA1 ~- O5 B/ M7 I4 @! e
  251. STA $BA
    ( F) q, c4 o6 h! g5 I$ T
  252. PLA
    5 {8 m! B$ R! R( A- o- y
  253. STA $BB7 k7 b6 t4 A* @- @# E
  254. PLA
    # O9 `' C0 [( T$ y* n1 z: t7 s
  255. STA $BC3 ~1 Y# p. J- m' f) k+ E' |: o* g
  256. PLA
    7 [6 \9 V0 o( T: E1 A! ^3 z* M' O
  257. STA $BD$ `$ U& M0 `( H. f) ]  f/ V- R
  258. CPRE:
    * z8 \6 P% B0 _" A1 ]
  259. RTS: u( T1 K# r. b( x  d8 G

  260. + O- J6 P$ \, b  R
  261. CLEANA:                ; PPU清空: I0 A% m5 ?$ }0 s2 d1 Z4 J3 G: J# E
  262. LDA $BD+ H1 t+ q4 S7 K# r
  263. PHA
    ; @5 d- K5 a1 \
  264. LDA $BC
    " u7 V9 c  C# [5 E4 g
  265. PHA
    0 [6 \% i  P7 i# |3 Y+ g
  266. LDA $BB
    , ]2 m* R2 H4 ?8 J  {
  267. PHA6 v+ @# J. j8 z4 y6 o9 s3 @
  268. LDA $BA
    * Y3 H6 d" p! c
  269. PHA
    6 C0 }: T, D7 P+ [3 ~& H5 J
  270. LDA $B9" y$ Q& P- K0 d3 h. I- M
  271. PHA( i1 q' x3 ~) B. a
  272. LDA $B8
    . W; m7 O, F! N( g- O# P2 j
  273. PHA
    " p4 h" O$ H% H/ F; k: K
  274. LDA #$00
    5 ^# P+ H! o" h( b2 |0 X
  275. STA $B8. W5 `% v" [( |& r; A
  276. STA $B9. S/ }6 h0 r. _1 F" C) M, _
  277. STA $BA( G# H# D' a6 \4 s( w2 H; |
  278. STA $BB! t" a7 {9 e5 t9 t) [% j
  279. STA $BC" u6 q/ m. |  Z% ^+ h8 o. ~% W7 X
  280. STA $BD
    & ^8 v( w* ]/ F+ v3 E: O+ x! B% ?
  281. STA $2001
    ) X# u0 D- F$ c- |. V
  282. LDX #$009 [) y1 Y. V3 k# F4 h0 t
  283. LDY #$00# V! b, J: j; p( j* E$ S+ D) @: c5 y
  284. LDA #$00* }; ?0 p0 Z2 G5 ]2 y" @
  285. STA $BA
    & R( V8 L$ K0 T1 [5 |: `
  286. LDA #$20
    # L2 c" ?, i# n
  287. STA $BB, x: s. l1 }; A+ x
  288. 0 b0 b! t: P, ~2 e4 K
  289. CL1:
    * H) w. U$ y' j. C  s8 [
  290. LDA $BB
    % P# o) T: o8 V: z' n9 e4 e
  291. CMP #$289 |! R( y# {, Y' p7 F! G
  292. BNE CL23 }; \: D$ _1 d, B0 _
  293. LDA $BA7 P: x0 ?" j- L7 X) p3 k# X, k  f
  294. CMP #$00. _& r9 u3 w8 h5 C; P7 f
  295. BEQ FREEWRIYE" U3 ^& I& t% X: n1 k
  296. : L/ U9 a2 s$ B4 ^6 S
  297. CL2:# Q: K; i( X9 n( V: b( U" T
  298. LDA $BB
    % V' b; T7 m6 d  v
  299. STA $2006
      Y& b5 w* w' U- k
  300. LDA $BA
    1 R, h% ~) q. b& E8 I
  301. STA $2006
    9 I) v( |. v" z3 j! i- e- x9 K6 i
  302. $ T5 j+ Y! v+ B# S! l% c3 @- s8 q# i
  303. CL3:2 H. u9 H+ j3 A6 C$ }) O
  304. LDA #$00
    4 `. ~" z, P5 [
  305. STA $20076 |8 r( @% P) Y

  306. ( G$ _! L2 P8 F1 x/ e% a0 A
  307. CL4:
    1 S) c$ \: C: `! D4 Y4 @7 S# ^; H
  308. LDA #$00
    9 j! ?5 i# M! \- h2 ~0 u# `4 [
  309. STA $20006 }5 X+ e2 g5 J( j7 H" \
  310. INX6 A0 m! N2 z9 p: X
  311. INC $BA
    : U; e2 A( l3 l  Y3 ?
  312. CPX #$00
    ) F" t' U4 Z+ ?  x
  313. BNE CL1
    ; t5 O4 e/ i5 t" Q! z( l  e
  314. INC $BB2 A- \) J; ^1 Z
  315. JMP CL1 , F# Z7 d3 {1 S4 B

  316. 5 g! ^& D! z* a. _; m7 i

  317. " p9 O  y9 h8 M4 a1 e
  318. FREEWRIYE:  K9 }$ k/ x0 A) Y+ t- h
  319. 4 T7 V* Y  M& Z
  320. NOP
    / d2 u& i. M; D4 N! A9 K) u
  321. 9 k* g3 X( t  k( T6 J8 c

  322. 3 @) v- l7 G8 E& M9 m

  323. ) p, R4 n! k  O& g  a' H* a

  324. + b( A. J$ w0 b2 _

  325. & d8 w0 F: C" @4 y; K3 f8 @( p
  326. CLEANF:                ; 恢复现场
    ! G; ~9 U0 R3 X3 m: r4 n( c8 y
  327. 6 G7 Y$ ^) o, S2 G$ ?. s
  328. PLA
    " j8 i+ N7 Z/ s- j
  329. STA $B8
    $ f! U2 h/ X" W
  330. PLA. V% Y# q- `2 P% T3 Z( @) `9 D
  331. STA $B9$ Q% ~4 D' F# \1 f/ @: v* _, c. ]
  332. PLA
    - J4 _( q! X* |$ W  W
  333. STA $BA: A8 O& o) z! y! ?1 \
  334. PLA9 d" J/ f( D) ^- a
  335. STA $BB
    # \  b- @9 h# d: m' `2 Z0 z
  336. PLA4 k) N4 S7 W; p  f7 U" J
  337. STA $BC
    3 w; O9 e" o( r7 Y- {
  338. PLA) u3 U1 _0 _- F
  339. STA $BD+ R7 ^: g0 r% J! x( V$ d
  340. CLRF:$ Z6 h" R. o$ w( k7 W0 r  u6 w
  341. JSR FREE_PPU2 h8 M; g1 e% L7 o
  342. RTS
    ; P2 L' j$ |6 w5 d
  343. ' o  r6 r+ r% J: u
  344. ' g, ~0 d$ }* A, y/ \$ \" w" J
  345. PPUWRITE:    ;PPU写回3 v7 H7 _8 J+ p0 H" ~% b
  346. PLA8 P7 O+ `* Z) j4 l, y$ _8 x
  347. TAY
      {& d- X# I+ d( b: o
  348. PLA
    ' u% l8 m- u* _) z) @4 m
  349. TAX% P# m( O& @) F4 h! ~) b' h
  350. PLA
    : K7 l- N4 G+ j; D; U% ~4 B: S8 D
  351. LDA $258 G: S: B8 R& _4 z8 }$ }3 F2 l
  352. CMP #$00' w/ u; w/ [& t% k' A/ V2 s
  353. BEQ WP1& ~0 f3 [/ M; t" f
  354. LDA $25) [6 f. C: j# D' ^2 C: c9 u2 p, T
  355. CMP #$01& n$ t: d( K0 }3 S
  356. BNE WRE
    $ f+ _2 y( n, J( E* D: q0 C: q$ O
  357. LDA $F5,X3 e$ c( Y: z" L# U
  358. AND #$EF. E- z% I) B4 s7 a  ~( W" q
  359. BEQ WRE" I  B$ S( d$ X. b* q6 n
  360. LDA #$00( F6 i" U7 z1 i: J% s  F
  361. STA $7FA0; N) V' K, B) [

  362. & w. f5 v, Z+ r( t3 Q
  363. WRE:& r8 ^- K( k3 n8 z* O* J  @
  364. RTS8 @7 }; A. \2 q) G8 l4 L9 S

  365.   {& P" q$ B1 {1 a! v2 Z
  366. WP1:
    " J$ X4 {5 M% E, N3 d
  367. LDA $7FFF
    ( i  r! ~7 P) H! o3 `: Y; D- H3 ^
  368. CMP #$FF
    ) Z5 V3 ]& P3 i# K6 ]
  369. BNE WRE
    & q* U: K* h/ o
  370. LDA #$00
    . r! y% d! \# i( d; |
  371. STA $2001: P) p; m+ {$ \( e8 y
  372. LDA $BD/ ?  Y" K$ c- l  d4 {
  373. PHA& K, Q$ b0 B8 s4 c# m
  374. LDA $BC7 i2 R/ }4 }) d5 x* E6 _* z0 {
  375. PHA& N, L# v4 i% R7 ]  ]/ l
  376. LDA $BB9 q% u! j/ Y# m
  377. PHA
    : C! v+ X. p7 N
  378. LDA $BA) _% M/ {5 G" Q3 D# S2 O4 R
  379. PHA" k$ L2 }( J( p" ~
  380. LDA $B94 a0 V1 S+ ]4 m/ G; G
  381. PHA' y  c' l& ~: j+ ?0 A# J9 I- f
  382. LDA $B8
    3 i6 L* A  A. Q2 ^- I" c) C) e1 W# }
  383. PHA; m) n6 p; a2 F/ F2 p( q
  384. LDA #$007 r. R1 u7 }0 k" c5 _
  385. STA $B8" P. a" M1 S+ a1 `- |* x
  386. STA $B9
    : G/ p0 j  T8 L, o
  387. STA $BA
    ) q# u9 p5 n! s# S% ]- G" c
  388. STA $BB
    ' k0 L1 X3 {$ _7 ?. `
  389. STA $BC
    + M, @9 W* v5 }3 }5 v# b
  390. STA $BD
    , Y( ]8 a/ e/ q3 {8 o
  391. LDA #$00
    ; D$ X; [% o( O' \1 A! H
  392. STA $7FFF
    ! `0 ~5 g4 }  c0 E
  393. - P" C+ a0 I! Z0 t$ e% W
  394. WL0:
    " p2 @/ k3 G1 M. ?' G1 }" K
  395. LDX #$00% {+ d; v* Y: |- `' @# h
  396. LDY #$00
    # |/ D% T* r' b, |% @2 e$ Q
  397. LDA #$00
    9 D, w1 Q/ P% G5 B: w7 v
  398. STA $BA) S* o$ O3 _. D* r8 g' j
  399. LDA #$20
    " a! N! C3 ^7 _7 k' c* `+ b4 S+ U
  400. STA $BB
    $ I  a* f- Y6 s- i) c" \# b
  401. LDA #$00
    - `/ p7 i  V4 N( @
  402. STA $BC0 Y- R9 ~7 a/ f! Z. Z& K& E0 E
  403. LDA #$60; o7 L0 j. [  g: h: }0 q; T
  404. STA $BD
    9 j$ F. }4 B" X7 }% M& N) d; q

  405.   S! y; h+ u4 K" b7 \9 G
  406. WL1:( w$ _' a4 Y: v3 X  ~6 t6 w% p% G1 B8 `9 O
  407. LDA $BD! B2 `( M5 |8 S
  408. CMP #$68
    8 q# e" C! m7 K/ h$ ?
  409. BNE WL2& c" l- |) r  b! B4 R
  410. LDA $BC: H0 K1 V+ T2 ?9 Q4 U7 U8 B
  411. CMP #$00
    ) N( H; g: h* _0 x% s. g+ [
  412. BEQ WLR
    + r' B- D& F5 S& P$ \, O& o8 |

  413.   t8 B! K4 C* e
  414. WL2:5 X6 i! i7 q1 \% G
  415. LDA $BD7 q0 ]6 n6 s4 H- x- P7 Y$ ~
  416. STA $2006
    - A, C) v2 w6 h8 [. x& f2 ~
  417. LDA $BC
    " a4 K& k! k+ a9 d, I, h0 ^- c
  418. STA $2006
    " P$ a- ?5 f* o) E. W
  419. " \5 p4 w" w: ~' j' R$ Q
  420. WL3:
    . E  S! Q1 G* V$ M; q' h2 d  j' F
  421. LDA ($BC),Y
    / l# |* K  \. r+ B3 q0 c
  422. STA $2007
    % U7 c$ N: e; C# g) N: F

  423. 6 [% l: q( l8 L# D$ y
  424. WL4:  U8 Y9 e, K; c' `& I
  425. LDA #$00
    ) R) ]7 [; H; _1 p1 G  `
  426. STA $20008 P$ A) n+ r) r0 P
  427. INX
    # V+ C! k4 u$ f& f
  428. INC $BA6 U7 w* o3 ~; g: e
  429. INC $BC
    : I- I$ m! ^* X0 m8 C/ C
  430. CPX #$00
      t5 }3 N) E1 P. }  f" w
  431. BNE WL1
    # H9 i' {: {8 J/ T, A. t$ b( [
  432. INC $BB) N4 \& h6 z+ G; f7 w( U
  433. INC $BD, E' O5 m9 [. u1 u
  434. JMP WL1
    ( b0 s5 u9 u/ z) i3 X2 d
  435. ' X* r3 h0 Z9 L' O: C, y: c
  436. WLR:
    * c# j8 J4 @; h+ s# t
  437. LDX #$004 M* q; i$ R5 }% ]
  438. COPY_7F00_7F3F:
    2 `1 D+ H/ T, A- e3 z7 ^, J7 [
  439. LDA $7F00,X
      [( N/ S9 I8 f! R2 I9 l
  440. STA $07C0,X/ v+ [9 P! w. j8 i% i
  441. INX3 p' S7 y9 ~; L1 v- N+ Q
  442. CPX #$40
    0 e3 N" V" S7 s
  443. BCC COPY_7F00_7F3F9 A( \  @4 e6 p+ @7 S0 f! p
  444. ( C; Q7 j  c6 j2 ?/ ~- S. [# t1 f
  445. LDX #$00/ B4 ]3 F2 W( R; L
  446. LDA #$3F/ o0 w1 \5 |  C7 V: N4 }
  447. STA $20067 P, `. x% c- U
  448. LDA #$00
    % L4 g, @' B( \, U6 i
  449. STA $20060 \5 x- J- `6 N4 r8 s
  450. COPY_7F00_7F10:4 S3 _( K- i% }2 g& k
  451. LDA $7C0,X
    ; \8 _' a* z* d: b1 U
  452. STA $2007. B% g$ W- i" v2 I2 x+ L
  453. INX+ ]- e- U1 @- D
  454. CPX #$10% }& [1 `( E7 V' D* A+ x4 k/ x+ D
  455. BCC COPY_7F00_7F10' O; D6 i& t- {9 Q' x3 @  G
  456. * \! @4 h, F; Z5 J/ C; h. c7 ~& N
  457. LDA $2002
    # ?' t# r. z% L! k8 f2 T
  458. LDA $FD
    & d' O$ n" A  U- A1 j
  459. STA $20051 i; t- g( A; I
  460. LDA $FC
    ! y1 q3 G% `/ h2 }% @2 X; z
  461. STA $2005
    7 t! m8 K8 d- C5 t1 e- h- h* {, U

  462. ! P: ^5 x- c% }/ r, k/ f
  463. LDA $7F50
    ( C, ^4 y' C6 C2 x& T, Z
  464. STA $FE  l2 e! q, {+ v/ L" w1 Y* ?
  465. LDA #$00
    ' Q5 G7 F2 F" m
  466. STA $2000
    " K6 U" ^4 \/ `! {8 l* I
  467. PLA
    , i( P; U3 B$ i& g( g" R
  468. STA $B8( Q3 y- W; {7 t
  469. PLA2 t1 Q: Z: P- @; O& d' Y3 S2 e
  470. STA $B9
    2 r  N' }. ?' U$ F4 W
  471. PLA
    ( i6 a0 p  V5 B4 c7 M! P, `
  472. STA $BA
      ]0 F- ~3 t  i' {8 j$ g1 B
  473. PLA" {2 l" \. K" ^( r9 y! Z
  474. STA $BB5 G  U/ F9 K  d6 q% Y  i' |
  475. PLA9 k4 w1 K& A6 [
  476. STA $BC: M( g" Q+ u% N+ f/ t+ [
  477. PLA
    & w" z" M- Q9 c, N
  478. STA $BD
    5 F9 n- ]/ d; g" m9 K) p
  479. ! y1 k- F* I1 E% S$ V- M
  480. RTS
    ( m% s5 y. Y4 G' B; _% v8 m$ E" R0 H8 f
  481. - k; G) s0 w# k$ P/ Q# P4 F
  482. PPU_CMP:
    9 K7 R( b0 G2 d2 |0 P5 k! W6 F

  483. 8 T# E# d; `/ u' G6 z

  484. $ N, n! _- f/ h: o- ^
  485. PPURE:6 ^$ V( ^6 j4 E
  486. RTS+ X& Z) m. o; @( G! B
  487. $ Y8 n) r0 t, H' f7 \2 v4 f
  488. * c. o! p+ v+ t0 e! r" z3 m! A
  489. FREE_PPU:6 V9 N) Z1 m% q' c' u' f  ^2 Y
  490. & J& z) \7 O% B
  491. JSR TEXT01_PPU9 T9 S* R" P2 Q% Z+ k( v
  492. JSR $CBC0
    + L  [5 S3 P# a
  493. JSR P1_PPU
    * O' ]6 n0 d" S) \# ^2 M. A( O5 n
  494. JSR P2_PPU8 |- \0 B% D) O5 X
  495. RTS5 E9 T: z% c. q0 `! f. r
  496. ( y! ?  A! n/ [* {  @( T
  497. TEXT01_ADDR:- j, q/ c, B5 [% U( z
  498. .BYTE $20,$42% R* U# q) z/ ]) s1 a1 T& C7 Q
  499. TEXT01_DATA:
    / Z  ]1 K, a. ]) a. A
  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) c! i5 M' O, ?1 k3 f% K8 y, l
  501. TEXT01_PPU
    4 r1 b; ?8 z% V9 F0 z
  502. LDX #$000 I; D3 N5 O( H& N
  503. LDA TEXT01_ADDR# U3 ~/ ~4 K9 N- H. Y% E0 Z
  504. STA $07035 p! u6 o4 w5 |* U: a' M
  505. INX
    $ ?$ n4 @  u" h" C) ~# N
  506. LDA TEXT01_ADDR,X
    - r8 Z& ~+ s. a- ^/ B2 Y
  507. STA $0704
    ! ^) s: \+ P9 Q7 q: L6 b: h
  508. JSR PPU_PROCESS* b5 c7 n* N+ s) y6 I
  509. TEXT01_W:! Z) W& D1 \5 D' l( y# K! J
  510. LDA TEXT01_DATA,X
    ' q$ v, M: w+ A' Q3 I2 y$ `
  511. CMP #CEND* x7 F7 L5 x/ |$ T4 O1 j
  512. BEQ TEXT01_START
    # O# w  ~0 |" H1 A4 B* v! e; W" N
  513. STA $0705,X
    0 F1 g$ O" X( u5 v5 {
  514. INX# s7 \& q. H+ M- y+ X
  515. LDA #$00. ]& ^$ h/ ~- H( V  v* A
  516. BEQ TEXT01_W
    " D& E- X, W, y3 ]
  517. TEXT01_START:" M) J5 L4 I. B( C) J. `1 D
  518. JSR PPU_START
    ' |2 g& }1 V, p6 V6 f
  519. RTS: l$ V7 x6 r0 H+ z
  520. : ^+ L% u; U& ~8 M! {
  521. + M! }0 d6 `" L  }2 M( q
  522. COLOR_DATA:- {. y) D% _6 @9 v; r( l! {3 ^
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ; k8 Q- R) _/ o

  524. ' _; Q" v7 _( f  P/ Q
  525. P1_PPU:
    + G2 S5 |  x" X/ e7 b
  526. JSR PLAYER_01_PPU
    , i) O% {+ E) X* N
  527. JSR $CBC0
    4 h1 l. i& S8 C. ~3 \* S4 s2 P5 j
  528. JSR RELIFE_P1_PPU
    0 p/ q* C, T0 ^
  529. JSR $CBC0! ^: }  U/ `8 A, I' ~+ u9 u
  530. JSR RELIFE_NUMBER_P1_PPU' S; x' o5 @! S6 ^2 u. _/ m, m3 H: }/ \+ \
  531. JSR $CBC0. Y1 Z" j5 v) d# G- t, N
  532. JSR WEAPON_P1_PPU
    1 l4 Y' x! ?) O6 h* M, R
  533. JSR $CBC0
    ; l5 ^5 A3 e6 @
  534. JSR BULLETPPU_P1_PPU  `% @+ R2 c- M; W
  535. JSR $CBC0
    , r4 S# d0 L. }8 L& R
  536. RTS! m; B5 p- ^# _6 `

  537. + e/ f/ G$ x) X  I
  538. P2_PPU:
    8 I, P5 r- }' }' k( E! z8 w9 _
  539. JSR PLAYER_02_PPU
    ' M9 T* o8 \/ b
  540. JSR $CBC0
    : i5 z( }- i! l: D5 E  R7 V( C
  541. JSR RELIFE_P2_PPU' @% Y& j, `" d" ^- g: {1 F
  542. JSR $CBC0( p6 v. N7 Q( W% D
  543. JSR RELIFE_NUMBER_P2_PPU
    5 n6 R: r) K% U  M4 O6 G
  544. JSR $CBC0
    7 [+ O; O0 f8 z/ Y: g
  545. JSR WEAPON_P2_PPU) [+ g# ]' f/ e: ?
  546. JSR $CBC05 W1 C9 N8 x: P! ?1 c& E; m
  547. JSR BULLETPPU_P2_PPU- _; M+ U, z4 I" Z# t9 e" s, d
  548. JSR $CBC01 f9 R6 \" o( l8 T
  549. RTS4 E, I; m- q: t2 p3 U& v
  550. 5 b# X7 I' Z6 a4 b  \. G. h
  551. . W: `- }" A1 K5 E' ~: i

  552. % ]+ @; V4 b2 N
  553. PLAYER_01_ADDR:; j% F8 W9 B$ B
  554. .BYTE $20,$A3. G4 u2 r! N' A
  555. PLAYER_01_DATA:
    3 M  ?  {' N4 s1 g& r& ^% ]
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND, W  x+ P' @- b1 G3 o- r
  557. PLAYER_01_PPU:1 U1 Z4 j  _8 ]# _% Q! W
  558. LDX #$00
    / L/ H  a+ d; J5 o* ~: z. F
  559. LDA PLAYER_01_ADDR; a* j3 ]0 H5 L" D
  560. STA $0703
    8 s' e; p! b" @% B7 j
  561. INX
    - [% N0 ~) q6 |) O4 U' z" n
  562. LDA PLAYER_01_ADDR,X
    , H' c2 J/ T' _$ {7 C
  563. STA $0704. g4 x0 x% Z( D: X* i; E
  564. JSR PPU_PROCESS0 e' h* j, a: ]
  565. PLAYER_01_W:
    - G& u& ?4 z/ T4 |) m5 P2 M
  566. LDA PLAYER_01_DATA,X
      \: m) ^7 U! N
  567. CMP #CEND
    / k; k- b6 M+ f! G* c
  568. BEQ PLAYER_01_START
    1 B, @7 F. K* n" l4 R+ m9 e: M7 |
  569. STA $0705,X8 g1 N4 P8 X) @- e. `. ^
  570. INX
    & b$ C8 C# i5 y& \, {4 [- K
  571. LDA #$00
    8 K* i; `  v$ Q+ M% j
  572. BEQ PLAYER_01_W/ N6 U5 d- l" S7 S3 B+ Z0 d% M5 [
  573. PLAYER_01_START:% O! U  T6 ?* Q: F( Z% Q
  574. JSR PPU_START
    9 N# K, l9 e4 J+ g9 ~4 j/ ~
  575. RTS
    ' w, U/ \0 q, l6 W
  576. 6 x* `' `4 B# V2 w
  577. ( O/ I, z# g" C; l% x6 J  s) h
  578. RELIFE_P1_ADDR:7 [) b2 Y0 d$ f& E$ r* A
  579. .BYTE $20,$E3
    " d; a9 G( P) B3 W
  580. RELIFE_P1_DATA:6 y" X0 a' ^# }/ Y" F
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND9 J2 L5 L+ Y4 [& G4 q
  582. RELIFE_P1_PPU:# V) n# t2 j+ W
  583. LDX #$00
    & q$ G; m" H, Z
  584. LDA RELIFE_P1_ADDR
    4 l" ~# z. e2 c2 f" ?
  585. STA $0703* C2 i3 @. @) K$ B% f9 h
  586. INX
    " A0 }( [1 y- T2 }' ~: {1 t
  587. LDA RELIFE_P1_ADDR,X
    - y) C% {& `1 M* E+ k6 s: S3 _
  588. STA $0704% t4 C4 O9 X8 q2 l
  589. JSR PPU_PROCESS
    4 A* W- \  K) Q7 Q  w8 w, s3 q- i, j
  590. RELIFE_P1_W:8 G) c6 z# x' X& q4 r% G6 Q/ j
  591. LDA RELIFE_P1_DATA,X: d( }0 ?  `1 S# v% j: P. |* T
  592. CMP #CEND; Y( [( w4 r0 U
  593. BEQ RELIFE_P1_START1 b. X$ a8 l! E! t3 z+ ~* u
  594. STA $0705,X, t8 m9 e  Z+ y6 S0 s
  595. INX$ u1 J8 Y+ \* _1 Z) N& b
  596. LDA #$004 p+ v7 I2 r5 \# z$ \: f
  597. BEQ RELIFE_P1_W) L4 s! |) Q: P7 ^
  598. RELIFE_P1_START:8 S$ B- j) U. Y# l
  599. JSR PPU_START9 I7 e. h3 C, j2 w
  600. RTS
    6 l5 _# a# d& U( i
  601. 1 M' G8 J( P* a  t+ i7 a% {
  602. ; t5 f( |* f. ?; C5 o9 r! f
  603. RELIFE_NUMBER_P1_ADDR:
      l, m2 T% Q  i; J* Q
  604. .BYTE $20,$EA
    : {, ]. e% L% ~1 Y& o3 Z
  605. RELIFE_NUMBER_P1_PPU:
    $ q( D# B; X+ e# m2 `& ^2 c' {
  606. LDX #$001 h6 N/ ~, y9 d4 f* l6 r8 ~
  607. LDA RELIFE_NUMBER_P1_ADDR3 ]' E; j" f# v8 M; p1 y
  608. STA $0703
    * q, A( H3 M9 ^$ h9 s" [
  609. INX
    & x$ }8 _" `+ ?; k3 w" c8 q9 P
  610. LDA RELIFE_NUMBER_P1_ADDR,X
      u4 X' Q' A' _2 p
  611. STA $0704
    # k9 E1 n; B$ O
  612. JSR PPU_PROCESS
    # M7 k: L/ F+ |
  613. LDA $32/ }1 b2 ^" J0 c; |
  614. JSR LIFETODEC
    ! a  G8 x. l- H4 \
  615. RELIFE_NUMBER_P1_W:
    # p8 [* J* \; ^1 T" R) U1 |
  616. LDA $7A03" h9 U! E9 e% a& T7 u, z0 K3 K
  617. STA $0705$ ?. {& ^7 n: y9 b4 U$ _! M6 [9 z
  618. INC $0705
    9 ]" d' A# F8 M# j! ?. g
  619. LDA $7A04. p) Q/ Q& E  h% _
  620. STA $0706" r! p8 D0 W- u
  621. INC $0706$ _( M/ A2 V' p' R
  622. LDA $7A05$ x. ?6 a; Q1 j" B- Q+ `9 U8 q8 D- H
  623. STA $07074 ^8 c( a/ C, F0 y" a
  624. INC $0707. W/ v* o. f4 P4 T$ Y# H
  625. LDX #$03
    : J$ N' `" l/ X$ Y6 f4 g
  626. RELIFE_NUMBER_P1_START:9 Z( e" `6 q1 g/ c
  627. JSR PPU_START- U( f7 r9 L  G( w, Z+ U; P; }5 |- Q+ o
  628. RTS' V3 Q  R$ |" |8 C; O
  629. # {, {  V' ?/ B' Q! R
  630. WEAPON_P1_ADDR:' u: i* j8 X& _$ u# u
  631. .BYTE $21,$233 I: f: W' q; }) I% s
  632. WEAPON_P1_DATA:
      c2 s) d! w$ l; e! E
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
      `7 ?( ^- M% `
  634. WEAPON_P1_PPU:$ B2 r- X' f% k4 c
  635. LDX #$00: t, l; R% s" G9 z
  636. LDA WEAPON_P1_ADDR
    / k- V* F1 G+ ^4 g9 R5 U! n# p3 x( L# H
  637. STA $0703* d' A4 }+ j* I/ z
  638. INX
    / V; I6 d" R- r9 z
  639. LDA WEAPON_P1_ADDR,X
    . p' ]8 m6 I% k" ]
  640. STA $0704
    : Y8 U8 h" f5 `
  641. JSR PPU_PROCESS
    6 o% Z5 V+ g% O1 V% {! R  L
  642. WEAPON_P1_W:
    4 V, E  h" M: g8 Y( U
  643. LDA WEAPON_P1_DATA,X
    ) ^  O+ f  F, E  ^4 Z$ u: Q
  644. CMP #CEND
    6 c' {# q3 N+ j5 Z- G& b; p9 |
  645. BEQ WEAPON_P1_START' _  ?+ C8 m& g. ~6 l6 I2 e1 _! `: N6 A
  646. STA $0705,X
    + W1 j2 T: l4 R9 t
  647. INX
    1 n( v, l7 o. I  M3 L5 E7 C4 c
  648. LDA #$00
    9 i* z" X4 U; q; w0 \) ~& H
  649. BEQ WEAPON_P1_W
    6 r  K2 w' Y7 M# S2 `
  650. WEAPON_P1_START:' A! Y2 S, r9 z, y) q/ }, A
  651. JSR PPU_START0 K& E2 K2 z0 t# j8 M" A6 M+ K
  652. RTS
    ) ?( K, R" j( j3 S

  653. , ^9 V( n6 q3 |% K: D
  654. BULLET_P1_ADDR:
    ! M: E+ r% ?4 I( g* k/ O  I
  655. .BYTE $21,$2A
    % n/ D2 F7 r2 X: t! ]
  656. BULLET_P1_DATA:
    4 _9 }  \. P; b6 |7 h
  657. .BYTE $00,$01,$02,$03,$04$ G2 S: P" f$ J1 U
  658. BULLET_P1_NAME:. B" ]1 i8 Q6 s. u" B
  659. .BYTE CN,CM,CF,CS,CL
    ) r" g# V  d! E& B3 [

  660. 3 B( z/ m- ?2 q
  661. BULLETPPU_P1_PPU:  ]0 T' c, D+ R& U3 y& F
  662. LDX #$00: i. i8 l4 ?+ c
  663. LDA BULLET_P1_ADDR& h$ {, y; w0 C: V# b/ D5 a. @( \6 O' T
  664. STA $0703
    $ w7 v# a5 ^9 P
  665. INX7 Y) U6 |# l. {& s! ^) F0 U
  666. LDA BULLET_P1_ADDR,X
    0 A4 n6 e/ M' s# H) @- X
  667. STA $07047 V2 M  R! K1 C/ a. i! a
  668. JSR PPU_PROCESS( s' {0 |) T, N
  669. BULLET_P1_WRITE:+ _; `3 ?% E; H7 r# A1 `3 u
  670. LDX #$00
    0 |+ a, V- Q2 T; a4 W
  671. LDA $AA
    , S5 x4 Q* X+ e
  672. AND #$10
    % n/ p- F+ F6 p# l& S1 `
  673. BEQ C_BULLET_P1
    : _1 W( Q) y" [) @" R# U3 h4 Z
  674. LDA #CS$ Y6 c: n; |$ F4 B! s
  675. STA $07051 t$ D+ v$ |1 C2 @7 {' {' x2 [
  676. BNE B_NAME_P1
    * ?+ S3 o  n0 Z* {9 B! q% c
  677. C_BULLET_P1:
    % A; k) T  I2 z
  678. LDA #CC
    4 K; J8 P3 G* N" p6 R2 u
  679. STA $07058 O# a  e. d5 O# E& ]
  680. B_NAME_P1:+ I$ J# p# u6 Y& s
  681. LDA $AA
    . }. K) l2 D: F" w9 w: B4 n
  682. AND #$0F* w, k& ~& B' a3 Y1 G
  683. CMP BULLET_P1_DATA,X
    9 \/ ~' K* s6 `! s
  684. BNE B_NAME_P1_RECMP5 W! @" @7 x/ _+ {
  685. LDA BULLET_P1_NAME,X
    7 k( ~8 I3 \9 g" R
  686. STA $07065 i" f! \& X# C2 w  E, X
  687. B_NAME_P1_RECMP
    & }+ N  ~' L6 A8 j; R2 f: d( [
  688. INX
    5 X' K4 k- A2 B3 G8 _6 ]8 Y1 J/ \
  689. CPX #$05
    9 t$ o' a  |. e  W/ {+ m  m
  690. BCC B_NAME_P1
    % U1 S. H8 r3 ?0 E
  691. LDX #$02
    ! B7 v# l+ t( ^. Q7 `
  692. JSR PPU_START- J$ X- I# w& x/ c6 B
  693. RTS
    5 w/ e3 E9 R. U9 u+ d
  694. 1 z: ?9 I. C9 ^8 P, _  M
  695. + w  p9 w+ _, n, L- h3 ]1 M
  696. PLAYER_02_ADDR:
    : H0 k# A0 X; y& F) U" o  K6 A
  697. .BYTE $20,$B3
    * X( D+ U1 b1 Z3 W6 a
  698. PLAYER_02_DATA:- \2 z9 {0 E# r" P6 O+ n' N% p
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    9 w; q9 J2 j9 N& s1 m2 G/ `5 N: N  d+ L
  700. PLAYER_02_PPU:( D. f* @; T0 k% C
  701. LDX #$00
    7 p+ K% B" p8 R; t
  702. LDA PLAYER_02_ADDR
    / a. ^$ \, C( r7 N6 s
  703. STA $0703
    7 x- ?+ P* V- S/ n6 A3 z
  704. INX3 v  o8 V' {  I- r* p
  705. LDA PLAYER_02_ADDR,X) |0 M4 N) O5 K& {* u
  706. STA $0704& f" T; o9 ^2 R# \5 j( t
  707. JSR PPU_PROCESS
    $ K. ]% r5 W" ?! Q4 b
  708. PLAYER_02_W:/ D3 R9 B' h$ N) i
  709. LDA PLAYER_02_DATA,X
    : L) _9 I& [% g# U; M' m
  710. CMP #CEND1 z8 |) }( ?( b! S6 E
  711. BEQ PLAYER_02_START
    3 h/ w& a2 d$ H+ s3 A$ y
  712. STA $0705,X$ R" p2 ~# B  |* j) [$ c$ Q
  713. INX$ U. {* q. D+ A
  714. LDA #$00
    & v' Z' q  V( n0 `5 `
  715. BEQ PLAYER_02_W
    * b5 O) U8 {+ t+ n! i3 B. d
  716. PLAYER_02_START:
    # r( U* P1 z1 n" n* X: a
  717. JSR PPU_START, F1 V" p7 ?8 z) H% v9 V; J2 Z+ _
  718. RTS" W- G" K1 F; w8 o

  719. . ~: U! w* P- F% V9 l
  720. 1 Z$ r) P, P& r/ T
  721. RELIFE_P2_ADDR:
    5 D" L5 W/ m$ t4 m0 r% Y0 J
  722. .BYTE $20,$F3
    / i% Q+ a# Z' V1 x/ z, H; N
  723. RELIFE_P2_DATA:
    $ W, Z/ f) v* W/ T7 x
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND1 M! ~0 b5 k6 \
  725. RELIFE_P2_PPU:
    1 m* t. j1 c* Q5 J7 y# R! j
  726. LDX #$00
    9 X; p, g4 E5 o) J5 k
  727. LDA RELIFE_P2_ADDR) `( k" }" j$ J$ Q
  728. STA $0703
    ! w0 }' g5 F- H. e' v
  729. INX
    2 J( w! Y  g* @. ~/ n% ]+ u; t
  730. LDA RELIFE_P2_ADDR,X( ]& Y- z3 Z, X* P" m. F& H/ N
  731. STA $0704
    ; b/ I( w# n$ d) V8 W0 E) f) J6 i
  732. JSR PPU_PROCESS
    0 n3 R, C# Q6 l- ~& @# B
  733. RELIFE_P2_W:
    0 H$ L/ a) n# m9 a* ]5 x6 Z+ Y
  734. LDA RELIFE_P2_DATA,X
    ) S7 h% J: w) ]$ T% \
  735. CMP #CEND6 G: U$ n! {) a' a9 ^
  736. BEQ RELIFE_P2_START/ O4 f. N5 ?4 ]# Q' q$ P+ I( c
  737. STA $0705,X8 S  Z/ h7 O' t
  738. INX
    7 X7 k+ Q! [5 H. U
  739. LDA #$00+ k% v# d3 h# ~4 z! T+ }. K
  740. BEQ RELIFE_P2_W( S( d6 C" ~9 n( V* V
  741. RELIFE_P2_START:
    # k; l6 _$ ?1 M' B" R; h8 k$ P
  742. JSR PPU_START
    " D- Q. o( P) @# n* B* e
  743. RTS
    . P  e' C& X7 m' Q- Z  F' h

  744. - k5 B* a- L" {" ~3 V

  745. 4 e* r$ }5 e1 w" H3 X6 R: L# m# }
  746. RELIFE_NUMBER_P2_ADDR:# D- Y% A3 o2 ]5 ^
  747. .BYTE $20,$FA0 f$ `9 a6 i$ u/ G
  748. RELIFE_NUMBER_P2_PPU:# G; ]+ |4 `: s+ w
  749. LDX #$007 }  F; Y5 U! ?+ G: A
  750. LDA RELIFE_NUMBER_P2_ADDR7 U7 Q4 X" j* M$ ~2 D6 F- N
  751. STA $0703! A5 D( P; Y% k: H* h
  752. INX9 J$ H3 D0 U* V/ Y, N. N& H
  753. LDA RELIFE_NUMBER_P2_ADDR,X- _  X) I6 {  l! v* K: j
  754. STA $0704
    7 ]; }2 s; x6 K7 L, h
  755. JSR PPU_PROCESS: g: ?- M9 M" |, o5 Z* r/ j0 f0 j& e
  756. LDA $33
    . D# A, H  F, m; y9 p% M* N
  757. JSR LIFETODEC
    9 _4 B$ A6 j; M
  758. RELIFE_NUMBER_P2_W:
    % O+ [% G2 U  H; e$ j  {. f2 n
  759. LDA $7A033 S/ V/ j" j6 u2 W
  760. STA $0705
    - n5 s4 ^1 D4 h9 s" G
  761. INC $0705
    , v( c. t4 A3 |. `& i
  762. LDA $7A04
    5 ^# E4 M9 s0 L' U" W
  763. STA $0706' I2 m" n$ ~" Z0 K0 V7 B' |* D( Z# k! T
  764. INC $0706; q  D. L4 p  b# F. M9 H
  765. LDA $7A05- I* c- E3 a! ~6 z
  766. STA $07078 a8 C0 _$ m' y: G
  767. INC $07072 f) E& c# M# l2 o( D* H" X' a
  768. LDX #$030 ?7 d$ n$ @" R
  769. RELIFE_NUMBER_P2_START:& h* n3 D7 r; G! ~5 h
  770. JSR PPU_START3 S0 D+ p9 f" S" i% E( W1 S/ V
  771. RTS" t* v1 c/ g' ^0 ~( Y- u

  772. 7 I0 D6 ]( k- X* H4 t* n
  773. WEAPON_P2_ADDR:1 n& n1 ]; C1 G% \: l" p
  774. .BYTE $21,$33/ a% q: Y% O0 n  {/ r# i* i
  775. WEAPON_P2_DATA:; t  J9 P! Z" {8 \9 s: {
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND7 j7 y4 m& d* {0 r2 Q& @1 z7 _
  777. WEAPON_P2_PPU:5 |6 c* T( |; p
  778. LDX #$00( X( N4 T  b4 |. b1 @
  779. LDA WEAPON_P2_ADDR
    % n$ `1 m7 u& D# u: ]5 c
  780. STA $0703. w8 V5 p3 L/ p1 D0 b& R6 E* t1 U1 }
  781. INX
    # `3 E7 m, @. h
  782. LDA WEAPON_P2_ADDR,X
    : \+ T* j/ |; N
  783. STA $0704: H7 H* Y) `7 M. D
  784. JSR PPU_PROCESS
    2 ]* }0 g( w' m+ f. L! O, h
  785. WEAPON_P2_W:
    $ u8 E2 o% ^& E+ @) ~+ H
  786. LDA WEAPON_P2_DATA,X: M$ j# a* c" Q+ `( M
  787. CMP #CEND
    : b( O1 r( i. S) c/ [: Z
  788. BEQ WEAPON_P2_START
    $ Q" C% F- D3 l7 _1 z. x
  789. STA $0705,X
    $ B2 Q" K: }9 L1 m2 }- i* h  L  _
  790. INX
    ) z9 x) e* T; ?. }3 r
  791. LDA #$00; w; T, B1 B7 |$ U: @6 b5 Q
  792. BEQ WEAPON_P2_W; w- J1 C3 p4 E) ~% I6 W
  793. WEAPON_P2_START:
    8 R, ?+ {4 @: f# F" T$ M
  794. JSR PPU_START! B) |1 n5 t1 f1 x' F, E, r
  795. RTS/ F# F  z: U3 f# l4 h4 s3 i

  796. + p1 a) E7 B% J5 p" u0 q
  797. BULLET_P2_ADDR:7 S/ P6 G. E5 d7 M8 |
  798. .BYTE $21,$3A- |/ F2 d& H; |* Z
  799. BULLET_P2_DATA:9 a5 o6 K, A6 @
  800. .BYTE $00,$01,$02,$03,$04- Z$ d. E" n& |7 }: L% ^" o6 \  w
  801. BULLET_P2_NAME:# x% k1 P* T2 J, l1 D. n: e
  802. .BYTE CN,CM,CF,CS,CL  A. ^8 X5 {: s! R# g4 g) R. a/ B
  803. . d9 z; w3 X& B
  804. BULLETPPU_P2_PPU:  o( T$ B) U- H) [: Y& ^9 m1 Y9 S
  805. LDX #$00" W0 @; i# w0 l' R- C
  806. LDA BULLET_P2_ADDR
    5 m; }9 s% _; w! I
  807. STA $0703
    9 x. |3 a: ?/ q1 G* n
  808. INX
    % i2 B9 ]" y) t& K$ e6 H: _4 e
  809. LDA BULLET_P2_ADDR,X
    ; l# `& H2 E5 o+ C
  810. STA $0704
    5 i) l  A  K6 O1 i$ Q
  811. JSR PPU_PROCESS) [6 A, @* `/ x3 h  O5 ~3 o( s
  812. BULLET_P2_WRITE:
    " _3 [  v6 e8 l% ?$ _5 T
  813. LDX #$00
    " B7 V/ I; k6 ]  W% P
  814. LDA $AA1 S- [  Z, z- R1 y2 z7 H% I
  815. AND #$10
    ; F' C3 R! K% V+ r4 E
  816. BEQ C_BULLET_P2
    + B2 ]  }9 p6 q2 c( c
  817. LDA #CS
    . m% x+ s0 i. |0 l9 c) F
  818. STA $0705
    9 [8 Y( l; v- U' y$ t
  819. BNE B_NAME_P2
    * F- K# f$ g0 a% s1 B
  820. C_BULLET_P2:
    # F# T. F9 s$ X1 \# z1 H
  821. LDA #CC5 G- [* f( M- V7 i6 |
  822. STA $07050 B* q; c) a" K
  823. B_NAME_P2:
    & G* S/ _3 T9 U: Z
  824. LDA $AB, y8 e& i2 l$ m1 V- U  |7 r
  825. AND #$0F! ^8 O4 [' m! z; G, u9 [2 r
  826. CMP BULLET_P2_DATA,X
    1 L  S1 y5 a' v& \0 B6 x. W0 p
  827. BNE B_NAME_P2_RECMP
    3 `/ Q) L! v0 ^1 D; X. k) Z
  828. LDA BULLET_P2_NAME,X
    & X0 q4 V/ ]. r; U4 T0 k
  829. STA $0706
    5 B# ]8 J& P  n# x0 o% b
  830. B_NAME_P2_RECMP
    . I2 B, R  K+ T" |
  831. INX
    * h9 x# u/ `& e/ G
  832. CPX #$05
    % _2 {8 C4 w2 w! C
  833. BCC B_NAME_P2$ W$ i9 `3 P% e: U
  834. LDX #$02( P1 ?$ d4 w& C# I) ~8 X$ {
  835. JSR PPU_START5 j2 A8 [5 ]2 B; e; s
  836. RTS0 H0 R) g! K% ?- K  n

  837. 1 k7 I7 V: w8 R

  838. ! f4 G& H5 y: Q$ k+ d! P, v

  839. * {( ?6 p) s$ C+ b* r2 y+ b

  840. . D& x$ O% x3 W% y5 k% H

  841. % [* a1 U; x2 J! B- F- |: s- g

  842.   K9 L7 t5 f$ N0 x
  843. LIFETODEC:                ;十进制转换% K7 T( g6 W% L3 G( [
  844. LIFEL1:        ;initialise
    9 U6 Z! ]0 U( k# Z
  845. STA $7A00        ;$7A00=F3) S/ k% q( [' x- @! I
  846. LDA #$00+ j; ]) N; D% P( O8 r
  847. STA $7A03        ;$7A03=00
      A8 }, K5 @8 r& g: l; d8 I
  848. STA $7A04        ;$7A04=002 Y" R- S5 P4 E# w* [  v
  849. STA $7A05        ;$7A05=00" i) w, F# w$ T( c
  850. LIFEL2:        ;copy data $7A00 to 60016 h7 K+ R4 I8 @; N
  851. LDA $7A00* r+ F) O% Y3 [& o0 {2 r# W/ S
  852. STA $7A01
    2 @& K& ^( w$ m2 e
  853. ) s+ _1 Q2 E- u
  854. LIFEL3:         ;hundred( @/ @* A. O/ Z, j, |: Z7 {, m
  855. LDA $7A01
    ( b7 J- M& ?/ C' }$ D2 |5 c; z7 _
  856. CMP #$64
    3 a' a/ H3 s5 P+ j) I
  857. BCC LIFEL6                ;$7A01<100 goto L6
    8 M) U1 x2 q7 X6 R
  858. LIFEL4:
    ( P( i- g# z+ `, f9 O
  859. LDA $7A010 g/ }6 G# q' O. J
  860. SEC
    $ _# r- t1 m& L3 {* J1 W' f
  861. SBC #$64        ;$7A01=$7A01-100
    % D0 C) B0 F; t2 ?3 ?( o
  862. STA $7A018 v* Z# D5 {: s
  863. INC $7A03        ;hundred++
    $ \* `7 v2 G$ U, S6 n, g) u; @+ a
  864. LIFEL5:. V, t" A. k) f9 y0 J' R+ G: J; g
  865. LDA $7A01
    * Y: z! J, b! l3 A* p) @1 Q
  866. CMP #$645 o* t" ]2 b/ A* ^- S
  867. BCS LIFEL4                ;$7A01>100 goto L4! ]! i, G# Q; B3 r1 p$ p

  868. 2 _8 T( t7 P  }/ v$ O
  869. LIFEL6:        ;decade3 v) u$ A# h: O/ x. A% k8 V& i
  870. LDA $7A01$ x" k0 K4 o. F3 x7 n
  871. CMP #$0A
    * D6 O8 A$ h$ ~; e; E) |
  872. BCC LIFEL9                ;$7A01<10 goto L9/ L( ~( p( Y# \/ S' r
  873. LIFEL7:       
    3 ^; y+ m6 l( n1 [) j4 `) q& D4 {
  874. LDA $7A01+ E2 G' u6 P: c% N# {( b3 |
  875. SEC( x5 c0 t" [: Q
  876. SBC #$0A
    & e4 G! A# x: P8 Q7 F
  877. STA $7A01        ;$7A01=$7A01-10
    9 O" |- F; Z" s, B. |+ O' O
  878. INC $7A04        ;decade++
    * a4 c: J0 l, c! {5 w  [
  879. LIFEL8:( j5 N+ N. g& C+ H# l1 ]" Q
  880. LDA $7A01
    & m: u0 |5 W2 S. d8 D5 `; ]
  881. CMP #$0A& N: A  n* _* q1 E
  882. BCS LIFEL7                ;$7A01>10 goto L7
    * O9 o- z+ V3 D/ ~* P. y7 Z3 m
  883. ;unit2 m0 T9 |' w0 `# g
  884. LIFEL9:
    & Y* _. w& v: G% \- c
  885. LDA $7A01        ;$7A05=$7A01
    4 S- b: Z& I, h$ p( R5 A2 Z
  886. STA $7A05        ;unit  m" a3 z  x3 @1 t( W
  887. RTS        ;return" [. f7 M4 x5 A. J7 I
  888. ! G, B7 U9 z  j' t# y
  889. " X9 ~; d, q# g* F

  890. ( c3 ?1 u9 o% g/ c
  891. PPU_PROCESS: ;PPU地址处理程序) M' I7 _7 p' f) B" J$ y
  892. LDX #$00
    " o6 G/ ?( w' v: W% P- b; l
  893. LDA $FF
    ! [* z# D( m' }
  894. AND #$01
    3 N" ^$ z# a/ z1 D
  895. BNE PPU_2400_27C04 w' N. r& N) o
  896. PPU_2000_23C0: ;命名表1" m4 i/ F" C- C! B  S; Q
  897. LDA $0703$ Z  q  w; p4 w" a; `
  898. AND #$FB/ @; q3 T! R& J1 e* q9 |3 v
  899. STA $0703  |3 o% J7 r% ]$ n
  900. RTS3 e) b. n4 c# I- q  o2 g: d
  901. PPU_2400_27C0: ;命名表24 \' |1 Q5 M$ b! F/ D
  902. LDA $0703) l* R4 |) `; i* m# f6 [" N
  903. ORA #$041 d# O9 i( J$ g8 L
  904. STA $0703- o. R6 u4 Y6 ?
  905. RTS
    0 U- ?" c2 `, l5 {! l) t( h' l( r

  906. 6 f- L) J1 m$ {4 R0 U2 \
  907. PPU_START:  ;PPU数据写入
    # K+ O6 j0 `& J0 X# A8 v7 ^! N! C
  908. STA $21, a: f9 J) P1 E" c+ l
  909. STX $0701
    ( h- q' G, u1 _' d
  910. LDA #$004 \+ S- l2 j+ T1 b% i7 G
  911. STA $0705,X
    7 _# X' c/ d) Q- e
  912. LDA #$01, P, S& B! H4 N) c2 M3 {! s
  913. STA $0700) E4 q6 A" \$ W9 F" E' e+ Y) P" S
  914. STA $07029 o5 ]. Z2 |9 B$ [  S3 Y# R
  915. RTS
    ) T/ X& A9 e- x6 d! k' }7 w: l( ^) S! X
  916. 7 `8 ]1 L1 P8 N. R
  917. & T/ o9 {% z/ ^, P4 V, P
  918. 3 I  x7 p2 v! _8 k  l
  919. / K% q3 K" e, S) B& U
  920. , |5 U0 u7 d3 o0 ]/ T

  921. $ @' T# `& u' j, F
复制代码

4 ^" O+ ^  G( s+ b

本帖子中包含更多资源

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

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

签到天数: 2257 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!  E* K& n3 `( d0 v. p2 O+ H2 |

签到天数: 2566 天

[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-8-4 10:36 , Processed in 1.133789 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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