EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序2 K6 P2 r6 d1 Q' P9 c
  2. 作者:FlameCyclone% W, i! {7 e! G" V3 L$ G; C3 u( g
  3. 时间:2017.2.12. V2 J/ m( p. h: v
  4. 8 f& [% K8 {3 n$ z% _
  5. 按键跳转:
    - F/ o& O% k* o2 h( p3 H6 }% z& y
  6.         C1EF:95 F5 94 F1
    9 H" K: c$ }, }; I9 B# V& m( J: b: ~$ C3 g
  7.         C1EF:20 70 FB EA* _& g7 e% u( n9 b+ |

  8. 8 u# v$ B5 t& ~+ H& b) J9 O; g
  9. 滚动偏移:6 Q1 }) x) u+ G8 k
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    1 M: h9 ]9 x. Z7 W3 t
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    ( C4 a$ W4 i8 S: s- I: ]! Z; n' e
  12. 8 `. V" y! N' d" f3 V
  13. 背景调色板:
    " D  H; n1 E3 {/ }0 ]1 J
  14.         CF20:9D C0 07
      m! E* S( C' N
  15.         CF20:20 A0 FB
      ~) G( U8 j# M! y( Q# V, C
  16. 8 O. Z( O  \! C6 v
  17. PPU BANK号:
    , n( `2 a7 d' }. D; \
  18.         C8C9:9D F4 07
    $ n8 r3 N. K" ^
  19.         C8C9:20 B0 FB0 M/ R. Y* e0 X" ^+ r/ O

  20. / A  C" V+ R4 r9 n9 F8 u  C% J5 h
  21. 按键跳转:4 R4 h4 b1 D3 p5 r" W4 F6 j$ ?
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20( i+ Y5 ?) S  a( o! g
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    . M  V7 E: u, ~: ^/ K
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    2 \% z; \4 k$ M  F! E) I$ \" O
  25. 9 B8 l) d* u& K* X
  26. 背景调色板:
    9 B: y* |# p1 z. C, W
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF0 A8 Y) i/ i- q9 p. h! s
  28. 9 G5 m' f) ]! H7 n# V+ X" c
  29. PPU BANK号:4 i% ^6 j4 c3 E
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF1 N9 r) }7 {, J9 L! S
  31. * _. ?2 P5 T4 V) j; a& q
  32. 滚动偏移:7 O' B1 M1 `0 p7 P2 P3 D
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    9 {* Y9 q: x* n& D7 f
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF" Q& N$ O& f* E- ~) }
  35. 4 {8 g+ I: }! }; y8 {5 d

  36. 8 j* |" T6 h5 w. T1 d# u1 O
  37. 切BANK后A000:
    # S0 b. K, e1 |
  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
    + s  U* `# _: \5 z# _# t; |

  39. 6 F6 z, e1 j7 c9 I3 q

  40. ) u3 c) a, m' O, \" x3 n
  41. 6502 simulator:
    6 {. N2 d, ^9 K4 V
  42. PPU写入程序:
    ' Z7 Q' f, P- e5 _* v8 @0 D
  43. .ORG $A000
    # C; Q/ b$ V& ^1 k; z6 q; F% ^- n
  44. CSP = $80
    ; B- x. y% X6 h7 o' _# C, w2 r
  45. C0 = $81
    5 Y; [1 I# y6 |" o; P( \$ Y
  46. C1 = $82) \2 q1 u/ K% `) x3 ?
  47. C2 = $83
    & O0 e8 @5 ^5 T* Y* p
  48. C3 = $84
    ! c$ }" t: x1 z8 g$ t2 ~+ {" ~0 C4 n
  49. C4 = $85% }- I7 V+ R8 b% x$ h8 B0 C' h/ o
  50. C5 = $86
    - H8 j! d4 O9 I3 _1 X5 u
  51. C6 = $877 T* f( e! T4 e) s( Q( B
  52. C7 = $88+ f9 z, [$ {" A& V$ w% M& N4 x
  53. C8 = $89
    5 x: A. B3 J( n
  54. C9 = $8A
    ! {$ X1 u0 Z) ^& C8 S
  55. CA = $8B/ S1 t' M9 [( z2 n* u$ {  ?: H  ?
  56. CB = $8C4 p( e/ M1 f! e  H$ a! k7 s
  57. CC = $8D
    7 R  F  |8 a  q3 r
  58. CD = $8E. }+ K4 j5 o. t% D( t! j. L% `
  59. CE = $8F
    $ E) m- z! S7 ?! ]+ m8 P
  60. CF = $90  \& h4 @" u8 q- V# I5 E0 c: c
  61. CG = $91
    / h$ N$ [. C. f4 e' i
  62. CH = $92
    6 E) E) w* L( V+ @
  63. CI = $93
    / A" ?, C! S+ p9 j
  64. CJ = $94
    , N" W# j3 h/ c2 e) G/ U: J7 q* D
  65. CK = $95
    7 A: {) N0 \2 l9 q. t
  66. CL = $96+ l' h7 ?. E0 I9 R3 t( X
  67. CM = $975 P, P9 b) Q% l2 E' H: J
  68. CN = $98
    3 k) M4 O/ Q& N1 u6 U( i
  69. CO = $99
    1 U- J* y- }: D, _- y
  70. CP = $9A, ]: ?; E! k/ Z# p- [$ X0 x
  71. CQ = $9B4 s( f  S1 |  s( b0 c
  72. CR = $9C. y2 W% A% R7 |$ |) ?
  73. CS = $9D
      E. F6 p3 ]$ K2 m: `3 [
  74. CT = $9E( F; X7 s& V( u
  75. CU = $9F
    ( T3 Q' e1 v% ^' A
  76. CV = $A0
    + i7 x; r$ v/ w. C1 C0 o+ b( g
  77. CW = $A17 h0 L$ C" I+ d" f8 v2 F: U8 }
  78. CX = $A2
    6 @; q+ A/ J/ Y* Z3 h* H; c
  79. CY = $A37 M& O/ _9 K( W* W
  80. CZ = $A4& j/ ^" `* C, N2 ~! z. p, b$ o8 e, V
  81. CEND = $FF
    + w/ [5 ?( x9 w: f/ |. \, y1 K
  82. : J3 u& H6 m( w- j2 U- O1 R9 y
  83. : X& ?' z: R- [# o, s
  84. CMP_RE:
    1 L5 ]6 K9 J" j* q8 t
  85. LDA $FF( r4 Q' `( J+ x" |1 r8 N# e
  86. AND #$7F
    ) G' r, }8 h  I
  87. STA $2000
    $ y& N0 f  C1 v. X
  88. LDA $20027 s4 U2 r) C. s! q4 A8 Z7 g
  89. LDA $25
    8 \8 o4 g1 k, x/ E
  90. CMP #$01# _; j+ F- L  I
  91. BNE PROREG
    * p% k- n2 D6 b/ \+ m
  92. LDA $F5,X
    / ], q( g& L. D+ {
  93. AND #$CF
    ; k# j3 ]7 Y" K% S. }3 i
  94. BEQ PROREG7 I7 O4 s5 Y8 o# I6 `: g( M  e8 r
  95. JSR PPU_CMP. p9 m7 K" I/ H1 n! Y; ^; w# e& i4 e
  96. C_RE:
    9 }6 I7 v4 e: e% X1 i! z* i6 n
  97. RTS
    # V7 y; R1 o/ w
  98. PROREG:
    ! D8 t: K4 ^' `) U4 w; A7 Y
  99. PHA$ k) |% P7 j+ G" M. x& y; K
  100. TXA0 h/ R1 _% @7 z4 p. w
  101. PHA
    % ?* \$ m7 B4 j% Z$ B
  102. TYA. U  P8 U8 `+ I( C& d4 ~
  103. PHA1 _( l/ k5 F& |2 j  ?4 x
  104. LDA $252 ~; e/ g. V2 @- j7 f7 G* O; \8 d0 F
  105. CMP #$01
    * n6 X+ d; f1 N0 V
  106. BNE RE, e) v- W: R  G" G9 V8 P
  107. LDA $010A
    3 T( h- M3 F2 {/ e5 h
  108. CMP #$00
    0 L/ N: D9 B% k6 M$ i
  109. BEQ P13 g! @9 F% `+ p0 Y) V

  110. 5 _. P' H* h5 X  w" n; W
  111. RE:* r+ o+ c$ C% z* L. o5 u* T9 b
  112. JMP PPUWRITE7 i- N9 d# ~% d% H  w8 j+ m
  113. # N" T7 O' q) s( H% v& t* F& [% ~3 ]
  114. P1:                ; 条件判断" g: ?3 v" l( Y% t4 y2 X$ ], {, p
  115. LDA $7FFF& |1 p" Z8 q0 l( Q, Z
  116. CMP #$FF( b* y1 Y: Y3 S/ p: `4 L1 L
  117. BNE P1RP
    + ]) J5 t9 e& ]. `' [' J$ k' ^
  118. LDA $7FA08 b; s/ W. L+ u1 R6 W
  119. CMP #$00# @; Z/ L9 B  W4 L
  120. BNE P1CMP* n4 d8 L1 P5 R- d
  121. LDA #$FF
      j6 m# Q$ ?" t. @8 n7 e2 L8 d( Q
  122. STA $7FA0
    % s; w: L$ Z& ?8 P/ [
  123. JSR CLEANA
    / n4 U6 |6 G' v. m5 t+ O
  124. JMP PPUWRITE# t2 x  y" w7 U* ^
  125. P1CMP:8 P' _8 r' n3 k# E/ Y
  126. LDA $7FFF
    0 O, n% r: [4 }# |# Z% D) K
  127. CMP #$00, ], z6 u; F! b% n
  128. BNE RE
    & o1 h' @+ h' P/ z5 Y
  129. P1RP:, r+ n( j9 s0 ^$ b) p9 M
  130. LDA $2002* U# N! _* r2 C% d- i% E- B
  131. LDA #$00
    . X+ L' h; x3 x) a1 _/ m
  132. STA $2001
    0 Y! R3 A6 m9 N) N8 V4 ~. }
  133. LDX #$000 j3 k. O+ s, r( }3 u
  134. LDA #$FF" g0 B3 K" n" r/ B7 v
  135. STA $7FFF
    # f% v* o+ e" T# ]1 _* z; B
  136. STA $7FA0
    % F. h5 P; e% l# v2 I; L
  137. JSR COPYPPU
    ; G7 f: \6 y) C% Y+ |" D* [
  138. PIRP2:! V0 q$ t: W  a  P( J
  139. JSR CLEANA# h8 I* A- W/ V. ~8 ~6 O
  140. JMP PPUWRITE
    3 M  T5 `- t0 S5 P5 j
  141. / s5 a% Q% x1 i5 i$ ~7 m, Q2 j
  142. COPYPPU:
    & ?9 c1 L% J" K/ i9 K( N! h3 |
  143. LDA $FE2 @9 Z* w9 M9 g" n, E6 ]
  144. STA $7F50
    ) A$ b8 A1 N7 w( L5 T
  145. LDA #$089 ]% W" p. h' ~8 y
  146. STA $FE
    * h4 K/ A& i; e& A+ V
  147. L0:
    4 s# j* P* H3 \  n0 T5 }3 B6 d& N9 g
  148. LDX #$00
    : D, A' A$ o; w' @! V* e( V
  149. COPY_07C0_07DF:
    # A2 Z) h+ b# F, Z. e' Y
  150. LDA $07C0,X
    8 t9 n0 p9 k3 \- N$ p4 t" Q
  151. STA $7F00,X0 z% [/ w/ \6 q% Y0 B* O* F( R
  152. INX
    % Q" T- E+ e! ^, O
  153. CPX #$40
    * x" d' G# O5 j
  154. BCC COPY_07C0_07DF
    " B" C( G6 v9 {: n& K; d; C  f
  155. LDX #$003 j9 A* D# o+ @" {
  156. PPU_07F4_07F7:
    " ~! V' {" ^. f$ T7 s7 q
  157. LDA #$00
    * @9 C9 g5 p9 ^3 b2 s( O
  158. STA $07F4,X1 z) B$ q- x. Q
  159. INX
    - }9 ?+ M/ f* e/ W! p
  160. CPX #$04
    1 R" y$ X3 K8 }% }+ }+ o
  161. BCC PPU_07F4_07F7( U, f# E2 S& g  Y: S8 ^' N- O$ ?
  162. LDX #$00' x9 c$ _: q/ c: q& h+ m) ]
  163. COLOR:
    ' L9 o/ W, T& b5 C4 \: x
  164. LDA COLOR_DATA,X" O: K5 L" W( b) p  l0 C+ k! {% F
  165. STA $07C0,X8 r" g1 b' g" a, e/ q) T# y
  166. INX& o) L" s8 X; E% L& F4 ?
  167. CPX #$10
    . a0 o7 I0 w2 R8 H* y5 M
  168. BCC COLOR
    ( ~' {6 P5 t, a0 S3 _7 r: P9 Q: I" \. ~
  169. ! J3 i* L9 r6 J$ H% X& n
  170. PPU_COLOR:
    & n( \0 D$ \* ?7 _9 b$ K! [$ m
  171. LDA #$3F
    5 e  B+ c* g1 o2 C) I' X. `
  172. STA $2006
    9 V$ J1 d* v) r
  173. LDA #$00/ \3 E' ]; T4 `- U. t7 m6 I) d7 p
  174. STA $2006
    2 Y0 Q- [) `6 I/ J
  175. LDX #$00. g( T; p: f) y3 x  k9 J
  176. PPU_COLOR_W:
    6 O6 Y& w. j" Y6 ?7 |
  177. LDA COLOR_DATA,X
    / ~$ h9 {! F, s7 F8 Q+ F
  178. STA $2007
      [& o* R. A1 ?
  179. INX/ t7 s( `: Z# [+ U; B) u
  180. CPX #$10  y" c5 g' ?0 y0 N/ v$ h
  181. BCC PPU_COLOR_W0 N4 H9 \" L( E" d% t

  182. 5 r1 D3 M3 U+ b4 ]+ c# s! w
  183. $ N* D' N1 P% ~9 j& H
  184. LDX #$000 ^9 g$ C! M: Z
  185. LDY #$00) Q" J" }! A9 L2 N$ L  F
  186. LDA $BD- W" o* A8 {  t' }( ^1 o% q3 ?
  187. PHA4 a# W( s/ r9 R+ W; R( c* w
  188. LDA $BC' T' G- \, R+ _6 h3 v6 z8 b$ t
  189. PHA
    , W  [5 t6 S6 {3 X
  190. LDA $BB4 `$ z+ g: h2 @( G1 m; B
  191. PHA
    % R. K9 L1 L" T: {: p: |; N# v
  192. LDA $BA" ?; F4 r, G+ i: `. S$ z. |0 K* H
  193. PHA
      r' d* `- t4 l* ^, A% N6 ^' @8 M( q
  194. LDA $B9
    + e) b1 q; Q4 Y) b% q
  195. PHA7 h) R  W7 b" c
  196. LDA $B8
    - G+ f0 e) C0 Q- b
  197. PHA! J/ S% h5 E" {2 v' n
  198. LDA #$00
    + f2 u- `8 O) r" H9 ]9 D( `
  199. STA $B8. T4 q$ F: V, O( S9 _
  200. STA $B9
    & a, T  q1 J" n# ], m
  201. STA $BA
    * x9 D" W1 T: u9 R
  202. STA $BB" K3 Y4 X& o" S) G, \( V/ A
  203. STA $BC
    * [( K$ b$ `- G5 Q/ K
  204. STA $BD- w+ M+ Z* @1 ]
  205. LDA #$00) M' a! S+ l# l6 v; q2 G- T
  206. STA $BA
    3 B$ r3 X, j! |2 w3 Y( R  \4 _" t
  207. LDA #$20
      D: j! G, n1 r5 f+ V
  208. STA $BB
    # z2 }& X1 @: ]* S- S& }: K. n: X9 v
  209. LDA #$009 [( i" J5 B$ v# l6 y4 ^$ R9 Q
  210. STA $BC
    # B" ?( H% J- H2 f; B7 f2 q) ~9 V2 C
  211. LDA #$60
      _" K7 j  d0 d
  212. STA $BD' J0 S) D5 h0 z  W. x; N
  213. 7 \) J8 E( C$ f2 g' S! n  e
  214. L1:                ; PPU复制% W* _' C* A" v8 t
  215. LDA $BB
    5 n: U! |9 k3 E( F0 \* r( @) u
  216. CMP #$28
    ' o+ [8 ^$ g# H, t, X& C" l
  217. BNE L2# L2 m7 \2 A$ n# b
  218. LDA $BA
    ) t8 w7 s6 F6 K2 G7 n
  219. CMP #$00( T1 Q, x  Z, P8 O/ n
  220. BEQ PROADPLA6 \9 I- D% E+ g* B/ _

  221.   H  K. I, W$ R+ ^" A0 r1 C
  222. L2:! b% |+ ?# K/ V! M0 r! L: U- {, A
  223. LDA $BB  H( k: `/ X6 P6 i
  224. STA $2006
    - i/ E. `' V! P2 w, a0 G
  225. LDA $BA
    ! D( Z0 \1 F9 n! B! S! e3 G
  226. STA $2006
    - e, P# g; c6 K- M1 p! G
  227. 5 R2 F8 N( x; N! e; ]8 k- U
  228. L3:. J. K! h" C, o) b  _, ], E
  229. LDA $2007
    ) T& T5 _- X" v" F( V
  230. LDA $2007
    / T6 J: L0 D* V6 y
  231. STA ($BC),Y7 u) N$ w5 }. R: U) k2 K- k7 W) D- e
  232. ; ^9 e2 _; g- S8 N( W6 h" \' W- h* e
  233. L4:
      A+ e" \# [+ |4 I# D5 e
  234. LDA #$00  x% _) X4 R, e( d, I0 \' |
  235. STA $2000: c! k& T9 a: F$ @( S" ]) Q
  236. INX8 N5 J* F# r2 a. |" o8 T, P
  237. INC $BA
      E+ u( G) B) b, C6 H+ _
  238. INC $BC" W- k/ j  q! n& Z& z$ ?
  239. CPX #$00
    9 q2 c. [3 Y0 {% c  ?# v
  240. BNE L1
    2 Z) X8 o2 j1 C$ |6 c" A, r( A
  241. INC $BB
    3 q  V: w, x. z. l
  242. INC $BD1 t1 ?  m' H& m: G( R5 _
  243. JMP L1
    $ f. j: {4 [) \. Y
  244. " }4 {4 J: b+ [3 Z) K
  245. PROADPLA:                ;出栈5 q4 o1 m* [0 L
  246. PLA2 O- g2 }- F# ^/ g8 `
  247. STA $B8
    # S, X0 S  d/ \, k+ k# ^/ `4 `
  248. PLA8 F6 J$ k2 k& y- g
  249. STA $B9" X  b. m5 d7 \5 z6 o1 X
  250. PLA) F2 h& T. r$ Y
  251. STA $BA4 {4 J  U; `# Y: \( n- o
  252. PLA
    8 I% t5 E/ R' t1 i+ q' e& K' |- L, {
  253. STA $BB( I9 N4 U9 i5 X; `( Y
  254. PLA6 c3 Y/ l0 i8 R/ G3 o3 b2 Q3 @' c
  255. STA $BC: k$ O* E) S2 k9 z4 K7 [: i: Y
  256. PLA
    2 B( T1 I0 t( @! K- z( b
  257. STA $BD
    , a" ]/ S3 |# ^5 g. L* a4 @
  258. CPRE:5 L/ U# j. _  s5 B5 O
  259. RTS1 v2 x1 C; o% O) v- m

  260. : _& Y& J7 _8 J3 h
  261. CLEANA:                ; PPU清空
    9 U" m- ?5 d% q
  262. LDA $BD* Q! S  M5 {" m; C8 T
  263. PHA
      q& `) A4 z! i0 V. ]
  264. LDA $BC
    ) O5 m4 m- e% N
  265. PHA  \# p- c' O' N' E1 X- l0 u0 {
  266. LDA $BB
    $ d+ T2 }9 s& W
  267. PHA% H. ~$ x1 _" u5 m
  268. LDA $BA
    ; R( Q" G9 s; C
  269. PHA
    + F8 O( y$ D8 P, E$ N: Q
  270. LDA $B9
    1 H8 U, }, h2 R  W; K1 @  G% O
  271. PHA3 z3 @# J% Y% l; O( `8 h
  272. LDA $B8
    - e' r! h6 n; ~. O& v) {6 L
  273. PHA
    " B' s8 u: N, \7 }8 k
  274. LDA #$00
    $ k, d& k" j, w5 ]7 q% n
  275. STA $B8
    6 c; g4 j9 c: F% T/ @1 A
  276. STA $B9
    / u9 e) C& |6 ]6 ]
  277. STA $BA; T) t6 |1 F4 w4 H$ K' w
  278. STA $BB
    : R# z1 A6 t/ |; L5 m# ^
  279. STA $BC
    ! Y( O* L& g  g% B9 v- i* @
  280. STA $BD
    : L, z( h) X: D" ~6 B5 h
  281. STA $20017 t, _. \7 L7 A- F
  282. LDX #$00
    6 t& m* o. Z! u+ |& U' n
  283. LDY #$00
    % H( p* r% H2 Y& N- U
  284. LDA #$002 E8 `+ Z1 s6 \
  285. STA $BA8 l# j  v6 D! G6 S' h9 o
  286. LDA #$20
    # s) ~9 L( z2 Y6 y( b+ d; g
  287. STA $BB: K* J  v' [$ u, {

  288. 4 O# x9 V& X# O, ^/ D7 E
  289. CL1:
    # T6 }2 j' z* C% ^; B  b7 E
  290. LDA $BB
    " n3 ]% X3 i. z6 M' |5 [1 \
  291. CMP #$283 U7 p/ {: ?1 T& D* C) |
  292. BNE CL2+ s$ e8 F. x3 j4 {
  293. LDA $BA
    " X! O8 P# l% D
  294. CMP #$00* G2 [% n* `  J( A1 d
  295. BEQ FREEWRIYE
      V( K3 \% J2 D7 b5 ^* u' y" f
  296. 2 t) {0 R& e) g1 V' I
  297. CL2:7 M# T$ U2 |& h' r- c) W* i! }( V
  298. LDA $BB: Q0 g. b0 u! s  A9 }, ?2 c
  299. STA $2006" n6 s3 b3 D7 Y
  300. LDA $BA4 R% g1 n& t; T( N, q
  301. STA $2006
    0 h4 p" |3 _( x0 k" Z
  302. ; n" r' W5 W7 k! B5 S2 q
  303. CL3:
    : z( p$ |2 V# f) K1 k) {
  304. LDA #$009 V  v! B1 S* ?8 n1 N$ M
  305. STA $2007& _! S+ R  w1 z" u3 H' h. g
  306. 7 a0 _, s: b; @) U
  307. CL4:
    ) D0 y8 A$ C' k  [+ l+ G: A4 M# y
  308. LDA #$00& z* s( R, C$ U' G+ o
  309. STA $20006 o* }! Q" y$ y, G
  310. INX7 |6 S) D$ n, U9 ^( \. p8 W
  311. INC $BA
    " m: w0 s' J9 [& \- G$ E6 _( q+ k
  312. CPX #$00
    * D9 H& P( E/ W3 O7 ^$ c* N& n) ]. `
  313. BNE CL1. N4 a  e. W! T. ]# ?
  314. INC $BB* A/ V3 e6 R2 \0 X$ L2 i
  315. JMP CL1
    7 p9 `3 G1 y! F& s  d: i! j" V: z

  316. 7 v; S5 Z6 y- y2 ~  U
  317. + C* f( o- p6 P7 t0 @6 r7 \& w: e
  318. FREEWRIYE:
    " _2 P2 V" x+ d2 K3 y: g% O. Z

  319. - {7 A: P0 D7 L6 I' q4 \
  320. NOP
    : l) e1 c1 ?. A) i! l; g
  321. : ]8 g+ \; L! b; d+ W

  322. * a5 V( l2 f, E1 ^9 W6 E: x. ^
  323. ; p8 s' W5 s/ [: q2 d) H
  324. ! B! v/ K! {6 O9 h; ^" o5 m
  325. 9 @& p% |& I, J7 a
  326. CLEANF:                ; 恢复现场
    , {) n) W. d4 D! ^% c

  327. + C: E2 ^, Y* Q
  328. PLA$ c+ E5 K: B3 K; m7 p$ G1 }
  329. STA $B8
    8 k4 F$ Y" q* N6 r+ S
  330. PLA
    6 G1 O. U5 z" ?( b0 c2 E; Z
  331. STA $B9
    0 O" o% a& C- b! {5 }/ N
  332. PLA% m. s1 T& D: n  [
  333. STA $BA
    8 p: K9 R( j3 K6 t# ?) }' u2 ^
  334. PLA
    8 l8 W( [$ x1 a
  335. STA $BB
    0 S  k+ _  w0 a' a! ]7 g
  336. PLA
    , |% G5 F5 C' d+ M9 v# r
  337. STA $BC
    ! f$ g8 ~4 ]  `- n# n4 C
  338. PLA
    ' }6 i0 ?1 y( f, b' R
  339. STA $BD
    9 [+ ]% U) D) U3 ?5 ~
  340. CLRF:
    ( H3 N% G$ i. y$ q
  341. JSR FREE_PPU" r6 g1 `0 v5 Q
  342. RTS6 F, B6 R) v6 r/ T3 s0 {
  343. * P; V# x5 ?' t

  344. 7 f$ H; ~; f& v2 }, s, Q: K
  345. PPUWRITE:    ;PPU写回
    7 T$ K' U* |2 F
  346. PLA- T) N  i+ O9 X0 t/ ]  u
  347. TAY
    # D! M$ a6 a* n, Z. o$ V# t, y- S
  348. PLA
    - s# ^% X) G$ M
  349. TAX
    - x* ^2 q2 j5 f  O- }: A
  350. PLA
    8 [( T2 E6 G# I9 n. D
  351. LDA $25/ p3 u( v$ W" F4 L: J
  352. CMP #$00; {5 v, M8 p2 U& I8 Q6 s
  353. BEQ WP1. a$ S+ f7 P- f4 V8 E
  354. LDA $25
    5 E( W5 `/ c8 o& j; Y/ G. v
  355. CMP #$018 X6 b1 o! q% ^! K3 h" r
  356. BNE WRE
    . z  N, `5 N/ l9 ]
  357. LDA $F5,X
    $ x9 @0 h3 r. N) @
  358. AND #$EF- Q" ]/ \. [: ]7 q6 H* u
  359. BEQ WRE' F; C' O  z/ U4 N
  360. LDA #$00) Y8 ~. ?1 @& F) r1 @" i
  361. STA $7FA0" N5 p" }  t" j. n

  362. % f3 D6 u3 }; q, W  o
  363. WRE:
    * N. Z: E8 }! b& D
  364. RTS
    ' @0 b, C1 C* e0 P  K
  365. 0 Y  ^1 j1 r8 D: w# `
  366. WP1:) ?4 `) E3 y" z$ y  F" Z
  367. LDA $7FFF, ]  b* [3 S/ g- \0 e! ~
  368. CMP #$FF) U* ^0 w; S5 D9 c( d) L0 u2 ?
  369. BNE WRE# Q; u+ \- r5 [8 R
  370. LDA #$002 N1 H& ?0 ]- \' v6 z' d3 @# p
  371. STA $2001
    % h& t% G/ {& u
  372. LDA $BD
    $ @5 a. o; L$ {1 m: E
  373. PHA2 U* ~; R9 e7 y& X- j$ X
  374. LDA $BC
    / k) E  d/ o+ n8 |
  375. PHA. @. L' j! R* G2 n8 U* g. V7 n
  376. LDA $BB
    3 M; m2 S2 X7 x; X) C
  377. PHA0 K8 y9 C4 W% p! ~9 Z  }1 G# w
  378. LDA $BA' c) ]& B) W9 i6 A0 Y
  379. PHA
    , N! i; d  a! C& R
  380. LDA $B9
    8 y7 w; y8 O: k' R8 p" g
  381. PHA
    8 E) b+ C7 @) y
  382. LDA $B8
    9 M  P3 }1 c: r3 q
  383. PHA
    6 J; I7 W2 f; F" t, R& J
  384. LDA #$000 c7 }  v$ n( {2 Y( A
  385. STA $B80 u1 h: w0 m' w6 q, r5 ^) R  N
  386. STA $B9# E4 }2 w  Q6 U+ B
  387. STA $BA
    & `+ ?( Y  s! Z: a. A
  388. STA $BB
    / j2 h. d! X3 x! e7 ]/ u
  389. STA $BC, a% i$ H7 K' S$ K* U8 `" Z
  390. STA $BD, i7 i! h1 G: @+ ]" M$ @, v
  391. LDA #$003 j4 t  z5 W# ?; B$ e- D8 H$ X, C3 l
  392. STA $7FFF
    1 i0 O1 R- K" M- ^7 N* }
  393. % E2 W" H% E( A% v# ~0 X
  394. WL0:
    . I: B. F7 @5 X$ P7 U2 k$ y
  395. LDX #$00
    , T( U' m- N" ~0 o% b
  396. LDY #$00! b& q2 \& H5 L7 o" z$ W
  397. LDA #$00
    ' K% B+ Q3 I+ K& L) u' f/ A
  398. STA $BA/ K/ O8 P! r; x7 x# K: @. C
  399. LDA #$20( M3 j6 m9 G/ T$ u# A5 D
  400. STA $BB
    ; g( F/ M6 |+ `' o! R. Q7 A  t
  401. LDA #$000 C; K* C' ~" \4 Q) O' \
  402. STA $BC
    5 o1 s, Y3 ]/ y, W
  403. LDA #$600 q- q, y# W) @3 z# D9 P+ {
  404. STA $BD' F: g1 d) j$ g) d4 q! {
  405. % O. L( {, U- A' ^  w9 {1 Q, D
  406. WL1:
    6 {- `' Z( T+ X) e
  407. LDA $BD
      Y" K% |2 l7 [$ p
  408. CMP #$68
    ' m# G. g% ]$ r  j- N0 S& q! D8 ^
  409. BNE WL2" o5 F' D$ d0 b+ z# E
  410. LDA $BC% d9 f" c% ~: `* s. T7 A) `
  411. CMP #$00
    $ `6 e  g7 [' Q
  412. BEQ WLR) `# \; [' K" {* p

  413. 1 ^* S, ?3 I) m. ], S, z: {
  414. WL2:  O6 z/ e) }( k. w
  415. LDA $BD
    , }: F8 U, j# s* l
  416. STA $20062 N% |) E  X* o0 }# ~
  417. LDA $BC6 M  V  M5 g. Q0 m% N3 d
  418. STA $20069 F- k8 B: {* P) F% K

  419. 2 e' n# _2 N5 M# K- K* M/ ]8 J: H
  420. WL3:
    . C# _% v' D! z" k7 j! {9 A
  421. LDA ($BC),Y
    % J* J  m1 E6 [' H4 I& A
  422. STA $2007) Q' y5 ?7 {! x3 Y6 l$ ~+ ]

  423. ! q( E3 i+ C# ~6 r
  424. WL4:
    4 U; ^( v3 c* {/ @8 ~' j1 M% I7 X
  425. LDA #$00
    4 \0 q) }: d& u9 e' G
  426. STA $2000
    1 r9 ?$ Q3 x" Z: \) x/ ~
  427. INX3 U: c. z+ m: e) E  G+ y4 j! l  T
  428. INC $BA
    : \" y5 J4 O* [) z
  429. INC $BC- x& z2 n% V) F9 V( {# s
  430. CPX #$00$ M2 ^& o3 C  U8 }3 z- z2 y; N
  431. BNE WL1
    3 E2 ?* Q/ _. V8 `
  432. INC $BB4 r% L7 L8 n. k
  433. INC $BD
    ) r! I* i" s- q5 e( q! O
  434. JMP WL1/ U% j3 X* `" h

  435. 4 R8 M( [  s! ^& P
  436. WLR:
    5 {5 ]( ^, W+ t3 q& ], B
  437. LDX #$00% n( A- x3 Q4 `8 ~% d4 w7 L# ]( G
  438. COPY_7F00_7F3F:
    - U) ^9 v9 n5 q5 E7 I( D: U
  439. LDA $7F00,X
    6 j" w$ F5 |( f2 q# w8 Z. T
  440. STA $07C0,X# U: e, ]7 e# M; M* p9 Z) I$ s
  441. INX% E6 {- g" [; R+ `" X
  442. CPX #$403 ~& R, s, M- D% M
  443. BCC COPY_7F00_7F3F
    " r) ?' m7 R8 E5 n% u& I9 H) g8 l8 U
  444. - [  O& g) n0 q: S7 q5 U; i8 n
  445. LDX #$008 B- k8 E4 z( _2 M; m; A1 ]& ], L
  446. LDA #$3F# y$ M0 P6 Q# Z: P, V0 V- N6 j
  447. STA $2006
    3 C' ~, {2 m1 J! }" b9 ]0 N
  448. LDA #$00* |; r7 d; `3 q- }7 ?6 `
  449. STA $20069 b! e2 Z$ E" O! J" P# p' b' s
  450. COPY_7F00_7F10:( l4 o1 H' m. _/ O! d+ s
  451. LDA $7C0,X' E* S& w5 e% j/ i
  452. STA $2007
    5 d: w+ l3 `/ u
  453. INX3 {, s0 l: h' y( v
  454. CPX #$10. |, Q! r3 ~- M- c. }8 }
  455. BCC COPY_7F00_7F10  V9 ], j7 q. c) u# Y3 l  {) F

  456. 3 ~9 G/ W8 I7 o6 e
  457. LDA $20027 t; ]! M& h+ @) E9 V+ T3 x
  458. LDA $FD4 u4 ]: O# F8 Q7 L2 v6 G# o
  459. STA $2005' z' c2 w, @/ {0 `0 y0 x
  460. LDA $FC
    0 q! C5 f/ r& B, J) U
  461. STA $2005
    ; F/ d7 Q2 L5 k* @$ I3 p7 d/ X

  462. . o3 Q% L+ r3 T0 }
  463. LDA $7F500 _" W5 @" I) A( n  V- `9 C. g: \. `
  464. STA $FE
    7 |& O9 w! O! [4 @  f( W# E
  465. LDA #$00$ Y) R6 B* A7 E6 r9 q. K$ P
  466. STA $2000/ [* |/ z2 J% \' @/ u! R0 z( K
  467. PLA, O; i. x* z; t' j( ?! }7 k
  468. STA $B8
    : \, }3 J4 x$ j- P' G7 n3 r
  469. PLA
      Q7 n9 s8 D) S9 M  k
  470. STA $B9
    4 Y/ \( x# p) W
  471. PLA2 j/ T& S: k- z, K" @% W+ P
  472. STA $BA
    " N9 d1 R5 z" c0 t
  473. PLA
    1 w2 U7 n  L7 Q. ]3 Y. g1 e
  474. STA $BB8 P& \$ |3 L# k1 o, d( M- @
  475. PLA* _; r7 p6 E9 U' D7 o9 z; e/ S) g
  476. STA $BC
    " R9 F5 K3 \9 h/ }% X% y
  477. PLA
    8 N0 S: b3 x. E- ~  n. I2 w
  478. STA $BD( W1 j: F6 r2 l( e

  479. 6 n, y! K" m- D4 H5 i
  480. RTS! R1 a# _/ }) |" @+ n2 H: T
  481.   \8 M$ [$ L$ d. R
  482. PPU_CMP:' [" \  F" S/ X1 n. l$ D

  483. 4 [8 o  q+ x& E- p  r

  484. ! L. Y. x+ P+ Y) w
  485. PPURE:+ X, D( s, w- u( ^2 k4 @5 W
  486. RTS
    , H( Y( i! P$ X
  487. 4 o. o$ ?$ K2 e! m  i9 R# `

  488. , ~& a% n) q3 t) a* v. Y; F( t! z
  489. FREE_PPU:2 L' ^1 ~/ l' u3 ?0 B  u' x  @4 D

  490. 8 [, L, ?, {+ V. H) ^
  491. JSR TEXT01_PPU- m" l7 w! X6 \3 O" |8 T# @
  492. JSR $CBC0+ f7 B$ O8 ~  G" ^0 u
  493. JSR P1_PPU' J% X& W: O) H4 w& E1 w* z% B/ ]$ L
  494. JSR P2_PPU
    + P8 i. c, x5 w, b
  495. RTS
    - k9 V! f; A1 v9 d
  496. 2 X, M4 i& t: E2 N) T- F
  497. TEXT01_ADDR:
    3 ?( R/ P* A) G, ]
  498. .BYTE $20,$42  V; J7 B3 E+ X# K5 G; ^: r
  499. TEXT01_DATA:
    : Y/ n3 X& F/ I8 |, B5 W7 ?
  500. .BYTE CH,CA,CC,CK,CSP,CB,CY,CSP,CF,CL,CA,CM,CE,CC,CY,CC,CL,CO,CN,CE,CSP,CI,CN,CSP,C2,C0,C1,C7,CEND
    2 H5 t8 j& ?* }' U; f) W
  501. TEXT01_PPU/ A3 G* `5 n3 v
  502. LDX #$00
    3 Z5 M5 g# r: S' ^! h4 Z  I. C
  503. LDA TEXT01_ADDR7 P5 p# j3 i3 a6 H( q) o1 Z& f; F; x* \
  504. STA $0703
      k7 y" o7 H- j$ }
  505. INX
    $ N6 g+ x- O1 T  W$ n4 S0 b
  506. LDA TEXT01_ADDR,X
    $ g  A$ h+ Q" }0 S) }: _$ |
  507. STA $0704
    + s! R) _3 a: l4 o# e: R
  508. JSR PPU_PROCESS% s  |9 k9 f$ a$ h
  509. TEXT01_W:6 _2 q. c7 W" [
  510. LDA TEXT01_DATA,X# `" t( T" q% P
  511. CMP #CEND0 i9 r, X* v9 T3 \' D( J& H  {
  512. BEQ TEXT01_START
    4 `  O6 M/ Z# w
  513. STA $0705,X
    2 z0 n; A* A( c5 M& h
  514. INX; G: x+ C5 u& Z: i' M
  515. LDA #$002 }8 @7 O$ r' n( o
  516. BEQ TEXT01_W1 n# R( R3 i- K7 s3 d3 }
  517. TEXT01_START:5 z2 C/ h+ A8 {$ i
  518. JSR PPU_START
    7 X7 @. ^1 y1 [2 L  s
  519. RTS
    " N/ K( f7 J7 x$ W  s8 w

  520. 6 p& L# X& B; v* w! H

  521. / ?5 l2 A$ Y$ ~' D8 B
  522. COLOR_DATA:
    , ]5 o* s) R* w
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$287 N, ~, ~8 ^/ m' L) M# [! Z! e$ w

  524. ! n2 c, R' x7 H! j" F
  525. P1_PPU:
    0 u5 a5 s6 y9 y0 J0 v% a
  526. JSR PLAYER_01_PPU/ o. n  {, h  _0 u3 j" B
  527. JSR $CBC0
    % ^8 k3 E( E+ \. R* B
  528. JSR RELIFE_P1_PPU
    - d' m8 K3 W% M6 L* l" d. l
  529. JSR $CBC0
    : s/ d4 b/ N6 Q
  530. JSR RELIFE_NUMBER_P1_PPU7 G: w: |7 F9 U9 g  k. v5 O5 D
  531. JSR $CBC0& C% z5 e0 y  x3 D! ^2 D7 ~2 A
  532. JSR WEAPON_P1_PPU
    7 [. Z' V6 K' ?$ @
  533. JSR $CBC0
    . M9 h9 ]4 ]2 {$ ]3 o
  534. JSR BULLETPPU_P1_PPU
    + o2 Q  j9 L8 M( G
  535. JSR $CBC0
    5 j6 I  q2 M8 |8 D  O" A9 e
  536. RTS
    9 |% D8 L% H6 R

  537. 2 |2 b( S- C9 B- z/ G/ A9 e( q
  538. P2_PPU:
    % v$ Y$ `3 `8 U* e( ^2 o3 }* E* J
  539. JSR PLAYER_02_PPU
    - Z& Y2 T7 p- o. Q, U7 y+ B
  540. JSR $CBC02 H# ?# ?2 P! N" X4 V+ g' L3 g
  541. JSR RELIFE_P2_PPU( f2 D5 T+ D- X  Q8 }
  542. JSR $CBC0
    + J! J6 @2 @* o
  543. JSR RELIFE_NUMBER_P2_PPU& y4 f8 @$ Y. O' s, m+ u
  544. JSR $CBC05 d9 S' z2 H1 w5 B2 Y; ^
  545. JSR WEAPON_P2_PPU
    ) b2 g: O: e3 f) A# N9 N. G
  546. JSR $CBC0
    4 f( k& g$ @3 N8 n& O
  547. JSR BULLETPPU_P2_PPU' N5 x+ g/ A& }3 M5 h- o  i( D
  548. JSR $CBC00 Y7 e0 l. p0 z( F- N  o! V9 N8 ~4 G
  549. RTS
    2 N  E9 l. L' {3 |
  550. 6 I- }5 `8 Z. T  |

  551. + F, |) o9 c2 N4 b: w+ g% B8 s
  552. , d- l' ?: S9 y* h! \6 i) d
  553. PLAYER_01_ADDR:" X% O) `0 n' h
  554. .BYTE $20,$A3
    + I6 a; y* ~- e9 f5 `3 T8 ?0 X
  555. PLAYER_01_DATA:
    5 I# t, A' ?5 B( H/ _
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    ; h, `/ u' C' K3 F& R
  557. PLAYER_01_PPU:
    ) e8 q$ x7 b. \4 N$ p
  558. LDX #$00
    9 n! H+ ]1 N1 D; c4 V
  559. LDA PLAYER_01_ADDR
    ; m+ j1 N3 |* C6 K7 W6 T9 G: e
  560. STA $0703
    * v5 O1 X- S/ F8 F. c
  561. INX
    - y6 g5 y! \6 o1 F: u
  562. LDA PLAYER_01_ADDR,X
    5 d/ d6 a- V$ R8 q% P  o
  563. STA $0704
      `! V/ Z4 f9 r, ]+ w. ~3 j
  564. JSR PPU_PROCESS6 E' [! G3 I, J  B
  565. PLAYER_01_W:/ T/ U3 f; s* |- D2 o3 V7 x
  566. LDA PLAYER_01_DATA,X! R2 L8 u5 {9 K" {3 L" p2 L1 C
  567. CMP #CEND
    : `6 C$ Q' Q& _% n) Z6 k0 ~4 C$ X
  568. BEQ PLAYER_01_START3 c7 S% `) a6 N; R4 P" T8 [) G
  569. STA $0705,X+ |. a0 i, R' w5 ~5 D4 l( i
  570. INX
    ! g' f- }4 q* r) ]  {$ q! x# T! _
  571. LDA #$00. P+ G* y/ p  |# k; y) F
  572. BEQ PLAYER_01_W  E; f/ w0 P8 R0 _
  573. PLAYER_01_START:
    & I/ E- r  O& w2 R# E5 m2 }! a
  574. JSR PPU_START
    : e; E( c* E: l$ S. E9 x/ d
  575. RTS* O5 E  ~. Y5 U) H# p6 e1 S
  576. + H' L, x/ f% |! G1 V
  577. 8 U5 O. `! P' f+ \2 p
  578. RELIFE_P1_ADDR:
    * E+ C2 o4 r% p
  579. .BYTE $20,$E3
    . B* Q7 u, q2 ^# I
  580. RELIFE_P1_DATA:2 G- O/ g, c4 S! R' k
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    / X7 J: Y) Z+ g7 `. Z$ l8 b
  582. RELIFE_P1_PPU:
    7 u  j# r3 C. i7 i4 m& q
  583. LDX #$00) f, y1 N1 B, W& w% w
  584. LDA RELIFE_P1_ADDR" ^: y/ Y; V* k/ y6 E
  585. STA $0703: u0 ~! {6 r( f# T& O  G
  586. INX
      |) z8 J8 Q# \3 P0 x3 l
  587. LDA RELIFE_P1_ADDR,X  U/ }6 _  ^2 e, C" I- ?8 x4 ~
  588. STA $07047 ~( Y. k2 m( }. w6 z: w4 f8 s$ Y
  589. JSR PPU_PROCESS
    . }" V) |" e8 X( v# j" ]9 ]4 c& [
  590. RELIFE_P1_W:- z# Y, E. s3 c) g$ O
  591. LDA RELIFE_P1_DATA,X
    : E8 Z: d" }: H0 c
  592. CMP #CEND
    - ~' r6 U; E9 a
  593. BEQ RELIFE_P1_START
    ' }5 w# I$ c. ?& g8 d" o/ \& y
  594. STA $0705,X
    + [1 d, c  L6 i" Y1 g& H! i
  595. INX
    ) n' l* ]+ x" s' V7 K) e% \
  596. LDA #$00
    / n: _" c% X$ o% V9 _1 e: F
  597. BEQ RELIFE_P1_W( A* c8 w( C$ m
  598. RELIFE_P1_START:- E  x+ A2 ?: T( E8 ~, \
  599. JSR PPU_START, s# T) r& X0 s
  600. RTS, B4 q# \7 v! {4 P! P" q; D
  601. 7 N5 m0 l7 B) F5 s$ `& q
  602. , y; ^: F( H7 G1 @
  603. RELIFE_NUMBER_P1_ADDR:
      y  W1 p7 b% ?( R- G* J( h& z
  604. .BYTE $20,$EA: \0 J) o( c- ~/ I+ T
  605. RELIFE_NUMBER_P1_PPU:
    ( p8 E& }4 H; a, `. u- Q  l
  606. LDX #$00: x2 u0 P: l2 E1 q- t2 L4 W- F
  607. LDA RELIFE_NUMBER_P1_ADDR) K4 W2 Z* w3 R) M( S0 D8 p. x: B* U% k' p
  608. STA $0703, B# r3 ~; u9 |# s6 j3 ~
  609. INX9 P( y  D) ?# o% f* i
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    0 U4 `- m- h( n, K7 W  Q
  611. STA $0704' u5 D! x; U0 }* @! V9 n: d
  612. JSR PPU_PROCESS
    1 j$ U- j( ^; J
  613. LDA $32
    ' a& `. K2 T$ p4 g$ ~  T9 `. o8 }
  614. JSR LIFETODEC
    5 f, B3 e8 T/ `
  615. RELIFE_NUMBER_P1_W:
    2 O& b7 ~  A; W& s. s
  616. LDA $7A03
    " c' k* g7 ?7 l" w' d. |) k
  617. STA $0705
    % w6 x% r$ x: b6 S, y3 ^( ]$ K
  618. INC $0705; G6 b; m% d0 u1 ?5 {; z2 \( ~( V* D( ^
  619. LDA $7A047 ]6 |& P4 W& O
  620. STA $0706
    . R( h8 p# b5 Z' S
  621. INC $0706* E1 k' [* a8 f3 U. s
  622. LDA $7A05( `4 q6 G8 g6 }, _  V0 T) m
  623. STA $0707
    + G: z+ l: Q4 ]$ k( x6 @0 T
  624. INC $0707
    1 T0 w* C; F" u! Z6 Q$ y
  625. LDX #$031 F2 H- g3 H1 ~# ?8 M) y
  626. RELIFE_NUMBER_P1_START:
    + q! d% Q$ z/ d  R
  627. JSR PPU_START
    ( l% B! e) C6 k( k8 D
  628. RTS
    . d; |) S0 D" L+ E5 n; O
  629. ( ^$ J" {/ }/ q  @6 z( i! }5 s% m
  630. WEAPON_P1_ADDR:
    1 P0 V1 d4 Q1 o5 d& l* @
  631. .BYTE $21,$23! K! o' k& w, v  k
  632. WEAPON_P1_DATA:. u% C1 ]# h& r8 d
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    ; z1 ^9 z, q# E1 F
  634. WEAPON_P1_PPU:; \; p* _7 C$ ?0 C9 G
  635. LDX #$003 F* p3 H) y9 C+ |+ O4 F
  636. LDA WEAPON_P1_ADDR+ k, s& I% B) z& I+ E3 N
  637. STA $0703
    5 B( L3 O" H( N1 D5 F, v3 `
  638. INX/ M5 ~  P( P: _6 b; ^9 D. h
  639. LDA WEAPON_P1_ADDR,X
    & x% D! {' E- c0 s+ U/ \
  640. STA $0704
    5 @; M' E1 i  _* o' d& D
  641. JSR PPU_PROCESS
    ! v, @  S; d7 q" U2 {2 K; \4 N2 S
  642. WEAPON_P1_W:' z, x8 K4 U" l5 A: M6 U  A
  643. LDA WEAPON_P1_DATA,X$ R9 n* ^% E8 p) J; W- N9 f' t
  644. CMP #CEND
    , o& ?( n2 V0 l/ ~
  645. BEQ WEAPON_P1_START/ y. j8 I0 S! a+ ?2 S# F1 }
  646. STA $0705,X( y, t+ w6 a/ w1 Z
  647. INX
    , y  l7 W$ S/ l
  648. LDA #$006 P, C! }$ C+ J2 F6 E8 }
  649. BEQ WEAPON_P1_W
    / _% i8 D0 N! b
  650. WEAPON_P1_START:$ J0 W0 U, \" [5 N
  651. JSR PPU_START
    2 H4 k$ |7 @$ I- I7 b( Q! {7 B
  652. RTS
    , P" u( ^* d, t0 _3 p

  653. , ?3 A) o: w& h# h0 X
  654. BULLET_P1_ADDR:
    : K* Q/ B8 c" N0 Y$ U
  655. .BYTE $21,$2A6 c' m: j5 K) n4 G# Z- b
  656. BULLET_P1_DATA:8 ^! c2 t0 \. ~* x  ~
  657. .BYTE $00,$01,$02,$03,$04; b9 ]3 j0 Q: v! J( C+ a: H  d
  658. BULLET_P1_NAME:
    0 j+ X+ }9 [- i4 o. b
  659. .BYTE CN,CM,CF,CS,CL6 o2 Y0 }2 A/ {

  660. 0 U) i9 b! W: x' _; O( E
  661. BULLETPPU_P1_PPU:& ^% z% V6 b/ r8 W! H
  662. LDX #$00
    - V# s, O& i, B" M; P2 _
  663. LDA BULLET_P1_ADDR# l$ h  U$ C7 i2 O2 m' `
  664. STA $0703
    5 |& K- f  ~+ D& W9 q) B: s* K- `
  665. INX' [' j' B; }9 y0 E) S4 U
  666. LDA BULLET_P1_ADDR,X
    1 s0 B+ v* K) t( ?. o
  667. STA $0704
    2 b/ D% o5 z0 p3 X* G% \- r# A0 s
  668. JSR PPU_PROCESS. \/ ~/ N0 S1 f+ y7 C8 Q
  669. BULLET_P1_WRITE:
    ) D0 Y+ {# T1 f( D# V0 \+ G  J
  670. LDX #$00
    ) @$ Z2 a+ k4 d; s
  671. LDA $AA  [/ ~3 m( e6 E: n1 c
  672. AND #$10
    2 }* @' U% F" H' }
  673. BEQ C_BULLET_P19 ^  g2 R5 p( y; X1 K. J
  674. LDA #CS( |& E1 Y7 R9 t1 S
  675. STA $0705( |, n/ ]% T, n6 N0 M" x$ C
  676. BNE B_NAME_P1# \: r1 V1 C9 h+ l" @5 _1 z) }) A
  677. C_BULLET_P1:
    ( l" T; |8 I5 B
  678. LDA #CC3 m+ s+ t7 O0 G6 A  m- c# V) k( f1 Q
  679. STA $0705
    5 _1 G' O% i" l' ~
  680. B_NAME_P1:6 z0 I  e7 S# ^* v
  681. LDA $AA
    6 b' Y6 ^4 t" M6 ?5 o
  682. AND #$0F# e6 ^( Q- T; ?
  683. CMP BULLET_P1_DATA,X
    ) m! ]* \! x6 t9 {2 y
  684. BNE B_NAME_P1_RECMP) h3 n( c% J& f  d6 S
  685. LDA BULLET_P1_NAME,X4 `; s) y) z5 E- _
  686. STA $0706
    / S/ `' u; m$ u# F2 }5 l# A$ [6 O
  687. B_NAME_P1_RECMP
    ; K9 {8 l$ b: {- y
  688. INX
    : V& P7 h$ ]4 j
  689. CPX #$05- ~) _+ d( d) Z* F; C
  690. BCC B_NAME_P18 L- I5 I# ], i8 y  @: ~
  691. LDX #$02
    + f7 e# f9 ^' k2 D- g: i* v
  692. JSR PPU_START
    6 B! ]- f) ^0 n5 H
  693. RTS1 ?7 ]( `& [3 T/ D  |+ E- U% e
  694. 5 s/ ?5 d& R5 ]+ G3 Y  w
  695. 1 ~4 T: ?+ d' r( \
  696. PLAYER_02_ADDR:2 o* q/ W% ?0 J8 }; d2 [
  697. .BYTE $20,$B3
    ; U5 H* _. ~& _1 ~6 n! [
  698. PLAYER_02_DATA:
    ' C/ I" Z. S' l, z
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND- N1 V  t) a4 @( P  i; Y5 C: P9 Q
  700. PLAYER_02_PPU:
    / e; U$ `+ p" [( q
  701. LDX #$007 l" h3 E9 l  D
  702. LDA PLAYER_02_ADDR
    & W: O/ l) F$ t, L/ h
  703. STA $0703  I3 d' V: K2 M$ _2 r
  704. INX
    1 K! P- `; U$ J% h
  705. LDA PLAYER_02_ADDR,X
    : }8 x/ T, O& s: T, q$ F: O; M7 q% ^
  706. STA $0704
    ' M$ J2 }  ~, ~
  707. JSR PPU_PROCESS
    : L, b. M% {9 `1 f! x% f5 t1 @
  708. PLAYER_02_W:. V9 w8 \- W% B# ~, E, Z$ c
  709. LDA PLAYER_02_DATA,X
    ( L! N+ }! m! r4 g7 @( H1 L& h
  710. CMP #CEND
    , e4 r) V+ A* X  q* M; D- b& }
  711. BEQ PLAYER_02_START
    + `+ Z5 ~" y7 t% r0 g0 V
  712. STA $0705,X
    " ~2 U+ A$ L, y6 z# |6 K! D$ {
  713. INX
    2 P( e4 F- [0 g
  714. LDA #$00
    / D  D5 W" \4 ~# E
  715. BEQ PLAYER_02_W
    ) R  N& ?: f0 Y
  716. PLAYER_02_START:
    0 D# P& K" q2 Z' |- y0 |
  717. JSR PPU_START
    ( n, ~8 E: J1 c$ @1 u
  718. RTS
      z% J2 T& T+ t- |0 F& o
  719. ) ~' S& u, ^0 h' N# O# c7 Q  p/ o
  720. + ]2 E, g( b3 q8 L; x. y. F
  721. RELIFE_P2_ADDR:1 W, l8 J7 A2 E( H: K
  722. .BYTE $20,$F33 B  m2 K  w. ?+ A8 Y2 g
  723. RELIFE_P2_DATA:
    9 I/ p' b3 u2 Z, @
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND5 t7 G# {% G/ i- ?- W
  725. RELIFE_P2_PPU:7 U7 A8 i3 O7 M
  726. LDX #$00
    + ~( @9 V7 J& B2 C  S
  727. LDA RELIFE_P2_ADDR3 P, T% d( d2 j+ o) N; ^
  728. STA $0703
    $ E7 A( J( V6 D3 ~5 \) M: W
  729. INX
    ; M: x1 A) [- b8 Y
  730. LDA RELIFE_P2_ADDR,X
    " w' X6 N8 b5 [6 ]2 N7 i8 d& D
  731. STA $0704
    ! Y, C( ?  ]. t. ?+ Y
  732. JSR PPU_PROCESS. X" {" k9 k4 m6 G6 m; s
  733. RELIFE_P2_W:
    , R& a5 s4 m! _8 E/ B
  734. LDA RELIFE_P2_DATA,X
    ; ~7 g1 J) d  x* T
  735. CMP #CEND
    7 w3 k2 ?' [2 R
  736. BEQ RELIFE_P2_START
    4 S7 Q" }  s) F0 i7 v* {9 m
  737. STA $0705,X
    & g4 c) Q1 l" ^9 N
  738. INX7 W3 ]* N9 ]; }- Y
  739. LDA #$00* Y! |' y3 f( ~# C! F
  740. BEQ RELIFE_P2_W
    & c  f0 V2 P6 h- d, r* O( @
  741. RELIFE_P2_START:
    - O$ X: x; K% h, L
  742. JSR PPU_START
    ( t0 u3 @2 }9 q2 g7 j% V4 M
  743. RTS* b$ t; ?  {( g+ T0 J) ~/ T5 d

  744. 0 J2 V. X2 {! a8 ~, k+ }

  745. # b- L$ S- I# ~; n" K7 @9 I% J
  746. RELIFE_NUMBER_P2_ADDR:" h  d, P. M* V2 z% ]; G
  747. .BYTE $20,$FA7 \9 d" p. Q- C5 C
  748. RELIFE_NUMBER_P2_PPU:
    - e4 y; i. g- F6 G
  749. LDX #$005 g/ }6 i6 r5 j! w3 g, Z4 B" i+ q
  750. LDA RELIFE_NUMBER_P2_ADDR$ T, I8 t' M) o1 A  Q* A" I, f
  751. STA $0703
    & h2 X, Q' \9 X5 W: I
  752. INX
    8 Z* C5 P  c' U# j! b
  753. LDA RELIFE_NUMBER_P2_ADDR,X+ ?8 o+ c/ J4 O$ T' K& Z
  754. STA $0704! {( V: Q8 D7 j8 _1 T* _% K& P' F
  755. JSR PPU_PROCESS1 `  x/ f- e1 X( S4 g6 O9 v( M
  756. LDA $33+ U; m- c8 G8 A7 j) M
  757. JSR LIFETODEC, H, {9 a. g* k0 ]0 r
  758. RELIFE_NUMBER_P2_W:- d; l, w% R, L; V! [* M5 R* u
  759. LDA $7A03; y# w4 i: A- o: s
  760. STA $07053 M- f0 n+ g' s/ I* S+ p( u1 w
  761. INC $0705
    4 h$ a5 u6 h: r; n/ C) k5 q
  762. LDA $7A04: W5 |, @1 B4 E0 W
  763. STA $0706& E7 c/ L8 B) y' G1 C% a
  764. INC $0706/ N% s( I9 T& O$ s
  765. LDA $7A05# {- \4 q# M1 c+ x
  766. STA $0707# ?+ Y) V; z* H$ O/ Y) B
  767. INC $07075 S$ W' [6 `$ n& j/ j4 Y4 [
  768. LDX #$03
    + f3 f9 ^" ~: ?% L' a' ^4 m
  769. RELIFE_NUMBER_P2_START:7 ~6 k* A9 m' c! e: L. ]! o* U
  770. JSR PPU_START% |& Z' f: f& C
  771. RTS
    6 `0 U' u- w  l* e2 k* E
  772. 3 E" u2 |% g/ @: i% y+ d& R7 h$ I0 S
  773. WEAPON_P2_ADDR:
    8 c" l# `5 {  h6 h& q
  774. .BYTE $21,$334 v8 T' z+ |  b3 z3 e
  775. WEAPON_P2_DATA:
    , C+ s$ A+ N$ d1 s0 J
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND( R# k- e$ x: ]' ]! G# ^8 Z1 O0 e
  777. WEAPON_P2_PPU:, ]6 W# ]% f1 b3 H
  778. LDX #$00. z$ f* H" E) R) v
  779. LDA WEAPON_P2_ADDR
    : _; S( i# v' P+ z( I) f. x- v' t' h+ \
  780. STA $0703
    ; E/ p9 Q& S0 e5 S/ l8 |. I
  781. INX. R& f# f3 F& s' A& n6 H8 g8 Z- S
  782. LDA WEAPON_P2_ADDR,X0 A8 c+ A- n4 A
  783. STA $0704
    * s! \" t- c% v  j+ Y
  784. JSR PPU_PROCESS5 f( t0 C' ?& N+ ~( S
  785. WEAPON_P2_W:
    " ]6 E7 m; b* w4 |& x. ^
  786. LDA WEAPON_P2_DATA,X
    # s" ^. y% f8 N3 I3 p
  787. CMP #CEND
    + N6 @/ o+ W( j2 s
  788. BEQ WEAPON_P2_START2 U1 F' l# O; ?- Z2 y) s7 z
  789. STA $0705,X
    2 `* D& |1 I. B- {
  790. INX
    - R! ?9 U7 A4 q6 b2 ]
  791. LDA #$00
    / j4 z$ t: s2 m; a2 v8 x+ h' }
  792. BEQ WEAPON_P2_W
    1 S9 c8 F6 z  J( K8 Q5 w) t% `; |
  793. WEAPON_P2_START:
    - S7 D% F  V2 s9 r- u
  794. JSR PPU_START
    5 {- U1 g2 l6 E. Q* _2 D' l! e
  795. RTS* J4 s, Z: C' X
  796. $ Y$ Q$ \- m& L. U  M; ~5 V" Y
  797. BULLET_P2_ADDR:
    ; l: ^. p$ N" T5 i- _* r
  798. .BYTE $21,$3A. z% R( I+ C# }+ b( ^
  799. BULLET_P2_DATA:$ |, S( _' e* m0 s& V
  800. .BYTE $00,$01,$02,$03,$04
    8 z) T# |4 u6 u
  801. BULLET_P2_NAME:
    ; `) M3 N' l& z1 u
  802. .BYTE CN,CM,CF,CS,CL1 i5 ^7 f; e# w. K' @; ]

  803. + E  O6 _# k; m* V
  804. BULLETPPU_P2_PPU:
    3 c% A: [, N; i9 m; O1 \
  805. LDX #$00( b! C' X4 _6 y  ^+ \
  806. LDA BULLET_P2_ADDR
    1 A  \' }$ p9 z" v0 D2 M( z, l
  807. STA $0703
    1 ]' v. K+ q+ k; @
  808. INX' C, r7 S8 e; W# [  P( W" j, [7 `
  809. LDA BULLET_P2_ADDR,X
    # z- P- B0 a3 L7 b# m" O
  810. STA $0704
    $ z9 C8 t+ b9 [- P4 }
  811. JSR PPU_PROCESS8 y  N% M+ P5 v' D# \7 I
  812. BULLET_P2_WRITE:
    " ~: a3 Q' j: b' T, r9 {
  813. LDX #$00
    / `+ T! B0 f& z( y- R" {- }
  814. LDA $AA8 }& d" k- {% B% b+ _1 c
  815. AND #$10. F$ m' m% L* {* G1 o; H- E
  816. BEQ C_BULLET_P2
    . {$ A- ~0 c; x1 u
  817. LDA #CS
    3 [2 d- v& s( U8 T- K" r+ R4 g
  818. STA $0705
      Y+ B7 f  F) |/ Y) S6 w; ]
  819. BNE B_NAME_P20 j) G$ u5 e  d. a% I; c1 q
  820. C_BULLET_P2:: Z! `' j. i6 V# {" s
  821. LDA #CC6 T! l# L: j* f+ I  v! ^
  822. STA $0705! x; F7 `2 V- S2 M# R' ]. D- Y: B
  823. B_NAME_P2:8 g6 o. C& s' k8 N" J/ J
  824. LDA $AB5 o9 L3 e+ }# M1 {3 ^6 }( e
  825. AND #$0F
    1 M; u/ g1 T% D% h; ~# Q, b( D
  826. CMP BULLET_P2_DATA,X
    2 a0 [) U4 j5 C
  827. BNE B_NAME_P2_RECMP8 S" ~: W+ q; k/ x; N  s: e  I
  828. LDA BULLET_P2_NAME,X
    , \9 [, d- Y$ K& y* {3 |  l
  829. STA $0706& x* v4 L% d* j8 `$ ]
  830. B_NAME_P2_RECMP. F3 N+ u- r5 |
  831. INX
    ; |+ ^! V2 ^& Y( J9 O" g1 i: ]
  832. CPX #$05
    : g. A* I( G' Q+ z" I9 L+ z) i4 H) u
  833. BCC B_NAME_P2
    ! r3 W/ k& E7 W$ w' O
  834. LDX #$02  J! P1 S3 W' C% E' s
  835. JSR PPU_START
    # U! v3 |7 V/ {) {5 I
  836. RTS
    " V4 `( [3 S; L9 x
  837. * {5 s& X% ]+ r% J
  838. 6 N' `* t. x# m9 X: Q
  839. . d- h# u* ^/ m% J
  840. * J. t1 V% B. N8 o. _7 {
  841. 6 N  d- g; F) x3 \" j  Y  V

  842. , j0 v) v1 D. v1 X' m- z
  843. LIFETODEC:                ;十进制转换0 c- Z1 k* G5 q3 Y: _& m
  844. LIFEL1:        ;initialise& v& H* W. v. z8 a9 G. K* p8 ?$ l; O
  845. STA $7A00        ;$7A00=F3: A1 [0 A2 L3 j4 d( ?
  846. LDA #$00
    " B. [. q0 W$ O, |9 t1 K
  847. STA $7A03        ;$7A03=00
    2 F* n- `- S6 ]& H
  848. STA $7A04        ;$7A04=00
    4 q0 n8 @2 \2 c( G- p, N
  849. STA $7A05        ;$7A05=001 {% V) t' l* I0 g; y8 j3 j
  850. LIFEL2:        ;copy data $7A00 to 6001
      U4 o3 Y9 n5 `+ c$ e
  851. LDA $7A00+ [9 O3 _, [5 ^, t0 ~5 z" @. j
  852. STA $7A015 H) b2 }$ {& Z

  853. $ @9 q  {  y' q) p
  854. LIFEL3:         ;hundred
    / w5 g! H! D& Y9 M% {5 h
  855. LDA $7A01# {3 m9 H6 t# L2 ^
  856. CMP #$649 |3 ~! b! A: j& d8 U0 w* _& w
  857. BCC LIFEL6                ;$7A01<100 goto L6) Y* W3 s# B" o2 p; c4 |
  858. LIFEL4:
    : x8 U& E2 A: O6 ~; ~+ C
  859. LDA $7A01( F/ u+ m4 c$ _! Y8 X$ P1 h6 m
  860. SEC
    7 Z& q- d! Y4 h  Q- F, ]" D
  861. SBC #$64        ;$7A01=$7A01-100" Y% X" e* |( Z" I
  862. STA $7A01
    / G9 A; V8 z3 A( c3 c1 o
  863. INC $7A03        ;hundred++
    / p/ F- k; T4 q. T
  864. LIFEL5:
    ) I, V/ S: s8 J; w, d" J
  865. LDA $7A01
    8 U" Y  Q+ Y. L$ z$ c. {
  866. CMP #$64+ E& q) F( y4 X. Y% H2 @1 n
  867. BCS LIFEL4                ;$7A01>100 goto L4  e& c" {9 o  _! A. f9 ^

  868. 4 ^9 d. c2 h2 A3 H* n
  869. LIFEL6:        ;decade
    1 F) ^; N! ~+ A- O6 x
  870. LDA $7A01
    , j& n, B/ U8 f4 p  ]1 x* J
  871. CMP #$0A
    ( @, }4 H# O- H$ J" p: @
  872. BCC LIFEL9                ;$7A01<10 goto L92 _5 W( k2 b% _( B9 X. D0 M
  873. LIFEL7:       
    % X# Z& G# ~2 B' [+ i- L
  874. LDA $7A01
    % u) v) P; C1 |' O" E) l
  875. SEC
    , n* r  b# o! z( ~
  876. SBC #$0A- t0 n6 l2 G- ]1 N2 ^7 g5 P9 ]
  877. STA $7A01        ;$7A01=$7A01-10
    0 I% n# C2 z' y: V
  878. INC $7A04        ;decade++
    " N* I) N& u: G$ U; T# T& T4 [
  879. LIFEL8:
    ( ^5 G6 y- C) A0 A' ~: {
  880. LDA $7A01
    0 V. R, [/ N/ p  F6 K# V6 ]4 C& ~
  881. CMP #$0A
    $ L; |2 q# i; E/ g/ H0 u  A3 j
  882. BCS LIFEL7                ;$7A01>10 goto L7/ v& L" q# r$ C
  883. ;unit" ~' S* N5 y7 A  d9 T
  884. LIFEL9:' C! ?$ v0 R$ v& r! H9 f$ n
  885. LDA $7A01        ;$7A05=$7A01! _- Q2 E6 Z5 U5 E+ e& }
  886. STA $7A05        ;unit
    ; x- y$ Y1 |1 [9 s
  887. RTS        ;return' t$ B, [9 I7 ~7 @* C2 h
  888. ' t5 {: O5 j* O/ l- B5 K  T$ W

  889. " X7 J1 w: H- X" |4 G; G

  890. * m8 r3 ?- ~" K& ?3 O
  891. PPU_PROCESS: ;PPU地址处理程序
    : l' Q# z8 U1 ]5 W. Q) H
  892. LDX #$008 i  A% y* k* p0 R9 E
  893. LDA $FF
      w8 i& [  ^) A* `+ q
  894. AND #$01
    : R4 O( F9 X& B
  895. BNE PPU_2400_27C0
    " T/ T: d, Q2 i; |* {
  896. PPU_2000_23C0: ;命名表1
    & }9 W: e3 @2 |+ `: X8 [7 ]7 ?
  897. LDA $0703
    # F/ L9 B# y: e: L" x* Z
  898. AND #$FB
    ' [, N0 e9 g5 Y$ v* Z( f
  899. STA $07033 }: D$ W- Y& M2 f# n
  900. RTS
    6 C$ a0 |5 Z2 P: S" i& ]
  901. PPU_2400_27C0: ;命名表25 E& v' l, `3 F1 O
  902. LDA $0703
    0 r' Z; n7 o$ d4 u+ G6 T, o
  903. ORA #$04
    / |  T# f8 M3 J$ W8 }0 e
  904. STA $0703
    / G0 ^* b% T& B( ?+ r/ l. Y
  905. RTS
      F; o! i9 \. i& y! D3 B
  906. 3 x: q! @) O" D/ a5 @: @) }
  907. PPU_START:  ;PPU数据写入+ z' x! d+ i/ p
  908. STA $218 A) w4 V" ~' K0 ]
  909. STX $0701
    , K/ M6 S3 G& U* A" E" R1 L4 c
  910. LDA #$00
    ; R1 q# ~( D& X7 _
  911. STA $0705,X  w5 ]. w% c2 E/ ~! v7 i
  912. LDA #$01
    , A- u0 I+ {5 Q  h7 O
  913. STA $0700
    : x5 H- @4 Y8 K" n
  914. STA $0702  b8 S8 \9 `+ X! G
  915. RTS7 B1 [9 _) A3 q; ]' x$ l

  916. * U0 j( P, a# A2 q, c# z
  917. 9 `- ]- I7 _# [& M( F0 @2 Q% Y

  918. * O3 D' s3 m4 b# C0 [, ]. g/ l  _. d

  919. + {: y4 t4 h! N0 s( D. ~2 ^
  920. $ m. H' V7 y7 c* F) {

  921. ! B  {. B6 R" d" p5 {  P/ v
复制代码
2 d# |0 j# V5 @$ y, K  I/ _7 M% p

本帖子中包含更多资源

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

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

签到天数: 2314 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!- Z- [* l- v* T$ H0 P, H

签到天数: 2575 天

[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-10-7 01:20 , Processed in 1.082032 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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