EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序' D8 F2 r, E9 n7 S! `
  2. 作者:FlameCyclone
    : j+ v$ ]$ t' U8 v
  3. 时间:2017.2.12
    0 q! x! @" M6 p0 h/ l0 r0 f2 x9 v) a

  4. 4 S6 f) U( C" ~5 z7 G
  5. 按键跳转:
    0 t2 i* C. o; k9 j: W: K( i
  6.         C1EF:95 F5 94 F1. B0 b) ~4 i4 f
  7.         C1EF:20 70 FB EA3 H. ~: Q- v4 F2 e( Y4 }! S' y7 U
  8. / Z' m/ w  ]1 G6 ^( c
  9. 滚动偏移:
    ' x. n9 a0 B$ D" h% g
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20) y. C6 K* x$ A4 D  i5 g9 O
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    - Z: Z( L$ s2 q6 Z3 W6 y) Q1 q& X
  12. / A4 U  D' V& t  e0 @2 f* c! @, d: G3 u
  13. 背景调色板:
    - l. X8 F) D6 [" R4 B6 a
  14.         CF20:9D C0 07& ?7 w7 y( F$ i7 C, _
  15.         CF20:20 A0 FB
    2 S. w6 b- t! P' Z( D4 E
  16. ; i. p+ B, @% j! T) F! y9 {; N( n4 W
  17. PPU BANK号:
    ' s4 }/ S/ v4 ?! c& U; t+ m  T
  18.         C8C9:9D F4 07
    ! K: K. h, e. S0 \, c0 M3 S# v' e
  19.         C8C9:20 B0 FB
    ' n9 ~$ p# h6 A7 T+ I& @3 S6 f! D
  20. * o; Q+ B4 d4 P# z0 t/ N
  21. 按键跳转:$ |, L9 L# b* W/ m. y- Z' q
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    $ K$ |9 h# }0 C  H" I
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    $ a# A/ f  \0 N4 `
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    / p) S% O' `+ L7 }
  25. * L- b) j2 c+ @( X. s4 ]! F# J
  26. 背景调色板:
    + Y% G3 @& T7 W7 O8 T" s1 v
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    # @5 {& W+ Q# N+ }  n2 a
  28. 3 w& ~9 q' d) L# l  A, L
  29. PPU BANK号:' j3 s3 ?4 x  J+ ?/ ^: ~
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF% p: P, V4 [5 a. _2 M9 t# R! F$ S0 K

  31. ! M7 Q! x  H' X8 Z1 f! l! h3 _
  32. 滚动偏移:
    % q7 q- r/ t0 ^- |  @
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    ; i, y4 U7 Q7 a* r
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    6 x) n; ?/ V0 n. W) p5 _
  35. , ?9 |9 Q/ s  Y0 ]
  36. - k0 v& i. V0 q2 E6 ]$ J4 X
  37. 切BANK后A000:
    - ]2 S7 r7 P0 X( Y7 X# ?1 v* R
  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& h- L( t7 e  C) Q
  39. 1 ]- ?- K$ |! c% i; F

  40. 2 e' e8 l3 t. W3 x4 t. X
  41. 6502 simulator:
    , z- Q) T8 E" L/ v9 K" g# J
  42. PPU写入程序:
    9 {( e. Q0 d. s0 o2 \$ D3 T% Q& V
  43. .ORG $A000% y4 z  ?9 ]: x7 g. C
  44. CSP = $80
    7 V6 C( l- ^# b+ N( |& r# Q
  45. C0 = $81
    $ ]' g+ D& o6 a2 c/ @3 @& s
  46. C1 = $82; h: k5 y) n1 \  l7 ?- u
  47. C2 = $83- L; N( Y- G* k7 d5 C
  48. C3 = $84
    0 f, I0 q3 i* X0 Z7 A* P4 {5 m8 @+ N
  49. C4 = $85
    9 O9 M* k" A( n7 `" o/ g) t
  50. C5 = $86
    ; A) ?; h. x: ?
  51. C6 = $87
    0 s& f: \2 J7 o% S' |! ^
  52. C7 = $882 b5 S1 L; J1 s
  53. C8 = $89
    - T  Z# a% n# m& C( Z$ q% @
  54. C9 = $8A$ F- j, l' N- O! E! D# }
  55. CA = $8B. _- \" f1 d1 z) H3 C( R
  56. CB = $8C# c, G: I" [4 ]( I0 t
  57. CC = $8D  _! d! V* y: O- J( @9 s1 ~  `0 W
  58. CD = $8E
    . T2 q$ y* l. _  r' ], }% g6 d. ?
  59. CE = $8F
    4 l$ f0 J: P& `( P2 z5 l' `
  60. CF = $905 y+ m( l% S6 o" ~: B" [( l
  61. CG = $91  f7 z( F" C! m$ {
  62. CH = $92& B9 e% K4 F: T% n
  63. CI = $93
    7 o  z, I* ~! c0 w! v* E
  64. CJ = $94
    " m3 {7 q6 |' k% G: u4 |! D
  65. CK = $95
    7 P2 @) E' _& Q0 K, M
  66. CL = $96' `8 Q& {  y" q
  67. CM = $97: [) [# s% n1 U& {% f/ m
  68. CN = $98; M& U2 X! q; G# t% ]7 K% j
  69. CO = $99
    ) Y8 s) A/ n' e  ~
  70. CP = $9A
    4 P& L. o3 |, B! z* ]; I
  71. CQ = $9B
    . |9 [) n; M" P, A" s4 v
  72. CR = $9C* `3 p5 v7 ~9 u* b9 a0 K! X# r" f4 h
  73. CS = $9D# y$ H5 d* c8 S0 j7 o3 v; h
  74. CT = $9E
    6 [. U7 j* {/ n/ D3 J# Q& O8 y
  75. CU = $9F
    , M  ]# E% E/ b) u( w
  76. CV = $A0
    8 E  T2 ?: X, J/ d- }; }
  77. CW = $A16 b2 [5 s$ k9 F2 V4 w
  78. CX = $A2
    & u! B' ?( b* c/ Y: P( s2 d
  79. CY = $A32 C$ `& t2 |+ v- W" _
  80. CZ = $A4" a: P% }6 V) X' a- A* P. g
  81. CEND = $FF& v$ ^; P. E9 V* T2 j; g

  82. ! q; e3 p, _' c. u; l

  83. % k0 }7 c- [, `9 _; }: W
  84. CMP_RE:  w2 ]9 x! |, u
  85. LDA $FF# ~/ l/ I1 Q6 l1 a+ i" s
  86. AND #$7F
    2 t1 g7 W- \3 E- e9 S5 V/ W3 }
  87. STA $2000" Q' j/ B; M: L; s3 p
  88. LDA $2002
    , ]- X) Z+ D: u. h
  89. LDA $25
    $ [3 c" z' `' t' R/ ~8 _6 W
  90. CMP #$01
    - P) i- D% m4 X5 E/ Y) `& A
  91. BNE PROREG4 n0 S; z& D6 @3 g, b; J
  92. LDA $F5,X
      P& E" @: l4 x! g
  93. AND #$CF
    ; J$ A/ m0 r1 o) w& ?0 B, _
  94. BEQ PROREG
    5 O: V. ]8 Q$ p7 q6 _
  95. JSR PPU_CMP1 i; r+ x# z! B5 ]1 G" R
  96. C_RE:" I, u/ y; i  s. h9 @" o8 v
  97. RTS% J) n2 `' q$ T0 y
  98. PROREG:- l4 \& a) _' {1 u# b
  99. PHA
    ; a  ?8 m1 p! h3 b' o+ C/ y
  100. TXA/ O# {$ B. e" I7 u% D3 z5 X
  101. PHA1 r! q& p  L" I/ g5 }, }
  102. TYA: Q/ I5 h7 I1 n" c% \" S  p
  103. PHA
    2 O0 v8 n2 Z3 y7 Z9 j& J
  104. LDA $25( A) p/ Z$ D) t- x" H2 V; u
  105. CMP #$01
    0 w( b4 c2 q, q+ i9 W1 k  x
  106. BNE RE
    * F; s5 L7 Y- j$ l% ?/ F/ w. V
  107. LDA $010A, r8 D, S% t% }
  108. CMP #$009 y; a0 j% w) |% i, p) ?- \6 P
  109. BEQ P1
    4 x" K! P* G4 @$ P* ?' |
  110. ; Q/ i5 |/ z+ T+ q# ~, Z4 R8 h
  111. RE:
    + x5 g* d2 Z5 y& j+ ^9 E
  112. JMP PPUWRITE
    ) m- P6 R: j8 n# l3 n. F0 d
  113. ; h# P; E* {: O" u4 v
  114. P1:                ; 条件判断4 I/ H7 y" R, L3 G
  115. LDA $7FFF5 V5 @! M3 g$ c, M- I, V
  116. CMP #$FF7 \: e( G. o4 ?8 B" S( ^
  117. BNE P1RP: F/ w9 E7 l' R; p: A& w  f
  118. LDA $7FA02 q- S& g) W) Q2 h+ c/ q4 S
  119. CMP #$00
    2 V- t& {7 a- p) H/ Y
  120. BNE P1CMP
    , X, w# G- N% P* }/ ^' [
  121. LDA #$FF
    & D/ O( v# N# S4 s- N
  122. STA $7FA0& i8 S; P" ?$ g. x' o* n& K2 L; y
  123. JSR CLEANA" i7 r& h* N/ {5 F4 F; N+ Q
  124. JMP PPUWRITE' d9 ^3 }9 c* H# `+ f* T
  125. P1CMP:2 f% ]; p4 ^2 r5 y# Y
  126. LDA $7FFF
    / l3 t1 P/ f. p" c
  127. CMP #$00
    ) O1 O4 w, k% {
  128. BNE RE0 k: p+ o' M: c5 q% {3 @/ d
  129. P1RP:
    ' y7 O* ]9 h8 I' @& t1 f
  130. LDA $2002
    " F: T2 [" |; U2 l9 i6 \6 U8 k
  131. LDA #$00( i$ e: D4 S1 }6 j5 V8 e3 }
  132. STA $2001
    2 j4 i9 P# p% t/ V# n  H! o
  133. LDX #$00
    6 A) H. \" P) o; Q+ g
  134. LDA #$FF
    * c+ d7 t5 B  B+ r1 x: P$ Q
  135. STA $7FFF
    $ O# T1 s# N% Z
  136. STA $7FA07 Y: t' `- i+ g! H+ N3 Y
  137. JSR COPYPPU
    ) F5 c2 y4 w! A8 p) Z4 R7 n
  138. PIRP2:
    + ~4 j$ t4 F  ^$ q) H# t
  139. JSR CLEANA) K& m9 h9 H$ s* l4 O8 X% U) l
  140. JMP PPUWRITE0 Z$ U& p5 n: k7 T
  141. . k; Z" J( ]$ i7 z7 ]) Q% U
  142. COPYPPU:
    ' {  }8 r: W# {2 b8 ^
  143. LDA $FE
    ! A9 ^3 g$ V5 F# j6 o$ ^0 C1 H
  144. STA $7F50
    ( U( i3 a  a, c. E9 ]" X- S
  145. LDA #$083 K9 p6 e! T, k. M/ r/ d
  146. STA $FE3 o# c$ F5 y& G* I* {* A- d
  147. L0:
    ; `8 ]) `, a6 P) v
  148. LDX #$00/ x0 B" L$ Z# K# k' A3 Z6 m. r
  149. COPY_07C0_07DF:
    2 Y7 g8 L' F: J% e( Z
  150. LDA $07C0,X! v, P# z- b- E- E! P' D5 D7 |
  151. STA $7F00,X
    + R) O$ D1 \: U1 k* Z% @
  152. INX
    ) L* {9 [4 c3 [' w% h; C
  153. CPX #$409 \+ I! W8 L9 i* y2 {# S: ?- B3 H
  154. BCC COPY_07C0_07DF) o" q2 f% h6 J* ~8 G& v+ v
  155. LDX #$007 Y. y6 ?- c+ K2 H. W8 p; e
  156. PPU_07F4_07F7:
    + G$ D  o' j6 X" Q
  157. LDA #$00' |+ i  f- o* P7 D( u3 O' f# x
  158. STA $07F4,X
    ' ~9 Y! d8 a) w# g  O. d
  159. INX
    # ~' Q2 Y$ n( @  x7 P( g* n
  160. CPX #$04
    4 |1 d& r4 W3 ~" Q* t) K0 J. i
  161. BCC PPU_07F4_07F7
    + \  s9 K) ^" ?( q
  162. LDX #$00
    / V: w7 D0 ~' |3 Q* {4 f
  163. COLOR:
    + @6 r* |0 F7 e* @
  164. LDA COLOR_DATA,X; _' j* v! T& a- d
  165. STA $07C0,X. ?1 g+ b# U; M; R7 \
  166. INX4 q% c# Z9 ?2 D
  167. CPX #$10
    " t6 p; Y; T3 ^" o: L4 A0 }: E
  168. BCC COLOR
    6 u' l8 \. X$ w6 [

  169. & j& u4 g# q. F: l) Q; B% r
  170. PPU_COLOR:' i" e2 v2 ?/ y" C
  171. LDA #$3F1 D; _. |/ E' @) m8 J
  172. STA $2006
    . i2 e" S& `4 X* S% p/ n( N
  173. LDA #$00+ b, W( h& z: J% n0 ~! x
  174. STA $2006; ?1 u% c: _0 d" r- {! J) V+ c' z. m1 K
  175. LDX #$00, G! w6 y( l6 v0 |% ~' r9 q
  176. PPU_COLOR_W:
    0 U( d* ^6 n0 q
  177. LDA COLOR_DATA,X
    % a) b5 ~' d: ?5 ~: m
  178. STA $2007$ Q* H6 k9 f8 o
  179. INX# \1 g  C$ N! `0 Z" ?6 t# r
  180. CPX #$10
    ( i; v" K* y. N; N3 t
  181. BCC PPU_COLOR_W
    0 F6 }! Q! {# b

  182. 9 P' y! o" a" I1 ?3 M( ?

  183. * k# m) N, A+ W
  184. LDX #$00
    7 I+ F: Q8 ~# h, E) U
  185. LDY #$00
    ( X/ x0 N6 B/ j/ D9 a
  186. LDA $BD, m9 \; Q: s6 U7 E. G0 x7 G
  187. PHA  m$ z; j% l) ~" b0 r( }: ^4 n% @
  188. LDA $BC
    2 k- A: @5 s# _) w; k4 `1 B
  189. PHA. @; c9 \- C+ u  u
  190. LDA $BB9 H4 l' [- D( s+ |* q8 @- k2 }
  191. PHA
    4 Z9 y2 N% ~! k8 f
  192. LDA $BA
    : A2 h! f& x+ r" |* l3 |2 j
  193. PHA
    / l; U) C! R! I- o- U
  194. LDA $B9
    , J$ V" P% `1 h2 k
  195. PHA  I# ^8 o) b. C' R/ B- u( F9 [% Q
  196. LDA $B8
    ) F4 v* w9 Q, K
  197. PHA' u2 R" l$ @3 t/ Q' z; a7 K* Z
  198. LDA #$00
    - B9 A" _+ F% P& \
  199. STA $B80 V9 u! \& {7 [& `8 q
  200. STA $B9
    ) A5 K- F9 j1 P7 c; J, F4 |
  201. STA $BA
    / j/ R" N. G/ B- \9 @3 c
  202. STA $BB
    3 |& u6 D- Z7 b
  203. STA $BC9 {, C; b) k- C" W2 Y
  204. STA $BD
    : T& U2 B2 E4 l/ }# `- N! Q$ r2 e
  205. LDA #$00$ g; c2 u3 I2 `/ x  e( Q
  206. STA $BA
    & M/ f/ Y  z0 L5 u8 E
  207. LDA #$20
    8 \0 y  i  I; ^/ t3 Q
  208. STA $BB
    * C( [$ X5 M9 ^
  209. LDA #$001 N: {4 e$ u) S# |
  210. STA $BC1 \; m* J2 i) j
  211. LDA #$60
    + }+ t5 V- U; [7 E6 y2 `
  212. STA $BD
    . y1 D/ A) P% X5 _" }
  213. * _9 P) {) h$ C% p  [7 o# a0 D
  214. L1:                ; PPU复制+ Y4 ~/ p) M1 {& ]; F  U- o0 x
  215. LDA $BB2 I$ [7 b6 f% u9 o8 J1 R: W* _6 }
  216. CMP #$28
    ! M" Q( U1 J8 [  c8 t+ T
  217. BNE L2
    8 Q+ ^  T3 ~1 d8 p8 ]$ G
  218. LDA $BA! B1 S' Y9 j9 x
  219. CMP #$004 P3 L  G# `8 t2 v4 V2 C
  220. BEQ PROADPLA
      l; l% l' r7 q" u# R+ ^  ^$ g

  221. : D' ]" u. F4 I. D% e; T
  222. L2:6 y" T9 w- C- B  u: n
  223. LDA $BB
    0 t: v1 K9 s9 M+ k$ x
  224. STA $2006
    ) L. X6 P( f0 H7 ?" w1 n& y
  225. LDA $BA
    8 P6 W3 d$ B) B
  226. STA $2006; n, O. C8 K8 f6 b, U. U) m

  227. ) S- }" p5 F+ t
  228. L3:
    3 F! O6 w2 j  ~) g) d
  229. LDA $2007
    - \8 |) n: n9 E
  230. LDA $2007
    6 ^! W: I1 M0 W5 V/ K
  231. STA ($BC),Y
    2 \& a3 h  M% e
  232. % l" `  _# l; U# J* ]1 c' Y
  233. L4:  x% I7 C- h- ^2 o% E
  234. LDA #$00
    " X, \& L$ Q, m; s8 v! _
  235. STA $2000
    $ Z, Z) x! k4 X, v: p8 K
  236. INX% @: y- _, ^7 U  a6 w' V
  237. INC $BA+ Y; t# s8 V: s. e" b
  238. INC $BC- ~! P- c) T1 o  ?- l
  239. CPX #$004 g* j% E2 r( e5 L
  240. BNE L1, y6 V) a) w9 ?. y9 x. ^" {
  241. INC $BB' t/ `' t  r0 |1 }2 n
  242. INC $BD
    ; v9 ?7 v1 B7 i) Z/ I
  243. JMP L1
    ( v) s6 f: V. X5 g. i/ O

  244. - n6 c1 R; M, n  r! y
  245. PROADPLA:                ;出栈
    / t0 x2 V+ X) }+ d" A
  246. PLA
    # {3 {. Q/ L8 z" Z$ S* X/ u
  247. STA $B8
    5 K1 w8 o/ K% J. w$ O% H
  248. PLA3 q; D% w: |. u" b% s1 S5 x2 Z
  249. STA $B9" _% |3 G( t3 d4 N5 W- M
  250. PLA! r6 T3 h- v. W: j% I  `' y
  251. STA $BA* U( M+ l6 N  b
  252. PLA
    7 b; o4 |4 G$ ]  w* _
  253. STA $BB- D, f0 U) ~2 O: T
  254. PLA6 i' S; {0 u1 p- I. H
  255. STA $BC
    ! i: W: Y$ a/ n4 n5 [  U
  256. PLA
    6 `+ l8 q8 O2 b* m8 ]$ ?
  257. STA $BD
    / e$ [8 u8 a0 r* r# _  `( j
  258. CPRE:, X+ W/ d; R3 P' t4 K+ ^
  259. RTS9 I! w6 ~0 S* Y5 u1 U1 c

  260. * J; q% r+ v! O( V4 L8 Y
  261. CLEANA:                ; PPU清空
    $ Z% m& u# K1 ~+ |# ~" I
  262. LDA $BD. L( ]& @2 i; X9 l" k
  263. PHA
    5 f) T; a! N) d7 h' |% S4 t
  264. LDA $BC! `! Q" S: }6 n0 ?: `' k
  265. PHA
    2 G$ v3 }7 a4 ^* S. r
  266. LDA $BB
    ( `  z% W: z" {+ e4 W5 Q
  267. PHA
    6 k5 \5 M+ m$ w$ [: t3 {! v
  268. LDA $BA6 L/ ?. o4 q; s0 H5 w' q
  269. PHA
    ' A6 t. V9 z% O  O
  270. LDA $B9
    6 B- [& ]; v9 t! v! e1 `+ G% j$ |
  271. PHA
    # I: Y& j3 P# {% |( U" p
  272. LDA $B80 [7 r# c2 q/ o8 j6 f& O- b9 a; k
  273. PHA
    5 \9 j' h1 p9 e1 I9 I8 l
  274. LDA #$005 ]5 E2 b$ N4 j! R6 Z5 V
  275. STA $B8
    7 J2 |- l5 o$ |
  276. STA $B9
    : G- Y8 W: `8 z9 M! S
  277. STA $BA' ~6 N; N, N: g8 G4 M6 ^8 q) t
  278. STA $BB
    ; j  c& Z! ?) Z2 R$ g; A
  279. STA $BC
    7 p1 e) H2 Y5 N# \7 a
  280. STA $BD
    % e! l1 f' O1 l/ z, h
  281. STA $2001
    $ Z3 S9 k0 t7 b% j* {$ g% A3 P
  282. LDX #$00
    $ ~" J6 t9 N. {. I* u
  283. LDY #$00
    * v. v, ^8 d# y, C* T- Z7 W( J3 ~9 |1 a2 g. }
  284. LDA #$008 @5 [! q8 G# q
  285. STA $BA& s  C& E! t; ]( G: @0 ?; l3 P
  286. LDA #$20  ~- Q' h8 B0 C* K" ?6 @6 i
  287. STA $BB3 U! e9 p# r2 c: K$ _

  288. 1 J) I% E6 p' U8 l
  289. CL1:; k+ K6 r+ u: a  r  X  u  s3 E
  290. LDA $BB9 X/ q3 Q) W( \$ d" z, u
  291. CMP #$28' E# y; L( T9 C( ~" p, S
  292. BNE CL2# M' t. ~( Z$ b; D! g
  293. LDA $BA; t$ j1 h  E2 D! E
  294. CMP #$00
    $ Z) n. }2 }/ m
  295. BEQ FREEWRIYE1 _* j  O- i) g+ v7 `

  296.   i8 q& [: c: N; U- G; p
  297. CL2:7 o1 {5 Y! }8 H7 Z4 m
  298. LDA $BB  i* l. i/ P$ {( Q) _  J3 h
  299. STA $2006# r8 v* d9 P6 {5 T# Y. C) h) {* }
  300. LDA $BA& u% \4 C; v) s0 e! C) G+ `6 Q% r
  301. STA $20069 D7 B  s6 h, ?* g, I

  302. ( B9 T4 k0 A0 ~7 ^8 _: s! d6 H  X
  303. CL3:
    4 ?; h5 K& b$ X; R2 i, p
  304. LDA #$005 t9 u, r! L/ K: \
  305. STA $2007  J2 N0 h: P- \/ S

  306. : v  n% J# T4 |; ]; W
  307. CL4:
    ; J9 X2 L& G3 w7 z+ o
  308. LDA #$00
    ( b1 Y3 |8 x0 U8 d/ q" Z$ R3 M
  309. STA $2000
    0 K5 y; W" g, m6 V$ `: b% h5 Z
  310. INX7 N& c, f+ v) b2 [* U
  311. INC $BA; O* Y& j. @1 a3 e( k6 ~
  312. CPX #$007 P7 c0 e# }( {$ Y: H  @
  313. BNE CL1
    7 G8 g; u' _$ C- }$ Z
  314. INC $BB
    ! }9 ?$ o( i7 q8 Y0 g
  315. JMP CL1
    ( K4 L" f4 v& ]9 b8 b9 q7 w  k1 d; ~! ~
  316. 8 B8 |% Y, w" s3 G% g
  317. 4 v8 Y. D. O% s5 K& A. ]+ C* o
  318. FREEWRIYE:# p0 ~) G6 J$ g# o

  319. % Z& _8 W, X2 v. q. q, i% y! P1 f
  320. NOP
    5 D  V$ i& n. `

  321. 3 V; C1 V$ g; V
  322. ' r! _9 d" b5 p5 L

  323. " I' T2 _. z: b' b# r5 t( n
  324.   r5 A4 a& @, W: V* I1 ~
  325. 8 I- n# f' p1 }# t* E
  326. CLEANF:                ; 恢复现场
    # G: ?' C6 H5 U0 M. g
  327.   Z' P( k* d, S& Y
  328. PLA
    5 \6 p+ y$ x& h# E
  329. STA $B8' o, W: {4 V2 Z; o& s
  330. PLA/ ~; \7 |2 w# l: a1 d: h# o" }
  331. STA $B9
    7 D3 i! |+ g# L' |' f/ y
  332. PLA  k: \7 m% B7 u0 j
  333. STA $BA
    + W6 x3 |; k7 h' ^+ f( y
  334. PLA6 G4 c6 M: z9 K9 r- N& u( J
  335. STA $BB0 j, p3 _8 u, ^9 H9 q
  336. PLA; t) L, x" U! C' g' U( ]
  337. STA $BC
      n  S4 P- n, M: w. Z/ ^
  338. PLA
    , n" V# s2 s8 u7 b8 F8 {+ E" I: s
  339. STA $BD4 c4 ?% o( Q; ]+ s( m0 N
  340. CLRF:0 ]/ l1 P$ ^) h1 o$ g- u; x
  341. JSR FREE_PPU
    " f1 C3 O" ^# Y8 c/ l) v' p4 a( C
  342. RTS
    " r* {+ G2 H' \; v
  343. $ h$ ^+ x( r& Z/ Y

  344. 2 Y% J: }+ p* W: i7 L
  345. PPUWRITE:    ;PPU写回0 t) Q* W, A0 j' P! C" ~, G
  346. PLA: [- ~! Y1 |' w& y( v
  347. TAY
    7 ~# B! u, h+ I6 l" i: o" ^
  348. PLA
    3 d4 W# u; ~% g# j8 v+ m  v
  349. TAX
    ( y1 _( g7 R- r& z& e* e2 W, C% S' p  I( M
  350. PLA$ G. G) f( ~  H& @3 c+ @/ K
  351. LDA $25
      j* b5 E! I: j9 \  U
  352. CMP #$00
    + Z6 \& r# l0 j+ r, d" S
  353. BEQ WP18 i2 J- }+ b- T6 G9 j+ i' U
  354. LDA $25+ K' S. F* Z3 Q$ w0 A! o' K
  355. CMP #$01  f5 t$ z! B( k
  356. BNE WRE
    8 C4 m5 d% D: T
  357. LDA $F5,X
    : v2 k# I& ^1 `; i: X! a- J
  358. AND #$EF
    ( r: z# g2 O9 z6 \1 e* i/ {
  359. BEQ WRE6 C# j4 h! O) U9 W5 b! |: C1 w
  360. LDA #$005 O5 c5 a/ h- L; g
  361. STA $7FA07 c! ?! d3 d' Z' Q
  362. ( [; o& G" ]! |( t1 _" |4 x
  363. WRE:( @8 ~) b1 [% }8 B2 a$ ^# e4 ^
  364. RTS
    7 ^3 S* ~- H# ^8 h5 f! f; t: T
  365. * l5 O+ V& ~% i& l. j) d
  366. WP1:* o2 l8 p. \9 X8 p) x2 L+ r8 H
  367. LDA $7FFF: c6 o( k. Q* q' u- ~0 f6 l
  368. CMP #$FF
    + n; `8 N$ }) A0 B
  369. BNE WRE
    8 t( M+ l- _4 ~2 K
  370. LDA #$001 ]  z) M2 }; {* _+ Q% i
  371. STA $20019 W, L& R; r0 X3 k9 `! I
  372. LDA $BD- {& Q5 [& b& t! w
  373. PHA. e2 v5 n! E, l; v& p
  374. LDA $BC
    & m3 a0 ]# S+ L8 w1 G' z2 f& {
  375. PHA
    5 Y$ ]2 ]8 N) I+ T" v' }! I. g
  376. LDA $BB  }  \* N9 ^" c. o+ X0 T! P
  377. PHA
    # `2 Y, C; S5 v9 l
  378. LDA $BA
    / x8 U$ l/ [1 v& Q! c, T( z
  379. PHA; V! k, f/ v$ N9 d7 f. ~- t# ?
  380. LDA $B96 D0 j+ x6 W& e5 b1 m
  381. PHA
    " y3 h. n+ W% _- L7 A: F
  382. LDA $B8
    0 o2 p. }2 @% }
  383. PHA
    / u, {$ s, a8 {, B; v- @) C6 H
  384. LDA #$00- I1 ~/ d1 Z$ W5 L5 G6 ^) k
  385. STA $B8/ E! @* {# S$ E9 e
  386. STA $B94 J0 r' E6 S) T$ Q! u; G; v
  387. STA $BA  ?) |# Z9 o# X8 F: \3 \
  388. STA $BB
    7 ~8 i1 l0 e, f7 h) \
  389. STA $BC, Q1 Q) `, Q3 r; s% O
  390. STA $BD
    1 T6 ^' V) t+ g; d/ B& T& P
  391. LDA #$00
    7 u! J1 B$ |2 r1 K2 E0 b5 d" e1 U
  392. STA $7FFF2 x0 t* H6 K  t% T9 S6 P, r

  393. ' b9 V8 r! [" h! R6 L7 y* B
  394. WL0:
    5 B) K! k/ t; I- O- N$ k
  395. LDX #$00
    7 p3 t9 x, u/ Z, ]9 E
  396. LDY #$00+ ~9 f" _, q  E' g; b0 n4 Z: e9 j6 {
  397. LDA #$00
    $ @( g  Q, [% q) K' c
  398. STA $BA
    0 z3 K1 @5 e- }9 C) N8 y* W9 J
  399. LDA #$20( T/ H& x: M; ~3 p
  400. STA $BB# ?9 I* `9 F; Q+ j0 K
  401. LDA #$00
    1 @, z9 x4 O% C* Q2 ^
  402. STA $BC
    ' L( r4 M. x' E! n0 I
  403. LDA #$60
    # z& e! w2 H1 t  X5 `# l# O2 R) G
  404. STA $BD
    . ^- Y  a7 B6 R: ~' h( G
  405. 3 ?7 @7 F/ B$ T1 X  p, S
  406. WL1:
    6 n( A9 a4 @9 C/ D! w* `( o. w
  407. LDA $BD) m; }# R! S5 I+ \
  408. CMP #$68
    6 n7 o. o, D) O4 c, ]: X
  409. BNE WL2; t& y( N; J( g* k3 x# Z
  410. LDA $BC& q  o1 w: k. z( `4 w
  411. CMP #$00
    0 I6 P7 B1 t8 M0 ^' c
  412. BEQ WLR; I9 j8 i  R; m  T

  413. 8 _. L7 n0 H, t) l% ]; R
  414. WL2:! z; Q% N: W2 ~. @6 A  r
  415. LDA $BD
    4 y; c  x5 a( [6 m* h% P
  416. STA $2006
    3 i+ m1 _+ ?3 j7 D! y' U# ]( Q5 T
  417. LDA $BC
    / t% L$ o( B! x5 p* l# X6 b
  418. STA $2006
    1 ^! R. J) T. E3 \0 m1 I

  419. ; q1 ?* d! q9 n) A5 [. `
  420. WL3:! H2 p6 ~1 i  S
  421. LDA ($BC),Y& \6 E5 x3 T7 a  e0 C+ {3 _
  422. STA $2007
    & @  [/ f: X( q7 Y
  423. 1 r1 V- f% |2 R2 Z( F
  424. WL4:
    ! Z$ y. f# N9 o4 S9 s- \# G( `
  425. LDA #$00) y1 E( i1 l% K0 T* g% I
  426. STA $2000
    " n. k2 f4 i7 i, t. i) f) Z
  427. INX8 ]' n/ H; g+ @
  428. INC $BA9 W) T7 n: r+ f, F
  429. INC $BC
      {" H! B( m# y% p4 ~
  430. CPX #$00
    ( M' O/ x& \- k& W: ]9 M, j7 |7 d8 |
  431. BNE WL1/ k5 u1 V# {- U9 f2 A( f
  432. INC $BB
      T: m* c2 V9 m" o0 P
  433. INC $BD
    / L) M- P0 O- d" T
  434. JMP WL1, }+ {9 o+ i, o% w! T) v
  435. " Y1 i$ z* K) a8 |+ S
  436. WLR:
    5 \+ \; f6 \) y+ f2 E, a) p: j
  437. LDX #$00
    $ d7 S' l' X& U* g
  438. COPY_7F00_7F3F:  l7 F/ x% O, k8 C. U! _" }
  439. LDA $7F00,X
    , f; ~1 m) B# {9 {8 k2 @
  440. STA $07C0,X
    . v, R, I0 x7 {6 k; u6 p2 h% g
  441. INX* S; ]  z5 h1 c2 m
  442. CPX #$40; I: b4 s( D% Y
  443. BCC COPY_7F00_7F3F
    4 l0 R' U+ |* V8 y

  444. ( O  A/ X8 V. E& I
  445. LDX #$00( H* c* h, u4 l0 V0 \1 V+ m7 }- S
  446. LDA #$3F
    ) J) j& H3 Z7 ^* j+ C
  447. STA $20062 J2 W1 h) X, P, x; I
  448. LDA #$00: P) l, [' G- q" L7 j4 x
  449. STA $2006: [+ c0 ]6 o, ?
  450. COPY_7F00_7F10:
    - J! c: o0 W4 T% |  }- N
  451. LDA $7C0,X4 E  a3 m+ ^. _4 j8 @
  452. STA $2007' ^6 y4 `7 p7 x. f$ G
  453. INX
    9 b& O) r) @! _  n
  454. CPX #$102 }* O( O6 {# u/ ?3 O
  455. BCC COPY_7F00_7F10
    8 `; p3 H6 r2 _$ c# h  H3 Q+ o9 N
  456. " \  E3 j/ ?; r" I% \
  457. LDA $2002
    - \) V! k+ ^* j* g, u% t
  458. LDA $FD
    / L/ j# v( ]. o! b7 z# X3 @
  459. STA $2005+ J5 e/ i: F7 e7 s. ]
  460. LDA $FC
    8 |& q3 x1 \; Y1 A, r
  461. STA $2005
    5 N& L# C$ U1 E7 X1 M

  462. - A3 c( p$ g( i0 x' Z9 t
  463. LDA $7F50% s% s/ ?* b0 o' m
  464. STA $FE
      X% M4 g$ j+ \4 U% ~- X. a: |# D
  465. LDA #$00
    , S4 [* N4 }0 r/ }
  466. STA $2000
    1 Y' T" r0 t+ t9 M& ?) e! L
  467. PLA
    4 Q% v% |! f" ?" E
  468. STA $B8
    & v, h% E! k3 U* I, I- H- s
  469. PLA
    2 ~; X- Z5 B9 q% [% I8 e& c  t
  470. STA $B9* h& J- y- S% j9 D( y
  471. PLA
    $ j) j& m. Q# ?
  472. STA $BA
    : _6 G7 b9 d0 q
  473. PLA
    , |6 s0 e; K; O2 o
  474. STA $BB6 H: q; h* e  F6 ?3 D7 o; F- a
  475. PLA
    % t8 J9 t+ U, v- J
  476. STA $BC+ t& \& m( b: W1 O5 C( |+ w
  477. PLA
    ! C4 t; u' f4 S
  478. STA $BD! H. O4 V2 g5 N

  479. , W( X* a) f" T( U
  480. RTS5 F- X3 ]$ Z: T5 k( V: {; i1 o; `
  481. 7 [- x- l+ w0 A& E3 w, ^. a$ J
  482. PPU_CMP:
    9 ]4 ^9 w. M+ J+ p8 d

  483. ; w" L, p7 k8 w2 J2 f/ Q" b6 y9 q
  484. 5 Q1 L; z4 y. M3 d7 u( F4 `7 i
  485. PPURE:5 U- F$ ?6 f0 ?1 ?# r  S) R4 F
  486. RTS
    / _4 n4 y1 s  p" t3 J$ z  k) X
  487. ! u9 P" W! I+ ^0 B5 l. @! n$ i) K) W
  488. 6 v! @- B9 d& Q. {
  489. FREE_PPU:
    + H3 W. ?+ W  ^1 N! L
  490. % \4 U% t1 @+ c" I
  491. JSR TEXT01_PPU
    5 s# b3 Z1 }* u/ J- N5 N
  492. JSR $CBC0
    # [& ?( m" K, w- J6 N6 C" T) Z
  493. JSR P1_PPU
    . L1 G6 Z" u- a* b$ U  Z; @5 f
  494. JSR P2_PPU, l4 V) Z6 g( ^
  495. RTS
    - z* ^: T, s. ?2 Y' J

  496. . f) k' m+ t2 C/ [+ d
  497. TEXT01_ADDR:
    & O' U) T+ r6 a+ w. z, @
  498. .BYTE $20,$42
    6 X) `2 p# j6 d
  499. TEXT01_DATA:
    ; C& E4 Y5 W- @# H; t
  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* I: e. `/ O& G8 X( w' y. d. q8 o4 x
  501. TEXT01_PPU) f8 f, f! Y$ I' o9 m
  502. LDX #$009 c1 F! i2 [/ ]4 }3 {
  503. LDA TEXT01_ADDR
    * L( X0 e- G6 T$ ]4 }
  504. STA $0703
    + q. N* ~' P+ u; L
  505. INX" G/ X7 E) E# F& s8 Z! C
  506. LDA TEXT01_ADDR,X
    # I# [1 L& q# }3 m2 u
  507. STA $0704+ r- S4 i3 Q0 H2 }
  508. JSR PPU_PROCESS2 _1 h, o( Z% R( G- c* |
  509. TEXT01_W:8 f( j& [/ {0 s8 v7 Q; U
  510. LDA TEXT01_DATA,X$ ~: ^2 h1 l: X8 {, a; h
  511. CMP #CEND
    * N" i- n  J, i7 O
  512. BEQ TEXT01_START. |/ J2 Y, l4 \9 N+ }# X
  513. STA $0705,X! H4 R$ ~' ]7 V
  514. INX1 C2 v/ t' e+ k
  515. LDA #$00( X2 j0 |# D* `7 P. G
  516. BEQ TEXT01_W2 j9 v$ \' O. j
  517. TEXT01_START:
    & u5 m* r8 i8 x5 z
  518. JSR PPU_START
    - r- m. V2 c# t: a7 B% s3 c6 _
  519. RTS
    : _1 D! e5 B3 q+ o+ T

  520. 5 r! U/ M8 e9 P# O: s6 ~
  521. 8 O* x5 h3 w, \% U4 q
  522. COLOR_DATA:
    5 u, J. B. j9 c& @
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ! b3 [* |6 n! ]. E: w5 l( ~7 I# l: i
  524. . S1 f) K1 @  |1 Y  d
  525. P1_PPU:! Q4 W( ?) _/ c3 ^$ i2 e) ?/ {& L
  526. JSR PLAYER_01_PPU% l- o; q. P( j  u) M/ [
  527. JSR $CBC0
    . b' g/ R, f) z) d( j4 m
  528. JSR RELIFE_P1_PPU8 U! q6 o" n+ L6 E
  529. JSR $CBC0
    5 z9 Z; [% @) K, Z, V+ s
  530. JSR RELIFE_NUMBER_P1_PPU- M6 s: J' z3 T/ T( I" O
  531. JSR $CBC0
    + z( b/ G$ @3 v+ M' h
  532. JSR WEAPON_P1_PPU
    1 Q3 p$ y& U$ Q- r
  533. JSR $CBC0
    3 p. Y% l' T: s$ X& g' b! R0 I6 q& w0 L
  534. JSR BULLETPPU_P1_PPU% g  |+ E6 p% Q+ B. r' c
  535. JSR $CBC0
    # [  `8 T! l6 n  }" {; L8 g. g
  536. RTS
    " D5 X) f1 F! A$ X+ S
  537. * F1 [2 b& s6 s1 }! H) ~, t
  538. P2_PPU:
    ( M* s4 l# i6 k: O4 c. z0 q
  539. JSR PLAYER_02_PPU
    3 v/ _& `7 {2 o: H* U
  540. JSR $CBC0/ e  W; E6 @) x& y- ]( i' k
  541. JSR RELIFE_P2_PPU
    . l: x2 r/ `1 ]% v+ `, ]  M1 v
  542. JSR $CBC0
    + ]- S0 q; q+ Y# k# w7 e
  543. JSR RELIFE_NUMBER_P2_PPU( c3 S3 u5 P: _7 ^* Z( W
  544. JSR $CBC02 h8 i" t4 x* [  d  A! Z
  545. JSR WEAPON_P2_PPU
    0 x3 S$ _8 a3 U+ K6 G
  546. JSR $CBC0; f. d6 q( N) A
  547. JSR BULLETPPU_P2_PPU9 e- H% {, r0 @! j( v' w
  548. JSR $CBC0& B9 A: U3 Q$ B  s1 _7 F
  549. RTS4 I3 \( O1 l6 l0 A9 d+ `2 Y, I
  550. 0 m0 Y" h  v( \

  551. ; m- [; [: @8 K; O2 c6 k/ M
  552. 3 m. E/ Y" x" i- @
  553. PLAYER_01_ADDR:, K. Y( l3 e+ n. x; t! v% Q& L
  554. .BYTE $20,$A39 a8 t7 \8 m$ E
  555. PLAYER_01_DATA:
    ! D8 \# [- w- W. U. J8 x0 ]& F
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    2 r: d" J8 B- j+ C5 t  _" G
  557. PLAYER_01_PPU:
    * X. S- @4 X3 q7 T6 Z3 D; Z+ t
  558. LDX #$00
    8 [/ a2 ?% I7 p/ b$ E$ M& s( u3 K  k
  559. LDA PLAYER_01_ADDR3 x1 {" O# d: O3 A  h
  560. STA $0703
    9 s$ ]1 G, _9 x# z' O1 N" Z  p
  561. INX. V3 ~4 O/ o) n; P$ Y% k+ r
  562. LDA PLAYER_01_ADDR,X
    8 P/ L& \: Y8 O# g8 c) z" D) s
  563. STA $0704
    + O3 H* B; H$ A5 d: O! c6 t
  564. JSR PPU_PROCESS
    4 b' E4 q- i, N4 H- H+ s% S- z! m% R
  565. PLAYER_01_W:) c$ F* g! ~9 G
  566. LDA PLAYER_01_DATA,X
    ; Y7 o. S6 u, F# {: Z
  567. CMP #CEND
    # g+ Q$ i+ K" V# G, G! x" D# _# o8 {2 D
  568. BEQ PLAYER_01_START& t( g, N- ^+ {# W
  569. STA $0705,X
    , d$ u0 B$ m. ^/ Z* b/ [5 u0 D
  570. INX( X; b8 z3 F" s2 f3 V- [! j' v: f
  571. LDA #$00
    % ]+ ~$ g+ B' q9 G
  572. BEQ PLAYER_01_W. P- K: m3 n; M" e% q
  573. PLAYER_01_START:1 U9 T. u, |  i* |% G
  574. JSR PPU_START" `0 d5 n& I) g: n# c- Z! X. |
  575. RTS
    : Q. H' K6 o, h" {8 }( s
  576. ' @% W* b6 w# G. p
  577. , i7 P) b) Z% \8 p
  578. RELIFE_P1_ADDR:2 I: u8 y4 K1 @$ }
  579. .BYTE $20,$E3/ x3 }* b3 A& n
  580. RELIFE_P1_DATA:2 B' `8 _2 P: B, I) L: K
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND% t% ?2 n8 R2 m# K
  582. RELIFE_P1_PPU:& S8 V8 y" E1 n" p8 l- S% Y
  583. LDX #$00# x5 `0 @6 j# g% }
  584. LDA RELIFE_P1_ADDR
    5 S+ }$ }1 G) M9 C5 F
  585. STA $0703
    - Q$ L8 n, o" n! v7 Z! T( F
  586. INX
    7 q1 n- w. \+ J+ r3 y. E9 n
  587. LDA RELIFE_P1_ADDR,X# H) B- ~& X$ w* k* V  k' n! G
  588. STA $07045 x4 n: p" F! l. C+ C$ I
  589. JSR PPU_PROCESS
    , o7 z' J, I6 `& c
  590. RELIFE_P1_W:
    : v8 x, O+ y  T+ J
  591. LDA RELIFE_P1_DATA,X
    5 n  S. o7 v, r! ]3 K% y! _+ g
  592. CMP #CEND
      n  T, ], U0 f6 E
  593. BEQ RELIFE_P1_START
    / `7 k+ o1 O" D
  594. STA $0705,X
    7 p5 b2 }, k% `7 I/ N3 Z; U
  595. INX7 `. @7 s4 u% e/ E5 [% _0 G
  596. LDA #$00% s8 l6 H: q/ Y$ z
  597. BEQ RELIFE_P1_W
    5 h2 i1 q  x! |5 u# Q8 |
  598. RELIFE_P1_START:
    2 _5 R6 O3 a: w4 A5 V) n7 Q8 l, s
  599. JSR PPU_START
    ! G+ h* W1 A  c) l  w& `
  600. RTS1 M+ N, g9 _/ o( l0 `% c7 G9 m$ p" D

  601. # f9 I* ~8 @4 r# f; |  `

  602. ' u" x9 s6 s" n
  603. RELIFE_NUMBER_P1_ADDR:+ s. m+ w' w& m$ S+ S% V% y
  604. .BYTE $20,$EA
    0 W3 V+ v, a* y1 |8 h+ s5 d4 T. F
  605. RELIFE_NUMBER_P1_PPU:
    , T* y; J7 j/ f+ }& n7 c; S
  606. LDX #$00
    ; H6 v% V# r- G6 Y, ~
  607. LDA RELIFE_NUMBER_P1_ADDR2 e- |1 s% a2 W+ L
  608. STA $0703
    + e. @1 ~# K! z% i% s6 i
  609. INX( E+ G- _; V1 I1 A
  610. LDA RELIFE_NUMBER_P1_ADDR,X, S% O7 K1 L% }0 G3 n1 }
  611. STA $0704
    1 w8 O2 @7 }* e9 ]
  612. JSR PPU_PROCESS
    % Q( O: b6 e* Z) G
  613. LDA $32; K6 _$ f$ W0 {% O  I6 R
  614. JSR LIFETODEC; j8 `0 M3 {! i* a
  615. RELIFE_NUMBER_P1_W:: D, F9 {7 g* Z5 z& t
  616. LDA $7A03$ B/ z: [' d' ~; k9 p
  617. STA $0705: m' d+ n0 j2 `# @% P& Z. p1 k8 V
  618. INC $0705; I5 E0 n1 ?5 P& W) }5 o$ `6 f
  619. LDA $7A04
    . E7 k, m& J4 {5 _- n
  620. STA $07062 q) U3 ?9 ?. W8 x
  621. INC $0706
    $ J4 s9 H1 w- V7 L8 g0 c$ b
  622. LDA $7A05: y3 v9 {! i5 e0 m* D% }$ s, z" E. h
  623. STA $0707
    + f6 @( m# i8 @' z
  624. INC $0707& E* U; j' W3 k4 b
  625. LDX #$03
    7 c) m5 b0 f1 z/ c2 Z* ?2 U
  626. RELIFE_NUMBER_P1_START:
    : Y% ~. ]+ |) I( x0 v6 }% j
  627. JSR PPU_START
    ' g# t: h4 i0 z: j
  628. RTS" g" P2 H. a  _
  629. 7 n- b8 k( }: y8 w4 n
  630. WEAPON_P1_ADDR:6 \: J9 t% B0 F- u, l! `1 B
  631. .BYTE $21,$23" w% I7 g  C7 ~. s
  632. WEAPON_P1_DATA:
    % z' l8 ]  m2 I( e
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND  J' ^0 n) ?, z! p2 J* s5 \
  634. WEAPON_P1_PPU:  P) h6 j4 }$ M! g# X/ K+ Z
  635. LDX #$008 S5 v; w8 v; j9 H" {( R
  636. LDA WEAPON_P1_ADDR# }) y( p. e4 N( _# R! _1 s1 q2 m/ w! W, i
  637. STA $0703+ t" A; l- A. z
  638. INX
    2 T5 l# {+ e4 P8 P1 K' ^( w
  639. LDA WEAPON_P1_ADDR,X
    3 f0 h$ v+ B1 @/ g# @
  640. STA $07044 J' p: v& M* f5 u" Q3 o' Q
  641. JSR PPU_PROCESS4 V" M. A& P/ V3 e' y
  642. WEAPON_P1_W:* I: W* ]" K+ |
  643. LDA WEAPON_P1_DATA,X
    6 C& }' M# w2 o8 _+ \. W. {3 R- s+ X4 f
  644. CMP #CEND) D2 O  w2 R) }* h4 R5 ~
  645. BEQ WEAPON_P1_START, I. n3 n) Z* l+ I2 J1 q
  646. STA $0705,X
    7 f% o( Y9 q( {4 u
  647. INX$ O/ @" y- T2 z2 Q! Q
  648. LDA #$00
    ( ]6 f3 K" r; A" }; h, f
  649. BEQ WEAPON_P1_W, D% C2 v+ O4 b, g+ B0 a
  650. WEAPON_P1_START:9 v- P4 {3 F% N
  651. JSR PPU_START
    ( `  m" \$ J% F7 Z7 j% }# `4 i
  652. RTS. f$ d; T* h0 Z) D
  653. % @  X) `, l8 c( z( u" |6 d. ]
  654. BULLET_P1_ADDR:
    % d6 \0 l) j1 _% T* `0 h0 G& g
  655. .BYTE $21,$2A& V" E( D$ v6 Q
  656. BULLET_P1_DATA:
    # ?# ^, e3 L; A- d7 w4 \  m3 ?5 r3 H) v
  657. .BYTE $00,$01,$02,$03,$043 S+ z0 C2 P! V$ d5 `% \# ?
  658. BULLET_P1_NAME:
    ' k8 |& |0 p  X: O
  659. .BYTE CN,CM,CF,CS,CL6 E: n8 P9 ]" N. c6 @* Z
  660. * j+ P+ O* Z- G2 M* B
  661. BULLETPPU_P1_PPU:
    ; d9 n) n! N5 E" L* N
  662. LDX #$00
    , `/ U5 p2 D" k* b4 _
  663. LDA BULLET_P1_ADDR
    + A# x+ q: S. i4 R( W% E4 Q
  664. STA $07032 r6 S/ f; |) y7 l' Q& ]% _
  665. INX( t4 J) c8 c: q3 ]4 ?
  666. LDA BULLET_P1_ADDR,X
    . S" V& |9 w4 g* E/ u0 I
  667. STA $0704; {6 w" ?8 l( u7 Y' g) d
  668. JSR PPU_PROCESS" y9 U. x: _5 n/ X: _
  669. BULLET_P1_WRITE:; q( y7 z* D! J7 E; H* K
  670. LDX #$00
    / r/ W; l. @3 l) D% U9 n1 g) V4 E
  671. LDA $AA& v) E4 b0 B6 D
  672. AND #$10
    ; P# N. e. Z1 h  U2 s. G
  673. BEQ C_BULLET_P1
    / ~, [4 [! [; T: I
  674. LDA #CS
    ' r3 l) S; X$ j9 A/ ^& g
  675. STA $0705
    & }% k* L. _% B0 t5 V
  676. BNE B_NAME_P1# [0 h  q. |! r9 [( M
  677. C_BULLET_P1:
    6 H6 k, Y( T7 w% o3 y# |4 r
  678. LDA #CC
    ' ~- o) R/ n5 J3 ?
  679. STA $0705. ~* F, r& ]+ f
  680. B_NAME_P1:3 ~& ^' v2 K* r
  681. LDA $AA
    7 X/ R/ d( B1 L  f) |2 M
  682. AND #$0F0 K8 Y$ o( \& b6 ]1 |
  683. CMP BULLET_P1_DATA,X2 q* d( N/ s; b5 V; X
  684. BNE B_NAME_P1_RECMP, U! N  x' C; z- |
  685. LDA BULLET_P1_NAME,X- E# e! J; @: g& @9 W6 E* x8 Z/ P( T
  686. STA $07063 C& I. J& D+ _; w* n. y% p
  687. B_NAME_P1_RECMP3 i% e; A+ i/ m" Y
  688. INX
    1 N1 i- W! f8 B% }4 v( L; d
  689. CPX #$054 H7 d2 ?# I# d" v
  690. BCC B_NAME_P1" n" O1 i: W6 I6 Q9 y) P. h# w- H
  691. LDX #$02
    ! \. ~& v0 Y7 O; d; e
  692. JSR PPU_START& D7 U, M5 W( o2 S9 n
  693. RTS
    6 `, G! [6 Q/ T8 U4 [
  694. 5 ]: ], B% Q7 t9 T; w- F" Y, `; a
  695. ! b$ o& V5 ~( C6 \/ {* d8 ^
  696. PLAYER_02_ADDR:
    * r6 W7 d3 W0 ~' Z8 Z0 p# U; w; _, F
  697. .BYTE $20,$B3
    4 z$ Q& f2 b7 l7 {. K
  698. PLAYER_02_DATA:: u% Z0 G: w& j1 c9 i+ @
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    . }' e, k& y+ [4 X- E  @
  700. PLAYER_02_PPU:
    3 c. T- m: X  V, E/ x1 `
  701. LDX #$00
    ) ^1 ]6 v9 z; E2 L) w. Z5 l# G! A
  702. LDA PLAYER_02_ADDR% C# K/ O9 H  y0 j# \: {! X! N
  703. STA $0703% e' S4 [) l# Z5 ^% s0 h7 [9 i  O
  704. INX
    7 h: l' W- \7 k: Z  e
  705. LDA PLAYER_02_ADDR,X# @' B% l- [* `" j% y9 O/ j3 z% |
  706. STA $0704
    $ Y; T$ B5 G- ]* f. g/ Y3 q
  707. JSR PPU_PROCESS
      O8 l' W. B8 _) t+ B
  708. PLAYER_02_W:
    : h- H, K0 Q2 F$ M9 k/ F7 I1 N' {! m
  709. LDA PLAYER_02_DATA,X
    ' m) b4 H6 q- S, c7 c5 O; f% R
  710. CMP #CEND4 D( J- ^( ?: I" |
  711. BEQ PLAYER_02_START
    3 G( d: F7 }3 z( g6 M$ }3 V
  712. STA $0705,X! z2 v6 t7 H3 ^
  713. INX
    9 V& G4 X1 E% f- y1 x
  714. LDA #$00
    1 m; a- B1 }7 o) z; r
  715. BEQ PLAYER_02_W) L' _, O7 \+ A8 t+ [
  716. PLAYER_02_START:. z* }$ e3 T+ f$ Z
  717. JSR PPU_START/ m1 n$ W  a. x3 N, ~$ [. m7 X
  718. RTS# E% L# X1 A+ A5 l# I
  719. ! S+ E  @. j- m1 D

  720. 8 U. \+ U8 N& q4 l: ^
  721. RELIFE_P2_ADDR:
    6 K- |0 ?4 R6 O/ s6 s
  722. .BYTE $20,$F33 X  {% ?1 \  I2 m) b0 H
  723. RELIFE_P2_DATA:
    ; @4 Z* ~; A, a
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    + s3 n( v" i; h% i7 V' ^
  725. RELIFE_P2_PPU:
    3 N5 y! J0 k8 Z7 q1 _& q, `
  726. LDX #$00
    ' v/ S$ J. V& g' y+ D% N4 y1 [: J
  727. LDA RELIFE_P2_ADDR0 @. ]. R$ C; j6 v- \" l+ u
  728. STA $0703
    , v1 l  v. ]$ j- x) b& V/ j& q
  729. INX; ]& Z2 d, R# \5 k8 ]
  730. LDA RELIFE_P2_ADDR,X
    2 i; x; C/ [: a
  731. STA $0704
    ' p. A5 p* m# d5 K+ X# F* G  ?4 ]- W
  732. JSR PPU_PROCESS
    ; k) W) D( h  O; H$ l7 {
  733. RELIFE_P2_W:: ]0 h( z: o: u' M& ^7 P
  734. LDA RELIFE_P2_DATA,X
    - B6 P. F9 X1 v- I
  735. CMP #CEND8 \2 \# h$ X& `$ _" B5 p: g9 q$ m
  736. BEQ RELIFE_P2_START9 l4 }1 ]) s, \; n
  737. STA $0705,X
    5 v; p8 P5 ^  V$ I' |7 e% R0 }% |
  738. INX
    6 y( b& ^5 i+ i- ?. F! j
  739. LDA #$00
    ) f$ G. q# t0 r/ F
  740. BEQ RELIFE_P2_W' O! }; [* o) @' b! G& }5 {
  741. RELIFE_P2_START:
    , n3 L; \% ]9 v7 s0 E( o
  742. JSR PPU_START
    + U# G5 [! a- J- \$ F
  743. RTS' g% T) C8 l- I* ^9 E- X

  744. 3 G: x) A# I  R) ]6 M

  745. ) Y. F- e) O' W# J
  746. RELIFE_NUMBER_P2_ADDR:
    7 R9 ^, \% m: v
  747. .BYTE $20,$FA
    ( }. Y' d6 F8 n$ A7 {
  748. RELIFE_NUMBER_P2_PPU:
    * z! H6 m2 u# A4 o: G
  749. LDX #$00
    1 i9 y2 d" G' S% ~/ f! \% y
  750. LDA RELIFE_NUMBER_P2_ADDR
    $ [- T4 p) s' X" f; `8 X
  751. STA $0703
    5 ^. z8 _: s6 b& ?, ]& Z! Y9 ?" [
  752. INX
    9 h) t6 @+ `4 H" t3 S! s
  753. LDA RELIFE_NUMBER_P2_ADDR,X* Z$ N% B4 s! N% q" D1 P' q) r. D
  754. STA $0704/ \; ?6 h+ H' h( D* A. v" e6 w/ D
  755. JSR PPU_PROCESS
    9 r7 ?9 K/ b: B% m$ l
  756. LDA $33
    9 q& J1 Z2 i; B: t. T/ ?0 ^- r
  757. JSR LIFETODEC1 i) i$ H! Z9 E# s
  758. RELIFE_NUMBER_P2_W:# C/ h. o) {5 v; ?8 z; K& q
  759. LDA $7A03+ y6 K& \) y4 T1 J' K: d
  760. STA $0705: ~; Y4 f1 S, u9 o  Z, t; d
  761. INC $0705
    + J; Q1 J2 V( B, U/ f, N
  762. LDA $7A04
    # N/ m- K8 l" A. |& Q+ J6 u4 ?
  763. STA $0706! M$ T1 q" K0 a/ r4 I
  764. INC $0706- j( ^3 E; n. Q9 k9 l
  765. LDA $7A052 y) @( p# D6 D8 w- [' ^" H
  766. STA $0707! Y8 D+ s* f: H  j4 d& `" r7 O
  767. INC $0707: h- @. K, B% U4 N2 N+ E- _+ t3 t
  768. LDX #$03
    # `4 `" h% H$ _4 `
  769. RELIFE_NUMBER_P2_START:
    0 ~7 U1 |( j5 ~7 L) s/ r
  770. JSR PPU_START  f9 q; s4 ?4 x  N+ G" E
  771. RTS
    8 L3 C8 R  a8 J
  772. # ?8 f. O& H% K3 g& p, @1 \
  773. WEAPON_P2_ADDR:& w+ i! l6 t  d' C; ?
  774. .BYTE $21,$33
    - Z& q8 A2 {1 Z: R( {0 O) B0 G
  775. WEAPON_P2_DATA:
    4 O9 `# q0 U; l
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    " c9 }4 N% o7 P* I( Q, u4 l
  777. WEAPON_P2_PPU:* c# K" @) r% h" W. Q3 i- z
  778. LDX #$004 h2 y% z% k+ Z
  779. LDA WEAPON_P2_ADDR
    3 w( h# P2 v+ O1 g' T' B3 v. Q+ i
  780. STA $0703) P* _& C1 s* e4 |" k4 O  u
  781. INX* z, X: @5 Q1 s3 A. a1 N! u# c
  782. LDA WEAPON_P2_ADDR,X
    0 V9 h- d) h9 z* R
  783. STA $0704
    , T& }, t7 E: b6 Y' J3 s3 U5 Y
  784. JSR PPU_PROCESS
    0 V" I, U! n8 S5 ^9 U, f& {
  785. WEAPON_P2_W:
    6 h9 G) @. B. T
  786. LDA WEAPON_P2_DATA,X$ W$ M  G- Z* y2 D3 v$ P8 @3 X
  787. CMP #CEND0 m" J# z  c3 v) e2 `  q7 F
  788. BEQ WEAPON_P2_START/ q/ @, b8 S8 W1 `! m0 d1 o
  789. STA $0705,X
    3 S# y# `7 X8 q' K4 M
  790. INX9 N, _$ p  P, K0 V4 \$ Y
  791. LDA #$00- X  F) e4 w. h% k
  792. BEQ WEAPON_P2_W; b  l* d& h0 ?5 q! n1 w
  793. WEAPON_P2_START:( E! A. a8 C  f! ?
  794. JSR PPU_START
    1 ?. M4 e7 U: U- N
  795. RTS
    7 T' ]% M* c" [% Y

  796. 4 A8 a" K! F9 j; g* u  d
  797. BULLET_P2_ADDR:; w/ j/ p) h- \$ y1 R8 g* _' `/ Z$ m" Z
  798. .BYTE $21,$3A0 c6 s" ~+ g9 f- R* w* g
  799. BULLET_P2_DATA:
    ( ]2 N3 c+ }# }, O
  800. .BYTE $00,$01,$02,$03,$04
    # A1 J& O, V9 z/ s
  801. BULLET_P2_NAME:
    ( g, r4 N) W8 l* f
  802. .BYTE CN,CM,CF,CS,CL9 L1 B3 A- n" a0 ?* i# j/ d

  803. ; j4 G4 I0 T0 u* S0 d; Y
  804. BULLETPPU_P2_PPU:
    0 r, t2 S! I" X$ f6 y6 Y  {. l' ^
  805. LDX #$00
    $ v2 R. G* W% r, a
  806. LDA BULLET_P2_ADDR
    ! ~9 b4 W5 S0 x! e, ~
  807. STA $07039 Z; K. }$ `6 w
  808. INX. s) E$ b8 M! H/ A
  809. LDA BULLET_P2_ADDR,X
      k" T& V2 L& O1 K1 U
  810. STA $0704
    + T7 I, R2 i2 E1 [
  811. JSR PPU_PROCESS7 ?. z6 p7 A" b# I
  812. BULLET_P2_WRITE:" I. ], h& A' B% x$ ]( `0 V
  813. LDX #$00( g5 w5 y: u, G/ k, x
  814. LDA $AA
    6 ?. [- u2 M& V! h" z2 T
  815. AND #$10! U: D2 t* g+ `, q% K
  816. BEQ C_BULLET_P23 i+ n% s' c0 y  z
  817. LDA #CS
    8 U) Z- C8 P; d, b9 ?
  818. STA $0705
    & b7 C  [- `) P6 R, a+ B# J7 Z
  819. BNE B_NAME_P2' z* x2 T; ~  O2 a2 _" _, v$ [& I
  820. C_BULLET_P2:2 K8 A' ]" }' D- _3 A
  821. LDA #CC
    # u! ]* ^2 `1 _2 K, Z( b
  822. STA $0705
    % m5 ~, Y; h1 \; i# A! _
  823. B_NAME_P2:1 u" S3 U) p$ P- q8 R9 N
  824. LDA $AB5 ?2 A+ j6 {# a6 @, y5 e4 u
  825. AND #$0F
    8 ^( P  L1 ~' ~- C& ^  `' l
  826. CMP BULLET_P2_DATA,X6 U4 ?0 r0 d% A' T: s  `
  827. BNE B_NAME_P2_RECMP& }7 l) j. T. a
  828. LDA BULLET_P2_NAME,X
    . x& U2 `2 w6 H% V: }$ e' |  z
  829. STA $0706) d1 G7 _& f$ }2 ?4 j  @
  830. B_NAME_P2_RECMP
    - R% {- \: V+ B7 }2 ~7 e
  831. INX  b+ k6 K. p5 T: D( H
  832. CPX #$05* R2 L& ]# X) ~! }
  833. BCC B_NAME_P2; B4 ~7 B2 w+ w( Z) x/ \
  834. LDX #$02
    ; m/ @0 F1 d% l- z+ J/ W
  835. JSR PPU_START
    0 z# P3 S6 i2 M4 _: K7 _2 i0 l
  836. RTS# w/ K" N1 r+ }- v

  837. : n  A6 l# d% o+ ]  ?  E3 ?

  838. & p+ k; L* u1 C: H6 d' y

  839. ! B# m2 M4 r5 |) j; N, ~

  840. 2 U8 q- k& z0 {2 o3 }
  841. 4 h( A3 T7 A  d/ b5 ]4 B" H7 `" m7 {6 @
  842. + I! H/ p! A# @/ \4 G% }4 o* w
  843. LIFETODEC:                ;十进制转换
    3 x1 ]; x6 Q* O! \( F0 K
  844. LIFEL1:        ;initialise
      U' Q9 ~) ~6 Q* D% y/ O3 [5 h* Q
  845. STA $7A00        ;$7A00=F3
    2 A* |% @. z, C: W+ m# O# d' d8 d
  846. LDA #$001 d) i( I* }1 ?+ F; D* [
  847. STA $7A03        ;$7A03=00
    4 S. p: \3 ^3 b) g, q5 q
  848. STA $7A04        ;$7A04=008 L# S) \% R$ a  e0 E; B* O7 m& V! C
  849. STA $7A05        ;$7A05=00
    6 h4 V2 e2 Y% u) _
  850. LIFEL2:        ;copy data $7A00 to 60013 j7 _* E2 d2 B* Y& G
  851. LDA $7A00
    " B# [$ _4 I  H$ k6 c
  852. STA $7A01
    / y7 K. Z: }* w; J: P

  853. # A" @9 o, z3 M" E6 F
  854. LIFEL3:         ;hundred
    3 c9 {- T5 J& t$ R( ~( k6 W1 P
  855. LDA $7A019 }, P0 s6 K8 B( N8 Q
  856. CMP #$649 I3 p* N+ t, y& x9 V2 r$ s
  857. BCC LIFEL6                ;$7A01<100 goto L6
    ; A  x. P/ ?1 r& ?$ k
  858. LIFEL4:
    9 `# |) v3 Y$ _$ N8 Z" Q1 E
  859. LDA $7A01- {5 w/ m) X* G1 ^+ r! H, [
  860. SEC
    ) j( V  W. L8 ^
  861. SBC #$64        ;$7A01=$7A01-100
    3 S2 j3 j/ s0 Z* N. I# H
  862. STA $7A01
    ; e7 [, h7 K! U. {3 G! Q, s
  863. INC $7A03        ;hundred++9 q. x) ]- \4 V5 S
  864. LIFEL5:& i2 @1 V$ D, v* V, Q7 O; h. {: t; M
  865. LDA $7A01
    . N6 G8 T9 R2 X5 @# K# {. p
  866. CMP #$64, e! q) t6 k' r/ B" Q. O2 D
  867. BCS LIFEL4                ;$7A01>100 goto L4
    , V& p, T4 X& B, R/ C3 `
  868. ' e- ~/ j7 A0 n7 _( H. O  e
  869. LIFEL6:        ;decade8 x# m9 B( z4 ?' D4 S
  870. LDA $7A01% m- u( u, o! N9 Y3 I3 ]
  871. CMP #$0A( Z6 Y$ {2 T/ [* Q! d) f
  872. BCC LIFEL9                ;$7A01<10 goto L9$ l! X2 U# w) d8 A( B* r
  873. LIFEL7:        9 T. [' g- A; @+ k* _2 `
  874. LDA $7A01
    # N/ _, ~& R! K/ N6 M0 i
  875. SEC
    - h7 K4 i0 @7 t1 `2 [* Z0 \1 d
  876. SBC #$0A1 a  F+ k* n1 ^+ a, Z1 L  [
  877. STA $7A01        ;$7A01=$7A01-10
    # O$ _; o9 l8 e9 w/ ?6 {
  878. INC $7A04        ;decade++& M) E6 u) B1 N( _: X
  879. LIFEL8:
    ' r0 X1 X1 X2 Y/ u( i9 f2 Y
  880. LDA $7A01
    : ?8 F/ r- S% k  ^2 A: c
  881. CMP #$0A$ B, u( T- k7 G3 B$ J2 I& a$ c
  882. BCS LIFEL7                ;$7A01>10 goto L7( R2 g0 z$ y8 c1 N1 I. D6 x" I$ _
  883. ;unit
    8 ~0 B2 N3 R* ]) _' `* H. D
  884. LIFEL9:
    0 L; V  l8 E1 R: l
  885. LDA $7A01        ;$7A05=$7A01( [- X5 ]/ S. Q* R% X
  886. STA $7A05        ;unit) \9 w$ R4 y6 g
  887. RTS        ;return3 I# a/ y+ m9 D* s7 M6 @
  888. 9 C4 ~1 g# R" ^# {: j) Y  L4 X
  889. & e! B# Z, d1 d+ R# [' j
  890. ( j! a: N" z# y
  891. PPU_PROCESS: ;PPU地址处理程序
    9 l- T5 s( u+ I( F+ L4 R  W
  892. LDX #$00: ?0 W4 J& w  X4 |5 z; m
  893. LDA $FF- P- {% A3 w9 d  I) N; z) w
  894. AND #$01) E5 O1 i6 G/ _' k$ O
  895. BNE PPU_2400_27C0* u- n; F4 l/ d4 g
  896. PPU_2000_23C0: ;命名表1
    ' v& c- _/ v' n7 ~
  897. LDA $0703  F$ G/ _' m0 g7 P* B* _9 Z
  898. AND #$FB
    ! B) R. H' o% B7 d: j9 `5 Q
  899. STA $07034 D0 A9 I6 a* z; t; w
  900. RTS$ _. m! Y6 Z+ {1 A9 x/ ?  g
  901. PPU_2400_27C0: ;命名表2
    % Y5 A7 L2 ~( T! \
  902. LDA $0703% `9 Q2 H6 A; c! ], e; G8 ~
  903. ORA #$04
    ) I5 \- K2 C0 x9 ^) I2 U% z
  904. STA $0703' u6 k/ N9 ^7 R4 @. }5 `) A
  905. RTS% i: l, ?  {2 O
  906. 3 y5 [4 k  Q9 t: S9 g* f
  907. PPU_START:  ;PPU数据写入9 ], n0 X& N6 W8 H2 i- W# H: i
  908. STA $21* Y, c$ H% ~9 x1 X" w
  909. STX $0701
    % F* G/ W6 e1 S+ ~# m
  910. LDA #$00* x7 Y5 P7 t3 Y( w* Y: I
  911. STA $0705,X3 N9 R" o1 Q* V5 \
  912. LDA #$01; {4 m' f' {" h4 c/ X- C
  913. STA $0700( l5 Q3 k! |! p0 z8 X2 F' T; ^
  914. STA $0702* f0 h# }* n5 h6 S+ K
  915. RTS3 @4 \8 ^- F+ p5 F- e( e* I

  916. 9 ~  K0 T# ?: I3 R7 G
  917. 6 z8 n# k6 {& I$ M7 K

  918. ' x  H6 E3 E7 |

  919. . p, x$ K8 Y1 @. E, Q5 I

  920. 5 Z- D7 x+ n& X) _

  921. * g, g, @1 O! k2 [! U3 K
复制代码

' D2 `" q0 ?' Z8 c- E. I1 m- |/ j

本帖子中包含更多资源

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

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

签到天数: 2214 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!- [4 O" s2 Y9 M1 @2 E

签到天数: 2560 天

[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-6-16 01:58 , Processed in 1.102539 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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