设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    - I# G  ?' Z/ r. n
  2. 作者:FlameCyclone- H$ {+ ?2 T6 E3 \0 x3 I6 D4 a
  3. 时间:2017.2.12
    8 ?9 ]7 A  g  w" F7 `2 n
  4. 2 X' J% B& M' e) [6 x
  5. 按键跳转:
    % n  r# X3 P: c3 c- u
  6.         C1EF:95 F5 94 F1
    5 D  A4 z: E% I% u1 [: o
  7.         C1EF:20 70 FB EA' v/ ?. D& o4 Y* e0 C
  8. 7 r6 j' s9 m; W" V7 ]' l# m
  9. 滚动偏移:) {2 x9 a3 D3 w5 W. m
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20/ s' N+ R7 a7 Q" T7 K7 F
  11.         F936:20 C0 FB EA EA EA EA EA EA EA+ n" {  U% V3 D2 N7 n

  12. ' h" A" Q/ \; v- Y! H
  13. 背景调色板:
      d0 x: j5 p8 k  l
  14.         CF20:9D C0 07' o; a- ]/ K& g+ L( G! F2 j& a
  15.         CF20:20 A0 FB8 w/ Q! \9 E3 h- S
  16. - |; o3 T/ p+ V- Y0 X
  17. PPU BANK号:* ~) g( u, Q6 f2 {
  18.         C8C9:9D F4 07- N' C4 ]& w; x- z$ [9 q
  19.         C8C9:20 B0 FB7 Y0 S  S. ]6 X& }- C; I0 b3 _

  20. 6 g/ T/ \3 i2 j% m
  21. 按键跳转:
    % k+ [. g) j1 M  U/ n0 b
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ' E- u! F0 {1 H% r- p
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 207 S) }& m( {5 \$ S6 Q* N5 T
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF# F% J9 v1 g; q0 M' {  f1 n
  25. , R+ q4 ]9 U$ ~, A# j% ?
  26. 背景调色板:% ~8 b: n! r& @0 K
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    + Q; H. X0 R' y) S1 K

  28. & o$ m9 q6 R+ ~- x3 W" u- P- w
  29. PPU BANK号:
    ; H; j6 q  l/ {: ]
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF3 Q* N  j7 g4 t5 m

  31. 2 ~; z+ H6 p( @* Z$ [
  32. 滚动偏移:
    4 m" {  r, }, r! r
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    - `  A( ~0 [' H$ T6 ^& i
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF& C/ s/ X) B0 D2 `+ ^) _& Y' ?
  35. 7 Y$ i3 r  J# ^
  36. 2 R% @' K4 _0 k/ r
  37. 切BANK后A000:
      ^! ?* `6 s  r+ n1 R& F9 Z2 B- K
  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
    " G  r" w- ?0 l0 [" p

  39. + s* K' |7 z) S- v/ g$ z& S7 G

  40. ) J% }8 K' ?6 r7 N, }/ R, g; W
  41. 6502 simulator:
    $ V# x! \! C# x5 z
  42. PPU写入程序:+ t# I$ e% }# `2 b' o) N
  43. .ORG $A0003 T4 d" y# y! b
  44. CSP = $80) ~9 l/ W( [1 d7 _* }" A8 M/ Y+ ]
  45. C0 = $81
    9 \) S4 z* p; h6 Q5 ~
  46. C1 = $82# e5 o3 K" U0 z! \4 ^# I
  47. C2 = $83
    * d5 H" Y  U$ m( ~, A
  48. C3 = $84- l, S) _- L9 Y: b1 S( Z( J0 {
  49. C4 = $85
    7 I3 V. c+ r3 E4 J
  50. C5 = $86
    , y% m! N6 T- v5 S9 W- m! X, b# n
  51. C6 = $87; k+ ?. B' C- c6 f( s$ P6 X
  52. C7 = $884 r3 u6 [# I% B9 P. s
  53. C8 = $89" [0 i% k8 `: S9 f6 o9 u/ C
  54. C9 = $8A9 ]' \: l- E, J' {. r
  55. CA = $8B
    6 @4 x% j& f7 b% _
  56. CB = $8C
    4 f- \& O+ D+ w6 C
  57. CC = $8D/ _" H$ k4 I( ~0 W8 z
  58. CD = $8E( v' `; H, T5 H
  59. CE = $8F
    $ ]; C1 U2 F4 `8 |
  60. CF = $90/ Y! f8 m3 H% F: e
  61. CG = $91
    # Z& a  |& l8 \# O& ^
  62. CH = $92
    ( o) Y) O9 W7 D9 ~0 n' z6 m9 w
  63. CI = $93
    8 s. K2 u5 c/ Z$ s4 d! \' k* F
  64. CJ = $94
    * R, y/ ]5 {  D+ _! `
  65. CK = $95/ y5 h. m. \3 u: V
  66. CL = $96
    ' c6 J. e8 u) d0 `1 Y, [
  67. CM = $97$ n/ B$ G: y" E& U0 I! {
  68. CN = $98- K& v$ Q7 C/ \. E$ S
  69. CO = $99
    , {1 u. q8 h. N. H" N+ |  m+ |8 E7 `0 C# e
  70. CP = $9A
    2 U6 t9 u6 ^! P9 M- D" g9 l
  71. CQ = $9B* t8 ?3 H8 j+ C" n2 V2 P
  72. CR = $9C* |) M8 s' h6 R  E5 f
  73. CS = $9D7 c- t" n" o6 F: k7 G, L+ e5 d
  74. CT = $9E
    $ ]/ b* Q0 E9 T9 d1 `# x7 z
  75. CU = $9F
    0 f# m  C1 X$ q5 \
  76. CV = $A06 [' o' V% a, p& N# B; _
  77. CW = $A17 u1 e; Y8 }' c4 Y
  78. CX = $A2
    ! l1 p) E2 j, {0 B- ]6 R, T
  79. CY = $A3
    # M* ^6 l# ^6 T& r% e
  80. CZ = $A4
    ! r3 u( Y( O: T, {' Q, F9 v
  81. CEND = $FF
    % l5 v% V  m+ ], q" G1 E+ x# ?
  82. : S  _7 A9 e3 [& ]! w

  83. 4 l9 ]% {% Y; ]4 f8 a( {2 W
  84. CMP_RE:- R3 R5 \& Z0 {  ?0 S
  85. LDA $FF% J4 C9 S6 a/ B* Y1 B
  86. AND #$7F
      s8 _7 z( `3 b; H. [7 @/ P
  87. STA $2000. q; V2 Z1 @/ H# t& t4 |
  88. LDA $2002
    & i& ], k+ L% ^( V
  89. LDA $25' F+ d. P$ k0 o  k
  90. CMP #$01
    3 F: l+ [/ l" D* @: _- ]/ ]
  91. BNE PROREG
    / W- y) z3 g1 T$ l3 l
  92. LDA $F5,X
      A3 X! q* P+ f* ]4 F; ?
  93. AND #$CF% u# [' w0 h: n1 p& G* S9 C3 u
  94. BEQ PROREG
    , S" N* o2 e0 m* v. }2 B
  95. JSR PPU_CMP
    $ j8 Y  Q' c( W6 c8 R' ^2 `
  96. C_RE:5 u$ r5 ~- ?1 \7 b2 S6 _
  97. RTS
    ; H9 k* m* [8 j% O4 W
  98. PROREG:
    - d7 `. k! t7 A( r$ g) I% ~
  99. PHA  h* B4 x$ d$ f) c9 k! x
  100. TXA
    5 c' g* b0 H; `% G, H+ J
  101. PHA. X  s: C9 q. S8 c1 Y
  102. TYA( N0 V: J8 H. Z& i& s
  103. PHA# q) k, j% j2 ~$ p. K8 \# G
  104. LDA $25
    & d7 `  l7 n7 k1 Z( d3 R/ ~
  105. CMP #$01
    * a. T7 J; I: d# M2 d7 E
  106. BNE RE8 x5 U7 x$ y' D- ~! v
  107. LDA $010A* h$ Z! W3 K9 n
  108. CMP #$008 i" [( q: c4 R
  109. BEQ P10 b* {2 j  V! ~* B7 y2 U
  110. % ]. P; g1 m3 v- M3 P6 G. o; q
  111. RE:! \6 B' P4 h' n" n  w+ `
  112. JMP PPUWRITE
    0 M- U" d8 L0 L1 M6 ^" w" ?
  113. 0 Y6 T6 Z2 `7 B% \! a
  114. P1:                ; 条件判断
    7 m3 t! e/ K" K& E: Q7 B* E
  115. LDA $7FFF, Z, q: {/ K' i8 O5 c- `
  116. CMP #$FF! f4 \$ J6 `$ D. Q
  117. BNE P1RP
    . \4 N, q  l2 [4 `( u
  118. LDA $7FA0) l8 b8 K* h7 l" V9 N; \
  119. CMP #$00
    . F$ Q! T) w' G' r8 d- U
  120. BNE P1CMP
    7 W& T  m" Z- k$ }% r+ d
  121. LDA #$FF
    ! O& Q& F. M, O" ^' I& z  `
  122. STA $7FA0
    5 ?/ t3 B/ I  @! z# M
  123. JSR CLEANA
    ! K1 K9 W9 h/ a1 W' f
  124. JMP PPUWRITE
    / }$ M9 S, V  S# q9 x# b" m
  125. P1CMP:
      s3 s; e; T- h! |, J: v
  126. LDA $7FFF1 `% S7 i8 p: v. g- s6 w
  127. CMP #$00- D2 M: o7 i4 G' g. g0 g
  128. BNE RE( W+ F$ ~% ~' a/ b# s: E% \0 d- i
  129. P1RP:, ]- }7 x; J- \8 A- }- j/ W3 T8 H
  130. LDA $20029 P+ }/ ?4 M( w) J) m
  131. LDA #$00
    " m5 v  @3 d0 `4 r- T( r6 ~) I5 b8 J1 v
  132. STA $2001
    / c# ~6 I0 l' `) L( _
  133. LDX #$00* v% e: I: Q5 P8 O6 u
  134. LDA #$FF
      |9 g/ e* f0 |" Q$ `0 W+ T  d
  135. STA $7FFF
    ; a6 o: P9 c$ R/ I6 f
  136. STA $7FA0& D& E* u# p! I. x5 }
  137. JSR COPYPPU
    ) n1 E0 `# X1 ?4 A
  138. PIRP2:
    4 W' {5 x  K3 @4 \( E1 b
  139. JSR CLEANA6 u& d" g  ?$ x' w6 o: C$ Y
  140. JMP PPUWRITE
    ) L6 o; T5 [9 L2 |: ?: \

  141. - V; y: V- y3 ~. @
  142. COPYPPU:$ b8 z/ V# y! l
  143. LDA $FE
    1 _3 x! T; p# ]( L
  144. STA $7F502 u% `0 @/ R# R2 ~9 Q
  145. LDA #$08
    ) M/ @* J/ l: {  Z8 r
  146. STA $FE1 v) f, H5 ^* R0 w' }7 a6 c. v
  147. L0:
    7 D: _& W- L2 l* B
  148. LDX #$006 C8 Q# L7 {8 R% n, R4 g& t
  149. COPY_07C0_07DF:
    9 L( g6 m* g, V
  150. LDA $07C0,X
    0 m5 r& f4 `4 @0 ^( }
  151. STA $7F00,X
    0 ]" E: u+ k: K# A5 n# E1 `/ h% [
  152. INX
    / Q, d$ Y1 f* b- N
  153. CPX #$402 \! \, p7 e) J
  154. BCC COPY_07C0_07DF
    % k+ O. Z2 \% p' x, l
  155. LDX #$008 ]2 B, e" ^$ D/ ~4 D8 O* y2 L2 O( ]+ p$ w
  156. PPU_07F4_07F7:( B) Q9 g" R) H1 m/ o
  157. LDA #$00
    6 U+ T; B1 y. K& [
  158. STA $07F4,X
    : A2 J! O' t  q  ~, l% o2 l
  159. INX2 e+ R7 |" w$ M) T$ P8 i$ v4 d& A
  160. CPX #$04! q, m  j* ?+ E' H
  161. BCC PPU_07F4_07F7' }" D8 U  L% n) T$ H9 H2 R
  162. LDX #$004 c3 g9 b- e  Z6 ~. D1 d5 ~6 F
  163. COLOR:- h; A  f# e( r1 m
  164. LDA COLOR_DATA,X
    % k' k1 ^# e5 C+ ?+ J* i# P
  165. STA $07C0,X) d) {/ S, b* n4 k
  166. INX
    * Z( M) I# j: H* T  p2 B% x
  167. CPX #$10
    4 S; U1 h1 P1 W, B9 ]
  168. BCC COLOR
    $ e6 U6 |, Y3 P" s( J+ B
  169. 3 Q7 q1 t1 d. a# V6 w- R/ V" D$ S
  170. PPU_COLOR:
    + R1 y* z6 s$ K+ ]
  171. LDA #$3F/ O! M6 ^  l: P# [3 W6 ^3 Z! T6 Q
  172. STA $2006* @2 F) N! V7 O6 J
  173. LDA #$00+ `% J/ W6 `6 h6 _: |# e% t
  174. STA $2006
    $ v" R( w9 ]6 x: m, z" W
  175. LDX #$007 i& X6 g3 {; y& U; G( `( f/ W
  176. PPU_COLOR_W:% ]" @8 A$ e, |$ `
  177. LDA COLOR_DATA,X3 l/ Y# m3 ^( t5 S. W
  178. STA $20076 G" n0 ^' ?; f8 N" p8 {% n  q
  179. INX
    ( ?' E5 F! D" p
  180. CPX #$10
    . s6 V/ E6 o$ A
  181. BCC PPU_COLOR_W6 W$ k6 F" U& x% l" M

  182. 6 ~: A2 J) ?" G% q9 d3 F8 ]' A2 \

  183. 0 M' K1 {% l% x& T" A. {% Q* e/ C
  184. LDX #$00; L! t3 H# `) Y$ z1 Q5 g0 m+ m
  185. LDY #$000 p3 ^5 t) n  Q' x! ]( k% W
  186. LDA $BD3 x: ]$ [+ d, ]- u+ h% s3 W# p7 l4 l: ~
  187. PHA
    $ r% {. A* w3 b! ]0 G9 a6 w1 a
  188. LDA $BC4 U5 l) f' T* m4 U: g! I9 Y, n; Q
  189. PHA
    ! i1 a( A% G: Y2 v7 H" I
  190. LDA $BB
    5 V* p2 h3 i$ I8 |4 @
  191. PHA6 l; L5 G* V( P2 E0 B1 s! u
  192. LDA $BA) A( V+ D/ w4 v" J8 q
  193. PHA) d# [4 `5 i# T3 p7 J& \4 C6 U7 K
  194. LDA $B9
    9 O, |) O4 }. q- m; e
  195. PHA
    % R- R7 v* w8 G. `7 g( Q
  196. LDA $B8( O  p4 N9 e, H# x
  197. PHA
    " W! `4 u8 G* |5 B5 a
  198. LDA #$006 R0 W% D4 a' C8 k" [
  199. STA $B88 @; a* }3 v1 h+ l9 \* L; P
  200. STA $B9
    # o4 |7 o& C9 w" U' s$ v5 ?
  201. STA $BA/ |, U& y8 R- a' m
  202. STA $BB
    0 D* c$ F$ i. M+ ]4 x/ E
  203. STA $BC
    : Z' h$ n; y. d6 W' e
  204. STA $BD0 x# j7 E6 N. _
  205. LDA #$00
    % H3 n) q3 ?  l
  206. STA $BA
    + B6 J9 W6 `& A9 V+ O. @
  207. LDA #$20/ N* v8 y5 O2 f' a. E' u
  208. STA $BB
    ) `* o7 Z, r& N' j" a/ Y$ Y1 [/ Q
  209. LDA #$00* B: K- J7 V9 H- E9 Z1 V/ ?
  210. STA $BC( b% W) @, J/ ^; L# ?
  211. LDA #$608 h0 o- O* Y: ?7 C1 Y( ]
  212. STA $BD$ I% j+ g: ^7 W% P1 n1 @2 ~; F

  213. ) K3 Z& y9 d6 u- X6 q8 m- z
  214. L1:                ; PPU复制
    9 p# H( c" m( e4 f
  215. LDA $BB
    ! V& |% C' [5 n. y
  216. CMP #$28
    . s) s5 i" [1 C2 \9 B& {
  217. BNE L2
    3 X8 M9 @2 \+ S. O* ~' t
  218. LDA $BA1 x2 w8 K8 o' Q$ y$ g! V- z3 D7 N9 L
  219. CMP #$00
      e# W+ Y& Q$ z5 u3 B4 \
  220. BEQ PROADPLA& Z& b8 a; M. h9 G3 S

  221. 3 O- o7 ^; G$ J4 l
  222. L2:! }& ^$ W! ^9 j2 I7 ?6 u
  223. LDA $BB3 ^( U. _: L8 R# ?- x
  224. STA $2006" Q# J: |: l! R( d8 D
  225. LDA $BA6 B) }) i; X1 J' e4 A: X3 h' w( U7 [
  226. STA $2006
    $ j2 k2 {7 ]4 Q% N% P
  227. ) L( N& \. r7 y- f9 {( [
  228. L3:
    9 k( h7 x6 \  V6 v/ C5 s/ L) o
  229. LDA $2007( T! U7 S7 @8 g7 W9 a" ?0 z
  230. LDA $2007
    , \) n3 q' [9 ?! n' a
  231. STA ($BC),Y
    ( m- i: u6 _& m) Z# |: ^& @9 r

  232. . b/ w  N: h' ^  O
  233. L4:7 w- d  v* V2 f2 G& _* D
  234. LDA #$00
    4 _! \3 i6 z+ W5 E
  235. STA $2000% q, ^' e+ I" @# L/ H& p
  236. INX
    , [% F% Z" T$ F* z
  237. INC $BA4 C' K  K! ?8 _7 Z2 u1 D
  238. INC $BC
    # N9 s+ \  y* l
  239. CPX #$00
    2 Z6 u' k3 K4 D
  240. BNE L1) j4 k; D7 W' P8 v! [
  241. INC $BB: S: T* S; Z$ i+ Q$ Q7 u
  242. INC $BD( D: H3 U; I: P6 b& M
  243. JMP L1
      y; T" B3 F- u+ ^$ F; o

  244. # O' o% g1 G, `) s& e
  245. PROADPLA:                ;出栈1 c/ D1 m: v) \7 Y) l0 H
  246. PLA1 g1 E5 e3 m& Q% d
  247. STA $B8
    , K- e; v1 c5 m/ I2 c
  248. PLA
    6 t$ g/ D) [- ~( J; F% s" D+ s) a
  249. STA $B9
      Y/ V- G7 @+ K
  250. PLA
    6 P8 \+ p1 Y; y5 q9 s4 V+ Y* O9 r
  251. STA $BA' v! e2 h4 L1 a0 A+ _  |/ m" c& @
  252. PLA( z% d9 x/ `% L
  253. STA $BB
    - @$ S# f) z. ~" w2 C1 I
  254. PLA
    & V: F" l2 x' O( R
  255. STA $BC/ v7 F, z% x4 o' `6 A1 l; V$ Z& j  w$ e3 a
  256. PLA
    ) z  L2 C  L( U/ ~7 d* `
  257. STA $BD( O: e  Y; r% A) N: }2 O
  258. CPRE:
    - F& q* E* \& \
  259. RTS
    ) B1 l& @! b: `; k7 V

  260. & c5 n# F, U- i4 d2 U+ R0 `
  261. CLEANA:                ; PPU清空
    + @8 T; C% R/ o# c5 V6 K. _
  262. LDA $BD/ y1 r6 L# \8 Y
  263. PHA# Z" v7 ?" t3 H1 r: F9 E5 J
  264. LDA $BC& z  \; l% B- e# P
  265. PHA
    & V* |$ T6 Q2 X: n
  266. LDA $BB$ ~2 R  j* e8 i; D/ S6 A: d1 A
  267. PHA
    % E. l7 l* o; v# G6 k) P; K
  268. LDA $BA
    % i0 f7 V9 y5 ?& C; b# p2 ~) X* U
  269. PHA3 [$ I- B  w- x1 n/ k7 w' p
  270. LDA $B9
    1 w1 C% E. J( Y
  271. PHA! K. O" D5 l; {, z
  272. LDA $B84 j$ j0 P3 {' `% ^1 C, x6 o& W
  273. PHA. }3 V6 `: P/ |3 o* \
  274. LDA #$00/ |, Y; m- r+ j# c
  275. STA $B8+ _: U; c5 @/ `2 x" x7 ^% g; N
  276. STA $B98 Q  {' A, F1 v, X+ ~2 M3 k
  277. STA $BA' s2 d" K: f9 T0 [, h" i
  278. STA $BB% {5 R5 P6 O" V6 H7 ?- ~+ R2 @* N
  279. STA $BC7 q  V' C6 F3 a3 Q7 E- N
  280. STA $BD( @& a- W, m/ M# O* S
  281. STA $2001& D$ t5 y8 P3 p# {4 z5 o6 \# V
  282. LDX #$00
    % F. e# G( j+ x& O/ z/ p# R
  283. LDY #$00! ?9 A6 ?9 z3 ?' ?" ^
  284. LDA #$00" \8 R; P, ]; Q1 l
  285. STA $BA) H+ t$ A" E( T7 T1 x
  286. LDA #$20
    7 F8 Y9 J0 V; \: p3 j
  287. STA $BB9 h* p# k& K3 k: F' |

  288. - p" J" x  s2 E, M
  289. CL1:3 [+ R' A! e, Y: \, L
  290. LDA $BB
    ! C- Z; M% H3 A, {5 |
  291. CMP #$28
    ) _0 ]3 K' v5 z% Q
  292. BNE CL2
    , ?2 l. f& _4 ?, t4 ]
  293. LDA $BA
    ' x0 h2 Q1 U, A: D  z3 q
  294. CMP #$00
    ' h& B) U* B6 R; m; }
  295. BEQ FREEWRIYE# L, L9 k( P5 j1 b7 {+ e

  296. 9 N  T  `4 B* P7 Z! u
  297. CL2:* B3 Z( p' V, I* Q
  298. LDA $BB2 l, a7 J8 [+ f3 u+ J+ w! N& q
  299. STA $2006
    + o( [1 V7 N& r1 @
  300. LDA $BA
    8 G& T6 S! r7 V0 H7 E
  301. STA $2006
    ! l$ B2 d3 j, V8 y% z$ ]
  302.   m5 R# N3 c4 g/ l. h8 w. x" y
  303. CL3:
    8 U- ^" g- `& _' V+ T7 f
  304. LDA #$003 D8 U3 W* z4 F1 o3 q
  305. STA $20076 S3 O0 m* C1 ]! c. E3 g0 Y, p5 q
  306. 6 I4 y/ H: r/ Y: q: W/ H/ {
  307. CL4:
    ( n0 i1 p' F+ H
  308. LDA #$00% p  E: a/ c8 S- H
  309. STA $2000* O+ @5 u/ B* \2 ~. c! i) ^5 `
  310. INX* C% R/ j6 k, M$ i# Q) E
  311. INC $BA; O! M. Z$ k/ ~% Z5 c
  312. CPX #$00
    0 u3 ^1 y+ A& g1 Q- s9 k5 M; P% K
  313. BNE CL1/ r6 W: @( f1 ?; q9 z7 P( y* @' Y
  314. INC $BB
    8 `" ]' l2 A+ s6 @, D( v0 S: J
  315. JMP CL1
    / Y5 P$ T  I4 [$ B( T1 ]* j

  316. / J" }6 [' C/ H, O& A- i
  317. ! [, }( \5 l# v" ^% o( Y
  318. FREEWRIYE:
    : F5 t7 Q" M: D) y% P& j

  319. 8 H/ D1 A5 v4 `  T& M( ?* R
  320. NOP0 }, n* n) h5 ?+ g5 [$ D

  321. ' q: z' t$ e$ ^- s" V8 u

  322. * j  Y& G- D5 N* C  A- ]

  323. * b* C2 N- T# O# z& c) c4 A; G% C
  324. + @6 h; P, q/ m

  325. 8 J; c; j  Z8 m& D
  326. CLEANF:                ; 恢复现场
    * b- _8 J+ U0 P) m& g: a7 K- m$ E
  327. ) T! K6 K  T# z8 }: q$ U& N
  328. PLA
    . b) C) A: J1 O4 y) p, F5 T8 Z
  329. STA $B8$ t$ T2 R0 _! l
  330. PLA
    ' l+ H: J0 a; Q9 E9 W
  331. STA $B9
    4 u  O; [5 T& O- K# W8 E+ V
  332. PLA
    : D8 l) L, r: n. A+ @
  333. STA $BA
    ! y1 n( h4 g% v# \# ?+ Z; a
  334. PLA
    / c' t2 ^9 p4 `7 g. E5 c
  335. STA $BB
    ' |4 l7 C+ w" ^- ~
  336. PLA
    - j$ T4 V  \$ a
  337. STA $BC  U4 g1 P0 y/ V' O8 |" J
  338. PLA
    ; Y% q& @" w: y- h2 m* Z
  339. STA $BD
    - Z1 y: L2 t( \& g
  340. CLRF:
    6 v* h9 S& _: J7 K
  341. JSR FREE_PPU
    5 t8 v2 q8 C; \$ T1 i% F
  342. RTS
    3 @  N, ]. r$ G/ `* G% n
  343. 0 H) ?9 O! j  O  k2 S

  344. 0 J' H: R4 K) Q: Z
  345. PPUWRITE:    ;PPU写回
    3 U# i# K7 c8 u- Q( P& {
  346. PLA
    " h$ t" z6 r4 Q5 p( q
  347. TAY1 V, e# z: ?. f9 ~
  348. PLA
      [* ?1 W6 R" h& r# @( |
  349. TAX4 X: s1 N5 }* ~2 o
  350. PLA
    6 F: Z" F' _; U, X+ X: n
  351. LDA $25! e- F6 b8 ?6 l% ]0 ^" X
  352. CMP #$00
    5 U% `! M% H! l' t
  353. BEQ WP1
    4 {, J: k9 Y+ {* i1 O" c
  354. LDA $259 s& `6 e! G. W8 u& K
  355. CMP #$01
    ' ?% y5 D$ k+ e, ?7 y5 R8 f
  356. BNE WRE
    1 e( @% o4 `: X1 Q
  357. LDA $F5,X3 F  ^, P% S9 p( d0 O0 A+ h* ^0 J
  358. AND #$EF' V; n7 G5 @1 X
  359. BEQ WRE5 u  A4 H+ L( ^: |" v! W9 ?
  360. LDA #$003 x: N5 l: S& e/ Z# V/ R
  361. STA $7FA07 G" z) F' f6 _; i+ m& \! J

  362. . q4 U! V( ^3 a+ ^+ L; x
  363. WRE:/ V4 f! Y& B1 G: r  d4 [* y
  364. RTS
    ! Z( u9 `' L3 w1 Q" ?

  365. , ~; {, M, {4 j0 c
  366. WP1:
    1 C" }% I9 E- Y
  367. LDA $7FFF
    ! h. W/ W7 O/ d; J- J& M
  368. CMP #$FF: v! ]: d. ]1 D/ d6 x8 y8 u5 U% w
  369. BNE WRE
    7 Y. f4 f4 r8 n" U
  370. LDA #$00; E0 P* A. p# Z
  371. STA $2001
    ; a0 h% b2 g0 }, t( k
  372. LDA $BD* f; B; q9 I- O2 g9 X* u8 {8 g: d
  373. PHA
    2 d( B* x1 s' C7 r! k! p0 f) m
  374. LDA $BC) v. w% f: V8 G2 |# t& }
  375. PHA
    6 A  C7 |% [- ~' ]; S/ M# b9 U
  376. LDA $BB  |' }# L; v( c, n9 q% j
  377. PHA5 S( X( L3 r" N. x& o
  378. LDA $BA
    7 o% g! P3 n% k/ T8 j3 i) A
  379. PHA
    ! p& ], N3 V2 w  D  V
  380. LDA $B93 |5 w! I* [; y! r
  381. PHA1 a! ?6 w$ h* t6 s6 d8 Z+ ~. Q
  382. LDA $B8# L! J$ p  Z- _8 ]% k5 J0 c- c
  383. PHA
    % f0 a: h: _( {7 d3 ]
  384. LDA #$00: g: g: P, I2 N9 h4 ~1 f
  385. STA $B8
    # V, s; B, N2 m" m) [1 c1 X
  386. STA $B9
    : d( ]+ X  x7 F. T4 d
  387. STA $BA* C. s- N7 C4 Y! s) v" @
  388. STA $BB
    2 }+ x, K3 u" Z% i0 O
  389. STA $BC
    0 F7 O5 F6 d- w# r1 v
  390. STA $BD3 m% n4 W- B5 B% r5 V. i! o
  391. LDA #$009 t. Z$ H! J) T9 ]3 R0 Z
  392. STA $7FFF
    : Z6 _1 X2 ?3 r; @3 }$ I" K# ]3 p
  393. 6 x' ?1 l: _, m9 \
  394. WL0:) D1 i4 Q7 p. I  g
  395. LDX #$006 l: w; e- B+ v* G8 r/ G7 c7 v
  396. LDY #$00% M' s6 M0 u: W2 E( p
  397. LDA #$00, [" m/ ?1 V( t# z9 H$ K
  398. STA $BA
    ) R5 l2 v- v6 `9 o3 Q6 ?# l+ {& ]
  399. LDA #$20
    , S. h# m- K& I; G0 o: v
  400. STA $BB
    ) w* h3 a' C$ y5 ?6 f' i
  401. LDA #$00
    + n" v9 n1 r0 ~; a& x: j" [1 w
  402. STA $BC
    ) y( ]& b! f5 G1 ?  e- d
  403. LDA #$60
    " C3 {: ^  P7 H6 o  o% S) G1 K
  404. STA $BD
    ( }- v# G9 w6 s: a& u' @

  405. 6 k% X3 {* A' ?' t% r& d) R4 ]( T
  406. WL1:
    , r% t7 F# c; [2 L( b
  407. LDA $BD
    ! X8 o+ p3 v: q
  408. CMP #$68- P8 }# t( u# Z7 N8 G7 }9 L
  409. BNE WL2( D4 G/ b* T, O$ Y
  410. LDA $BC
    3 L3 T' A  t3 {- d/ @0 L
  411. CMP #$00
    4 `, _, b' P* Y9 p1 F
  412. BEQ WLR" w; o  h# F' t  J, f% v
  413. 2 ?9 L) r* a! O9 x$ d/ ~/ l
  414. WL2:6 k8 H+ E% W) X; U# T8 X0 z! v
  415. LDA $BD$ Y1 G; s) [6 M5 E
  416. STA $2006
    , c' p4 U, m) F' {
  417. LDA $BC
    - T1 l) o1 P3 G$ z. Z" v" T2 P
  418. STA $2006
    8 b( {( }) m3 @' i$ b( Q4 Y2 e
  419. # l- c$ p* q8 p/ o1 j
  420. WL3:
    ! g$ o6 Y8 Y. G0 v
  421. LDA ($BC),Y
    , e- M6 u$ D1 I2 \; Q
  422. STA $2007
      F$ k4 r$ L7 @1 @* Q

  423. - r: [0 E- k. _
  424. WL4:) y# B: ]. }$ O' y: i
  425. LDA #$00) @! V5 `' L7 b+ i7 k0 W* v; H- N. X
  426. STA $2000! b. S) N& t" K( X9 E
  427. INX  q& k/ \( s, M% P
  428. INC $BA
    4 l, W! P* F9 {
  429. INC $BC6 H, n0 \/ f" N  H( [* [/ U
  430. CPX #$00- I. b$ a6 X; [8 a' g0 {0 N5 q
  431. BNE WL1
      m& L2 \9 d, J, @7 H2 D4 W$ S
  432. INC $BB. Q9 l! {* f& _8 _0 u  ?$ n
  433. INC $BD  Q: M# u" p9 B2 ^2 u1 e! G% S) v! E* e
  434. JMP WL1
    1 x, `) l4 M, a& @7 c6 b# ^) z

  435. ) u: s& B' w1 i5 h7 A. p- t
  436. WLR:
    . V; C. H% X) }, ?9 P6 A% e
  437. LDX #$00) }2 k- V5 n) W5 r+ |! A
  438. COPY_7F00_7F3F:
    / i: H# X/ q" h7 Q
  439. LDA $7F00,X$ v9 b( \: F7 g1 F( v( ?7 c
  440. STA $07C0,X  W7 X# D- i$ _
  441. INX" e' D2 z9 q* `! h' J$ g9 i
  442. CPX #$40# C" U  {/ Z+ F$ }- z" l  x
  443. BCC COPY_7F00_7F3F
    * `6 Z0 N+ ~) V# ~: n

  444. 2 b0 S  V7 b# R- G$ w
  445. LDX #$00
    ! ^5 {6 N# S/ j5 E2 Q4 S4 L& f
  446. LDA #$3F
    ) y4 o8 l4 F9 D$ n, A5 _! _
  447. STA $2006, B% e8 `& F! @1 v5 l4 z3 v
  448. LDA #$00
    7 @' e/ }/ @# n9 v  w, w# W
  449. STA $2006% O) q  X. _# V
  450. COPY_7F00_7F10:1 @- v) ]  g7 M  @3 d  W+ l/ w
  451. LDA $7C0,X
    + h8 i6 a& G6 p% N2 r
  452. STA $2007$ G9 z9 [; U/ o+ l6 w1 T) d
  453. INX9 l& v( p: C/ q: S, w! @( Q
  454. CPX #$105 L" n* i$ N% k
  455. BCC COPY_7F00_7F10
    3 V' ?0 y6 D: k4 G. \0 m% a
  456. 4 d& L$ `# D# m% U0 f
  457. LDA $2002) |, g1 @. j  V9 S) {- j- C) U* `
  458. LDA $FD
    ) P. [6 x! o4 ]$ m
  459. STA $2005( {' m; T: |2 k: Q5 S2 B% N
  460. LDA $FC
    * g2 V$ z( r6 d( L9 i, Y
  461. STA $2005
    & h0 A4 {7 x! f0 _

  462. $ B1 J* {& p2 q' R, E; ^5 ?+ |0 r; n) K
  463. LDA $7F50
    4 m: B+ `: y7 E
  464. STA $FE
    # n! B% ]. f5 `( f3 f
  465. LDA #$00
    : |* o: d5 ~0 [7 d
  466. STA $2000' p- ]9 M! W8 `- U9 z( t0 a% m1 n4 W7 h
  467. PLA
    0 u- b7 T: ^. z+ F! \0 K% ^
  468. STA $B84 \* `/ q) c6 L$ C
  469. PLA% ?, ~1 _2 C& b$ h1 ~; F
  470. STA $B9
    0 I0 {3 U' s/ c8 [) k
  471. PLA5 p9 D" p# z7 u% h4 T
  472. STA $BA
    - H" e: b: V  M0 C6 Z  Y% W
  473. PLA# B% f# h4 y) J' T+ e" h/ W! q
  474. STA $BB
    ! |7 S# J5 B2 s( q/ |% G) j
  475. PLA4 M* h( N4 `9 \0 b! m
  476. STA $BC- `# j+ p: g2 |/ Z0 s
  477. PLA( u& v2 i2 L5 D8 K( I2 |
  478. STA $BD
    9 l. r5 M. `& F; l

  479. ) D7 a1 n. L, Q
  480. RTS
    , x9 p3 s; e/ D0 R/ e/ K

  481. 5 n) k; D6 c% f' M6 C1 n) W- L
  482. PPU_CMP:$ W: e$ h( g4 Z+ o, _" f
  483. 6 ^8 U  b1 l. m: x3 h

  484. ; E, {& ]; @  v! G& ]! L+ R
  485. PPURE:
    ; H  F+ P) a/ T! j
  486. RTS* X8 y5 r" k4 b  c

  487. 6 ~' U) G2 d  o3 D/ Y& M* i& @
  488. " q- n; F2 e" [5 d) E0 Q4 K, Q
  489. FREE_PPU:
    8 k, i3 r& U3 `% h

  490. % X9 h$ g8 r6 M% g
  491. JSR TEXT01_PPU
      ^  L, |5 U8 d- z
  492. JSR $CBC0
    6 v9 j/ F: G/ ~
  493. JSR P1_PPU
    8 l* ]% @1 x" `* C
  494. JSR P2_PPU
    ) O* u: f% d( U- S2 t+ e& Y% l
  495. RTS( e# ^: I, `6 \, M

  496. # w( t; h; G* U4 P' z# z6 ]
  497. TEXT01_ADDR:/ x' c5 }1 g6 I) V" N
  498. .BYTE $20,$42
    ' m4 E- v9 I3 R' {0 P; @
  499. TEXT01_DATA:
    & u# `1 P+ |2 {0 h' Q: y. q) T: 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
    & Z( @  |" {5 q' a9 m; q# t
  501. TEXT01_PPU& @% q2 B; l+ v. T1 g9 U0 I+ z+ q
  502. LDX #$00
    9 N+ b% Q$ k/ j9 O$ L5 @8 f8 Q
  503. LDA TEXT01_ADDR2 {, h/ J: L9 C. ?+ G* B; J
  504. STA $07037 A" y9 e0 B1 Z) f
  505. INX+ B9 k7 D% M5 g9 s/ m0 ?
  506. LDA TEXT01_ADDR,X
    5 S5 l+ a8 _9 |+ q, v
  507. STA $0704
    ( T7 v1 z' `( B( B
  508. JSR PPU_PROCESS
    ; |9 H6 E$ u  Y# N. A% T: E
  509. TEXT01_W:
    : m' H8 `% M5 |8 u
  510. LDA TEXT01_DATA,X
    1 B6 K2 N# Y: f: q1 Q9 R/ A
  511. CMP #CEND, C7 e* x+ O2 h; }  V: v$ h9 D
  512. BEQ TEXT01_START
    3 d/ G& i1 B( Z% M% Z3 ^0 }
  513. STA $0705,X9 m4 _& L* m2 |
  514. INX
    $ r* C7 f* ^5 A9 K
  515. LDA #$00
    . b: \. ?/ i( {0 i7 ]
  516. BEQ TEXT01_W/ i& [0 C0 r; D' `
  517. TEXT01_START:
    # I' O. n: i5 a* X
  518. JSR PPU_START
    0 E' t6 G+ \9 [" @8 n
  519. RTS" Y5 _4 z' u, _7 d

  520. : [0 k0 ?3 V# y' a) @; Q; i9 V
  521. 5 V6 Y# e' A. F  V# U" Y7 z
  522. COLOR_DATA:
    5 ~. g/ f4 a! O1 h7 R4 Q. e1 B$ G
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ( G3 B6 S2 k# `3 z1 h1 `
  524. - k; Q/ U  ^% v( G
  525. P1_PPU:
    9 C5 z$ Q! I1 B, {! W& @  \
  526. JSR PLAYER_01_PPU
    6 I' q0 M( C' h
  527. JSR $CBC0
    - f6 `. r7 s$ T7 y( n3 J
  528. JSR RELIFE_P1_PPU
    + J+ x% R1 T# M4 g2 f+ A& P, i# J
  529. JSR $CBC0+ O2 Z% o7 ~! V0 y, G+ o$ g' l
  530. JSR RELIFE_NUMBER_P1_PPU
      k0 P% Z7 [3 i0 M! i
  531. JSR $CBC0( _3 P% w' `0 f6 E
  532. JSR WEAPON_P1_PPU0 X2 p+ H) Z/ I: p4 ~  \
  533. JSR $CBC0
    7 X/ r7 v7 W( ^4 y
  534. JSR BULLETPPU_P1_PPU
    # J9 S3 n0 {5 f2 a0 r2 D: Y
  535. JSR $CBC0
    ! O6 x1 q( d. S% U+ L9 r
  536. RTS8 F: T$ _& }, G- ]# `, n/ L4 y
  537. 3 T8 d( f1 `$ [' c! H5 K/ ~
  538. P2_PPU:! E  z- h/ ^2 j* D
  539. JSR PLAYER_02_PPU+ Q7 Z8 d% v7 B1 ~
  540. JSR $CBC0
      l  ~; e3 h! b& F
  541. JSR RELIFE_P2_PPU+ x& H; t& I/ v; a+ Z
  542. JSR $CBC0" o: {1 X# B. T* o3 x" o  a
  543. JSR RELIFE_NUMBER_P2_PPU
    " f3 g6 \# s0 y- ^! {2 J
  544. JSR $CBC0
    * }9 r( {0 W; u. I$ s
  545. JSR WEAPON_P2_PPU. O. q" |' q! r
  546. JSR $CBC0+ ~. c! J/ w2 w7 u$ M8 n2 S* y7 @
  547. JSR BULLETPPU_P2_PPU
    ' ^6 v$ A' [' G- x' k
  548. JSR $CBC0
    2 r; b4 a; F5 h6 R
  549. RTS5 m- f9 C9 ?0 |

  550. 2 P/ U1 Q3 g* R
  551. 8 H( U4 m6 S: @% U2 S- I0 A

  552. 0 \$ n' ]0 D$ p2 n( N" W
  553. PLAYER_01_ADDR:
    ) y* i1 u6 d  \) d& d. L8 t: E
  554. .BYTE $20,$A3
    " |# }6 ?7 h/ h( y2 y
  555. PLAYER_01_DATA:2 s  h: P# u/ K5 H" ?8 I% T
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND/ B* M3 z7 r2 |$ [. T3 W
  557. PLAYER_01_PPU:
    1 }; ?8 g8 V5 E% v% a
  558. LDX #$009 C# S+ t$ W8 J) f
  559. LDA PLAYER_01_ADDR5 q  n* B+ q6 A1 @# v
  560. STA $0703# v0 ]" d  R# \1 m
  561. INX
    + Y. j) A8 e3 b$ @# B
  562. LDA PLAYER_01_ADDR,X
    / g' I2 c4 c) l& J1 p  ?
  563. STA $0704
    # z6 n0 p; v, s
  564. JSR PPU_PROCESS7 w+ {# k" s1 k, A1 P% G6 i: Q
  565. PLAYER_01_W:5 u. Y, j4 w) s7 G% f$ k7 O
  566. LDA PLAYER_01_DATA,X
    5 a1 S  ~  }* S  @6 e
  567. CMP #CEND
    9 o  _9 l6 P4 p8 p- a* B* C! Z
  568. BEQ PLAYER_01_START% e/ m) C4 E/ X7 H8 F
  569. STA $0705,X- I) A4 s: k# A. R9 a( `
  570. INX6 m7 n' X# L, A
  571. LDA #$004 q$ g4 l  D0 `* k
  572. BEQ PLAYER_01_W0 Q% N* D- o0 G. H. l, M
  573. PLAYER_01_START:
    . }. C$ _6 T( v" j9 b
  574. JSR PPU_START' F% p9 |$ f0 J# u* f4 _. x
  575. RTS3 n+ m, A4 ~8 i; N6 K
  576. , M" _4 S& D! ?( \4 R
  577. 5 p( Z' {' H% C$ N. w
  578. RELIFE_P1_ADDR:
    / c* J; e/ R+ k! g- P  h
  579. .BYTE $20,$E3
    : M7 e, S* v7 ^5 J5 p
  580. RELIFE_P1_DATA:* ~" v5 \! `: z# N8 d* o& S8 @* M
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND  |: W; P  V# A. a& [( x
  582. RELIFE_P1_PPU:
    3 [  E4 J0 x# v, Z
  583. LDX #$00
    ! T( t3 y% o, E' K! c- Q: q1 p
  584. LDA RELIFE_P1_ADDR
    % a) H# s' `, e
  585. STA $0703# p' C9 k3 D* y/ A- G/ y
  586. INX
    , R5 W/ E) f0 H/ [* F& m
  587. LDA RELIFE_P1_ADDR,X4 M4 w1 ]7 w) n; c2 o
  588. STA $0704
    9 J# }4 B8 i1 V2 U" A
  589. JSR PPU_PROCESS
    # B4 M. ?+ Y& r! z" `9 I
  590. RELIFE_P1_W:
    # s( G7 b4 h9 a# D) H
  591. LDA RELIFE_P1_DATA,X
    & C$ r8 F. O7 y* I
  592. CMP #CEND9 h' ?' n- e9 `7 G# m4 v% L
  593. BEQ RELIFE_P1_START
    - d4 w  u5 U6 T4 |2 X, Q
  594. STA $0705,X
    ! G2 k* y' m! t8 I" D' i4 h8 W
  595. INX
    $ s1 h$ O' u& r4 K0 Z$ F  }2 @
  596. LDA #$00
    ) V9 u# _. {# f0 ~/ e. N
  597. BEQ RELIFE_P1_W
      n+ I, a! k5 `2 J- q! _/ y
  598. RELIFE_P1_START:8 W" r9 V' q) {" u
  599. JSR PPU_START
    ( ?, M* o" ?: X. l/ D* q0 c1 j, ?. V
  600. RTS0 A* M5 @' Z6 P- M) J2 s: J" N, e
  601. + ~6 Y- E; k' r* u; L2 T% Z$ c
  602. . @: Q" a5 O1 V: }# O7 M# ^. Y
  603. RELIFE_NUMBER_P1_ADDR:: n& j+ s, M6 D/ v8 U
  604. .BYTE $20,$EA5 V% O6 c% v4 y9 \8 a6 ?5 n. K5 l# l
  605. RELIFE_NUMBER_P1_PPU:
    . d) ]9 K4 V* U0 E& D, T/ w& S8 U
  606. LDX #$007 a" V6 {" N' L! U. S
  607. LDA RELIFE_NUMBER_P1_ADDR
    9 C9 C, `: o% t6 X) M
  608. STA $0703! A1 O7 q7 w( p- f  x
  609. INX
    0 u8 R' m5 ?1 K) X1 ?' k! v( Q
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    : P6 R; N9 n) s3 N3 j, a- K- Q
  611. STA $0704. G; @$ q' `. Y. F. K+ x( v) P
  612. JSR PPU_PROCESS4 ]. _) i. t/ Y
  613. LDA $32
    . e3 x7 V8 y; @4 U' R
  614. JSR LIFETODEC) \1 J2 Y4 p& S
  615. RELIFE_NUMBER_P1_W:! G/ `( f1 a2 o5 R% o0 E& b
  616. LDA $7A03
    3 F9 d  B- K% B& y9 `
  617. STA $07055 z) d1 \" k/ w8 r/ s7 H) z
  618. INC $0705
    1 ]: o* Z, X, x* f8 C7 e6 f
  619. LDA $7A047 @- d/ d$ C# C+ Y4 d- ~
  620. STA $0706
    , m0 C3 m& e; j5 F
  621. INC $07067 y% B8 l7 U: l8 T  o6 R# s
  622. LDA $7A05: O2 a1 A4 I; x* ~7 O
  623. STA $0707
    + C. O' N& o$ |7 K4 Z  {
  624. INC $0707& Z* q, X' H# G0 ~3 y
  625. LDX #$03
    " G1 H$ o1 g( I/ v0 \5 ~
  626. RELIFE_NUMBER_P1_START:
    2 V, B' G7 u. e) g7 |* w. c
  627. JSR PPU_START5 S1 F4 l. n* l4 R
  628. RTS
    ' Y5 p" V; p! |6 s  g) l

  629. . N$ A! }* A& E2 C8 y. Z5 ?
  630. WEAPON_P1_ADDR:+ f1 W( N1 Z/ X5 z6 B( v
  631. .BYTE $21,$231 l$ Q# {. V6 y5 A3 t
  632. WEAPON_P1_DATA:, K; @" {3 N1 r* Y
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND+ h3 x$ O0 z* ]
  634. WEAPON_P1_PPU:+ R( u; `: [! H( v
  635. LDX #$00
    # N4 n$ H& M/ E; T
  636. LDA WEAPON_P1_ADDR
    , q/ W7 q* s7 Q) P2 X* D0 z6 F
  637. STA $0703  }. n9 j9 E* n" R) V6 k
  638. INX
    4 B  N, |3 i" }
  639. LDA WEAPON_P1_ADDR,X. g+ f4 {# b7 p6 R5 M$ V
  640. STA $0704
    - ~. G9 A. v) c
  641. JSR PPU_PROCESS
    & ^: v2 Z5 _- A+ o1 E- p- k
  642. WEAPON_P1_W:7 j* ]- W1 y7 g: Y3 {" t* i! O% Q* }; |7 D; [
  643. LDA WEAPON_P1_DATA,X: N5 Y. n& w+ h% d' g# m* X0 B" T
  644. CMP #CEND
    9 K5 ~2 Y0 b9 w3 m) M5 f
  645. BEQ WEAPON_P1_START
    ( e8 W; z" u- Q+ x# Y+ \
  646. STA $0705,X
    + @5 h. ^# o+ F7 e1 Q( l8 {% @) H, K
  647. INX8 C6 @4 C1 Y$ R5 n7 _
  648. LDA #$00
    % D1 }8 M6 h  O  E+ e# m
  649. BEQ WEAPON_P1_W3 d9 c  E2 I# e5 q- h9 G
  650. WEAPON_P1_START:
    ( z0 e7 ~7 D; J- P
  651. JSR PPU_START
    ! @8 I5 |6 `4 p( l+ q( t8 b
  652. RTS
    3 {+ {& Q$ p2 f5 w

  653. 9 D* Y) }, Q- t
  654. BULLET_P1_ADDR:7 m  Q. s" @1 W( J5 ]+ R, {
  655. .BYTE $21,$2A3 J( ^/ L2 O: w8 \# c$ f& A( U
  656. BULLET_P1_DATA:
    * N8 o- F1 e& T! x9 G; e
  657. .BYTE $00,$01,$02,$03,$046 j- I( q- F  I3 u/ F' L- Z# x
  658. BULLET_P1_NAME:5 N  o, j( j6 N9 r" h  R
  659. .BYTE CN,CM,CF,CS,CL/ P: S  C. V& u/ m
  660. % b5 n- W/ v# m. P5 k
  661. BULLETPPU_P1_PPU:2 U6 O* h" g5 s+ Y/ x( c
  662. LDX #$00
    8 B- L7 I6 d5 M9 [
  663. LDA BULLET_P1_ADDR
    4 I5 w' B$ p% ]1 X1 O
  664. STA $0703. {1 A8 o4 y, K; ]. q$ e) L5 d( G
  665. INX
    9 R( |$ d% e  [6 o( b
  666. LDA BULLET_P1_ADDR,X
    9 p/ }, j" \9 P9 ~+ o
  667. STA $0704
    : o) l- d' B3 J0 V" u5 y
  668. JSR PPU_PROCESS6 m( X/ O0 a( T5 }5 @8 Y0 s
  669. BULLET_P1_WRITE:3 F% m( L, N3 x5 V5 l1 _
  670. LDX #$009 A. c& a2 F9 [8 L7 A2 n
  671. LDA $AA
      s- Q7 j3 F* c3 v7 v+ |
  672. AND #$10
    9 n: Q8 n$ d% _; s3 [+ Z; s
  673. BEQ C_BULLET_P14 q; a8 z8 n, a( x4 @/ K
  674. LDA #CS& @8 i+ g% c+ i$ I, F$ ]9 D
  675. STA $0705
    4 X5 l. y, ~5 ^0 Q8 k
  676. BNE B_NAME_P1
    ; f% a3 M+ Z$ U
  677. C_BULLET_P1:
    % o2 l# O. Q: w; b
  678. LDA #CC
    , `" w9 _) W" h5 I6 W
  679. STA $0705* p6 z9 b0 p2 A8 u, x9 |( \1 G/ [
  680. B_NAME_P1:3 r$ N; a$ w0 \" T$ k8 W
  681. LDA $AA1 ~" n0 X; Q. g# I  [4 ?: ~, O
  682. AND #$0F: V1 @4 \1 W% G) o
  683. CMP BULLET_P1_DATA,X* y1 R4 B8 S7 p1 R) T
  684. BNE B_NAME_P1_RECMP# t! x5 L+ {$ g1 |0 `9 c
  685. LDA BULLET_P1_NAME,X( m5 w# l; F" f6 g& Q" h
  686. STA $0706
    7 D3 X' D, F4 A8 W: r/ t/ B
  687. B_NAME_P1_RECMP% C5 S4 i0 o; W$ V, D4 G$ z
  688. INX% [& g4 }; \+ G2 [3 x# Q1 q
  689. CPX #$05
    - k5 p  M9 f* B: k+ o6 }  E
  690. BCC B_NAME_P1
      t( ?! e+ N; Q- [+ S" L
  691. LDX #$023 I4 n2 G1 C  H1 E: F% I
  692. JSR PPU_START
    & h8 T% z5 O; U
  693. RTS
    & k, z6 F8 h5 x% P% b% N' |
  694. . M2 h0 B7 M% h/ d4 |3 ^

  695. " s+ c# K2 n5 T4 X1 Z1 m
  696. PLAYER_02_ADDR:) v3 w. l. V: i) T# V
  697. .BYTE $20,$B3
    " ]& x( H- Q) D$ V* `  ^
  698. PLAYER_02_DATA:0 f  u8 J/ \* c. X
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
      [3 W% N2 q5 N! t3 s6 O5 y5 @
  700. PLAYER_02_PPU:6 @- z# `! i  K7 P& n
  701. LDX #$003 N. C( }0 M9 y( s8 s& p
  702. LDA PLAYER_02_ADDR* \+ Y  f6 Q( k# G( N
  703. STA $0703" n+ N: y2 ~5 i! k! W7 K
  704. INX; t+ q+ P" K1 S6 m6 W
  705. LDA PLAYER_02_ADDR,X
    " y, D- D1 ^# u3 k# F' d2 `
  706. STA $0704
    * g' t9 x! e1 P! b
  707. JSR PPU_PROCESS
    , |* S0 y5 U! D& [% |7 l! V" u* E
  708. PLAYER_02_W:( x: l. g' \! `6 |* I
  709. LDA PLAYER_02_DATA,X  Q  E+ H9 J; Y  `% e
  710. CMP #CEND9 z7 y5 S: E9 I' k. q: ~+ g
  711. BEQ PLAYER_02_START
    ; I+ p" x, U  J: k; G/ F7 |% d; G
  712. STA $0705,X
    5 _) c) |# v3 }; X8 b
  713. INX9 g% |8 |+ B: l, w" W' ]6 H2 |+ i) Q; L
  714. LDA #$00$ ^/ t; U2 h7 ?- T# [* a+ h
  715. BEQ PLAYER_02_W' `" q4 }. r! O' |# F
  716. PLAYER_02_START:7 o3 Z( g# B- M( ^% d# F9 C7 M
  717. JSR PPU_START
    0 v: T7 n0 B( ~1 G! d
  718. RTS5 W7 ~0 H- W% P

  719. ' H& v& c! g  N1 @2 d

  720. ! t0 T0 D. `0 |) B2 X4 }2 P! Q' {# {
  721. RELIFE_P2_ADDR:& _1 n3 i9 d0 y; H% L, c2 ?, y5 D
  722. .BYTE $20,$F38 l8 {6 q2 p" K4 ?( B
  723. RELIFE_P2_DATA:
    ) Y- b4 r/ k& ~' W# u0 r
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ) D; P" N! f. `6 I& h6 E; E  B
  725. RELIFE_P2_PPU:; s* x1 Y' F& P. Y
  726. LDX #$005 @  X+ ^. u( d0 o5 l
  727. LDA RELIFE_P2_ADDR/ i, M$ z  |4 r! E5 C
  728. STA $0703
    * Q0 B0 @% r2 |, W
  729. INX. }( D& G+ ~# M; Z! \
  730. LDA RELIFE_P2_ADDR,X
    " U. e8 J' Z8 O: r9 q' q; i9 Q2 d9 T
  731. STA $0704+ ~0 d" P$ l- J3 r
  732. JSR PPU_PROCESS
    3 j( f4 x3 J0 t3 M! P1 {
  733. RELIFE_P2_W:
    + B% ]9 E9 w" F& g5 b# C  D
  734. LDA RELIFE_P2_DATA,X7 @  ^0 K0 H, g# j( v
  735. CMP #CEND
    3 s) _; V% @( V/ T
  736. BEQ RELIFE_P2_START9 s- ^5 E( v: S8 T
  737. STA $0705,X3 ~5 d* f, d9 b) }
  738. INX: S; y9 q9 @- C* H
  739. LDA #$00
    0 r/ I2 M; P1 i" O
  740. BEQ RELIFE_P2_W$ }) E& Z$ R- A' G3 _+ \
  741. RELIFE_P2_START:
    0 I; {8 W2 m7 B; y1 G
  742. JSR PPU_START
    5 f3 {" p6 ^8 R4 n/ T7 `
  743. RTS  I; d; A1 ]: n* I) E

  744. + ~7 B4 X& k- I9 J
  745. 3 G. u* N$ J/ I" C/ |! G" V
  746. RELIFE_NUMBER_P2_ADDR:7 p7 g% w/ _0 t+ h0 t. R% r  {/ c
  747. .BYTE $20,$FA$ _4 j. v" e" A' |& X1 p
  748. RELIFE_NUMBER_P2_PPU:
    1 f  _! ~$ K% i
  749. LDX #$00
    ' H0 d6 Y7 i/ L' [3 s
  750. LDA RELIFE_NUMBER_P2_ADDR
    ; d; W! B6 v) i  E
  751. STA $07031 t2 e' A, B) ^, [
  752. INX; `' L5 l4 m& _% a" |/ B+ T/ C+ S  k
  753. LDA RELIFE_NUMBER_P2_ADDR,X
      I1 t+ K/ I2 g0 p* C* P
  754. STA $0704
    # ^5 V5 s: d, m
  755. JSR PPU_PROCESS# c! b4 Z2 S7 }7 N) N# R
  756. LDA $33
    " c' A' A9 a8 ~7 M' B$ V/ |) V
  757. JSR LIFETODEC
    : B9 H0 E% r, v$ q  ]
  758. RELIFE_NUMBER_P2_W:7 D/ s3 `' }) _! j% q* m1 ?
  759. LDA $7A03
    $ p8 k) Z5 I% {
  760. STA $0705: S, W! N3 K+ ?, z8 l! E
  761. INC $0705
    7 h" u4 J0 m4 M; T) w
  762. LDA $7A047 e6 ?9 n' V% Z& @5 g/ A
  763. STA $0706( }) h! R, Q( F
  764. INC $0706
    % h" a* g4 a. c1 C& `& p9 H6 I+ R
  765. LDA $7A05
    1 u  I$ t( L$ Z8 b" }* M
  766. STA $0707
    0 m5 _4 z8 J0 V' v4 a' v
  767. INC $0707
    9 G) x4 B7 V: T- U6 G; q
  768. LDX #$03) \" Z/ M& B# k; Z# Y& i% h
  769. RELIFE_NUMBER_P2_START:
      U' v5 C- F4 b6 c/ Y+ b
  770. JSR PPU_START
    : \, U5 P& A) v* x
  771. RTS- j; s( U& b4 M( f1 D. H! z8 q: Z

  772. : |0 Z3 F+ l$ ?/ u# o
  773. WEAPON_P2_ADDR:+ U3 C) U5 B5 Y
  774. .BYTE $21,$33
    3 s( e. J& a" c5 N  r" I
  775. WEAPON_P2_DATA:
    . s9 }0 n( M: G- R, N
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND: c- t% S- c$ x9 M# j
  777. WEAPON_P2_PPU:
    , i2 F% I1 r3 ^+ u
  778. LDX #$00
    0 H2 m  j8 K4 G
  779. LDA WEAPON_P2_ADDR8 _9 B$ }. Y* n6 B" ^& i- }) _# J
  780. STA $07039 W2 D' O  u4 L& s5 ?
  781. INX
    ) G( Q5 z, P4 |( s, q
  782. LDA WEAPON_P2_ADDR,X- Y3 d$ |, F/ |- G( G
  783. STA $0704
    3 P& i9 r2 H6 V% h" E; K
  784. JSR PPU_PROCESS, W8 L9 d% s" }; E/ }( K. T
  785. WEAPON_P2_W:  a/ o- [+ x& {' f9 I* m
  786. LDA WEAPON_P2_DATA,X. S" |' r: @. z- J( h6 f
  787. CMP #CEND
    . R9 I) H) X0 t8 a. h
  788. BEQ WEAPON_P2_START6 `% w; s- S3 L2 _9 G( S7 }0 f
  789. STA $0705,X5 F/ [. v, |  `; K
  790. INX% t  }" M$ C2 m  Y  p8 X) q
  791. LDA #$00
    ( W1 }% w" V4 P- U( J* G
  792. BEQ WEAPON_P2_W
      Z& e" ^& s; X+ ~9 V; H: A
  793. WEAPON_P2_START:
    : z+ u4 t, l( o+ G9 n# m2 G
  794. JSR PPU_START
    8 ]) C! Z0 [/ Y4 r
  795. RTS/ n1 q& t% z$ V- ^

  796. 8 r3 A1 o5 J! n7 Z
  797. BULLET_P2_ADDR:
    6 N. I. b8 j. ?  M% f8 }, e
  798. .BYTE $21,$3A
    % d. ]8 Z& x, T( ^$ g4 {" S
  799. BULLET_P2_DATA:
    6 o, c( ~  e  H
  800. .BYTE $00,$01,$02,$03,$047 [" x4 G2 ~6 y" P5 d7 d
  801. BULLET_P2_NAME:
    9 l! G5 S+ z2 M3 R& l
  802. .BYTE CN,CM,CF,CS,CL
    6 U2 l3 Y' Z& q( Z* b. W+ r
  803. $ w4 T# v9 o5 ^8 O1 Q& q1 p
  804. BULLETPPU_P2_PPU:
    . L$ [% R; d6 N3 T
  805. LDX #$00% r& [3 }  g: z0 b6 M! t' \  F
  806. LDA BULLET_P2_ADDR- d6 l# U4 S. ]
  807. STA $0703
    ; X. R8 @" x4 C9 G0 x3 X
  808. INX
    + J0 ]5 t$ K! H8 [( j( N, h
  809. LDA BULLET_P2_ADDR,X
    # m7 h1 A1 X# Q+ }& M. E) N: Z+ _
  810. STA $0704
    ; Q+ c2 \# Q3 t
  811. JSR PPU_PROCESS1 c4 u$ y# r' m3 F3 `9 w' U7 k5 j
  812. BULLET_P2_WRITE:* j. v" v$ N( A$ F4 X2 D
  813. LDX #$004 t8 r! T% A7 U4 T; B0 \
  814. LDA $AA
    ; d( J* ], j3 v6 e  S8 e
  815. AND #$10
    8 @6 C. {; e+ q4 E, a; e
  816. BEQ C_BULLET_P2
    / v* S* Y* R% q; h' n/ f' m
  817. LDA #CS
    1 p. I, M' d9 O% W( p( t+ [
  818. STA $07053 k, }& K( o; t& Y
  819. BNE B_NAME_P2% f5 d3 Q7 Z9 i; d* ], y4 y
  820. C_BULLET_P2:/ n8 e+ _; N( Y$ j
  821. LDA #CC
    6 q5 w! t# L8 [
  822. STA $0705
    5 N; N, b  s' }. @8 `5 Z' H
  823. B_NAME_P2:; e+ X2 a5 T+ T( P
  824. LDA $AB
    4 P) S; d  m/ N4 e. _7 ]
  825. AND #$0F
    2 b1 \5 B. R! J" u( z( U% W! d  o
  826. CMP BULLET_P2_DATA,X
    1 H/ L+ \/ c- D8 p
  827. BNE B_NAME_P2_RECMP1 h. Z- s7 C1 D8 z4 z
  828. LDA BULLET_P2_NAME,X6 h  E9 X  b: f' V% U( R( b& F
  829. STA $0706; @* A/ {  z5 \: E- M
  830. B_NAME_P2_RECMP% m; ^; c* G# f; o8 _( G  O1 R
  831. INX1 I* q' |! h2 G0 z8 a8 D
  832. CPX #$05
    & u; Q& V% P; ]; m( O
  833. BCC B_NAME_P2
    5 X' A4 _( D/ a7 S5 T. ~7 b( t
  834. LDX #$02  x- x3 d+ V9 v6 n
  835. JSR PPU_START) y2 K3 L# F" B9 z& m
  836. RTS
    / X) @# Q* G" g. j. G' r

  837. 7 B) R5 A% x* B, O9 P) u' l" T  M

  838. 9 ^6 `$ O0 ]2 R! u

  839. ( a- h3 _3 a6 w  C+ f$ g1 O- v( l
  840. + l( Y8 d% O: G
  841. 8 Z2 l# d6 f8 @. _1 x
  842. . w$ E. `( Q! F1 Q
  843. LIFETODEC:                ;十进制转换
    5 \1 f( p: x" l  z6 P7 C" w9 z
  844. LIFEL1:        ;initialise
    4 Y- k: l& C# y) q4 n, ]& a; u& g- w
  845. STA $7A00        ;$7A00=F36 n5 P$ `* J' [' _% f
  846. LDA #$00
    7 [! T" `, T+ L2 B6 M6 b8 v; E4 J
  847. STA $7A03        ;$7A03=00
    / s0 b# _, P  A. I  k  |- N- U, G
  848. STA $7A04        ;$7A04=008 E" h' m# [3 ]: @" W) S
  849. STA $7A05        ;$7A05=00
    9 H  R* L8 K( c7 ~) q
  850. LIFEL2:        ;copy data $7A00 to 60018 r0 N5 {9 ]' N' u6 ^: x) S+ a8 A
  851. LDA $7A00
    % @& p9 z! q: i" M
  852. STA $7A01
    4 _4 b8 T" X& p3 [
  853. & c5 o1 P! z  F# q6 |
  854. LIFEL3:         ;hundred
    & |& o) j" h- l
  855. LDA $7A011 S& M$ J5 Q7 k0 v6 a* d
  856. CMP #$64
    ! j' r! l5 l1 ?9 l$ I
  857. BCC LIFEL6                ;$7A01<100 goto L6# q% ~' x+ a' }6 n- n
  858. LIFEL4:
    4 [' |! V: s" @# O' G; v4 i' t
  859. LDA $7A01
    % _; c8 q7 y: V" C# t" `: J" k
  860. SEC
    , I8 d: Z# I7 E
  861. SBC #$64        ;$7A01=$7A01-100
    $ ^- B: W/ Y. M5 d$ m; n  r4 s  q
  862. STA $7A01
    . x: P0 {. s  N+ M( }5 t5 u, S8 C
  863. INC $7A03        ;hundred++2 l  `# u) C8 R" |! h1 ]! n* `  l4 _
  864. LIFEL5:& {' X% k3 k+ E5 n6 m! E  h
  865. LDA $7A01
    0 j0 l# e5 H; c+ K
  866. CMP #$64
    6 p! S! s5 d/ j/ G: t
  867. BCS LIFEL4                ;$7A01>100 goto L4
    4 f+ q! }' f5 s

  868. + x0 u) U1 I. v
  869. LIFEL6:        ;decade! E! W8 D5 y0 m5 a( D3 e; D" I; l: f
  870. LDA $7A011 D' T$ D, B. _* Y# f! V- ?
  871. CMP #$0A: ~3 f/ v( A6 |+ Z- \
  872. BCC LIFEL9                ;$7A01<10 goto L9
    - h$ O3 D. a! @& L: x+ _
  873. LIFEL7:        0 V3 v; v( z& ~" j1 o9 x
  874. LDA $7A01
    - |1 i* V- ^  o  h+ B' _: @0 ^
  875. SEC; V1 h0 ], }8 J( r2 A* |
  876. SBC #$0A
    ' o7 ]) y5 l. |# R" l2 o1 p
  877. STA $7A01        ;$7A01=$7A01-10
      B& [3 x; _' \
  878. INC $7A04        ;decade++  f5 y0 ~. T# q- x
  879. LIFEL8:5 i2 |2 E9 j$ W
  880. LDA $7A01" E! ^8 ]/ g- ]
  881. CMP #$0A
    & G: x. ~! o9 ^1 F2 T6 s) R# L
  882. BCS LIFEL7                ;$7A01>10 goto L76 P' ~, c% p/ c5 u5 P! g3 y
  883. ;unit8 c1 N/ o/ m9 v2 V3 i2 H
  884. LIFEL9:1 ]( C) F# P! E$ H% E8 O
  885. LDA $7A01        ;$7A05=$7A01
    9 ^1 h/ H/ c5 N, @
  886. STA $7A05        ;unit
    & s" d' y% @( j9 o9 {4 |+ m
  887. RTS        ;return1 x) \$ o. g6 [, z9 y

  888. ! m! N: ?2 z8 b( m; z- ~/ w
  889. , U- c2 Y% Z" y7 r; D
  890.   a6 D' @0 ?. l- a0 U  k: o3 I
  891. PPU_PROCESS: ;PPU地址处理程序
    , _; C9 H* s' m0 i
  892. LDX #$00) ^$ J+ l& x! O/ e: B
  893. LDA $FF
    & q5 G5 ]( i6 |6 i& D
  894. AND #$01; T* g* r1 y- z3 u# ?  s& p
  895. BNE PPU_2400_27C0
    ' U2 ?/ ~# A: W6 ?* F. ]  M) Q
  896. PPU_2000_23C0: ;命名表1. h* o+ }9 i) X2 K8 t
  897. LDA $07033 C" F1 ]) D/ u0 P* o" O
  898. AND #$FB
    # R$ i8 Y9 S% Y! R. O$ r) I
  899. STA $0703
    : M: Z" Y' O0 J4 x1 x( \7 K
  900. RTS
    " z- }$ P8 J& y# F. K0 w
  901. PPU_2400_27C0: ;命名表2
    ; A) }' ]/ z% e  J
  902. LDA $07033 E9 s  j( k* I8 r2 H7 T0 L
  903. ORA #$04
    , P" u" d& Y6 V) I) w$ O
  904. STA $0703. I, M( X% a6 P8 r7 E
  905. RTS: Q* n; x& }' ~- e8 ^: d

  906. 4 d6 F" X) |2 q3 V! w4 K( m
  907. PPU_START:  ;PPU数据写入7 P! `9 W: `5 Y
  908. STA $218 h# m1 `# d) S# G8 t
  909. STX $07019 L$ b1 b' N- Z6 j4 Q8 A
  910. LDA #$00/ J1 j  O: S  P2 X
  911. STA $0705,X$ r# q" e# G& R' U1 b
  912. LDA #$01
    ) _: `& `8 c, ]% A* m/ ?
  913. STA $07000 S+ q8 w  B$ K4 {0 y
  914. STA $0702
      o* B* `, j- X; ^& |  r& d
  915. RTS
    ( ^  u  M- X& Z' \. ^, K+ V# H

  916. + Q4 E% B+ o" k6 F
  917. ; Y* @6 z# V% b* y

  918. , p3 \$ m1 ~& `; _

  919. 7 |" W; o6 I! {$ }- |0 _5 o4 _6 i

  920. ( e; d* [/ l% ^- s7 E6 o4 @
  921. 7 N7 K5 D0 r  f! P( i
复制代码
# ?# ~2 `) W- D

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
2 W/ t3 K" m' H$ w) v+ g
回复

使用道具 举报

签到天数: 2566 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

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

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-5 19:23

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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