EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    % y. f) n7 p  X- A, ]& |
  2. 作者:FlameCyclone6 [9 g/ h* ?" @: Z9 C, x4 a% w
  3. 时间:2017.2.12
    . A  m4 p- y$ {* j; P
  4. ' L4 W/ X' e/ W# t4 H( u" p
  5. 按键跳转:
    0 P0 S* b- t1 s# O* ]) W8 O
  6.         C1EF:95 F5 94 F1  v" l# h1 t/ B" u
  7.         C1EF:20 70 FB EA2 D  \3 E* z8 |; d9 o: D5 v" c% j

  8. 7 H. ^  c7 {; m
  9. 滚动偏移:
    / c8 R& G- Z) Q0 b
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20+ ]# N2 I0 U! z, k2 p3 T
  11.         F936:20 C0 FB EA EA EA EA EA EA EA  H$ T1 a7 K7 u. S$ _3 p

  12. - }) [: ?3 B7 T. u+ N
  13. 背景调色板:( m6 \' W& j/ L% }# M
  14.         CF20:9D C0 07. f9 i) f; w2 x% U7 h) P/ q
  15.         CF20:20 A0 FB
    2 I2 N( @$ M9 O" \/ o" J( U5 G# s1 j

  16. 9 p2 x4 g2 V0 S% K, c/ S; C: ~
  17. PPU BANK号:" i" E$ Y8 b  \# h# e/ V
  18.         C8C9:9D F4 079 @  l, |- M- }8 t% t, X! T
  19.         C8C9:20 B0 FB2 Z- @1 @" Z/ u2 \/ f6 }* Z$ `

  20. 8 L9 r; v4 @; l8 n& u
  21. 按键跳转:
    / f# d9 o- X1 X* `( a' i9 h, k
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    # V6 P6 [" _: ~9 O9 T2 f# w2 X% I
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    : y  ~" e/ W  D& H* D
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF5 b* g7 i$ O& @4 f# w+ y% v

  25. 4 f# _: ^" m" H0 g. @& I
  26. 背景调色板:
    4 }9 y& m6 Y# J  Z+ z
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF1 S9 l; F6 a1 K

  28. $ K5 @6 x& w) }3 n7 a
  29. PPU BANK号:& T/ ~8 z, D+ A' p9 s# L5 O, K
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF$ c9 U- `5 ]4 ?

  31. 2 K# v2 {* p& f9 i/ i7 [6 @7 z
  32. 滚动偏移:' T; V/ J9 Y# x! O
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    " q* v2 K  i% H3 r) x
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF4 J5 Q5 Y3 [8 M: r, j+ d
  35. + Z  S* ], `1 ~( k. M$ N2 J' n

  36. 7 q/ s% P$ ?( Y, Z1 W4 z, R& x
  37. 切BANK后A000:
    & I6 a0 ~" e0 k8 Y. c) v* V
  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 FF9 b* A, G# M: ^8 @% N2 p+ C
  39. 7 O: s8 q  k" W  t2 G2 m

  40. * j) k) ~* a3 z+ e) a) W
  41. 6502 simulator:8 g2 i# n+ i, p9 E( K/ t6 y& Y
  42. PPU写入程序:
    . ^* d4 x- c& o/ H
  43. .ORG $A0005 v1 m2 x6 j) D2 }9 E
  44. CSP = $80
    * M+ F# {& _/ F4 h
  45. C0 = $81
    - @7 C: N+ `$ [& t8 _
  46. C1 = $82
    & Q+ O  H; o& T. N% u1 e- s
  47. C2 = $834 U! |2 D7 S( [& c
  48. C3 = $84' a& e" V$ H7 u1 n' s
  49. C4 = $85
    ' I( f5 Q3 K- S4 \. E: S( l) m! K
  50. C5 = $86: Z7 @2 [8 m' N+ w; Z
  51. C6 = $87
    ; k9 o9 ]: G8 H- V  O4 V
  52. C7 = $88
    3 u1 l  z$ v& {5 P! w- w: `& P
  53. C8 = $89* r9 d3 w6 ]/ y- }) Q
  54. C9 = $8A
    ! Q) B. i  }2 c9 A$ e* v
  55. CA = $8B! a; X. w2 u+ K: @  B
  56. CB = $8C
    $ t% }, M2 {3 K: F& V
  57. CC = $8D' U$ ~, B2 z  h6 I% t8 E# @
  58. CD = $8E2 j% v* ~$ s' E( O
  59. CE = $8F! ~9 L4 Y* U/ n( c1 ^  a5 y
  60. CF = $90
    $ v$ L% g; f: M, D+ ^( I
  61. CG = $91( @3 }; @6 j: |  v- v3 M' k
  62. CH = $929 s, z1 J% G+ \$ `! g# I! G
  63. CI = $93
    , Y1 G4 v9 r# S1 D9 T/ y3 Q
  64. CJ = $94
    - X! T& u+ O+ I" i  V
  65. CK = $95
    % O" l. g1 ]2 J* i; q
  66. CL = $96
    $ g( P( [" x4 M! c8 T
  67. CM = $973 I; k2 K5 R) V# G) \
  68. CN = $98$ u0 _% Q* n: _+ ?; A6 o& E
  69. CO = $99
    ; F$ ~2 v5 v4 |" E6 z; Z4 Z0 a$ Q
  70. CP = $9A' u% ~3 h' ]/ v' B3 T8 d, g/ z
  71. CQ = $9B* G2 g6 f4 ~1 x$ p' p9 d
  72. CR = $9C
    0 X* X& f+ w4 \# b8 }
  73. CS = $9D! A( {3 a/ v3 F- s' E  v
  74. CT = $9E0 W* T: z8 H; d; S2 l, m4 @
  75. CU = $9F
    4 T1 n7 Q" D$ D$ i1 i) H( Y6 V
  76. CV = $A0
    5 G- z8 l) k, D/ B
  77. CW = $A1, Q! m$ J) J3 ]" R# n
  78. CX = $A2+ W9 ?1 o6 ~$ Y; Y
  79. CY = $A3; w) e$ `1 x5 v- c0 V' p
  80. CZ = $A43 u1 G, L. T' x+ Y
  81. CEND = $FF
    ) }4 z, d- g- S5 M# t
  82. 9 T& m1 I+ Y- F* l' c

  83. % Z& z9 d! H8 V& \) J# G
  84. CMP_RE:6 ?$ \8 @$ p8 i* P7 Q, Z$ A# J7 G! ]
  85. LDA $FF
      q) _, o5 c4 O
  86. AND #$7F1 K' g$ I' z3 Q/ h- G& @7 r
  87. STA $2000% G' ]6 e" z$ f$ L" v  h; ?
  88. LDA $2002
    , n4 ~8 V% S0 P* E7 Y
  89. LDA $255 t' n  @! V# j7 F$ B
  90. CMP #$01  h" Y2 _/ |: M( V
  91. BNE PROREG
    7 _9 G8 n  g5 `0 U4 D2 O
  92. LDA $F5,X
    2 x  B$ _; T* _7 F
  93. AND #$CF
    " P9 o0 `: r0 q6 F6 \2 Y
  94. BEQ PROREG
    6 X2 ^& r+ f" H. }4 Y  ]+ a/ a& c
  95. JSR PPU_CMP) Q4 Q. p/ w% v) |. g! `: J
  96. C_RE:
    ; M+ w" |" N0 V' e( _- H) K: z
  97. RTS. T4 d4 I# d1 M
  98. PROREG:9 p1 D* S& o, Z
  99. PHA7 \- W& q( v; P0 ]4 C9 t( ~
  100. TXA: M8 X) i4 Z, P; h1 E0 d' F
  101. PHA5 C  X3 f6 g' F& h
  102. TYA
    / `! N3 r) i4 b2 W
  103. PHA- n2 `5 U) @, j$ f
  104. LDA $25
    & G9 q9 O2 _5 d! F: l$ m: e2 z
  105. CMP #$01. ]4 V3 L; ~6 f& T2 K
  106. BNE RE" O7 u4 U+ C0 B6 K* R$ W6 N
  107. LDA $010A5 ~, o3 m' P# J, F: L4 y
  108. CMP #$00) K: l0 M  Y1 u$ j! I7 Q; b  Y( O- h
  109. BEQ P1
    9 v4 G  J9 |5 P4 O7 E
  110. ' H1 ~5 L8 w9 a
  111. RE:
    1 _( y( v1 g4 ^" G1 j1 \
  112. JMP PPUWRITE
    9 I( i$ I" S7 x$ v3 C7 Z5 X: n
  113. ( p) \4 S: L6 X$ D+ c3 M
  114. P1:                ; 条件判断& |+ [; }/ S0 |8 d
  115. LDA $7FFF8 s' q, Y2 i) t. q- b7 @! Y' d  P
  116. CMP #$FF/ @2 M1 K+ R! `# r8 I1 H
  117. BNE P1RP
    ) S' e/ H3 F5 t" m
  118. LDA $7FA0
    ; B( W$ {7 [+ T; J8 }6 B1 Z
  119. CMP #$00
    % b- L. y, j" @
  120. BNE P1CMP
    , K2 f  _, h6 ~2 i/ [
  121. LDA #$FF
    * t) k4 w6 Y; z4 u$ M2 P
  122. STA $7FA0
    $ x3 v% E7 d' n
  123. JSR CLEANA
      l+ Y) V7 W+ d3 t, u; K9 ^; K
  124. JMP PPUWRITE
    4 p6 j& `: B# i/ j
  125. P1CMP:3 j" _  E% @* F) z8 u4 R1 E
  126. LDA $7FFF8 w' T6 B, v, k' l( Q
  127. CMP #$009 c( C3 S" Q' K7 S7 f9 ~5 {$ M: p
  128. BNE RE
    . o1 K* E7 @  C* f+ V1 ~0 E
  129. P1RP:$ F. j7 A3 H" ~. U/ }
  130. LDA $20020 A2 l: L8 F4 F' p
  131. LDA #$00( @% A. j( `5 r3 E- d4 i8 j# b
  132. STA $2001
    7 g2 L' |; b, _0 U
  133. LDX #$00
    , _8 U7 i  E: j( l
  134. LDA #$FF
    0 l  c3 u$ H7 l
  135. STA $7FFF& p" l. }6 u7 T% z- f, s
  136. STA $7FA06 G! d/ b$ ?! J5 y; `& P, A: ^2 ?
  137. JSR COPYPPU0 ~8 \6 b1 T, |( u( ]5 \1 s
  138. PIRP2:: F. N# V" Y, z  |+ ]0 `
  139. JSR CLEANA/ X( g" W8 c! K5 W- k& X  v6 X
  140. JMP PPUWRITE
    8 ], P  Y, R! `8 B' l

  141. # J, b' J0 D0 J. M4 }6 R
  142. COPYPPU:
    - i) e3 \( R# H, a1 N
  143. LDA $FE
    : m* [) d7 j$ h& w; f' y' y
  144. STA $7F50
    $ y8 A) h* b* M. a. s
  145. LDA #$08
    + `- J3 e: f/ G3 ]4 J
  146. STA $FE+ F  A6 [# r5 f7 A
  147. L0:
    + E; M2 F' j4 F/ g4 X& Z$ o
  148. LDX #$00
    & J( S/ n& {- e0 t6 V
  149. COPY_07C0_07DF:
    0 O5 ]6 a6 R% Z7 l1 L/ q) _% g8 ?
  150. LDA $07C0,X
    " w( m! {% N- B$ C5 f+ u% _
  151. STA $7F00,X  b% a7 }9 j5 S, Z
  152. INX
    ' K3 `- E/ P$ e" l0 z# C/ U
  153. CPX #$408 i( @2 N; l) M/ ^) J$ h& r; k
  154. BCC COPY_07C0_07DF
    $ W- ?# x  L, |% S7 G3 M# G
  155. LDX #$00
    $ f9 u; e9 k( X* A) _
  156. PPU_07F4_07F7:3 `. y/ j1 R, }4 l& v$ F3 j0 E
  157. LDA #$00
    7 S' u1 s6 [! C# E5 W- x3 M0 F3 b
  158. STA $07F4,X
    6 T: b" {7 w( Y) U1 R: o
  159. INX
    . [% G6 \8 I& ^
  160. CPX #$041 L0 n) Q3 B& {) Y4 w6 f! x' V
  161. BCC PPU_07F4_07F7
    7 V0 [* P$ f/ ^+ B; r- X
  162. LDX #$00  h6 H$ T4 p' e, n5 ?$ v3 Q
  163. COLOR:+ \4 O# C! k1 }( R* E4 p- v
  164. LDA COLOR_DATA,X- \, s2 T: O4 A: {5 Z! k5 M- d3 G
  165. STA $07C0,X
    1 A3 n8 [2 E& B3 W% d" H" u
  166. INX) S# j5 n0 {" t( v1 [9 J( o
  167. CPX #$10
    7 K0 r* Y+ O- C" `) \, y- B% ]
  168. BCC COLOR
    2 `# F) z& p! ~2 B! v

  169. ( y9 ^  J. j: X. a1 u
  170. PPU_COLOR:
    3 V5 `. m- g, ]6 d* z! ^
  171. LDA #$3F
    2 ]& D) f  z/ K1 G# z$ g
  172. STA $20066 Z, k7 a0 K& ]7 R
  173. LDA #$00: N; }  D5 m8 ]2 S' C  s& Y
  174. STA $2006
    ) y; q# |) e; n/ ^  d
  175. LDX #$00* Z9 @! D; E! r- B. |6 A
  176. PPU_COLOR_W:. W* m: Z7 \% J, f+ U. K5 I
  177. LDA COLOR_DATA,X
    9 w( w0 [5 ?$ U  Y
  178. STA $2007* F* o  B3 P3 w9 P1 y) [
  179. INX* w$ f7 V  F1 c/ N6 U- \
  180. CPX #$10; K4 T4 z6 a2 {" O( C
  181. BCC PPU_COLOR_W
    3 U5 b; a2 q( v6 D
  182. 7 w& _3 N3 D7 m# `
  183. ! e( n8 z; ]2 X2 i- W/ u
  184. LDX #$00
    - M3 K8 r3 x. {; o5 m2 X6 _
  185. LDY #$00
    + P. v: W, m4 V9 W/ ]$ Y
  186. LDA $BD- U4 M2 F4 M3 n; e8 r
  187. PHA
    7 B8 B0 j2 }3 Y" X6 j. Y. q2 k+ l
  188. LDA $BC
    & S/ H' U6 o0 S8 F. P
  189. PHA$ D+ R- |, v+ P' A# Q6 I. r
  190. LDA $BB8 u' m% e5 H) [) F* C) \9 l5 j& J
  191. PHA
    ' R! C% z/ o/ R9 f1 j9 k2 j; _
  192. LDA $BA
    ' d$ E9 B4 `% Y! @- F. J/ \; }% \
  193. PHA/ t5 {  n9 Q. V! d4 o( l  X: ?6 G
  194. LDA $B9
    0 U; E7 S* f/ F$ x- }) t
  195. PHA
    * d5 M( O3 L; g* ]9 G
  196. LDA $B87 J. J- @  q: O. R/ t; f# W6 F! x' I
  197. PHA
    ) ~. `; f  i8 L: r' L9 r. r
  198. LDA #$00" n/ q. D9 j% A+ h0 w( i
  199. STA $B8: z& Z3 n& x* B! O6 u4 t& r' V: \
  200. STA $B9
    ( e! A6 e! u, n- |( Z
  201. STA $BA" f6 s* K: f) k4 I9 `/ @# c3 U
  202. STA $BB
    4 A8 n$ h( h* T, r: ?
  203. STA $BC
    / |& q7 v7 I6 w8 }- H; Q1 G
  204. STA $BD5 h. C2 Q' s& U" s) l
  205. LDA #$00
    / S5 d% y4 A) a) L8 o* Y
  206. STA $BA
    . q9 W& b% C0 I6 d6 L/ W
  207. LDA #$20- h, i3 P$ p% M
  208. STA $BB) _+ @2 T0 ^  H& E
  209. LDA #$00& e9 H6 Y- _1 _' A1 w
  210. STA $BC3 t- i0 L4 ]& C- [* O$ B/ a1 b
  211. LDA #$603 {, V6 ~5 S5 {! R
  212. STA $BD
    : j& U: x* x- u0 Z
  213. , Z; ]! O! u5 j# H7 V3 t
  214. L1:                ; PPU复制7 S$ ~6 _/ y7 {! J7 T( l+ Z
  215. LDA $BB
    . I1 ~: l8 Z/ W
  216. CMP #$28* x4 [6 ]. u5 k7 R; J; b
  217. BNE L2
    1 ^: \9 z5 k8 O! x1 M6 p% |
  218. LDA $BA7 T4 L# F  G" i0 I  A* Z# _
  219. CMP #$00' K* f( Y* \/ @! R( s- q$ z9 F
  220. BEQ PROADPLA
      }1 w& E8 J( D

  221. ! ]  `% T7 z# r8 t# x
  222. L2:5 |* R# J7 G% L) R, F
  223. LDA $BB
    9 g- `8 m/ `* x7 Y. u# I% g/ k0 m
  224. STA $2006
    : y! k) h3 }; b0 A: P- q) `
  225. LDA $BA
    / t7 f7 o( A: a1 [8 N8 I5 F! B% Z
  226. STA $2006% h) k1 T- ~7 Y( q" m' K
  227. 6 W5 h- m4 L: |' A8 w4 \7 w( P
  228. L3:
    : Q* Z) c8 @6 p* v
  229. LDA $20071 `, ?% f1 `) s9 Q
  230. LDA $2007
    ; d1 z  Q- J" F$ t  ~! p
  231. STA ($BC),Y: M9 o! R$ [- M, J) V. {
  232. ) X2 d9 Y3 F+ X
  233. L4:2 [, m$ v& `' s4 z
  234. LDA #$00$ L: H) s0 K$ ~5 P  t2 K
  235. STA $2000$ S4 _- v7 u2 B  T" E1 j0 ~
  236. INX' P* W/ O# Y$ `3 V
  237. INC $BA
    9 z* U+ @; P  D* U4 B
  238. INC $BC6 g8 O: c: c& e. i. f, g
  239. CPX #$00( M1 G( ^9 \. F9 m2 M% `" f5 Y
  240. BNE L1; G& o3 z9 N8 p- n1 }0 f
  241. INC $BB- c( R. l9 V5 D) K5 G
  242. INC $BD
    ; C" e9 X. c; A
  243. JMP L15 @$ o# ~0 _6 J- J

  244. ; [. ]( L2 Y/ Y
  245. PROADPLA:                ;出栈9 ~. j! I, d8 z$ O. r
  246. PLA
    0 m* U! U3 i7 A7 f: A& _
  247. STA $B8
    ! k% s7 w: z5 S/ f5 H3 C
  248. PLA0 l1 \# d+ ]# J1 y$ J. r7 a
  249. STA $B9: s4 S' N8 e) G& A1 k( R- K5 u
  250. PLA
    8 i3 o; r( o# m
  251. STA $BA
    * e% ?/ h' A4 v1 p& B3 J  s) E
  252. PLA
    ) @* T" r, _" X; [! A2 D  Y
  253. STA $BB
    # M0 A7 z! v) w8 Y$ R, ^, F
  254. PLA1 a& E+ N3 t, v* W- r7 x1 U
  255. STA $BC2 @3 t0 v6 y& ?" ?: s8 [  Z# c( p- u
  256. PLA  F8 w* Q% R/ E: O, x
  257. STA $BD
    ! W% \! X8 p) q7 @- ]
  258. CPRE:
    ( [, F& H& H! o2 t
  259. RTS
    5 v+ @: {' ~3 @; a+ q. p. F# M

  260. % w, t1 j- k) D/ g  _9 s
  261. CLEANA:                ; PPU清空  t9 B! _7 c  D1 d! P# a' _- ?- o
  262. LDA $BD; K. S9 ]: H- C* e- e
  263. PHA
    ; p$ y: {3 Y$ J; {' o/ |! {
  264. LDA $BC
    6 D1 a8 t3 e' }$ {
  265. PHA
    & U# i, E2 u5 }) Y  R6 h8 c" p
  266. LDA $BB5 G5 W; `/ E: N) v  B
  267. PHA0 m+ w; A! }2 ~% U
  268. LDA $BA
    9 b( e- C- `  C& U
  269. PHA8 Z5 x  W8 g0 W. J2 C' o$ {& P
  270. LDA $B99 y) ^" k* l, h* t6 ^/ y
  271. PHA
    ! T+ [8 b! c' v+ u6 q/ v8 o. \5 i
  272. LDA $B83 }# N* r8 x3 [) w6 a4 Z+ f, R, S
  273. PHA
    6 t# W1 i4 ^8 p6 {
  274. LDA #$00. a. C% ]5 Q7 k9 W2 q) f
  275. STA $B8. t6 E1 r. V: u" Y7 t6 |! `* p7 M
  276. STA $B9
    " I8 x: p. {8 B1 ^7 w8 V+ u* e/ _
  277. STA $BA9 E/ v7 m2 ]/ I8 t0 \2 R
  278. STA $BB/ p) I5 A  s4 Z) m: s: y
  279. STA $BC
      b7 Q+ e1 o& t
  280. STA $BD1 M3 m3 ]2 f/ y% R% L
  281. STA $2001
    8 Q/ x. r8 t! w. `8 M& q
  282. LDX #$00
    * e7 v0 _) |4 z+ Q2 `
  283. LDY #$00
    " Z- I! \5 H( L; ^
  284. LDA #$00
    , N% n3 S0 l. P5 A, r8 w
  285. STA $BA
    & b( \$ ~8 j0 A: L. T! f9 }" u" \
  286. LDA #$20- V. X5 u- a( _: k3 x$ p8 @! ^
  287. STA $BB, `  Z! s/ E3 [0 f

  288. 0 U8 j, e, b' q+ {- I
  289. CL1:  H7 T& E6 M  A# J. H/ S
  290. LDA $BB6 D0 \3 [! P2 K) m! x6 a( W' p$ R/ W0 A
  291. CMP #$282 `7 S. w; i7 \  }3 T
  292. BNE CL2
    : Q, h7 x: d$ a* N
  293. LDA $BA
    : n' s( M; M$ X& B" n& L
  294. CMP #$00  i2 E) o$ L; Z$ M  y" y
  295. BEQ FREEWRIYE- d* l$ {5 e# p/ ?

  296. % K9 S) b/ j1 f2 ~: L2 b% ~
  297. CL2:* {  u: d2 g( V% }7 e- q; N
  298. LDA $BB
    ! y  |- D" @# l5 e' J# S; c$ Q
  299. STA $2006
    ! e. l' l& @& P/ m8 G) ^+ N. U. v) W
  300. LDA $BA
    ; h; |' c2 k5 g. E  |. f
  301. STA $2006
    4 g" M/ b; u4 [. ^" J
  302. 2 z  ~' C' H8 f
  303. CL3:
    ) h  u1 i/ r' M7 c9 o
  304. LDA #$00
    " I: p8 i, @: N
  305. STA $2007  m: G4 f: p8 O3 Q' |/ z: {/ Y# w

  306. 2 q  h; G9 s; Z; g& J! u* s
  307. CL4:  ~- x3 M; v2 I+ R- c- o8 X5 N% K
  308. LDA #$001 a( C2 w$ l5 a0 U0 y
  309. STA $2000+ T" s$ d5 c2 @* n5 m
  310. INX0 j$ R# |, w- c$ a. Q6 ^3 Q
  311. INC $BA' T( ~2 L+ a- k; t6 n+ }% j
  312. CPX #$00
    * l# X' ^$ c+ h' F1 u
  313. BNE CL1
    ' F: C1 P& a+ B5 J0 t7 Z
  314. INC $BB! v6 y6 L' x/ M; G2 ]
  315. JMP CL1 2 E1 h6 [  N4 X) N2 F# i/ I

  316. / r3 O& j, R+ P& @

  317. : H2 `4 r, B2 D1 g1 X( T
  318. FREEWRIYE:4 D; S- \+ g! g2 u+ U2 D: a

  319. / `6 V4 U0 R5 F9 ^' s3 p7 V
  320. NOP
    % Q; Z. Y% y2 {' ]- E! h3 @& G" S
  321. . S! w, ~  R3 r5 h( [# n

  322. 4 X/ T2 X5 j" i8 X! K- O
  323. 2 m" H# i; b- ^7 `, [- @5 P) ~. D
  324. : ~( }2 K3 g! r7 W" f5 t
  325. & q% h" ?& \/ b: Q" I) Q5 I& V& P
  326. CLEANF:                ; 恢复现场) c" @7 B  K& E: V; J
  327. * b! o0 V/ Q6 T9 \
  328. PLA& i/ o6 U, T! f$ L& k  y! m) {! [
  329. STA $B8
    % N; N( r& j( E7 r! i
  330. PLA
      C2 s) A# X% w& T" H6 E
  331. STA $B9
    6 Y$ _2 f# I% I; s. ?' m
  332. PLA% _- `( s  Y6 F5 i4 C4 e& f
  333. STA $BA; @0 g* i' R/ _' v! X! }; Q
  334. PLA  S2 b% E* n) y0 m
  335. STA $BB0 s+ ^- N) N3 W4 t! C8 d) ~
  336. PLA- L2 U. X1 y9 q$ j# v8 P& ^6 v) R
  337. STA $BC
    ' Q5 j4 v! E# j: K! I: _; w* W
  338. PLA2 n% x% \/ M6 d$ I0 j$ o7 y9 v; }
  339. STA $BD
    1 k6 G8 g  j" \  E: m* e: R
  340. CLRF:
    ) m2 n4 V4 }5 D+ A3 \6 n
  341. JSR FREE_PPU
    . ~+ e' k9 u* ?  v7 R
  342. RTS
    $ x9 J$ J& N+ o! X4 t* A3 R
  343. - h% O0 T5 b8 E" D) J7 M

  344. ( Q& N/ O/ V$ l2 `+ K8 L
  345. PPUWRITE:    ;PPU写回+ Z3 R) G5 k, W& Q
  346. PLA: \& c- b  [4 m. |0 S& P: r" r6 Q& a/ U
  347. TAY
    * t9 J2 G; _5 X  {
  348. PLA0 V' N, g& I: N3 |  p7 G2 {( {0 V4 z4 @
  349. TAX  L! l4 |9 z. W/ K
  350. PLA
    5 C2 r' f( [* g9 t
  351. LDA $25
    ) j% U! w( ]; f
  352. CMP #$00
    + H4 Q6 X) P$ n( |  |3 B% T
  353. BEQ WP1) m. T- D6 m: T, f7 {
  354. LDA $25
    - Q7 l2 u! p8 O. o1 F
  355. CMP #$01" a0 n# r6 F) Y0 H- g" k% T% v
  356. BNE WRE
    : C. _5 O% [2 E" d  s
  357. LDA $F5,X
    . |) K" ^9 E6 F' W' l$ ]; y: o
  358. AND #$EF( c( T# e" x4 B/ I
  359. BEQ WRE. u" B9 D0 _& n& R7 ~9 D2 r
  360. LDA #$00
    5 X# X/ L) J3 `9 T
  361. STA $7FA0
    7 \& U! P( L+ ^, N4 v
  362. 8 a' x' M1 f9 {0 z% ?
  363. WRE:
    ! I  ^! x! Y4 x  N/ g
  364. RTS
    " L% }" l/ F2 ^  r& H0 b  K- {
  365. 1 F0 E% b) g0 _3 V# N/ s; Q8 w' J
  366. WP1:
    # w; v) g% q9 C9 A, L8 V* Q
  367. LDA $7FFF9 q3 k( ~9 _! P# }- I, I* L
  368. CMP #$FF
    8 `# F/ E2 K0 z, O- F. t! m
  369. BNE WRE
    6 S7 O6 t1 q% a
  370. LDA #$001 D+ O, |* ^4 n
  371. STA $2001) ~: e: @' Z8 a; `7 _
  372. LDA $BD' @: `7 {7 Y* A, i) k
  373. PHA
    + J) [/ V# R+ s: n; k1 S3 O' X$ ^
  374. LDA $BC
    - C+ |0 w2 y0 ~; `
  375. PHA
    - n% V* ^5 c1 G" i" {% g
  376. LDA $BB
    : v9 E* X5 M6 g' d
  377. PHA
    5 ~% A" B2 H/ m# `/ g
  378. LDA $BA0 @* W: p2 [7 ]/ y1 ?" n1 x
  379. PHA4 d) l6 V% Y! Q. f8 d6 O
  380. LDA $B9' Y: F" M3 F& r& i# r* x5 f5 U) }
  381. PHA
    5 m. J! _! I: c9 ?; e  I
  382. LDA $B8: d0 K$ l* j' ]3 g* ?
  383. PHA
    ; e7 i8 d) X* e9 N9 j
  384. LDA #$00
    $ [; }2 y: \1 K
  385. STA $B8
    1 @! |; x+ n& A8 M
  386. STA $B93 S* H9 @: e6 S  U' q3 @8 O
  387. STA $BA
    ; v$ B- r, J! ]" o; T! I# ^
  388. STA $BB
    ! o- W- S. m# V, O1 U) M* p+ r
  389. STA $BC+ G2 M) @1 \0 Z9 r/ L; m9 p0 H% K
  390. STA $BD
    ( Y. K; y# J# M  a& b2 I; @6 k* r
  391. LDA #$00
    1 b# o. [& s. c7 B7 N
  392. STA $7FFF8 A1 l3 W4 r" t3 J( l' w

  393. ) u4 S) u4 T1 q* h
  394. WL0:# T2 |7 [3 U8 ^% @- u
  395. LDX #$001 q! u! u9 S$ U. i3 R; Q2 Z- q
  396. LDY #$000 d, J% u& }, Y. |: I/ @
  397. LDA #$00# |. U4 n: A. J/ X
  398. STA $BA! B0 t, f4 W6 z- Q2 w! u, b& u
  399. LDA #$20$ n: \/ o; F. L) y( s: Y+ N
  400. STA $BB
      i& V, W* L! S4 N. U
  401. LDA #$00  R& Q; j% J+ X+ |$ U
  402. STA $BC
    . j; C: E3 Z3 M3 u; I" \6 }
  403. LDA #$607 m6 C3 {) g+ A' w- f" \
  404. STA $BD% F$ S) Q' r; Q9 W' ~
  405. / h9 E+ G* E: v) q) p
  406. WL1:
      P* H6 M5 Y2 k4 b& c7 |
  407. LDA $BD
    5 i: t. _: r; n$ s; }
  408. CMP #$68: Y" v3 m3 F' s6 N& n
  409. BNE WL2
    , ~5 ^6 |9 C: v+ j7 k8 u5 t
  410. LDA $BC+ t$ b7 @: m: L# b" ]2 P5 v$ @
  411. CMP #$00
    2 K8 ]% Q5 d* p* }! e* G% v' g
  412. BEQ WLR: t! F- V- R9 r( T$ |
  413. * k; b% _: {( s, G7 i
  414. WL2:0 N' q5 L# P% x$ H9 ]& }
  415. LDA $BD- u4 e, g9 x* D- o
  416. STA $2006; [+ Y5 u( z2 U$ i6 O
  417. LDA $BC
    4 P2 c4 P; r2 D: f5 h$ X( l
  418. STA $2006
    # s# t9 z: w0 N; r( g4 a) P2 T" J

  419. 4 `. F( q  {; ^9 J
  420. WL3:& A0 j8 \* x# {7 g8 m) T% N
  421. LDA ($BC),Y
    ( E& r; @; [, Q* s% g' Y9 x
  422. STA $2007
    2 a# z1 {% e; i# q
  423. $ ?( v: _) Z/ E
  424. WL4:
    ; B  h: X/ h# V% f# Q1 q
  425. LDA #$00$ @! r* \3 o' @, Z' |, Y5 H
  426. STA $2000( J, z) O4 f4 x* P. u/ f( K
  427. INX4 W& |  {2 ~/ f! A- P" M
  428. INC $BA7 R+ F# G1 x0 Z- v0 \0 R+ Q# e
  429. INC $BC
    8 x- R4 I/ J$ F- p
  430. CPX #$00  O5 ]: M! K2 i+ P" v7 R0 S
  431. BNE WL1% x3 B! K; h) p' p- N
  432. INC $BB+ r3 h: U$ s; z7 ^2 d
  433. INC $BD" D) P! T, j/ L
  434. JMP WL1
    . C0 ~; i5 ]! Q3 g- b( |/ x

  435.   c1 R" |) W; l4 C4 k
  436. WLR:
    0 J* w7 E- g) H- k, C
  437. LDX #$00
      D. Q. k0 U+ R( k4 x3 z" n. x9 f
  438. COPY_7F00_7F3F:
    " e8 \2 {' S4 C. f5 z* W
  439. LDA $7F00,X% K% c$ l7 L& p
  440. STA $07C0,X
    5 W# ~+ u5 k9 f' u+ r
  441. INX
    * N+ V3 P6 N( j  U4 }% G
  442. CPX #$40' {. P& f/ `  ~3 x7 Z
  443. BCC COPY_7F00_7F3F# ?* X) I) ]5 Y% F/ Y8 j9 C

  444. & T3 O/ N$ C0 V: a5 R. D
  445. LDX #$00) U$ [: p* u  V! [- G
  446. LDA #$3F! F: P1 l) ~/ l% C/ W, T% b, @
  447. STA $2006
    4 I/ o1 N8 Q9 s0 x% k0 {, o
  448. LDA #$00
    / c. D! _0 w0 B
  449. STA $2006  k/ `0 W4 H  ~( X8 _/ C8 S5 A
  450. COPY_7F00_7F10:" ^" z/ u7 V. B$ S
  451. LDA $7C0,X
    7 \( ^4 O  ~8 {; ?; v" o2 X# g
  452. STA $2007' U* o" d9 R) U' Z
  453. INX
    6 ]4 u' _! t: S+ a0 Y  \' p
  454. CPX #$10
    " n4 e7 J. Y' q" {; D( u' g
  455. BCC COPY_7F00_7F10
    ' I( K+ Y- e" p' c
  456. 1 E3 c5 ]0 O- m8 y0 H( z, U% @, Q
  457. LDA $2002
    8 [2 d7 ^& B( U' \4 R: U
  458. LDA $FD; p4 l1 y" x3 K* V' E5 `
  459. STA $2005) E- H+ u' u) d! D7 p1 G
  460. LDA $FC( v% Y9 P( u; O3 E& R
  461. STA $2005, \- {% {2 G; X& K. |  {

  462. : U; y4 D3 i) S4 D
  463. LDA $7F50$ l6 U1 w; K5 f
  464. STA $FE  {( E$ t" {) k, T3 |; J
  465. LDA #$00
    * o( a& y! O$ S- i/ Q  i
  466. STA $2000
    : Y7 p* n0 w! i! p
  467. PLA
    # I/ o, n; E/ N$ V  ]8 y  A
  468. STA $B8- D' q/ f6 a# [) F8 X% B
  469. PLA4 w9 v0 R8 v) S6 ]7 r7 V
  470. STA $B9' F$ X+ x( U1 d* z5 ^
  471. PLA2 w9 m/ k. Q% s; l
  472. STA $BA
    + d0 x  `' l+ a7 ^: a# X0 n7 J
  473. PLA
    & w1 u! H# F: l; ]
  474. STA $BB
    $ x6 D/ `+ Z& A% |- ?& l& y' F
  475. PLA
    8 B# G3 m0 l. k4 ~  j
  476. STA $BC1 H5 b; v/ T' J; r
  477. PLA
    " z( w; F, R$ N; D: T/ a0 x
  478. STA $BD5 L8 V. l* |( Q1 r( h( Y8 ~
  479. # s) Q9 w4 D5 U, J# N
  480. RTS, E5 R& _& y  `% X! ^5 w6 h0 t

  481. # E0 O' R2 C6 g. F! M9 Z: c' H2 h
  482. PPU_CMP:$ t1 p: W' B$ H. n. F( R) J0 h1 v
  483. * v7 T, O3 A! ~7 p  x5 J" b
  484. $ v, z" O! ~% V4 s; I7 s. k5 D- d
  485. PPURE:
    0 y2 j; X3 a5 s- t
  486. RTS
    : s5 q* z3 |/ a6 R0 F8 G

  487. - ^) A* e% H! ]2 o5 R1 P

  488. 8 a. x+ f( h  j; j& `( u9 W
  489. FREE_PPU:( q% N' J5 H0 A9 L

  490. - c. N2 f5 H2 Z4 r
  491. JSR TEXT01_PPU3 F: b! p; E8 ^9 Z9 x0 p0 C
  492. JSR $CBC0; r5 D5 g+ S. ~& J
  493. JSR P1_PPU
    $ G) z3 n8 a8 ^  K, L6 r
  494. JSR P2_PPU: F) _; t$ e- q# {( H0 R  I' b
  495. RTS
    6 N: N: X) K" l& m* I
  496. 5 E8 r: V- e' q% r' t/ ?
  497. TEXT01_ADDR:2 }$ R; {. f1 P' L; ]
  498. .BYTE $20,$424 S9 b! l# ]9 l. z8 ]
  499. TEXT01_DATA:2 z, k. W% S4 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,CEND9 E# ~9 a2 q/ ]% J3 r! x7 j
  501. TEXT01_PPU
    : F/ R- D# _* W( \" C
  502. LDX #$007 n' J9 ^) o. [" @
  503. LDA TEXT01_ADDR; X! O7 W4 v" G6 v4 f9 J/ U5 P8 F: U3 B
  504. STA $0703, y  M; g2 F/ X; u
  505. INX% J. U8 N. g5 u3 w8 y7 R
  506. LDA TEXT01_ADDR,X8 y7 \' y8 S  Z4 l3 O; T, `
  507. STA $0704
    , Z0 \6 l: A% `
  508. JSR PPU_PROCESS
    / k6 o3 e' ^2 T3 F
  509. TEXT01_W:) j" e0 U) n$ l" F9 G
  510. LDA TEXT01_DATA,X7 d  Z2 N+ O5 _8 }0 H8 ?
  511. CMP #CEND
    ' N. i  x/ O$ Z* R
  512. BEQ TEXT01_START5 ?8 \! u( o, ?0 @
  513. STA $0705,X
    5 h- y; w& p4 ]: S  {
  514. INX
    , C0 \+ a, A  e+ Y' M$ }! X5 n  `
  515. LDA #$00; e" V8 |6 T( _' j- `
  516. BEQ TEXT01_W
    * o/ _5 \* F" i/ a
  517. TEXT01_START:( z; _4 H3 N) Z: z5 R
  518. JSR PPU_START
      v# o. o. F6 W
  519. RTS
    8 V+ m5 G/ `7 S9 h! [

  520. 3 r  D: B5 v, ^) q7 M5 o6 F! p& N- j
  521. 0 o  B( w# P( i2 k9 O* y9 u- a
  522. COLOR_DATA:
    9 f: }! p7 T# u8 T% ~4 {
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ) k  u8 D2 p  G; X* A: j% G

  524. - a  u7 r; ]) F0 R
  525. P1_PPU:
    / B- T6 O' e8 s  B
  526. JSR PLAYER_01_PPU& a; X, `! A6 l
  527. JSR $CBC0
      ?3 R  a  i& I. i/ U
  528. JSR RELIFE_P1_PPU8 F! r9 x# p" b# Z8 R' v  F  o
  529. JSR $CBC0
    ! C8 L# S6 R, u* q  U
  530. JSR RELIFE_NUMBER_P1_PPU+ g  Q9 N( D7 g; C' F% D
  531. JSR $CBC0- R; x' y+ D  q1 H5 u4 ^
  532. JSR WEAPON_P1_PPU
    7 C$ `& Q6 r# N
  533. JSR $CBC02 Q! \$ g$ p% V  J2 J# A; M
  534. JSR BULLETPPU_P1_PPU
    6 \, |9 N( e# L6 N% {
  535. JSR $CBC0
    ( i. F2 D2 H, Z6 s/ A
  536. RTS
    4 S; k0 I4 k7 W# z

  537. * @8 z" }* R- s- h4 h8 X" C& }
  538. P2_PPU:' j9 \  Z$ Z# ^+ F  k
  539. JSR PLAYER_02_PPU
    , d+ Q3 j4 B* V4 w- N2 ], {
  540. JSR $CBC0
    ; g1 K0 h! U) _, m* b2 h* m
  541. JSR RELIFE_P2_PPU
    ) T7 _5 [: @4 j
  542. JSR $CBC0
      m8 s. n$ m0 \! o7 u' W/ }
  543. JSR RELIFE_NUMBER_P2_PPU) x. f4 C1 S) M* o1 R& c
  544. JSR $CBC0
    & n9 O& c* n2 J+ ?. v4 I
  545. JSR WEAPON_P2_PPU3 ^: R6 p) d' L0 c! S; f) r7 [! ~
  546. JSR $CBC06 X# `0 H+ {" P- E4 t' f
  547. JSR BULLETPPU_P2_PPU& t; u4 V% e6 L; ]4 j6 m
  548. JSR $CBC0* |/ I$ u3 x/ A9 b. t9 ~
  549. RTS* Q" q$ w0 c* b( j

  550. & ~) h/ f+ w7 x4 V
  551. ! j! \/ m4 H& S' |

  552. 2 k. r: Y4 y; B# z$ X. [, A+ k3 s
  553. PLAYER_01_ADDR:  E* e4 R) k/ h- z
  554. .BYTE $20,$A39 c) W1 z% y* a8 |) n) O
  555. PLAYER_01_DATA:
      d- l& M+ e, D' L8 N
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND: Q4 f1 H) n1 K2 F  D
  557. PLAYER_01_PPU:2 T' ]9 S8 B5 k* z$ O% m1 u
  558. LDX #$00( c7 M3 D; S; k4 n% E
  559. LDA PLAYER_01_ADDR) g9 v5 J. P6 L$ h- h
  560. STA $0703# [: C' x  b, K
  561. INX
    9 n! _5 K7 |' `; Z
  562. LDA PLAYER_01_ADDR,X9 _& Y; z3 Q5 Q" A$ T1 `7 v
  563. STA $0704
    8 S  u3 y7 p) X! J# r, c1 X- e
  564. JSR PPU_PROCESS; O" f: d; V& R' H: _4 p
  565. PLAYER_01_W:, u- S- ?, \1 E7 v; l8 g
  566. LDA PLAYER_01_DATA,X
    * H9 w7 m  c# Z& O/ X' l7 ^9 C
  567. CMP #CEND7 F2 n5 l8 ?" z
  568. BEQ PLAYER_01_START
    $ k) T! a; p3 y2 G
  569. STA $0705,X0 M0 [5 C  o) E9 A7 S
  570. INX' [2 g+ T" t  b
  571. LDA #$00
    . B/ m8 R0 K6 W5 ~" V5 v6 _
  572. BEQ PLAYER_01_W$ J( \" F" u+ Y( s5 u
  573. PLAYER_01_START:
    $ x8 ?1 f+ N+ y0 g, g  O5 M9 z
  574. JSR PPU_START
      o, {  D/ R2 h% g
  575. RTS
    3 G" H6 r6 j9 _; G& J

  576. 5 i6 z7 h- l9 ^: Z6 t! L
  577. . x/ }& K4 [- i0 D% Y+ R% [8 X3 z
  578. RELIFE_P1_ADDR:
    9 m2 G% s4 [7 M& Y2 R, J5 g. Z
  579. .BYTE $20,$E3
    9 C2 S, r1 w0 b
  580. RELIFE_P1_DATA:
    3 e* H5 F- y' n6 D" i! a1 V# p
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND4 e- c* n) Y' O8 \5 J9 `
  582. RELIFE_P1_PPU:' @1 \9 p7 p* R- J8 t* q: i# c6 M
  583. LDX #$005 e& J0 h# r( N: _, J# G
  584. LDA RELIFE_P1_ADDR
    ( X; y' }( T: I; L' A
  585. STA $0703: P. G( R/ P; V2 J7 p7 N5 q
  586. INX
      t8 b5 m  @% R. t/ `
  587. LDA RELIFE_P1_ADDR,X; x8 B+ m; C( i2 R7 K6 K$ J2 f! V7 _
  588. STA $0704( |! L6 x( Q4 D' j: b* x3 X
  589. JSR PPU_PROCESS
    : D  o# e% S$ f! s
  590. RELIFE_P1_W:4 K; |& U* O& S$ Y1 r
  591. LDA RELIFE_P1_DATA,X
    5 P1 z, Z1 f/ b, Q7 Y+ e
  592. CMP #CEND
    % O, ~( a$ v% N$ }3 {& s
  593. BEQ RELIFE_P1_START
    9 x3 o5 k( S2 s2 H3 p
  594. STA $0705,X
    ; q6 P/ ~( P' L
  595. INX
    ; Y$ L1 K: [& x1 M, C6 Z
  596. LDA #$00
    , V% X  p# f8 a/ }* i
  597. BEQ RELIFE_P1_W
    4 r9 A- T8 t, @1 ]! o: O2 K
  598. RELIFE_P1_START:3 ?9 m; {8 s% ^% J% H( H7 X
  599. JSR PPU_START' e+ C$ \2 ~- O
  600. RTS" ]  e* N- f  Y( l
  601. 5 U: _: |. |: X+ ]1 J9 i

  602. 2 ?) S0 ~4 k; X" Y7 V% i6 Q
  603. RELIFE_NUMBER_P1_ADDR:
    & `' {8 J* R1 R3 k, L2 e
  604. .BYTE $20,$EA
    " z, p3 a# `8 M: G+ P; ]: K  x
  605. RELIFE_NUMBER_P1_PPU:
    5 H# ~0 y! K: X+ d& P+ k
  606. LDX #$00: t' B/ C- _& x" g6 |* E0 N
  607. LDA RELIFE_NUMBER_P1_ADDR; W+ k7 k9 M$ _- Q
  608. STA $0703
      Q- u8 g% k* H+ d: d5 ]
  609. INX
    - c1 \  p; b7 H/ w5 B  G+ K0 I
  610. LDA RELIFE_NUMBER_P1_ADDR,X2 L* K' Z6 B' ]/ N
  611. STA $0704! C0 C" o/ b2 N& P" W
  612. JSR PPU_PROCESS
    6 Z$ @" h: M5 f
  613. LDA $321 R& s; U: R4 v; i, B" @
  614. JSR LIFETODEC
    9 ]! H8 {' b2 b. }8 T- H3 O
  615. RELIFE_NUMBER_P1_W:8 j& u- b4 r* R5 k3 Q$ a# K
  616. LDA $7A03
    8 t8 P$ R( z! N9 g  {- ?$ F
  617. STA $0705
    ; ~+ R7 K; Z( ^6 c: F1 E2 k
  618. INC $0705
    % r; v, z4 C! \  U- L  v
  619. LDA $7A04
    . z2 Y* a- s5 V* W1 F% `
  620. STA $0706* }9 a  z- t( T/ t
  621. INC $0706- B3 l1 C1 ?( Q: ?
  622. LDA $7A059 Q; U4 X/ L" M, M; S. a
  623. STA $0707" v9 a+ i# A1 {
  624. INC $0707
    ; {& _% C' \) K
  625. LDX #$03* H1 b, ^+ L/ v6 g6 z4 y
  626. RELIFE_NUMBER_P1_START:
    3 c/ S9 m( [5 t; ?& a* C
  627. JSR PPU_START
    8 l! ~! P% _) ?; g/ ]
  628. RTS
    : m1 [* ^* \5 Y" l. K( ^- Z
  629. ( Q) X- q; L' ]- H
  630. WEAPON_P1_ADDR:
    0 J; C9 y" p) q% A8 @8 D
  631. .BYTE $21,$23( j% K+ j% h# _4 ?8 B+ c1 p# g
  632. WEAPON_P1_DATA:
    ; N$ }* Y5 m+ \0 Y6 Z( e
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND8 B" p9 S, y( s  I/ F8 I% c5 D
  634. WEAPON_P1_PPU:3 X, q+ K, H. o/ Y
  635. LDX #$00
    1 ~5 [, P( F5 t- l7 c% n  N/ |
  636. LDA WEAPON_P1_ADDR
    9 \: a" Y$ {6 u' A$ u
  637. STA $0703. Z5 |2 a) q$ [5 f3 s; J/ O+ ^
  638. INX
    2 ?, b( H) N$ U
  639. LDA WEAPON_P1_ADDR,X/ c9 h  C9 i2 U( r) [+ e3 d  }
  640. STA $0704
    ) v* N8 D- f6 u  K
  641. JSR PPU_PROCESS
    ! U; H: ]' |; X4 J" O4 J
  642. WEAPON_P1_W:, f' P& Q8 ]0 G1 c# \3 N
  643. LDA WEAPON_P1_DATA,X
    " h3 g+ L3 n* L
  644. CMP #CEND4 |4 {; d; `8 C& }- a' c( W
  645. BEQ WEAPON_P1_START9 q2 T$ C' `  V* r- r4 i
  646. STA $0705,X9 N) w! H8 C5 M/ U9 \9 A# C# ]
  647. INX1 f& M1 Z( W+ t* ^4 ?8 o
  648. LDA #$006 K2 E" z% A! X$ x) i
  649. BEQ WEAPON_P1_W+ r) |0 c! c( h" h# \6 `% w
  650. WEAPON_P1_START:/ F# k* u4 i9 H+ t
  651. JSR PPU_START
    2 M. Z7 p- D3 A' d( @/ I' L/ [
  652. RTS& g7 k" A4 P7 f! e! a5 ]% ?1 t
  653. 1 `7 [6 E: |9 i7 x- A% U& r
  654. BULLET_P1_ADDR:& `% z; }. A* u  m( R  }
  655. .BYTE $21,$2A1 f! ]) F- z$ V9 V% x
  656. BULLET_P1_DATA:
    3 V3 f0 b' ~" |# @! w0 {
  657. .BYTE $00,$01,$02,$03,$04
    # Z9 A' |8 p0 J, O1 W
  658. BULLET_P1_NAME:. K# L# G7 C: r7 }2 a% s9 o! ]
  659. .BYTE CN,CM,CF,CS,CL
    ; D" Z( |! i5 c; T, ~2 u/ Z
  660. 7 b2 U  y% ?2 l( k. u
  661. BULLETPPU_P1_PPU:' `) X8 W0 d  z, o5 p* C% J  o1 `
  662. LDX #$00* N0 M' j+ `. c  _4 S
  663. LDA BULLET_P1_ADDR
    + w- z8 p* e' m$ ^+ T) W
  664. STA $0703
    ; s% }: R+ I/ g& c- v% t0 ^
  665. INX
    7 {4 x7 s0 ]* p9 M2 q
  666. LDA BULLET_P1_ADDR,X
    ( P  z& {9 {: z3 r! x8 \
  667. STA $0704
    7 ]: T, g+ B, s& s" Y8 d2 _2 P9 t
  668. JSR PPU_PROCESS
    " K$ x9 P; o6 N5 ]) F& b
  669. BULLET_P1_WRITE:& G; J9 f3 M9 q2 V
  670. LDX #$00) ~/ k. x: s: |1 `
  671. LDA $AA
    * J9 W( [. Y9 J" U4 O' y
  672. AND #$10
    7 U( O- ^9 k, R2 s4 V5 x# K% l
  673. BEQ C_BULLET_P1; G* ?0 M0 {, L- a
  674. LDA #CS
    : d; Q* D. j" t  E7 ?
  675. STA $0705" h, Z+ I) g. X) E) o
  676. BNE B_NAME_P1* t9 N5 I9 m' m6 \$ H; e9 E
  677. C_BULLET_P1:  z5 F6 w* j/ ]3 p" r3 S! }
  678. LDA #CC3 O; q/ ^* U. t: _8 r7 J5 a
  679. STA $0705
    7 ^5 |; H9 |4 A
  680. B_NAME_P1:0 T' q# F: o3 ]3 ^' L! Q
  681. LDA $AA% R# b/ G' H; t! I2 F8 @2 Y
  682. AND #$0F
    9 _1 s8 Q$ Y* g2 m
  683. CMP BULLET_P1_DATA,X
    . a) w; x# p+ ?( E- ^
  684. BNE B_NAME_P1_RECMP
    2 Q# W: B: Z# k" P7 A& M$ l2 i0 B; u: U- |
  685. LDA BULLET_P1_NAME,X
    9 ^0 x2 q' m$ T0 S4 L4 N
  686. STA $0706  U8 n* K+ \( Z$ b+ L% L/ w
  687. B_NAME_P1_RECMP5 m( N. w* p2 b" z
  688. INX
      q$ X" Y" \8 \7 x9 N/ O$ X
  689. CPX #$05
    . ^4 |/ z- z" [2 }
  690. BCC B_NAME_P1, Q2 ~) R3 D( A* w" z
  691. LDX #$025 c2 ?: C9 d6 y
  692. JSR PPU_START
    / {9 j* M; Q" N# Q/ i; M' c- h
  693. RTS
    1 f- p' E7 y" k) C  H+ E
  694. " P( q# k$ [2 u7 B/ Q1 G
  695.   p7 e3 T% I* L. K/ c
  696. PLAYER_02_ADDR:
    0 z9 w: L+ E. Y  \
  697. .BYTE $20,$B37 s. y( u& y7 S+ {$ N
  698. PLAYER_02_DATA:9 T; E) y. G6 |" S4 S
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    % X, I+ i+ v' f$ f# U' h! [
  700. PLAYER_02_PPU:
    6 m1 _; F; S! G: e4 _( {/ L% s
  701. LDX #$00
    $ |# \3 i% x3 W7 f  `6 ^  g
  702. LDA PLAYER_02_ADDR8 p' e9 y) T7 B. {8 K0 Q! o9 J
  703. STA $0703
    & \9 \# T; ^8 \# ]! t% Y
  704. INX3 |$ r: [4 g) t! N2 Q( x  f4 j
  705. LDA PLAYER_02_ADDR,X
    + h4 V5 R+ r. c3 V$ Z
  706. STA $0704
    9 }% X' F, W; C/ n2 T" v+ s
  707. JSR PPU_PROCESS
    / V0 Y! G4 i9 a. D# R
  708. PLAYER_02_W:
    7 @+ E$ ^+ W. N  y0 ?( ~& E) ~5 a
  709. LDA PLAYER_02_DATA,X
    % r- f9 V4 D4 _7 b: y3 s2 O
  710. CMP #CEND) }) r! e8 v8 D2 l
  711. BEQ PLAYER_02_START9 r# O  p3 T9 \1 Q
  712. STA $0705,X  |& Y( s2 C4 c% |: Y# \' t
  713. INX
    / s3 c* b  s. T( ?0 C6 u5 F* v' I3 \
  714. LDA #$00
    * q6 e" r" ^3 V7 i% M6 T1 W% y
  715. BEQ PLAYER_02_W
      d1 [' Q) Q( z* X' p' D! t. k* s
  716. PLAYER_02_START:/ b3 Q( y! [. K9 Y& Z
  717. JSR PPU_START
    1 D# j( J$ z/ f! o+ s
  718. RTS, G6 o2 x3 y  B7 ?6 m: X

  719. ! s1 u# [* A) T* L7 r
  720. - a2 P8 ~% D+ Y$ T# T, C
  721. RELIFE_P2_ADDR:# m  |- q5 F' V  u6 b  z
  722. .BYTE $20,$F3
    4 t) a, {( g7 q; q# P( B. f, A
  723. RELIFE_P2_DATA:/ L) }, ^+ y' B) b0 T
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND6 j# W" u; T! E4 I6 C2 l
  725. RELIFE_P2_PPU:$ N5 \( j; z4 ]8 N4 ?1 x
  726. LDX #$00
    + R; B9 W  H/ H
  727. LDA RELIFE_P2_ADDR# g! o4 x0 Y+ I4 g+ O" S6 x
  728. STA $0703/ z! U" d# e( }4 ~+ E/ l
  729. INX8 w0 J4 s: j. K! }& y
  730. LDA RELIFE_P2_ADDR,X
    4 [( X' |! B* `, }/ T5 \1 N) [/ ]
  731. STA $0704
    ) ]% S8 g/ r/ N5 N- F% q3 \
  732. JSR PPU_PROCESS; F3 }8 w6 t3 B0 W- F
  733. RELIFE_P2_W:
    * I8 o( X8 o, L/ L
  734. LDA RELIFE_P2_DATA,X: W$ u# a, Z; S
  735. CMP #CEND2 e3 }/ N0 m- O
  736. BEQ RELIFE_P2_START- S% G) @) L& }2 G' ~; p
  737. STA $0705,X
    1 ~. m+ i$ C" v
  738. INX8 R' V1 `& r2 U/ C5 F8 H
  739. LDA #$00# W1 r4 T6 z: _" [* _! g" a
  740. BEQ RELIFE_P2_W, H1 t/ v; E. E; b; ^/ J5 C
  741. RELIFE_P2_START:2 _9 Y  r$ R0 J! n) {$ j
  742. JSR PPU_START' ]8 O/ Q1 M6 N! M  v1 D( O2 y
  743. RTS" e8 f+ ?/ A4 l* c# d
  744. ; Z0 v, O- Y$ ^' j* ]1 J

  745. ( i: l, u! G, l
  746. RELIFE_NUMBER_P2_ADDR:' a9 ~- x8 z/ b' R3 r3 J
  747. .BYTE $20,$FA1 V" w! I6 G1 U* r8 e3 n' M2 w6 S
  748. RELIFE_NUMBER_P2_PPU:% F) a2 x% O- c& t
  749. LDX #$00
    / ]  s$ }" i3 d, B; o
  750. LDA RELIFE_NUMBER_P2_ADDR
    4 _5 p0 m' M7 Q; A  t& C
  751. STA $0703  r5 U- Q) [# \! E
  752. INX
    6 C6 ^* r+ u; V: x
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    * r) G, R% v% b  l! m8 K9 G
  754. STA $0704
    8 d- \$ w1 D+ K
  755. JSR PPU_PROCESS
    / O2 p8 s3 C- M# `
  756. LDA $33$ z1 b+ |5 O, U# x. D1 ?
  757. JSR LIFETODEC8 i2 A7 {( B% f- i9 k! N
  758. RELIFE_NUMBER_P2_W:
    . f2 E4 U) V( K- @
  759. LDA $7A03
    ; a# j2 A/ D0 M+ g3 ]
  760. STA $0705
    $ ?. M+ v  Y1 {0 h. c
  761. INC $0705  t8 Y" J9 a1 g. X+ V1 `% K  r7 V/ k8 U
  762. LDA $7A04
    # _% H$ \& C6 O3 |
  763. STA $0706* o( L- s9 h# h5 b
  764. INC $0706
    3 J: @: u3 Q: K. ~1 d( i# N
  765. LDA $7A05
    * G! J. \2 U+ V. X* [5 n: [
  766. STA $0707
      z. C7 p- c) V# B
  767. INC $0707
    $ Q9 R3 A2 F- I4 ]3 T& V' s8 z
  768. LDX #$03
    : Z7 A" w8 ^% p# s- e, N
  769. RELIFE_NUMBER_P2_START:& H* b7 ~# e% c/ ?% P6 ~6 b' F  f6 D
  770. JSR PPU_START
    8 L- u" C/ n5 U$ L5 G
  771. RTS! _* h$ k- Q% D& |+ z4 ~: |8 w
  772. . |. P% V! i: L
  773. WEAPON_P2_ADDR:% C1 q1 L! ]6 F2 k* K1 d8 U% R
  774. .BYTE $21,$33
    ) C! N) [* v/ I  k  A
  775. WEAPON_P2_DATA:  S% B8 u* O1 U' X# n
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND' E/ [/ O  r) t3 B4 v
  777. WEAPON_P2_PPU:
    % h4 j9 c; y" z. D- |) \
  778. LDX #$00; Z) m$ {7 q# M- s' N) p0 n
  779. LDA WEAPON_P2_ADDR
    4 @( L- k' M2 O2 J) N5 g9 R8 I+ Z
  780. STA $0703
    8 U6 d3 A9 @3 y7 }0 `5 B  {
  781. INX
    ; l' Y% w+ a9 y' ?' W
  782. LDA WEAPON_P2_ADDR,X
    8 @& b0 U' N! U2 a
  783. STA $07044 l% n; f0 r, w8 I
  784. JSR PPU_PROCESS
    5 c% T- N8 D+ S2 W% b0 A+ ^6 x
  785. WEAPON_P2_W:( `  _* m' u; u, x; P
  786. LDA WEAPON_P2_DATA,X
    + ]# k% X/ `  K+ W1 E& r
  787. CMP #CEND9 c0 K2 S2 w* s$ x6 [
  788. BEQ WEAPON_P2_START# C% @% K- K+ R; M& A, Z1 }: D6 s8 `
  789. STA $0705,X
    ' r6 i  J3 e) _4 f( Y& X
  790. INX; j7 w5 \- K% d; K5 P; R- A
  791. LDA #$005 E" A* L; C) J8 h
  792. BEQ WEAPON_P2_W
    ! @! l' R0 K# R" ^+ u1 ~
  793. WEAPON_P2_START:7 U+ ]8 @, n3 a6 Q
  794. JSR PPU_START" i' d/ M, k4 B5 r- {) R$ l8 h
  795. RTS
    ; W. L- H0 T* a% e- v. A+ t' h( k
  796. ( |7 h% w+ `; v. e8 P! e
  797. BULLET_P2_ADDR:, a/ @" w" P( A. M: `1 h
  798. .BYTE $21,$3A
    . g- B! B' J5 X
  799. BULLET_P2_DATA:! s, v3 J2 c# u4 s$ Y, |
  800. .BYTE $00,$01,$02,$03,$04  U7 @9 C2 p$ c, I% u& R5 D
  801. BULLET_P2_NAME:
    7 j; z8 N3 Z( {, @- W
  802. .BYTE CN,CM,CF,CS,CL
    ) @, ~7 n* d4 E) c
  803. . Y0 {; j; a( r1 O6 @7 R
  804. BULLETPPU_P2_PPU:
    - e# p( ~1 q1 i# i9 i
  805. LDX #$005 W- B, k' c+ b& W% b
  806. LDA BULLET_P2_ADDR
    6 n$ \+ b' ?9 r* D- Q) r
  807. STA $0703- A& @( }. ~( C9 A  b8 L7 ]8 s( v
  808. INX
    . [, a) h* c4 i, ]
  809. LDA BULLET_P2_ADDR,X4 B) I! W% J- T& X% _
  810. STA $0704
    1 o5 a, W0 s/ u
  811. JSR PPU_PROCESS
    ' y, x! |8 `$ ]0 d
  812. BULLET_P2_WRITE:
    6 |  T  W9 m, v+ N; z2 {" c, b& K
  813. LDX #$00
    ' P9 y0 a  D+ e2 N* t% v
  814. LDA $AA2 N0 H! m: ^) ~  Y
  815. AND #$10( \1 j: \9 L1 ]4 L8 ^* B2 b
  816. BEQ C_BULLET_P2, k2 Q! s; Y5 _, D0 J' U" E* Z- h. ?
  817. LDA #CS! T- U, T4 D$ m0 ?
  818. STA $0705/ a/ U! P2 V( U7 C2 c
  819. BNE B_NAME_P2
    ! t  N2 X, N' `' D6 f/ A7 B
  820. C_BULLET_P2:) @1 E, X/ e! D( w, v; [( _" `
  821. LDA #CC. |; n5 u2 Z9 P
  822. STA $0705
    8 z  o  t9 E* Z' e  H- ?
  823. B_NAME_P2:
    0 _3 N+ y  P1 d2 n4 w8 T* L( c
  824. LDA $AB7 D7 F' x& b. |9 e  e$ m) s& {
  825. AND #$0F
    + H7 M* W- j! J' [  B" M/ k, c
  826. CMP BULLET_P2_DATA,X  v# n$ }; P9 N" Z
  827. BNE B_NAME_P2_RECMP
    / U# |0 v. n5 {* Q6 q
  828. LDA BULLET_P2_NAME,X  r; b/ ^, F& L( Z  t) P* B9 t
  829. STA $0706
    7 D! t1 e1 _5 F1 Q# B% w
  830. B_NAME_P2_RECMP" q& Z7 @4 n. j
  831. INX( H- q  E4 y$ N- m, k) Y9 P1 F9 l
  832. CPX #$05
    ; D" a3 ?9 Q$ U
  833. BCC B_NAME_P2
    ; K2 C; |5 k6 H2 F8 j
  834. LDX #$02, }1 \. Y% Q* J$ n6 u6 j
  835. JSR PPU_START
    0 M. U! Z. i, y  \3 c2 v/ u
  836. RTS
      o: `% `( B& S7 {- k$ Z: R8 l! _

  837. 0 g0 q5 A5 S/ m, k2 V& e
  838. + o( {9 R& k; Z" r/ C- Q

  839. + D3 d" S8 T, m

  840. $ y( _0 e; s7 k- K6 i# n

  841. & y8 ?, ~9 m. g% J& U$ d3 W
  842. 4 r3 _1 \# B* Y0 e! y' L+ I1 L
  843. LIFETODEC:                ;十进制转换9 Y- Q. f( k" ~9 P3 n
  844. LIFEL1:        ;initialise1 C. `3 |( `' S* m( w' n( m
  845. STA $7A00        ;$7A00=F3
    0 @; f% ^2 Z" e: u' h3 i+ _
  846. LDA #$00
    0 p$ H6 \! r: ?
  847. STA $7A03        ;$7A03=008 d5 d7 K2 v+ v5 C& S, ^4 s
  848. STA $7A04        ;$7A04=00) K  d$ v! {" D! a2 o
  849. STA $7A05        ;$7A05=006 g2 B- c" |, v& W+ \  f
  850. LIFEL2:        ;copy data $7A00 to 6001
    " H3 d8 W. i9 g, e+ d
  851. LDA $7A00
    : }- `! m' P/ `# q* t
  852. STA $7A01
    : [, c/ g" ^+ P, {/ D6 V

  853. 4 R. g3 t+ e; G5 b# ]6 W
  854. LIFEL3:         ;hundred) x/ R8 x: O4 V9 a# x5 P- T2 v$ T
  855. LDA $7A018 K" u1 S4 E  o/ s* F* X
  856. CMP #$64
    + B; R8 r9 B) I$ M  J8 Z$ v
  857. BCC LIFEL6                ;$7A01<100 goto L6, A3 S" c) B! Z; w
  858. LIFEL4:; X6 H1 v2 F2 x* `
  859. LDA $7A01  @9 A! ?" T: Q0 U0 k$ C" l
  860. SEC
    - d6 c$ D  ?$ E& m
  861. SBC #$64        ;$7A01=$7A01-100
    ( \0 }1 D! C; a" ]0 f
  862. STA $7A01$ l( B+ M$ x5 d& v# n  k9 o$ z6 B
  863. INC $7A03        ;hundred++
    ) a2 d" d! o3 B  ?9 ^9 q6 G
  864. LIFEL5:* W9 U: V0 K8 U, v0 S* Q
  865. LDA $7A01
    5 e# j) B0 i" U" M7 N& B5 d
  866. CMP #$64
    1 a' M& a6 u" P! `% v7 ^, n! s
  867. BCS LIFEL4                ;$7A01>100 goto L4
    8 `# h8 \) A1 i3 z9 G
  868. ( l: Q. |$ r$ b0 t- e! d( |
  869. LIFEL6:        ;decade
    / i. w; r) b- b# J1 r) n( h: Y
  870. LDA $7A01
    ) c8 O! Y- t( F5 @$ E
  871. CMP #$0A+ D% D8 f+ m: {# y2 U7 C
  872. BCC LIFEL9                ;$7A01<10 goto L9, V& ^) |* x. D# G  H& @
  873. LIFEL7:        2 Z5 q4 [  h: _" u' B
  874. LDA $7A01  A. g4 B8 [/ i8 b/ O' e
  875. SEC3 R  p& \, F5 g6 y" z
  876. SBC #$0A* F; l; a4 u6 ~0 \% O/ _
  877. STA $7A01        ;$7A01=$7A01-105 f: _# j3 b7 ~  L4 s: W6 q! b* l
  878. INC $7A04        ;decade++3 a! {3 @3 R4 ]
  879. LIFEL8:
    7 C/ S- }5 |4 K6 y# G  r. _" \
  880. LDA $7A013 Z6 V8 @9 @$ E( T' @" ?6 c
  881. CMP #$0A$ f; @, P" g- V
  882. BCS LIFEL7                ;$7A01>10 goto L7
    * f- c: Z7 Y9 a) }
  883. ;unit/ W' h6 |8 F! V
  884. LIFEL9:
    : C9 P& A& s' u1 M8 a
  885. LDA $7A01        ;$7A05=$7A01
    - |  J9 L  a( ], w* c* f7 d
  886. STA $7A05        ;unit
    1 J( }- T# M  ]' |
  887. RTS        ;return
    3 a1 k; H/ q1 Q7 W. H- T8 o

  888. " M5 ?/ r' E6 h$ w, d7 c: M* [

  889. 4 q9 M9 J$ e& \8 ?+ V8 B
  890. / q( D2 L# ^" [3 Q/ R- b2 r
  891. PPU_PROCESS: ;PPU地址处理程序
      J$ ], d+ N, x3 C
  892. LDX #$00
      Q" J" f$ T6 o- l7 Z% v
  893. LDA $FF3 j8 n' _3 a% N! `# p' L( t7 [
  894. AND #$01. d) B, f: o' d$ s& P" Z
  895. BNE PPU_2400_27C0
    $ g9 `) i/ h  j- t. q7 S
  896. PPU_2000_23C0: ;命名表1
    . V/ V, C# L( L* c2 D* A
  897. LDA $0703
    ) \: j  e4 t2 l3 R  ~
  898. AND #$FB
    , }; u. {. k$ q; [7 d
  899. STA $0703
    ! K$ m% p' o7 R+ m
  900. RTS
    7 Y* o5 O: G# w7 T
  901. PPU_2400_27C0: ;命名表2# r4 Y2 p2 X# T1 H
  902. LDA $0703
    $ c. k1 h7 F9 H
  903. ORA #$04: n* a& S: F7 J: }5 d6 N) T+ c" i& p
  904. STA $0703
    % A: ?9 E, P) m: Y& k* `
  905. RTS
    6 L1 }! M; B6 K

  906. 1 u$ Y/ `2 m; ?! ^
  907. PPU_START:  ;PPU数据写入* b( w# T5 I; d" U2 A8 m# H- c
  908. STA $21
    / \3 U& _4 j8 w: `* u% ]0 Y1 N# {
  909. STX $0701
    & |9 F% q- l1 M9 }$ l, ?' {4 o8 U
  910. LDA #$000 e1 }4 ]$ x1 S* E7 |- U9 I
  911. STA $0705,X
    * S  R/ Z0 T" S& U6 l& b( E
  912. LDA #$01/ k1 h9 S" ^6 P6 s* A/ }& a* P
  913. STA $0700) t" Q% I8 _! E; S( x5 Z
  914. STA $0702
    ' A- |! v$ j: l7 `) J, c  [# m
  915. RTS
    & s  P8 j% B/ D, u

  916. 5 ~: Q: {# S" i7 D3 P( R& S
  917. ' N3 c6 h3 }4 A2 ~- Q+ v* K

  918. & f, h# A* g& `% H0 G/ w5 H
  919. 0 x; J* \. G( n2 M
  920. - O+ E  h" q3 E0 ?" L/ v

  921.   }! w" W2 O" {' j, c
复制代码

& F1 _3 c. X; F% t: h) m: t3 _" O

本帖子中包含更多资源

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

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

签到天数: 2247 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
) X, z) H( [! c& C- D" s3 }- J

签到天数: 2565 天

[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-7-23 21:04 , Processed in 1.076172 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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