设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序  s. {4 _0 G7 S1 L9 x2 ]( {5 Y7 R$ H
  2. 作者:FlameCyclone
    7 K" V' r1 ~7 Y0 s7 c/ Y# ]
  3. 时间:2017.2.12
    , C6 S$ M0 @, b; g, q! G
  4. $ J0 u8 [. B$ j7 H  @
  5. 按键跳转:
    * k0 x- h' D5 M# g( G
  6.         C1EF:95 F5 94 F1
    7 J! G6 V9 l  i7 p  C3 M
  7.         C1EF:20 70 FB EA
    ) x8 y, I- _  v. Z5 C

  8. + \7 U: \% |+ R0 Q5 H+ X
  9. 滚动偏移:
    2 J/ I0 @$ A+ b& F1 ]* A2 a, U
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    % r7 c9 L( }" S! f: }# r( Y
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    0 W6 `% n' v/ H- Z; }. S
  12. " J2 c6 B$ ]- D* A
  13. 背景调色板:4 u  o1 z+ i: g9 [4 ^! r
  14.         CF20:9D C0 07
    6 \0 S+ ^* Y$ w4 g8 {" X8 ^
  15.         CF20:20 A0 FB2 v8 k- D  W4 V2 J/ Z, L9 i( r
  16. % W" `' G6 @# }! Z6 A3 i2 B
  17. PPU BANK号:
    5 \% N9 z- {9 C5 V3 A% i9 M( f3 H' Q
  18.         C8C9:9D F4 075 C  v, _0 i- n' M! b/ l/ U
  19.         C8C9:20 B0 FB
    * q3 d; a' R& W% T; Y
  20. + g8 ^( |) I/ l& S/ V* l
  21. 按键跳转:
    ; L% O3 b2 a& \; H4 e) Q
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    3 K! P5 y# h8 g$ Z" `; S# C9 W4 X
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    # a' \8 D& S$ O
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    " B; V* `3 q9 u# h

  25. + a) r. l" p; e$ B: Y, T1 ^
  26. 背景调色板:  c8 s3 ^' Y  x$ u+ W
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    ) @7 m: e9 u$ M8 ]) q/ U
  28. / W/ @1 R" F  L3 I6 Q, ~  B
  29. PPU BANK号:
    0 C6 `. f; U  C4 q, ^
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF) l$ e& e6 G& B8 w
  31. : [- U* \9 U# ~( L+ F2 I2 K2 q
  32. 滚动偏移:8 w, Q# s5 |: L8 r$ G  p5 J
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    9 M* t) O& p- h# m" `; B
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    . _0 G. t) z/ y: d9 f
  35. 2 |* S) s: N$ B' i
  36. 4 N' I2 u0 U' C% g8 h8 ~# b
  37. 切BANK后A000:; h# k8 i$ I# C/ d5 f- d1 \  w
  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. v/ t8 H, |  y- H
  39. - P4 f1 h; b# z+ q
  40. * [# s% X/ P; U- Q2 y- g
  41. 6502 simulator:
    3 m8 f8 d; t9 f4 N6 U- @
  42. PPU写入程序:; M# }3 P  _! i2 t9 [
  43. .ORG $A000* D# i2 @1 Z- D" |
  44. CSP = $803 s- R0 V3 d. O, e7 W' O
  45. C0 = $81. b( e( X. L; [5 A1 V
  46. C1 = $821 o- `  K- p0 j! @3 D7 T% ^
  47. C2 = $83
    6 _% `' _) V9 R$ c/ R' {
  48. C3 = $84
    ( W( g$ j4 u) H: s1 o
  49. C4 = $85' F# f" i" s0 W% u2 j' Q7 ~
  50. C5 = $864 c: ~2 T3 v; D8 w1 n8 H% h
  51. C6 = $87
    8 g& }! N" m* q$ m' O( v# z
  52. C7 = $88
    2 H8 o0 A( j. L4 b7 i! J
  53. C8 = $89; d6 P! ~6 G; y4 V8 v9 g
  54. C9 = $8A
    9 w& p) I* v8 S: n& j
  55. CA = $8B* @. i! u1 i" @9 i
  56. CB = $8C) k& B$ k4 A2 Q2 p
  57. CC = $8D6 v- K% O% n4 o) u% m
  58. CD = $8E! h1 O) }3 O6 Q! h* s* L3 g
  59. CE = $8F; U: y- A0 _9 r
  60. CF = $90
    * Z$ L$ j/ m, L: |& D+ g
  61. CG = $91* f6 g$ g7 T/ o4 h' \( y
  62. CH = $92# M/ \, q' ~( R4 s6 G0 d* f
  63. CI = $93
    - Q4 H! e5 h  C  C
  64. CJ = $94) w0 @! s3 K1 p) ?/ A, r  ]. D* ^  w
  65. CK = $95
    $ A/ v1 c. B3 c4 q$ I4 G9 y* R8 y
  66. CL = $96  e. ~" k* S6 v2 s9 F* [) N, n
  67. CM = $977 p; h6 X  S( J' O9 c7 F- }0 z) x
  68. CN = $98
    ' T! J) p1 f9 Y( V# O
  69. CO = $99
    % y3 d' P8 m5 [/ a& m+ P
  70. CP = $9A0 W: q" }! d/ p4 e7 v$ |
  71. CQ = $9B
    ; D) J" z4 i$ H/ \: C; L2 U
  72. CR = $9C' _: Y8 B- C! t# Y. B( w
  73. CS = $9D2 I. C: Y4 W$ y& p* r" C
  74. CT = $9E
    ! J2 O3 g+ X. n% f9 C# f/ O8 ?
  75. CU = $9F
    2 ?1 O4 X3 ?0 h. T
  76. CV = $A0( N  d; N3 s7 P$ I( }" J
  77. CW = $A14 o- F0 Z- l6 M, v. e
  78. CX = $A2
    6 _* _. h9 m/ {& D
  79. CY = $A3
    ; T% V' K1 z) x/ S. v: |) W& x
  80. CZ = $A4, ?  W! a, Y& `/ E
  81. CEND = $FF4 F. b3 V6 H1 x4 Q3 f

  82. - I+ ]7 X; c" ]" h/ |. O2 |
  83. 5 n; w6 u  y' r, `; B7 @, M
  84. CMP_RE:
    7 u5 U  ^; e9 J! y" L' V# u
  85. LDA $FF
    ) x% z# _1 a3 ?* g
  86. AND #$7F
    0 j, p8 R0 |8 P' K0 p6 o0 X
  87. STA $20001 x. U# n; L" E+ d( M/ e  c
  88. LDA $2002
    - C& y6 K! U- C  Z' }. F
  89. LDA $25# M- Z" N2 o9 h& J1 v
  90. CMP #$01
    + B1 ]& H( l' n$ M! n4 b
  91. BNE PROREG
    & ~- X! x6 L/ _
  92. LDA $F5,X7 `/ G4 ?! {0 D
  93. AND #$CF
    6 ?5 b' `! m! s* F
  94. BEQ PROREG, O/ z5 C, p& I% q
  95. JSR PPU_CMP
    * A. y* i4 U) W" h  q4 i% P
  96. C_RE:4 I9 D: L5 |( u. f8 c* z) Q
  97. RTS" @: s9 Q6 q7 B+ u3 K+ p* \
  98. PROREG:
    6 Y3 z6 N( B( ~! i# H# \9 D
  99. PHA
    - k8 O3 |1 D7 g7 E* r& y
  100. TXA% i% C$ K/ V4 e/ A  s+ o
  101. PHA
    + n8 |" l) D  q. {+ c( b: y
  102. TYA
    6 A7 b9 O1 l% T6 H
  103. PHA
    % Y, j, n- T. S8 B9 i3 f) @
  104. LDA $25
    ! _4 @1 g* U: K, f0 e
  105. CMP #$01
    8 {# m8 T7 r+ h5 h, u! N8 w8 s
  106. BNE RE
    / t( P7 H0 w, h0 R
  107. LDA $010A! P: j  ?& x# L" H. U' B
  108. CMP #$00
    7 j! c4 I% ~' ~
  109. BEQ P1
    ' a6 M) E% V' b- ~
  110.   {' J% d3 x$ a) i5 F
  111. RE:
    / v9 V5 X/ N5 M# S
  112. JMP PPUWRITE
    ; U8 l' A+ w) d9 I0 D6 S( C, \

  113. / W( {: a- X! `8 `( m7 b. U
  114. P1:                ; 条件判断
    " h  z5 X& }2 _9 K8 e
  115. LDA $7FFF
    + m; G7 h/ B6 h( b3 P+ r
  116. CMP #$FF
    / c9 ~' C; t: H4 @' W! I
  117. BNE P1RP9 h3 U' K9 v3 b  H. x, P9 I
  118. LDA $7FA0! i  h8 W+ B  x' w
  119. CMP #$00
    # U/ U! j: L, y! x2 n3 A" D
  120. BNE P1CMP- u2 u; L# [/ m
  121. LDA #$FF
    $ ]7 i2 a# I/ ~) D6 `& f
  122. STA $7FA0
    , G* v" T8 k* R/ Y: i0 p
  123. JSR CLEANA+ U) e8 P7 t% @0 g( J+ [! |4 e
  124. JMP PPUWRITE! ^' k- ]" T7 Z4 Q# f! T
  125. P1CMP:
    . a6 ^) q; E9 L
  126. LDA $7FFF. j' g) f% v/ l$ E2 H
  127. CMP #$00
    6 }1 P3 P7 B4 c0 Z
  128. BNE RE
    : I8 m3 V+ _+ J- f
  129. P1RP:  r6 I5 S3 F, G3 x$ h  I% S
  130. LDA $20024 t2 ~+ }' F9 I  f. L+ G
  131. LDA #$00; `# `8 G  C; t2 W
  132. STA $2001. `! A6 g$ a' Z
  133. LDX #$000 T1 Z: P, K+ `; z' L3 R' E
  134. LDA #$FF
    5 u; x& H6 _& \+ Y& }# M" w# w
  135. STA $7FFF) K9 c8 b2 `. m  I' c* K
  136. STA $7FA0
    ; s3 d- k2 s- w+ s
  137. JSR COPYPPU
    . T8 b5 L5 j( O, K4 a4 H( v
  138. PIRP2:
    - M" H! v* _3 K/ n, e" ?" r
  139. JSR CLEANA
    ! R# l4 M$ ^3 J% ?
  140. JMP PPUWRITE
    * t8 k; a) I# F

  141. * {( f3 q  }/ {, ?1 K% O" x. I
  142. COPYPPU:
    & H& }7 u4 r8 e* Z) L
  143. LDA $FE
    0 o8 E( G" s: q+ \8 T9 o
  144. STA $7F50$ a) |- y8 v4 i8 v. _+ R1 k
  145. LDA #$08, B' m- L& P; F/ z1 C
  146. STA $FE
    8 f' e8 I3 m/ m! R0 i
  147. L0:
    0 J- V( j3 M' a" e3 R( R
  148. LDX #$00
    ) g1 Y( U. Y) m8 I0 T- V
  149. COPY_07C0_07DF:
    . T& u; A" j3 n) X* r1 X
  150. LDA $07C0,X) C) z( a  b2 _
  151. STA $7F00,X
    - y! O7 r! H4 _9 I; u9 k; w  x
  152. INX
    5 N* Z0 t! L0 ]+ m  N
  153. CPX #$40
    5 R% q- j) T; o* g' ~
  154. BCC COPY_07C0_07DF# k) e& x; J& i
  155. LDX #$007 S9 g6 ~) r  u5 r6 T
  156. PPU_07F4_07F7:
    7 x% r% x% q) l, D  P* w( K) z
  157. LDA #$00
    , T$ e# Q$ A( C0 e9 |
  158. STA $07F4,X& F: w3 m: Y7 v8 f# T+ E( a* i
  159. INX6 h0 d% F. l1 s. p: V" l+ ]
  160. CPX #$04$ T& |/ A# ^% p/ V2 ^
  161. BCC PPU_07F4_07F78 b; D/ b* J' Q5 a; S
  162. LDX #$00
    7 [  ~6 j) j9 M( t* d
  163. COLOR:
    $ z4 O7 b% X- ?4 o7 y
  164. LDA COLOR_DATA,X
    0 }: @- @; J7 _0 c
  165. STA $07C0,X
    ! |  O; t5 O$ L: Q3 J5 O6 f7 P0 h  @
  166. INX2 Z, g9 [2 ~. J5 B8 e  P
  167. CPX #$10
      X: l( L9 c$ o, R5 w, L$ i
  168. BCC COLOR
    2 P3 e* F; l! x) a

  169. 9 k  O& @/ A2 s) `+ B1 [. `$ Z+ o$ _
  170. PPU_COLOR:2 Y1 ?; ~& m6 D% E
  171. LDA #$3F
    # A* `2 Q: ]2 o* D
  172. STA $2006
    * s0 K: X8 o  O  }* m
  173. LDA #$00' }/ Q7 g2 I1 j- @* y, e- V
  174. STA $20061 ^- E4 `9 m, M( S
  175. LDX #$00) N) A+ q$ T+ [( O* H% e- R# G
  176. PPU_COLOR_W:% F1 h: h: B* Q4 x& ^/ V8 E
  177. LDA COLOR_DATA,X7 t5 Q4 r$ d% m$ ]* t$ \
  178. STA $20078 ^  r- T. ^- o3 e. R) h3 g
  179. INX& r5 G) y( o; M. P
  180. CPX #$10
    ! }3 t/ Z; i& \8 s3 r% q& q
  181. BCC PPU_COLOR_W9 w8 e- U8 h1 ?: z9 U
  182. $ M8 {. V- r) S
  183. ( z/ `$ A  R) E+ Z' K4 a
  184. LDX #$00
    % x, W# p0 Z9 h
  185. LDY #$005 }" E# A4 @7 j3 o9 ]% U. }" {
  186. LDA $BD3 }# p/ ]! L3 o6 w4 @7 T% d
  187. PHA6 s* q( G% `, n  D) }; y) q0 f
  188. LDA $BC/ M% o' v: o& O
  189. PHA2 ~6 p+ {  U( W  Z! K; s  Z
  190. LDA $BB7 L/ I4 E/ }. D8 d9 u3 o" X
  191. PHA3 ~7 I; Q4 F# ~
  192. LDA $BA! x( P7 G" x/ y. Z; J" e% y
  193. PHA
    8 N( A  _9 j+ [) d
  194. LDA $B9
    0 d, B' W/ B0 x# E0 z( z, V
  195. PHA
    1 D* Z+ z5 T( s8 R, [+ @
  196. LDA $B8
      P* o- n1 O7 X0 g# {+ O  d
  197. PHA
    , o7 u* r# o9 k1 }. W" h
  198. LDA #$004 ]& S" M( ^5 {
  199. STA $B8" s% L* K2 y4 d" h- I
  200. STA $B9
    % z. t" @8 O  M/ }4 f8 R! Q* o( d
  201. STA $BA/ N$ X8 W; V$ R
  202. STA $BB
    , d0 Y! S, v* A: F, g7 q
  203. STA $BC3 c/ a2 B! v  l" q) p
  204. STA $BD4 }' Z1 s) ]5 D4 g
  205. LDA #$00+ `% C* O; u% F2 C( I: t
  206. STA $BA2 z) L4 X' }. p5 D7 A' N$ Y
  207. LDA #$20
    ( v# e0 D. y# S: A$ M
  208. STA $BB
    & s/ K  c( b, n
  209. LDA #$005 j$ o# B" J, ^3 b+ u( l/ D  ^
  210. STA $BC
    4 V& ]7 D. F* u4 W1 }7 k+ G$ \
  211. LDA #$603 E# N: j  S/ b2 a' m( ~4 |2 w- g, s
  212. STA $BD
    , e# @# i7 Q' l
  213. 4 E( a" I' r6 x/ Y
  214. L1:                ; PPU复制
    1 [# K% I7 F/ f% Z3 F: o- H
  215. LDA $BB
      j2 }2 M0 k8 s% {: z7 T5 M" d( G
  216. CMP #$28+ p4 s# S3 Y1 u5 j* J+ y/ O
  217. BNE L2
    8 s9 i- Z' F) A
  218. LDA $BA
    * P0 O1 r9 A8 ?5 E9 k' S/ l
  219. CMP #$00
    7 y' U4 Q2 F! i
  220. BEQ PROADPLA
    8 N+ i8 j; r# P/ Z  ^5 w3 t$ H

  221. # ^  a. L( H) j# z9 b$ G
  222. L2:
    9 O$ p- }: T; m( I! y
  223. LDA $BB1 i: Q* \; ~6 G, l4 U
  224. STA $2006* p% o) R8 w' @" v, R1 V
  225. LDA $BA
    ) Y2 J; K8 f" ~! f
  226. STA $2006
    ! y* Y7 ?: h0 N8 N' K0 }! h
  227. . ^) x5 Q! _) x4 G4 c' \
  228. L3:
    / Y/ u5 F- O6 d; F
  229. LDA $2007
    ( l+ x* ?- O: E
  230. LDA $20072 c& U4 F' a* B- j; r
  231. STA ($BC),Y! z1 p; M& u. `
  232. ' n  Y2 m9 ?: n: t6 I- x
  233. L4:! Q) `+ k- E1 A. Z
  234. LDA #$00
    ) C: B8 q4 z* {: i
  235. STA $2000! ?1 }( ]& g2 y$ x' U' q3 s, W
  236. INX+ d$ r! _! x/ d7 y0 ]3 U7 k% ?
  237. INC $BA
    6 R3 w, h2 b3 Z8 M3 f+ d1 @; k
  238. INC $BC/ j. U' n* i6 M8 a1 }+ U
  239. CPX #$00
    . r( u" i; r5 v2 [) w) r
  240. BNE L1' u; \8 g% r* ]+ f6 ~. @4 [
  241. INC $BB
    ; ~3 \/ h3 o3 y+ B2 e, f
  242. INC $BD2 y: Q6 Q. N: x% Y) N& t* I& D; @
  243. JMP L1
    8 w9 B' F3 O. D! ~4 @

  244. 7 h4 g" x/ k# F: b
  245. PROADPLA:                ;出栈$ c2 Z/ s2 O7 J
  246. PLA
    ; f) y) e, Y1 z- H
  247. STA $B8
    + Y% e2 D9 R, O( d
  248. PLA& `3 u) ?  @/ o9 H7 B
  249. STA $B9
    3 E$ {$ r. f( `, O; c6 Z' U3 ?8 g
  250. PLA  j6 J/ W0 r7 H1 E) W$ i8 Q
  251. STA $BA# K6 A$ n5 {: o, g" J, X
  252. PLA
    ) c2 m$ l) N6 T% M! V, `
  253. STA $BB
    % J2 \% @& x6 X; V
  254. PLA
    & m: m4 v: `. c2 W
  255. STA $BC
    9 B; A& B& E+ y% W, i' S
  256. PLA
    / C" y5 ?: A- b- Y6 q3 L+ o- k
  257. STA $BD
    - f# B, Q6 i+ y' L! b1 L+ I" M
  258. CPRE:7 J+ h1 D1 z' f! W7 Z& _
  259. RTS/ A8 K+ B6 M2 {

  260. & _4 C# i; u/ J* t
  261. CLEANA:                ; PPU清空
    7 v1 R' ~+ d% Z
  262. LDA $BD
    2 X- g8 C/ k) @# V1 |
  263. PHA
    5 C5 [# e& n- j- D) c6 f( I
  264. LDA $BC1 Z" Q5 |  t+ g) e# T3 I& p$ m9 n
  265. PHA
    1 A& A( B0 ~* N$ [* B
  266. LDA $BB* ^4 }* W0 u7 [7 ^; T( J0 z
  267. PHA) l, D& O0 U) Y# B( V
  268. LDA $BA! L  x# n  @, A
  269. PHA
    6 s# W' K) w# x$ X" I
  270. LDA $B9
    ' |. b6 b6 b9 W: n& l, z1 @: b. F
  271. PHA: T4 R3 G) }6 ~/ P% o+ B9 A
  272. LDA $B8# E1 y: r3 B1 V! I1 n! y
  273. PHA
    7 t& R3 v3 l: S1 G& |
  274. LDA #$00& ]7 @' t6 w" i# b2 M
  275. STA $B8
    2 Y5 h+ a) x+ y1 n2 D
  276. STA $B9: n3 h* _; \9 {# k+ ]& v" T& x2 }
  277. STA $BA
    9 I' [( u/ E1 ^/ P8 u( J8 c
  278. STA $BB
    * Y$ O$ L; J7 `; n
  279. STA $BC( D' q1 a# `- @2 l+ h8 ?3 v" D
  280. STA $BD# o( G7 U6 E& o: b5 Q+ j4 ]* x
  281. STA $2001
    : g! [8 H/ H* Q# |' G4 f, ~% c" R
  282. LDX #$001 F1 s! b' B4 y3 U. L  q
  283. LDY #$00
    2 p! v" ~' x  A7 j/ `9 s( {
  284. LDA #$00& g) d: ~# m: v
  285. STA $BA/ V! K! Q  F' b. @: r
  286. LDA #$20
      t1 ^( i. P! ^0 m- ]) m$ v
  287. STA $BB9 I( M- O, S% u! b

  288. 7 x, n* M( i( ]/ C; t) A- c
  289. CL1:
    6 W5 }7 n$ G3 w7 d- ]& J% j
  290. LDA $BB/ {" W0 {+ P; p; u8 U
  291. CMP #$28
    5 [2 O1 x$ Q4 T
  292. BNE CL2
    6 d" _( G! ~  F5 Z0 \
  293. LDA $BA
    & j& f1 e. `) ?5 I& S
  294. CMP #$00+ \4 Y) z- c( j% I2 S) A% q
  295. BEQ FREEWRIYE
    8 `, Y& }/ W1 u) Y9 c$ H- ?

  296. ' m' l" u8 I- a7 v. d8 e
  297. CL2:
    5 `5 D3 A( K7 \/ s- B- e) N1 y% Y5 L
  298. LDA $BB
    + U1 D) _% R- g: Z% t2 q5 l% W5 b3 p
  299. STA $2006
    " C# T' r% L5 r1 \
  300. LDA $BA& A3 p& I4 \: X5 H/ K7 y, A0 U
  301. STA $2006
    ! K2 p! J3 R' w; {0 L
  302. 0 m# _% E$ y( v4 f
  303. CL3:8 j+ A) W' Y$ S  Y+ F7 k
  304. LDA #$00$ p  F! J7 v/ S% V; b: ~% ^" z! e
  305. STA $20078 J* ^3 w! R" I# w& ]" S
  306. 4 u: j+ g5 K  h, Q' v& t9 k4 ~* U4 [
  307. CL4:4 }/ n6 |0 N  K$ \( o4 s( O
  308. LDA #$00
      w) W) U! K! W" s& q1 N
  309. STA $2000
    - x3 N# q) |- m! V8 n' m
  310. INX
    ' h" v5 |1 ~0 a2 P+ P
  311. INC $BA
    0 U' m% X/ {* t# }( K
  312. CPX #$00
    + F( s5 L2 M4 {! W/ W
  313. BNE CL17 A" G2 J1 L1 J( y! j6 T
  314. INC $BB
    ) l" Z+ y2 y; I
  315. JMP CL1 2 C. s* m! H! h0 y7 e; w$ p

  316. 3 \, M: O* ^8 c- u  V/ o
  317. ) s( E' m  S: t+ r
  318. FREEWRIYE:
    " [( l) F, f1 u. [
  319. % I7 D, Z- w9 F
  320. NOP3 J) R! e' B( Z/ F$ @
  321. 0 u; t+ t3 Y  [# T7 l- q

  322. ! G8 g- @7 Q+ }$ y% m! e
  323. % J( t  B- |  R8 G7 i

  324. ( Y' ?; X, {/ E4 t% A) X8 j4 u3 w

  325. 9 w. }& i3 E# A/ A
  326. CLEANF:                ; 恢复现场
    8 v6 g8 O) L# y/ _: m9 I
  327. 5 N: d. c4 k# l7 E* ?7 |0 P
  328. PLA
    : [$ e/ m5 J2 `7 x! ]
  329. STA $B8
    6 v; W* l+ X% b3 N6 [- ?
  330. PLA
      v, B: F) {. R7 M- l, s8 Y4 E9 q: G
  331. STA $B96 v4 W8 j1 ~3 w- S1 a9 u- s4 A
  332. PLA: a/ E, G0 ]  _+ ^8 Q0 h% ^
  333. STA $BA
    # X; B: l% |3 |+ w/ E0 s
  334. PLA! ?1 S1 b2 r# H/ ^
  335. STA $BB# I) p* M! @7 W4 K3 w5 |7 v
  336. PLA
    ' d* C2 @. a8 h' X- o4 }
  337. STA $BC0 A! D5 j4 A0 t) m& F
  338. PLA
    ( Y" V( M9 |' W5 D1 P! W
  339. STA $BD* ]0 N  r: e8 j' x* U  v
  340. CLRF:
    % q) w1 V3 a/ l; W+ R9 @& }# j
  341. JSR FREE_PPU
    6 Z6 I' P- T' j% B; @1 P
  342. RTS5 D6 C5 o+ g6 r- f+ B
  343. * f! a0 x: j8 |$ L" m. T2 C
  344. # ?* m$ r1 ^( E3 N& G, _9 d, z
  345. PPUWRITE:    ;PPU写回1 a  O* V5 |/ Z! w0 l6 j
  346. PLA
    ' _: F6 x6 T2 K! N* }4 z* I
  347. TAY% V) A, }, h4 O
  348. PLA, I+ h" f/ Y( c& U1 t# K  Q
  349. TAX
    + {" P) S8 C* S+ t& d
  350. PLA& Z4 B  K' e/ I( l1 b& i- L$ S
  351. LDA $25
    : A' N6 X  t- F  T! q, u
  352. CMP #$001 m: |  f! y0 Q/ ]1 ]
  353. BEQ WP11 T. I* Z1 v4 n  t
  354. LDA $25  ?$ G5 A- o2 o% ~7 }" `
  355. CMP #$01
    , s/ b7 v8 v/ S, M, n0 L
  356. BNE WRE1 q( v& J/ s1 N) U* t; @# S8 g$ V* ~
  357. LDA $F5,X# I$ u4 Z9 c% _: Q
  358. AND #$EF
    9 F7 d) d3 i( g, P4 b9 q6 Z2 `+ p' K2 L
  359. BEQ WRE. d" ^8 W% s/ f; u
  360. LDA #$00
    : h; ~# ^; _  o; y
  361. STA $7FA0
    & g% i$ N! M6 ~& @* x

  362. / G4 F- G# c2 \& h6 g
  363. WRE:
    & Y  W: `) m0 c
  364. RTS
      F5 J+ j; E# D( {3 _

  365. ' M: I  j' C$ G; Q  m% R
  366. WP1:
    ( @8 S, n) K- I; c0 g* q7 l3 ^8 y
  367. LDA $7FFF; `3 {: Z2 @% d. P0 z/ x+ _+ l
  368. CMP #$FF
    6 l. w$ o2 C) Y! p$ H  e
  369. BNE WRE. q7 ]" m. q3 q# Z1 T4 j8 H
  370. LDA #$00$ N8 p  Y9 c' |/ c
  371. STA $20018 p1 b8 N  y. q, A: H
  372. LDA $BD8 n' r1 ?# |6 Q2 P9 b: W
  373. PHA: S7 J. k2 b9 |% ?
  374. LDA $BC, @' Q1 D4 W. H0 h' Y
  375. PHA
    $ l, ?& [$ E: {: Q8 o
  376. LDA $BB: h; w* g4 ^9 S* Y3 D, N
  377. PHA
    ( G. e2 ?2 N( B8 z
  378. LDA $BA
    * N. W. ]0 i9 h0 V4 R' e
  379. PHA2 r6 \" A% q, [0 D; q  @- _
  380. LDA $B9! @7 a0 [% q0 Y
  381. PHA1 s3 t! R& b7 V2 s
  382. LDA $B81 l4 w8 {" m- S0 q' U
  383. PHA
    ! X" M0 k+ m1 {) N% @9 L2 w! w, t
  384. LDA #$00
    1 O  ~3 @5 n% M# g: E6 W# e) f
  385. STA $B8; ~6 W- y8 q3 v& G3 G5 B2 u
  386. STA $B9) B/ k1 G( h" ?) J& y( W
  387. STA $BA/ U7 \; ~. [& C( O9 E
  388. STA $BB
    ) P3 l4 e2 \+ R. C
  389. STA $BC
    : Z  N4 `% G$ i# z8 g/ m% e: p
  390. STA $BD' ?3 N+ A1 t5 ^' ~! T+ i
  391. LDA #$00: r  V6 J2 P5 ]" ?- c# ^1 B2 V
  392. STA $7FFF" p' g0 J! [2 i  F" I" Z
  393. 2 Q+ `/ W7 _0 r) R8 n: ~
  394. WL0:
    * Z) x, c6 B2 w& z; J  l) h
  395. LDX #$00
    : Y' n7 {! S, \, N: F
  396. LDY #$00
    7 D" b+ c* i4 x% L8 u4 d. Q
  397. LDA #$00# O& q: l9 `) q! \- e
  398. STA $BA  C, ^* _1 \. y& i
  399. LDA #$20
    # ?) T" w( R& z0 M% {7 G
  400. STA $BB
    ' F# U( {6 @* T
  401. LDA #$00
    5 e3 t$ u8 e# u: ?( t3 r$ P6 {, j
  402. STA $BC
    5 L8 T) r5 o# W1 L- h. ]$ G8 S4 \
  403. LDA #$60
    0 X8 ~: T: ^0 Y' s0 A- X6 S2 O
  404. STA $BD
    # C& k( U( F. g

  405. + j) C$ h7 V/ y$ \5 _2 I
  406. WL1:1 n1 b# D! T$ u0 f( |6 e2 ^
  407. LDA $BD* ~# J+ f9 E: @% K# ^) _/ P
  408. CMP #$68
    ) V1 W# n. ]8 q. ^# p
  409. BNE WL25 M% o) K& Z" a& s8 K6 Z$ L
  410. LDA $BC
    9 v7 y$ V1 d! A
  411. CMP #$000 A0 c0 ~8 _  e' F+ B3 w
  412. BEQ WLR7 x' D: o/ Q% ^1 F/ v; ?) T
  413. 2 g; G- C& j# ]4 L1 t" C
  414. WL2:& o! m* a/ X. W
  415. LDA $BD
    ( b1 g# j' W& ?) Z' U" C
  416. STA $20066 S* @# A* P) [3 V% A" g8 m
  417. LDA $BC" L0 X5 b  \2 v* Y7 J; x
  418. STA $2006
    + X* a: U2 H9 Z. P: K9 I' Q

  419. 6 v( d# O& `3 G8 V7 b. E
  420. WL3:
    2 x. @+ w8 g9 U7 A  ?
  421. LDA ($BC),Y
    ! [7 T' U: k7 `0 J7 t* S+ R, C5 K4 z
  422. STA $20070 B6 v+ R4 A( q1 \. r4 d  L% r, |
  423. + u# s& g  ^) M' C$ b  @, z, N
  424. WL4:6 T0 ], m) b0 F1 j) _
  425. LDA #$00
    8 [- W% A% z- p+ y
  426. STA $20004 `2 U, c9 `7 |# o' N% a
  427. INX% V7 @3 W  a* K7 D+ ]* |/ E( h' S
  428. INC $BA
    " A, I* [) o5 ]8 ~( z+ R$ I0 c) s
  429. INC $BC
    1 N- ^2 o6 R, t# p
  430. CPX #$003 M% Z7 @) y; R$ L0 B+ o
  431. BNE WL1' H+ W# m2 B0 L* o6 Z
  432. INC $BB
    ) I, ]( }9 b1 j! H/ U
  433. INC $BD
    : L. D1 W( b# p9 a1 `
  434. JMP WL1
    " Q9 f! x* O1 p) l3 d

  435. 2 F. i- |9 v8 a5 W0 s4 m3 l" w
  436. WLR:4 A3 U- ?' s8 W6 Y+ @8 R2 \( C
  437. LDX #$00' `& `) C6 O% v  m2 i5 Y6 p
  438. COPY_7F00_7F3F:
    9 A! g* }  s6 _1 c$ c8 l
  439. LDA $7F00,X9 L! S3 J) a; R0 ~3 R
  440. STA $07C0,X
    * \5 I8 L% e, b  a# V) N
  441. INX( E) x0 x  d/ g! W  m5 ?
  442. CPX #$40
    6 ~0 X3 ^, V4 {. U' m& J  I
  443. BCC COPY_7F00_7F3F8 R+ h' s, H9 {) M3 U5 V, O8 J" b+ Y
  444. + K$ h! u+ A( Y* O! _" L
  445. LDX #$001 l% _/ I; Z: G+ ]
  446. LDA #$3F
    4 x" N5 P& B  }) a
  447. STA $2006
      Q3 u  G( X* c
  448. LDA #$00( R; N! z5 i3 t8 Z$ L0 Y" v+ b1 ?3 N
  449. STA $2006
    / w2 Y! m1 t- o' a) U% h- n& `% _
  450. COPY_7F00_7F10:
    & I3 N2 J7 r* r2 W
  451. LDA $7C0,X
    * f7 Y3 c& g$ N& x7 `$ q/ ^: f
  452. STA $2007
    8 Q; b+ h3 d% O* V; b" {2 V8 T& ~
  453. INX
    6 H% N2 a( D& N# m- |3 U# e, ~
  454. CPX #$10
    ) c3 q! [2 C. V* l  ^
  455. BCC COPY_7F00_7F10
    1 \* d% P$ d; J% F& k5 `+ \

  456. / ^7 u6 u* u8 p) J. Z: M! Q
  457. LDA $2002
    , \8 X- z" a) }* A5 j. W
  458. LDA $FD
    1 `" N6 A, B8 e  _# s" M
  459. STA $2005
    " q( l# `8 P. b) b
  460. LDA $FC- l& d1 B9 _% F8 u; y& M9 i
  461. STA $2005" F$ }; T: }$ G$ }3 O
  462. + m8 ?% v$ L/ a4 Y% S
  463. LDA $7F50& P2 _3 t5 l+ R9 E8 C6 o
  464. STA $FE/ i6 u! Q5 F( B3 W  y, d# O
  465. LDA #$00
    6 X. X  {& ?, H8 i! G  f& }
  466. STA $2000
    , w7 H8 O& ^1 z. y! z
  467. PLA
    5 o9 \8 U  }: p; o0 E
  468. STA $B8: g9 v! m8 t1 v  a: R/ N
  469. PLA, L1 ^: g' n  D# @. t
  470. STA $B9
    : k2 ^# \0 _  T) g! B
  471. PLA
    - j3 h9 C# c! J( \- X: K
  472. STA $BA
    9 T3 I. ?* R0 e/ @  z& \' X
  473. PLA+ N8 U4 K3 z1 q, H
  474. STA $BB7 _1 n! d, y" _" J* n* v! R% y
  475. PLA
    4 w  M: [8 U' ~! Z. s
  476. STA $BC$ C5 W8 p" g6 z. Z9 V
  477. PLA
    ) ^! b5 m) I! ?
  478. STA $BD
    9 ]$ y  r% y6 G' G6 W- A' w. ~; L% T
  479. : e! e9 @7 u* q- ]
  480. RTS# B2 T) o, f/ g/ [; F: m* u- C
  481. % j+ g' t) U$ \0 @6 j% w
  482. PPU_CMP:
    3 m. w' v  m; f0 c' G

  483. - \! p4 f# f. F1 T0 s& r
  484. , m2 P! J# T9 |& G' p
  485. PPURE:
    - b% G  K3 V; c4 m$ y- Z( u
  486. RTS
    2 ]7 s0 s  c- F) O6 T( h* o2 u+ M
  487. - j  A( S4 r% n7 M7 f6 ?
  488. 2 V% u: l" L3 v7 O4 z6 A1 y+ x
  489. FREE_PPU:5 q3 Z9 }% J( H2 N3 s) Q
  490. 1 s9 j% O& o6 U4 P2 ?
  491. JSR TEXT01_PPU; ~' {) p8 [5 u; O8 L$ b- u
  492. JSR $CBC06 P" v  l; w- Y9 }1 f6 d8 U+ Y) x
  493. JSR P1_PPU4 R, i5 b& _" A1 I
  494. JSR P2_PPU
    8 b8 M: z2 Y5 ?$ z
  495. RTS  C. _4 l" c- b3 G" ~; r9 Z
  496. 8 @% X; [* Z0 h# Q  d" |
  497. TEXT01_ADDR:" s$ z8 m, q% u! H% U3 n
  498. .BYTE $20,$42
    & J/ p7 \" g! c7 }2 u/ C
  499. TEXT01_DATA:4 r8 z2 s; D' o0 V9 ?$ Y8 g, a
  500. .BYTE CH,CA,CC,CK,CSP,CB,CY,CSP,CF,CL,CA,CM,CE,CC,CY,CC,CL,CO,CN,CE,CSP,CI,CN,CSP,C2,C0,C1,C7,CEND
    4 ?2 m) t) C0 j6 b- a
  501. TEXT01_PPU
    " g/ t% Q1 T$ M& s7 Y4 u# C
  502. LDX #$00
    ! W* t' ^3 G0 l# [/ h
  503. LDA TEXT01_ADDR
    * m, ?* W, u' x% q* K; `
  504. STA $0703
    8 r+ ^5 o9 c( R- M
  505. INX
    ! G  \) h5 O7 D
  506. LDA TEXT01_ADDR,X
    " F: E0 A  f3 M) A- P
  507. STA $0704: X& P9 j5 F. t  u) T
  508. JSR PPU_PROCESS
    : E" g) D, q9 I) ?4 s4 A
  509. TEXT01_W:: X, X7 H% h- D# j" G$ v' H7 f$ N" A
  510. LDA TEXT01_DATA,X8 n9 U1 ^# |, [! T( d
  511. CMP #CEND  s" Z  [" w; l0 H: t) v
  512. BEQ TEXT01_START/ ^9 n3 D- o5 L: s. U/ _' k4 A
  513. STA $0705,X
    : Z3 B: ]( u0 g) I/ ^
  514. INX& ^6 M% s" E$ w0 b. X
  515. LDA #$005 }3 O, A. \$ U
  516. BEQ TEXT01_W  v! ~2 ~) M/ x- ?# Y5 r( ?
  517. TEXT01_START:
    % P/ `" F8 N6 E1 M' f$ x8 V" J
  518. JSR PPU_START- @. h) C( p( v% J" q7 E
  519. RTS
    0 ~3 v9 S) F3 t  _  X, Z

  520. ! n9 ~; G# n% o+ ?8 @
  521. 1 h6 X0 L* y& F0 I; J/ }; {
  522. COLOR_DATA:/ s) B3 @3 z# j" K; j  G0 }9 I8 m) b
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28, n/ G2 g* C# L" ^& P
  524. ( }" `$ e; G$ o) i( ^; O
  525. P1_PPU:
    % V) u  |0 x; @5 f9 D) m* s
  526. JSR PLAYER_01_PPU
    . Q0 C2 [  x/ {& M- ^- Q' Q
  527. JSR $CBC0/ M$ r2 `' |- x. l$ \, y# g. p4 r
  528. JSR RELIFE_P1_PPU
    7 ^/ Q& t. w7 u! L% y
  529. JSR $CBC0# V1 F" M0 Y  ]% _+ \
  530. JSR RELIFE_NUMBER_P1_PPU/ ?6 C! n- J+ J0 u1 u
  531. JSR $CBC0
    ) w4 L1 h& i; t8 g. \# v7 D
  532. JSR WEAPON_P1_PPU" B" j8 C! O: a8 N1 v3 N
  533. JSR $CBC0
    3 |& g* D- P0 i- ~
  534. JSR BULLETPPU_P1_PPU
    0 C. [( T9 U( z: y- K, B7 n* S
  535. JSR $CBC0
    4 P" b' R/ y9 c$ d
  536. RTS+ \1 x' @( f/ u7 p, M: c# x$ U
  537. 8 d. L) R5 W$ \- p" Z: T4 c
  538. P2_PPU:" z- K& @$ G7 t9 ]9 L2 }7 k
  539. JSR PLAYER_02_PPU) G$ O' Y$ z* }
  540. JSR $CBC0
    ) q2 ]6 U1 i1 R2 x0 g0 W( O! }6 _# B
  541. JSR RELIFE_P2_PPU
    6 s& ~1 t8 x  p; E
  542. JSR $CBC09 `6 S: b) I1 _5 W! c% L1 v" h0 {
  543. JSR RELIFE_NUMBER_P2_PPU
    ( h% w4 I. O5 j1 n
  544. JSR $CBC0
    - u, s) N3 I7 X2 R& u
  545. JSR WEAPON_P2_PPU
    - C4 j  v1 Q, \9 P
  546. JSR $CBC0
    # I& [: v5 F- I" y
  547. JSR BULLETPPU_P2_PPU
    ) d( ~  O& U! {- C& q9 n+ ?, a2 c
  548. JSR $CBC09 }' B& U8 A5 @
  549. RTS
    8 t. }6 W0 e, U2 X8 p

  550.   X! a6 m- @# y( `1 ^
  551. 2 @9 U) g  u1 h7 Y

  552. 3 ]2 v. U) u& x
  553. PLAYER_01_ADDR:
    2 Y  t" N0 v7 x4 d
  554. .BYTE $20,$A35 M1 O2 q- l4 [5 L. P
  555. PLAYER_01_DATA:7 z% ?8 n( j3 Q) X/ a9 F6 v1 e
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND0 G  u4 b& ]9 e$ c; O
  557. PLAYER_01_PPU:" X6 j, v, i% b- v3 r! o
  558. LDX #$00% V6 ^6 o6 y7 D: C8 @
  559. LDA PLAYER_01_ADDR
    : o5 m! v* U3 R1 J# n2 X4 l: |+ U
  560. STA $0703
    . g5 e- a) i' z  ]) i
  561. INX
    ) j# n9 R6 C% w8 ], H" c: W( ~
  562. LDA PLAYER_01_ADDR,X0 N# M5 q9 V7 ]3 ^$ e
  563. STA $0704
    # [- ^* o1 ^0 ?$ d$ M& d  T
  564. JSR PPU_PROCESS
    % T! e; {! R: H/ t2 N
  565. PLAYER_01_W:. m( ^( f  }0 n' m' l! Y1 E( N$ S2 Y2 l
  566. LDA PLAYER_01_DATA,X% d( I# L& o7 G' T  b9 ~3 `2 N* t
  567. CMP #CEND8 W- T2 w) }9 e. ?
  568. BEQ PLAYER_01_START# P( O# ^( J( Z0 g
  569. STA $0705,X  y  u! K, d6 T2 Y# f8 P5 n- E
  570. INX
    8 A1 `2 J7 }7 k  Z4 U
  571. LDA #$00
    5 G8 \* h5 e. k7 Q, _- I& B5 U8 A; u
  572. BEQ PLAYER_01_W
    . `$ D6 g. ?; K$ T: ?; m7 D
  573. PLAYER_01_START:- i. l7 B/ [0 ?, ?# D
  574. JSR PPU_START; F7 M7 C) e" E6 {
  575. RTS
    - q. G3 Z6 {4 v" v1 D  s! `2 g
  576. 1 ?+ V, N$ o& S' y1 ]9 H- I  V/ S

  577. & N- _0 k$ a6 i( b% P
  578. RELIFE_P1_ADDR:
    " ^1 q; S! v- [3 X+ a6 ]
  579. .BYTE $20,$E3
    ; C+ H9 j: X) a. f
  580. RELIFE_P1_DATA:
    % ]9 z: L7 ^# {* A4 u
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    : Z+ s; B5 Q0 q9 T$ @
  582. RELIFE_P1_PPU:/ o. J* I2 U5 c: C! I" j0 L& e
  583. LDX #$00& p; U6 ?$ Z7 K! K9 ]5 Q
  584. LDA RELIFE_P1_ADDR+ L! y& S1 @/ ~' c
  585. STA $0703
    * Q: |9 j3 H' P9 {" a
  586. INX* l/ A# `- q: ?* Y6 a; C# T8 j
  587. LDA RELIFE_P1_ADDR,X/ t* \* b, e# I9 M8 S- ~2 {
  588. STA $07048 f4 h* |, K: H- Z
  589. JSR PPU_PROCESS$ r! O! {7 X9 F: _6 w2 k) {/ y3 a) }
  590. RELIFE_P1_W:) c/ g8 y5 W, A6 [* C5 ]
  591. LDA RELIFE_P1_DATA,X
    % ?% }* c/ J% _: u3 B) v
  592. CMP #CEND$ @4 @' O. M2 L+ U3 N
  593. BEQ RELIFE_P1_START: Y! L0 F! E2 H8 S2 g, O* ~. I
  594. STA $0705,X1 k* S) j/ D3 {( X
  595. INX
    - U# |( @+ _2 Y% A% g4 Y
  596. LDA #$00
    / ^6 P: x6 B, U+ l( V0 B
  597. BEQ RELIFE_P1_W
    : _( e$ V9 J% m: J. t7 j2 @- q
  598. RELIFE_P1_START:4 z6 m# {; c7 `( A% f
  599. JSR PPU_START$ Z. a0 U  x; ^1 x: ^. C2 |+ m9 c& d: @
  600. RTS* y8 u) _" `! z7 p! R1 ?3 ?
  601. . v9 b5 s) S( y

  602. ' u0 Q& m; ?. ?% T4 \; Z
  603. RELIFE_NUMBER_P1_ADDR:7 C7 x/ L1 C3 V7 A, R( `
  604. .BYTE $20,$EA8 ~5 q5 f3 C/ K* P
  605. RELIFE_NUMBER_P1_PPU:3 f+ @  B! \, r+ M( u
  606. LDX #$00- L' @/ ]8 i; a- U! [
  607. LDA RELIFE_NUMBER_P1_ADDR  H% g, `' l+ w- X+ f2 t: l+ f
  608. STA $07034 W* N3 G+ F3 v. q8 g* b4 s/ B/ X
  609. INX
    $ v* x' G3 O* A
  610. LDA RELIFE_NUMBER_P1_ADDR,X  d( s; A0 r1 B+ F' v9 t
  611. STA $0704
    7 U, u9 @/ |% |# p
  612. JSR PPU_PROCESS- y$ ]4 n2 f6 Y0 G; C1 W. u# y2 B
  613. LDA $32
    3 Z* y1 }" _+ s. m$ }
  614. JSR LIFETODEC
    : d* T6 z: T/ E5 e) m: W- h% h/ z
  615. RELIFE_NUMBER_P1_W:
    . h6 A' D5 `" u' s7 \* n" N
  616. LDA $7A03
    9 t; U; m& B& L7 U1 Z, j
  617. STA $07059 k' e9 e3 v8 ]
  618. INC $0705
      m5 ]3 I0 I: [# q+ F
  619. LDA $7A044 b3 O: b- ]4 e2 Z& Q* I3 S# s( E
  620. STA $0706$ y; A+ w6 K! T; u$ I* v
  621. INC $0706
    7 h  ]0 {5 k. G5 w6 L) y; ~
  622. LDA $7A05/ f3 ~: u) q: j1 q: _
  623. STA $07078 |5 }! o  d: r1 `: U! v
  624. INC $0707
    0 G( n. \( e9 L5 v# J
  625. LDX #$03
    $ Y8 b$ B3 X; O1 @: Y
  626. RELIFE_NUMBER_P1_START:. w3 [2 f2 i  \- \" ?8 E. Y, W
  627. JSR PPU_START
    ) w2 R) i2 ]* K! m# U) e
  628. RTS! `. c) R6 s/ U  I
  629. 7 f2 K: }% H9 `" w
  630. WEAPON_P1_ADDR:
    ! v: ~4 V) U% q; a  D/ `: y- w8 j
  631. .BYTE $21,$23/ @7 X4 W& H+ N( ?, |8 P" o
  632. WEAPON_P1_DATA:
    % i, B# V3 r/ M- o' O
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND* m: P1 _/ Q& |- E
  634. WEAPON_P1_PPU:$ D) N  a6 E  M7 M
  635. LDX #$002 o( i6 @% G" h9 H2 E, O  O
  636. LDA WEAPON_P1_ADDR
    7 E1 d% o* U6 J# X" S2 H+ u
  637. STA $0703
    + Z$ N& O  J/ K7 X! Z
  638. INX' n2 R( U7 C  N! k4 P5 K- Y* |
  639. LDA WEAPON_P1_ADDR,X: E9 o5 _/ X! U- N! u. ?$ o
  640. STA $0704
    $ [; h2 W8 W) E6 x0 `
  641. JSR PPU_PROCESS
    9 M2 |: e  {. {" B" s
  642. WEAPON_P1_W:
    / k% m% r2 V" V: A5 z/ y) V3 `
  643. LDA WEAPON_P1_DATA,X  e$ y3 L, n2 u- E0 U: [
  644. CMP #CEND( R) C. M7 J8 X2 z4 c$ ]" H. n  ^
  645. BEQ WEAPON_P1_START
    3 b. D5 W' y+ y8 f/ y/ k0 M
  646. STA $0705,X
    % C5 @8 h6 d5 T5 \
  647. INX
    : r8 m; z2 f& G- |5 M9 n: x. a
  648. LDA #$007 b+ O6 w4 q  r
  649. BEQ WEAPON_P1_W
    1 m: ^  P2 }3 D1 V
  650. WEAPON_P1_START:
    / i0 F5 S; U9 b6 Y, C4 s/ b
  651. JSR PPU_START
    4 e0 B1 A" O7 ^8 d& `8 D' e" y
  652. RTS
      Y7 x& ~- Y: n. q

  653. ) b& d# z" E! V
  654. BULLET_P1_ADDR:
    ( P3 W+ h& N; \# X/ _$ b8 y9 `& |
  655. .BYTE $21,$2A
    4 q8 y; l  c% l" i
  656. BULLET_P1_DATA:
    " o5 p0 V1 K0 S# Z
  657. .BYTE $00,$01,$02,$03,$04
    + @* w8 j1 l9 \0 n3 e' j
  658. BULLET_P1_NAME:$ `& g# k! t4 q- Z, q( a
  659. .BYTE CN,CM,CF,CS,CL  n; [: c/ e  h3 p" n

  660. + H# k& L/ a  @& J' d' k$ V
  661. BULLETPPU_P1_PPU:
      V. V. Y/ ?( Q' p5 x
  662. LDX #$00
    : C. d# C6 p! g: e+ N$ S
  663. LDA BULLET_P1_ADDR
    0 B6 e9 b$ V- X& C' _) q
  664. STA $0703
    9 B. o, _  }: t2 V
  665. INX8 L- d# V9 G4 j  P  s2 D
  666. LDA BULLET_P1_ADDR,X
    & i6 v8 E0 a* D3 U0 c- v+ {
  667. STA $0704/ v" o' Y% z+ O. F
  668. JSR PPU_PROCESS6 X+ T# x) i# B# j
  669. BULLET_P1_WRITE:
    ; Y) M, I; T+ t" {( A
  670. LDX #$00
    . g8 M- l3 g( o, b# Y
  671. LDA $AA7 T/ J" m" y- A) g0 g* C# Y. g
  672. AND #$10
    4 D1 i2 L) v( E3 j! Y6 K0 m- S
  673. BEQ C_BULLET_P1
    7 ?  f  k0 `+ [* h' n: ?+ W! M/ A
  674. LDA #CS  |! |* z/ d5 Z
  675. STA $0705: g- V6 D3 w7 i$ ?  K+ [
  676. BNE B_NAME_P1
    " g7 [8 S7 z+ D! c3 a
  677. C_BULLET_P1:+ {' [  y1 W, M5 e; ~
  678. LDA #CC" P2 G5 V: d2 E5 O* }8 Y/ Q( f
  679. STA $0705
    5 @" i' I3 V" J7 F8 M1 I
  680. B_NAME_P1:
    * ]5 m2 v2 m/ a0 h6 a3 c/ S; C
  681. LDA $AA1 R5 Q) V1 g& ]) t* a
  682. AND #$0F
      L7 Z* U$ z. V, c1 T
  683. CMP BULLET_P1_DATA,X5 c  f8 R+ d9 u( Z" o: q$ i
  684. BNE B_NAME_P1_RECMP* J9 @2 v- d/ j: D
  685. LDA BULLET_P1_NAME,X
    ; N: r: z9 X/ g. y
  686. STA $0706+ g' b& g9 B6 ^' z6 ~# _
  687. B_NAME_P1_RECMP
    3 C0 w( X1 Q4 _4 F
  688. INX
    6 W! @6 V8 C& Y, z- `5 r6 @
  689. CPX #$05
    2 ]. f1 p+ t6 r3 P* y7 B, E; s
  690. BCC B_NAME_P1
    7 M7 Q% z; K4 E% X& x/ @
  691. LDX #$02. X+ M$ n8 p" G
  692. JSR PPU_START
    + D9 H8 m2 ?! Y, f" l7 n" z& d- x
  693. RTS
    6 }# _5 V+ X/ [! S* _
  694. 0 z% ]  q$ U, b; l0 B- ~

  695. & R- ?1 b" D, K. S+ m8 B
  696. PLAYER_02_ADDR:; n9 m& p+ T$ T
  697. .BYTE $20,$B3
    % N$ ~" R" X6 u/ A* f4 ]
  698. PLAYER_02_DATA:
    / ]4 }& _# q% X+ X9 i' ]
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND" s# c: W+ ^0 w
  700. PLAYER_02_PPU:
    ) [% i' A" k: A. G0 G' ?8 O
  701. LDX #$003 [1 R. @6 i0 }, i% j, t
  702. LDA PLAYER_02_ADDR
    * z# m, D  \  j9 N$ b4 j
  703. STA $0703
    : F/ B9 s, ~4 H/ ?6 u( r, q1 Z; h
  704. INX3 s7 X" p: d) e: `  R
  705. LDA PLAYER_02_ADDR,X
    9 e. n+ p% W& t$ D( O1 F$ M
  706. STA $0704
    % q$ O9 E0 w9 O) J* J# r
  707. JSR PPU_PROCESS1 u- Z/ K" S5 m+ a! q' i0 t
  708. PLAYER_02_W:
    ) O* I7 A/ }0 ?8 c+ m& ?
  709. LDA PLAYER_02_DATA,X
    3 g- z5 X8 b) Z+ c" Q! j3 ?
  710. CMP #CEND
    - M# G: ?8 \' j4 n. A, L' E: l. R
  711. BEQ PLAYER_02_START" P, S0 \& \# o( e
  712. STA $0705,X% x, K! @# T( k/ a& m% b1 Z; E4 b# S
  713. INX# T9 s( p& G* y+ {; f8 T
  714. LDA #$00
    - b6 s2 J# d' J8 e
  715. BEQ PLAYER_02_W
    : H5 p" T+ Z) }: S( x0 B+ m) |5 a
  716. PLAYER_02_START:
    9 y1 p: A1 g! }, u( a- {8 P, Z
  717. JSR PPU_START
    0 p4 ^" Z0 @  x, c) ~
  718. RTS
    / D: {( P1 \' H
  719. ; R% S" c* w! H# e; u% |

  720. ( N; ~% a9 g/ T% E) m
  721. RELIFE_P2_ADDR:2 ^# \) h8 C( c
  722. .BYTE $20,$F3
    1 W+ T: J! a8 G9 C: ?4 `' p0 ~
  723. RELIFE_P2_DATA:
    8 T* F8 D1 U/ m& `
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND  Q- n! i+ l# q8 \5 O, M9 `" @% @
  725. RELIFE_P2_PPU:/ m1 R1 F9 i; o8 M  G+ z+ d! x: I
  726. LDX #$00; q) `3 u# `/ O& U/ O7 q
  727. LDA RELIFE_P2_ADDR
    + e2 |: \3 t( n: p2 j
  728. STA $07033 P4 t, a- c3 J
  729. INX) _  L  L/ B  n( N7 v3 k
  730. LDA RELIFE_P2_ADDR,X
    2 W4 }" i5 h7 S) @
  731. STA $0704
    * @+ |) B4 Y/ S( F- A3 B$ S
  732. JSR PPU_PROCESS
    % @# O, C# i/ I7 G3 _! K
  733. RELIFE_P2_W:
    2 I3 t/ e$ _+ }2 ?2 N( z7 P1 x
  734. LDA RELIFE_P2_DATA,X/ X0 D; {- r/ w: G) k" W/ U
  735. CMP #CEND" v# ~- V6 P0 ^
  736. BEQ RELIFE_P2_START
    ! O1 N! {) Z" O+ J1 w" K
  737. STA $0705,X9 Z/ B# X; l" O7 Y: f0 I4 X
  738. INX! M& D1 I& k" e
  739. LDA #$000 f" K- O( \5 Z: }% M2 k
  740. BEQ RELIFE_P2_W/ _) W  Z: K* \6 r' r
  741. RELIFE_P2_START:
    7 `+ c3 ]; k& q- I# a  C5 Z: w
  742. JSR PPU_START
    9 n( t' {) W9 x  a3 {" q
  743. RTS
    # ~, X( h$ f0 p- N" j

  744. - [' m; M* T) I, s

  745. 5 Y% `, T- L) p( g5 I) S
  746. RELIFE_NUMBER_P2_ADDR:
    8 m" o0 N2 Z, B
  747. .BYTE $20,$FA
      |4 s6 s* I' h# b9 j
  748. RELIFE_NUMBER_P2_PPU:
    # w$ |' O  Z1 P1 ?' o' S' v, C( K! M6 ~
  749. LDX #$00
    ( |' n7 Y0 t/ D' O  K+ c% Z
  750. LDA RELIFE_NUMBER_P2_ADDR
    7 |+ o9 P, f* W
  751. STA $0703( F& c, Z! I8 j4 d% L2 k
  752. INX8 c9 Z  g. h6 U" x( E4 P
  753. LDA RELIFE_NUMBER_P2_ADDR,X$ Q" E8 o( _$ l1 |+ _# o
  754. STA $0704
    2 W/ S- s- C+ ^$ ?% |
  755. JSR PPU_PROCESS
    5 [$ s) J6 Y. ?+ T
  756. LDA $33
    4 l) g! I' D0 q) G& Q8 ]
  757. JSR LIFETODEC
    + c4 ^+ ^. [( ^( K! J& a
  758. RELIFE_NUMBER_P2_W:
    # r9 P7 p" I5 G+ A# Z$ G# t
  759. LDA $7A03
    + h/ ]: Q" r. q6 o7 @
  760. STA $07057 `8 o% d# |9 v  m+ ~
  761. INC $07056 x$ y% S5 R8 e! V$ j; d, j
  762. LDA $7A04
    # _, O6 @" {% m
  763. STA $0706
    2 W# j* t4 G9 E' i  f4 D$ W/ W
  764. INC $0706% T2 ^! X) `8 T) Z* ~
  765. LDA $7A05; e. h+ b+ p) f5 Z; }
  766. STA $0707
    3 f( ~$ L  ]& O# g0 f$ U
  767. INC $0707
      [) n7 k3 I" O: f( H
  768. LDX #$03( I# {. ?2 @) o7 |4 n" Z
  769. RELIFE_NUMBER_P2_START:. ]( G/ d, x* {( L, g1 H1 i9 I/ K
  770. JSR PPU_START
    * f7 |1 p6 U! j" F' B5 l
  771. RTS
    6 @8 d6 H; j; R9 j: |

  772. * c! {6 Z1 Q' m
  773. WEAPON_P2_ADDR:
    ( S) w4 ]% P( a. `
  774. .BYTE $21,$33
    2 M$ S# u% t# `1 G5 {* \
  775. WEAPON_P2_DATA:+ G. K* {3 {/ r0 P. m8 l: ?! B
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND, A1 F8 B- D( G! k7 G
  777. WEAPON_P2_PPU:2 J2 L9 k' H2 j4 t& n# [% P
  778. LDX #$00/ Y! b: R4 _3 V. M3 r4 i. ^% Y
  779. LDA WEAPON_P2_ADDR
    8 V, ^3 K- J  X9 I& E
  780. STA $0703
      V& q4 ]1 g. x* t8 k% K) }# h
  781. INX
    3 G7 a3 T8 p! g( D# a8 j
  782. LDA WEAPON_P2_ADDR,X
    ; r5 ]0 {9 M2 {. e2 q/ P# V5 l) L
  783. STA $07043 B* p: ~9 a: ]% X5 x" A$ O
  784. JSR PPU_PROCESS
    ( V2 y- |: R$ c; S
  785. WEAPON_P2_W:
    ' D- R& O9 K" \
  786. LDA WEAPON_P2_DATA,X2 q; U+ A3 C' c5 a2 J
  787. CMP #CEND# W2 w0 E- J% y8 k) x: n" S, \
  788. BEQ WEAPON_P2_START. n5 k$ W" K, y3 k# f
  789. STA $0705,X
    ; o7 {' b0 |9 a/ j6 Y
  790. INX
    + o/ d% D" }' N7 G- j( J) t
  791. LDA #$00
    ! I; t* |  A. M" u. z6 A& a: D$ Z
  792. BEQ WEAPON_P2_W
    7 t" ]& a, r& p5 y$ _; I
  793. WEAPON_P2_START:# ?" ~) l4 U, s9 F) r/ C" z
  794. JSR PPU_START4 x, q: k- R  g3 j( g
  795. RTS
    # m3 E. t7 t- J3 x' }7 E8 l5 ~
  796. * n, H' h! z" K; [
  797. BULLET_P2_ADDR:
    9 c# x2 H& Y' g
  798. .BYTE $21,$3A4 ~+ Q" i. y7 x6 f
  799. BULLET_P2_DATA:5 `& r2 H: y+ K9 E
  800. .BYTE $00,$01,$02,$03,$046 C% a3 ?* u' G! V$ K; \, I
  801. BULLET_P2_NAME:% K0 }: i0 f9 h6 _
  802. .BYTE CN,CM,CF,CS,CL# g, D8 ^: b0 l0 k
  803. 6 F4 b) f. ?( P6 x$ B
  804. BULLETPPU_P2_PPU:" e) g  h: p8 g# N1 z5 V
  805. LDX #$00
    : h0 R) w  i1 Y' u0 s
  806. LDA BULLET_P2_ADDR
    3 g, j6 J3 |% _) [( X0 c. e
  807. STA $0703
    4 g4 j! c# h; R8 z
  808. INX  ~$ S+ D$ `" q8 n$ [+ O9 b+ e' s
  809. LDA BULLET_P2_ADDR,X
    ; R! d3 d5 Q& L- z- M& X
  810. STA $0704
    2 y! `8 r( i4 o
  811. JSR PPU_PROCESS9 o# X3 x4 r9 n. [% Y; g* c8 A
  812. BULLET_P2_WRITE:
    / s5 S; J. f3 R) H
  813. LDX #$00
    + `) Y# C, P) L6 G( W
  814. LDA $AA
    4 c- \; S" D, Z% ]/ _$ ]4 E
  815. AND #$10. o7 o8 m# P6 c
  816. BEQ C_BULLET_P2
    $ h% V2 f+ B! T6 S( z, W. i
  817. LDA #CS
    - V3 M- h& f1 i  c8 ^
  818. STA $0705
    * @4 ~' t7 d+ ]" K
  819. BNE B_NAME_P2
    3 p; @' [& n4 e! Y. i& N7 Q$ d% Y: N
  820. C_BULLET_P2:; a2 w+ v9 c# r+ h" u
  821. LDA #CC. _0 \6 O5 {) h7 W
  822. STA $0705
    5 N9 [; S0 S: z
  823. B_NAME_P2:* r) V: q$ s4 i  v8 v! U
  824. LDA $AB% B. D* j: Y) s2 _
  825. AND #$0F
    % l* x0 f' U3 @* O! e
  826. CMP BULLET_P2_DATA,X
    , v/ f3 q7 g& N' Q% S
  827. BNE B_NAME_P2_RECMP
    ; d) V' k. R* z5 J3 |; U$ e& W
  828. LDA BULLET_P2_NAME,X5 {' u/ _7 w3 U( c
  829. STA $0706
    0 R4 v$ s; V) B8 {7 g
  830. B_NAME_P2_RECMP
    + [2 I3 t1 a  j! Q# ~$ y$ _8 v
  831. INX
    $ n/ @; \' t" Y# T0 v
  832. CPX #$057 A' g3 d$ w. T# W. e# N4 b0 c
  833. BCC B_NAME_P20 F# M: z; x# j& c! r% D
  834. LDX #$02
    $ t( f% O) P3 p; f- U3 G9 v- [0 x
  835. JSR PPU_START
    & _5 V1 c: Z8 Y" Z
  836. RTS
    : @; e7 a* i4 e2 w$ i
  837. + o5 k  b, T1 l) y

  838. 2 ^! u1 v. N5 e$ o6 W
  839. . i( X6 A% m0 O! e$ V& e( A
  840. ! z7 P8 R! \% O6 \) N

  841.   t: v, P( b% m. }3 H5 [0 K. L0 V8 y
  842. ' I4 o  M4 r" K+ A
  843. LIFETODEC:                ;十进制转换$ |. c  X3 a3 j
  844. LIFEL1:        ;initialise
    4 x3 E( d5 P5 N3 s
  845. STA $7A00        ;$7A00=F3, U, }9 z5 p% S! U+ a! m4 C
  846. LDA #$00' h9 Q% s. n& R* U  {  t! v
  847. STA $7A03        ;$7A03=008 Z6 r: i. O. s4 N
  848. STA $7A04        ;$7A04=00# y$ D! |( Y& b; c" h1 h* d6 w# @6 j
  849. STA $7A05        ;$7A05=00) X! A, C  o& ^; D7 x
  850. LIFEL2:        ;copy data $7A00 to 6001! z% Q" [8 |- S0 g7 y2 X
  851. LDA $7A00' S$ {- ^( o6 Y: d$ ?) `
  852. STA $7A01
    2 K: ~# ]0 u9 S( U/ W9 I3 T

  853. ; F' U7 a3 v$ q* T, c7 ~6 z
  854. LIFEL3:         ;hundred4 C" n6 z* Y) q5 ]1 M8 G5 ~
  855. LDA $7A014 P. f+ t: u9 v6 T/ S
  856. CMP #$64% j$ n8 D2 i. v
  857. BCC LIFEL6                ;$7A01<100 goto L6
    8 i" ]" ?" O! P% L# E; F
  858. LIFEL4:
    2 l+ s% f& N6 b
  859. LDA $7A01
      }& T* q5 Z9 |9 o4 ]( m, {
  860. SEC7 F4 W' R! k: ]2 A) ?! P: R9 u
  861. SBC #$64        ;$7A01=$7A01-100- M) \' _0 h& _4 ^- a: b
  862. STA $7A01
    % [( {$ E  F  j+ K! c. K1 z
  863. INC $7A03        ;hundred++
    # |! r* H# g; A, ^- M7 u! H
  864. LIFEL5:4 O9 v8 O/ q8 m& `  e) S9 ]
  865. LDA $7A01
    2 Y9 u: q/ M4 T; K+ m4 v' S
  866. CMP #$64! J$ z' [5 b1 z  K" h
  867. BCS LIFEL4                ;$7A01>100 goto L4/ U  y) _5 W- Y5 e8 A  A5 z4 b
  868. 0 i# f- ^  V! p- }
  869. LIFEL6:        ;decade$ v2 u' j( x3 }% r7 C1 w0 r" Y. @! R
  870. LDA $7A010 n4 o  h: u1 q5 b" U/ g
  871. CMP #$0A1 d# E  A6 I( l/ V
  872. BCC LIFEL9                ;$7A01<10 goto L97 T( V1 k& A( g" o. }
  873. LIFEL7:       
    # Z8 ^7 x% G$ r
  874. LDA $7A01) a8 T, Y4 D% i
  875. SEC, h1 Z( U/ S2 H; E
  876. SBC #$0A
    * ~4 I1 G' U  Q& u
  877. STA $7A01        ;$7A01=$7A01-10" O& T( S' `+ \2 ~; P
  878. INC $7A04        ;decade++
    5 M+ `8 a/ j! F, k
  879. LIFEL8:7 t& L4 ]- {3 W8 g2 f2 O6 `
  880. LDA $7A019 p* N& W- L4 \% C3 b
  881. CMP #$0A
    ; p0 C% j  U- Y# o
  882. BCS LIFEL7                ;$7A01>10 goto L7
    ! I5 ?# U+ b1 N1 h
  883. ;unit/ q+ R0 G0 c% f  O- {
  884. LIFEL9:
    # D" E# g5 K% U. i
  885. LDA $7A01        ;$7A05=$7A01+ i8 r* q3 V& s: Y( p
  886. STA $7A05        ;unit# C, S7 V+ B5 v+ L- z" D1 C
  887. RTS        ;return
    ) ~+ v# i0 s# f+ x- s3 `8 K3 V4 [# b
  888. ( a5 _- z! w: M

  889. , R9 F9 h7 L1 O9 J
  890. 0 T, K& n0 p; `
  891. PPU_PROCESS: ;PPU地址处理程序* ~! N- Y, n9 Z1 ^8 d2 \7 M
  892. LDX #$005 I4 ~- \) x; P+ V# ]5 R2 A
  893. LDA $FF
    " I4 x8 e9 b1 m( Q( G/ q" ^
  894. AND #$01
    7 ]) n! o2 K: T. j3 {$ y- P# J
  895. BNE PPU_2400_27C0
    ; d- k$ p$ }. q+ E; k& X
  896. PPU_2000_23C0: ;命名表1" B, e$ N! j- W- H9 d" n
  897. LDA $0703
    + R" a, Q' I3 X8 O2 ~# Y6 R3 C
  898. AND #$FB9 ]3 w% G9 t) F4 x1 g( Q4 z
  899. STA $07038 T, Z/ G3 a: V1 L$ P( ^9 i
  900. RTS( ]! E. M' u3 P- _7 k0 A  h
  901. PPU_2400_27C0: ;命名表2% g( a8 G5 p$ O) a
  902. LDA $0703
    . y  @' D+ k; Q% z% B
  903. ORA #$042 _: a$ I" q9 Z8 l
  904. STA $0703
    2 {6 T+ D$ Z) D' i& x8 K
  905. RTS, M1 ~  p: N0 m; N0 S7 Q8 }
  906. ! h1 w, n3 ~; I& O7 T
  907. PPU_START:  ;PPU数据写入
      _3 K4 [9 D0 _5 w' }( ?
  908. STA $21  g6 D3 u* @* N! u
  909. STX $07012 S  ~3 ]1 {. Y5 c& [
  910. LDA #$00
    ( ^6 q( ^/ z  {0 b
  911. STA $0705,X: o) E  N7 t4 H) A
  912. LDA #$01
    + x4 F5 u* ]3 g- y( x9 c
  913. STA $0700
    5 m; y! h8 t2 h
  914. STA $07029 A  L% C3 S0 N/ u( G
  915. RTS
    6 E3 ~$ _: S$ C+ [+ x
  916. ! c! H& L4 n4 w0 ~  F" R1 k4 v, T& d
  917. % X1 Q9 `; x. m. N9 s

  918. 6 P. W9 K  Y( _

  919. , D) p  c3 J. e+ r( D$ t5 G
  920. , F* x" }! z8 L9 j3 m' y2 R
  921. 1 w: T, f3 P& g+ \/ R
复制代码
" t! w4 d' }) M1 B% k9 K+ }

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!& L  \: \; y- ^# }
回复

使用道具 举报

签到天数: 2554 天

[LV.Master]伴坛终老

发表于 2017-2-13 19:24:13 | 显示全部楼层
怎么就退隐了呢?我还一直期待楼主能出SFC相关的教程呢。
[发帖际遇]: zsyf花14 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

发表于 2017-2-16 20:23:33 | 显示全部楼层
没事时有时间时还是欢迎发表教程,谢谢楼主贡献
回复

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2017-2-16 22:58:37 | 显示全部楼层
看不懂啊。。。。。
[发帖际遇]: liujunbtx 发帖时在路边捡到 1 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-4-27 09:43

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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