EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序" }6 A" a7 |; K: T& v
  2. 作者:FlameCyclone1 _- Q+ E- t+ t, e7 }$ T
  3. 时间:2017.2.12
    1 k2 Q) y: `. r: l' S+ h0 a3 R6 R$ |

  4. 4 |1 k& a' ^( c' A
  5. 按键跳转:
    ! c9 l4 }- Y- X& J& H. n
  6.         C1EF:95 F5 94 F1
    ) W% {( K# P& X
  7.         C1EF:20 70 FB EA
    ) _2 v4 s7 m# Z4 {

  8. ! ^2 X3 R  M+ t7 _
  9. 滚动偏移:7 z8 ^% N& s8 C* n8 s5 h& j
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20: m* [9 p  ?" l+ P
  11.         F936:20 C0 FB EA EA EA EA EA EA EA; V, ?& P9 Q1 y5 j0 T
  12. ! O5 {/ T) ^4 M+ O$ E% K% C& ]9 K
  13. 背景调色板:) w" B3 b' p2 V  N2 _+ w! s7 o* {
  14.         CF20:9D C0 07% P# o+ q" \: B- d
  15.         CF20:20 A0 FB
    + J' b2 S- R! `0 `+ O6 m) n
  16. ( \) O4 s  X: {0 z6 n: o
  17. PPU BANK号:1 b# d$ h& _! j& T5 r
  18.         C8C9:9D F4 07* {  _2 U  ~. z4 d7 `% f5 _- G7 A1 D# z
  19.         C8C9:20 B0 FB. d2 s5 i, B" E: A; @3 i
  20. ) B' f7 N0 X7 N/ F% T5 a% Z, v3 {
  21. 按键跳转:$ X# t1 e- G1 E* `) \+ m% `
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 202 e# x& L4 H: t9 B
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    + f1 M# q1 V# R" z0 H# P; z
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    ; A5 [2 p- B3 F: i, Q' D" f/ ]- h

  25. : j% @2 b! p+ Z
  26. 背景调色板:5 X9 n7 u/ @3 u1 `  @
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF) m8 w) d: p0 m: A

  28. ; v0 P4 j- Z& k8 t, e: u9 J
  29. PPU BANK号:+ S! l5 x, I1 E! f& L+ B" C0 S
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF: \: q6 s* v/ U% X4 Q

  31. 7 Z% s! g' ?8 d/ ]+ X, _% G. Y
  32. 滚动偏移:% ^9 Y- H5 N: t" i! V9 V
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    . ]# G( z2 Q! U: h
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF/ Q- f- i: c& k& E, O# ]
  35. 4 m$ @9 Z$ e. \4 p/ p( M
  36. . u+ j; c3 O$ J% y- |0 E4 ^( z
  37. 切BANK后A000:" V! \6 L( U8 m7 i
  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# Z8 W1 K8 P7 I) m# l! w
  39. % n9 D+ M8 l$ N" R
  40. " e" i7 L3 O5 o$ d9 L9 z  ^
  41. 6502 simulator:
    / k" Z2 n+ H! _0 B" C/ s
  42. PPU写入程序:0 Z( d; O) P% z1 Z" K/ d( z
  43. .ORG $A000% T) S2 G( l6 d& L' m6 [
  44. CSP = $80- Q( q& u7 D2 s; [$ {
  45. C0 = $816 m  @3 s1 k; j) K' l3 G
  46. C1 = $82
    ( G8 f# Z' t7 L# m1 A6 ?
  47. C2 = $83) T) d% ]0 s$ D! M# s
  48. C3 = $844 D) q' t2 ?" g8 @) Z
  49. C4 = $85
    4 H8 [8 w# H( a8 j4 J
  50. C5 = $86, w) r/ N# V% G
  51. C6 = $87
    6 m" ^; y$ k  l' n% Q) ?3 a- {
  52. C7 = $88; b5 E3 \. V3 y* [) O: X
  53. C8 = $890 Y) f2 p' ^! k. @
  54. C9 = $8A
    . d2 s, d& i) c5 o  {
  55. CA = $8B& F1 r! `! p6 u. h& `
  56. CB = $8C. `% A& \4 X. m# e: U
  57. CC = $8D
      c# R. f# @, U
  58. CD = $8E6 ^# P3 t5 E  K
  59. CE = $8F; s1 ^# S7 x( R! ]
  60. CF = $90
    : ?4 P; ^  n& ]1 O7 j* X
  61. CG = $91
    , F, K# \2 }5 H; o0 r3 E
  62. CH = $921 N$ E. Q/ ~3 Q6 P0 l: e
  63. CI = $93
    $ U$ U$ S  |& a
  64. CJ = $94
    9 a! Y3 F7 Z2 T7 Z
  65. CK = $95
    5 j5 J+ }/ l/ Z1 r* A( Q0 R/ Z
  66. CL = $960 H' V6 `8 L1 g6 k0 b6 {/ k
  67. CM = $970 N" Q2 L3 f3 o  g$ V" x
  68. CN = $98
    2 p; N: _+ L1 L. O7 R2 R+ O
  69. CO = $995 v, }0 Q9 M. C# E, a7 w* G
  70. CP = $9A% J5 _( P- K  \
  71. CQ = $9B
    8 }5 w" o$ Q+ C7 f* s$ z7 {/ C
  72. CR = $9C
    3 X7 e7 B$ M3 Z* E6 a3 u4 d
  73. CS = $9D5 O) U: P. n+ _) B& ?, ^3 D
  74. CT = $9E, {" |) i# h* s
  75. CU = $9F6 F6 e9 A0 \7 i  y: ?/ N, T1 Q
  76. CV = $A08 \* N' C2 ]% k$ j
  77. CW = $A1
    0 ]2 p! }2 F) X  `
  78. CX = $A2
    - i4 F; E. y, R% D6 C
  79. CY = $A34 L; K% U6 g/ m, j' G6 R
  80. CZ = $A4
    & w: S( |7 \$ R, T
  81. CEND = $FF7 i9 X3 |7 m4 m* b# W5 _0 D

  82. , e: Q  J! m2 ~

  83. . ], ^: c  H( G
  84. CMP_RE:2 V* J, l! b$ J# B) T! l
  85. LDA $FF" v, M( k3 U  _& Z7 N/ F
  86. AND #$7F
    * X3 b; {& d+ S8 o2 _& \/ u
  87. STA $2000. O( W! {3 W' J7 }3 q& x) ~) q: B
  88. LDA $2002
    2 t6 }* E5 d2 o5 H) O' y3 l, a* k
  89. LDA $25
    ) O! ]2 l) v5 y- l! h8 m
  90. CMP #$01
    : N1 t5 O2 W, i6 J
  91. BNE PROREG
    & G+ a5 R, y' M$ Q# Z$ _
  92. LDA $F5,X
    : i% |3 k1 n1 x0 C) |9 w; n) |
  93. AND #$CF
    / J2 R) L4 p% o2 G
  94. BEQ PROREG% r8 C5 s1 k! [' G
  95. JSR PPU_CMP7 E2 Y; |: ?2 Z7 K) j0 K
  96. C_RE:  O' ]8 |- {# @5 \% g7 x
  97. RTS( x  ~2 @' k/ r
  98. PROREG:5 E9 F- U2 h* o" x! J: E
  99. PHA7 L2 A6 J4 M1 Q: u! r- i
  100. TXA; `! }8 B: \/ E; ^$ h5 p
  101. PHA" K# H5 ~# p* U/ G  Y
  102. TYA
    , M- J4 M4 {4 A) H, o$ d' \
  103. PHA6 _0 {- J/ x# M; X; D! b
  104. LDA $25
    % V. y- B* X& b# P. ]
  105. CMP #$01; G/ F4 o3 D) w2 r) l. A# a5 e: ], b
  106. BNE RE+ T* h5 ^9 [$ |+ |- u
  107. LDA $010A
    0 E" n3 K9 I0 y  P
  108. CMP #$00; ^6 y; A) b3 z9 K) g
  109. BEQ P1! {; P# N2 k+ H+ D
  110. ( C' `3 z$ U( t, z* @
  111. RE:
    8 q) h0 i5 F+ P% ~
  112. JMP PPUWRITE
    ! b2 {/ o) q+ c$ Z4 \

  113. ( k3 W+ g' t7 d  }
  114. P1:                ; 条件判断
    ! A; b' M0 @' [' V; _" H* A- d- o
  115. LDA $7FFF: p5 H- z: }8 l' L% O- p7 }
  116. CMP #$FF
    4 R- ~: h) T: t/ n
  117. BNE P1RP
    1 m/ _" F0 a; f: r/ R; |+ X& L
  118. LDA $7FA0
      Q+ T/ r- j* c/ t
  119. CMP #$00: C7 R% C6 \) [" F3 l' S
  120. BNE P1CMP
    . U2 n. z% u  `% M
  121. LDA #$FF
    $ P: }3 E# W9 I& W! Y
  122. STA $7FA0
    - H7 y' `8 y: |
  123. JSR CLEANA6 q) ~  p* x& _9 n" C) U
  124. JMP PPUWRITE
    1 o% X/ X9 k  g4 J" ?
  125. P1CMP:
    5 }6 T9 \. x- a$ p9 b1 h0 g$ m8 j
  126. LDA $7FFF
    ' B8 r$ m7 V9 C6 t8 \0 G% h9 E# {, h3 v+ \
  127. CMP #$00
    $ S  I* I' s% j7 }, P
  128. BNE RE) c1 N5 w" y/ C0 _& j6 v4 x
  129. P1RP:3 _* C* l$ f& W/ [  i$ Y
  130. LDA $2002
    $ A$ l4 A/ _/ e" r
  131. LDA #$00
    9 n2 L3 K) g2 |
  132. STA $2001" u% P# E/ A9 a0 j; B& G& V
  133. LDX #$00
    - @- L% G  B! d( I5 D& {- ?
  134. LDA #$FF" s- J! N5 Q$ T5 c3 x3 L4 H
  135. STA $7FFF
    ' I8 |, i2 F. t' _  n
  136. STA $7FA0
    . g* P- n) x2 `* k, d$ B5 o
  137. JSR COPYPPU
    2 o+ R1 ]# x" t) L+ z" R
  138. PIRP2:
      `9 u. t1 m; X
  139. JSR CLEANA
    9 Q2 M  ^0 g9 z  f+ T: u( v4 T& G
  140. JMP PPUWRITE* `: H$ t4 W1 J' m3 Y
  141.   {; W$ p2 A; t* h
  142. COPYPPU:
    ) p. w& o, z' m: W$ S. e' f
  143. LDA $FE6 O( F8 r$ B9 U. W! O
  144. STA $7F50& i2 v- ?; ]$ G! x0 L! ~  W& h
  145. LDA #$08
    5 I/ p; g8 s. I$ U$ D
  146. STA $FE$ z' E, G" n9 H( Y: g
  147. L0:
    $ ?+ v0 L7 `5 a3 y$ x0 v; z
  148. LDX #$00
    1 g2 c/ q2 E  R0 k
  149. COPY_07C0_07DF:
    & Y$ c; w: a% g) I
  150. LDA $07C0,X1 q6 ^; A7 ~- @/ c; H
  151. STA $7F00,X& T  X$ ~3 ]4 i3 U
  152. INX
    , H$ W5 x0 p" ]+ M, G% h
  153. CPX #$40
    # w0 i1 G7 j6 B  i. ~
  154. BCC COPY_07C0_07DF! s/ ~9 G$ i$ z$ Q
  155. LDX #$00
    : V( u& c+ I7 n; e+ N
  156. PPU_07F4_07F7:( e' c( a. {- T, h- u
  157. LDA #$00
    9 I: K" V- @9 B& W9 m" ^* j; i2 p1 a
  158. STA $07F4,X8 ?, `, H; n; T7 @( M
  159. INX
    8 w& [; c' q& ]+ Q  |8 X  S6 d5 Z# ^* H
  160. CPX #$04: b. c) l$ u8 d1 i" ]* R5 t3 X
  161. BCC PPU_07F4_07F7
    ) n0 w' S! h  I/ N
  162. LDX #$00
      Q/ N7 ]8 w/ w4 m! r
  163. COLOR:4 T2 T: u4 S. ^1 t2 x. ]( N
  164. LDA COLOR_DATA,X
    " |  F+ U3 E2 X' _) d# s6 _* B( v
  165. STA $07C0,X' u+ p$ t6 O' A( i  Z' {) U
  166. INX6 `3 U5 Q0 E' g; `) G! u# h
  167. CPX #$10* H6 v0 u& R" l- T4 V, P) `1 F! Q- L7 n
  168. BCC COLOR
    ( o0 u7 M$ C9 u' A  g% C; v
  169. * @0 a9 F& u4 h. Z) D
  170. PPU_COLOR:) ?2 i8 u- u$ a+ R8 s0 p! ?# }8 p
  171. LDA #$3F
    ) H- ]+ s8 z  r8 U+ D- l9 G
  172. STA $2006
    " d2 e& a  J, y5 j5 C/ b! I# a* @- m
  173. LDA #$00
    ! T# d/ _8 n; i
  174. STA $2006
      E  ^+ P; }6 a4 W# y* C/ f
  175. LDX #$00
    6 o; s8 V- p- [
  176. PPU_COLOR_W:. j$ z$ i- N8 u, f9 U8 J
  177. LDA COLOR_DATA,X/ j& ?' B4 Y7 W
  178. STA $2007( O. o$ H3 y9 z. E3 |
  179. INX
    6 K3 H2 Y4 Y2 g5 |: x
  180. CPX #$10
    ! v& @& [. Q2 F9 d$ n) j
  181. BCC PPU_COLOR_W5 Q; g5 |# f) L* Y5 b

  182. . _5 D7 T) t" v+ l6 C

  183. 9 x9 h0 @, X0 a1 U
  184. LDX #$00
    7 ~6 R6 h# C0 F2 {" o
  185. LDY #$004 u2 m6 M' v: Z: e
  186. LDA $BD5 E. b) i( J0 M: w( _7 B
  187. PHA9 z5 r9 u7 a0 A# Z
  188. LDA $BC
    $ O8 A0 z% U$ Y
  189. PHA
    4 B* a  `# ]  `$ e. J- `, j. ]! J
  190. LDA $BB& K; X- L2 v% K9 z" @- N! ]1 c6 z
  191. PHA
    ) c- @& j8 y' h% e' O$ a& y# \: B
  192. LDA $BA
    0 F% Q* }3 u! s3 Y
  193. PHA
    5 b' i: ?+ H9 P. @+ R2 H
  194. LDA $B9
    ! X2 |. `( p; I6 B& K
  195. PHA
    * j' ]6 z3 s8 A% m3 r/ u. V# f
  196. LDA $B8
    0 i! o5 c- J' Z  y2 c4 j+ [
  197. PHA
    $ B7 g& a) w$ o" y4 Z
  198. LDA #$00. D+ v' f6 E$ L! {: O  m7 o7 }
  199. STA $B8+ ?( `, ?: ]) T- x% x# @
  200. STA $B9
    : V  K$ c- f# a' `" J
  201. STA $BA
    : `7 Y; z, B5 r- k3 t( S
  202. STA $BB
    - l# I8 x" \  l5 W
  203. STA $BC
    # g% b( o' c/ U8 r7 M  T+ O* d
  204. STA $BD9 p) t! N. }) ?+ c7 M
  205. LDA #$00+ ]2 I# C; C3 {3 P- b
  206. STA $BA  G: A# r. y3 i+ A+ T! N( P2 x
  207. LDA #$20
    3 ]5 F; s0 S1 C% E' |1 S7 c, W
  208. STA $BB
    $ m/ K4 s# ?* e7 B  p- x
  209. LDA #$004 s( K8 n( c) j9 m  `) j% ^; W+ e
  210. STA $BC5 g; ?) m, |  K9 s9 t  y) F
  211. LDA #$605 |+ d4 b) g' X: B. A" f
  212. STA $BD
    5 A  p2 T$ m& B, X
  213. ! z9 {9 _9 J9 f+ Y3 j. S
  214. L1:                ; PPU复制; x! e, K$ j5 o; g
  215. LDA $BB
    7 J; N! ]  d/ B1 J" A- |
  216. CMP #$28
    * J* ]0 v, ^+ K' S  y
  217. BNE L2
    7 i3 f& @" f1 Z; k& [0 X
  218. LDA $BA; N- {7 y" i# l+ v3 N
  219. CMP #$00
    % X0 i: X# r5 k
  220. BEQ PROADPLA& D+ N) r3 E! {; ?% i' O4 F
  221. 7 {8 {- _! {9 n4 H5 I
  222. L2:
    6 i" I0 x7 Y! h* n! X
  223. LDA $BB, C$ ~4 Z3 C3 Z- b4 o
  224. STA $2006
    : W/ {+ ~0 d1 x1 j" s
  225. LDA $BA
    " [" h- [) K  ]5 e; {- c3 Z8 f
  226. STA $2006: U9 c$ y8 H# ~( v: o' m
  227. " _/ G2 ~+ \0 p9 a% `
  228. L3:
    3 ?0 F  {) l0 y( O/ B3 p
  229. LDA $20078 y" C9 L0 L! p. a- Q4 h( k+ Q
  230. LDA $2007& x, e. ]2 Z( U0 c/ {+ N
  231. STA ($BC),Y8 i$ G/ |: z9 H: t: t

  232. 7 x/ w; d$ M6 I; ~2 n" B
  233. L4:6 d9 F0 n* \" m- N% A( R1 f
  234. LDA #$00# w1 F1 S, n( e3 B; m* H6 S4 a
  235. STA $2000' B' p5 X. p/ J. m2 T) S* B) w+ Z9 \
  236. INX
    2 C/ z' X7 Y, r( H! |4 l- r" p
  237. INC $BA
    % q4 H" b! U& h7 p2 ~2 R
  238. INC $BC
    : Y: k; |1 B. u. ]: t: S8 O* L
  239. CPX #$00. j. J+ V7 A6 ^( z* q$ K% S: J: Q, y
  240. BNE L1
    9 R  {% P' Y7 F: D4 a. m
  241. INC $BB) t5 ]; \6 `8 W" b" z# O: O/ Q
  242. INC $BD
    1 C) ?* ]5 E; v7 h3 H' `( b
  243. JMP L1
    2 r4 O( ^% Q; N
  244. $ O+ ]; l0 A$ G
  245. PROADPLA:                ;出栈; ?0 s0 G: G* x3 @# P5 w' {
  246. PLA
    ' }# ?# N% f6 p; P. j' f" o' M; A% [
  247. STA $B8
    ; }8 o+ p$ n8 `+ k! I1 J' l
  248. PLA3 D+ }( e' t* [& s8 b; N; E8 U
  249. STA $B9
    ( A! ]) O3 u7 j( z
  250. PLA4 h7 w8 Z4 v- {1 d# @
  251. STA $BA
    ; I2 B/ N6 F# J" q
  252. PLA
    0 e1 b5 A1 H' x3 e8 p" E0 ?
  253. STA $BB3 L% s. y% Z9 C  d
  254. PLA
    : x: x% U5 G) b0 E
  255. STA $BC
    / h: L! F6 `/ Z% I$ G7 T# z
  256. PLA& G7 _5 e/ ^( \- w) q& j
  257. STA $BD
    , |' D* O( T' k5 _0 O1 }& ^6 r
  258. CPRE:
    3 C3 L$ I% x" T$ r& u: [6 V
  259. RTS7 M" V  z' J! t( u* N6 j  W9 n. e
  260. . c0 h9 i& m' K6 h+ ^% S
  261. CLEANA:                ; PPU清空
    $ y; ]* X7 n' Y) R' f" b
  262. LDA $BD
    1 N2 G6 H$ `9 m. V3 J
  263. PHA+ U. v" `7 f/ ?" U0 n& m& K
  264. LDA $BC& f, a5 x8 D. F* x
  265. PHA4 O/ i# r$ n( l" m+ V# T, ?1 W# \
  266. LDA $BB  Z+ H- o- T, S  E* Q1 [
  267. PHA
    4 d  g6 z! [  |' s/ B( L. W4 r; m: ^
  268. LDA $BA5 E+ M) B. `5 }* s$ D( Z! ]& W" D$ _
  269. PHA! I! ?* S4 a6 l5 d1 v+ a
  270. LDA $B94 @4 @; e3 i4 Q5 t9 D6 d4 b
  271. PHA
    , r2 L( E# N3 C4 v
  272. LDA $B8- a9 p7 x. L% t9 `  k; l0 t( @
  273. PHA
    6 J* v/ w' M. `; Q% S
  274. LDA #$00" P4 }7 I4 Z- A8 k% ~+ `
  275. STA $B8* t  \7 W2 j& U! F
  276. STA $B9
    % e8 C+ }8 E6 U" \- T  Z
  277. STA $BA% a; P" o" ]+ U! K1 F! W
  278. STA $BB
    1 J) G2 o4 |/ M% o6 ^8 z3 t
  279. STA $BC
    7 T; Y& ^) J( o, }! o1 d" D$ Q
  280. STA $BD
    ) f; q8 `# w2 }3 @7 Q* W0 |
  281. STA $2001
    ' Q2 S& K( k6 r
  282. LDX #$00
    - ^. b' Q& _9 K4 q" o9 T7 }
  283. LDY #$00( t$ B8 s4 e6 j  ^, f1 ^
  284. LDA #$00
    9 d; f: U7 A/ L: j  f4 l
  285. STA $BA9 [7 ~6 F; a& h4 [$ J% h
  286. LDA #$207 _5 Q( U) _6 y% P
  287. STA $BB% }% F/ M. `9 O" }: a- |7 h

  288. + {8 [$ c% B9 b# n" E
  289. CL1:. ^9 e! G8 j5 {! l, P8 Q' o, Z
  290. LDA $BB! D' H. n; T: F! O  k& G
  291. CMP #$286 p; u/ }, ]; X' l. l! s3 S2 v8 [
  292. BNE CL2$ j5 w6 v8 x2 r3 d# ]
  293. LDA $BA
    , {% D) C+ P. b& Y+ P, ]. z$ k
  294. CMP #$00
    , l4 m- H0 V& H% x# @5 q+ }
  295. BEQ FREEWRIYE& J; M7 G; h9 U( O) t
  296. # n3 O) R- {% w6 f
  297. CL2:/ a2 b% ^* |; }$ L% [$ i
  298. LDA $BB
    ( R" [- K$ H  X" [& [' m4 ^
  299. STA $2006
    9 @0 y- A3 L/ M/ J( f4 A
  300. LDA $BA
    6 j. U% s9 k3 Z7 b" y
  301. STA $2006; f7 D* P% p% b! e( I9 I) V

  302. 2 R4 Q# [! ^9 L/ \5 k
  303. CL3:
    # V1 D5 E) u0 p. \% L" M- [
  304. LDA #$00
    % K) ^* p: Z3 r! \) G+ o. B
  305. STA $2007
    8 N7 ^+ [5 l6 q6 z$ g; p9 _5 z3 H
  306. # H1 A7 S: R! w% }3 k8 V# O
  307. CL4:
    * o* ~9 [+ A/ R
  308. LDA #$00
    , J9 M# G9 f: [: Q% \, z
  309. STA $2000# w1 t' u, ]- g% T* O
  310. INX
    5 n' H2 O8 y4 r
  311. INC $BA+ z. q# [% G) K0 Z
  312. CPX #$006 c1 ]- U* \5 `0 ~" X
  313. BNE CL1  x% c6 \) w) R& J% C
  314. INC $BB: t7 x* {- Y7 S$ B% P( f
  315. JMP CL1 ! n: j6 K  _. J2 G1 H4 c1 H8 P5 H
  316. - V- M9 d# I7 b! r
  317. 9 X1 d& N& O) a9 p' J3 B8 W8 C, K% s
  318. FREEWRIYE:& C5 v7 ^' `# L7 o0 f: i' m

  319. ! F* H9 Z* C/ O) @- F
  320. NOP$ m4 _' o9 u% T

  321. , i: o+ V) y. y! L5 G& m7 D

  322. ( T% N$ z7 y% ~/ B/ A' I
  323. 2 M6 _7 p1 n- B7 A- ~
  324. ) B* I8 m- F3 ~! \1 G1 L

  325. ) h6 [& P4 D$ r5 Y$ b. |  B
  326. CLEANF:                ; 恢复现场
    ' [8 r  s( q/ S6 ~
  327. $ x. ^3 w2 z& J9 y1 n7 F3 H
  328. PLA
    ( q. U$ T  D/ F2 F$ c, N6 [4 S0 I
  329. STA $B8
    & [" b" K/ ?' \9 V
  330. PLA
    2 U2 k# t3 _  K5 `9 U
  331. STA $B9) L* x7 o7 _6 ~( M
  332. PLA
    1 z- ^' A8 y3 z
  333. STA $BA
    4 F. }  S5 x! v8 ^
  334. PLA) w; q' t9 A) N5 t  [3 {5 _
  335. STA $BB" Y9 M1 k8 W/ }8 e* a0 u
  336. PLA
    * y+ x4 ^9 V' o5 R8 p, O
  337. STA $BC% ]2 i% i( c' _4 \- _! o0 \
  338. PLA
    & I$ B5 T  d1 w# [' S8 F
  339. STA $BD
    : t; u' z; u+ W0 \$ b' _
  340. CLRF:
    & @8 d; a/ t7 c
  341. JSR FREE_PPU8 a; {/ x3 o# q4 |! V% y% X* ~' a% b
  342. RTS
    : ~& k! V( [* x& m
  343. # Q- L) |* l" a; U# w

  344. 9 X8 a$ V: g5 P* F4 ^
  345. PPUWRITE:    ;PPU写回
    ' g5 d! \5 r. Y* N2 r
  346. PLA- s/ n% g' F- {/ y
  347. TAY- }4 Z, Q* S2 U
  348. PLA! l1 |! H+ l5 A  ^( F- D5 V" u' x
  349. TAX
    : O5 x" J) [9 M+ @- E" B
  350. PLA- f. {. @7 I# ]9 Z* i
  351. LDA $25. O. K: t+ b6 a' O- D( B% h8 g
  352. CMP #$00
      D* |: L. u% s: U, w8 c8 C
  353. BEQ WP10 Z9 v, l+ G" M) I5 b( H. ?
  354. LDA $254 x7 ]/ c& }! r" |# R9 q
  355. CMP #$01$ D& t; R: a7 w9 k! {! @& r$ g
  356. BNE WRE" g: O( v+ x4 T9 S
  357. LDA $F5,X0 }, u& b! H$ J2 @& ]* l0 p* i4 ?
  358. AND #$EF
    ! k+ q4 B6 D& S! [# g8 H
  359. BEQ WRE/ }4 s2 N* V9 x1 Z+ W1 @  {1 C
  360. LDA #$00: ]6 d9 F2 @4 x5 g- w4 V
  361. STA $7FA0
    8 m( i; ~: J( B/ K8 X" S+ y3 k5 h

  362. 5 ^3 T0 \+ I- T& ?2 D# Y( a
  363. WRE:4 A; K" a. A% ~  y
  364. RTS
    - L* |- D. n7 y) T8 r
  365.   q5 v+ b/ G3 Q. x  n$ M0 u
  366. WP1:
    5 {9 `) c( _8 |; O
  367. LDA $7FFF
    8 A8 p4 r$ R. N7 V! i2 W- I. E, H
  368. CMP #$FF  _! Y% i' L( w8 |5 t! |: ]
  369. BNE WRE
    % i9 k$ M; H7 j9 o. }; m3 g
  370. LDA #$00! B6 F+ ?; d! d, S
  371. STA $20018 C  R  {  n1 L. j" W) J
  372. LDA $BD; f3 V2 |4 m; J( B% Z6 n1 R' m
  373. PHA
    ' u; n4 w7 m/ e& ]& P
  374. LDA $BC
      L  X& [! q8 Y1 {2 t
  375. PHA0 y' Y% c7 Q, a  }6 E6 f
  376. LDA $BB
      t& H0 t& y' L9 F( O
  377. PHA3 H+ K8 }' S4 G' Q. Z
  378. LDA $BA
    + @0 L) s, ^5 W* ?
  379. PHA) k2 q% A9 }  Y
  380. LDA $B9
    " g! }! ]' a. I9 H9 C- |$ ?
  381. PHA! ~- V& M/ J3 U8 G2 H, T( C) u
  382. LDA $B8
    # d1 G/ L5 s/ ~" U6 `, d
  383. PHA4 G5 |; y' E0 l' Z" k5 _" B' @
  384. LDA #$00
    ; |% j0 c' e) T9 s- J
  385. STA $B88 T. H3 I0 q6 t4 {' W( U" e
  386. STA $B9
    5 {# Q. k% e, i4 W! |0 g. z- T
  387. STA $BA
    9 ~  Z' o, `# m: a, I
  388. STA $BB
    / z3 V* v/ P* x  E. j
  389. STA $BC6 |0 E% l- O2 @& z5 V! |
  390. STA $BD0 {, D! d  y: T; y- ~
  391. LDA #$009 `; u% X8 V2 w9 P9 d- Y# U
  392. STA $7FFF, ^) V" o$ d. U- U$ f

  393. # N! c" C5 J) }* o  K/ m
  394. WL0:
    ) O" |, G* G- L1 f* |
  395. LDX #$00
    & L& r& Q+ G/ T; G* x
  396. LDY #$00" ?+ }; T% L, x# c% g9 u. p5 w
  397. LDA #$003 L8 N  P! C% k% j/ c  x" C
  398. STA $BA
    - l1 t! a, H9 h! b6 g8 [1 T7 E0 N  d
  399. LDA #$200 ?6 w& r7 o! ]6 x( \4 g
  400. STA $BB/ x3 S. p) F; t8 z3 O
  401. LDA #$00
    - l+ s3 P* M( S. k' m8 h1 P: c+ {
  402. STA $BC" Z9 o! S  F4 d/ `9 u0 u( ]
  403. LDA #$60
    $ H5 ^, T2 w1 _/ a, K9 p* G! s
  404. STA $BD
    3 U* _: `; q4 l8 O8 U+ U# e

  405. ) V2 `! U3 G7 f8 R2 }% l
  406. WL1:
    + K4 A. P$ N. Q9 F0 q3 S4 J
  407. LDA $BD
    - O! ?5 g& `% V4 Q
  408. CMP #$687 t  @) b1 ^' V3 r" w2 R
  409. BNE WL2& B" R, D. n* t% Y) J
  410. LDA $BC$ C/ m  s# }/ K
  411. CMP #$00; l# n7 Z4 z% z7 S6 _
  412. BEQ WLR
    ; l) n( A8 F, t% ~9 |) Q8 i
  413. % B! g! m( h5 }
  414. WL2:
    & U: X: g7 @. {. F
  415. LDA $BD5 ^% k9 h4 S! d
  416. STA $2006- H6 ]1 e1 [0 A; h7 L/ e' o: D
  417. LDA $BC0 i0 H( I9 d) M& Q- [" \; |
  418. STA $2006
    5 `0 G+ b% H$ p7 P, d$ o* m* G$ N

  419. 5 [2 \. w: n0 H3 ]
  420. WL3:+ o. C5 S) D3 i7 o& M
  421. LDA ($BC),Y
    7 y; T, c4 A6 S$ M) l! J
  422. STA $2007
    8 O, x) }; i7 A1 \4 H5 Y# e( Q
  423. : g3 {4 c, r3 z: X0 V/ H
  424. WL4:0 A  @1 x. r9 J$ h4 J9 d( j+ M
  425. LDA #$00
    9 ~* k3 \. n4 ^8 ~
  426. STA $2000
    : K# J! }3 s; {% m# Y
  427. INX3 C& o3 q" M1 `- {6 l) t
  428. INC $BA
    ; U3 c3 {0 H+ T
  429. INC $BC
    5 X5 ]% H1 P, R3 u; c
  430. CPX #$00
    : H& j3 J3 D- R/ F
  431. BNE WL1
    " y2 C- x- S$ [9 T* X! @
  432. INC $BB
    9 b1 F/ A$ I$ \
  433. INC $BD
    5 \* o9 K( A- ?% d) o" {
  434. JMP WL1
    - J$ V4 u  ?% F5 L

  435. 7 d4 w7 a5 I9 x3 B8 |9 g
  436. WLR:
    # l% F& Z+ n9 J$ j
  437. LDX #$00) {1 y; G  x. l7 Q* H! F1 d
  438. COPY_7F00_7F3F:5 a+ U8 G! y; u9 r7 D8 c) r5 l
  439. LDA $7F00,X
    + ~1 P  o/ B$ D. z6 e( }$ h) F
  440. STA $07C0,X1 u+ }2 m- @& ~/ h4 z# ]" _
  441. INX
    ) r* X  p3 M& K% J( m* ~9 z# }/ l! e4 h
  442. CPX #$40
    ( M, }# I  w0 E) V8 T+ ?6 R% R$ ~
  443. BCC COPY_7F00_7F3F. }4 R+ g+ N3 I, z- S, K

  444. 4 S. X! O' ?% V7 G2 ?4 o# M
  445. LDX #$00" @3 S3 w6 q4 H6 }
  446. LDA #$3F
    % ~4 v, Z+ G- C- k' y5 n: s1 F% v
  447. STA $2006
    5 @( M7 }) b- p. O$ j
  448. LDA #$00
    " \$ v5 J/ \( K" |* \/ |& X* q) q
  449. STA $2006- i7 j% N7 O* m" q" h- C
  450. COPY_7F00_7F10:0 r/ q; p7 v' Y8 d/ L* x
  451. LDA $7C0,X3 e- s6 @# ]" t- l
  452. STA $20075 B: B7 C$ k" x2 @8 {+ d
  453. INX
    & y6 T3 `) D5 _5 N! X
  454. CPX #$108 D" }$ ^, R2 ]. ~; |
  455. BCC COPY_7F00_7F10: I: {7 p" a: g) v0 H8 a4 W
  456. " g) I% g' x6 F
  457. LDA $2002
    3 k# B0 ?$ r. F/ c2 F5 t* M9 L
  458. LDA $FD" e9 E' e* F% Q! v2 B
  459. STA $2005, x: D/ P8 r" `) y* D# {, K& `& M, D4 _
  460. LDA $FC: n; F6 v6 p* G8 M+ n& X2 I
  461. STA $20052 Q; U' M3 ^7 S" v% f6 ]) }

  462. 2 t) V+ M$ g  }
  463. LDA $7F50: C- H( H! U: ^+ S) Z
  464. STA $FE+ _# c6 g4 q6 ^7 D
  465. LDA #$00
    ( e$ f- u4 E8 d  G0 L6 D
  466. STA $20000 u$ C  ]5 u+ d' Z
  467. PLA
    , M- r0 |- \) w% B2 n: c
  468. STA $B8
    , b' K4 o1 G8 t+ ?
  469. PLA
    ( @; B; D% e/ ^- K' _* _6 M
  470. STA $B9: ^6 r+ j2 V* P+ {, x0 n( s
  471. PLA
    ) T. i7 g8 o/ w; V7 j( r& f  e
  472. STA $BA
    ( j/ F5 q7 Z$ F: t2 l& O  o
  473. PLA
    ; s& ?$ A5 J# j# s
  474. STA $BB
    $ r7 }) O0 s  M- _
  475. PLA: e& j3 @0 ?2 ]  e' f
  476. STA $BC. l/ o4 x( `6 {$ T
  477. PLA
    7 L* L# [: c; {* s1 m; b
  478. STA $BD
    " r! i1 F% e- J1 v
  479. ! p. H, S& ]7 g4 }. J
  480. RTS
    ' z  _* }3 C' z# @; V

  481. ' V4 R1 R* k6 W
  482. PPU_CMP:
    ; p; G. [. \4 h! \
  483. ' S! h+ I4 t7 l# C0 D3 _* n

  484. 1 }/ ?6 e, Y% X3 @
  485. PPURE:
    5 L2 P. Z4 \5 c
  486. RTS& ~" p- k# E* J3 G3 ~5 c
  487. 1 ~3 h# ~1 c! s

  488. ' Z. ]7 `4 d# k& j0 i* O
  489. FREE_PPU:2 [, f9 K4 i, a

  490. " o( T  Y$ j$ S* N
  491. JSR TEXT01_PPU
    # T  z7 N% G( z: B
  492. JSR $CBC0& \. o) M" @3 K3 X8 W; p
  493. JSR P1_PPU
    2 _% `/ y7 ^: _% V/ \  G! G
  494. JSR P2_PPU+ q- |+ P0 u5 r5 L. s1 W
  495. RTS
    3 h8 Q  r0 k; f) F/ U; v% x
  496. " T, P, l+ @3 d  U
  497. TEXT01_ADDR:! a6 }) t4 R; e
  498. .BYTE $20,$421 }8 G: @* a* M/ y% |
  499. TEXT01_DATA:- d" g4 i. E5 Q. V2 m5 y2 C0 l
  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
    : k2 ?  O& [% o  }2 @4 A& }
  501. TEXT01_PPU. `' F( d& @# m4 h- A" U& f" V' b
  502. LDX #$00/ J/ B1 e( Y) q6 Y
  503. LDA TEXT01_ADDR
    . {. T8 k$ Z& E  o9 q/ `
  504. STA $0703# x8 B7 C! f2 k; u; T8 N
  505. INX, n7 @6 W' V- c" U
  506. LDA TEXT01_ADDR,X1 |, ?" ~9 P. k6 B. u& N3 B
  507. STA $07042 A0 |; q) `$ `3 D7 d3 k
  508. JSR PPU_PROCESS8 a+ q8 J" j7 f7 e% @7 C
  509. TEXT01_W:" o. b4 i/ V( F  t; L% [- B& w
  510. LDA TEXT01_DATA,X
    & U- Y! [4 Y. g8 j5 X3 h8 L
  511. CMP #CEND4 d& S  ], \+ }& u
  512. BEQ TEXT01_START- h" e  w% x% r* |/ f. a' }  ]2 V
  513. STA $0705,X
    ! W) j3 f7 S5 z: y- e( X
  514. INX
    & y# _- [/ N8 J8 c/ n
  515. LDA #$00
    & x5 a2 _6 ^4 e* b0 F$ v
  516. BEQ TEXT01_W% J) l, `, @: \6 C* }6 X
  517. TEXT01_START:
    ) @7 s6 \, _( G5 s: [
  518. JSR PPU_START& \0 ?4 v2 t+ w! A) j7 D  x& x
  519. RTS
    , {% r2 k, k5 P( V% G( p6 x( W+ C

  520. / I) d5 b& B3 L; D& v5 \( B
  521. , l0 {7 B5 r: G
  522. COLOR_DATA:
    " V5 j7 [$ n% k6 n( c4 j
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ! }5 t. A4 `( ]6 f/ R( U, N2 O, D

  524. ( R/ M  V5 B4 e. {4 f( b  P9 L
  525. P1_PPU:/ [) Y$ \- B$ L8 b( `
  526. JSR PLAYER_01_PPU
    6 |' [5 Q! h7 z& N, G
  527. JSR $CBC0
    4 S  r( V! c) a# s$ ~
  528. JSR RELIFE_P1_PPU9 s% u! Q6 \" l) M0 S9 N; u
  529. JSR $CBC0
    ) P1 N/ m3 w( {7 W) {( z
  530. JSR RELIFE_NUMBER_P1_PPU
    3 e  j( K1 {( b$ m2 ]
  531. JSR $CBC0
    4 p8 h0 A( M5 Z  T
  532. JSR WEAPON_P1_PPU
    . n) s/ D, V: H% Y
  533. JSR $CBC0
    4 g  O$ v. y0 e: r. P  K
  534. JSR BULLETPPU_P1_PPU
    % c( V- q/ b) v& A
  535. JSR $CBC0
    ) i% c2 [7 `* v$ b" |) C4 J
  536. RTS
    - G9 r# `, N/ A/ A! ]) Z& R

  537. 2 l% x; ?% s% i2 w6 L  W$ S
  538. P2_PPU:
    5 d/ v" Z# T5 e: j
  539. JSR PLAYER_02_PPU
    " `* p/ T$ L) Z/ L
  540. JSR $CBC0
    2 t9 J7 k8 Z0 i0 O% L
  541. JSR RELIFE_P2_PPU
    - W. V8 s9 Q/ ]
  542. JSR $CBC0$ t7 B9 `& C8 R4 `
  543. JSR RELIFE_NUMBER_P2_PPU
    , O* N& I5 O' r
  544. JSR $CBC0+ Z6 ?: ^9 R% a# g
  545. JSR WEAPON_P2_PPU  d( P  v( N5 ]2 i
  546. JSR $CBC0
    5 c& R2 @- t- W, ~' y' @! Q7 r( x
  547. JSR BULLETPPU_P2_PPU, }: h5 ~7 w: Q9 [5 y/ u
  548. JSR $CBC0
    3 @8 M5 N: _9 ^
  549. RTS
    ( z* r: B! ^7 O# n8 N
  550. - h$ c1 v' j! q$ i+ f. {
  551. 9 [8 X4 b5 r: }  ]& l* C
  552. 1 Y7 l: _1 b$ q: j$ ^0 {
  553. PLAYER_01_ADDR:
    3 ^) U/ q" `3 u- E$ Q
  554. .BYTE $20,$A3  L/ o: }% L6 H' c; t; i
  555. PLAYER_01_DATA:
    0 N1 Y8 |7 Q: k& D) ]
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    5 y* _8 U0 l, [" b8 C8 i4 W
  557. PLAYER_01_PPU:7 J, H5 Z/ n+ z# Z
  558. LDX #$00
    : e- V6 z. B* L, ^& l6 P; Z; K2 ]& d
  559. LDA PLAYER_01_ADDR2 l' t! i( F4 f8 U7 F( V" x
  560. STA $0703% ~, m& z5 O7 p9 w/ k, A7 F
  561. INX
    ! n) p/ p  \8 d' I: o
  562. LDA PLAYER_01_ADDR,X. F4 W( s3 `7 M: U" [9 G
  563. STA $0704
    7 }! v8 Y* r0 |9 f
  564. JSR PPU_PROCESS
    ! X2 p7 ]: ^, Y$ f9 I4 P/ l
  565. PLAYER_01_W:" E! E4 E9 T& w+ z" c
  566. LDA PLAYER_01_DATA,X, g& `! M* B! [; o& T; |
  567. CMP #CEND  m9 m: k" O( W: Q7 `$ A
  568. BEQ PLAYER_01_START$ ]! r. P; h- {) M2 ]4 {$ j6 l% M
  569. STA $0705,X* u! ?+ R( Q( @, k& g3 q
  570. INX
    - e+ M! {2 A3 `# ]0 n
  571. LDA #$006 ^- n; E) Q, Q
  572. BEQ PLAYER_01_W8 K' m8 s2 d8 Y* g. W
  573. PLAYER_01_START:+ L. O7 Y( N% ]- i
  574. JSR PPU_START" q! {5 i' a$ ?) N. X  K
  575. RTS
    . @3 _3 y  [+ q' I# D

  576. 2 g" {; G' V" R( r$ e

  577. 0 a' k+ H1 B( r6 Q6 f/ R6 \
  578. RELIFE_P1_ADDR:5 W! `6 J$ s' u8 c
  579. .BYTE $20,$E39 k0 y5 J( `: }* C, z/ |
  580. RELIFE_P1_DATA:
    9 U2 U; j! |$ w7 A& j
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ; N! ?! A: _& g' {* G* U# Z- V2 \2 L9 T
  582. RELIFE_P1_PPU:
    ' a7 S7 ]  r1 N1 W5 w- K4 a( @" j4 r' D
  583. LDX #$00; M# Y4 c+ `- a  R4 O7 {( [" k
  584. LDA RELIFE_P1_ADDR
    , f6 J- i4 z$ A: ^  v
  585. STA $0703  E, B8 O2 G4 u2 E
  586. INX) K+ ~) L. O0 r7 T, V# n. |8 f0 ]
  587. LDA RELIFE_P1_ADDR,X1 w. a; k2 y3 G' N
  588. STA $07042 ^" f- }6 Q( f
  589. JSR PPU_PROCESS0 H4 l. h" b  R6 X) A0 L0 a
  590. RELIFE_P1_W:8 F  O1 N- `5 A, b& ]& w
  591. LDA RELIFE_P1_DATA,X' Q9 ?+ x0 e" b  o, p$ m  S& F, ?
  592. CMP #CEND, [& g4 u+ }( C3 x+ p0 S
  593. BEQ RELIFE_P1_START
    . l: d, Q1 H0 O% G! O0 e
  594. STA $0705,X
    * p( ]+ C- `/ x% B7 @& w& J
  595. INX- |% l+ Y0 c6 Y7 N2 ?, U6 _
  596. LDA #$00
      W' a* [  M4 D$ ^* X9 C
  597. BEQ RELIFE_P1_W$ @2 G2 j2 ^; X0 ~
  598. RELIFE_P1_START:/ C; G% x- ~$ c" S% W
  599. JSR PPU_START
    9 L& g0 U) ^7 @  Q
  600. RTS; F! c, v' D  S% v0 T. B5 y

  601. + o1 s# F' d$ s. w- r( {, I

  602. ; j& ~! S: c4 r  R
  603. RELIFE_NUMBER_P1_ADDR:4 {+ H, P) p4 w# s
  604. .BYTE $20,$EA# `% M+ F7 e8 B6 Z, a0 w$ g( d
  605. RELIFE_NUMBER_P1_PPU:. J. R3 t/ w( e
  606. LDX #$00
    , h, |! D  F/ |  @6 D& k" K4 v% o: u9 L
  607. LDA RELIFE_NUMBER_P1_ADDR
    * Y: E, U/ f; X' t
  608. STA $0703. Y% O* f; W1 k! w, h$ m
  609. INX+ L: Z! G! }; [8 C, R
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    - m! ?( B' ?8 d! X5 i  N
  611. STA $0704
    1 G$ k5 B5 V2 [& r( W& l0 J3 y
  612. JSR PPU_PROCESS# F1 q( V! Z6 O! c; {. s! b
  613. LDA $32
    - `2 ?) T5 g% ^- `
  614. JSR LIFETODEC. i5 h; V5 u) _/ N6 i
  615. RELIFE_NUMBER_P1_W:
    : D' a! _8 Q8 `2 |( e4 y. a. u2 }2 y
  616. LDA $7A03
    # D/ H8 W& I$ V, I7 E
  617. STA $0705
    0 Z7 e7 E4 \1 \3 {6 Q& o9 a4 q& n
  618. INC $0705
    9 U1 e4 Q+ w1 [" r
  619. LDA $7A044 o4 T# y: ?2 |# z6 r4 P+ O
  620. STA $07062 g# \$ ?" a( L+ X" r
  621. INC $0706$ i( n% x) O" R4 _& u1 E
  622. LDA $7A05/ @8 |) b4 n) m' m7 W. ~. t
  623. STA $07075 A) b4 y7 i, f9 ]! u5 R0 d+ Y
  624. INC $0707
    2 U/ j$ {# q. ^) B
  625. LDX #$03/ s) u+ ]( a* a" K
  626. RELIFE_NUMBER_P1_START:) }5 D; h. R7 p- B1 t' a3 m' x! `  G
  627. JSR PPU_START
    ) k# Z9 m+ c" F# }* d+ y' Y
  628. RTS7 H% C! v' I0 \  n

  629. 8 s  i# f5 f% }
  630. WEAPON_P1_ADDR:
    8 t% K# R6 P- S7 e. N
  631. .BYTE $21,$23
    5 j# v' q+ s; k* A+ G1 q7 g
  632. WEAPON_P1_DATA:
    9 p( |* d% y& h3 H5 C3 k
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    " s( s0 @, a) J7 e, D8 c/ D
  634. WEAPON_P1_PPU:
      A" C5 O, R' r7 _$ E" ]- ^5 z
  635. LDX #$004 A- L1 g, F1 J1 g  k
  636. LDA WEAPON_P1_ADDR
    ; J% O5 K( D+ Z$ W# z" R
  637. STA $0703' Q: _* F5 y& V2 Q* d
  638. INX
      X3 Y3 S! W" ^" Q) g8 s0 w
  639. LDA WEAPON_P1_ADDR,X1 r8 U" X  L: |* r( }" k2 [
  640. STA $0704" D) A' W  r: f8 n, h# R. q
  641. JSR PPU_PROCESS
    - F8 g0 D" j. d# A( A' `
  642. WEAPON_P1_W:
    0 V9 E9 ]5 l3 r
  643. LDA WEAPON_P1_DATA,X
    , }8 W3 P" M2 I1 ^; R9 X( [
  644. CMP #CEND. D% M  W) \) J' N
  645. BEQ WEAPON_P1_START
    : Q0 a# K, }# j4 D6 }6 k
  646. STA $0705,X
    0 z9 a- b' `8 S! P6 L% c
  647. INX
    9 L. T" H/ D) U* R$ t  H
  648. LDA #$00
    6 E/ Q, ?$ G- I9 h
  649. BEQ WEAPON_P1_W
    # I; R* m- K; ]$ v
  650. WEAPON_P1_START:  a) r+ H' h% C3 T( {& Y- g
  651. JSR PPU_START$ ^3 \9 j5 B5 f+ A
  652. RTS
    % X. P- M0 Y$ f: t+ \- j$ y( h* {

  653. ) S* u, X# q8 F/ G
  654. BULLET_P1_ADDR:2 d; j; k, }, V2 z! k  I( o3 F
  655. .BYTE $21,$2A. j* `3 V- r- c: b  v
  656. BULLET_P1_DATA:
    3 J& x4 n5 }: u% j) ]; ?' z
  657. .BYTE $00,$01,$02,$03,$04# \( {8 t- a& R& b
  658. BULLET_P1_NAME:" X8 e0 g/ h+ l9 `1 }8 J
  659. .BYTE CN,CM,CF,CS,CL
    5 ]1 m) ?( h0 H3 @: F: w) m

  660. $ W4 o4 m+ d6 s+ J& H
  661. BULLETPPU_P1_PPU:# B: J" G+ ?3 f: _7 \7 O: @7 R4 c
  662. LDX #$00' B" o% N! x9 x  ?# a6 T1 E
  663. LDA BULLET_P1_ADDR# Z& R5 Z. @6 g$ C
  664. STA $0703
    2 n0 l8 n. N, z) T! F; s; S
  665. INX9 |. t  G! t" O, B) I" S! N/ y. j  n( ^
  666. LDA BULLET_P1_ADDR,X) u4 G0 ?& X  R2 K2 B0 `
  667. STA $0704
    . q+ f6 S* j  K4 ~; t7 W2 Q
  668. JSR PPU_PROCESS( l6 ^' {$ S4 d# a1 L& @: N- W
  669. BULLET_P1_WRITE:
    % O  S3 U% R. q3 c7 s7 W
  670. LDX #$00$ L5 r) a8 `6 j5 v' w: D
  671. LDA $AA9 I) a3 l/ w9 T& T+ d. s5 u
  672. AND #$10; f) B8 \) G) @* y
  673. BEQ C_BULLET_P1! x  P4 j) T( V# l8 J3 r- K
  674. LDA #CS
    0 \! y9 r6 |) S9 {8 `5 g4 w# R
  675. STA $0705$ `  i" @% m3 m8 V4 p) C4 ~
  676. BNE B_NAME_P1
    $ W  @3 _* [  X  S
  677. C_BULLET_P1:' q& Z6 l. j8 c* s. M0 t/ J
  678. LDA #CC
    3 q  i) f$ _* m' A# k: W3 R4 ?, a$ C4 a
  679. STA $0705* u6 L, U& l& O( e6 f1 m* @
  680. B_NAME_P1:
    + a& q1 Z4 ~: V) U: o
  681. LDA $AA' G( ?% Q$ I) ~9 x6 j9 L5 t
  682. AND #$0F
    9 Z/ b: y) Y1 b  E& L1 h4 I4 d
  683. CMP BULLET_P1_DATA,X1 _; u/ R8 w2 O& ~8 F+ m$ D
  684. BNE B_NAME_P1_RECMP
    1 N! F5 U% o0 h0 I- O1 F
  685. LDA BULLET_P1_NAME,X
    : D' S# ^0 m" {2 j
  686. STA $07062 b- ]6 u3 G/ Q* Y* S* j& O0 n
  687. B_NAME_P1_RECMP1 U' @- j5 Z0 }5 \' b
  688. INX
    # `: d3 q5 R7 r* a) M2 G6 x. Y
  689. CPX #$05. L9 H! S* B( \7 K( T
  690. BCC B_NAME_P1
    7 n4 s% b- _& p: a9 y' f; U8 ^
  691. LDX #$02
    1 R" x) y/ f3 A) ?8 `
  692. JSR PPU_START
    ! w' e3 Z$ `: |6 z9 ?5 v' I
  693. RTS
    4 ~' I( ^; A* f( K9 W( ?

  694.   I  _* H% I7 I6 ]4 D" Q: y. p$ s/ f
  695. 7 W( _1 R8 B7 \: l+ R- g4 V
  696. PLAYER_02_ADDR:2 |6 N, N; L4 x7 k) j; \2 J
  697. .BYTE $20,$B3
      j( w7 D8 M2 V
  698. PLAYER_02_DATA:
    & W1 H$ q2 X: j- {: N
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    : G) M( w; K: g0 e% m* r
  700. PLAYER_02_PPU:# \! V9 Q* |  L) [2 T# n
  701. LDX #$00
    ! j1 p6 r; K. G) ?6 ]% B8 G
  702. LDA PLAYER_02_ADDR
    ' x! B& ^4 `- k' w0 l. d
  703. STA $0703
    # P9 f; u3 A$ l& `1 n
  704. INX' Q8 z" s8 m- h) I- p$ s- N
  705. LDA PLAYER_02_ADDR,X
    , j, a; v6 A* T: S5 c' N; U
  706. STA $0704
    0 ~5 h/ j/ f0 @8 R
  707. JSR PPU_PROCESS7 ?2 X/ q  l6 O4 }
  708. PLAYER_02_W:7 j* V4 l% x# V+ d8 }( U; ?. Y+ ?
  709. LDA PLAYER_02_DATA,X* P" u: }2 e" B  y
  710. CMP #CEND: b. k/ W5 }5 K% c" R* v( W* Q
  711. BEQ PLAYER_02_START
    + l5 t9 `* V" @0 A% @) I
  712. STA $0705,X
    , R2 D9 F! M9 h- U- v. n
  713. INX) o. ]' B/ K4 I  d
  714. LDA #$00( z+ x# F' w( j& t7 x! _6 F2 m
  715. BEQ PLAYER_02_W$ L! n: K- g0 `- I: N' ]# l8 R/ G( r3 j
  716. PLAYER_02_START:
    - `6 K% \8 Z6 X
  717. JSR PPU_START
    ) u$ F. a8 K' q4 J2 A9 ^
  718. RTS! k, s# S) v# l$ s; E: s% f1 g

  719. 3 p$ H0 [9 d! P1 T  `
  720. 2 L& E7 K' Q( ]$ ?" X" d+ |
  721. RELIFE_P2_ADDR:8 V+ `  f: C, N+ G7 X
  722. .BYTE $20,$F3: x4 J$ z6 E2 a3 N
  723. RELIFE_P2_DATA:. v5 q9 e9 I0 ^* o! |, e, `& ^
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND' H$ a& l" u/ b) F
  725. RELIFE_P2_PPU:
    9 M0 r/ w+ c; K) X+ w: L6 z
  726. LDX #$00
    0 Q9 y/ G( w% Y* Y+ ~* n" [
  727. LDA RELIFE_P2_ADDR' k; l; y0 }% |
  728. STA $07031 T* {( k" t9 n+ {  B: P7 T
  729. INX$ n  p+ `# |1 L1 `
  730. LDA RELIFE_P2_ADDR,X
    4 j( x' {3 [5 a
  731. STA $0704
    $ a( d5 k" h; R. {
  732. JSR PPU_PROCESS
      M9 g2 A/ a% d$ Q* c/ i
  733. RELIFE_P2_W:
    # _1 w6 x7 P6 [+ H
  734. LDA RELIFE_P2_DATA,X
    ; d; i, W2 t! {- o3 P* d  ~
  735. CMP #CEND1 G; f# k' x2 d# i
  736. BEQ RELIFE_P2_START& z3 O$ b/ c4 F) [: o
  737. STA $0705,X, D) u' N5 h1 z6 H4 e
  738. INX
    9 {+ j5 M! @% p9 G- \1 J
  739. LDA #$00! L* h' ^7 I6 p4 \; S% [
  740. BEQ RELIFE_P2_W
    3 h1 ^1 c4 ]) I5 _2 h" j, D* A. P
  741. RELIFE_P2_START:
    : y; M1 S' m! G+ A* w( C
  742. JSR PPU_START
    & ^+ X$ A2 P; a
  743. RTS
    * N- a$ P# r8 B, @) N" T1 \
  744. 8 u$ o5 s8 c3 c% D  _0 ^

  745. * \" J0 ]% Y3 S8 O7 E. S) w8 t
  746. RELIFE_NUMBER_P2_ADDR:
    7 W: ^) y* Y4 |- L/ b; L- r
  747. .BYTE $20,$FA
    % P+ c+ T: }) S
  748. RELIFE_NUMBER_P2_PPU:
    ; _/ L* Y, K* n" I
  749. LDX #$009 P8 C" Z' H- L: Q3 b2 Q
  750. LDA RELIFE_NUMBER_P2_ADDR
    - X8 @" n" Y/ \7 i
  751. STA $0703. a5 R, ~( S3 j7 V3 y: u
  752. INX
    6 L. v6 C3 a1 r' Z
  753. LDA RELIFE_NUMBER_P2_ADDR,X. }$ a: y% V( u8 z2 s
  754. STA $0704) F- l( k* }  e8 O
  755. JSR PPU_PROCESS0 l+ i7 Z9 e9 \# c  c( B  k+ s+ b
  756. LDA $33$ L* A  |6 ]% D/ V# G
  757. JSR LIFETODEC1 r, J  g9 ^* U" u$ @
  758. RELIFE_NUMBER_P2_W:
    ; |2 _! m  T6 z1 T% @3 _1 b
  759. LDA $7A03
    / s+ n/ C! m4 v- t1 F: b1 H
  760. STA $07055 a& h) k% e0 \( b7 m  C$ L
  761. INC $0705  Y9 D- k6 T6 p5 [1 j+ ^% \
  762. LDA $7A04" f: [/ o- `; Y' x8 H% Y. q% t
  763. STA $0706
    ( D6 d6 b$ [) m
  764. INC $0706
    - |3 F5 k0 F- |9 P* R) Y7 ?2 q
  765. LDA $7A05$ u0 B# g( d' x
  766. STA $0707
    % L8 y1 A3 u/ G4 W; |. W
  767. INC $0707* S8 L$ a: v( u# ]) S- b$ ]
  768. LDX #$03
    3 x( m0 F- `# N: i" m2 `) g- P+ F
  769. RELIFE_NUMBER_P2_START:( P0 n) H6 Z  d1 n3 }" ]- n1 f8 t
  770. JSR PPU_START
    7 j0 Z3 [+ k7 K  a5 L  r  T
  771. RTS2 r; ~* }& B. h- y) ^

  772. ' V, T# |$ i1 k9 q& ]
  773. WEAPON_P2_ADDR:0 G% Z/ W$ k: \, M6 }- i
  774. .BYTE $21,$33( f. D* }/ v' G* C2 W* Q+ H
  775. WEAPON_P2_DATA:
    0 T; x: Z% f6 H- I) T7 b6 g# O( t
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    9 O% f+ J9 ?5 E$ L( e( Q
  777. WEAPON_P2_PPU:6 |" v$ N, X4 ^! L0 E) V
  778. LDX #$003 T. X" I: f4 T4 S4 W9 O
  779. LDA WEAPON_P2_ADDR
    & \( X: D% _: k  ]8 r
  780. STA $0703
    $ D+ @7 X& S3 N( E# a' E! H. [
  781. INX
    ( z, G( g9 b% z8 f$ y' R
  782. LDA WEAPON_P2_ADDR,X' i1 P2 i% I8 P. Q$ S
  783. STA $0704
    ( `: K. G3 h$ G; g# ]* J& {
  784. JSR PPU_PROCESS; D# E- s# Y1 D2 Q# d
  785. WEAPON_P2_W:
    # [+ r+ [$ W) ]' j* O/ l2 e4 |( B
  786. LDA WEAPON_P2_DATA,X' o8 T# g  J: b7 |: o
  787. CMP #CEND
    ! K, s: g6 b, s( B/ f
  788. BEQ WEAPON_P2_START4 m+ g6 `4 G  b* ~
  789. STA $0705,X4 `2 G' S" _' B) [% h
  790. INX
    2 g% b1 K5 B( p  ]% \
  791. LDA #$00" R* M% c" P4 x+ q6 n
  792. BEQ WEAPON_P2_W# x. e9 O: S3 Z0 \; n4 i; N
  793. WEAPON_P2_START:
    $ M; `: O( W  \- ^( }% [
  794. JSR PPU_START
    + X3 C- q7 _9 M1 N2 o: v
  795. RTS
    9 V6 x7 U2 E0 }$ R6 {
  796. - U* \3 C, \/ }  x
  797. BULLET_P2_ADDR:
    / g# A4 k2 E( R, n1 J0 t  V
  798. .BYTE $21,$3A
    ( f, \% T6 Q) ~, w) ~( i7 X
  799. BULLET_P2_DATA:/ B, m7 }0 S* z' m
  800. .BYTE $00,$01,$02,$03,$04  z- J8 ^2 h! K& X1 P
  801. BULLET_P2_NAME:
      t, _1 z. O: t1 U  O3 v' ?
  802. .BYTE CN,CM,CF,CS,CL
      w7 x6 A; E. A6 [' Z; V9 C6 r
  803. 7 p1 D" G1 K) ?$ J/ ]8 p  q
  804. BULLETPPU_P2_PPU:
    ) P! ?: ~! E$ G3 C2 X0 ?/ R
  805. LDX #$00
    ) _8 V6 B  a& f' D
  806. LDA BULLET_P2_ADDR* w& Q) I+ [8 d: Y' e7 b
  807. STA $0703' x: |: `. u5 E# L9 i
  808. INX, `& r+ D' g9 _) L
  809. LDA BULLET_P2_ADDR,X
    5 I( X" {, a: d& b" z7 E
  810. STA $0704+ r2 L2 k7 {" |( t
  811. JSR PPU_PROCESS
    " ^0 d9 M0 Q: Y! u& R
  812. BULLET_P2_WRITE:6 R* I. x, _- y1 \* U
  813. LDX #$00% y- J9 [/ \' w4 B8 x  k3 ~
  814. LDA $AA% R% s+ e3 f- V; Q
  815. AND #$10
    * V% I; w- H: |! [$ o' ^( C
  816. BEQ C_BULLET_P24 A/ G8 l  G! e% R/ r
  817. LDA #CS
    7 _3 G( F- x. ~+ ?/ w6 {
  818. STA $0705
    1 @& L+ A& o$ T: D) E
  819. BNE B_NAME_P2
    ! w9 G- y( B! h7 ?0 r! x/ f1 w
  820. C_BULLET_P2:; O& s* G) Y5 q2 ~' K& ?
  821. LDA #CC
    0 n) x9 U5 k7 k9 B# S
  822. STA $07054 l1 `# W) C' U1 w
  823. B_NAME_P2:: E6 a- V, Z" `3 n( h0 H" t. E# P
  824. LDA $AB
    7 |& U+ [) f% o
  825. AND #$0F
    1 m5 g) h  i% k' _- B
  826. CMP BULLET_P2_DATA,X  Y/ T; @& v7 s* [: x
  827. BNE B_NAME_P2_RECMP1 E- g9 d  o0 G' U- {( j) Y4 s
  828. LDA BULLET_P2_NAME,X
    1 j  f' L  f9 t
  829. STA $0706/ {9 h* S0 U" D& k0 l0 E5 l0 r
  830. B_NAME_P2_RECMP
    ) X% J3 Q1 ]/ a- a
  831. INX
    . `* m# n8 H+ W. p8 E  \
  832. CPX #$05
    3 L* M: Q7 |- |  Y' F* ^6 c: {
  833. BCC B_NAME_P2
    . Z! W- t4 z9 D- {
  834. LDX #$026 k7 |3 A6 Q( v  c- o# C
  835. JSR PPU_START! P0 R" @9 O4 w5 b
  836. RTS: {6 i+ t- m% ]) A1 ?
  837. ! A/ J, K) n4 l6 p7 {1 g9 J) F

  838. ; u) M. o3 D# i* Z# P' a. v
  839. # m! [) X3 k! [
  840. 3 m/ G' c/ t+ v# [' r# g) l2 B

  841. 8 O7 L2 N. c0 ?% N+ @0 r
  842. 6 r7 K' C& f% [, ]
  843. LIFETODEC:                ;十进制转换
    5 U# d* @6 s8 V4 l4 H! {) k
  844. LIFEL1:        ;initialise0 K2 O- Y5 a8 _
  845. STA $7A00        ;$7A00=F3
    6 x4 Z8 \0 U- \# ^. D
  846. LDA #$00
    ' I: L! Q1 `2 Q+ \+ s1 Y
  847. STA $7A03        ;$7A03=00
    $ X  d7 r1 Q0 I9 R5 ~# H# }( Q
  848. STA $7A04        ;$7A04=00
    ( |/ _9 C6 \4 ~# ?/ k% D
  849. STA $7A05        ;$7A05=00/ i: y. |( L) l, z( u9 g; v
  850. LIFEL2:        ;copy data $7A00 to 60017 J5 }% j+ {/ E0 L
  851. LDA $7A009 ], C* P4 g- G# @4 b
  852. STA $7A01
    ; _# U2 Y* p- N5 p  h7 R

  853. 9 \1 \% D2 b4 d
  854. LIFEL3:         ;hundred2 d8 k3 w  S. X
  855. LDA $7A01
    / e/ U) w# V* D% q0 x/ l
  856. CMP #$64
    4 ]) h7 ]1 o6 o- X8 p4 K- |. g
  857. BCC LIFEL6                ;$7A01<100 goto L61 H  \7 i2 L" M0 P
  858. LIFEL4:2 L- C7 r  E; _
  859. LDA $7A01  w! k1 Y3 {3 ]7 K
  860. SEC
    . m5 l& ]- r" q+ n( U$ i
  861. SBC #$64        ;$7A01=$7A01-1008 ]  _! l! @9 ?. D' A0 G
  862. STA $7A010 @8 z+ |# W+ I% Q  T+ j
  863. INC $7A03        ;hundred++
    5 d' a8 A# S( ]7 o
  864. LIFEL5:2 }/ r0 f2 E& c3 d0 e! B# w( f4 B
  865. LDA $7A01
    1 t$ N0 X9 q- o0 h; ?
  866. CMP #$644 t0 G, O. x9 P# A% c
  867. BCS LIFEL4                ;$7A01>100 goto L42 s. M: z/ C) A' o; B& Y; [3 P
  868. ' ^7 h4 d* B+ B. r% T2 |
  869. LIFEL6:        ;decade
    0 m- l" _/ i. _0 ]6 I& r# E
  870. LDA $7A01
    ! x& b0 @4 V( R$ v# q$ L' H
  871. CMP #$0A8 U) b7 ?) [" F4 f
  872. BCC LIFEL9                ;$7A01<10 goto L9
    : Y, C$ N- x  [
  873. LIFEL7:        / f: G  O3 {. S2 E9 u! z) k: S* y
  874. LDA $7A01
    0 e( m4 S5 g$ F/ K! Q# `2 q
  875. SEC; o7 J/ K- a. |; U
  876. SBC #$0A6 d% z9 U, ]% @2 a9 T
  877. STA $7A01        ;$7A01=$7A01-10: T) ]. @! c* O4 k& G9 _& G" X% p
  878. INC $7A04        ;decade++
      B4 ]! C$ H4 u- Y
  879. LIFEL8:
    4 _5 w$ Z" [1 e
  880. LDA $7A01
    " ]( D4 W. |1 p$ p$ c$ {7 s. M
  881. CMP #$0A+ e; }+ W, V7 ?. s) W
  882. BCS LIFEL7                ;$7A01>10 goto L7- S  T2 A- M  B; |* h- @- c
  883. ;unit3 l, g  w- ?5 p+ \# c
  884. LIFEL9:
    8 l+ V1 o! Y+ }
  885. LDA $7A01        ;$7A05=$7A01: c( m2 B2 Q% Q- x
  886. STA $7A05        ;unit
    $ t4 H3 @8 b4 q6 H
  887. RTS        ;return: r! z1 Q* z' c: k0 V' J

  888. 4 \& A  e! x# }9 J
  889. 9 E& y  O: T# R4 k% Z+ x/ \
  890. 7 Q2 C  ], m- d7 t$ z. i/ _: _6 h
  891. PPU_PROCESS: ;PPU地址处理程序
    # f0 d5 G. M6 w: E& U/ l* o. [
  892. LDX #$007 Q2 P! l8 L0 E, ]# V/ g9 z& d
  893. LDA $FF
    . v  v7 {' r6 m8 T
  894. AND #$01: a" U. J8 m& H% M
  895. BNE PPU_2400_27C0
    ( z3 x" O1 u9 J  a3 g
  896. PPU_2000_23C0: ;命名表1
    ( Z5 W9 }2 t- V
  897. LDA $0703
    " K7 l9 b( Z/ k+ z0 c
  898. AND #$FB
    8 F+ D; D. e2 f; A
  899. STA $0703* _+ m  P! K7 H: M7 l4 L* h
  900. RTS1 R4 ^1 X7 Y9 f- ]: P( x
  901. PPU_2400_27C0: ;命名表2' {. y& ?% M7 j$ n! E2 @/ N
  902. LDA $0703
    4 K* j+ H" j' u. w
  903. ORA #$04+ `( r3 M/ T+ t$ V) _7 U% i& y
  904. STA $0703$ i: p3 m/ I+ l+ Y1 |% m, O
  905. RTS
    5 @0 J% m* \6 T! X1 Q& s

  906. % p9 A" ~% Q( B# D) D
  907. PPU_START:  ;PPU数据写入
    * Z: J& |  j! i2 u$ P' q
  908. STA $21
    , x: L# _- B& u; M& C0 I& ^7 j# C  }0 p
  909. STX $0701
    & l5 W( e6 [, Y- U- d# s; U
  910. LDA #$00  e- @+ n2 D) v7 S1 a5 v
  911. STA $0705,X4 ~9 i, ^" y0 c. T8 u# m1 F: L
  912. LDA #$01- z: b2 n' ]: q, y; V' P- w
  913. STA $0700
    . u; |3 }! n5 p0 w
  914. STA $0702! j7 x2 ^3 t, P. G& x/ ^* \
  915. RTS6 ~# F$ u) \6 d9 H. X; T/ Z

  916. ( y" T6 a$ v3 @7 C0 G+ c

  917. 6 A( i5 d& W5 A( ~2 h1 g8 y+ X
  918. . F/ m: M& ~) W

  919. 5 {' C2 W9 A) C+ x4 J9 E
  920. 0 g8 W$ H; ]' T% x, |, _
  921. 4 u4 _. w& K/ q1 M! v6 R
复制代码
/ a8 `) }7 C$ e- d8 D+ {7 M, b

本帖子中包含更多资源

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

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

签到天数: 2276 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!- G" [7 _% X2 S, N* }

签到天数: 2569 天

[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-26 05:05 , Processed in 1.096680 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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