EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序# j7 N6 Z% D( D- N: f
  2. 作者:FlameCyclone
    0 g2 }9 N# B/ y* p% F* n
  3. 时间:2017.2.12
    : }1 E9 u- \, ]7 U( w  k6 o

  4. * u3 x+ s" f, B9 A
  5. 按键跳转:, n; p) m1 G3 d0 D# \
  6.         C1EF:95 F5 94 F1! ]0 E$ q6 ^' o" w
  7.         C1EF:20 70 FB EA
    6 g' @) i; h* F+ }
  8. & Y9 h) b  k( b! J% g; y5 H, p8 i
  9. 滚动偏移:
    + \9 H; e' b+ B4 f+ N; \' M) S
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20( }% r- _" p3 F# o( `5 o
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    / a9 ]6 o" ^" }! u& R* ~

  12. , i0 O8 `- B: o% _- n
  13. 背景调色板:/ \$ [( Z( p- F
  14.         CF20:9D C0 07
    % w* l1 \0 a% J
  15.         CF20:20 A0 FB' d/ I) L3 n, c; a. R2 C

  16. 3 P: @3 h. w  `+ \( r# ]' S
  17. PPU BANK号:
    ; O+ P9 s; d. `! B4 r/ N/ T
  18.         C8C9:9D F4 07# s( z3 O8 |  P
  19.         C8C9:20 B0 FB
    1 U* z; h  V5 @1 E" y& n+ d

  20. & J. G& |, h" U8 s/ m
  21. 按键跳转:
    1 b  z& a' a; ~' i0 j; M9 c# d
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ! r& w% d5 e7 \* Y
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    : i$ ?! k! w4 q: \: r; f
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF! b8 s* L$ X; Z3 \" t# }
  25. $ S. d6 L! k  x. l& |
  26. 背景调色板:9 B6 r2 V' Z9 o; U! J
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF) ^& J$ b. X% P: N" e$ v' J

  28. 2 Y9 Q9 r& V& T0 U  s$ O  }3 U& k% l
  29. PPU BANK号:
    - R5 o1 q+ t9 S3 Y
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    ) V) F8 h! O# W, p

  31. $ f6 T- A# P, _! b
  32. 滚动偏移:
    / v1 o5 h4 Z7 v) Z' i; w
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    : F+ n/ n: z" \9 u! o8 ~. _- ~
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF2 V( L5 Z$ t( G7 N
  35. 4 A! P& j/ l. C
  36. $ @* T( O9 ~7 J/ [" {: F- Z+ d4 Z
  37. 切BANK后A000:2 |. m8 P) ^3 u# Q& A1 o; G" _
  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& x$ Y5 h7 ^$ v; D
  39. 3 S7 G9 h  _7 X
  40. * R2 S: r" \9 z/ w( j0 Y7 D
  41. 6502 simulator:
    1 l2 r" |/ p8 Q) Q& ^9 s, P
  42. PPU写入程序:
    . \% [1 V0 \  Q' E7 o- C6 M
  43. .ORG $A000
    0 F  T  |% P: H- \# Q) e, y
  44. CSP = $809 G5 C% d  Z6 ~+ t
  45. C0 = $81
    $ g0 g7 F7 q- N1 s$ W6 ]( ~
  46. C1 = $826 V! |; f( \* g6 W3 a4 p/ _
  47. C2 = $83
    " L1 U) {- B( x1 R4 n# [6 {4 P! B6 I
  48. C3 = $84( v3 `* \# i. Y! {
  49. C4 = $851 o" w5 J& O) t/ q
  50. C5 = $86
    % [6 P  E4 `. L0 r7 |! P0 B
  51. C6 = $87& E4 r0 Z$ |+ d9 ^8 h0 u6 O$ o
  52. C7 = $88
    1 j8 ~: ~1 p+ d$ R% u
  53. C8 = $89% P* N( X$ [0 L. m' J! f& z, A
  54. C9 = $8A
    , ?" s0 F! w# g) t& h
  55. CA = $8B  E2 I& M4 g) ]6 e' U7 @2 X
  56. CB = $8C
    , _# O+ Q1 D$ u$ m
  57. CC = $8D
    4 ~# `/ ?7 l7 V' U* D
  58. CD = $8E3 ?( D- Y" u$ X5 G& `: w$ `6 }( a5 f
  59. CE = $8F
    7 S, D. B5 i1 S( @+ s. L
  60. CF = $90
    & n. i/ Q' N) Y
  61. CG = $91
    4 m1 P1 Q3 N" N7 n3 R4 K! `
  62. CH = $921 L8 S# s; a" b  d; U' k/ X" E6 Z
  63. CI = $93) p, m3 w4 n2 D$ S/ U
  64. CJ = $94
    4 q, D+ E6 E. X; _: D2 W
  65. CK = $956 m" h# X8 f! f6 N) U$ k
  66. CL = $964 d1 g' Z. R1 b
  67. CM = $97
    & `. e% J% f4 |7 }  i
  68. CN = $98
    9 }4 H+ h3 S4 e  w& Y
  69. CO = $994 S+ p) Z2 d" _* y8 y
  70. CP = $9A+ Z! h9 P1 h3 w" t2 Q- N8 v' w$ h7 _
  71. CQ = $9B: Q# @2 t3 L8 o
  72. CR = $9C
    , Y7 u" ]* _) k( G* P7 D7 D7 D
  73. CS = $9D( m; ~8 Q4 Z9 `, ?& S" G5 c
  74. CT = $9E
    4 S3 y6 W6 x6 R
  75. CU = $9F% p( }+ o& S6 X& O6 a7 o* o8 O
  76. CV = $A09 E, k7 A  [# X* a
  77. CW = $A1
    + B4 J, g" s  m/ G. U% }
  78. CX = $A24 L  I: B5 u; _
  79. CY = $A3# @: l" t2 x- t' e  ~8 Y
  80. CZ = $A4' u* V5 s, _/ \
  81. CEND = $FF
    ; @( x4 c; I2 j( N
  82. 5 @7 o( v0 ~. @4 C+ C4 ]0 R
  83. " I2 y6 I! q/ Y  _3 z0 L
  84. CMP_RE:
    7 j: _, a7 I; f# d0 s. h
  85. LDA $FF
    . v; j( g; `/ `, U6 \0 x
  86. AND #$7F
    2 e  i, E# B0 k1 ?- R3 y" ^# t8 B
  87. STA $2000
    : g4 m* i$ o) F8 J- x% B
  88. LDA $2002
    ( y6 r% f' M6 k9 P6 e( t* x
  89. LDA $25
    0 ]. ]6 J! E/ x2 B0 J, N* G, x. p( F
  90. CMP #$01( X7 A/ S4 L, K& Z3 V
  91. BNE PROREG, ]2 g% v/ v& E
  92. LDA $F5,X+ z1 g" U1 B) W% R' u  d) J' ]
  93. AND #$CF
      |: |% g0 @: w7 }
  94. BEQ PROREG0 Q- V) `/ J! }+ Q
  95. JSR PPU_CMP/ {6 \* S& e9 ]+ I" X4 F& v
  96. C_RE:
    # ?$ e+ p' r5 ]# {7 f4 D: r
  97. RTS
    # t' x5 {/ _9 Q
  98. PROREG:/ Z% x  h0 U6 ]1 m
  99. PHA
    - N0 f& g' O( Q8 `
  100. TXA
    4 q3 t/ D! J4 g+ j1 ]  T
  101. PHA
    5 b! Y9 Y1 V; t  o
  102. TYA$ E: R( {$ I' Q
  103. PHA
    * b, g) V. T! k& u! d
  104. LDA $252 M9 ~3 a7 Q" D
  105. CMP #$01
    " V, B' \8 P$ D" l. `) n  |
  106. BNE RE
      b7 v* M7 m4 K+ H
  107. LDA $010A
    / J1 D9 Q$ Z. @) Q$ z
  108. CMP #$00* X8 Y* c+ R- N% }( L
  109. BEQ P1
    : S# v& i# x0 P

  110. ( N; W5 g- O  P' o1 ?9 S% V4 J$ \$ ~
  111. RE:, d6 w# O. ~- H/ f9 ?# D3 J; y
  112. JMP PPUWRITE9 J0 A+ b2 @, ~+ ~! C3 f8 o7 r

  113. . Z* F+ b1 Q' _1 U) w
  114. P1:                ; 条件判断  q- _( E& g1 o
  115. LDA $7FFF
    2 s, z) g/ ~* c+ @: ]9 ~) M8 W
  116. CMP #$FF. T8 F; P6 z  a/ f
  117. BNE P1RP' ?) B$ {* F/ H  r9 K
  118. LDA $7FA0* x& K% ^$ ]: ]& T
  119. CMP #$00
    ' @3 m; ?; Z' V2 X6 V/ ^: @
  120. BNE P1CMP
    , j4 x" z6 u4 v7 y, I% |3 X
  121. LDA #$FF. p* w/ Q+ ^. m
  122. STA $7FA0
    , Z2 }5 W8 m+ a
  123. JSR CLEANA7 N- i  _, P( S/ x2 N
  124. JMP PPUWRITE
    & b1 B# M) o7 U: i1 L+ x5 F
  125. P1CMP:5 C. H6 D0 g# n5 g
  126. LDA $7FFF; {1 c% X1 I' d6 o
  127. CMP #$00
    ) n" N. |* D! ~) A
  128. BNE RE$ x  @" D+ P6 P8 ]8 Y
  129. P1RP:
    9 N; k+ O! C& v) ?6 \8 u% z$ ^2 Y
  130. LDA $2002
      p* U) `2 ^. j" r( Y! X+ _1 j
  131. LDA #$00
    # l: a0 `( i- g2 P+ g; ^; E
  132. STA $2001
    & ?7 B. x  L5 g# H' c4 B
  133. LDX #$00
    + M  K3 g, j! A
  134. LDA #$FF
    & s* q. h& b" y" O
  135. STA $7FFF
    3 u1 c* a, d) L1 g. m6 q  Q( J
  136. STA $7FA0% n  J/ U  z2 a( u
  137. JSR COPYPPU
    0 u8 X7 W5 }; Z8 x
  138. PIRP2:7 u+ @# B( ?3 O% P% k
  139. JSR CLEANA
    $ Y0 K3 g9 y7 l) z  D% I0 U8 H
  140. JMP PPUWRITE
    0 H' {1 |! }, e$ p4 G# N
  141. ; r2 d. Z: \0 o$ t- P! h
  142. COPYPPU:  v6 F& i. O1 O1 `7 L
  143. LDA $FE4 W0 m+ l1 H1 R5 h& h
  144. STA $7F50
    7 K/ s  Q  D" S: |
  145. LDA #$083 p8 K1 S6 p" k7 h) n( o
  146. STA $FE1 t% Z# L* P) n) _' W! w; B
  147. L0:# e" `. d+ T& W+ Q) _: y' I
  148. LDX #$00& R0 j9 U7 Q, K& z2 ?
  149. COPY_07C0_07DF:' g. Z/ q7 e* D8 H
  150. LDA $07C0,X
      Z, u7 n  T! m
  151. STA $7F00,X9 i6 ]0 Z7 E$ {& p5 n
  152. INX
    & J5 R5 Z7 ]4 \+ G/ c: x
  153. CPX #$40
    / h, v+ C* r1 v* l1 g% R
  154. BCC COPY_07C0_07DF
    # B# E( c9 F9 {; j! I: Y
  155. LDX #$00
      w6 F. V6 u  ^. D2 B7 }
  156. PPU_07F4_07F7:
    5 O5 p- x9 |% G+ j3 f, `1 k
  157. LDA #$00
    2 D8 X8 [9 w7 E& ~. K* c
  158. STA $07F4,X( H$ P& K. M" p; t0 c* m* `
  159. INX6 i7 f3 G8 w3 K8 g$ r; }- L
  160. CPX #$04
    4 F5 C4 l7 G- b8 k
  161. BCC PPU_07F4_07F7
    0 {! |2 i8 s1 A% H! O. Z5 M
  162. LDX #$00& ^1 ^& L) ?' O) s3 u
  163. COLOR:
    9 U0 H0 M6 g6 z9 k) ?
  164. LDA COLOR_DATA,X
    1 a2 E" C3 ]) y( P
  165. STA $07C0,X: T5 U1 y" j, F
  166. INX
    + d) `; J! Q% A8 \+ z9 F8 r- U
  167. CPX #$10
    5 N; x& G* {. Z6 k0 T
  168. BCC COLOR
    4 U2 m4 l. a% p6 U1 v+ M, U0 o

  169. ! h5 H: `1 h( k  w
  170. PPU_COLOR:+ `& g" [6 x4 D
  171. LDA #$3F% w, I5 m7 G! N) {) v+ W/ `9 Z) P
  172. STA $2006
    , ]# w8 G  ~1 ?$ Z2 S! _3 l
  173. LDA #$00
    : q3 {8 h" q$ \. [
  174. STA $2006
    ; m4 o8 e* ]3 e3 q1 f
  175. LDX #$00/ ^& H) _8 ~$ n9 G/ S6 E( S
  176. PPU_COLOR_W:; }3 j& ?. v/ B* E$ @* y
  177. LDA COLOR_DATA,X
    , _7 Y% M: s8 N( n3 f0 L
  178. STA $2007
    1 d- h' a; |6 L* t6 P2 e
  179. INX
    - o7 w1 C( M; h+ q* x0 l& ]( e
  180. CPX #$10( G2 k! }) F. D
  181. BCC PPU_COLOR_W: M0 |# D( _8 n2 B0 ]$ ^0 x: k; |; A. r
  182. , e* N& n2 k9 i6 R. P

  183. - [, y' ?' J7 s& \5 ]) T5 q
  184. LDX #$009 |4 c) P$ O) [
  185. LDY #$00" B2 L" H* E3 x6 P. R+ @
  186. LDA $BD
    4 q/ k5 y( q6 H8 C
  187. PHA
    + z! l& q) F  B  m
  188. LDA $BC" S& u4 T& Q2 m0 M! o
  189. PHA
    6 |. z$ E8 Q; |( p
  190. LDA $BB
    4 ~" Q! @  j/ U# t
  191. PHA
    / i% ^9 E1 f7 g- V: Z, @
  192. LDA $BA7 p1 T8 Y! a' D/ `
  193. PHA) C* t7 K) {/ |  t6 M
  194. LDA $B9
    ' ?5 s8 Z# Z8 n& x' z
  195. PHA
    : H2 O2 ?! t2 z6 Z
  196. LDA $B8
    ' ~2 P7 d+ h' F; E1 [1 b) _* ^
  197. PHA& _( |$ l) C* X. g
  198. LDA #$005 a' {/ @2 c( J9 [$ l$ D: p
  199. STA $B8
    6 F% I4 N3 o4 l2 b
  200. STA $B9/ g6 J2 ~2 c( A, Y& v% G
  201. STA $BA
    ; T( n  T" c  `2 T5 |
  202. STA $BB& ?8 D0 k7 K- B4 _6 A
  203. STA $BC
    9 D) s- d2 P. K. v
  204. STA $BD
    ! T. s$ @. M- F9 z# D5 {  n
  205. LDA #$00
    ) K  C4 d2 M- g$ P+ Z) M1 j
  206. STA $BA7 P$ a* R- v/ Y, P
  207. LDA #$20
    9 p3 {1 z7 R, W  b5 C! v6 O, i: r
  208. STA $BB
    4 p& }4 \  M0 R* X
  209. LDA #$002 q7 R; v; i2 _7 H$ \5 f4 s( V( D$ `
  210. STA $BC
    3 v# l# }7 z/ J$ q4 Y- _& i
  211. LDA #$60/ f$ m2 a* V! J# r0 g# e
  212. STA $BD! C1 H9 r+ c; S" K. o: O' W
  213. ; g0 G7 W# m+ t6 b8 U" U: [" d
  214. L1:                ; PPU复制
    ) [  @7 l% @( G  O8 B: g
  215. LDA $BB$ P7 ?2 o8 P! q" X" F
  216. CMP #$285 d1 q& h3 @7 X! V$ ?# C0 z
  217. BNE L23 ^' K; Q: C  X5 v
  218. LDA $BA
    8 h2 A5 X5 V& |4 X) v5 z  F
  219. CMP #$004 q. b5 J3 M$ ?) b8 [2 W+ i
  220. BEQ PROADPLA
    1 y% Z) N- g- N5 u0 o

  221. 0 l; u6 X9 [5 x) |+ b
  222. L2:
    ) @, a+ w5 a) Z' X8 d
  223. LDA $BB
    + Y0 Y4 J4 J0 I  a. H) A1 E/ ~- q  k
  224. STA $2006$ S2 W) P8 c$ i  B/ p4 Z7 C% m8 Q
  225. LDA $BA  I# r* F( ?% t6 q4 P( N3 v
  226. STA $2006  _/ K$ y4 o% k; N- O- d2 L

  227. 2 \$ \& W6 ?9 F& a
  228. L3:% t5 E& S% t9 F1 d5 ]; {& w) H
  229. LDA $2007" X5 y# l: ]/ A4 y: l
  230. LDA $2007' j) @: o1 [/ l" C& L
  231. STA ($BC),Y6 G* w2 [  U( f( U2 V
  232. 9 [1 N( o! {( G5 U
  233. L4:5 ~- v! D" V7 j* I8 s' L7 e9 |
  234. LDA #$00
    5 z7 E; n, F% U9 v8 R# p! Z" r
  235. STA $2000
    / z; H- [" F$ L4 n9 b6 m* T( K( }& v
  236. INX. ~3 z9 x6 c; G1 o5 f1 z
  237. INC $BA7 G% L" q2 e7 G
  238. INC $BC% q0 k3 ^4 X# ^# A1 M1 g0 ^: Q1 n
  239. CPX #$00% y" \7 A/ k+ [- p
  240. BNE L1% D+ ~4 d) U# ?; _% ]& `
  241. INC $BB
    * ~9 Y% S7 b! o2 F% o  l
  242. INC $BD
    1 }) l7 R+ }6 v- z
  243. JMP L1" j) q! @/ H" u4 y
  244. * O# F7 L' h/ L7 S8 i' D1 ~. w$ m- V1 b" O
  245. PROADPLA:                ;出栈, q" a0 i6 w# \; j' k9 g7 i8 O" b
  246. PLA
    , {. ]$ \- f. ?4 X4 Y; n3 y
  247. STA $B8
    3 @0 ?# X, H- @# V3 o: d' {
  248. PLA: j6 ]& @( w$ u6 {! I4 e: Z
  249. STA $B9( P3 ]' N% b1 u. b$ _$ N. Z
  250. PLA
    ' M4 \. u# V8 B
  251. STA $BA
    5 I8 X( K" X' q: f
  252. PLA; v8 X% S' f& a' z( S0 w
  253. STA $BB" g; ^5 U5 r0 [7 p3 Z9 W$ ^
  254. PLA8 Z2 G9 Y; G. O6 d* g- t9 F* j
  255. STA $BC5 X; Y9 p) A- S9 `0 F
  256. PLA
    + D/ m2 S9 E; A
  257. STA $BD
    4 V5 K' T0 D% ?& Q5 O
  258. CPRE:! t$ U8 O& r: F$ V* m7 J
  259. RTS- ?; A! P+ u/ S" `+ X# }
  260. : C" }& {+ G9 Z5 g' |6 M
  261. CLEANA:                ; PPU清空5 O* L) P# s$ m$ \, `
  262. LDA $BD2 i0 Z' `- D: Q& s
  263. PHA
      d4 T# u) ]1 f; C5 P6 o1 y; F
  264. LDA $BC4 k& A& f  O& T
  265. PHA" d: A  j3 q( }9 i! B
  266. LDA $BB) r, k" E# H/ a
  267. PHA$ k6 S' q5 L9 s
  268. LDA $BA8 V- k+ W0 p! V0 j0 ^$ r- e8 p
  269. PHA) n+ }2 I! _* b# ?4 \7 }
  270. LDA $B9
    5 x1 V" H# v, i' V9 _2 M6 s- O# J
  271. PHA
    $ B3 v7 `; G2 ]+ t1 h
  272. LDA $B8
    / X# f7 d/ a2 F' [' N
  273. PHA
    ' I8 }( W# R/ H+ P( F+ B
  274. LDA #$00; e  I# a' R6 G! R
  275. STA $B8
    & j; _) Y$ {" D0 m1 X) v
  276. STA $B9! h$ h) i  |( T% ~* B
  277. STA $BA% a. N% K% a" z$ h
  278. STA $BB/ D( V, s" `+ w. P% L2 Z- j4 L
  279. STA $BC, c* s( v* ~  c+ w: e2 I$ \4 f% F
  280. STA $BD! z3 L5 L' `- z9 K
  281. STA $2001
    4 u. G& _  _* y. P/ ?  V& f, ]
  282. LDX #$00
    + s/ @! _/ M: k2 c# C# {& p
  283. LDY #$00
    / R( \/ g6 G) O( i9 {
  284. LDA #$001 l; {. T3 l+ v2 D
  285. STA $BA- Q% Q  F" ~/ K+ P3 V: ]8 |& {
  286. LDA #$20: X9 \& J+ d" D" I
  287. STA $BB
    : E1 V$ b! S+ Q* c
  288. % ^  h5 u$ i& ], t
  289. CL1:
    ; |4 p, C9 X8 T7 X' n0 ^8 f
  290. LDA $BB
    2 y( ?, J" I- }5 g
  291. CMP #$28  J5 t3 _, I- U4 a& ], Q- E0 x
  292. BNE CL2: s+ ~; g' A( |+ a' D. ~* p
  293. LDA $BA4 b& W6 q- }1 K9 G
  294. CMP #$00  M3 z% n- m$ F5 u1 M8 V0 `% V
  295. BEQ FREEWRIYE
    : `# G: g& d' E8 y  G
  296. 1 G2 @1 Z$ @7 Q4 q1 t6 R# z
  297. CL2:
    : p0 [! u1 \. k7 {' N- V1 R) r
  298. LDA $BB# L! z0 r1 @2 z9 Y  q! v9 a
  299. STA $2006
    + P- t' f$ M, o
  300. LDA $BA
    5 B4 s' x; D9 }# R9 d2 j/ O
  301. STA $2006
    * ~3 Y; s2 z; E' s; Q

  302. + S( n7 ^' H& x/ O" [; D
  303. CL3:" C5 X2 p1 S6 M# X
  304. LDA #$00
    ! k: y/ y+ K1 [# q. R# Q
  305. STA $2007
    / |. A- _/ ?' P, i% y- y1 F
  306. " K; s& u* W9 F9 Z. c# `3 K: A
  307. CL4:; p# E7 P3 c" T/ W% @( d
  308. LDA #$00. N# x  `/ o4 Q
  309. STA $2000
    6 k& ]. r( D% |
  310. INX
    : \, B* C+ z$ P- D0 Z( ?0 P
  311. INC $BA
    3 D3 Y4 f! o( A6 {' `
  312. CPX #$00
    & a4 K# f! Y% H. P
  313. BNE CL1
    4 W9 f' |1 _; b! S& b4 k
  314. INC $BB9 N& z, h# i; H! G- G+ A0 i
  315. JMP CL1 7 q) k5 W" @, t
  316. 7 i- m: z  T) Y  Z) |# o

  317. ( i$ z! R4 h2 C3 A
  318. FREEWRIYE:
    3 m) B+ [) z- b- G7 I
  319. " O) w' @6 ~% y. F  q7 q, ^) E- ^
  320. NOP) M) P* J5 o( v6 w
  321. " p: w2 p* t9 Q) Y% Y  C! E- }, u

  322. $ R) E  V) p) c# e
  323. * }( g0 v4 L) B. K

  324.   a2 }. K0 T6 ?, u# S- `/ B

  325. 9 @# P2 Z# l" ^' t# C; V; h0 N
  326. CLEANF:                ; 恢复现场& C) P- @3 R+ ~; U+ M

  327. 0 Y# Z7 k" @1 b9 ~% C% D9 p
  328. PLA
    3 i! @5 [5 {" H' _
  329. STA $B8
    0 t0 S  D8 x8 \" F( G4 R5 ~8 Y
  330. PLA
    0 x3 B- K+ j3 n9 r! d% P/ C" _
  331. STA $B9, {! M0 `$ X: x: O, u' J+ A
  332. PLA% w/ G- F. @* w7 v1 K
  333. STA $BA
    - k- p$ K! \% q+ e# s
  334. PLA4 y' Y3 Q/ f: c" @+ E
  335. STA $BB4 _" t) x- q+ \5 s
  336. PLA& l& s/ s1 f4 U  P6 v" M( y$ z
  337. STA $BC; `6 b/ n- `" a, A
  338. PLA  V& A& [/ a6 P; X
  339. STA $BD. ~4 B+ F( q6 ^  o9 R7 F  u
  340. CLRF:
    7 D0 L) o1 Y$ f8 a
  341. JSR FREE_PPU
    * V4 l3 w) t0 c) o! }6 j& M% R- K0 [
  342. RTS
    / `( e; U' `- U6 ^" K. a

  343. ; J3 d( M2 F; |

  344. 1 m1 ^% p' w8 h5 N, _; P1 L
  345. PPUWRITE:    ;PPU写回
    3 g  b- O$ }" x: {) d2 B+ y. F5 Z
  346. PLA
    9 s/ y2 k1 u0 O6 @! J7 B- ^* G2 r
  347. TAY
    & g6 J/ [& E8 J. h* ^0 T
  348. PLA
    - V. g" g: J: ?% ~1 x2 T
  349. TAX
    + A) ^* j2 D0 h& v! Y
  350. PLA
    + M5 G6 s, N$ x" j
  351. LDA $25
    0 w' V- \: C+ h! I
  352. CMP #$00- o$ H5 W* u' R4 z- ~
  353. BEQ WP13 {4 T( r2 {, c% B3 w
  354. LDA $25
    ; P& Q0 b' j1 z9 h1 d2 H$ d5 P8 }
  355. CMP #$01& ~4 j9 j0 [' \  t' a
  356. BNE WRE; Z" e' k, H- v( W
  357. LDA $F5,X
    $ f, {4 L% T7 q* g5 q7 C: G" L
  358. AND #$EF
    - n. B( m& E  d1 C$ \
  359. BEQ WRE# q) N8 u+ l2 O% n% A
  360. LDA #$00
    , D: U/ _% k) \* i) Q$ Z2 U7 N! @
  361. STA $7FA0
      m% {: |3 f1 o) I' m. n

  362. 0 ^2 H. B# \" W( a+ @1 x5 ]8 G( R
  363. WRE:2 y; A" F( |2 W% P" d1 n
  364. RTS
    " i% U& J7 x/ Q4 |1 A6 u: d

  365. ! B, ~/ Y+ H4 g; t4 o
  366. WP1:1 M: @5 |0 q7 J$ j! a
  367. LDA $7FFF3 k7 y9 C9 C, a8 ?! _; P
  368. CMP #$FF1 G# F0 }  h' U& W# X7 h
  369. BNE WRE! J$ \1 R) d4 O9 @7 G" T+ h# M
  370. LDA #$00
    0 U" I1 o% i9 x
  371. STA $2001) ]9 @- c6 L& j9 H
  372. LDA $BD. ^$ ], q) O; u: ^: n7 d
  373. PHA
    % l* ^2 U0 {" ]0 O# `5 u% ?' q" X
  374. LDA $BC* ?" o% k. k8 e" z: Q% I' L; x% m  ~" t; o
  375. PHA
    : x+ e: ?/ U0 P- f% k( q# c
  376. LDA $BB
    6 \6 G' I/ o0 K) B2 r1 C: o
  377. PHA& Q. O0 a5 d; S4 k
  378. LDA $BA
    ! d8 s3 ?7 J& r; U# Y  ~
  379. PHA1 A& }! U5 e& ]% Z6 d- ?- }% r
  380. LDA $B97 d1 Z. V3 U3 h6 A/ a4 C
  381. PHA9 r) X' v6 |3 K5 z1 L+ m$ Y  L
  382. LDA $B8/ z9 Y" [6 t( p, b& c
  383. PHA. S( ~9 B0 F) C: U% @& V, W
  384. LDA #$00
    & O9 @4 P! ~3 p/ d" s$ A, {, O, b- M
  385. STA $B8* |# A' ~$ n- `: c, k
  386. STA $B9! o. q/ v6 Z* {8 r! J5 n/ Z3 f
  387. STA $BA; X0 a2 i0 ~, g9 x" J
  388. STA $BB# @0 T* S# {4 w* j3 ]
  389. STA $BC
    $ X3 v( b, S+ j" W$ w- j
  390. STA $BD
    0 b2 G+ ]* c* @. `
  391. LDA #$00
    2 R1 \+ d5 b# c, D% L
  392. STA $7FFF
    5 Y! B! O% V' O8 x; o& d* }

  393. 0 J3 ?. o6 ?1 Z8 }* A' r1 M7 q
  394. WL0:
    $ v$ V( D3 [  L: C3 }6 P/ v
  395. LDX #$00
    8 n7 P- t* _& }: x; S9 q0 a: ?
  396. LDY #$00
    7 T9 N! B7 c2 J0 b& \: N
  397. LDA #$00
    ; b6 p! B3 X: X: c$ f
  398. STA $BA7 R# u& I1 a. u8 l  ?
  399. LDA #$20$ ~4 V! u& F5 O8 r7 k- {
  400. STA $BB8 R2 V: c+ a5 Y2 |
  401. LDA #$002 T3 P( Y  K3 Z* ~- u6 }
  402. STA $BC
    $ \  L: F+ @% T0 N
  403. LDA #$60
    4 Y0 p( S8 Q, [3 E; h
  404. STA $BD
    2 Z" s6 p0 m9 Y+ n: u% V. l) \

  405. $ ^. t! h) }* V! y0 \' `1 I! C. _& Y
  406. WL1:! v! l; Y' e+ @
  407. LDA $BD
    7 j0 l" }! M! C8 r2 R
  408. CMP #$68; {* \; M- i6 w, j0 o2 a+ j( m
  409. BNE WL2
    ! B' g3 ?, {7 e
  410. LDA $BC
    2 A$ W3 A# _5 q- j
  411. CMP #$00
    ( q3 U$ p/ |6 Z' W; G( v
  412. BEQ WLR
    4 R) k3 y* n1 m  o2 J
  413. 2 x( X5 t. p% T* W
  414. WL2:
    7 ^' n: b* o9 @$ N( }1 I
  415. LDA $BD
    . P% n/ i: V6 |. d6 g# X1 i8 }
  416. STA $2006
    ! V! ~$ B- q0 T* B
  417. LDA $BC1 Y$ r; A% h8 ?) n& G: C2 K/ I/ e1 \/ K
  418. STA $2006* T9 V' P, X' \6 Y' N& I

  419. ( ?) C# S6 P. `/ W4 d, u, X& H* E5 X
  420. WL3:
    ( F" m0 U5 q0 r+ b1 E, R! c. I
  421. LDA ($BC),Y& ~% y5 {7 o6 g2 [
  422. STA $2007
    ) U4 p2 L( X$ M  R
  423. + o0 r/ d. S6 C; `- J, ]5 C
  424. WL4:% ^0 K- f( D% T7 _0 ?
  425. LDA #$00- E& K4 k, l- g+ \' N
  426. STA $2000: G' g/ G$ r$ b% Q: W! t: E
  427. INX- R" X- m" s2 o6 V7 k
  428. INC $BA# u: P6 q$ R6 F6 K% B
  429. INC $BC
    9 T/ g/ u" ^& |8 Y: L1 p8 y) g1 c
  430. CPX #$00
    4 c$ g) S2 D: h4 x% k1 |: V
  431. BNE WL1
    ! b9 T3 {7 S) C
  432. INC $BB
    ( P; d* Q* `+ F- Y; |" A5 x
  433. INC $BD
    ! Z. V( J5 s+ |; m7 j" a
  434. JMP WL1* Z# u0 p9 j) I+ c1 Q: s; a9 f7 x

  435. . Y) }: @( q9 G4 m
  436. WLR:
    " O0 p$ K! ~/ [" R
  437. LDX #$00
    5 i& D  k" M3 m
  438. COPY_7F00_7F3F:
    1 I! W9 `# N: J" x1 A
  439. LDA $7F00,X% @( P' }4 J) z* ^
  440. STA $07C0,X
    $ G" J  d) d' q0 e' N* O( |
  441. INX
    8 H- R( n+ Y; [( }* f3 k( f
  442. CPX #$40
    3 A8 l6 H  ~. f& M6 R! v
  443. BCC COPY_7F00_7F3F
    * g$ M. A* K# i( ]
  444. . W$ V1 f: I7 u) q0 ~" ^* D
  445. LDX #$00* x+ p$ f) c; b4 {8 u
  446. LDA #$3F
    ( s& J3 L! J6 l2 q% o5 S
  447. STA $2006
    9 \* P3 W, \- ?
  448. LDA #$00
    5 C* @, p. M# P" K* S+ j
  449. STA $2006
    . q* X8 u# M9 Z$ z4 ~& X, e
  450. COPY_7F00_7F10:$ H7 C9 E3 e) s9 O6 W; i1 n% l
  451. LDA $7C0,X
    4 Z2 y+ d9 Q% G! I2 w
  452. STA $2007
    # Y' h% [  m( H  }# F( Z
  453. INX" s) L) g. R4 X
  454. CPX #$10
    # b2 ~0 a2 P; _' }6 W# |
  455. BCC COPY_7F00_7F10! J; s0 k7 p' z: m) {' M$ y3 E
  456. 1 L' R1 \, z; F, w- }
  457. LDA $2002
    " S8 O2 C8 a& u8 k  _" Y
  458. LDA $FD. V, g+ N7 |5 e6 U0 m# n
  459. STA $2005
    ! K0 k" }3 x9 o' G; W! Y3 F0 F
  460. LDA $FC
    5 p( g- J9 {- d) z
  461. STA $20054 w( o4 K0 e3 N( X8 m3 |1 c5 p

  462. 0 ]$ D+ ^% {6 F. {( J
  463. LDA $7F50
    7 _! Q: h! D. k2 T7 d
  464. STA $FE& x4 N2 A* H5 V. S* B9 x2 w. l
  465. LDA #$00* b+ K2 |6 x, ]# |
  466. STA $2000
    2 J* s: q% m: A& P/ }
  467. PLA
    / L9 u; A5 R' {  s  w+ E9 f/ b: [
  468. STA $B8
    % v7 {3 F0 {: N5 B6 _
  469. PLA
    0 c4 v3 _& R  @  Y. o) V
  470. STA $B91 B2 i7 \& I* z- s* N' X) t
  471. PLA& N( I/ a% T% U4 E8 `9 J
  472. STA $BA
    * @1 `3 h" G* v5 L$ L/ p/ f
  473. PLA
    . \/ ^% L* ~1 I! a% h
  474. STA $BB
    6 e  I9 U5 y* Q) U
  475. PLA
    8 j  m: `% |( M4 Z2 w' D4 e
  476. STA $BC, v8 n7 V0 f$ a2 P# ]; K
  477. PLA5 X5 E7 b* [) Y* h" M& T" t
  478. STA $BD
    7 r& g  m0 K* w
  479. : F: ]" M. e1 v2 P7 k
  480. RTS5 Z3 v7 b7 I& U0 b5 t8 y; `0 I! B

  481. + v- R! M% l0 T: P; F& G5 t2 `
  482. PPU_CMP:6 [. {3 J5 V: A

  483. & _% D1 u& N( u: {4 @6 H) k& B
  484. 4 O  R4 v2 P4 H! N; X. b
  485. PPURE:& u% r* H2 s! G5 w  L, S' g
  486. RTS) i) G3 @  _$ u7 R: X  m6 y" a1 h

  487. & ?& s7 F- S1 w/ P( A

  488. 0 X7 {* \& B$ i' g: r% ~+ Q2 B
  489. FREE_PPU:: E; F2 E6 d: X$ n6 ?( B

  490. 6 }3 I) p- Z) o" v! b. S0 N
  491. JSR TEXT01_PPU
    , T; K6 c, w& C: R( O% a
  492. JSR $CBC0( _" @, ?6 {- i2 `! |/ s
  493. JSR P1_PPU: K0 f0 B6 L: E# D# O2 H" v  A
  494. JSR P2_PPU+ z/ U6 R7 B1 t  ^9 H
  495. RTS
    $ U$ W( p' p7 K: y) I! v
  496. 1 R0 O  r: `  _" d* q' a
  497. TEXT01_ADDR:
    - B, Q$ I+ S" U4 f4 G
  498. .BYTE $20,$42' i0 N: U3 g/ {  a
  499. TEXT01_DATA:+ x0 F& X$ f0 A5 e
  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
    7 d% p. N7 o- Z# x
  501. TEXT01_PPU
    & i6 V$ Z% _% u& _
  502. LDX #$00
    9 V& t; J7 x; m- I7 |* k! ~  p
  503. LDA TEXT01_ADDR
      [& ^# T+ \6 A; m  ?& K' n
  504. STA $0703
    ; I# U1 W$ K- L. h3 Y* c( ]! [  L" Z
  505. INX; c- z2 r# E5 }; m& u
  506. LDA TEXT01_ADDR,X0 L/ O0 E1 k3 {: W3 O9 x. X* l
  507. STA $0704  `$ t! V; E1 u& {
  508. JSR PPU_PROCESS
    1 x) Y9 R4 E- u0 v$ |/ V
  509. TEXT01_W:
    & Q' @: G9 t9 k
  510. LDA TEXT01_DATA,X
    ( i$ x9 a1 t8 Y; Q: o
  511. CMP #CEND
    & `) `5 Z" s2 a6 ^
  512. BEQ TEXT01_START2 U! c; M0 d# F; K/ T- {9 f
  513. STA $0705,X' D5 G7 U' ?9 n/ c
  514. INX
    # J" G) @/ |! l5 u2 S2 a" P1 X
  515. LDA #$00/ F  x* o1 Z1 d
  516. BEQ TEXT01_W
    8 n. G* V3 H# S1 l) W
  517. TEXT01_START:
    0 ~+ H1 p& k8 v: J/ p$ g
  518. JSR PPU_START
    % W. d1 @$ C& ~% @( o
  519. RTS
    " s2 d; {( v) M7 F3 C: D
  520. ! l# \- A" O$ X, S! z' F/ n8 F
  521. # x4 \1 R% b! l0 r) R1 ?
  522. COLOR_DATA:
    7 ?1 G: e* V/ R$ L8 ]" [
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$283 C1 R+ p: P7 Y' M7 }

  524. , k7 j' Q9 ^4 [, c6 H: @$ A& k
  525. P1_PPU:8 L" J. u1 O9 k# I( `
  526. JSR PLAYER_01_PPU& E4 O* d% s! K/ b0 s
  527. JSR $CBC0
    # g" H1 V2 j9 q$ m3 ]
  528. JSR RELIFE_P1_PPU
    ( a6 R7 Y. ?" z* n5 {, o1 C: ~3 B
  529. JSR $CBC0
    1 ~5 r# `5 ^& ~7 l; x
  530. JSR RELIFE_NUMBER_P1_PPU9 |- M" F) L; ^- C& k3 z+ \
  531. JSR $CBC0' f5 [  a: c+ z! J0 c( r8 ^
  532. JSR WEAPON_P1_PPU, q" Z% ]4 j. u
  533. JSR $CBC09 r. E8 t, M- E, b0 h
  534. JSR BULLETPPU_P1_PPU
    9 K' E5 c  U& n  Z
  535. JSR $CBC0
    5 n: h7 Z; A  z) p2 m7 l2 h# _
  536. RTS
    ! l. V( I% V: \: V
  537. + d" E% w' x6 N0 M% F" R
  538. P2_PPU:! W" J6 r( S% N6 J
  539. JSR PLAYER_02_PPU
    & i5 M! @1 z( A8 b) Q
  540. JSR $CBC09 l$ n  N. T: e" e3 \
  541. JSR RELIFE_P2_PPU9 ~8 ~+ W5 L' R
  542. JSR $CBC0
    ( y. U' ]$ e) ^- R( o
  543. JSR RELIFE_NUMBER_P2_PPU, `2 f; s8 g! C/ x" u+ f. {
  544. JSR $CBC0
    4 h# u3 e& R) K6 }4 P- h
  545. JSR WEAPON_P2_PPU, \5 T; N/ ~+ X
  546. JSR $CBC0* G. U( Z8 U# ]7 u; @8 }
  547. JSR BULLETPPU_P2_PPU' z  R* ?7 w6 c6 C4 J' ?
  548. JSR $CBC0" K& @( M% J1 u
  549. RTS* i% p/ A/ u7 l8 p- t( \& v3 r

  550.   L+ L) ]" e- d( v' D8 [# \

  551. ' ^/ m* Y5 K- A( v5 V1 g& U; a; P
  552. 3 F* [% N8 p; s; e- O1 M1 X
  553. PLAYER_01_ADDR:
    & H" U3 k: M  i4 s8 ?4 G/ E9 E
  554. .BYTE $20,$A3
    6 J/ l" ^$ ]& z  X6 W
  555. PLAYER_01_DATA:
    $ M7 f0 n6 [) r% G' f/ H. j
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND' w- S( M9 z( P5 y/ _2 ]! K
  557. PLAYER_01_PPU:
    . t9 f1 P8 O) D1 s
  558. LDX #$006 x: [$ M2 a. [$ F
  559. LDA PLAYER_01_ADDR
    % L) s" S: W& J' @4 [! {
  560. STA $0703
    : S$ C* q" ]7 ?! F) I
  561. INX
    6 s& K  O0 N9 s" J  _- n5 W. z# ^
  562. LDA PLAYER_01_ADDR,X6 G6 b! i9 ?1 l, k3 L
  563. STA $0704
    8 [( T) u  e& j$ C
  564. JSR PPU_PROCESS
    4 q- y3 x) q# B% m. D3 e2 k
  565. PLAYER_01_W:' K  E" w/ I3 C
  566. LDA PLAYER_01_DATA,X5 d8 T- m8 L9 d5 M( H  t, V% u
  567. CMP #CEND" k8 \6 T1 A5 ^  u8 [
  568. BEQ PLAYER_01_START" g, X, x( q6 h) `- C
  569. STA $0705,X
    " h. c( N4 W9 Z" I! q- _9 \
  570. INX  A' b$ I- B6 V' ]; f  q
  571. LDA #$00. E% F) P. c9 g+ c
  572. BEQ PLAYER_01_W
    : i- s6 k+ f: a/ D% W
  573. PLAYER_01_START:
    5 P4 q: V; {( c/ P0 r7 B
  574. JSR PPU_START/ i3 h4 p1 u! R' I& L
  575. RTS
    , e$ s) m+ g6 x9 c7 ]/ l
  576. ! G8 g) @4 d( b5 @% p) i

  577. * c/ e/ F+ P& Y' L
  578. RELIFE_P1_ADDR:3 v9 Q. a( m  r, j$ d0 M1 b. Q
  579. .BYTE $20,$E3+ L. {. X. V% ~+ ^8 J) [
  580. RELIFE_P1_DATA:) |2 u; H# S% s- ?
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
      j: E  l# ~1 K+ X
  582. RELIFE_P1_PPU:
    ' A- H0 q) w; V% k+ q/ O/ a
  583. LDX #$004 y" ?7 S8 C* j- @* x- V7 f" n
  584. LDA RELIFE_P1_ADDR: b2 D5 B+ B8 m- H. Z. a( G6 Z" ~
  585. STA $0703
    & U3 K  S5 A/ I; T+ n" Z
  586. INX
    / v1 p, Q* v+ L8 U- N
  587. LDA RELIFE_P1_ADDR,X  O1 w1 w5 {6 o3 p+ }+ W
  588. STA $0704/ P' U3 v1 \% _
  589. JSR PPU_PROCESS% s, d' L; H0 f2 Z; t
  590. RELIFE_P1_W:6 n: l$ |8 M: a$ c1 C
  591. LDA RELIFE_P1_DATA,X# ^1 g, E6 n1 x: E
  592. CMP #CEND
    # p* G+ h$ A9 e% E) _- R
  593. BEQ RELIFE_P1_START
    8 Y0 E) U+ N2 S. W: P6 w- A
  594. STA $0705,X
    ; y7 T6 j$ U) ^# f
  595. INX
    % f& u8 r. Z% v1 z
  596. LDA #$00$ X/ z. Q( ^2 L, s# `
  597. BEQ RELIFE_P1_W
    ( w6 @! s! F* g' G  ]5 e
  598. RELIFE_P1_START:7 U" F; }+ n' y0 a1 Y
  599. JSR PPU_START
    4 ^$ n& s2 K2 p
  600. RTS
    - w" n, `# H( g. S5 m  e0 n: c# U

  601. * c3 e6 |, z' ^0 r; A  c
  602. ( I% w8 f9 k1 J! N' {# @6 ^+ ?
  603. RELIFE_NUMBER_P1_ADDR:6 f* e5 W$ d- a: z/ K9 i8 |; C
  604. .BYTE $20,$EA
    & v. W9 I; Y$ a; ^" @# g/ Y' ~
  605. RELIFE_NUMBER_P1_PPU:) S9 ]: [! h$ |& Z
  606. LDX #$00* |( D& B: g6 Z+ Z% t
  607. LDA RELIFE_NUMBER_P1_ADDR" ]* C+ o/ {& d* B: J4 \* Z* x- I
  608. STA $0703- G3 y& e) U' \# ]
  609. INX
    3 m* ^+ t, {1 J: D/ `
  610. LDA RELIFE_NUMBER_P1_ADDR,X/ Y; M2 h4 X% h$ n) {# U% c: p
  611. STA $0704
    ' [2 f$ L+ @" z! Z7 M
  612. JSR PPU_PROCESS8 b$ c% [& F) [6 r6 w/ i9 ~5 d/ S
  613. LDA $32
    6 X6 {. Y: N, F8 p7 T1 d  m7 y
  614. JSR LIFETODEC
    ! }6 F9 V' i8 y# o: b, A7 e
  615. RELIFE_NUMBER_P1_W:
    9 `$ j+ J& H# x& @
  616. LDA $7A03. e% X4 F; A- J3 V) _6 ~/ F' L* \
  617. STA $07055 |. u0 l8 ?, z: \
  618. INC $0705
    5 U2 k  ~4 U) t6 y, D; H% j
  619. LDA $7A04
    $ l" [& @: \5 p
  620. STA $07067 e2 f# v9 e' ^* L
  621. INC $0706' H( A+ z5 X3 P& W( B% Z
  622. LDA $7A05
    + ]& X: e& a) C8 y# f; z
  623. STA $07079 e8 z1 y( Y+ j. {& r  J
  624. INC $07072 h9 w2 k  `5 D' Y# J0 S+ {
  625. LDX #$03/ ~# H5 V" M+ Q8 p9 V$ o
  626. RELIFE_NUMBER_P1_START:5 t7 O& F) P+ P% X
  627. JSR PPU_START
    + d, S0 P7 E; A1 U( S
  628. RTS
    6 I2 z+ d, W' H2 X7 `% \, n

  629. + ^! t1 O. b% m" I/ |( N1 N5 x3 S
  630. WEAPON_P1_ADDR:* s6 A' H3 B* B: h/ T9 H* G; {- ?
  631. .BYTE $21,$23
    3 U2 D  v2 Q0 m
  632. WEAPON_P1_DATA:
    5 l$ V8 ^( b* ?! F5 C; z/ }
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND, C5 P/ n( `/ R7 C
  634. WEAPON_P1_PPU:2 f& d, X/ V' u
  635. LDX #$00, F0 g9 x3 t. w2 }
  636. LDA WEAPON_P1_ADDR
    0 o* P5 \+ ]" c
  637. STA $0703" W. t5 _$ O! c
  638. INX" n) W5 W6 Q7 f( K  Z$ j
  639. LDA WEAPON_P1_ADDR,X; ^' g0 S8 N9 y, \5 P
  640. STA $0704
    5 P0 d: _, K0 P+ ^) x  M5 {
  641. JSR PPU_PROCESS
    7 Z* F$ ~  f* z
  642. WEAPON_P1_W:
    8 w& [8 Z! e! s1 W. E- h
  643. LDA WEAPON_P1_DATA,X9 d8 ?: E+ h9 C
  644. CMP #CEND
      N: |5 B0 }2 d0 I/ y
  645. BEQ WEAPON_P1_START; X6 C" S; F: m" F$ h+ ^6 D# ^
  646. STA $0705,X# [& a  Z; I3 m& @2 C4 ?
  647. INX- i0 }- `; A) T! |
  648. LDA #$00% q7 P; A& S; o
  649. BEQ WEAPON_P1_W
    5 }5 |6 T# C$ M1 \: }$ U5 x! n
  650. WEAPON_P1_START:
    - z) V: Y+ C$ N. s: A7 q* X
  651. JSR PPU_START* i" J, Q$ R; b. q/ N
  652. RTS4 X! @0 L) r% c. {

  653. ! h+ Z5 p" X# `$ N) [' S6 A/ V
  654. BULLET_P1_ADDR:$ ?  o% T2 H7 t9 g" h7 K
  655. .BYTE $21,$2A
    . d* A5 X- |( n5 K+ L
  656. BULLET_P1_DATA:
    ) X! A7 w+ C9 G, F& \
  657. .BYTE $00,$01,$02,$03,$04
    , I# ]" r; [/ d: Y! ~
  658. BULLET_P1_NAME:$ o" k5 I' c. A; T0 g
  659. .BYTE CN,CM,CF,CS,CL: D6 b6 N+ E5 q3 l; l
  660. & r6 N1 l" `8 K+ L
  661. BULLETPPU_P1_PPU:
    ! p- B4 x# Q% _5 j0 }" P4 e
  662. LDX #$00' q8 }9 }  ], s3 @0 R3 z6 {* n- I4 Z
  663. LDA BULLET_P1_ADDR+ t) T5 H3 H: T4 ?) S* t. u
  664. STA $0703) X/ d' c; h- n$ u) d& B
  665. INX, m& [1 E3 x& w0 @
  666. LDA BULLET_P1_ADDR,X
    8 E: `" }, r2 l+ j; C; B1 D% Z
  667. STA $0704: `) p0 x7 A1 D# e
  668. JSR PPU_PROCESS
    6 q/ h6 ?( l8 O# S
  669. BULLET_P1_WRITE:
    0 q; d" P! P1 K$ O- ^% b5 J
  670. LDX #$00
      f' p) l9 x6 B# Z! P
  671. LDA $AA
    0 a+ U  L, ~0 d; M8 w8 F3 {
  672. AND #$105 K4 u9 j" u) E8 S& N1 G$ [
  673. BEQ C_BULLET_P1
    . ~& B0 B; ?( Q9 f5 h5 y" U, D
  674. LDA #CS2 [/ m* {& [( T% M
  675. STA $0705/ s$ @/ F- d  ]" N1 p1 [0 v4 ~
  676. BNE B_NAME_P1
    ! E" @& z3 q. d  Q& j  L
  677. C_BULLET_P1:7 ?2 J" a) y+ V( e; E
  678. LDA #CC# m* q' n3 F: r9 ?' l- m
  679. STA $07057 O8 @/ v. }- y
  680. B_NAME_P1:
    ' z8 G: c% X2 V. d4 D- ~
  681. LDA $AA" F; w: A, L$ v
  682. AND #$0F5 F) h5 G7 o$ M. u) Z
  683. CMP BULLET_P1_DATA,X6 q3 @$ W. f% c4 d
  684. BNE B_NAME_P1_RECMP/ R: k4 \  w1 n- n
  685. LDA BULLET_P1_NAME,X1 J- S3 n4 ]; X- t
  686. STA $0706
    : s' f# ]" Y, w5 W; t. @# q( P
  687. B_NAME_P1_RECMP2 t) k* s0 g" V2 {1 S; }
  688. INX$ e4 ~* n. U( o1 Z8 g; C
  689. CPX #$053 f/ U  ~, h6 x7 v/ m
  690. BCC B_NAME_P1
    7 t& [7 K, ~6 V5 O$ y* i5 d
  691. LDX #$02; F7 c8 e2 V! X1 g/ l! s
  692. JSR PPU_START, [6 x% k2 d$ |3 N4 Y
  693. RTS
    $ e# A& y7 ?; Q" ~1 ~# L4 O3 k
  694. 9 k% D* e) D9 p' w/ U

  695. 7 J8 Q, T- }% g) P. q2 T
  696. PLAYER_02_ADDR:
    ! v' W' g& J# ?2 s
  697. .BYTE $20,$B3+ l2 `& g* D4 s9 ?
  698. PLAYER_02_DATA:5 H! }' ~; s0 ?* ~
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    7 `" z, f( q# @
  700. PLAYER_02_PPU:7 S# Q0 a: W! G
  701. LDX #$00  V, ^7 x$ y& Z) w& y; ]' c
  702. LDA PLAYER_02_ADDR
    8 @* o% ~0 H+ z6 Q
  703. STA $0703' i, h+ l, p' `1 I! l: L: g8 }. V3 v' B
  704. INX
    7 F7 F4 W1 i; k& Q3 r
  705. LDA PLAYER_02_ADDR,X
    ; o/ F: J) X: j8 {$ T3 Z* Y
  706. STA $0704! d9 s/ C2 R9 D/ l, S
  707. JSR PPU_PROCESS
    $ E, ]  r  z* e
  708. PLAYER_02_W:
    + A. ^+ G9 U5 M" [+ g
  709. LDA PLAYER_02_DATA,X
    , b( |, m5 @2 Q, B) ^9 M( {
  710. CMP #CEND/ w: `* I, g0 o3 `
  711. BEQ PLAYER_02_START
    ' Y! ?- @' l2 }! H, e* D1 M" Q( T+ ?
  712. STA $0705,X  _0 r" \5 Q% j! u
  713. INX% b2 P( X( G! {4 o
  714. LDA #$00
    2 x2 K6 c" C9 U  Y. v
  715. BEQ PLAYER_02_W
    6 m7 p% G; Y4 |
  716. PLAYER_02_START:2 L" M7 x6 ~& }+ d
  717. JSR PPU_START
    $ \) V$ o) F- T( Z3 V4 h
  718. RTS+ g) A6 ?  t% W) n/ ^8 R1 y; u

  719. " T$ J4 J' b6 v( `) B7 H) v$ x

  720. # A( Q6 {& {# l% ]6 M/ q# D  ?
  721. RELIFE_P2_ADDR:) q$ k8 r' \% R+ P: ?
  722. .BYTE $20,$F3  J" [- I; D) s8 _
  723. RELIFE_P2_DATA:
    3 @5 j, |; u8 N" G" f% K7 \
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ) s# }/ E2 Z+ w) x: A. T
  725. RELIFE_P2_PPU:9 L* g. D, j  e5 T
  726. LDX #$00
    ; Y. }5 M7 `( _- g# ]
  727. LDA RELIFE_P2_ADDR) w' c/ T! R& T, t% k0 \
  728. STA $07030 o, M- r8 P3 [, u1 z6 w" K
  729. INX
    ' n$ t5 v! ^5 {, D* d- H' X
  730. LDA RELIFE_P2_ADDR,X' G3 \$ ]1 O! h  X, X
  731. STA $0704
    " e/ N, E3 u9 E6 h0 A3 ?; C  h7 o
  732. JSR PPU_PROCESS
    & ~) t3 n  I; }% ~& `
  733. RELIFE_P2_W:
    7 s- T' C8 {3 Y+ X5 S3 e" j. F
  734. LDA RELIFE_P2_DATA,X) R3 |# }7 m6 m8 h6 p
  735. CMP #CEND  n9 z, P! n/ g( y# F
  736. BEQ RELIFE_P2_START
    $ F& H  L* @# w' C# S/ ~7 D
  737. STA $0705,X1 s4 [) X# ?- a6 N3 c
  738. INX* f8 {( N/ E3 u4 f' b+ j: {
  739. LDA #$009 J" I7 c3 X) t% I/ w; x
  740. BEQ RELIFE_P2_W
    ) n$ J/ k' M" }5 K7 T8 x
  741. RELIFE_P2_START:
    % g. s- h8 l' x0 ^
  742. JSR PPU_START& I% ]1 ?, Z7 P
  743. RTS) b! Y( q' e7 E$ E3 u

  744. ' V5 R2 p  J, H. u2 @7 y$ H
  745. ; g0 _% P4 R) B
  746. RELIFE_NUMBER_P2_ADDR:2 G1 ^( s- J% `3 J
  747. .BYTE $20,$FA: l6 H/ H. D/ D  T
  748. RELIFE_NUMBER_P2_PPU:' D7 G' ~) {5 L# s/ |
  749. LDX #$004 {" g" X, z3 `# T3 @
  750. LDA RELIFE_NUMBER_P2_ADDR
    $ M! g! G8 g0 |5 U8 y" M
  751. STA $0703
    5 @8 C+ _9 t- h' w% D9 @+ [
  752. INX
    ( s# d6 T* a4 t$ w" L% @* r" o
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    ! d; u: `* ?7 T& T- ^
  754. STA $0704
    ( |  J/ P, F  j$ u: N8 V  \& B2 q4 M
  755. JSR PPU_PROCESS
      X$ t. Z1 h9 ]8 l6 v2 K" v
  756. LDA $33) ~1 D7 j5 p/ B/ N0 `1 K
  757. JSR LIFETODEC
    . f* b4 u+ {7 o, V
  758. RELIFE_NUMBER_P2_W:! _* I0 z. {. D5 S
  759. LDA $7A03
    8 j  T: `7 M- R5 C) S; |
  760. STA $0705
    + Z* P* Z' Z. F
  761. INC $07051 y3 k$ _; W6 R2 N$ \; z
  762. LDA $7A042 ~3 l+ X/ g( B" K! ^* w+ i) D
  763. STA $0706% d; ~; y& g! }
  764. INC $07064 O/ V# c& y/ q+ b4 V4 @4 K. {0 C. l2 q
  765. LDA $7A05. |* u& L- y# p( r+ T
  766. STA $07074 U( Q' b5 W! _9 c% n1 b4 X
  767. INC $07077 p2 t: q1 U% Q7 X% s8 ]
  768. LDX #$039 o1 X# c/ F+ @% O" K/ D% G
  769. RELIFE_NUMBER_P2_START:- i5 [/ ~# ^3 {( l
  770. JSR PPU_START
    4 `# O2 i/ k7 M. h' F
  771. RTS
    , f, ^5 \. F: p  p2 B

  772. * n( X/ r/ a3 j; l0 c2 t4 d0 W
  773. WEAPON_P2_ADDR:( |2 v! R% o3 {: z% c: _
  774. .BYTE $21,$33' e" k1 K8 v* a$ p
  775. WEAPON_P2_DATA:! V7 z1 m3 A! B) \* ]
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    , ~) k1 \" C4 x* ]
  777. WEAPON_P2_PPU:
    , S' m3 Y+ Y5 H
  778. LDX #$00
    ; X' `" K# X4 {/ v) D, Z
  779. LDA WEAPON_P2_ADDR& U. ?6 Z5 @) Y( i- s1 Z; @
  780. STA $0703
    * `$ s  h0 h$ _6 Y: B5 S* M
  781. INX
    ' ^7 ~3 f7 W7 T$ N0 m8 Y! D; ^* r
  782. LDA WEAPON_P2_ADDR,X
    - c7 Q$ [9 U8 T5 |& U* p) w
  783. STA $07048 \$ D. X& `+ w, F8 X' z" H- U
  784. JSR PPU_PROCESS
    , I6 f4 z. {" \# J' f7 r9 f! W
  785. WEAPON_P2_W:
    * T. e( g# e. C7 e  O: M7 o
  786. LDA WEAPON_P2_DATA,X
    9 N5 i* E& \( P, P* U+ h4 [
  787. CMP #CEND# q! y4 u' D* D1 L; C' V( \) K
  788. BEQ WEAPON_P2_START6 m  [: H  `0 `
  789. STA $0705,X
    ( Z/ }% w$ j. e3 j  }# i; X: L
  790. INX$ y  ^& I3 B& m/ O' B! o) c
  791. LDA #$00
    3 A( z9 D6 w5 w8 \
  792. BEQ WEAPON_P2_W3 n$ W* J7 F( \; d3 L* e; e( S6 H/ D
  793. WEAPON_P2_START:
    * E  C" b* [) ?5 R/ V$ V
  794. JSR PPU_START% I. j% r) G3 K2 e
  795. RTS
    - g6 h# Y0 c& H6 K: g

  796. % d" z) X% V. k! r$ s; b
  797. BULLET_P2_ADDR:
    $ ^6 x- g* s% V8 [
  798. .BYTE $21,$3A
    . o% y+ Q7 e. M% T$ Q5 H5 b
  799. BULLET_P2_DATA:& N" M1 P  ]$ n" k2 `
  800. .BYTE $00,$01,$02,$03,$04* L" H) I3 @4 D; L
  801. BULLET_P2_NAME:
    ! Q/ m& U( A  D9 ]1 c$ l
  802. .BYTE CN,CM,CF,CS,CL
    5 M8 k  K0 T6 W5 [1 c
  803. 5 G, }- @3 H5 ?: m3 i; i
  804. BULLETPPU_P2_PPU:: W- F* f7 f; k) B* z+ w
  805. LDX #$00
    1 e. G6 `" G  H. X4 U8 ~
  806. LDA BULLET_P2_ADDR
    ( P) s$ w3 K8 s& v
  807. STA $0703
      A5 o- V$ D; X
  808. INX3 [( Y  ^0 H, I  G, j2 N
  809. LDA BULLET_P2_ADDR,X* c$ X2 _. |) ?2 c3 P/ @/ \
  810. STA $0704( l; |1 M- ^. [* T. |6 ~
  811. JSR PPU_PROCESS5 Q. n# b* Y* T1 L1 ]: @
  812. BULLET_P2_WRITE:4 t! V3 b% n. f% p' d0 ]
  813. LDX #$00+ _3 I! P: m+ n! T1 k$ W- }, A4 L+ J
  814. LDA $AA/ @' f2 J" a8 y4 Z
  815. AND #$10
    ; {* p. X; x  j% W& N- G* N) W% o
  816. BEQ C_BULLET_P26 S' Y! d3 N  {5 |- ~, O6 {
  817. LDA #CS
    " ?. o" a0 h9 D. E
  818. STA $0705" s) r. u3 j  H
  819. BNE B_NAME_P2
    / ?& [( _. o: M" Q) i4 |
  820. C_BULLET_P2:
    ' B. K& g+ Q3 _2 }7 q
  821. LDA #CC
    0 t% _# I2 {# ?1 y" t/ N
  822. STA $0705
    3 Y0 ~6 M; H5 G, `6 O% k1 H0 b
  823. B_NAME_P2:" f7 c4 ~; {4 x8 A
  824. LDA $AB7 V. f" |  d+ O+ B
  825. AND #$0F- v6 W, a. U1 |' M& n3 ^* C, r
  826. CMP BULLET_P2_DATA,X( l4 m" a6 t, f$ Q" H
  827. BNE B_NAME_P2_RECMP
    8 \) T/ F; A" a# ]/ b* E/ c
  828. LDA BULLET_P2_NAME,X) [; W, w8 U( v% [
  829. STA $07069 i) Y& Y& ~6 F, [1 S# ~) x
  830. B_NAME_P2_RECMP
    : t4 x! k+ G  q  B- x; L* x
  831. INX
    4 v: M# q5 o  y) j5 n0 b) G& v
  832. CPX #$05
    9 U% V! D, w2 f2 `9 q7 I1 G
  833. BCC B_NAME_P2' S7 ^( T( N3 o8 L. A6 T, y
  834. LDX #$02
    + u% w1 n6 S9 [3 R  O- ?" C5 D
  835. JSR PPU_START
    * B6 e; V. c5 F' P4 a% u
  836. RTS3 h: Z# \3 n" Z5 f) I

  837. 6 }& u  `' A# m8 D. c

  838. , n3 _. Y, x7 v

  839. $ q- d$ W# H0 Y9 E' y
  840. # r9 ~0 J) i/ `# Q) f& P

  841. ; k3 e# N# j4 F- l

  842. % G: I1 G9 j/ i1 O6 U# l' Y
  843. LIFETODEC:                ;十进制转换: H+ |$ l) J9 A9 w. r& N0 L
  844. LIFEL1:        ;initialise
    - v' `$ ?( Z. q4 n3 Q& g: z
  845. STA $7A00        ;$7A00=F3
    & H) j: Q" t7 P5 Z& e" ?, O+ ?+ g
  846. LDA #$00) i2 s1 u$ r$ i; ?  O; g* e
  847. STA $7A03        ;$7A03=00
    . u& R+ J& B+ b
  848. STA $7A04        ;$7A04=00
    - z* N7 c. s, G+ G: P& M4 C* w
  849. STA $7A05        ;$7A05=00
    8 c) b' R6 L; x3 D
  850. LIFEL2:        ;copy data $7A00 to 6001
    . Y' n. y( v; l# K
  851. LDA $7A00
      j" G. J4 r* l
  852. STA $7A01
    / g0 ^4 K" h" o$ h: m

  853. . J. c/ `5 e, M7 H  `/ K8 e7 g
  854. LIFEL3:         ;hundred
    ) J: U$ l* j; y7 [0 B, u
  855. LDA $7A01
    ! s5 v8 n+ q7 T9 P' }
  856. CMP #$64" f' N0 e0 Y- A# G
  857. BCC LIFEL6                ;$7A01<100 goto L6
    ) J+ r5 H9 ?) v7 M7 J8 z5 w
  858. LIFEL4:  K) f5 S" q% c7 C
  859. LDA $7A01* ]! D0 {! A% H' I5 E8 m
  860. SEC
    4 Q" J# e! S' f4 _+ v- W
  861. SBC #$64        ;$7A01=$7A01-100" ^( e' |; K" F/ ^
  862. STA $7A01# L  ?4 B2 f, `/ u, \$ r3 s
  863. INC $7A03        ;hundred++; b4 f. P5 R# e/ E: P; F  G+ Q
  864. LIFEL5:4 \9 w& s/ {7 H
  865. LDA $7A01. |/ h" [; F! o$ I8 d, U
  866. CMP #$640 v- {( E- K+ B7 Q' s6 l) m5 ^- u) u  x
  867. BCS LIFEL4                ;$7A01>100 goto L4
    : [) m3 `/ l$ A

  868.   Z% u  C; {0 W
  869. LIFEL6:        ;decade1 [2 s$ O. W' s0 |- c
  870. LDA $7A015 q# X- T6 Q2 s! \5 J
  871. CMP #$0A
    8 |, Y/ [  q& a! c
  872. BCC LIFEL9                ;$7A01<10 goto L98 c4 r" h' q4 V0 s* R; N
  873. LIFEL7:       
    1 U1 L# S, s( ^5 p8 ], p. u
  874. LDA $7A018 U6 X9 X9 s- S! Y# _: N
  875. SEC
    1 ?$ |, g5 k% ~) [6 E+ w- \; z
  876. SBC #$0A( I& J# {4 j5 G: S: S& S6 C) ?
  877. STA $7A01        ;$7A01=$7A01-10
    4 ?6 M: Y  ], K- _' d5 }4 q
  878. INC $7A04        ;decade++( z7 u% V; O% a
  879. LIFEL8:
    ' W% E# E' _# a/ q/ ]# r* _
  880. LDA $7A01
    ! S1 u3 T+ Y/ B. s: l. I" V
  881. CMP #$0A2 v* E& J3 ]( p8 S0 Z
  882. BCS LIFEL7                ;$7A01>10 goto L7
    / g  m* O  i# h& {- M1 e
  883. ;unit
    1 u& b3 s6 _) A( o# o' T
  884. LIFEL9:
    * ^' ?6 W/ a3 a& m( H
  885. LDA $7A01        ;$7A05=$7A01
    2 W2 e) R* {# U, _8 }; s
  886. STA $7A05        ;unit! h! h2 ?" U8 ^7 M
  887. RTS        ;return
    & R" r+ P, g6 c+ _1 U) e

  888.   H. Q/ [6 R3 {- N

  889. $ _# ^/ \1 `5 _
  890. . {1 V9 f) Y4 u  a% c
  891. PPU_PROCESS: ;PPU地址处理程序
    ! c3 R! u6 V! r, H( t
  892. LDX #$00: Y( M0 l/ z1 [( H) W: P  Z& Q+ s
  893. LDA $FF
    1 {2 V( s5 p" c. z$ z
  894. AND #$01% k2 p9 P" k) R( U- H/ L
  895. BNE PPU_2400_27C0
    ' H2 {6 S5 `) s
  896. PPU_2000_23C0: ;命名表1
    $ u7 ]7 h4 V5 D% E! W
  897. LDA $0703
    4 Y' i" P+ g% e+ W& H
  898. AND #$FB
    6 s$ H" Y2 h" V. K% w* A  \
  899. STA $0703
    . t# G9 l" N5 |- I  T' X) j
  900. RTS
    % Z5 S" H" w4 z7 |) T
  901. PPU_2400_27C0: ;命名表2
    5 w" x6 y3 [; e9 l! |: {
  902. LDA $0703
    + q- ~$ E+ o: G% K7 F$ ?1 Q* A
  903. ORA #$04
    8 O) z/ A& ?! _; `( N+ s
  904. STA $0703
    ) W/ V5 Z* ?) _
  905. RTS1 R6 ~, d2 B, r+ u
  906. + s6 O0 \+ h6 C- Q1 k
  907. PPU_START:  ;PPU数据写入
    : D' n' T' P3 S$ M- C: x
  908. STA $21+ g0 v% i0 j" F1 N8 G3 ?2 K
  909. STX $07015 I) M3 e- P# J# N- f' |
  910. LDA #$000 T& h0 e) K- G6 ~% U0 x
  911. STA $0705,X
    4 @* Y% v( W; r# d, p3 k9 n9 E' {/ A
  912. LDA #$01/ b+ D- l% X+ e8 ~& c; V4 D
  913. STA $0700$ R: v  }/ L( x% b1 V/ y2 u1 q  n
  914. STA $0702) X/ H9 d: `+ g1 K
  915. RTS
    . a& n  N) @9 t6 d8 j. X
  916. 6 Z9 |4 e) ?) f8 D' n" j/ v
  917. - r& D1 {+ |; }. U$ Z. t9 m% ^

  918. + A) u8 G+ J6 y1 ^: O

  919. 0 `2 e# g7 K+ S9 D2 V/ n1 E
  920. 5 g8 d- a1 B) f+ ~7 C5 R) S

  921. 4 H; Q0 {: }) }$ o4 e6 g
复制代码

) B4 ~1 a- K' d# o) O1 M; u' y

本帖子中包含更多资源

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

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

签到天数: 2381 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!7 v/ `* ~1 j8 s& n) W8 D( W

签到天数: 2586 天

[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-12-27 09:48 , Processed in 1.086914 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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