EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序# a% x/ \  k% m! G# f9 \
  2. 作者:FlameCyclone
    ' Z6 k/ M) |, @* P, j
  3. 时间:2017.2.125 ~+ s9 ?" w1 j9 B

  4. ) ]- E  B+ N/ y! d$ i7 T/ f+ C& X! h1 x
  5. 按键跳转:" X/ I' f1 L2 U2 x
  6.         C1EF:95 F5 94 F1
    * M# |* E4 k0 }6 P/ K) _% L/ N
  7.         C1EF:20 70 FB EA
    : b9 Z7 }6 H9 b4 q4 }

  8. # a! {" g* {! X9 p9 F  f
  9. 滚动偏移:
    1 A3 [& Y7 F; `: H; C
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    : n( f  K% [  h' E
  11.         F936:20 C0 FB EA EA EA EA EA EA EA0 a3 h0 G) X6 l: j; g& Y

  12. ! W! V) s: u* i- q9 v
  13. 背景调色板:# s1 G. d  S/ k+ Q5 ]8 J
  14.         CF20:9D C0 07
    $ ~' a+ a# p! Y# u8 t
  15.         CF20:20 A0 FB* a' M: C. y4 c5 V3 s

  16. & x- g8 k: k3 f4 H
  17. PPU BANK号:! u, I# o9 Z' t2 {. {
  18.         C8C9:9D F4 07  V/ M, ]0 k- v/ r
  19.         C8C9:20 B0 FB( |3 C6 u7 C  }9 ~

  20. 3 L' g" E: r" Z4 c7 C
  21. 按键跳转:# `: q+ N, T* y' P0 {: \
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ( s9 M6 Z$ i# g# |2 n
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20- I4 O0 ~; F4 N  Q( Q! d5 V. c
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    9 H* H( d$ @. z1 R. ^

  25. 2 I5 L2 @% U5 @" p# e5 r
  26. 背景调色板:6 M- @- ~3 \: i! C4 Z# O, [
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    , Y$ _+ Y" p6 I( {

  28. % i1 ~* K5 h8 e& y
  29. PPU BANK号:
    ! R( k% ^2 Q3 R
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF# I/ t: i9 R" X" b' k1 i
  31. 8 u1 g" U. K; t
  32. 滚动偏移:
    ! x' Y( R9 D. t- `/ m- ]9 r! _1 h
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60" z' ]3 {( `+ t" p4 l4 Y( g
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    1 E  H* X- m- Z

  35. / Y* J1 {0 F( J' P

  36. + V# \! r) K6 N7 a& a( p' x  Z
  37. 切BANK后A000:0 l8 v2 y+ {% R( Q: }* e- B
  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
    . L) _1 Q+ ?0 W# P. _3 r. |
  39. ; W3 x1 v0 u! m3 F3 B" Z  a
  40. 1 g9 ~2 k6 J  D$ G
  41. 6502 simulator:
    7 {9 k& U% [- c$ g2 W) L% }
  42. PPU写入程序:( n# H- b3 ]9 z' N9 b, f
  43. .ORG $A000- ~4 u; Z, V& b& Z
  44. CSP = $80
    $ C, j; h/ C; c' O# C
  45. C0 = $81* i9 V" @5 E/ L8 }
  46. C1 = $82
      x, B, _& S. P" g1 p
  47. C2 = $83
    ( l4 K; w, d/ f  I9 B( B+ F* v3 X) Y
  48. C3 = $84/ i' L9 R2 g2 ?9 G
  49. C4 = $85
    - b) G- ]+ z: J5 K6 P9 q- N. q
  50. C5 = $86
    ( H4 [/ N7 ~8 r
  51. C6 = $87
      g7 ?+ L' I% H2 a9 E( n0 v; Q
  52. C7 = $882 [7 B0 ]7 X! i* ?! H8 t
  53. C8 = $89- w3 G) E% j- ~$ H: ?1 @* S0 u
  54. C9 = $8A
    , K. _& [1 k" x& o/ w2 i# A
  55. CA = $8B, G- d! ]$ C1 Y  D+ I) B
  56. CB = $8C8 w) @; ~! o1 E' Y# n9 O
  57. CC = $8D
    6 y4 |$ J( \5 i1 N- N
  58. CD = $8E. a, l0 G0 Y  X. y' a
  59. CE = $8F2 G) z$ I! Z* Z! I; e. _2 V/ o
  60. CF = $90# c  U4 \: N1 V2 i$ p& ~4 w* E# p
  61. CG = $91
    . n: W  f) l, M7 L6 N. B
  62. CH = $92' D! E. }" `# W2 y, d* N
  63. CI = $93+ K+ ~2 p8 R: T
  64. CJ = $94% R9 @5 v3 C/ v2 `# R' Y( S5 T
  65. CK = $956 [, h3 |$ e  V
  66. CL = $96& |' v4 X. R' M2 f1 H, j6 I
  67. CM = $970 ~! ^6 w8 O$ q: M# N/ O
  68. CN = $98$ ^: K2 t: f& Z, d, s. l5 |2 Q
  69. CO = $99
    $ C" v3 \9 p- G  d
  70. CP = $9A$ X% K/ F1 n" Q* j! t( }1 @2 _
  71. CQ = $9B
    . G8 U: w* Z7 \/ v
  72. CR = $9C
    4 X1 h. h  }: O/ M9 ^
  73. CS = $9D
    * i- K8 n' f; p# P  J5 @) O
  74. CT = $9E
    7 A  `9 C" v. o$ b9 O1 S4 Q
  75. CU = $9F
    9 u# ]- A" R3 a) u- q# X2 a5 F
  76. CV = $A08 e% l4 O0 V" a+ T
  77. CW = $A1
    : s9 G$ w0 k1 {6 m: i
  78. CX = $A26 E4 S. f+ d. {9 t
  79. CY = $A3
    6 ~1 R6 }8 N) r' A' V" w9 K# J
  80. CZ = $A4
    # a8 J9 t( l) L. f
  81. CEND = $FF! S5 @' [) [0 K/ V2 |! B
  82. 5 ^- q: S& x& `4 k  U* ]# P# s( t
  83. / @: R% I8 f3 x. J( Q6 x8 ?, L
  84. CMP_RE:9 L3 i, |% l! G9 L1 H9 u8 R4 M
  85. LDA $FF3 t9 W2 ~. k3 _5 I
  86. AND #$7F
    5 D) A" J  g- k3 X
  87. STA $2000
    / j3 W! |. j/ O" S
  88. LDA $2002
      h. M8 N" U3 o# o
  89. LDA $25: F6 i! v6 ]3 K0 k; P: ]
  90. CMP #$01
    : n9 Q( h9 U! b( J) l! @
  91. BNE PROREG1 J- G% Y: y2 M8 ?* Y8 v/ v
  92. LDA $F5,X
    : M1 k! C2 M: b
  93. AND #$CF* T5 N' o: W/ b7 M9 P/ [
  94. BEQ PROREG
    ( N; b( T# L* Z; `5 p
  95. JSR PPU_CMP- H! X. @/ e7 r4 s  ?- h) W
  96. C_RE:" @0 `( v" S, l/ _
  97. RTS. m0 _8 g' K, G* ~+ S9 @
  98. PROREG:$ h& Y7 t. j9 ?) H5 X
  99. PHA' B$ C: c: u/ H% {3 Q
  100. TXA
    . H1 V5 {' A3 _" l; y
  101. PHA1 R8 b* |" [3 P/ l+ ], O
  102. TYA) K. l/ N' ]1 n9 y. y* P& `3 I5 l
  103. PHA
    6 ?5 W6 [8 D. ^4 e9 C: G5 b
  104. LDA $254 u( n' h  G) y9 a: g- N
  105. CMP #$01! ?/ l' |2 F" k- O( T, \9 l6 s/ @. M
  106. BNE RE
    ( q' Y# P1 Q' E9 R& [- o* ~
  107. LDA $010A
    ' r. F( U8 Q9 K+ H/ S2 b
  108. CMP #$00
    ' P, s, l3 K7 X6 k$ X) U
  109. BEQ P10 L( ^! y, `5 `+ x: {/ ~2 }# ~8 Q/ `
  110. ) v% n; T: C7 O' C3 T/ L
  111. RE:
    / B! C$ ~5 u% T: q9 G- B% z. |" c6 H
  112. JMP PPUWRITE! ?! e5 n* V! x* i: L

  113. 8 r4 v6 a" K6 m6 F- ~% K
  114. P1:                ; 条件判断# _- w" x5 J& O/ b" v
  115. LDA $7FFF6 l- F9 K) H. i' q. S( D! y9 A
  116. CMP #$FF
    * f+ R. I. [: J3 K
  117. BNE P1RP/ R7 n1 b' k. n0 Z# Y' Q
  118. LDA $7FA0. g! f: N7 _" S2 B
  119. CMP #$00' o1 @  p$ s" ], u: e
  120. BNE P1CMP' z8 }, w& c$ }
  121. LDA #$FF
    , h# J1 |$ P( _0 f- r! w# O
  122. STA $7FA0+ _1 _9 L5 ]( e" h, _9 B  r( L( z; ?
  123. JSR CLEANA. f* S$ W1 D9 B" @3 S1 _6 e
  124. JMP PPUWRITE
    - K  k* ]  D7 V) a, r
  125. P1CMP:
    , X( e% }" ~9 h6 {
  126. LDA $7FFF
    $ h! \* {/ b8 x+ I- r
  127. CMP #$008 m9 s9 }3 N: U! ]' J2 z( y1 q7 ]8 }! b
  128. BNE RE
      p! D0 O. a; j; Q2 |
  129. P1RP:
    ( `* R( i2 I5 G% U5 ~3 g: G) q6 H5 e* g; l
  130. LDA $2002
    % F# }, f; a! g% k3 d- \6 {
  131. LDA #$00( W9 o  w6 ^4 V  n# u0 K) V
  132. STA $2001) t0 l$ T) F1 Q& B$ o% s( h; ~+ d
  133. LDX #$00
    7 \4 D$ z0 v4 k$ X
  134. LDA #$FF, g) h% p+ V7 Q' Y, A' d
  135. STA $7FFF0 K# F" Q9 D( M) ]& g
  136. STA $7FA0: G$ `% ]/ P. n' W% h
  137. JSR COPYPPU4 Q6 y6 `. G6 n6 [5 B
  138. PIRP2:1 [9 A$ ^6 ~# s) T8 Y
  139. JSR CLEANA
    : _) z- T, u$ G, n3 `
  140. JMP PPUWRITE
    & }; z9 b) s* ]1 E! l

  141. 7 X2 b! U2 ?: ?1 N% e- t/ t  F
  142. COPYPPU:' U3 z3 t# U2 R6 ]5 ~3 P5 @
  143. LDA $FE
    7 @4 V' O9 i, R7 _, I! g
  144. STA $7F50" Z7 v9 y, c/ B1 P2 S
  145. LDA #$08* B  v- k0 Z8 J' @& I, I1 ^
  146. STA $FE
    - z# ]" t/ n) H" F& `3 p
  147. L0:- a7 \7 H0 ?5 p) W8 W1 q
  148. LDX #$00  w) V+ l& c6 e8 V5 x2 h
  149. COPY_07C0_07DF:
    0 u2 e7 E. Y4 e4 M$ D9 S- ]
  150. LDA $07C0,X! _/ U2 Z3 o: d+ E# a( _  c
  151. STA $7F00,X
    , W, `; s" Q, M$ q0 X
  152. INX# L" w7 D/ Q' V
  153. CPX #$40& f# B: F6 e9 t4 f( `
  154. BCC COPY_07C0_07DF
    # }; c1 N% `" M' `" Y3 @0 z% v+ }
  155. LDX #$00, S% W7 F9 \8 q# ]$ S( }
  156. PPU_07F4_07F7:
    8 J4 a) A5 R1 W: F$ A+ f
  157. LDA #$006 j9 N8 Z8 ]/ G, K! F
  158. STA $07F4,X8 |' }  P: ~& k* D
  159. INX6 \' O* w# ]7 S/ k; h' L( ?
  160. CPX #$04
    : L8 U* ^, [( X/ R2 X8 c
  161. BCC PPU_07F4_07F7
    + @/ ?6 g4 C- k5 o. q
  162. LDX #$00
    1 l7 `0 X, |; i' B0 z1 ]
  163. COLOR:
    & ~- P# N, Z. Z  J: u" \$ w
  164. LDA COLOR_DATA,X: J5 F3 u1 W+ p9 j% h
  165. STA $07C0,X
    ) \+ N! [! f4 n/ [1 J! `
  166. INX
    & U7 d5 e" u- r2 z! N
  167. CPX #$108 R# H# b! [3 A; E
  168. BCC COLOR- H/ A- p8 o6 C% A9 F3 h' ^
  169. ) ~: }' @% V8 M& ~0 y0 ~9 L
  170. PPU_COLOR:
    1 u1 V- g+ ~( ~5 n8 b/ n. V3 C9 ]
  171. LDA #$3F
    # f6 t2 z) I: T- z# Q: g
  172. STA $2006: y$ F& H7 b- D* x. j) i
  173. LDA #$00
    + S' H  ?) h# u3 o. n. y) A# {
  174. STA $2006
    % b1 r& ~: O# x7 }; k! k9 T
  175. LDX #$00; g+ f( v: B5 |0 Q2 i4 Z
  176. PPU_COLOR_W:
    7 s) g+ \4 W7 K# ~: h6 W7 ?
  177. LDA COLOR_DATA,X! m/ ?; R( m7 D0 I+ Z0 |2 L1 [
  178. STA $2007. F( e- A  ?8 R5 V. i7 f" {( ]
  179. INX. f* e3 Q; R9 o" K
  180. CPX #$10$ c5 f, a+ i: V7 K2 h" `
  181. BCC PPU_COLOR_W
    * p7 T) ?4 @5 X0 B7 \) n. g7 I6 \
  182. 7 x5 |. }0 E. K" m+ @4 G3 X5 |
  183. ' _; U# Q  w8 O; _$ t( [6 k3 M
  184. LDX #$00
    3 ?9 T5 c% \# b' x: t/ o7 o
  185. LDY #$00, ^) _' @" w2 C& ]8 c2 D% M" P$ e! y( [
  186. LDA $BD4 j$ y" h3 C9 ?  g8 l8 H
  187. PHA0 s% j- o0 D2 |
  188. LDA $BC
    4 P1 x* c3 J. H# Z
  189. PHA
    : s0 r5 k  Q8 t* g) l
  190. LDA $BB0 `3 U! G. v* ]- ], e2 _: q
  191. PHA
    6 C$ _+ h5 h6 w& V3 e
  192. LDA $BA
    $ n% v: s0 ]6 o% A" Z' a
  193. PHA
    ! y3 `% c2 E; Q5 M$ g3 k
  194. LDA $B9
    2 y3 ?! ?, d( o: C0 ?: e
  195. PHA
    " b! c# H8 k8 N9 V
  196. LDA $B86 ?* s$ Y# o5 Q- U
  197. PHA2 E' s7 ?+ F/ z1 `& G% E& [
  198. LDA #$00
      D( w* Y9 I/ V7 I1 K, s' F
  199. STA $B8( Y3 f$ k$ o8 a$ c2 O" \; B# Z2 |
  200. STA $B9& b/ \, d% _+ L1 b
  201. STA $BA! F3 m4 ^7 @" X) N* f
  202. STA $BB
    $ n2 [1 x6 K2 q1 m! }5 |: a
  203. STA $BC
      M2 P  Y5 R& g
  204. STA $BD
    8 j) C4 T0 H) r' f" |& w* h6 {2 n6 z7 J
  205. LDA #$004 ~; ~% w5 n2 e( P; H( q( G9 n
  206. STA $BA$ d4 c2 u. l8 g
  207. LDA #$208 N8 z. [* ?8 k  z: |1 ?/ v5 b
  208. STA $BB
    , ?4 |( }- @# p( j+ C
  209. LDA #$00
    ( r( H0 r# P3 h0 P3 t- ?6 h
  210. STA $BC
    / r' B8 Y! T: Q+ W# [
  211. LDA #$60' _- M. s% k1 e! p' T
  212. STA $BD) |' M% e8 J8 \% @
  213. 0 o7 D) }8 P: j& U$ V
  214. L1:                ; PPU复制& z; V  b) @: R8 K3 Z
  215. LDA $BB( k4 R! F* s7 ~1 P2 d. L
  216. CMP #$28
    * N% Y* [3 o  ~8 K8 P; ]5 v: v
  217. BNE L2
    + O# S+ v. o0 l1 L
  218. LDA $BA
    9 R- }" W. T$ M0 P# q
  219. CMP #$00. B* n2 T* @7 ]. R( E: G
  220. BEQ PROADPLA
    ) q0 C9 c$ `8 U. h

  221. & m( m! E, d6 r" p- T
  222. L2:
    9 b! Y! s+ a9 ?2 }8 t- a
  223. LDA $BB1 ?% D; {( u. Y' ]: q6 n
  224. STA $20064 V# e; W: A5 e$ K
  225. LDA $BA- T5 R$ Z6 R7 I+ w
  226. STA $2006
    3 b( C4 G5 @8 }) C& M/ K
  227. : S+ o& d3 g$ R7 U' B7 C( m
  228. L3:' W# f. W/ F+ t" L9 [
  229. LDA $20074 j5 q6 ~5 v) L6 }
  230. LDA $2007& i$ l1 p, y. ^* \8 y8 U  I& R8 Y
  231. STA ($BC),Y* z0 v. S- }" q. ?+ g  N1 W

  232. 9 L$ ]2 _3 H; ]$ k
  233. L4:; W& W/ W2 M! Y. Q
  234. LDA #$00
    * r: a, P! {7 i9 @1 y- M/ \
  235. STA $2000
    " x9 f" ?% s/ J7 C0 u9 I9 L9 z
  236. INX7 Z2 A7 ~/ a. ~) h% S
  237. INC $BA4 ^$ Z. {% {! L# O6 Y& A& K% L
  238. INC $BC; G& \$ J; V5 K( _8 e# F; [
  239. CPX #$00
    ( x7 `- E, m) b. |
  240. BNE L1+ ~. T& {% v* E/ U# j# d
  241. INC $BB
    ! S, X( n: `0 ]. v
  242. INC $BD( b* {& P" q. s: k/ X
  243. JMP L1
    + V4 t3 C9 r3 d8 H
  244. 1 P% `) ~% y. b1 l( ?
  245. PROADPLA:                ;出栈) d6 \% q# D5 g5 v/ C  D
  246. PLA
    : G- m  E6 w4 G' ?
  247. STA $B8
    ) E# x" r( d! S+ ~8 v
  248. PLA
    8 ~0 |& G. r9 `% ]# [& J! I+ _! d
  249. STA $B9
    - t# \  J- P. R2 J, l3 j
  250. PLA
    0 W/ `$ H  m) p+ g3 W5 }/ @% T
  251. STA $BA0 N( w+ A% @0 _" Z$ |8 C2 \  M
  252. PLA  C+ F$ M& T& ~' k5 O0 Y% ~
  253. STA $BB
    : {2 U* d1 ?, ~4 Q
  254. PLA9 A4 ]: n9 Y8 ^/ a  ?- h8 R; |5 `$ q
  255. STA $BC4 Q+ X4 j4 w1 S  w# e( e
  256. PLA
    4 R! R7 d; E. w0 p3 n8 j3 P4 Q
  257. STA $BD
    * W" e: r+ C5 u! P  S1 Y$ K. ?/ O
  258. CPRE:% b8 A. h$ [. B- I* ?" C1 I
  259. RTS4 K# A+ `8 o3 F& l% I

  260. 6 P. x; h4 U3 H/ h9 D) V7 o# J8 w
  261. CLEANA:                ; PPU清空; e: _" ?4 d6 Y! R, H8 W
  262. LDA $BD, B# N; t' b( G6 T, V4 g7 j) H  Y, `
  263. PHA
    6 Q/ U+ b+ q& E! a3 x
  264. LDA $BC
    8 u( w% q1 ]- i' L0 i& B
  265. PHA/ X+ n7 M$ |4 x2 d8 i
  266. LDA $BB
    ) E$ H. A# L0 ?- @, j
  267. PHA; r, e* z; b6 [6 Z# E5 b0 g& p& B
  268. LDA $BA& B; ]3 c( F; d- r! ]
  269. PHA
    * m1 k! C8 Q. ?( n& X9 Y
  270. LDA $B9
    * A% q! S8 ^0 b$ i  A
  271. PHA" @' z0 D% x7 w# u
  272. LDA $B84 [2 r/ c2 q! j& \) F
  273. PHA
    4 @+ U( M% g# w0 ]7 p# i
  274. LDA #$00* G# S2 G  {7 u
  275. STA $B8* `; b  `- |6 h+ L$ `: X+ g  r
  276. STA $B9) h# y+ o# l8 W9 w; q4 C- _
  277. STA $BA
    0 r, [" s3 i% v/ N$ y1 d. t
  278. STA $BB
    - `2 ^  E2 x( @6 X
  279. STA $BC0 V: _6 C8 _2 M; J4 Z' Z
  280. STA $BD
    ) w% v# ]7 m2 C; i: G
  281. STA $20015 j( S$ o# `$ O# a7 u' G) ~
  282. LDX #$005 Z/ }' {' O- n
  283. LDY #$00
    " P# P0 |$ E8 V7 c8 U' D( h
  284. LDA #$00
    % ~6 q, F. \: ?, K8 `
  285. STA $BA' R5 c0 l9 W5 ~5 y
  286. LDA #$20$ Q0 _" L+ d4 b
  287. STA $BB: r8 Z3 r6 v( f% J

  288. - n! U" T& G1 K2 M
  289. CL1:
    8 ~% M# I& H7 P6 X- U
  290. LDA $BB
    * x- U6 G7 F& ?: b% N
  291. CMP #$282 t- D1 \7 O+ H+ z* x8 h
  292. BNE CL2
    3 u  Y# T) v5 H5 F* N4 O% n. Z
  293. LDA $BA
      }: {, y- N) \( b
  294. CMP #$007 @2 g1 o0 M- e* v6 h
  295. BEQ FREEWRIYE
    / P2 ]: z1 A- A* q% Y+ W" j" ?! c

  296. ; q" V0 x7 B# z; R+ q4 P5 u0 [
  297. CL2:
    $ Y+ F7 z5 ?  Z: l2 k
  298. LDA $BB( c+ N. [; x' _" f- a" D1 j
  299. STA $2006
    0 ~% W" |3 P2 I) k5 k$ j
  300. LDA $BA6 h1 X! `7 V" U' B
  301. STA $2006, v6 `* n9 O$ w" A$ M; B
  302. & r/ ]( u# G8 l3 v
  303. CL3:
    - R# ^( {$ W- Y3 W( `8 {) n
  304. LDA #$00
    ' r' J" y  s; [4 l  F
  305. STA $2007
    ) O% W8 u% O1 a0 s5 D% P
  306. 2 v" O5 W! S8 v- h  e5 c5 B
  307. CL4:
    5 h2 s) h" B, @4 k2 q
  308. LDA #$00* ~+ H0 R2 V5 N; K  d
  309. STA $2000
    - P, Z$ x# O  ^2 v- M+ n
  310. INX/ @% H; f: n5 ?. t
  311. INC $BA
    5 }5 K. |# b4 W7 [
  312. CPX #$00
    1 h/ \- ~0 K7 j. |" f# o
  313. BNE CL1- Q9 n1 O% y- R, X7 @3 L
  314. INC $BB# K; q+ k2 \' A% o$ h/ K
  315. JMP CL1
    % A& O. S& X, c! ~7 g  i

  316. 2 v+ e$ k' h' N, k
  317. 8 g  h, G( H5 a
  318. FREEWRIYE:6 C3 ?( z/ S& \8 Q' S4 @4 k$ ~

  319. ; w! p6 ~! G' K& s" m- L! S- n3 ]
  320. NOP
    % W$ L2 a$ q7 h/ z, @
  321. ( R- g# X, }( `, Q  g* T

  322. * }, K6 I$ J( H3 a" _8 L" u  u
  323. - N/ N5 V; ~2 w; O0 v
  324. ) J& }: l8 v' M/ ^  V
  325. : v, ~3 u7 S* A
  326. CLEANF:                ; 恢复现场) Q2 z$ p7 O7 Z+ K$ y

  327. / p( f0 c( Q4 z, _) K; y9 A3 K; Q
  328. PLA& p$ r; y: R( r4 a: H7 M
  329. STA $B8
    ( r$ g5 Y4 ?$ Z  U# o6 \
  330. PLA' i2 `) [" Q$ j7 s) z5 u! ?
  331. STA $B96 `  ]  ?$ g* T$ c) W) `: F6 G
  332. PLA; {8 @2 V' F" `& e* c2 E% x* w
  333. STA $BA
    - f" u& V) Z* m, g
  334. PLA3 |. n' I- a5 f+ {! n
  335. STA $BB
    - _+ L( B: m6 K2 s* B2 R, w/ K  t
  336. PLA
    0 h$ [+ n  \8 T: f
  337. STA $BC
    + E4 t: N& U. G0 F2 _, W
  338. PLA, L1 M4 }) ?% d0 \$ S
  339. STA $BD4 \# D1 R' R& ^, P4 i
  340. CLRF:
      r- C( w7 Y4 w* Y. B( z5 G" a
  341. JSR FREE_PPU$ j& h+ I* ^7 ~9 E2 G$ o
  342. RTS3 H2 L, G5 ^5 l& w* Z- F
  343. , |6 j0 _5 O) y/ i, w0 s% r9 P# V
  344. - J9 K+ w" l% {: m: Q
  345. PPUWRITE:    ;PPU写回; g5 g9 c3 z* T7 R5 |0 |' ~" o
  346. PLA/ p' _! e& N, l* M& v; o$ Y; ~* B5 J* @& q
  347. TAY3 z& Q; V) S5 s& o8 i; w5 ]# |
  348. PLA) S5 e& |+ A5 C9 w2 f
  349. TAX
    % m4 s( Z% D- {! _
  350. PLA# N# A+ Q1 J- s$ h% p/ \; x
  351. LDA $25& k. }& |0 q/ ?+ |
  352. CMP #$00
    * f0 {! }- R( ?
  353. BEQ WP1
    % l& C+ H$ a. u
  354. LDA $250 g$ H/ q  Z: R/ ]5 N
  355. CMP #$01) F0 d( ]# h9 @6 b
  356. BNE WRE
    # U: k/ G9 s" n; [2 Q6 T
  357. LDA $F5,X4 ^9 W3 U2 t" L- [% T
  358. AND #$EF
      {/ i% \( i& w: h4 Y7 }; N9 g
  359. BEQ WRE
    6 h6 r9 y6 z. ?" T, |. I" C# E) `
  360. LDA #$008 ~3 g* R6 V) b. |1 D$ z
  361. STA $7FA01 V: C; i4 S2 m) i4 v; [8 f

  362.   a. C2 K& F. P) o  L: }
  363. WRE:7 i* x! F+ X1 g* B, w
  364. RTS
    7 G4 I, ]( ^/ z1 R7 x. w8 l, A

  365. 6 |( r6 Q, Y  [  r# o! q* Q
  366. WP1:! \5 M7 ]4 M5 G/ {' o, r
  367. LDA $7FFF* L4 g/ e" Y0 w
  368. CMP #$FF% n' \! X4 v% {  i) V$ H6 [$ n0 h' e
  369. BNE WRE
    + C0 F5 e) v# N4 N- \; [* ?0 [
  370. LDA #$009 G2 h4 a; X+ p" M. N5 s
  371. STA $2001( q0 ^* R5 e" ?# u& f! q* O6 s& K
  372. LDA $BD: b' r* s! p3 X7 p+ u8 O
  373. PHA- V: n- g! f5 s/ U% U
  374. LDA $BC
    & l8 n8 }- k" c0 M' x
  375. PHA4 U7 V' @( |% P9 X. |& h/ l6 c! h
  376. LDA $BB3 v- Q5 p( T. J3 \( E) g
  377. PHA  b0 v) ^% L$ u# q* j! g
  378. LDA $BA- x$ w! c  _7 W
  379. PHA
    ( k" V8 L0 C! b. @" b. Q7 l
  380. LDA $B9% D, C% d0 J& K$ R- P* x
  381. PHA3 g4 h7 e  M6 t" W( T& N' G4 u8 R
  382. LDA $B8
    1 ?  q; J  l, u" G
  383. PHA
    # T+ Q8 {! L4 ]* ?
  384. LDA #$002 u* S, Z3 X+ Z1 f
  385. STA $B8
    3 a8 p7 ^0 S* t! k2 _, O4 q
  386. STA $B9' Z/ G5 I& X% a* ~) V! P
  387. STA $BA
    7 K. G6 r: t" e  r- l
  388. STA $BB5 O9 u8 H" G: i" y# {8 r; m; l4 X( n
  389. STA $BC
      w/ s( x8 r& L  {8 @3 E
  390. STA $BD
    ! _7 e( ?: B$ D
  391. LDA #$00! G, P, g* D; V' O
  392. STA $7FFF: n+ p- A: W) m: p* r4 G1 Y
  393. ) I% w' r& k* y0 L
  394. WL0:' u( @1 r, v- c) U7 _; |
  395. LDX #$00
    5 q& ?& i6 Q2 o4 g/ w7 K; }$ D
  396. LDY #$00# K6 F7 `! \. a  u' U# Q2 \& P) \
  397. LDA #$00
    - f* I& v8 `% {: I# }3 R; p! }6 q
  398. STA $BA! l/ I$ O' G. l7 F
  399. LDA #$20; W9 E$ G* e" I( S
  400. STA $BB' d9 X) w5 U* J* |. }* Q; ]
  401. LDA #$00' I; b% c0 t$ E( U1 R& v
  402. STA $BC5 I2 R6 d& z/ s' ?( B  C
  403. LDA #$60# T# @1 w* I. U- d6 ^  ?6 e! }
  404. STA $BD
    2 [7 V( v9 h  z" h: R) X

  405. 9 ~/ b- ~) S6 s# x! i$ q
  406. WL1:% P5 d, R) _& Z6 I2 l* f0 _
  407. LDA $BD
    ( \+ P4 [& [- e# b
  408. CMP #$68. N3 e8 M. _4 J6 Q+ U' G' e3 @
  409. BNE WL2
    " u% T7 v! f" a* N
  410. LDA $BC
    8 Q* I/ _6 n7 L" \4 S/ p" c* I# @
  411. CMP #$00
    ( Y0 Z( B7 U4 S6 J2 f; P: H
  412. BEQ WLR. m$ d3 S0 J! C/ @3 J
  413. 3 k1 L% }1 P8 M/ P
  414. WL2:
    $ _3 U8 @6 h, A9 N
  415. LDA $BD$ S2 x& s2 [) ]+ \6 T2 m1 |4 r
  416. STA $2006* K( S7 y+ n- N9 d2 ~/ j
  417. LDA $BC
    , C# C7 l. J" q  x: D- g
  418. STA $2006% F. x4 x6 A9 w) j4 D. L

  419. . Q+ y# ]$ d$ M
  420. WL3:
    3 i9 E  H9 p/ C% ?& [$ K
  421. LDA ($BC),Y) a# l" y( R, I
  422. STA $20077 i: m* q6 u9 D1 L
  423. 8 f- T' b& L9 l, i- c
  424. WL4:1 o, F1 |! S. N; R
  425. LDA #$007 L  p$ H6 `' ~
  426. STA $2000
      m; a/ B; {/ x; F  l3 f
  427. INX. {6 y' c5 [8 V
  428. INC $BA
    5 ^5 P' E2 w0 N0 o7 _' e
  429. INC $BC/ j4 ^8 i% ?' V* o- [4 |# ?/ `
  430. CPX #$00+ p$ A5 f# I8 f; C. {
  431. BNE WL1
    3 z: r4 K" d' n1 o
  432. INC $BB
    % E# G. D( G* F4 V/ y
  433. INC $BD
    ' y; G% d3 Z# B- [0 l" L
  434. JMP WL1
    1 Q" k1 r" b) H6 F1 V8 k

  435. + J$ i; m8 K$ V( L3 V* w
  436. WLR:: G. p  e6 I! P  i( S
  437. LDX #$00
    * B/ G- k( n! f* f' t# E4 W
  438. COPY_7F00_7F3F:1 X/ N  z1 j+ O9 E
  439. LDA $7F00,X1 N. Q4 m- F! {# F; P
  440. STA $07C0,X
    ( n/ J" u/ K1 Q0 z% `" b0 E
  441. INX
    % Z9 O2 \' ~4 t3 i
  442. CPX #$40
    1 u1 x7 \" Q6 q$ o3 m2 K* a4 o
  443. BCC COPY_7F00_7F3F: i4 I. |  T: N' X/ k$ Q3 \% X* m; ?# H

  444. : R# V, ]  Z3 w5 j6 X5 x8 o
  445. LDX #$00, h, f0 e: j2 X& D1 k
  446. LDA #$3F; u  K! V$ Y) L" Q$ a
  447. STA $2006
    % ~! y. _$ E- b( m+ _3 y  @$ A# @
  448. LDA #$00
    8 `$ h5 U0 v. a
  449. STA $2006! J) P  l$ q$ J  v2 b$ _% X
  450. COPY_7F00_7F10:5 I9 I0 N7 }- s" O
  451. LDA $7C0,X
    # N$ l  ], t' u. B& g- y1 D  d8 A
  452. STA $20074 Y( j3 E+ J$ l# v
  453. INX
    ! P( O: }2 x8 o
  454. CPX #$10
    + L' b0 G% p4 s% I: v$ V# n
  455. BCC COPY_7F00_7F10
    ; c' u# l2 {9 y- X/ F, P$ n

  456. 6 k- P' t7 M0 A) d5 P( Z: u: v
  457. LDA $2002
    & ~5 O0 E1 o' t7 L
  458. LDA $FD* p8 Y, ?9 h- R; x) x3 j# J7 f# C
  459. STA $2005
    9 b( C4 H1 F9 J" o4 H2 ~' U
  460. LDA $FC5 n, K; b4 F3 g
  461. STA $2005
    ( g2 ?/ N1 q" ~# ]7 p4 i8 k3 f

  462. 7 c  F4 ~  j- q
  463. LDA $7F50
    5 f; Q3 G" |2 C
  464. STA $FE+ c( c3 e0 T; L% i. P: ~: G
  465. LDA #$00
    % u# y2 Q4 J2 l8 d* T, p; z
  466. STA $2000" ^* J, x* E' g
  467. PLA1 v; c, b0 S: |+ n1 l. V
  468. STA $B8
    # V" W# E- U4 H4 e' R3 [6 E3 O
  469. PLA' t" ^/ L( A# g! E7 E( e
  470. STA $B9  [+ g4 q: k& i" T& V# r
  471. PLA5 r3 p; U, M! s5 `* k  N
  472. STA $BA2 Z; {' k! Z: D5 X  F4 ^
  473. PLA8 g6 ^3 s& a$ q9 I  H: k+ P
  474. STA $BB$ U9 D9 J- z2 b* t
  475. PLA* A8 P; h1 [: w  F! ~: r
  476. STA $BC  t# E' F, _$ E: F
  477. PLA
    % ]: O& w$ s) N6 m4 ]9 Y: h
  478. STA $BD& s8 |7 p$ s7 }! F
  479. ( u) ^- f8 o& j
  480. RTS* f5 K7 n# p8 b- @: C( {1 b# Y

  481. / j5 F4 y5 `8 w% Q+ M
  482. PPU_CMP:$ h9 Y0 @: c# M% p

  483. 8 V, i; E- Z5 o4 F$ }4 {+ O

  484. $ j3 H, N- b# D& I  e' d, S( e% M
  485. PPURE:
    / U7 B% ]! I/ d+ r$ {6 D
  486. RTS
    * t# h$ A: h. a; e

  487. 4 i+ j. _9 K6 N% H5 J: o

  488. 6 ~  ^3 D. G1 ~7 R( @
  489. FREE_PPU:, V9 j" m. u  `
  490. ' s* [6 ~& `: H
  491. JSR TEXT01_PPU  C# B) Y3 f6 \" L8 i% i/ `2 R, n
  492. JSR $CBC0* I) N. B- T  s
  493. JSR P1_PPU
    ' P( Q: {0 u1 i  a
  494. JSR P2_PPU0 @: ?7 n8 V! H3 C; k! k# K  D
  495. RTS7 A' L/ d  F8 R$ |) y( c- x3 i
  496. ) V/ e3 v) D6 r. `* n% k" X) O
  497. TEXT01_ADDR:
    9 f/ J1 `: Y& c, v
  498. .BYTE $20,$42+ A) B5 F; y8 O
  499. TEXT01_DATA:4 F/ L: @! k0 Q+ C( m) W
  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
    / u7 ?' J0 |" O1 p3 F2 h
  501. TEXT01_PPU* p' K: C# Q5 N( \9 B5 N+ \9 [2 H. A
  502. LDX #$00
    9 |6 L$ I2 r8 k
  503. LDA TEXT01_ADDR. o2 k7 G7 N& m# R% t! k0 ?$ @1 P3 z
  504. STA $0703
      C3 W- a9 D& |( z7 V& _
  505. INX
    4 a. J1 @5 Q/ a
  506. LDA TEXT01_ADDR,X7 O8 t( N3 [+ _" w0 i0 u! N* r
  507. STA $0704
    % C$ ?$ v% _" n$ i2 `% t
  508. JSR PPU_PROCESS' s& j8 `6 s7 t! x/ \
  509. TEXT01_W:# x* z4 R, \" ]: c$ c
  510. LDA TEXT01_DATA,X' o5 m& K7 i" ]  z
  511. CMP #CEND
    4 G8 c  k% T0 y- N1 }
  512. BEQ TEXT01_START5 }+ }$ @, @" i; J& D: s: Q
  513. STA $0705,X
    - j! E# M, g6 `: R- |
  514. INX: T% b! w6 Z5 b) a9 n( P  @' d
  515. LDA #$005 p8 g; n) O% n, F! k7 a
  516. BEQ TEXT01_W
    ( {7 X8 q1 x- ~  w$ x* i
  517. TEXT01_START:
    & j5 D6 @7 m: ]9 C: U7 ^2 F' |
  518. JSR PPU_START
    . T* g# J8 f  t. d; s- Y
  519. RTS
    5 z! m* ?& Y& e% I. z) B& B7 E
  520. / \% I- j  E) ~6 u1 ^% D1 \# g
  521. : `# X! o: A/ p, H$ \7 `' u
  522. COLOR_DATA:! u5 `* Q& Q! C' ?  d5 f7 P( o1 T
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    1 X$ ^* s$ p0 H, y! v1 R

  524. ! G6 f5 c' Q0 A3 P; P  }7 y
  525. P1_PPU:! W/ q0 O# q. p
  526. JSR PLAYER_01_PPU+ D" a+ x: t8 k8 P0 q
  527. JSR $CBC07 D8 u9 `" |1 Q" P) O9 V( r
  528. JSR RELIFE_P1_PPU( d0 E; C* o3 k  x8 S9 g
  529. JSR $CBC0: k" h% _* \$ R( P5 l8 C5 r
  530. JSR RELIFE_NUMBER_P1_PPU
    $ J' d* e/ V8 U$ X3 p
  531. JSR $CBC0$ q( B, n& r3 K: a8 Z2 M8 q9 y
  532. JSR WEAPON_P1_PPU
    - v+ L% T) {1 E& N: {
  533. JSR $CBC08 V, ]  n8 h2 `$ n, m
  534. JSR BULLETPPU_P1_PPU, |' g0 w+ e9 e( W9 N+ _
  535. JSR $CBC05 \2 q1 K' D9 t& a! f, i8 o* l/ V
  536. RTS" [' |5 m7 Z1 X* I" c# [+ k2 `; H6 t7 W
  537. ( K) G$ b2 R; ]1 e9 {
  538. P2_PPU:
    . b% U! M) \4 q
  539. JSR PLAYER_02_PPU4 h+ @1 g2 ]; e" `
  540. JSR $CBC0
    / p' H6 v) Y7 o; w! n5 m
  541. JSR RELIFE_P2_PPU
    5 T2 V$ \3 X* T2 q! M/ D* L
  542. JSR $CBC0" ?7 ~. `1 f+ C1 E# \# F0 p" _
  543. JSR RELIFE_NUMBER_P2_PPU
    * v2 `" t0 t+ A7 l( c1 j
  544. JSR $CBC0! f; q! v: _) f: x# \
  545. JSR WEAPON_P2_PPU8 a+ q7 c7 `7 K& ~8 x/ C/ R
  546. JSR $CBC0
    5 ^4 W  c, G: r4 Q
  547. JSR BULLETPPU_P2_PPU$ t& x- |9 C; n. x# ~% y
  548. JSR $CBC0
    ( q, w8 A7 |/ c, J: C% V
  549. RTS+ e# j! R  f1 Y% o+ _
  550. % D% P( Q0 b. y# c

  551. 6 a# r1 W0 K2 P4 U
  552. : w# r8 b$ f3 u+ u
  553. PLAYER_01_ADDR:  @8 K+ Q) f4 ~0 M  `) ?
  554. .BYTE $20,$A32 V, b; _1 p' q8 A5 [$ m; o
  555. PLAYER_01_DATA:/ \& k# [7 w  E" H* x
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    & \9 g0 A9 Y2 ^& i0 S8 H1 l
  557. PLAYER_01_PPU:, u0 g/ o7 ^$ f+ q1 P* o5 b
  558. LDX #$00$ i0 Z" d: b$ a% C- F5 f! ~% j
  559. LDA PLAYER_01_ADDR1 X$ o, k9 u; x
  560. STA $0703. n" Q- d, S; e7 V- l" Z
  561. INX! E- h  p: m- d& e% C
  562. LDA PLAYER_01_ADDR,X! P( [# R- a. [% {! Q
  563. STA $0704
    . g, U9 o' Y4 @: f& o7 H! M
  564. JSR PPU_PROCESS
    . ^( S5 u/ l# }( e9 _  `
  565. PLAYER_01_W:
    # |( s. ]+ P# u7 f: `
  566. LDA PLAYER_01_DATA,X" ]; c. B) L  r8 n+ L1 c
  567. CMP #CEND& _6 Q4 v& O% Z$ Z5 T
  568. BEQ PLAYER_01_START5 r' W+ x# {4 |* f& k6 R5 f
  569. STA $0705,X
      g2 O) R; c7 x% {! f: k6 A. @# U
  570. INX0 L4 q; @$ H! U% w
  571. LDA #$003 ]% O; ]$ o' b2 h8 @+ ?1 O, j0 b( J
  572. BEQ PLAYER_01_W
    3 I0 f9 K( [' u; G2 a+ X# [
  573. PLAYER_01_START:: }, \% \  S, a
  574. JSR PPU_START
    1 B8 b: s( n% A& s
  575. RTS7 ?# l. J! l+ N( a

  576. $ I1 v1 ?& }" c6 y% X) h& y

  577. 5 f  j* \! z  G, z+ j5 D
  578. RELIFE_P1_ADDR:/ U# ~4 Q! N( W* X/ m! J3 ~
  579. .BYTE $20,$E3
    ) ~2 K* {6 t- [8 R
  580. RELIFE_P1_DATA:
    7 U3 K; n) Z/ ]
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND% ?  p# l$ _# R$ p7 W
  582. RELIFE_P1_PPU:
    ! Z8 }: Q0 `8 C7 H  y
  583. LDX #$00
    # P- G2 [8 E! o% o* R# k- c& ]: }
  584. LDA RELIFE_P1_ADDR
    % c, v4 b. L: W4 v) k' t
  585. STA $0703) M1 u/ T: e& |! p) U3 q) e6 x7 T
  586. INX
    0 l. |8 r. {4 i, y/ ~0 b5 G  ?
  587. LDA RELIFE_P1_ADDR,X
    + G1 t( ~* f7 [% q
  588. STA $0704. }" o9 ?0 p6 f! p
  589. JSR PPU_PROCESS
    0 g" E$ g8 R2 w: g7 Q" c
  590. RELIFE_P1_W:; K" o0 x0 y9 }" ^$ x( F* v
  591. LDA RELIFE_P1_DATA,X3 l5 u( u  k# w
  592. CMP #CEND
    * w$ O/ o. v; f
  593. BEQ RELIFE_P1_START& _. W7 k$ |2 _; F& _) O. |
  594. STA $0705,X
    ; c. U( y6 t8 i& h
  595. INX
    ' Q6 W4 W: W6 ^6 x; Y) ]6 G- O) t7 O+ A
  596. LDA #$00& p$ ]4 E/ L  @
  597. BEQ RELIFE_P1_W
    4 D3 \+ q9 n1 G
  598. RELIFE_P1_START:
    % h2 c2 E+ w) W' H
  599. JSR PPU_START
    / m- E! Q: E* z" Q& z" P
  600. RTS" J, q! x" `9 A0 Q! s) Z9 z

  601. ) L6 L0 f' Q# x# J) v* Z4 W
  602. ' y) E$ F0 u- T6 y! _& ?# }& `
  603. RELIFE_NUMBER_P1_ADDR:
    1 K( _* f/ C- |# G8 a
  604. .BYTE $20,$EA1 i" Z  P2 d1 d2 E4 l/ I& X
  605. RELIFE_NUMBER_P1_PPU:0 J4 V# I4 _* J  E) w# ]& l- @
  606. LDX #$003 }/ n- S) J1 k) h: N5 l4 U; @
  607. LDA RELIFE_NUMBER_P1_ADDR
    ! W/ b- p% l- I- E, D7 Y) e" G
  608. STA $0703
    8 \. X5 A7 H! x- u
  609. INX
    " J5 h! |" x' J$ Q) I
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    ' t% O1 A' h- T2 J& o8 I4 E/ b
  611. STA $0704
    * \- Z9 Z3 ?' Z2 f2 z7 e
  612. JSR PPU_PROCESS
    5 ]# L. B" s  l# {. A: r! v
  613. LDA $32: O6 N$ D  q9 j) S; i# q" |
  614. JSR LIFETODEC
    2 O- [' e. |/ L! l, ?1 M
  615. RELIFE_NUMBER_P1_W:
    : a" H! E6 _$ A/ Y4 z
  616. LDA $7A035 }! a! k4 j9 S/ v- R
  617. STA $0705  }2 ]. r% ?9 }, {
  618. INC $0705
    4 x( u$ C% E& z" j7 b
  619. LDA $7A048 l+ z2 J8 n+ I! G$ _6 [* r% O: @6 Z- ?
  620. STA $0706
    6 ?' H4 m! R# j2 U0 `& ~& F8 h
  621. INC $0706- I" H7 h8 J- T6 I" r% I
  622. LDA $7A05
    # S$ ]8 W. @8 G* _  E
  623. STA $0707
    3 B" |1 `' j3 C2 p6 U$ o, T
  624. INC $0707
    & C6 J5 a3 N% o7 [
  625. LDX #$03
    6 @) `) T* d: Q0 q: z; Q: t
  626. RELIFE_NUMBER_P1_START:
    % M% K% q1 F, p4 U3 W
  627. JSR PPU_START( p! F! z. f, ~% u3 D5 M
  628. RTS" {" \% o* ]. e
  629. 1 v4 B# B! W2 i! t/ g& `
  630. WEAPON_P1_ADDR:
    1 f- y# U% j5 u& c7 E8 r$ @
  631. .BYTE $21,$23
    9 S8 N! s: g9 o3 K& {8 @
  632. WEAPON_P1_DATA:" {  N# G# ?7 v$ ]
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND/ W* u9 o# q/ v/ C
  634. WEAPON_P1_PPU:5 c, v( }0 d; j- M
  635. LDX #$00
    + |  @5 b' `$ h2 q) g+ D* V
  636. LDA WEAPON_P1_ADDR
    0 s1 s7 O5 c& w
  637. STA $0703
    ; P( D3 i) g0 U* A# \9 u
  638. INX
    . y. |- N) X8 {
  639. LDA WEAPON_P1_ADDR,X
    3 `: C; G& d1 y. N% _/ c! F
  640. STA $0704
    * x1 o7 v3 ~9 T6 ?. Z
  641. JSR PPU_PROCESS: w  S' |8 a) H( c# Y
  642. WEAPON_P1_W:
    9 f2 j$ T/ _5 u( ~/ J5 B
  643. LDA WEAPON_P1_DATA,X
    " z& U2 k1 m9 |3 E
  644. CMP #CEND
    9 t, N& a! C, w% {" O' h$ K
  645. BEQ WEAPON_P1_START
      A; Z5 e& Q8 B! x% v4 V& \- i
  646. STA $0705,X
    # J  F6 C1 ?  \
  647. INX
    ; A$ U. w- k% }, t* D& {' S
  648. LDA #$00
    / V! A; u# _* g0 u; x' X1 I# p; V! G
  649. BEQ WEAPON_P1_W% U$ a+ ?9 e- B9 O& \- i$ {
  650. WEAPON_P1_START:9 U) _1 |7 \+ J
  651. JSR PPU_START
    ! ]' b, }$ e- \! E1 V. U" r3 K
  652. RTS
    ; R1 [/ ~+ r9 |4 ?* u' n# R

  653.   x( n) S: g. @) M: f1 M1 T* X  C( G
  654. BULLET_P1_ADDR:
    / R1 E8 w' r: R( h! t8 w) p
  655. .BYTE $21,$2A+ G( a- t+ `) C/ }  p6 T' r
  656. BULLET_P1_DATA:$ `; [0 |' \0 k/ O
  657. .BYTE $00,$01,$02,$03,$040 R; L; V4 R0 |
  658. BULLET_P1_NAME:3 F# \$ Y: w7 S& I) N) |
  659. .BYTE CN,CM,CF,CS,CL
    * l$ `3 Q0 o9 ]  A7 L! x

  660. / S+ `8 o( M) P* b2 G3 R& f
  661. BULLETPPU_P1_PPU:' ]* C  U4 O6 O8 {7 C
  662. LDX #$00
    / d5 @  @# r! C, [$ Y
  663. LDA BULLET_P1_ADDR2 I" h( ?0 N3 `1 r5 Z/ p1 q
  664. STA $0703
    1 R6 q! ~! }) P( q
  665. INX8 u" {# h* ^( C* Z$ E. U
  666. LDA BULLET_P1_ADDR,X
    9 C( W6 Q1 g" u0 f
  667. STA $0704* z- B1 F* e+ s+ p5 Z2 ~8 B
  668. JSR PPU_PROCESS
    : f- g5 ^2 G/ ?% N% U6 n
  669. BULLET_P1_WRITE:
    * w3 o! c4 F! ?
  670. LDX #$00/ g3 c& C9 f3 Z* z1 \
  671. LDA $AA6 ~) Y& x$ z% w+ b& A
  672. AND #$10
    1 A. I. j8 C7 T" o
  673. BEQ C_BULLET_P14 _+ j0 p/ n1 G# [
  674. LDA #CS9 N8 T: o: l, m' ~  s: i2 O; S
  675. STA $0705
    ; I; [! `1 {3 I1 U. Z
  676. BNE B_NAME_P1
    , ^3 k' s$ F9 T! M
  677. C_BULLET_P1:- Y  d( N3 x0 I( Y
  678. LDA #CC
    5 Y# c1 L9 f+ n: x' u
  679. STA $0705& K$ [4 u. J4 a2 t+ x
  680. B_NAME_P1:! ?6 U+ A. o  H
  681. LDA $AA
    0 z* v& Q  s- @2 y
  682. AND #$0F7 v5 d! a$ i  D, N! u
  683. CMP BULLET_P1_DATA,X$ q4 W! X/ D+ U  I5 o% b" a# a% \
  684. BNE B_NAME_P1_RECMP
    - p' T) S* U# t/ o
  685. LDA BULLET_P1_NAME,X% N8 ~/ G6 b" v: [% l1 k' W: r
  686. STA $0706
    7 R3 G% ?8 Y4 i8 B9 }( Q
  687. B_NAME_P1_RECMP
    ' I  {% `* k! f4 ]
  688. INX
    # X- w- @# V: R- t# s% @0 s* a
  689. CPX #$05, u7 h. p5 M3 d8 w( k  X+ Z
  690. BCC B_NAME_P19 D! A; H' ~8 i  X- J1 ]6 ^
  691. LDX #$02, o" g& q. }) H: q1 p6 N
  692. JSR PPU_START/ m7 s' F; B" `, p5 z! D
  693. RTS
    * K( n7 A. c& u5 P) f  ^. E1 D
  694. & ^$ Y9 e7 D0 N9 ?3 D+ s7 a

  695. # h/ E4 ~/ k6 m( U% C- y+ ^
  696. PLAYER_02_ADDR:7 l6 w( q, `: H5 ^0 D9 M
  697. .BYTE $20,$B3
    7 A- h! @) J& d9 w
  698. PLAYER_02_DATA:! M7 I3 o" \7 A3 A  K
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND1 d* m  v9 Q) [/ Z
  700. PLAYER_02_PPU:  G3 x6 a) }9 o7 w6 k2 G
  701. LDX #$00
    " ]" h% D& {" o7 h) _
  702. LDA PLAYER_02_ADDR
    $ [5 t; [! i! u% X. i
  703. STA $07034 g: n' j1 [0 U$ x* z6 M
  704. INX
    3 G; R) W' k& L7 W  P& I5 F, J( P
  705. LDA PLAYER_02_ADDR,X
    0 V! |9 o$ u; T
  706. STA $07049 m  U6 r; w! Y/ t. `5 z" X' |/ O
  707. JSR PPU_PROCESS/ F1 @! X( [9 d# X
  708. PLAYER_02_W:
    # f* p  L+ b5 F  ^( ~
  709. LDA PLAYER_02_DATA,X
    7 [0 o. h' h/ s5 w* C4 N- z4 m
  710. CMP #CEND
    1 {) L! u9 J0 _8 h
  711. BEQ PLAYER_02_START$ a1 P8 y" M9 M- E5 x: f5 ?
  712. STA $0705,X
    6 R9 N2 X: b5 |# @
  713. INX2 ?3 t$ |7 j2 x( z8 Z: x5 K' X6 }
  714. LDA #$006 Y& |: R) f# Y4 |
  715. BEQ PLAYER_02_W$ {2 |: F8 A/ k
  716. PLAYER_02_START:
    4 o  K. Y. [& o( u- h/ u; x
  717. JSR PPU_START5 P* ^+ K2 ~  q% p
  718. RTS
    # V; [& |, P) k8 L/ ?- M! O6 f

  719. " r" ^  [6 f7 X: a+ i/ K

  720. & @: Y, ~  j+ e" v. P
  721. RELIFE_P2_ADDR:! j; v# |0 N/ q
  722. .BYTE $20,$F3
    - W. D4 k# r: Z  ~5 I
  723. RELIFE_P2_DATA:' ]+ h8 N( j) s+ t% u
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    / J% w5 W  Q+ ?: x8 R( z2 r5 @
  725. RELIFE_P2_PPU:
    6 L' |! u, H- s1 R
  726. LDX #$00
    % L& g: I* ~( k, z5 u
  727. LDA RELIFE_P2_ADDR& Z8 `! q7 o+ J6 M* x
  728. STA $0703
    " R* R' r. f2 _4 P% F2 x7 o
  729. INX5 d( o& j( f; E' Q7 z+ f( q
  730. LDA RELIFE_P2_ADDR,X
    ; a: d/ n  x2 ?! t
  731. STA $0704
    ( W: b6 x$ [+ A6 O
  732. JSR PPU_PROCESS
    0 h7 Z* M& i9 j# t: L' Q4 p. m7 b
  733. RELIFE_P2_W:/ C4 Z4 z7 n2 j3 S& M6 ^& D/ N6 {8 k6 L
  734. LDA RELIFE_P2_DATA,X
    : v; f& H+ U9 ]5 ^3 f3 V9 c/ H
  735. CMP #CEND
    6 L. C- [: G9 ~/ H" o0 ^
  736. BEQ RELIFE_P2_START. g4 j. Q9 p3 e: b0 A4 \; C
  737. STA $0705,X
    0 w- s" y- Y1 f! K' s' o' Q) g' j
  738. INX
    6 h* N0 _9 d0 @
  739. LDA #$00% B' E( W3 X& z: e5 `
  740. BEQ RELIFE_P2_W+ k/ `, r- Y$ ^+ i
  741. RELIFE_P2_START:
    ( H9 D/ u% I+ V: c
  742. JSR PPU_START3 c- P; c9 V/ H  {1 L/ V# D+ M
  743. RTS
    9 d- o8 a  S9 U0 ^6 ?- [% H6 l
  744. 5 N1 e- ?* A' G' }

  745. 9 Z: u' y8 K  r% ^' K1 ?( ~
  746. RELIFE_NUMBER_P2_ADDR:
    8 R# \7 w: }2 L" A* z
  747. .BYTE $20,$FA
    ' B% P! Q2 @$ }( p0 H* @. a
  748. RELIFE_NUMBER_P2_PPU:% Z/ Q  X7 z% Q4 h
  749. LDX #$00
    + h5 p3 U. c: G2 q/ u
  750. LDA RELIFE_NUMBER_P2_ADDR/ z  H5 ~" h/ V* a' O
  751. STA $0703. m' c( l* s0 t
  752. INX' `. {4 F% z. ~; ?
  753. LDA RELIFE_NUMBER_P2_ADDR,X! V) F0 J( @) ]
  754. STA $07044 }1 j4 P# _0 [0 w7 v
  755. JSR PPU_PROCESS
    " W, Y6 K3 ]5 J4 A5 j9 ]
  756. LDA $33
    ! I9 w7 N! t3 E* l3 |
  757. JSR LIFETODEC
    + q. X( Y; N9 I& o
  758. RELIFE_NUMBER_P2_W:2 @. d' [' k. J% _# q2 `0 _
  759. LDA $7A03* z+ d% \1 d. f/ V% O3 ^6 ~- u6 H/ \
  760. STA $0705
    4 f- |- k4 v5 H8 G+ [
  761. INC $07052 C  d  b/ a. g  E* O& N
  762. LDA $7A04
    $ Q3 N# y4 u4 _" C
  763. STA $0706( h4 n* U2 i5 O) x3 J9 B' [& ~
  764. INC $0706
    - T! R6 a% y% ~6 E
  765. LDA $7A05
    ! z: ~9 s$ X& M% |7 _; V& R; R9 ?
  766. STA $0707
    - |, g9 u/ x! t3 s7 ^
  767. INC $0707
    * O: I9 N$ J9 q0 X5 k' w
  768. LDX #$036 `# l: H# d$ p) K, Z6 }
  769. RELIFE_NUMBER_P2_START:. z. }. O! u9 s! p. v
  770. JSR PPU_START+ G+ u" w9 W4 C
  771. RTS
    1 C$ ?6 `# {. h3 i
  772. & Y2 l. s) E" ]% d4 i8 w7 s
  773. WEAPON_P2_ADDR:* G5 Z/ K. j* u% k, _
  774. .BYTE $21,$33
    & I% R* q6 ^, ~+ C) C/ {* n5 F
  775. WEAPON_P2_DATA:5 y7 f/ E3 }. U1 c. U7 O' N
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND1 n& O) T8 U' n! C" c1 R
  777. WEAPON_P2_PPU:
    8 N; L8 z* Y  X, s: B
  778. LDX #$00# [$ A) j! A' y) Q& j$ g9 e
  779. LDA WEAPON_P2_ADDR
    4 H1 c2 Z( L) U5 B1 C, }6 N
  780. STA $0703
    " k6 _/ c* {) D) C4 r& q/ b; U6 P3 l( P
  781. INX
    $ {1 A7 L* s  |- s% ?) g
  782. LDA WEAPON_P2_ADDR,X1 ]$ K* J1 l) |$ [
  783. STA $0704* K7 T( ?8 A) o. b9 h
  784. JSR PPU_PROCESS- ]. w; E: ~+ h0 `, L/ W
  785. WEAPON_P2_W:
    * q$ |1 i6 y) R5 T; W7 m+ _
  786. LDA WEAPON_P2_DATA,X0 Z6 H6 A+ u# ^# F  }6 E" m. x: `
  787. CMP #CEND
    4 K- d9 l! l  I9 \
  788. BEQ WEAPON_P2_START3 o1 p, j. T$ U" B# H4 |; u
  789. STA $0705,X
    , v! `' j' z* j7 b2 W
  790. INX1 {, r  X# L5 B% _$ {
  791. LDA #$00
    ! Y2 e; @! j& y3 I
  792. BEQ WEAPON_P2_W$ z5 h7 n& j) o, I/ o- I' B; ]. ~1 S
  793. WEAPON_P2_START:
    ( l, _$ G% Z; l8 @; i( l* I
  794. JSR PPU_START6 A: M5 l, m9 j
  795. RTS
      j- a" I3 \, P6 d) g1 J/ _* C* r
  796. 5 T$ I2 S5 B: u; ~( ]
  797. BULLET_P2_ADDR:
    ) x8 A' o9 E. k) s
  798. .BYTE $21,$3A
    5 B; g- o! n- l  V" H. W
  799. BULLET_P2_DATA:
    % G5 X% l# e- Y7 ^( N$ |  ]- p
  800. .BYTE $00,$01,$02,$03,$04
    / P/ H! Z+ p- a+ B! i
  801. BULLET_P2_NAME:  h9 `) D9 a  D: e
  802. .BYTE CN,CM,CF,CS,CL) h8 T- q3 ~4 i5 p- \
  803. ; D1 y( o9 X6 G" C4 N6 T) w  H1 L
  804. BULLETPPU_P2_PPU:
    / V+ c0 I# o8 X
  805. LDX #$00
    8 I9 b, a; p/ D+ W1 G! u& L# i
  806. LDA BULLET_P2_ADDR; _2 Y) U7 G* S% |7 J
  807. STA $0703; T! |  V. p- k- h2 b6 m5 @( U
  808. INX
    , e9 i! A  g2 H' V' }! G2 w& k
  809. LDA BULLET_P2_ADDR,X0 n$ c# o9 j% v: e  P* I0 w4 d
  810. STA $0704" G2 X  }9 t9 o) n
  811. JSR PPU_PROCESS
    - b% o, u  v2 p0 ^
  812. BULLET_P2_WRITE:
    % U! ?( `. i0 N. l4 j, a
  813. LDX #$00- L! b! u8 }( W. ~  Z+ z
  814. LDA $AA& `7 [% e8 J3 ~9 U, d; t% B1 l
  815. AND #$10
    7 _& h( L! s1 E0 a) j( v
  816. BEQ C_BULLET_P2: b" M' S3 W6 h+ \# ^
  817. LDA #CS$ x0 s; Y# I- W- f/ R9 Z
  818. STA $0705
    ) i1 V' g0 @2 g8 H( a
  819. BNE B_NAME_P2
    & R1 x- A8 s0 M! A" a( Y
  820. C_BULLET_P2:: r( K) H/ W" t( L8 N# h
  821. LDA #CC
    7 z) Q( M& A+ k' B8 m& N  b; Y
  822. STA $0705% Y1 I% N2 C) h& N( s* F# p3 L
  823. B_NAME_P2:3 V% `+ Y; \) l/ B- D) c" B% o9 a  v
  824. LDA $AB% t$ X7 h5 j- g  _  s
  825. AND #$0F" O1 i. d* Z& P' E" @! o) S
  826. CMP BULLET_P2_DATA,X
    ' ]$ z3 T6 a6 x" r8 o, `3 G8 H
  827. BNE B_NAME_P2_RECMP
    0 |4 W# x( p9 V1 J
  828. LDA BULLET_P2_NAME,X* e& ?. N  Y6 S& E# Q  E
  829. STA $07065 G) k' N, g) m4 G
  830. B_NAME_P2_RECMP
    - H4 ^& w& G) c& _
  831. INX
    4 a1 L. H2 X% A$ Z8 l/ `
  832. CPX #$05
    2 U& j1 l3 \4 p. l2 h+ C
  833. BCC B_NAME_P2
    # H/ J! z# @2 c1 I
  834. LDX #$029 z) v& Z% j8 \, a; r
  835. JSR PPU_START/ {" _+ n+ I% I* ^& n2 o
  836. RTS2 d/ W% k  ]( G  l$ D
  837. + {2 G( [4 o+ o; }9 O# S3 J" P$ S

  838. / j0 H5 T( Q+ M3 E3 ]9 D6 a% x% @

  839. 9 H+ G; Z( Y6 V. W/ A

  840. " q7 r( D! `* u- q0 w
  841. - P. l  U: F, ?6 U6 W

  842. ! t) k, x7 Z% c9 L' ~
  843. LIFETODEC:                ;十进制转换
    ) x+ ~, X8 ^  c+ g+ a$ s9 N- H/ f
  844. LIFEL1:        ;initialise
    3 Q, r9 b! K# D  T+ h' G+ e1 r
  845. STA $7A00        ;$7A00=F3
    9 K3 b% R! w+ g0 k7 b3 I$ s$ R4 _4 q
  846. LDA #$00
    9 q8 T6 \; }7 s% B4 {1 e0 k
  847. STA $7A03        ;$7A03=00
    ( V% }2 p! u5 O
  848. STA $7A04        ;$7A04=00
    : J4 Y/ |' g8 m& K% L
  849. STA $7A05        ;$7A05=006 G  K! h$ a4 R: H9 C  W" d9 [1 c0 Z
  850. LIFEL2:        ;copy data $7A00 to 6001
    * i  a# T! x0 {, o. q. p+ x
  851. LDA $7A00
    # K; c! l( O# B0 U2 M/ S( S9 U2 r
  852. STA $7A01
    . l% j6 g4 p& A  l) u: M
  853. # }) ?: W) Q! O3 w7 t* L& n
  854. LIFEL3:         ;hundred
    : A1 e% B$ S2 L+ o! ~( W8 F: ]
  855. LDA $7A01
    $ a1 m% M! T" d% c# p- |7 ^
  856. CMP #$64- H. e0 o- q+ T5 h3 `
  857. BCC LIFEL6                ;$7A01<100 goto L6. ~+ [$ _6 v: i- I
  858. LIFEL4:/ `6 ~& k; \( D- `4 [2 X9 @2 @
  859. LDA $7A01
    3 U. b+ Y- v$ z6 c/ T0 W" ~, ^# a2 U+ G
  860. SEC
    & U* J1 c$ \2 y( w2 h& [
  861. SBC #$64        ;$7A01=$7A01-100
    , x* @0 k2 {% c0 {( Z8 j: F
  862. STA $7A01
    - F* v# j: W$ M& M) g$ e. c5 S
  863. INC $7A03        ;hundred++
    * k; J6 u1 A$ z5 D
  864. LIFEL5:
    : \8 v5 S8 P* S9 h6 c" V/ `; F
  865. LDA $7A01
    2 s4 d% H5 G* S/ c6 E" s. C
  866. CMP #$64
    % k8 W3 Z5 S& u* _% D. k3 `
  867. BCS LIFEL4                ;$7A01>100 goto L4
    5 ?( g3 n1 f) n

  868. , q, @; E+ B4 ?9 V8 e! F4 o
  869. LIFEL6:        ;decade
    9 q# x; Y' g: m8 p. W( D
  870. LDA $7A01
    4 C: y/ m' Y# O2 ^" g6 w2 a  f
  871. CMP #$0A
    9 W. i5 v  C! ~9 i  |$ A
  872. BCC LIFEL9                ;$7A01<10 goto L9
    7 X8 n3 t( l1 s# m! k, u
  873. LIFEL7:       
    : V2 e3 l& R1 A. U1 j( Y
  874. LDA $7A016 ~, U! y+ I' ^; m) d
  875. SEC4 c3 u- @' j/ a  `! R. }' K
  876. SBC #$0A
    ! B; _4 \/ `! C
  877. STA $7A01        ;$7A01=$7A01-10( p. c  i  L! f% `6 c
  878. INC $7A04        ;decade++
      O. B9 P; j" S  R2 t) N6 U
  879. LIFEL8:
    3 B# ?2 ?  Y$ u  L5 e  U# E
  880. LDA $7A01
    5 I" A6 E+ a- h% N& }1 @5 w
  881. CMP #$0A
    ) L* E  ^1 z+ u0 d+ R$ ?* e* a
  882. BCS LIFEL7                ;$7A01>10 goto L7
    7 h% q" H5 j) j! G
  883. ;unit
    + s+ o& K  [6 ~" l6 ~
  884. LIFEL9:
    - E9 \/ J0 h6 _7 E( N
  885. LDA $7A01        ;$7A05=$7A01
      P5 G+ o, _* q
  886. STA $7A05        ;unit
    9 f5 Z+ b6 s  F
  887. RTS        ;return
    6 U: P* m9 p) J8 [. r# \
  888. ' `) K/ N* `8 k) m, ~
  889. 5 G; Z5 p8 S. Z+ ]: `; Q2 l

  890. ( c+ F4 q* w* X. v" H
  891. PPU_PROCESS: ;PPU地址处理程序* b: }" V2 ?: z" p, r0 a
  892. LDX #$00( @1 S8 B( K( y* k( I' P
  893. LDA $FF
    1 `8 N& Q% u0 w0 i' Y8 Y
  894. AND #$011 o" L$ U- a4 z! N
  895. BNE PPU_2400_27C06 `  X# z/ {% `3 F: H! O# _9 a
  896. PPU_2000_23C0: ;命名表1
    2 r9 T+ T* J, j: K4 `
  897. LDA $0703
    ; a" R+ V" E4 ~; ~
  898. AND #$FB
    ! R, k; \. {) s: d4 A8 @
  899. STA $0703( \5 e" M& ~" H$ Y/ Q0 J% O
  900. RTS
    8 x  Z% b1 B0 ^9 }7 d+ G4 `" H
  901. PPU_2400_27C0: ;命名表2
    & c0 K" {3 s- V. p: k& a* c
  902. LDA $0703# O6 |5 w* u* X8 M& `( ~: ^0 D( q
  903. ORA #$04
    , n% t7 N0 F5 p# T
  904. STA $0703
    : g$ @( }8 z( d2 n
  905. RTS
    8 d8 X2 c4 |1 G' Y
  906. 4 H) [2 F) P+ r' Y3 k9 [
  907. PPU_START:  ;PPU数据写入1 e) ], P" ~- k; m. H1 y' c
  908. STA $21
    , }8 c% ]% ^1 B
  909. STX $0701
    2 M& `9 F' w  v) U. x, v% ~" J
  910. LDA #$00% l& S" F+ m$ y. E+ X
  911. STA $0705,X
    4 _' s0 V+ a9 u+ o
  912. LDA #$01
    6 Z. Y4 J5 `/ `- V
  913. STA $0700
    3 {9 g# O" Z6 s* i/ b0 L
  914. STA $07028 \2 Q: V5 w( t7 u9 w: f. n* q! n
  915. RTS
    9 q7 g8 X! `( e0 ]: i4 l
  916. & M' k+ }( w: j

  917. ; N$ h! O1 H$ U8 b" W

  918. ! P3 x0 ^' G3 i1 x) V1 \% e/ G8 l

  919. / c: @+ y5 K  e$ H# H  Z! k9 P& F. a

  920. 4 e5 ^& P0 H4 }
  921. , Z6 e' u6 G. N6 f* g% @
复制代码

( L3 h( E& D! U) O9 K2 B

本帖子中包含更多资源

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

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

签到天数: 2211 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
& v5 S& r& f9 S0 x

签到天数: 2559 天

[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-11 05:58 , Processed in 1.095703 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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