EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    4 t% Q1 x! r5 b& G2 [1 r
  2. 作者:FlameCyclone$ o6 O& I( n+ m" s
  3. 时间:2017.2.12
    ! I# U2 p4 B7 r( D8 u
  4. . C* g/ S8 @2 I- W% P1 V
  5. 按键跳转:8 w; g" h4 ?, x/ x+ ?# I
  6.         C1EF:95 F5 94 F1' b5 Y! _& D+ ]8 c6 _' X
  7.         C1EF:20 70 FB EA/ m1 ]& _& J% G5 _& N( Q
  8. , Y7 l) T. d* w( Y, h9 L
  9. 滚动偏移:: T: ]/ G% U3 y: x* {5 f/ T! m6 T
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20. C1 \4 A3 a1 h, U# ]' g$ ?  f
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    . i: N7 S8 O9 O5 z" U; {8 V
  12. 1 ^/ K  {! I5 y% V6 u
  13. 背景调色板:2 r4 T7 b( z9 {3 B( F  ^& ~& v
  14.         CF20:9D C0 07
    / M# a9 Z" J; @% j3 O' t5 s
  15.         CF20:20 A0 FB. \1 N: K. B; R
  16. ! [8 A  H' u/ y% i! g$ |
  17. PPU BANK号:+ D1 ~3 G7 z7 C! _, c
  18.         C8C9:9D F4 07; |' l5 o9 x- |8 @2 L; C$ ^
  19.         C8C9:20 B0 FB% Q) |4 G) |# L+ v9 ^) y
  20. 1 j9 p- w8 `. ?. ]+ N4 k& [& I
  21. 按键跳转:) N) o. Y" p7 m& |! ~
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    + D+ w; s, Z, L) l" u0 h5 n, q
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20# }: Q# m' ]: n5 ^( F4 Z* p  Q* s
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    6 [5 `0 w7 U0 A) a

  25. 2 t% l5 H" S& @2 N% Z5 `) A1 ^
  26. 背景调色板:
    9 Y1 t. ^$ M+ d6 B" y+ {3 }) R
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF% f( U; A/ b' l  t/ \- U/ t) n
  28. ; L; t# D0 m; V
  29. PPU BANK号:
    $ ~, L# V( P4 _3 P& A
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF# i" q# r: w! V: I8 d
  31. 7 e! X5 d4 L0 J) D5 t
  32. 滚动偏移:
    1 ^" [* ]" g. z
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    ( G6 }; }( ]* M
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    , f! d- V  W& W- P
  35. + d- g1 x" v' A* V+ r. T

  36. $ |! h/ r, a8 b+ |% w
  37. 切BANK后A000:
    1 C% ?# t6 J, `6 a  @
  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# W1 I3 A4 O0 Z  c( a: R$ }

  39. " v' L6 g- C- a9 E$ O1 r' u
  40. * ~+ U; @) T1 o  H. H2 x% f
  41. 6502 simulator:/ d+ o6 {3 B; h/ z9 o* J9 a. z
  42. PPU写入程序:* T& ~/ \3 t7 ~, r  ~
  43. .ORG $A0007 g0 c3 y$ \! b  g3 [
  44. CSP = $80" I6 Y: D7 Z' g2 q
  45. C0 = $81
    & h6 t9 C2 l7 ]; Q% `0 b8 i
  46. C1 = $827 F* e" V7 }" `1 i3 y) L1 Q7 [8 U
  47. C2 = $83  b; M* T5 q+ q8 r/ X0 }
  48. C3 = $84
    % H9 o+ |% x3 U  E
  49. C4 = $85. b0 j" q& h, l. [: y
  50. C5 = $86. l8 I2 X2 Q9 F" V4 d
  51. C6 = $87
    6 g' q$ I& M% N# d9 d# P  c3 @
  52. C7 = $88& b- t! b+ O% ~) S' |- D% V4 C
  53. C8 = $89
    / w. \, i; J- K# e
  54. C9 = $8A& Y& B4 m# I7 @9 r/ K" V
  55. CA = $8B
    ( S3 X* E0 v' T1 c: v& h
  56. CB = $8C
      E, s; }5 }( b8 g4 _# C/ j# f
  57. CC = $8D8 \8 }- d, O' I9 b* g8 u
  58. CD = $8E
    . h& b' E- m+ u+ Q; r1 d
  59. CE = $8F% p! u" w/ g. C% c: w" v1 q; i
  60. CF = $90
    % L) M/ C  P" L
  61. CG = $91
    1 j- L* z6 i# W: k5 \
  62. CH = $92
    ; B& |4 e, p2 T; O3 e9 W
  63. CI = $93
    ) x  F& a: j7 |0 ]7 a  g( y& l/ f
  64. CJ = $943 Z" ]  ~, o- P9 ?$ H
  65. CK = $952 y2 D' v( E% j$ \* t% ~
  66. CL = $963 l  z6 u7 K' Y" u" O( v  b
  67. CM = $97/ s) i& o( ^7 j3 U+ N: R( u& U
  68. CN = $982 x- P  k; y3 M0 _! C
  69. CO = $99
    5 d4 [" f- m! I7 o6 I
  70. CP = $9A: k6 o+ `. M) L6 d+ O/ y
  71. CQ = $9B8 b2 G* B( L, u1 g$ N3 K7 [
  72. CR = $9C
    ' n1 K, W8 W7 M$ W" u8 Y
  73. CS = $9D0 m3 ^0 q/ O- x, i6 H
  74. CT = $9E- g- K) _( ?8 Z9 T
  75. CU = $9F
    ; ~) Q& D) R' C  m' d" _5 H( I$ G% L
  76. CV = $A0
    # r& K; t6 r/ @: v# _3 [- l
  77. CW = $A1# B- F3 a+ U; ]
  78. CX = $A2$ s! f( A) O" d
  79. CY = $A3
    " O# T7 U0 a, w$ G3 d: M0 F9 H- V- {/ Z
  80. CZ = $A4- D3 H- w" j" I7 ^) o
  81. CEND = $FF
    ) T9 s" X- j  N0 F7 _0 g- o" B& l  L

  82. * j& E  u) Z9 M  o' q
  83. + z. H* q% N/ u: x# @. j7 ]
  84. CMP_RE:6 C) K& r! @, u$ ]  T( x% B, V
  85. LDA $FF: y. X3 P  t/ ^2 ~
  86. AND #$7F4 l  d0 ~! V  a3 r6 B1 U1 z: d
  87. STA $20007 }+ T& N$ x$ I  s8 c0 u2 y& B
  88. LDA $2002
    5 _1 V- {6 q" R, u6 D3 J3 A
  89. LDA $25! p* x4 X+ G4 P2 X
  90. CMP #$01
    7 i6 W+ @5 |+ C  x9 D( ?6 C
  91. BNE PROREG$ o9 B  }  t- g* [" `! t# G! ]
  92. LDA $F5,X! h: g' N: g. g
  93. AND #$CF
    2 {3 ~- X/ _  v2 J0 o  v6 _
  94. BEQ PROREG$ Q) K8 U* J# X9 g! E# q
  95. JSR PPU_CMP
    ; N; x0 L5 `/ u+ a
  96. C_RE:
    - Q" J9 |3 j4 d; e% O' W
  97. RTS& e% d, A; N" D! R1 }& C3 _
  98. PROREG:
    , Z, N/ ]( @, Y1 u$ Q
  99. PHA
    5 E7 ^3 U  w, C; \8 v
  100. TXA
    0 H6 y3 t7 x/ j8 ^- r' ?! D) O$ E' H
  101. PHA
    3 f/ y: o2 ?6 f6 X
  102. TYA
    , t! J$ H  o3 r; V$ `& p3 P
  103. PHA
    4 z5 J3 t% {5 P* n
  104. LDA $25- f  m. n3 S: Y- d3 A
  105. CMP #$01
    6 q" u2 H* V3 W) E
  106. BNE RE
    ! L) Z" I+ e/ [( o/ _: I' Z
  107. LDA $010A# {9 j; @: [# c) k* g5 e0 {
  108. CMP #$00" \- p# h: y" x4 E" ]* x& n% I% f
  109. BEQ P1
    . {% I! J8 s0 P! j+ N1 I

  110. 2 j4 ~  _* |5 x, Y6 h. h+ i
  111. RE:
    # P4 j, _7 u. j7 q( h# d4 C3 h; c
  112. JMP PPUWRITE
    3 r, w/ @, N0 z8 w, m. y
  113. 5 E4 l( ~  D! l& Z. J# ]
  114. P1:                ; 条件判断
    ; N& Z: l! m4 U" L% }
  115. LDA $7FFF7 A: |" Z6 N+ {+ B
  116. CMP #$FF
    # P0 M9 N5 T7 L
  117. BNE P1RP! K- }! T0 r9 Y' q- I7 s
  118. LDA $7FA0! {  X6 I1 T4 b& ]! X3 M; e6 d( q
  119. CMP #$00
    $ Q$ Z1 x# H9 C3 n
  120. BNE P1CMP" g5 W- R; M6 N3 g" r, z5 g, k7 D
  121. LDA #$FF5 G/ F6 }! _6 U
  122. STA $7FA0
    ! V3 {* ^; ?. Y3 y( Q3 t' F
  123. JSR CLEANA+ z: {$ x: e0 F4 N0 }/ l2 {
  124. JMP PPUWRITE" z+ \9 w& Z: [  F# Y7 w5 X
  125. P1CMP:
    / F8 {0 @  k" w7 t- `) K" ~  s
  126. LDA $7FFF
    % G# S" a$ P" P3 _6 Y
  127. CMP #$00
    # W# b- \( ]( U
  128. BNE RE
    1 E' J7 \! v* @" Q/ M" O# p( k
  129. P1RP:
    2 k& I% Q% y' T; t. t8 q
  130. LDA $2002
    ( M! R+ q  {, ~! C7 u
  131. LDA #$00
    : k/ Y! j1 i! ~( _$ B1 I
  132. STA $20011 c% D: Z) w4 N  A
  133. LDX #$00
    + \( D3 e- @6 [% I
  134. LDA #$FF: j8 Z3 G! O9 \6 D! C: L) Q
  135. STA $7FFF
    - D: h, H* h3 ]# r. m0 @# A* F
  136. STA $7FA09 w* _- @' E& y- h4 M* d
  137. JSR COPYPPU
    1 M3 s0 q" o+ V& Y' q
  138. PIRP2:. T% h: a" O7 j$ H* y9 U$ x* L: ~
  139. JSR CLEANA
    9 e) e' o) m  N6 V$ b% m
  140. JMP PPUWRITE
    ' B5 c: Q  }- d
  141. % Y! x) |, Q: _  h2 [7 F' |
  142. COPYPPU:& F' @$ }- S( f7 L9 W5 B# R) f4 W" @6 V% D
  143. LDA $FE9 {2 y5 m! @, l
  144. STA $7F50* O3 }1 h+ w. [! b: J0 @: v7 e
  145. LDA #$08
    8 f& \' u# L% Q' u8 @
  146. STA $FE3 V1 |( a8 ^+ N! d
  147. L0:$ u! q& v! ^  p/ v9 y  X2 H
  148. LDX #$001 T: w; ~: C$ W) Y3 M( s% V- t
  149. COPY_07C0_07DF:
    ' T! D9 Z- D3 Q2 D0 n
  150. LDA $07C0,X- p9 ~* Q! W4 d; W& ^; Y
  151. STA $7F00,X
    + |/ \) O0 C; X$ |
  152. INX8 w4 r1 ^# Q: |5 P  i
  153. CPX #$40: |3 G+ G5 U& P1 n* G2 A6 E8 ?) j
  154. BCC COPY_07C0_07DF
    1 W/ G/ X+ K* W- n# h: @- C
  155. LDX #$00
    1 M7 H/ z5 \! J, k9 X
  156. PPU_07F4_07F7:
    % T" d  ~% r, x1 f
  157. LDA #$00
    3 ]# W8 X# x8 q6 J8 |0 Y3 B# B
  158. STA $07F4,X
    3 Q4 _% G4 ^$ m! w, v: c4 |" l- Q7 c
  159. INX- ?. t) V2 w' |% g
  160. CPX #$04
    * u1 _9 y, J3 M9 l/ o
  161. BCC PPU_07F4_07F7
    0 Z* z+ w; \' C) I& `
  162. LDX #$00
    7 E: y- E. s5 N/ @$ m2 N
  163. COLOR:
    - V7 |- p3 j# N- g
  164. LDA COLOR_DATA,X
    ; |) s6 L4 \- p% o
  165. STA $07C0,X$ I; S8 S, j# @
  166. INX: _" J0 A1 f& Z' m5 N( F/ \
  167. CPX #$104 y- q) G8 ?5 o4 M- m
  168. BCC COLOR
    ; Y6 m& q. i' H9 G  K
  169. + G% m; W$ o* R) g
  170. PPU_COLOR:
    ' o! H  C3 p1 Z& c
  171. LDA #$3F
    ) C' |/ J! K+ f0 u
  172. STA $2006
    . c/ _- z4 G* o  @$ [2 G0 ~6 l( F1 \6 C
  173. LDA #$00/ R% }7 Y1 p3 l" n, h# I
  174. STA $2006
    ( B3 N9 x* j0 `8 o" p' N; T" R0 f
  175. LDX #$003 Z% q+ F9 z& O  u9 c) O! F
  176. PPU_COLOR_W:
    , H: I5 I7 w7 v& Z* u* v1 F
  177. LDA COLOR_DATA,X  ]: n3 V9 r& p. q! P
  178. STA $2007
    0 T( g; F  d9 K" S* L6 K+ k
  179. INX. Q& s* {8 C1 d8 |
  180. CPX #$107 i/ E) P. N% \- t0 G; Z+ W3 P
  181. BCC PPU_COLOR_W
    1 l8 R; ^) p" b4 l. x
  182. % g5 S8 J& b9 E! h' q* Y# E8 H3 f
  183. 1 B' ~5 _7 Z  r$ g( v0 ~7 i. b
  184. LDX #$00
    ; k8 Y( f: t( G$ r1 F& a/ |
  185. LDY #$00
    + R9 ]5 [3 @1 R
  186. LDA $BD. U" Z, o/ o3 n! N# b. Q
  187. PHA
    1 H/ Q8 p9 u0 y! r* e: B, e- R. l  V
  188. LDA $BC
    9 b/ c6 ]; n$ A6 q
  189. PHA( r2 H- \: a2 |( b  |  o
  190. LDA $BB
    4 J" w  E9 \& p0 b+ ]
  191. PHA2 J6 m& `6 U0 i/ o
  192. LDA $BA
    + S9 A4 O% I9 P8 q4 Y
  193. PHA  G3 a" e& H- Q* S
  194. LDA $B93 m" S9 f$ x8 S) K, F$ Q9 A, B0 f
  195. PHA
    . h2 U0 O  N- ]5 t5 a, d- q1 D" e
  196. LDA $B8: i8 R' D$ O  q( v, \
  197. PHA
    5 q: |. G% ~  o# }: ^$ K- c" ?, F- D
  198. LDA #$00! Q7 U8 W8 Z' @' @
  199. STA $B8! W+ J" K+ y) |+ D# L9 d; g
  200. STA $B9
    8 Y* z- u! T# P* }4 D! b
  201. STA $BA
    7 _, h4 e4 L1 z; {3 c+ X8 N
  202. STA $BB
    1 g. I+ [3 N9 a' j; s4 R0 @, z
  203. STA $BC
    5 M7 e3 V" p. q
  204. STA $BD
    9 g) `% p- a, s8 {' P0 C; j0 h
  205. LDA #$00
    . u  o6 L" v: j7 b: C& u, y7 i: N
  206. STA $BA$ [$ V4 S+ f7 b- q4 D5 X
  207. LDA #$20
    4 c  G& b- `* [1 c; k8 W
  208. STA $BB
    0 e8 g2 X1 z& w1 k
  209. LDA #$00* ^; `1 V; U" P- ^. k" Y3 o
  210. STA $BC6 \6 L8 R, k% ^( `6 V3 e
  211. LDA #$60
    " U- v2 s. _& Q# Z3 _" \
  212. STA $BD
    9 T- @$ q8 i+ u
  213. 0 t  Q7 ?8 U+ Q* f% [& b5 Q
  214. L1:                ; PPU复制: k! Q1 q5 F2 [% r0 {
  215. LDA $BB
    2 Q6 s0 |3 Z- Q9 s
  216. CMP #$28
    5 _0 |) H+ Y. q3 I- |, a1 R# O
  217. BNE L2
    ' S4 q# P. f; ^# d4 K# R
  218. LDA $BA
    / u) o+ G- Q) L8 h1 `" t* R
  219. CMP #$00- \9 A. I% R# c% j
  220. BEQ PROADPLA2 J* I3 L' c" l6 |7 Z- `) R' F
  221. $ U* K7 u+ g6 v% p/ M% S( Q+ ?6 Y
  222. L2:+ u  ?  ]. z. P( \4 `5 v3 m- _$ {( ?
  223. LDA $BB4 k) V% i" k$ p. G9 A
  224. STA $20068 N4 [0 H+ m. z- j+ Q2 f
  225. LDA $BA
    8 L+ c! ?0 K, C0 i% k
  226. STA $2006. Z6 t1 n( @9 L

  227. $ k0 ^$ n( D# ~5 |0 }9 a
  228. L3:
    * A: m' t9 l3 g. }4 y; a% \4 V& s
  229. LDA $2007
    6 j2 Y9 j1 |; `
  230. LDA $2007- \- a5 [6 K4 E' j6 [( D
  231. STA ($BC),Y
    % u6 S# S# h( [

  232. 6 [4 l- n" w- }. g$ a6 T5 L6 R
  233. L4:
    7 E9 b. k) ~! F& K( h
  234. LDA #$007 V$ {& l- `$ q* j2 Q
  235. STA $2000
    1 D- R1 v" `7 z. U/ \
  236. INX
    1 X) y" F# L* P$ {3 {; N2 F
  237. INC $BA
    2 C$ H- @* m: _
  238. INC $BC' E) H' _" r' K) p1 h4 b7 _
  239. CPX #$00
    5 J( P$ Q7 v( s" [8 U1 c
  240. BNE L1
    ; J" q. b$ A/ V( B
  241. INC $BB7 \/ ]9 d$ G, z) D8 {7 C
  242. INC $BD4 C7 j  w9 i& v- Q
  243. JMP L1
    2 e4 `" b  [* U  u: G0 D5 E
  244. % ?6 w/ X6 }+ Z+ m8 p, w
  245. PROADPLA:                ;出栈
    # b- o$ i5 b0 P/ P! m: Q
  246. PLA0 c% m; r9 d, ~/ N2 ?! `- s
  247. STA $B8
    , s  ]/ }1 G* p5 }
  248. PLA
    / l1 N' }7 a$ E% ^1 U
  249. STA $B9
    ) Q( I  x2 c0 g  d
  250. PLA& \3 m0 v- ]3 A! ~
  251. STA $BA& ^5 E) l6 S* F. Y+ m
  252. PLA6 g& n# l6 _6 j
  253. STA $BB0 R( E* x8 G1 p$ E  Y" \: Y' L
  254. PLA0 D2 J3 n' l9 v; s6 z
  255. STA $BC
    8 a8 r- {7 i9 P# I1 q0 e9 }! K- x
  256. PLA, i. [, W, O3 N+ X. W/ H
  257. STA $BD
    / b; D1 D" N2 u; b3 [
  258. CPRE:
    ! H: C4 N' m/ n9 Z/ ^
  259. RTS
    5 X: ?1 b# r! s

  260. 0 s) \/ v/ w& x$ o8 `5 ~
  261. CLEANA:                ; PPU清空
    3 B1 t8 U, ]5 b0 _# i5 K1 X
  262. LDA $BD
    2 H5 k! W1 {5 B# {/ p% a
  263. PHA- i" e5 Q0 ]  `8 Z
  264. LDA $BC
    , j0 M: z, ]' J3 v* f4 B. q& u
  265. PHA4 f! `% q0 o- W( C3 Z$ f$ [
  266. LDA $BB' x7 b* q2 K( U: S. W. R/ P5 O
  267. PHA3 o' Y0 G7 k7 T1 N, j' ~/ A# I4 q; o
  268. LDA $BA  C1 U0 F' T2 e7 L1 F" v
  269. PHA* n: ^* R, x1 r
  270. LDA $B9
    $ [3 `- {" }0 h4 B
  271. PHA
    0 {! X/ x5 B& Q
  272. LDA $B8
    " X$ N6 X- J5 f% B1 z2 h
  273. PHA
    5 x% ?3 n, W; U6 K; z
  274. LDA #$00
    ( a( b1 f6 u! Z/ w+ ?$ P. p: H
  275. STA $B8
    . J3 x, W0 c+ _- E. l: q! Z4 L3 F* P" \
  276. STA $B9& c% N. W: v% m9 I, }2 C
  277. STA $BA  ^- b' E+ \- o1 |+ Z
  278. STA $BB
    & G  r% c$ c& o, {2 J& o8 t8 ?$ `
  279. STA $BC
    ) u! u$ @& X5 U( [
  280. STA $BD
    3 Y9 C  b1 t2 t' I$ W" E2 X8 k" {
  281. STA $2001
    $ ^$ l3 ]* s7 U4 B
  282. LDX #$00
    6 j5 J) l6 v" t4 ?% A+ a1 q4 S& A6 x
  283. LDY #$00  m+ j, z( w) C- o. B* G
  284. LDA #$004 L% S5 v/ w/ z1 t9 i
  285. STA $BA
    , h  j1 H, o* u0 F! J& n
  286. LDA #$20% Z/ @% P+ o" ?' B3 E  d/ b
  287. STA $BB
    * f" W/ a* W3 i8 a2 F- L& t

  288. $ E# |/ ?8 f# I, P3 F  p* t% y: M
  289. CL1:
    . V8 J5 I& D6 s* i# s1 p
  290. LDA $BB
    ( S) b8 |! X' ?- W" x  P8 I9 |
  291. CMP #$28' H) D# ~( l, O8 t# i. z
  292. BNE CL2- s) r6 n# r' x' q
  293. LDA $BA
    9 M6 ^( L/ e* b$ V4 Z
  294. CMP #$00
    3 W6 s- T9 g& |  l5 q
  295. BEQ FREEWRIYE" b1 d5 Z4 o9 d; s

  296. ' q. }* A9 I8 q- ^
  297. CL2:
    ; V  n9 Y6 D4 Z2 B/ Y" y# P
  298. LDA $BB
    ' E" G* r  B9 w6 H1 [& \* j+ g  |! l
  299. STA $2006
    " r2 [& {% M% h  k7 ~3 n
  300. LDA $BA
    ; n- G' U1 h+ y7 q7 q$ m
  301. STA $2006
    / e8 n3 j, N) \: h

  302. . v. h% p+ r/ }( R& R4 z0 f0 K
  303. CL3:1 C* m* o/ W" y2 X$ s/ N* G. I% |
  304. LDA #$00/ i  ~& F: c. [$ N0 u. Q7 G4 p1 o
  305. STA $2007! G, F, l% T( _/ C9 |1 B
  306. . v3 _+ A; M6 D( x% O2 `+ O
  307. CL4:
    8 a% V8 S5 R9 I, }$ @' V8 ^
  308. LDA #$00& q9 F) `- m3 m* }% l# B
  309. STA $2000; Z! e# ?, m: Y, B
  310. INX
    / r. O/ |" z9 q/ Z& C
  311. INC $BA$ g) _" k$ `8 y- L# b, j$ o
  312. CPX #$00
    6 A5 G8 ?/ A# ?( g) R5 w2 }. ?' G* _
  313. BNE CL1
    4 q9 T$ a3 U4 N* e  r
  314. INC $BB% T1 H; b3 M, D, k* N1 D* i
  315. JMP CL1
    ! H9 X! n3 v/ }

  316. : W% S% x- x8 m. n

  317. # A6 \! y. H6 K: T& l, c
  318. FREEWRIYE:: H0 Q' ]% ~2 G8 }

  319.   f8 M, ~( _: E3 z
  320. NOP
    4 z/ A* v9 C9 R9 d- ~
  321. % z& A: S8 H. j- ~
  322. , [6 z3 \* d; R1 r) H. a- J$ L

  323. 5 w/ z- i9 f5 M' ]) o" A1 m

  324. 2 ^% c( h" m7 Y' _. ]+ v, y
  325. 9 `4 e8 P* x6 ^1 d& a
  326. CLEANF:                ; 恢复现场# N. u( K+ G3 O6 ~6 @
  327. 7 d" \5 J8 Q( M; x' G2 k
  328. PLA$ _9 P! K: K" r
  329. STA $B8
    4 \# d5 p, J" W# V& E8 d
  330. PLA% {7 i, _6 g5 W0 {
  331. STA $B9
    " X  y, b: a; e( A, n3 Y; o  p
  332. PLA
    ) M+ A8 \2 ^+ ?* ^  [
  333. STA $BA
    8 `& ~  k+ d1 ~2 h9 ~+ Q
  334. PLA
      T! @- d# O' ?0 P7 y3 U8 v, r' Y) M
  335. STA $BB
    ) z. M- _! s4 l! g" T
  336. PLA
    5 ~& \# v; B1 X, t' F* G) `
  337. STA $BC
    , z% Q# N2 Z" u8 F9 \$ M
  338. PLA, ]. w: Y4 A1 X! _2 j1 l
  339. STA $BD% j; i0 S% Q; Q0 l4 d6 V
  340. CLRF:6 M5 V1 I5 W8 }; ~) g7 M, `& H+ w
  341. JSR FREE_PPU
    - I" [% d- Z! b& E1 ^2 X1 T
  342. RTS
    2 A% }* C) G  |7 M! u9 ^
  343. ; n5 a; U, ^, b4 @* _! C3 q, G
  344. " v$ Z: E; f# e' `% a- G' p
  345. PPUWRITE:    ;PPU写回  j( k* v/ z0 O, v1 c
  346. PLA
    + }( ?, |# ^+ c
  347. TAY$ W3 W" I5 Q! Q5 c: B) d" |
  348. PLA$ |/ x2 G2 i1 y! v2 f. r8 H
  349. TAX
    5 Y$ v0 U$ S4 M4 q/ l/ r
  350. PLA8 I0 R7 I, o# v! W' u5 K
  351. LDA $25
    9 u9 |* Q: v7 j5 l" c( a; }0 o
  352. CMP #$00) s- }$ S; @+ E% z
  353. BEQ WP1
    3 P! p  A1 \# \1 f4 I& P
  354. LDA $25
    2 ]" h( |: H- B
  355. CMP #$012 @' G( K( ~/ _) y/ t! u
  356. BNE WRE6 |' \; ]  q. k" d0 J, G
  357. LDA $F5,X9 N7 d- l' q8 S7 a
  358. AND #$EF
    / X2 A( a$ r, u% a
  359. BEQ WRE
    : m( G$ a' C# ~1 X
  360. LDA #$00! Y# z4 G! o1 `5 e) J
  361. STA $7FA0) H2 H! F4 ]) z9 n# n/ f4 b$ K
  362. + F' V# `. [9 {- ^' L7 P# ?1 Z) h
  363. WRE:! t" I7 G7 T/ V) z
  364. RTS) I1 p  p. U$ v5 a( A# J/ B
  365. # H) R$ k/ |/ p( G8 R" o; Q1 d% x9 u
  366. WP1:: F$ }7 K% L" s: Q% S8 b/ b8 i: m
  367. LDA $7FFF' F" z* l$ ?" Z8 F; [
  368. CMP #$FF
    ( E+ ?+ a* M9 Q9 S! p" h
  369. BNE WRE. H5 s( _. j& r! K0 I
  370. LDA #$00
    9 I9 b6 B! u3 l1 c4 G
  371. STA $20010 [7 M8 P+ x$ B
  372. LDA $BD9 z: b4 a% f1 x: l2 \# ~
  373. PHA
    9 P3 y/ x$ f# s% ?* Y+ E
  374. LDA $BC) S- I) L1 }7 I0 A$ P
  375. PHA
    1 Y/ P' p5 {3 a% a# ]( H
  376. LDA $BB
    " J. _  H! [2 T3 i5 r2 t; p" A
  377. PHA
    # @5 k- e1 M1 B# {
  378. LDA $BA& Z0 o: \4 `: N- F
  379. PHA2 `3 h( G5 ]5 Y
  380. LDA $B9
    & I0 H* D! d9 t2 c! |5 f% B: i
  381. PHA
    & e$ ?) c: k5 ?( b1 _
  382. LDA $B8. N. {# O1 `0 ]; \% Q8 Q( Z& c
  383. PHA
    ; ]2 @# P! _2 B* `( D2 _! k  [  J+ a
  384. LDA #$00& c  T! l! i; u" M/ h8 U3 v
  385. STA $B8
    4 `2 V2 J$ ]# I4 \  B
  386. STA $B9
    4 Q' b- c3 l  ~3 ~3 C
  387. STA $BA
    4 \, _, d& o; V; p/ o. a0 m
  388. STA $BB8 }- }7 C5 m- l5 S& M
  389. STA $BC
    7 F  X7 b5 W" K' e0 d. w7 }
  390. STA $BD8 b  a9 l8 A3 z, b( f. O) O8 E
  391. LDA #$00
    : R# p' Z/ ^2 v* r' C
  392. STA $7FFF% u1 X9 @" b& l9 ?& }: n- l
  393. 2 H5 x. {+ {4 Q' w
  394. WL0:
      ]% k$ h6 n+ L5 T2 y& r* K- S- J
  395. LDX #$00
    ' f. W& a7 A( `0 V2 U; i2 @
  396. LDY #$00
    $ M: w4 w  I% R! |
  397. LDA #$00
    7 |9 D2 C6 Y- y
  398. STA $BA- j# b* J5 y8 U( S
  399. LDA #$202 N& L2 ]6 z1 N  N, t' _! E
  400. STA $BB  @  N. G( u# D2 r2 r: G7 z* k5 a
  401. LDA #$00
    . g) d/ U  X% E$ D5 Q6 i2 N" o  i
  402. STA $BC7 t' f( u$ I6 `+ Z
  403. LDA #$60/ Z- e" }' K: e( Z& N6 ?
  404. STA $BD
    ( Q( _% a% N5 Z" G
  405. $ G, C! R( H% N
  406. WL1:9 _; y& x' k0 r/ y- b
  407. LDA $BD
    ; g; `& ^1 o9 N! Z" z' k
  408. CMP #$68
    9 g8 @$ O- E6 P& ]" s3 l
  409. BNE WL2
    & m3 C' {! W, E5 ^* Z! s. p
  410. LDA $BC
    % g9 b% n) @" m: q1 t" b
  411. CMP #$00
    4 R7 G- Y8 X. B1 k6 \
  412. BEQ WLR
    ! D  c7 z# @" G0 l0 R3 f

  413. ; [! P: h. @; @% m$ W+ W& l  ^
  414. WL2:5 C! a1 g; ]4 M! o. \( D! ]
  415. LDA $BD
    " w6 O0 X1 h- e+ C  L
  416. STA $2006
    $ }' l$ J- N' ~3 e+ c7 g
  417. LDA $BC# _9 |/ l) D) \% v6 ?& i+ [% L
  418. STA $2006
    , U6 P7 M+ D2 V0 @5 N2 N6 v

  419. 9 d( l2 L+ j0 O/ y9 _
  420. WL3:  l5 z9 {# U4 |1 t4 ^9 X4 J3 R& F
  421. LDA ($BC),Y5 S! \) {% r4 {5 H: o% G& B& t6 A
  422. STA $20074 i# W! A6 \( `- S

  423. $ z% Y" [4 d4 n8 s  B7 S
  424. WL4:' I/ ?/ d1 E4 Q1 @7 z& @/ D- R4 [
  425. LDA #$00+ I) a( ^1 k" Q" v% G% ]$ {
  426. STA $2000( L) i. G7 `6 T
  427. INX" M2 T/ }# G3 |
  428. INC $BA! ^2 v. d, d  d
  429. INC $BC
    3 c5 e& p9 i: m, z7 s
  430. CPX #$00# ]1 o( `' i4 |  D# R$ n6 W8 r6 s
  431. BNE WL1
    ' {$ P+ X. c( y3 A& a- X7 N4 M
  432. INC $BB
    . @8 N7 i. A! `% I7 }! O) a
  433. INC $BD% m" }( \, M5 a* M/ I+ ?
  434. JMP WL1
    & {- V3 s8 w' M4 V$ D/ `
  435. 8 l0 r9 E. O5 d" D
  436. WLR:; h. z0 ^) o* o9 W0 V) @
  437. LDX #$00
    # e1 q! a  X( w' S
  438. COPY_7F00_7F3F:( t9 p! q2 N1 u- b) |
  439. LDA $7F00,X
    4 w9 F8 h5 v( b
  440. STA $07C0,X
    4 s: ~) M# K1 d, J( j, Q, L5 p
  441. INX7 Q3 O5 r% \, Q, ?# D/ F
  442. CPX #$40: {  A/ p8 T; G; c  d
  443. BCC COPY_7F00_7F3F) y4 A  ]' X8 B3 R% F5 N( Y; g
  444. & o8 j1 O9 f3 ?! l
  445. LDX #$00
    8 }" W: e$ ^* x# Z* o/ N
  446. LDA #$3F1 |* S; T" ?* Q
  447. STA $2006
    7 @. K/ @! i' L0 z$ I
  448. LDA #$00
    + @# _7 H% r( n! k  `- h% ]
  449. STA $2006& i# ]4 X: M$ \! N% C
  450. COPY_7F00_7F10:
    / Q+ _# b8 ]- u4 M/ O
  451. LDA $7C0,X4 B8 k' S, w* O% U% S3 t: V8 A
  452. STA $2007$ Q$ ^  w6 X, h- @0 x7 X/ v
  453. INX
    4 u7 ~- N! S2 U9 p0 E" D/ @
  454. CPX #$10# h# e2 n! |2 D& U: Y2 J( C+ ?! H, @
  455. BCC COPY_7F00_7F10
    1 ]1 h7 R/ g5 M1 M* G; t# C
  456. / @) P: Z, j  A- z& z7 {
  457. LDA $20023 {6 p' J- _' S, u9 w+ s
  458. LDA $FD
    6 X4 D1 A* b8 H
  459. STA $2005
    , R( Q4 H  M  p' {3 L3 f
  460. LDA $FC' @1 q; M8 I! B' }; j: w8 t
  461. STA $2005
    + k3 n: M6 c+ g0 h

  462. 1 q& j$ _6 f# \! W, p9 J$ l
  463. LDA $7F50
    5 r2 ]6 Q$ K7 {/ V6 L! ^" u5 A
  464. STA $FE
    ( I1 i* g7 ]; u$ m+ S) E
  465. LDA #$00+ R6 _# ]3 |5 _% _* w
  466. STA $2000
    % X0 y0 X; [/ Z# m: }* i
  467. PLA
    $ g0 p9 h, `4 B
  468. STA $B87 k8 [; \6 x7 L4 f- p* T! V8 k
  469. PLA
    ) r2 d) F8 O; u( n5 {
  470. STA $B93 h' ]) I+ S7 U5 y
  471. PLA
    1 G# \% c5 a; `" J" B" h4 t1 O
  472. STA $BA6 n) l/ k" R/ t. r$ T* O9 Q
  473. PLA. M; h8 S3 P0 _
  474. STA $BB
    6 w, i# C) x9 B
  475. PLA
    9 q) B+ l7 C4 P" b; W
  476. STA $BC# J) U' R* @! {& T/ c" F# z7 p9 h
  477. PLA) a. [# e8 l/ g
  478. STA $BD7 y! C8 Z0 t0 T( v' O  A
  479. % ]  c3 n! {0 f0 i% M; S5 n
  480. RTS5 l( Q- {$ F* H* U
  481. 6 x( P6 K4 Z5 h' [* V8 s
  482. PPU_CMP:/ f1 ^' m( z( Q

  483. 0 X; `, B) [' V  @) B/ s. Y

  484. 9 [+ C7 A' {6 L  T+ ~
  485. PPURE:
    % o) d& p8 a7 Y: R; }1 \
  486. RTS% ^$ g9 j- q/ ^, @" d# Y' m% }

  487. + k: a6 I  ~8 X! L. ^  }8 J
  488. - |7 E0 Y! l/ W1 C# n: _6 y) @7 d
  489. FREE_PPU:
    : p/ {4 M0 P4 w. d9 P' O, h

  490. , U  e" v) o+ ]5 m5 L
  491. JSR TEXT01_PPU* B1 D$ w: L8 Y! a% n6 p
  492. JSR $CBC0
    2 P- X' K  `0 P7 A# J5 r
  493. JSR P1_PPU
    . }& i* e% q7 x, `# B! P; \
  494. JSR P2_PPU
    % a: Y( E* B& b; Z
  495. RTS) s" r( Q. D# C5 [% \! D8 K3 k& h
  496. 0 g: T% K8 {% }/ x
  497. TEXT01_ADDR:
    7 k& {+ O1 p/ W+ J$ ?9 O1 s
  498. .BYTE $20,$420 O1 x' G# h" ~& L6 `" X9 |
  499. TEXT01_DATA:6 v/ j* c% v8 H. |8 {, m# d
  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 w/ n8 D1 b, ]  n  a
  501. TEXT01_PPU, V3 D# H( m3 L( W9 W* Y& e
  502. LDX #$00
    7 B8 Z8 P0 m7 F- u* P
  503. LDA TEXT01_ADDR
    2 C3 g; ^; Q$ e. i
  504. STA $0703
    + X' b5 C6 f" c1 b: a
  505. INX9 _1 j: w+ G3 i
  506. LDA TEXT01_ADDR,X' |" y$ M$ N! M' f. S$ ]  X. M3 W
  507. STA $0704' Q6 z! ?/ r0 L2 i
  508. JSR PPU_PROCESS$ X, f! G; \; W, t: C
  509. TEXT01_W:
    + v- t. Q; ?: |% e# [
  510. LDA TEXT01_DATA,X
    % V0 d5 q; ~2 B1 O, b; c6 h
  511. CMP #CEND5 j8 H) g  B4 Q; t/ \0 q  [
  512. BEQ TEXT01_START, I% j3 w/ N- G+ q
  513. STA $0705,X% G9 A: @7 S( e; c8 G: ?2 C
  514. INX# c8 Q& z, K7 x! _
  515. LDA #$006 s# L% P' q1 B; h) L5 s
  516. BEQ TEXT01_W5 j# `* S4 j1 ?& L
  517. TEXT01_START:2 P3 E& |; A9 e, H( ?, t
  518. JSR PPU_START7 ]4 a) G" T  s
  519. RTS
    $ P4 a( Z+ W: @4 w4 |0 \# p6 s+ u
  520.   x9 [: C- C: @$ |- x4 T$ A9 T& e

  521. ! i; p7 x# @: d/ q# r
  522. COLOR_DATA:
    " Y$ _! x$ P. A5 C$ h7 E! c
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    0 ~) T9 B0 B! E$ c3 S4 h2 E

  524. * G$ j2 H$ l9 i$ M) M
  525. P1_PPU:
    ' c$ Q$ t5 l; N) t% K2 c, S/ P
  526. JSR PLAYER_01_PPU* N7 L; ~, J; F
  527. JSR $CBC0
    9 A  q1 x- x" N% Q# z' t! V
  528. JSR RELIFE_P1_PPU
    - s  h2 f4 d1 N% K
  529. JSR $CBC03 v9 z9 z7 v8 Y, \& y3 S4 J0 b1 G
  530. JSR RELIFE_NUMBER_P1_PPU
    & l( E) |$ J' L4 _" y+ G
  531. JSR $CBC0  m4 Q- X4 M/ f* n* K
  532. JSR WEAPON_P1_PPU! K+ G) B- x9 @% b2 g% h3 l
  533. JSR $CBC0
    / L; X& }" R' O( B: R4 ^
  534. JSR BULLETPPU_P1_PPU
    : G! F5 j& _, S* g
  535. JSR $CBC0; |. h3 Y$ {$ S; f
  536. RTS
    + D  w$ L, _0 n! y

  537. ! Y% q6 z- }: H$ _% f
  538. P2_PPU:  a. B, C8 ]' R+ f+ h% B% L
  539. JSR PLAYER_02_PPU: Z3 Y% m( C- p  x1 l
  540. JSR $CBC0
    , T4 Q* |" ~8 m4 h9 m0 E
  541. JSR RELIFE_P2_PPU
    7 K6 Z8 h" w5 [, c1 }% z) `8 f
  542. JSR $CBC0
    / t, Z$ b3 I& E
  543. JSR RELIFE_NUMBER_P2_PPU& q- @! C$ q$ w4 N# `- ?
  544. JSR $CBC0
    + v7 M; s7 I  Z3 y
  545. JSR WEAPON_P2_PPU) o( i# x! Y& I% m, c2 i
  546. JSR $CBC0
      u: g* u. j6 M
  547. JSR BULLETPPU_P2_PPU
    + u' R  C4 \  P& d6 Q
  548. JSR $CBC07 s6 D+ j" w" X+ `8 T' n+ x
  549. RTS
    0 M8 D/ G% A  U& g

  550. ; k! I+ J# O' G, U
  551. 0 R$ a/ Z' g+ P  S* f2 o. U* S
  552. & l2 w. X+ k! X- {+ n  {- J" `
  553. PLAYER_01_ADDR:
    $ Q4 |3 M3 ~: g8 M0 Q- b  e
  554. .BYTE $20,$A3
    2 R! E' V1 ~. g( H
  555. PLAYER_01_DATA:! X0 B8 O$ u0 y- S4 p2 p
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND1 n, S8 X; V! t6 Z8 k
  557. PLAYER_01_PPU:
      G9 p1 E1 n# V+ }! h+ i
  558. LDX #$00
    , z& P3 F9 V1 ~  e6 P" I5 l
  559. LDA PLAYER_01_ADDR$ F7 c1 i" c! f5 C
  560. STA $0703
    2 V* I0 H# a1 ^! `
  561. INX
    - @9 S4 }6 A% U* l
  562. LDA PLAYER_01_ADDR,X+ E; C, n: k5 m" j  S' r& |7 Y
  563. STA $0704
    ) Y; }: Q* d* F4 ~2 v
  564. JSR PPU_PROCESS+ `, O; y3 e  o" V1 d% ~& \( h6 U- q
  565. PLAYER_01_W:& m) \. G) k' S4 M7 D+ l; |
  566. LDA PLAYER_01_DATA,X
    3 w! I* V9 [* i0 M3 ]( W/ ?8 J) ^
  567. CMP #CEND% l, h8 i9 R2 [8 }) j- u+ |9 I
  568. BEQ PLAYER_01_START* u4 k  N3 u, E& i! c7 u6 x$ G
  569. STA $0705,X
    ! F) M4 ?& R" T6 m# |1 t9 b+ q
  570. INX
    $ [9 `: W! f5 J% `4 o  x
  571. LDA #$00& z+ v: M- |, L+ H0 z( |- H7 f
  572. BEQ PLAYER_01_W
    4 A( R$ H! O* E' r$ W4 ?1 k
  573. PLAYER_01_START:, I5 M; J) C# ]- N0 @( T' i4 o
  574. JSR PPU_START
    . ]7 z5 ~" V( A# O
  575. RTS4 w" P, |$ i1 T  W

  576. 8 j: t% D$ T" u1 m7 a
  577. 2 X6 }" ~5 [' [) l
  578. RELIFE_P1_ADDR:0 L' m' W' _1 M( \2 q
  579. .BYTE $20,$E3: X; R8 Q9 F. J+ N4 Y! s
  580. RELIFE_P1_DATA:
    ! e3 R7 |6 f7 Y* D4 K( k
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND9 q. B2 W% _. a
  582. RELIFE_P1_PPU:7 o& p% ~' z% i, d4 _
  583. LDX #$001 e9 N" }0 [- }+ r1 y9 F
  584. LDA RELIFE_P1_ADDR5 k8 l: ?9 Y! q$ R. K
  585. STA $0703% i- b2 b( j: r
  586. INX
    ; l' g8 l, i) p
  587. LDA RELIFE_P1_ADDR,X4 A( O* J/ \2 l" K9 y0 _% _
  588. STA $0704
    - ^4 l5 u( {' n6 l* Y
  589. JSR PPU_PROCESS0 k1 p! H+ P% u' M. K
  590. RELIFE_P1_W:( b- O% A5 z1 E) O- K9 W4 G) }
  591. LDA RELIFE_P1_DATA,X
    . t  S$ ^2 R0 h) y* I
  592. CMP #CEND
    1 I& D+ V) R* u+ e8 k/ M
  593. BEQ RELIFE_P1_START% _4 J5 h4 p( m  ]5 e2 {3 [
  594. STA $0705,X
    : \: W# G9 C3 j* G: `  l: c
  595. INX
    , }0 x6 {; d: I5 L
  596. LDA #$00
    8 V& o  |# @4 ^7 O0 e
  597. BEQ RELIFE_P1_W0 ]3 {1 y8 Q/ _1 E: R- `, ]2 ]
  598. RELIFE_P1_START:2 q1 ?" z. _/ b/ s
  599. JSR PPU_START
    5 Y2 J6 r$ o+ l0 e4 W* u: ^
  600. RTS
    5 n7 X/ ]. x3 l- X% v
  601. 3 X& c7 g" O3 o4 S8 w$ O
  602. : g  p- d% D, c, G8 h( ]5 x
  603. RELIFE_NUMBER_P1_ADDR:
    . K. f- V7 j4 _. Q& d
  604. .BYTE $20,$EA' n! w' w- d7 r# Z  K8 A4 [4 a
  605. RELIFE_NUMBER_P1_PPU:
    + b7 F$ T3 T7 [5 I+ i% C
  606. LDX #$00- c( \8 ]$ J% }3 H* k
  607. LDA RELIFE_NUMBER_P1_ADDR; ^0 d( r: x% h: f% [+ ^
  608. STA $0703
    2 F; o+ d0 ]6 j6 t% F+ K3 V. y
  609. INX
    % _4 J! I3 M' T9 j* W0 f
  610. LDA RELIFE_NUMBER_P1_ADDR,X. ~9 Q, a; ^2 N; Z- n
  611. STA $0704
    ! }! {4 V8 I! [/ u; K
  612. JSR PPU_PROCESS0 Y. b2 k( C" r9 r: P/ i, l
  613. LDA $32
    3 S# X+ c8 G* }  Q" G' S
  614. JSR LIFETODEC
    ' C" y5 |3 `% z; h' J
  615. RELIFE_NUMBER_P1_W:" m* J$ r% {/ n7 E9 s
  616. LDA $7A037 ]+ j. S% O- z0 O) X  w3 E
  617. STA $0705
    & r2 F( K+ T: Q! R! a, M
  618. INC $0705+ o+ Z; y1 Q0 b# B- h
  619. LDA $7A041 U7 v8 b$ b3 u- H- L) \4 l
  620. STA $07065 c  H5 o8 J, y; s
  621. INC $0706
    : Q& Y" q& {% s0 S7 Y" q& f  B
  622. LDA $7A05. g% m8 R- F: D, P8 V
  623. STA $0707& I+ e! H+ G9 W2 g6 b
  624. INC $0707
    1 t4 H9 f$ h( Y& y/ D  E
  625. LDX #$03
    + n2 f" l' b- q; X
  626. RELIFE_NUMBER_P1_START:8 W3 c% H4 t5 L$ N/ l
  627. JSR PPU_START
    " k% w, q$ i8 A" d- g/ O& e4 m/ X+ R
  628. RTS
    ; L! D  _( T" K% P& x

  629. ) s0 a7 p5 `+ q; ]4 X! E' \
  630. WEAPON_P1_ADDR:
    ; K# S' G! P) v$ c$ s
  631. .BYTE $21,$23
    9 g: f' H' x2 Z1 R4 H2 q: K9 J
  632. WEAPON_P1_DATA:9 q; H  z" a: f6 ]: f
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    % j3 v$ J9 b) @9 Z
  634. WEAPON_P1_PPU:& z: v1 E* T  u8 t: Y& C
  635. LDX #$00
    + ]( T6 ]0 N" n8 B
  636. LDA WEAPON_P1_ADDR
    + M! C3 ]) g! G5 [+ t+ o, h
  637. STA $0703
    ; F; ^6 Z, @* i, j
  638. INX
    % W, E0 x0 U3 Q5 p
  639. LDA WEAPON_P1_ADDR,X+ k$ s0 X% P" L. ?' w, ]: u. |4 X8 k
  640. STA $07047 O" N2 R  K4 j3 H( O
  641. JSR PPU_PROCESS9 w  I; ]( |% r2 s+ z
  642. WEAPON_P1_W:
    2 `- k6 O. f* S
  643. LDA WEAPON_P1_DATA,X9 D, [' ^( A. S( s2 n5 t# l
  644. CMP #CEND
    / f9 J. m4 e* l. U% x- q5 j9 i
  645. BEQ WEAPON_P1_START
    + i' J, U4 B, r! K  d
  646. STA $0705,X  g; j5 Q$ O9 u
  647. INX
    # T, f3 q" d& ~  p/ U9 `" B0 c6 G- J
  648. LDA #$00
    1 _3 i! L3 ?3 ?- j. t
  649. BEQ WEAPON_P1_W9 i$ Y# B  G4 c1 X7 R, l
  650. WEAPON_P1_START:
    ) R; [7 I4 p* s- u/ e' |# w; t
  651. JSR PPU_START/ S) s7 ~/ x% a8 d; |8 t1 @
  652. RTS- @% ~" g6 g* r$ f
  653. 3 \- M: S1 x7 P2 K9 Z
  654. BULLET_P1_ADDR:% u/ u9 E5 e$ }, {% d8 b$ P
  655. .BYTE $21,$2A
    / |$ u$ D# y# a& C
  656. BULLET_P1_DATA:( g0 V/ B* S# x
  657. .BYTE $00,$01,$02,$03,$040 u1 b( Q6 W0 p* n/ g
  658. BULLET_P1_NAME:
    - I- X* M, {1 z  i
  659. .BYTE CN,CM,CF,CS,CL: X9 i9 h9 h+ ~* y2 h

  660. % q4 F0 P( e3 m
  661. BULLETPPU_P1_PPU:0 \) H" Y7 ]7 T. v& z* B
  662. LDX #$00
    . ]( K  y7 E* h; I9 E
  663. LDA BULLET_P1_ADDR
    " u$ B2 G7 i( s0 l3 c2 I
  664. STA $0703+ z8 u  ^. O; C
  665. INX* b2 E( _3 W) h
  666. LDA BULLET_P1_ADDR,X
    5 A0 D/ w! e" C9 [- j7 I7 W
  667. STA $0704
    5 l& n. B1 H/ \% @& L/ J
  668. JSR PPU_PROCESS
    & w. Z( o+ x0 ]" [- k" W0 y! Z
  669. BULLET_P1_WRITE:$ O, h! V/ {/ y% ~
  670. LDX #$00' u# o! s$ I2 ^9 m: Y9 d
  671. LDA $AA' U3 A/ u- w  H) d& ?
  672. AND #$10
    : F# K5 `# P, I. I4 N
  673. BEQ C_BULLET_P1- |, I& |& c( o0 c5 O- ]0 c
  674. LDA #CS/ A& b- P; I  ?3 r5 Y
  675. STA $0705
    ; N& l' L5 Y4 \1 X" s
  676. BNE B_NAME_P1& x" g# L& c4 I* i( I
  677. C_BULLET_P1:
    7 g0 @! m( a. q, g; J
  678. LDA #CC
    # O- t, X2 G1 [2 j! ~0 _
  679. STA $0705
    * M; P/ k$ [: N
  680. B_NAME_P1:
    % f& w6 M% W2 e
  681. LDA $AA
    ' f( r. @. K! e8 N  X; u! o0 Y6 F
  682. AND #$0F
    ' W: J: C! o) g; O2 n5 F9 s5 ~
  683. CMP BULLET_P1_DATA,X
    5 K6 E0 g. Y& I7 A
  684. BNE B_NAME_P1_RECMP
    2 Q+ N2 p, e0 H; d% s* c$ l. W' Q
  685. LDA BULLET_P1_NAME,X! k, w# T. C9 `% w8 c+ i
  686. STA $07065 ~: x+ [/ I) Z  m3 j- ~7 A, j
  687. B_NAME_P1_RECMP5 k4 Z8 Q1 F( D' {% k
  688. INX, c+ e2 b& M3 @; W/ |$ _. a+ n
  689. CPX #$05
    7 R4 F: G" ?' T( \
  690. BCC B_NAME_P1& @5 k, Y1 [! l/ D
  691. LDX #$02, v% D1 l1 i* N9 K* x( V
  692. JSR PPU_START& R8 J* F- O: b7 l0 ~0 {# d
  693. RTS
    " L4 O$ Q0 M, \: l& p2 ]
  694. 8 v9 j( \2 f0 O' i5 a: ^" Q

  695. 9 G/ n- v$ g- Z8 k& `# T: H
  696. PLAYER_02_ADDR:
    ( @$ @, h3 N" O' a. S5 E
  697. .BYTE $20,$B3
    4 K5 U& S; _0 x) p
  698. PLAYER_02_DATA:
    ' s3 y% J: q; T" F, K) J
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    5 @+ h6 R# z9 R, p" e
  700. PLAYER_02_PPU:: E" ^  F6 y; @( N
  701. LDX #$00
    ; Z6 i( v6 ?& m& K
  702. LDA PLAYER_02_ADDR3 B4 Q) T) }! ]$ @
  703. STA $0703
    - B4 V& t+ m6 W0 [1 i" ~
  704. INX' O6 v# I; b$ s) ]# [" ]  Z+ V
  705. LDA PLAYER_02_ADDR,X
    / G. g; g+ s; d8 ?
  706. STA $07043 F' q& A7 s* F0 T  o- [; I( A1 l3 ^, s
  707. JSR PPU_PROCESS2 p' O! V& B+ J; c2 I2 [
  708. PLAYER_02_W:
    1 a/ \+ C. C1 R$ n5 K; b
  709. LDA PLAYER_02_DATA,X
    # R' D) s" E' C2 n& v! {! X
  710. CMP #CEND2 }8 z5 r/ Z6 `2 u
  711. BEQ PLAYER_02_START' `. P. |: v; Q! {7 T
  712. STA $0705,X
    ) w9 n/ C  u6 Z/ y! n9 a
  713. INX
    9 Y. m0 o7 l4 ^; j) D+ B% D
  714. LDA #$007 R. W0 K4 p; l7 M; U7 a# T
  715. BEQ PLAYER_02_W
    & R" \. q4 F& O- o" X
  716. PLAYER_02_START:
    : G  ~7 ~  b. g) z3 S6 ~
  717. JSR PPU_START
    ' c; S& k7 w+ V8 q
  718. RTS( M  P& w  ?. i* q* ?+ A6 E( ]: ?/ D

  719. 7 ?7 M( u- ^8 D2 X

  720. 4 _* L+ x# y( u3 r& w
  721. RELIFE_P2_ADDR:
    2 N, T3 u0 V+ M; ^7 W4 F
  722. .BYTE $20,$F3- N( ?$ y8 ]. Q. U: h+ C; N( G" |
  723. RELIFE_P2_DATA:
    3 |) z0 O; S- J- M
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    0 A1 {& R& O0 ~$ P& Z6 p
  725. RELIFE_P2_PPU:
    8 z( X7 R# w2 _1 A! c
  726. LDX #$00; U5 n: e- U% z6 \* h% N
  727. LDA RELIFE_P2_ADDR
    0 v$ K3 k" b$ Z! p( O
  728. STA $07033 [, a' X/ P! p0 i* \* v# v
  729. INX9 \! s3 f" A# {
  730. LDA RELIFE_P2_ADDR,X
    7 }  T- ]" Y; C8 s" C
  731. STA $0704* g0 r) D% ^0 F; I' n3 T
  732. JSR PPU_PROCESS
    7 ?9 X1 @+ k( o
  733. RELIFE_P2_W:" f- B1 W4 r4 G" E
  734. LDA RELIFE_P2_DATA,X3 ]; n5 P$ W2 G) L* k; Y
  735. CMP #CEND3 c  ^8 N0 B# ~" V
  736. BEQ RELIFE_P2_START
    3 t' d: G" b2 R2 x8 S0 K# E
  737. STA $0705,X4 T9 a. T# E1 H) t" \$ k
  738. INX
      h6 R% s8 ~. d' }7 @" f; E
  739. LDA #$00
    . Y* x4 N0 w' P: R/ O" H
  740. BEQ RELIFE_P2_W0 V2 F% A3 g5 B* j# q. G
  741. RELIFE_P2_START:$ ]- z: t; p2 N- V: z' E
  742. JSR PPU_START
    , u. P" e# I" C. i. ]
  743. RTS
    , Y6 |6 n0 O& }* {1 m3 g

  744. 7 |$ I4 n0 w! m0 o$ ]! n

  745. 0 Z/ e$ i9 r/ C$ `. f
  746. RELIFE_NUMBER_P2_ADDR:
    $ J/ ]/ p2 {& J* E5 @1 w+ V. |
  747. .BYTE $20,$FA6 @1 L6 ~% J# P9 ~/ d/ T) o
  748. RELIFE_NUMBER_P2_PPU:2 q/ `* |) A/ M
  749. LDX #$00
    $ L) K7 `. c' U$ r2 P5 g9 }: ?" ^: t
  750. LDA RELIFE_NUMBER_P2_ADDR4 W5 a1 s! V$ p( \, K6 x
  751. STA $0703! V: W% B2 D# Q9 H5 g, t7 W
  752. INX7 G& {3 }* Y6 w  G/ |( T6 x# P0 c
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    7 ]0 u; W$ _* f
  754. STA $0704+ G2 y+ s/ I, K" Z) s1 n
  755. JSR PPU_PROCESS3 k- J/ z* X3 H! A; _
  756. LDA $33
    # |/ q" A3 S- P, s
  757. JSR LIFETODEC% E- W" T  c1 G% B) E! G6 e; L. }' a
  758. RELIFE_NUMBER_P2_W:
    # j0 o* {+ h4 g/ p  S0 k1 k* s! [" k, G/ y
  759. LDA $7A03
    4 y# l; c% r$ d1 z7 t1 _
  760. STA $0705
    8 p9 ^6 P! m3 `+ V1 D# K) m
  761. INC $0705
    - _6 E* F* s' c' h) A2 T
  762. LDA $7A04( j% U1 m0 |2 C! W% I/ K
  763. STA $0706
    0 P+ Z) {: U8 G& r/ G4 [
  764. INC $0706
    1 z& H7 ]1 \, G- l
  765. LDA $7A05$ G) M  P$ B! S0 X
  766. STA $0707& r. I% C6 h9 V6 z, M$ m" `/ s( H
  767. INC $0707
    ) n/ }& a4 i, m8 W# g( i
  768. LDX #$03
    , |2 n/ ?& Q7 o9 k  R
  769. RELIFE_NUMBER_P2_START:
    + R9 X/ n/ P6 V  s, t' O
  770. JSR PPU_START
    9 U' W* I6 M7 d9 p
  771. RTS* b  ~3 C( [: \$ w  ]4 J7 R
  772. . S4 L9 Z5 R4 U0 d: O. c/ ^. }
  773. WEAPON_P2_ADDR:* V# \3 u/ }# O- B6 ~6 Q& Z. w3 k
  774. .BYTE $21,$33
    0 ^9 w- _. H/ ?  |- T( K. z) S
  775. WEAPON_P2_DATA:" [% c' _+ }4 u- W0 D/ B4 b( Q
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    8 H# w1 M4 q" g
  777. WEAPON_P2_PPU:; p# H+ K) p( ]. [1 b- K6 o
  778. LDX #$00
    ! r5 m) ~* v6 M. U3 z9 n% A
  779. LDA WEAPON_P2_ADDR
    * E2 D5 J: c4 P# T7 E
  780. STA $0703
    ! }; O% ]9 M3 e/ H$ b# j( t
  781. INX
    ( S3 ~) V) j" I% j. h7 ^
  782. LDA WEAPON_P2_ADDR,X
    % d0 c/ ]2 d4 }  d; d
  783. STA $0704" i" e, e& X: _) S7 @. _2 j5 [
  784. JSR PPU_PROCESS5 `$ N) G) M- l# m+ C8 ?. q" z
  785. WEAPON_P2_W:
    ! m! y& T6 |" x+ [8 [0 ?
  786. LDA WEAPON_P2_DATA,X% y7 J# p4 ]$ t" G) e) A
  787. CMP #CEND* T& s7 O4 s; m$ }$ \9 A! }8 {' a
  788. BEQ WEAPON_P2_START$ }( T# n+ @2 Y/ U9 Q6 f
  789. STA $0705,X) T  O! U* W. j$ m1 K1 {4 O5 a$ F
  790. INX. j, u6 U9 w& L5 d& v; W' n
  791. LDA #$00
    0 S& _2 J7 F3 K) @: Z: h
  792. BEQ WEAPON_P2_W5 U+ S9 h4 Y4 @& a  z# P! m, s
  793. WEAPON_P2_START:
    ) P6 {4 H3 o' g6 g9 t% e
  794. JSR PPU_START' ~( ]/ h$ b; V- Z! _0 a' K
  795. RTS& u; S1 N) ~" _+ e' d# l8 J# R

  796. + R6 H7 T0 H! r. S7 I
  797. BULLET_P2_ADDR:
    , P0 I& Z% J* F2 c- z$ [
  798. .BYTE $21,$3A6 a+ @8 c2 L* Y& @5 ~
  799. BULLET_P2_DATA:
    : I8 _  _* h& R; Q$ k# q  a. m
  800. .BYTE $00,$01,$02,$03,$04
    3 W# k7 C4 @6 N/ ~
  801. BULLET_P2_NAME:
    ' K" y1 _4 h* D' J, b2 C
  802. .BYTE CN,CM,CF,CS,CL! |" X' n- r( A. G/ G* Q  z  i' B
  803. ; B# @3 E9 F4 v6 ~8 p' `, Y
  804. BULLETPPU_P2_PPU:
    ' o% q' n) F$ g2 S  O8 E; E* Q
  805. LDX #$00
    5 L) x" g+ d2 `4 i2 [
  806. LDA BULLET_P2_ADDR# A* Z, V; r' j& O3 d8 A; q+ r
  807. STA $0703
    * S; }! c3 Z8 i
  808. INX- H# U( ^% B$ v* x
  809. LDA BULLET_P2_ADDR,X
    0 g: L; K& j! j  p. P
  810. STA $0704. D, j" }: f; C
  811. JSR PPU_PROCESS% K+ y! N! J6 }1 j1 R" u
  812. BULLET_P2_WRITE:1 Q0 |$ T/ U, y+ n, K% w. k: S8 w
  813. LDX #$001 x& |# P- W+ w# G# }+ |
  814. LDA $AA6 B. `/ l! y* N- P; ?4 |
  815. AND #$10/ O. W) _: x' [4 _5 P! b
  816. BEQ C_BULLET_P25 L4 l  r4 v2 O! z( l6 r
  817. LDA #CS2 g* J. V" k! I* l
  818. STA $0705
    ( |% H" i" b0 X) |' ^
  819. BNE B_NAME_P2
    9 f7 z, C6 H$ d3 D( Z
  820. C_BULLET_P2:4 T- \+ J( U9 d
  821. LDA #CC
    ! y2 D/ O9 b+ y! V" U
  822. STA $0705
    2 ]: l, m  m  Q
  823. B_NAME_P2:# ^& t: F  n# t+ z8 T( @3 Y, o
  824. LDA $AB
    , t/ u8 Z3 s1 G# \5 ~& M
  825. AND #$0F
    . q' B. B; E+ B! a1 o
  826. CMP BULLET_P2_DATA,X1 s- o( e! G) a& A/ h( I
  827. BNE B_NAME_P2_RECMP
    9 M9 n$ Z) k/ ~
  828. LDA BULLET_P2_NAME,X) r0 i8 C3 A/ m9 \) Y
  829. STA $0706$ ^, p1 u! T2 m* X- ?: T. N
  830. B_NAME_P2_RECMP$ q- M5 n/ u: C2 O
  831. INX; }4 O. g( m2 P4 `4 |/ [6 x5 R9 r
  832. CPX #$05* x# ~( P& o. J/ N/ M) P: A
  833. BCC B_NAME_P2& ?- z0 _, g( w: ]
  834. LDX #$02
    4 C0 s; O' A1 w* T0 v: n7 F9 L
  835. JSR PPU_START
      r& h  w5 K0 d& h, [. W- o
  836. RTS$ [  z9 R. T8 K% u! B

  837. $ l6 C4 Y4 |* h2 w8 S0 X7 X
  838. 4 V$ R: B' I+ h! k

  839.   }3 [8 S4 z3 t* R! F2 q
  840. , H' T% H  t* q

  841. 3 f- M: X) z5 E* o
  842. / ^% \# r5 Y& E4 F( V$ V6 i
  843. LIFETODEC:                ;十进制转换
      ~# b0 J4 Z8 J5 L' _
  844. LIFEL1:        ;initialise/ ^* h& ^) {, i4 e
  845. STA $7A00        ;$7A00=F3
    ) _* l" i) V! ~: Z
  846. LDA #$001 v+ B" l( E8 R0 e! ]* Z$ z8 G
  847. STA $7A03        ;$7A03=00% m, ^* g& R; }9 x
  848. STA $7A04        ;$7A04=00
    . y$ K& Q7 N; N* b# F1 E
  849. STA $7A05        ;$7A05=00
    ' G) f4 A9 Z7 Q1 `, R
  850. LIFEL2:        ;copy data $7A00 to 60011 D& j3 L4 N0 d9 ^; P4 ~+ N
  851. LDA $7A00* m7 x$ e! Q4 H
  852. STA $7A01
    $ r% u. E2 N- W5 ^1 }6 F

  853. ( U& O5 z' _2 N& B7 I
  854. LIFEL3:         ;hundred2 H6 h) p+ ^" H! X4 o
  855. LDA $7A01
    $ k/ S2 n! }; |! O+ e
  856. CMP #$64$ j1 L( x' g7 R
  857. BCC LIFEL6                ;$7A01<100 goto L6
    ' N4 G/ R, w) S) m/ d
  858. LIFEL4:
    1 r0 Z0 p2 \: g0 T0 Z6 P
  859. LDA $7A01
    / j* d  Z; t9 P9 j; R- Z& A" \
  860. SEC& H0 P. \  u+ v* L6 T- I
  861. SBC #$64        ;$7A01=$7A01-100
    2 {1 r) k* w2 b* h* y. y1 F9 g
  862. STA $7A01
    ' M5 r; Y8 @' K2 H- O/ X
  863. INC $7A03        ;hundred++
    ( I$ B7 `+ k' w. o5 k& H
  864. LIFEL5:0 X* l! b2 J# C$ U, j8 {. K. v
  865. LDA $7A01
    8 C$ _& e  V( C
  866. CMP #$64- j; Q! l) s- f2 S$ q
  867. BCS LIFEL4                ;$7A01>100 goto L4( A# p& B. Y6 c& R. x2 x

  868. ) H3 A; G/ j4 }% j7 N
  869. LIFEL6:        ;decade
    ! J; V) t+ R- Z, R* R, y" s. y
  870. LDA $7A014 e) N5 Q/ q. O% M/ v
  871. CMP #$0A
    ' ^3 q3 X6 [4 R" ?: E+ W
  872. BCC LIFEL9                ;$7A01<10 goto L9
    8 c# G9 N( z: `, x' j' z
  873. LIFEL7:        ; k4 x+ v% B; U3 g/ m
  874. LDA $7A01" h% l: ?; u/ B! N5 K0 ?6 f) O
  875. SEC' T3 f/ q6 d& w/ q9 m* ?
  876. SBC #$0A
    ) @- S. [/ v* `7 g/ ?
  877. STA $7A01        ;$7A01=$7A01-10- A# o4 e  {& x7 l1 A- o8 I
  878. INC $7A04        ;decade++2 S% C6 {1 K9 D5 m1 }
  879. LIFEL8:0 [1 O) V% P# W. i
  880. LDA $7A019 K/ c3 Y4 j  ?
  881. CMP #$0A
    9 l' i9 h0 F/ V. `4 \# s/ Q/ N
  882. BCS LIFEL7                ;$7A01>10 goto L7) }- e$ [7 r* ]9 S2 ^
  883. ;unit0 H" {2 s3 y3 M. D
  884. LIFEL9:
    5 O6 m: j' n  e9 U
  885. LDA $7A01        ;$7A05=$7A01
    4 H' z: o) t: C: g2 O/ z- C
  886. STA $7A05        ;unit
    7 B6 n$ R4 ~0 V0 q
  887. RTS        ;return
    9 {4 @# N5 c$ q( o7 i, v
  888. + y( p0 ~4 c( v1 f. B- F0 M
  889. % B% g3 G4 P, w2 I9 H/ _& x" Q! R- M- Q
  890. 9 g7 t+ B& w! h' q$ H, J8 g
  891. PPU_PROCESS: ;PPU地址处理程序3 R# `% l! {9 @. S
  892. LDX #$00
    + J; X: E+ x. ~. Y
  893. LDA $FF
    7 Q* J7 G/ S0 M# o& z0 ]
  894. AND #$01! s% W: Y* x% c' j0 m4 b1 c
  895. BNE PPU_2400_27C0# b- \# [5 w+ r: t1 C% M# f- _
  896. PPU_2000_23C0: ;命名表1- _7 B+ N- C% z3 Q; `6 U
  897. LDA $0703
    ; \# [/ Y$ B& e8 q9 @
  898. AND #$FB
    ' P9 Q8 Q* }7 D% F. i7 ?. f" a* u
  899. STA $0703  s: i! n) _' Q! l' C! p/ \2 R
  900. RTS
    # j& I$ o# U& U+ V+ O8 m
  901. PPU_2400_27C0: ;命名表2
    % c. a3 y3 o5 t. I2 _+ O
  902. LDA $0703
    1 S- ]' Q, S- E4 w
  903. ORA #$04! u  Q' A% Q4 i: I  Y% z
  904. STA $0703
    $ }1 y# B8 V/ s. K1 K. A, j) D
  905. RTS
    ; C$ Y( v/ y8 |1 V3 w5 C( h

  906. 9 O8 h# s, X0 @1 T# _
  907. PPU_START:  ;PPU数据写入7 \: f) Z6 i! \! i; j* ?/ K; G
  908. STA $21
    2 L0 |1 b( C( z6 |
  909. STX $0701  M9 \2 r* R8 @) `: N
  910. LDA #$00
    ; j6 I( E9 m+ m+ |
  911. STA $0705,X
    5 l7 m1 J$ }" @" d0 a7 G
  912. LDA #$01, X/ k0 W0 q- ]( a. p  ~2 z& b
  913. STA $0700
    ( M; K7 @. |- ?7 z' ~! P: [
  914. STA $07025 I1 U9 e( L, @- A5 w% h: q# A5 C+ u
  915. RTS# F  ]5 R6 Q7 y  S
  916. ( L8 A/ @( p& A! W/ H
  917. ' T# x" W) d# d# R
  918. 8 ], e- z1 M: @

  919. + H5 n5 j% [- J# p' N

  920. / e) ?6 ^! _  k) V1 {, q. W2 }

  921. 9 z& Q) s3 ~4 k( q% }0 w, _
复制代码
" o0 O$ R$ B1 {8 Z

本帖子中包含更多资源

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

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

签到天数: 2115 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!% B7 q1 r' n6 h- R& j

签到天数: 2544 天

[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-2-19 06:45 , Processed in 1.173829 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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