设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    . x, T. N8 Z. N- G
  2. 作者:FlameCyclone
    " w2 E6 u& _% g) ^0 c- Q) O5 j/ I
  3. 时间:2017.2.12" u/ z! E% Q0 `+ F

  4. # a% [- o4 l; q1 B2 ]2 l
  5. 按键跳转:$ O* V- c9 \! V
  6.         C1EF:95 F5 94 F1
    4 ?; a/ C* T- t& {
  7.         C1EF:20 70 FB EA0 ?: J, u1 `6 b& q7 }9 F( G0 C# |- P

  8. & U9 d) T9 G# P2 b  ^6 W' h
  9. 滚动偏移:
    % e& d( p: s# C8 M7 M
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    8 e; Y& }. t! x7 \
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    8 O* y$ M# Z4 O: C7 R+ f

  12. % W$ h5 H' {# k( G$ J2 A
  13. 背景调色板:
    , T1 S& ?: u, }. X" x
  14.         CF20:9D C0 07* x8 x, a, u7 |; M
  15.         CF20:20 A0 FB/ Z' D. k; Q  H6 ?+ @2 _
  16. 8 |% A% y4 _! ?3 I* c
  17. PPU BANK号:% `8 J: q1 Z, h. k/ L
  18.         C8C9:9D F4 07
    : f( f7 D4 \% h4 s
  19.         C8C9:20 B0 FB
    / I' j7 `, t0 d# F

  20. 9 E% c' b3 _0 X5 |/ \
  21. 按键跳转:$ Q6 }3 y. y, l" g  ]3 [$ i0 p
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20# J+ r) ~" n. H) k' o: ~1 K" T
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    9 x! W& I8 }- ?* Z2 I- J
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    " v- [' c" E- h! w- j4 q
  25. # o! L$ t: n# K! |  U5 L7 Z
  26. 背景调色板:
    / |* U0 {! m' ?6 Q
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    ( K) g  j6 F" P9 B- e8 C* E4 h
  28. ; r3 [" {: f: z& Z+ |& Q/ W1 q
  29. PPU BANK号:
    8 ~, F2 s' Q# E9 [4 W
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF( X7 M, Q: p  A) b% M& O9 L
  31. 1 R  L, }5 ?7 i8 c
  32. 滚动偏移:8 l0 b$ E) W  n  y/ }+ @  P' n
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60+ e! U3 B6 \  K7 ?  {$ Q
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    ) X4 e. \1 H" Y6 W$ i4 `
  35. 2 d) H# k& @! X& t0 b
  36. # u1 b7 ^+ @) z2 t0 b7 S
  37. 切BANK后A000:
    " z' {+ e" p& T5 i4 e: v; w
  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
    ! [! C" c; e& Y* Q" n

  39. * z9 k) t5 H" n

  40. 9 h& h* q  G' h5 W
  41. 6502 simulator:
    & ^9 E$ j. f+ E6 ~8 j5 r6 U
  42. PPU写入程序:) `. X7 |& B* Q  s3 G
  43. .ORG $A000; [+ }! u, y8 s! u0 V% x
  44. CSP = $804 u6 l4 l3 U& O
  45. C0 = $817 {7 G0 v  y- a+ [* E7 f3 A+ d5 d
  46. C1 = $82
    6 G) [4 f8 y  L7 m+ F
  47. C2 = $83/ R9 U: Z+ m/ }' Y- ~0 K  j' a
  48. C3 = $84- M2 w+ Y; v9 q" z# b9 V7 H8 D0 e
  49. C4 = $85
    , |2 C& u# N" `: r$ l4 i
  50. C5 = $86
    ' n3 N  O2 k! x9 `! L
  51. C6 = $87. y! W  u4 H; Z; A! _; P, m% u
  52. C7 = $88
    8 e2 Y! D( T- B8 p% B5 |+ I
  53. C8 = $89
      Y6 R4 A) G" t" l0 [! j. W
  54. C9 = $8A# h! v6 ^4 X) \; a% R: v# t
  55. CA = $8B
    ( k" ]0 \3 z+ V& U5 J7 c+ s% ~
  56. CB = $8C
    " U- l# B4 N1 @" q  q- S# d4 ]
  57. CC = $8D
    5 {; r$ l' o6 U3 n3 z
  58. CD = $8E( a3 s! C* _- h. ~) v# `- Z( a. c
  59. CE = $8F+ k2 u  J; v0 A+ B
  60. CF = $900 O* f/ K3 p, U+ v$ x
  61. CG = $913 }- i/ P, A. W$ R& m" `4 T  [0 e2 R" H
  62. CH = $924 B* w1 A& c0 r. Z
  63. CI = $93
    ; b$ j3 y! l0 n% [$ A% V
  64. CJ = $94
    7 N& ?8 n& r& L7 U0 C
  65. CK = $952 L, e6 Z4 A  E
  66. CL = $965 F. O. n1 z5 e
  67. CM = $97. _1 ~7 F- ^! M( x2 ~7 w9 W
  68. CN = $98
    * d5 y/ {" \' [) Z; y: D' d! l
  69. CO = $99. r; t1 ~) M( W* v# o0 y
  70. CP = $9A
    . Q2 Z- W3 I1 @  j+ w/ L
  71. CQ = $9B
    ; }% [3 i3 \8 w& V+ g9 H- H# U
  72. CR = $9C
    4 i6 U5 K1 b; h2 l( @; p
  73. CS = $9D
    + q. H3 V$ R+ K9 N7 z- J9 ]& U/ h
  74. CT = $9E
    9 Q/ L. X$ B& x! Z
  75. CU = $9F
    7 q, M$ O" k$ Z; x$ F/ N2 f4 V
  76. CV = $A0
    7 F2 D3 _1 f! k! U$ j; j/ l, q
  77. CW = $A1: e* N! ?7 n. s  q. T& ]+ S
  78. CX = $A2
    8 u4 r" L8 e* r
  79. CY = $A39 n. ?  u3 j3 o5 P' ~4 F
  80. CZ = $A4
    8 M8 v5 U! V* o
  81. CEND = $FF( |( O  h  w9 d  I- |1 e$ A

  82. " o: M/ Q, w. J" x/ T, A9 J

  83. 4 T2 ^9 X; c& D  c% u
  84. CMP_RE:
    3 j6 |% P" [! z
  85. LDA $FF1 W! F9 D! o0 }, G2 I  V
  86. AND #$7F4 }/ k8 c% _$ \% i4 b
  87. STA $20004 I. i6 N% ?, X8 V9 ~% k) [
  88. LDA $20021 i) a2 P$ ^3 ^8 C0 I' d) t' O  C
  89. LDA $25
    9 |. C6 ?+ t3 v' V; u
  90. CMP #$013 _) ?7 u; `; U6 _" n5 F- _& o/ V
  91. BNE PROREG; W& t  R1 A# h* s
  92. LDA $F5,X3 I2 ~" x. q0 F( Z3 Q$ B- Y  d5 ~1 j
  93. AND #$CF
    7 Z% m) C! {0 B
  94. BEQ PROREG
    ' N0 e) R4 [4 o8 E
  95. JSR PPU_CMP
    8 o  `  Z: q5 p5 n
  96. C_RE:
    ' z0 i; M/ r- r
  97. RTS
    / w8 m/ G3 G) |  V
  98. PROREG:
      \& W& _. }( p" a1 V
  99. PHA
    . w9 o/ m* i& l  ~, G- [* ^# {
  100. TXA! }, T4 N) k7 N! P: [5 C( m& q8 K# I
  101. PHA
    : o" Y$ g( z# ]1 B) ~) [
  102. TYA  h( s! [( z6 I; U6 Y. d/ O3 V
  103. PHA% }! d, [" M6 a2 c1 M
  104. LDA $25' D- R' ]8 j) C$ m! w
  105. CMP #$01
    % X: R: {4 l" F7 r  u% p8 X
  106. BNE RE4 Z% ^- H/ {% r
  107. LDA $010A% _: Z7 l  Q% L) V$ u6 D# F6 I
  108. CMP #$00
    6 i7 }! B7 g8 z9 _+ |$ Y, |
  109. BEQ P1
    0 n3 U4 r% w' Q" ?: b. S3 f5 T* X
  110. 8 _3 N- O- w4 E1 G
  111. RE:
    ) |+ y* \8 e' W( v1 j
  112. JMP PPUWRITE5 p6 g+ R- P4 r9 w4 a* K. S9 j

  113. 9 S& f0 z) W, q
  114. P1:                ; 条件判断
    ' f8 G0 o1 T4 D' Q( b
  115. LDA $7FFF
    3 m, L+ e+ T% }
  116. CMP #$FF
    : S7 E" {3 b9 w4 i
  117. BNE P1RP8 a$ C. \+ w3 t3 F: T
  118. LDA $7FA0! d9 ~+ V1 Y5 Z
  119. CMP #$003 F( o/ K4 I' a% z8 d3 n
  120. BNE P1CMP0 ?( x5 b0 r2 `* ~: a
  121. LDA #$FF  o6 }9 `$ T. P  J6 b. Z0 I
  122. STA $7FA0
    ! T6 `, s: n, ^5 k! {% m
  123. JSR CLEANA9 E: ]) f: l  S4 T! ^  H
  124. JMP PPUWRITE# n/ D7 K" T0 o% S9 v
  125. P1CMP:
    % Y' v7 z! [6 h3 ~( Z: B) i. |' c
  126. LDA $7FFF
    ' }; P- o- d. O1 _
  127. CMP #$00
      f: x; ]2 a5 G. c: Z! f% R0 l
  128. BNE RE
    ! H3 }9 Z" t0 U. J& F' _
  129. P1RP:+ l4 C- U7 \, n3 W4 p
  130. LDA $2002
    ; U1 d7 ~# l3 j0 B/ x
  131. LDA #$00
    0 _5 ?5 Q* n* u: \
  132. STA $2001
    - l/ O/ i) q8 o6 @2 E. z! [) w/ U# K/ D
  133. LDX #$00! ]: c3 O" K" U+ j
  134. LDA #$FF6 l1 b7 C& n9 S
  135. STA $7FFF
      ]' _$ ^, Y% O# r+ i
  136. STA $7FA0: m6 q2 ^% |2 K
  137. JSR COPYPPU
    & ]" l" ?. f0 X* O
  138. PIRP2:
    : s3 O& t! T$ ]- f1 d4 n5 K5 q
  139. JSR CLEANA3 B  A, T& f( _
  140. JMP PPUWRITE
      Q# o7 C% Y$ f7 o1 L3 E0 o8 R! H) t

  141. & _$ }. r- C2 R) o5 O
  142. COPYPPU:% d& R9 [+ h) L  K& Z' B! n
  143. LDA $FE6 t! F7 J6 M- I; m- \2 w
  144. STA $7F50
    ) i; U1 l8 r( N
  145. LDA #$08
    4 Y8 U, F2 ~* I8 }# B
  146. STA $FE
    + y& r1 s; c9 [" B3 J. k
  147. L0:' k4 u, e8 w1 t8 D$ Z( @7 ]- [
  148. LDX #$00& Q9 l7 n" A7 P
  149. COPY_07C0_07DF:, |0 s/ m8 N2 _& @) l  q
  150. LDA $07C0,X" i$ F% T+ N7 O) g) t8 {) U
  151. STA $7F00,X
    3 m9 E& R4 D0 w" a
  152. INX. S5 }8 J! g3 P9 m1 U. q
  153. CPX #$40
    ( G" C* R2 k9 [* R
  154. BCC COPY_07C0_07DF% I) ]5 y5 `% B2 W% s2 E
  155. LDX #$00
    * e, R. d$ o: N  j' g( a
  156. PPU_07F4_07F7:4 [1 J7 C8 x6 c- U2 O, s
  157. LDA #$006 A5 E' y# Z( ^% {/ Y8 c
  158. STA $07F4,X+ x; m/ L- L+ v) @' o4 Q2 w
  159. INX& o9 {3 G, n- q% t4 r+ R
  160. CPX #$04$ I. {" A) L/ D8 D  [9 l( v
  161. BCC PPU_07F4_07F7
    0 k0 j! ~1 V- o! |% }% x2 C9 T
  162. LDX #$00) s8 P# I0 I& \; Z" \& h# @0 _
  163. COLOR:
    0 f( k6 T& @. ^
  164. LDA COLOR_DATA,X" l0 c) ]6 k5 _0 U3 _% Q
  165. STA $07C0,X
    4 y6 D' W* X5 W+ T% S
  166. INX+ B( M0 S- y1 B1 O* s1 \9 e3 M1 J
  167. CPX #$108 k2 W, O8 h$ g* O
  168. BCC COLOR! L0 t* {+ Y) P) s: n; K0 A& l# z

  169. 9 V( I5 S5 t- r; _  N9 p$ z- |" w
  170. PPU_COLOR:! j& d# X* A+ M0 y- U4 p
  171. LDA #$3F3 H7 r  X6 f9 J; V
  172. STA $2006
    0 ?1 {/ b9 M& B8 M* ]$ J" v7 y
  173. LDA #$003 R- v, p8 Z6 P! ^# R8 k
  174. STA $2006
      t  k* p. |! B) u+ e! F2 J7 }
  175. LDX #$00
    ' X# }, h' G/ I/ M! \
  176. PPU_COLOR_W:
    * [5 a5 z' s# H
  177. LDA COLOR_DATA,X+ H3 X' {) i% Z, U2 z' K$ g# U% E* B
  178. STA $2007* K. e: Y4 r1 f9 P& J
  179. INX9 }4 Q" U( C: |, ]9 r) ^
  180. CPX #$10
    6 f, B$ E' z, \+ K" |9 e8 @5 s
  181. BCC PPU_COLOR_W8 r; J; @& H! S2 f/ B! ^

  182. 6 n+ e" T2 t- W5 U" h
  183. ( K; i9 E! R. B4 ~: c# @4 c4 b
  184. LDX #$007 `/ D& G0 O7 w; T2 t; A# d
  185. LDY #$00
    ( `$ B& J6 V; }% `
  186. LDA $BD# R6 E$ x: k5 a- ^+ W
  187. PHA
    + M# q6 }( @+ z! O9 u+ C' e4 m/ h, w
  188. LDA $BC4 F$ ?8 Y2 h$ {" a9 H' n
  189. PHA; f! e  p, A8 v' m4 y1 F8 E5 _
  190. LDA $BB! ~, c  _6 R8 @* p% o1 o! P
  191. PHA
    & d3 R* L' m, v' ^8 i
  192. LDA $BA: j8 W% q! n3 f: K! c2 P
  193. PHA! x* K) q! r2 @. U3 ^
  194. LDA $B9  i5 @6 a& ^; Q7 U- W
  195. PHA
    # h" O% h% i) v- P- X
  196. LDA $B8! |5 k2 b; t# f
  197. PHA
    1 D) f+ A- Z5 a/ f- Z4 x( z1 U0 h( G- a
  198. LDA #$000 v1 f7 a9 ~  b4 t( A" y
  199. STA $B8
    9 \9 a7 n/ y. H
  200. STA $B9
    & }$ `7 e  y# i8 @
  201. STA $BA$ |/ O% e2 @; @0 g
  202. STA $BB
    8 R+ I) N$ w0 }7 |: F* f
  203. STA $BC# O: S2 ?* ?) J  B! p
  204. STA $BD
    & u9 F& ~, W5 R& \
  205. LDA #$005 v0 u& P4 d4 J9 Y+ q# d7 b: D
  206. STA $BA) ?. q* u7 Y% i$ Z6 ]
  207. LDA #$20
    % ]" q  M8 s7 H% M3 l% h5 Y
  208. STA $BB
    3 z3 |! w9 a* |6 h& ~: p% {5 z
  209. LDA #$00' ~0 o. r  ^4 A6 f+ _! l
  210. STA $BC
    ! Q4 K* y5 R) m; C9 m+ j
  211. LDA #$60. D' h) p$ U6 E8 \
  212. STA $BD1 \! f' E4 T* l
  213. ) V! v# C8 q/ ~; M5 f: t
  214. L1:                ; PPU复制  ~% y9 ?# B; ], w+ x# s
  215. LDA $BB4 P( M" z) E9 b# ?+ v% O* v" E
  216. CMP #$28
    8 @7 o6 X, y1 m
  217. BNE L2# b& o4 B8 M# Y# C/ @! i
  218. LDA $BA
    / @# m; {4 k# A! T  ]
  219. CMP #$006 N1 ]$ v, M- K' l6 M
  220. BEQ PROADPLA1 ]9 B! T$ w, [$ `
  221. - U, J5 T* o9 C4 o
  222. L2:5 H6 t' o5 x/ m6 O3 c
  223. LDA $BB4 x4 L/ p5 p6 w' [8 u1 d. ]: a1 d
  224. STA $2006
    : n, f- f4 q( g) t, O4 n
  225. LDA $BA9 p6 C, S) K' i. f& q. L8 Z( b
  226. STA $20061 ?- k, D" I+ ~1 }

  227. 1 |( W5 w: ~1 @- |/ V1 e
  228. L3:
    ! ^& I, M# a. y" Z
  229. LDA $2007% ]2 W9 O9 b; k2 n! D- N$ S+ V* R
  230. LDA $2007$ `) ?" F+ |  V# e1 e9 D! X( {2 B
  231. STA ($BC),Y) C! N  u( s' c: E0 I" S

  232. 4 A9 k' n8 @* w0 _, I6 P9 F) ]4 l7 c
  233. L4:$ a, Z$ h& [; ]! `
  234. LDA #$000 h: ^1 Z* J, u/ p$ S  l; f9 j
  235. STA $2000
    3 p# s7 f; e0 i# i
  236. INX) W, P' d7 ~1 Z( r
  237. INC $BA+ G0 Y$ E5 }$ n7 ]; c; w: P8 r- z
  238. INC $BC
    1 c( ]- ^/ E2 e, d7 `: ~  \# s: \
  239. CPX #$006 j" I; M( @: ~
  240. BNE L19 ~2 I6 @! g5 r" Q
  241. INC $BB$ O+ F% D; p1 w9 Y
  242. INC $BD
    2 N5 X2 I5 ?6 k1 T- W
  243. JMP L1
    - Q7 j( J% N* D5 @5 X& j
  244. 8 D2 ~6 Q/ j5 z/ W" W8 M
  245. PROADPLA:                ;出栈
    , ]( p, ]9 v9 H/ _+ S
  246. PLA! t  C# E8 ?$ ?, a
  247. STA $B8
    0 b& p  {* V4 [
  248. PLA0 `6 q1 S) l5 O/ n: h" l- ?( y
  249. STA $B9
    1 }1 V/ T" _$ j7 ?0 p+ x; p6 q# j2 z
  250. PLA, F, K$ m% Q9 W/ i; D
  251. STA $BA# |/ D3 c% Z/ n
  252. PLA
    : m+ l; z. f2 a" g. T9 }; Q' Q/ ?
  253. STA $BB
    5 Y& V: `% J# P" V' h
  254. PLA
    1 T5 G! e% V8 o3 J( z) |
  255. STA $BC( ?" s: X- I/ r2 g$ {  Q& }
  256. PLA2 r$ t. v; @0 V, O! W$ N  |
  257. STA $BD
    ) e* r4 y$ [7 ~: s) X
  258. CPRE:
      I+ j2 }) N) }! J  |
  259. RTS, s3 g8 M6 I( k" Q" z4 j) M

  260. $ R. e- Q3 D2 e; X( f
  261. CLEANA:                ; PPU清空
    , w  V1 @( s* P- Z4 A- Y( C
  262. LDA $BD
    ( R8 J1 x8 @4 z( J9 B. T5 Y
  263. PHA
    , `) x- Q5 p" o
  264. LDA $BC) y- i% ]3 u" S9 }$ g( g
  265. PHA
    8 I0 Y: ]/ j  d- h* v/ l' {" p
  266. LDA $BB
    9 I7 v* i' }/ ]+ n
  267. PHA0 ?# y9 x. `: ^0 x3 b! e
  268. LDA $BA. Q0 m& e+ B9 y' _* Q, v( {
  269. PHA
    2 J+ f: N$ z- h
  270. LDA $B9
    4 T7 l6 t" _; j/ w: X
  271. PHA
    3 w4 l, k8 Z1 c: y; B) P
  272. LDA $B82 }9 q) \; g& I. m
  273. PHA
    7 Y. r' k2 Y0 @2 }+ D) |
  274. LDA #$00& a* W7 i3 l0 J( |
  275. STA $B8& W# L- a0 |) X" Z! r
  276. STA $B9
    * z& Z5 n4 U% [9 L1 r6 B. Y
  277. STA $BA  e6 Z! k9 B8 k1 X) J5 ^. _
  278. STA $BB5 M' n4 ?" y/ G- }4 }0 X+ V3 t
  279. STA $BC7 j8 ~6 v4 T- A: v9 K0 B
  280. STA $BD
    . }! L4 w0 C. H" g. v
  281. STA $2001
    & T. X; c( I1 y+ |6 i
  282. LDX #$00$ E8 T: \" a- W2 c! H
  283. LDY #$00/ T# t" V2 x. Q* y; e; {" \
  284. LDA #$00
    - A& n( j0 Y: c8 r5 y. N
  285. STA $BA
    9 ^0 _: ?) z& p' b: F' x5 s/ x
  286. LDA #$20
    . Q5 Z6 t, H; T  ~2 P
  287. STA $BB+ O2 R( }* x, k  s+ G; e

  288. + v! ~# W* p) u* u! E
  289. CL1:' m& Y! m. C% a0 d% d3 X1 Z# A
  290. LDA $BB5 a7 s& g0 J0 f! _# b7 n
  291. CMP #$28% R/ e  U1 b: |1 ^4 z- Q5 o
  292. BNE CL2
    . y8 a0 F: `" C8 ~- F2 o( k7 ^6 R
  293. LDA $BA7 v1 `: d0 v8 v4 T5 H$ D
  294. CMP #$00
    $ U7 x, y" \) E7 n; H' m+ D
  295. BEQ FREEWRIYE* b7 E. z$ t' ]5 [6 u4 j

  296. 2 [& r- {8 w0 y' S1 u
  297. CL2:
    " V  b/ ?8 I' N( O# i+ U2 d& Q( K
  298. LDA $BB9 X; T3 H- b9 ~5 Z9 R! z: P- Q5 B( o
  299. STA $20064 n5 F( Q% U, U% ?. r+ k
  300. LDA $BA
    & k* v' @+ T. O6 y3 l4 x
  301. STA $2006+ i1 C0 P, p5 B# e' ^8 C
  302. 7 Z7 v0 u  k# w3 P. g, k
  303. CL3:5 d! `: {# @  c( ]2 o3 U4 N# b% P! M) q
  304. LDA #$002 }5 Q0 |% k+ ~
  305. STA $2007
    8 J1 k/ `+ c. ?: t1 D

  306. & C7 o1 l( E5 d5 L+ _0 v. A( i
  307. CL4:
    6 E6 U4 H, S4 e$ V4 E! p
  308. LDA #$004 c% p1 ^9 |: n
  309. STA $20004 }( ]+ C! Z6 S! ~9 a2 I  K
  310. INX
    $ F6 F- u7 s+ V7 C3 L6 g' i/ G8 _
  311. INC $BA
    # W6 i) c% S. b! i/ r$ c$ |
  312. CPX #$00
    " G/ ?( o0 T, T9 y/ B8 n
  313. BNE CL1* E* v# w0 N3 ~; u$ b! k( ^" q' ?
  314. INC $BB# t3 Y/ `6 @; h( x  E/ ?# Q
  315. JMP CL1
    6 ?, ^3 |7 h- B) q! y
  316. : o5 z& v' v* ^  d. ~
  317. . N" Z/ }3 {. [8 ~  A0 R- M6 b
  318. FREEWRIYE:
      u) y1 m5 H$ _) j# ^& t; A) J

  319.   j8 R: Q) f2 z$ D( w
  320. NOP7 L: O; x1 C0 b
  321. / U6 Q* Q9 f2 q4 ?0 F. k4 J

  322. . J! z, b/ O+ Z
  323. / E- ?& S" Y; u" B; Y) |" D' b4 C8 T3 u

  324. . @/ J" z2 h" ^' o. R- c
  325. / A& b! W; a* V/ |8 t/ ]
  326. CLEANF:                ; 恢复现场
    ) C5 Z$ Q. M( G/ I3 R5 B8 l. k
  327. " B, B! I* c* a7 M4 Z$ g
  328. PLA% f: e5 z# E) Q9 J& R  L3 K+ j7 B
  329. STA $B8# }# i/ }9 c( |7 M3 a& x( R* Q8 d
  330. PLA
    % ]# ?, R: s5 m/ t
  331. STA $B9
    8 T$ f  p9 w; O9 N- g
  332. PLA+ y8 p0 Z4 y" q: ^
  333. STA $BA
    6 g( x' f' c) g. i
  334. PLA% l5 n, _' {5 t7 }' T
  335. STA $BB
    7 o4 K# ~0 [  z5 h& I
  336. PLA
    $ N5 h, n) V9 z: t& \) Z) z
  337. STA $BC
    ( a6 `! L; W) P5 b# l* ~
  338. PLA! E0 r8 l& |, n0 g, W3 V* m  d7 |5 C! |/ s
  339. STA $BD1 B6 H& J+ ?2 \1 H
  340. CLRF:$ f6 X8 g5 l" ^" ?
  341. JSR FREE_PPU
    0 X( ], R8 g7 d! n9 }& U! n
  342. RTS# D% s2 p7 y! E

  343. 2 }! Z: |( i! P8 a  w3 V0 o. Y

  344. & _/ X' E) b$ U# S, c  X# o
  345. PPUWRITE:    ;PPU写回; E8 h. M9 W: F: L0 G9 D1 D
  346. PLA( }/ f: \3 r, d1 W# C1 i" Y
  347. TAY
    - ?2 |1 O. b% t2 Z' c) s) h
  348. PLA4 D: |) v4 L& B! }) S- i- h
  349. TAX0 K  v( f, _! m' p- P' D7 S5 a( J
  350. PLA
    1 N8 z; ~, d1 O& P' r" N
  351. LDA $25
    ; H, J$ b0 e. }3 ~- s( r. Q( d
  352. CMP #$00
    . J1 e% m+ x1 K7 f
  353. BEQ WP1$ b+ {6 M. I4 p- i
  354. LDA $25
    5 E3 k9 \6 H1 H
  355. CMP #$01
    ' W4 S5 U6 ^$ y' y8 Y
  356. BNE WRE
    ) c. p. k) G" \/ f- z
  357. LDA $F5,X6 R. C$ I" t* o1 }# e
  358. AND #$EF( N/ M( m% Z$ h/ n# h
  359. BEQ WRE
    2 E! d. v1 r/ h1 N! g3 C
  360. LDA #$00& o6 H; ]8 {& b, R8 L8 G7 a! _+ I! i
  361. STA $7FA0+ F3 O6 i: S9 ?. M5 g( v1 Q$ o
  362. ! g/ F) u4 L, W
  363. WRE:' P, n! B' f+ U- ]9 R/ Z
  364. RTS6 X7 G) ^9 p! d* r, {3 K) u% ]! Z% u( @
  365. 3 ]- y% T6 q6 `( ?# n. S9 A
  366. WP1:; `! V1 t6 Y: M" r+ j( t
  367. LDA $7FFF
    / c7 ^& _0 k6 h9 q  D
  368. CMP #$FF6 F! |/ d' @0 ?
  369. BNE WRE
    0 d2 C+ _0 A7 [2 [/ Y3 d& P
  370. LDA #$00
    6 I( s! t( _0 M( A+ ~1 K( R. S
  371. STA $20018 U5 e" N- Y) P! s% A0 q
  372. LDA $BD
    9 z& Y2 G$ ^, C4 m, }* X
  373. PHA, }" h$ L! y: o1 V7 ?0 a* R
  374. LDA $BC9 _0 D; K$ v! H# {# c' x
  375. PHA/ u4 U# d& ^6 V6 c
  376. LDA $BB
    , E) B( `& K" s; P
  377. PHA" G% A- q9 v& F6 r& J- F- I1 N1 }
  378. LDA $BA
    4 G6 f- q1 l0 v9 J
  379. PHA1 g, g( d. ^; Q. O: |
  380. LDA $B9: e0 p) Z7 f! Y8 `$ _2 u
  381. PHA
    ; ?# @( {3 ^# V
  382. LDA $B8
    ( [  m6 X" _& L0 C1 l0 Y
  383. PHA6 |- ]9 @0 \5 S/ X9 J( |- `
  384. LDA #$00
    9 o4 S, p0 R" p7 r" p, d
  385. STA $B8) C! q- a( F6 @" r2 ?( z
  386. STA $B9% L1 m6 R( h/ x, Z. c, p; e
  387. STA $BA
    ' q) Z: I( c3 o
  388. STA $BB. ?8 t9 D$ G, y/ W& d* Y- B& w, r
  389. STA $BC
    3 o9 _; m' H+ r" Y  c- i
  390. STA $BD0 m2 h0 r2 e; O7 p  b$ B) _- i
  391. LDA #$009 I/ E" E4 P/ H
  392. STA $7FFF
    ; o* X- {5 A* f6 S; @
  393. - m- _* G" V/ _8 J5 e, W
  394. WL0:
      B1 `: J3 f, H. y: b3 W
  395. LDX #$00
    ; O6 v, j( a# T  ~/ y, s$ o- J- X
  396. LDY #$00
    ! D7 K4 B4 k: M+ [1 D7 @
  397. LDA #$00' F; ]/ j. n" a" a# O1 `
  398. STA $BA2 s( Z% d$ w  a5 w  a
  399. LDA #$20
    / L3 K( M5 n7 R+ v* D  r
  400. STA $BB+ i* z+ Z4 V) p* L+ A
  401. LDA #$00
    / Z) K) b# H( q2 T0 n; c$ e
  402. STA $BC
    ! i0 r# B2 |# C
  403. LDA #$60
    3 I* K$ k4 z1 h" i; h
  404. STA $BD9 ^- Q* G. a. z( u9 y
  405. 6 |* A( l. D9 u7 z; X/ v0 o" A1 `; t
  406. WL1:
      c/ J) J2 `  U) D
  407. LDA $BD- t. m& |* o" D" K* t! f
  408. CMP #$68
    4 w1 p5 _! W5 H0 ~1 O, s
  409. BNE WL2, @' N2 w& m5 l- B
  410. LDA $BC; I" X3 G3 c7 R( N
  411. CMP #$001 O# \$ J$ S% A" R9 c2 i, |
  412. BEQ WLR
    7 Z( U) q8 Q- }/ _" t
  413.   h* R2 v7 d: n
  414. WL2:7 c7 p+ j1 C3 ]& e" J' J4 F
  415. LDA $BD9 X  n4 g) y8 H) _
  416. STA $2006) s  c- N! Q) _. k+ U. o4 Q7 r
  417. LDA $BC7 |3 h! `2 M5 {1 P
  418. STA $2006
    8 g; U/ `; y' f; d: T
  419. % ~# G: ?9 h( d' e3 }- {% x$ h4 N
  420. WL3:2 T3 W; G7 v. g9 l$ |
  421. LDA ($BC),Y
    * s0 ]9 `7 X  _1 C/ s9 m
  422. STA $2007
    . i$ U. _3 R/ P9 y" u
  423. : V1 x( R# ?! h) M
  424. WL4:
    , S) D' l; C+ h# x- ]
  425. LDA #$00) z8 w$ e8 E0 f5 x$ i
  426. STA $2000" [# `. V+ P+ r' ]
  427. INX
    9 m' X+ p  n- a* |- P" J  a
  428. INC $BA' \$ s; Z$ B4 [+ r5 ~! O+ U
  429. INC $BC1 J( F9 K- D+ b9 m: `$ `
  430. CPX #$00
    : B' b6 z' K7 k
  431. BNE WL1; a9 q6 a9 m& J1 n2 H$ H
  432. INC $BB
    ( i  x2 |' G' {' L
  433. INC $BD6 i* S  f5 K1 ?- G
  434. JMP WL1+ Q0 o5 o% L3 k& y/ r6 a. [2 i
  435. : F0 @2 q3 q* o( N. g; `
  436. WLR:: L- A- z  \- [# X3 c7 g3 {6 [
  437. LDX #$00
    $ a9 e; ]0 x* p9 J: y+ G, R
  438. COPY_7F00_7F3F:
    - [* L- O# m- x3 c$ p+ B: R2 e
  439. LDA $7F00,X
    : D7 s# f) Z$ ~) L+ j
  440. STA $07C0,X
    - m: W7 W& @2 q6 g% m2 a; u- Z! D
  441. INX# B6 P) C) Q8 e9 f& d, O
  442. CPX #$40' R/ h0 t7 H' W0 {- `& ?
  443. BCC COPY_7F00_7F3F7 n# D6 ^- i7 o

  444.   I% e9 H5 g# r' r" p" k/ P; q
  445. LDX #$00
    7 S  K5 K! @) L$ I9 s9 F4 L
  446. LDA #$3F
    . ]) i% z1 L3 N' y
  447. STA $2006
    " K# j8 `  I9 @# ]/ J
  448. LDA #$00; s1 _  n  A1 X* a
  449. STA $2006+ M& R. x9 W3 u0 W; L6 p
  450. COPY_7F00_7F10:! g9 d# @- E- B- Q- m+ h# Z& l
  451. LDA $7C0,X
    $ l: h* P1 s7 B$ \
  452. STA $20075 l. L7 o: v# v! \" A# C+ o
  453. INX
    6 m% n( [, [4 p, Z6 h' C" q
  454. CPX #$104 e# ?7 g, `& t; S( P+ J( x
  455. BCC COPY_7F00_7F10( A3 W7 j) B( i: r" f1 a
  456.   Q8 b: H# f& J7 g' R" x
  457. LDA $2002
    , c; Q9 W# Z+ q' h
  458. LDA $FD1 }8 d. R/ W, _5 B- Y4 w9 ?1 z
  459. STA $2005
    ) r. D" W, t1 u9 s8 ]
  460. LDA $FC) u' R' ?. F0 [& k# X% l
  461. STA $2005
    : ?( E7 X6 r. d( ]

  462. & F8 s8 k% D! ~0 b8 @9 i
  463. LDA $7F50
    1 K* h  Z5 h3 X2 D
  464. STA $FE
    ( [! r$ k5 r! n+ f+ C
  465. LDA #$00! H! s! h2 n) n" p# C7 l
  466. STA $2000: X! R7 c- e( ^9 L8 J4 W
  467. PLA- p7 G! k  u- P) O9 g% [! D# P
  468. STA $B8
    % N8 p4 S/ w3 G
  469. PLA- h, \  g7 q  s5 `: M
  470. STA $B9# |* G* B) F( h% b$ F% d/ J1 x/ K
  471. PLA7 {7 g  y4 Q3 W0 O8 Y
  472. STA $BA
    * ]! M3 r) D. n
  473. PLA% t3 q4 Z1 X+ b+ Y( d
  474. STA $BB
    ( r9 u. s/ @9 f' a+ e1 J5 i
  475. PLA
    - H7 H, z2 A: N* l0 d
  476. STA $BC
    " Q6 h& ]' y2 L/ ?2 }5 v+ |
  477. PLA
    3 t# _& _/ X  V: h1 b  c
  478. STA $BD
    1 o4 c- T& p0 H9 l: ^, A+ P3 p" o

  479. ' |8 A6 M2 q3 C# |1 q7 A" h, `
  480. RTS9 f2 I) S% M% u3 ^- o4 ?  V

  481. & Y8 H* n. Q6 [" e' M9 ^
  482. PPU_CMP:0 J  q7 a/ ]; I5 e

  483. * O2 d/ ]) V9 N2 d9 d

  484. 1 L9 u6 u& w7 H$ T) F' P( A
  485. PPURE:/ V; {: F" G2 ~9 f+ ?
  486. RTS* V% ?1 {+ ~+ u, Q$ G7 g# `2 Z

  487. , R! }# ?" N) f
  488. 5 d& O2 J' [6 ^+ m
  489. FREE_PPU:
    ( A! V8 Y1 n6 f# e. f6 Q8 z
  490. 4 J2 D( q" _) m! K4 z6 O$ [* A
  491. JSR TEXT01_PPU
    + G4 e/ K  o; N3 Q
  492. JSR $CBC02 y2 G3 P: B0 w  U) ^# W' c5 C
  493. JSR P1_PPU- @8 o4 s) B4 j9 L7 V6 ]( _$ G  V! J0 i
  494. JSR P2_PPU: d% O; Y0 A7 ~) T/ v/ l
  495. RTS. V  |, `% Q# p+ {( w- O

  496. 3 v; I; x2 x3 {7 ^4 z
  497. TEXT01_ADDR:2 k) c& _- q2 P  U# n8 Y2 I
  498. .BYTE $20,$42* j3 D4 q  _3 w& Z( K
  499. TEXT01_DATA:
    4 N; ~: R+ z& h3 L# K0 u0 x. 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
    / l( g. _* f) g" i1 k' s9 z# N( s! D
  501. TEXT01_PPU* @) h3 J7 Y3 p) u2 @. E/ ~/ W
  502. LDX #$004 H3 d7 C7 M- X  G8 f& v8 E
  503. LDA TEXT01_ADDR
    ( A( P* h3 H# J, h+ f6 q7 @1 A7 I2 C
  504. STA $0703
    5 `: T: G$ e8 S! K3 i' ?( m
  505. INX" R' L/ N" ?% h2 F3 d3 C
  506. LDA TEXT01_ADDR,X: Y3 O# }: Z; q# N( J3 M
  507. STA $07046 b9 r! G& n$ `$ O5 B
  508. JSR PPU_PROCESS
    - k& r* X& a$ A+ S3 b
  509. TEXT01_W:  i  ^. W9 I& t4 {7 t
  510. LDA TEXT01_DATA,X
    . J6 U$ {. R* q! E3 R
  511. CMP #CEND
    " ~+ y( n6 _; z; N: n  g
  512. BEQ TEXT01_START& x7 X2 M2 G7 \) Y! C
  513. STA $0705,X6 U! c/ x% z2 Z3 A4 o/ w' O7 ?: g( N
  514. INX
      g2 Y( G3 u+ ]- q5 K& D
  515. LDA #$00
    ' v8 {2 W6 B  {) ?. w
  516. BEQ TEXT01_W
      b! Q8 u) f2 F6 `1 t% y& j; S
  517. TEXT01_START:
    4 o2 H# q6 F! A5 [, J
  518. JSR PPU_START
    ; g( v6 M% `9 B. U6 b$ }1 N
  519. RTS0 _1 |) t7 }3 }: F! L
  520. 3 \2 c' @. X6 @0 ]; h
  521. # R- k8 p2 u& ^( |4 z0 k
  522. COLOR_DATA:. M: |  f* |/ Z+ ^
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28* c* i8 L5 j# E5 \6 l) b; I

  524. 0 j2 E4 e1 {; I
  525. P1_PPU:
    * O# ?% a) Q% C1 m8 l
  526. JSR PLAYER_01_PPU
    4 W; g0 U$ c1 i. I( e2 ^% d
  527. JSR $CBC0) C2 F0 M' ~2 ?3 a) I7 E( k, n
  528. JSR RELIFE_P1_PPU  ?  b& S* r- y% j5 E0 x9 M( Q3 X
  529. JSR $CBC0
    8 v" A5 V, Y  K( d. q
  530. JSR RELIFE_NUMBER_P1_PPU1 |9 p) D( W* i) J
  531. JSR $CBC0
    ! b: k# d$ k$ a5 z( @! `
  532. JSR WEAPON_P1_PPU
    , i! {) [' Y+ r1 t6 ]. q  Z
  533. JSR $CBC0
    ' _; \: h5 g9 l% O* C6 @* h
  534. JSR BULLETPPU_P1_PPU" s/ V& L& V! b  o% _  z7 T
  535. JSR $CBC0, o: i4 K4 @  \& q5 Y
  536. RTS
    3 x9 U3 m' \' n
  537. : B) f! r" ^8 l; K, N- }7 J$ a
  538. P2_PPU:
    - L) ?* B7 e- D7 J+ F" m
  539. JSR PLAYER_02_PPU. D. P: r$ @- N0 Z% Y; r0 I
  540. JSR $CBC0
    # p8 y2 n* P6 q/ l7 @8 ^  _% U+ l
  541. JSR RELIFE_P2_PPU
    5 i& @% U4 g% m/ I
  542. JSR $CBC0* H$ Z6 e$ j- L! h- {3 N
  543. JSR RELIFE_NUMBER_P2_PPU
      I2 n: d6 d5 d7 j1 o
  544. JSR $CBC0  q& f# k' u3 h2 z- T
  545. JSR WEAPON_P2_PPU* V. O7 t( K+ S: H2 u
  546. JSR $CBC0! P% ~5 w4 P. i' ~. c
  547. JSR BULLETPPU_P2_PPU
    9 d7 _3 K# q/ y6 E
  548. JSR $CBC0
    ! j3 V/ _' L2 H1 K9 p6 |
  549. RTS
    9 s2 v$ [2 a, e9 w* d  t

  550. ; \: d: v$ P% c/ f$ v

  551. 7 x6 c/ x) k, M9 M1 f* ^. W/ M" J

  552. % l' C; f3 d3 b
  553. PLAYER_01_ADDR:0 m6 Q" D: F% r4 S% h
  554. .BYTE $20,$A3
      C1 {0 y# O  \* e- u7 d' y
  555. PLAYER_01_DATA:
    , |) u: c( E, n0 h
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    " s$ |: m7 c2 f6 U
  557. PLAYER_01_PPU:6 m& t/ q, }2 I+ J- H- a( h! D: ?
  558. LDX #$00" v3 L4 @( y  c) v$ |* Q6 x
  559. LDA PLAYER_01_ADDR
    ) X+ c$ y# c4 _/ s+ W; Q, ?
  560. STA $0703# \. A9 w, l& z' C; U! h
  561. INX! f1 z$ U9 D7 `0 Y6 Y# z( s$ Z
  562. LDA PLAYER_01_ADDR,X
    9 F9 F( A, g* {9 y: C" f
  563. STA $07046 D  u* A6 c" H' c' _
  564. JSR PPU_PROCESS6 ^. l( n1 C. L$ t- {9 A
  565. PLAYER_01_W:
    / m  e* ]$ |9 Z1 B  r+ C
  566. LDA PLAYER_01_DATA,X
    + Q" R/ ^' a" G' [5 K) }
  567. CMP #CEND/ {( C& a9 U' ^8 R- K
  568. BEQ PLAYER_01_START, e6 L( V& w& C2 r
  569. STA $0705,X4 [' r) O% F" c2 U6 l
  570. INX/ w7 {; @  f7 Z, O& `' J- W0 F
  571. LDA #$00
    # W- q& Y4 |4 z8 W6 ^- x
  572. BEQ PLAYER_01_W' T2 O# R% U& K2 V6 f) d" ?! N
  573. PLAYER_01_START:$ \1 [+ ?$ ]  Z8 y/ A8 K/ n# C
  574. JSR PPU_START; D! l& _$ Y8 p( f4 X' _; Y: T* n
  575. RTS/ `: J4 R7 w/ V2 `
  576. 1 Q/ [' w  ]7 X) J8 F3 R
  577. ; t$ K2 _( C0 A
  578. RELIFE_P1_ADDR:
    3 a. h9 C5 \! i
  579. .BYTE $20,$E3
    : n, R2 b& O* y  @/ B$ }6 S" K
  580. RELIFE_P1_DATA:3 \. u7 ^. y8 Z* W5 Q
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND- ], ~* ~/ l% `6 \5 \5 ?
  582. RELIFE_P1_PPU:% G# _: E+ \1 X1 p. M2 U- g2 v
  583. LDX #$00
    - O  F* a2 C! O
  584. LDA RELIFE_P1_ADDR
    ; K! F; p9 m" c$ N$ k  `
  585. STA $07032 P5 Q0 j# Y* C; M
  586. INX: Q1 w0 H% @/ H* u4 J
  587. LDA RELIFE_P1_ADDR,X8 P; I0 _" l) }' l
  588. STA $0704
    * g/ s# g2 G. ?) k; E  U) ?
  589. JSR PPU_PROCESS3 B3 m6 i$ p5 E6 R) s  o
  590. RELIFE_P1_W:/ J. W( f# U/ g9 D6 T3 \
  591. LDA RELIFE_P1_DATA,X1 T- m; n# o+ r* T5 h& Q2 B
  592. CMP #CEND
    - d8 B, o9 g$ z
  593. BEQ RELIFE_P1_START! U/ Y4 r4 `; c6 s" c4 }
  594. STA $0705,X
    + t( n) ^& c- \: ]. j
  595. INX
    0 b1 {. A1 Q" N5 h; i- f
  596. LDA #$007 C6 G' l2 `. z
  597. BEQ RELIFE_P1_W
    1 G! J* U4 K. E: w8 B2 F- V% m3 G
  598. RELIFE_P1_START:, C  h8 L; {% B8 {- e# e
  599. JSR PPU_START% g( S3 P, Q, x  |1 B& s: \
  600. RTS6 y7 V. |( F2 M- J
  601. 4 H$ l- ^6 Z9 A1 E; I" P

  602. $ T9 @/ ]6 g" {* P
  603. RELIFE_NUMBER_P1_ADDR:/ [/ W8 F4 h. `" |1 z
  604. .BYTE $20,$EA
    ; J! `7 F. F/ H- T! X; N$ f3 z
  605. RELIFE_NUMBER_P1_PPU:1 M( S5 E( x2 l9 b, T
  606. LDX #$00
    ! g4 }/ W1 L- r* }
  607. LDA RELIFE_NUMBER_P1_ADDR
    - g- q' a" ~4 w* u( k  R
  608. STA $0703; o8 C- t5 L) d3 B. h: t: j; s
  609. INX
    7 Q/ y# }4 _0 P( e
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    * z$ R$ @$ [- J6 P5 K
  611. STA $0704
    " v0 E9 }2 q1 d7 a4 d
  612. JSR PPU_PROCESS
    & w0 g; i! K; e; w
  613. LDA $32/ L8 w# v) F- {
  614. JSR LIFETODEC
    % c* W: t" P* x/ l/ i
  615. RELIFE_NUMBER_P1_W:( O3 b& x4 n, ^
  616. LDA $7A03
    ; D  s, n- ^! z8 T' a
  617. STA $0705+ O, c  L# b2 G& @) L
  618. INC $0705
    * q# I( |$ R* F! I! [
  619. LDA $7A04: h) w1 d% K* Y) |( q+ E% r8 N
  620. STA $07064 u, d9 m: v/ g2 I( Z4 U0 @
  621. INC $0706
    6 J, M7 h1 A! V9 S! K6 k. H" ^* X
  622. LDA $7A05; s: U# V" h3 n' d1 A: K
  623. STA $0707
    / R$ C4 n' ?  p$ K- _; {: c% n
  624. INC $0707
    / W% v& u1 Q+ D4 j
  625. LDX #$03# o# W) \- E( `5 P( p$ T
  626. RELIFE_NUMBER_P1_START:: W2 s$ H  o* A& G6 q
  627. JSR PPU_START6 J( \- v; ^, D0 t, I' W
  628. RTS. m: K7 h+ A0 N$ V+ V; n  ?2 Q( d

  629. / q. m& J" k: W
  630. WEAPON_P1_ADDR:2 e6 J; @4 B; l7 d7 z
  631. .BYTE $21,$234 X& h' _7 Y; n4 c" k8 }% O9 ]
  632. WEAPON_P1_DATA:$ W0 Z% `. h+ d; j
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND  `7 h/ f* q. a# M) X. s5 r6 s
  634. WEAPON_P1_PPU:
    1 H- Z( i% x# w+ @7 z
  635. LDX #$001 _8 T; _6 h- a
  636. LDA WEAPON_P1_ADDR
    3 D# p# T  f, p
  637. STA $07030 q% i$ B1 H3 K1 j. J3 Z
  638. INX
    8 d- w7 s7 C: G3 v4 `- S0 c
  639. LDA WEAPON_P1_ADDR,X5 C0 f1 Q3 @2 u5 g
  640. STA $07043 N7 u  ~2 L& W) e- f
  641. JSR PPU_PROCESS* Y! p- _; U# s% K7 I3 X
  642. WEAPON_P1_W:0 ^% L5 v: b& [  a! J* z" H
  643. LDA WEAPON_P1_DATA,X
    6 y0 G; `8 ~. u. u( |6 |8 I  N
  644. CMP #CEND5 l) q1 i1 C' k- o; {. \9 m2 ~
  645. BEQ WEAPON_P1_START$ w( W# g7 M' D' p
  646. STA $0705,X
    - L; Y( y, p. ^2 m
  647. INX
      n7 p/ D3 u2 p- W; f
  648. LDA #$00+ p# B2 |# W: M, J3 i$ T. G- c. c
  649. BEQ WEAPON_P1_W
    - c: Z4 @$ G2 V- u! `! N. c6 P
  650. WEAPON_P1_START:0 c; N9 a$ d9 A2 o! [( @
  651. JSR PPU_START' L. ]) Q- k/ l1 L+ P) A1 H
  652. RTS
    $ v8 \* s. C3 |, k! A! ~

  653. . ~( Y- u; [1 S6 ?# S/ o8 ~
  654. BULLET_P1_ADDR:1 Z0 Q2 h5 C9 x  |
  655. .BYTE $21,$2A" m: u8 n3 p) e4 t. W/ J
  656. BULLET_P1_DATA:
    2 F% x8 l/ l6 R
  657. .BYTE $00,$01,$02,$03,$04: ]1 N+ v+ T; f2 Y, T$ H
  658. BULLET_P1_NAME:' h4 K6 O! q8 R5 [2 e) w" A3 i- V
  659. .BYTE CN,CM,CF,CS,CL
    # u7 Q$ w! S) B' \9 K3 n+ F: L2 L+ N

  660. 6 y9 v: B, ^; t1 ~* P
  661. BULLETPPU_P1_PPU:+ t( k% }5 o9 F
  662. LDX #$00
    % K/ q1 {. P# |5 Y9 I4 u% g
  663. LDA BULLET_P1_ADDR# O/ s' f/ Z1 e- F2 L; p5 D$ N
  664. STA $0703- r$ ~* [8 b' s7 o( R; J
  665. INX2 q; h, Z# j% Q  T/ _
  666. LDA BULLET_P1_ADDR,X- z( F0 E* t( j# e: a7 Q# U
  667. STA $0704
    6 }" Q4 C3 R8 \
  668. JSR PPU_PROCESS/ t* X+ H- _! }8 Q$ Y
  669. BULLET_P1_WRITE:
    : x2 P, T, P- m  o, l! {
  670. LDX #$00
    6 o: ^, o0 D+ n0 ?7 b
  671. LDA $AA
    ) O3 ]" |8 n0 n' o( q5 `6 \0 x
  672. AND #$101 Z# ~9 e# Y8 I- X4 W! S% q, U% Y
  673. BEQ C_BULLET_P1: k) C5 J+ L4 H% p
  674. LDA #CS/ v5 R( p/ n  {" d3 k1 U; y
  675. STA $0705
    ) o) {. N# E. Q1 s/ E
  676. BNE B_NAME_P1. ?! ]8 E6 `( H+ d0 a" G
  677. C_BULLET_P1:. W/ ?' W1 _6 S+ V& m0 m
  678. LDA #CC
    + D8 f) N5 b' @' I$ ^$ L
  679. STA $0705
    * I4 V% m  ]4 t5 W" x9 X
  680. B_NAME_P1:& }* d9 N) c  M% h- ?
  681. LDA $AA
    ( I  U  d" O- `) U+ V
  682. AND #$0F. l& d. E+ t( @$ w. X
  683. CMP BULLET_P1_DATA,X
    % e4 R- S3 F+ M  y6 J
  684. BNE B_NAME_P1_RECMP
    : `6 l3 F7 H; d% O; I
  685. LDA BULLET_P1_NAME,X& Z' x8 j- o+ C- e9 P
  686. STA $07060 f9 i; D' m$ U, N: ^0 o* G9 B
  687. B_NAME_P1_RECMP! i/ p! Q* f( a3 D8 Q* O4 G" s. ^
  688. INX- c3 F/ E3 F7 m( r0 W  u  H
  689. CPX #$05
    7 v6 f7 U) |* k* ^1 K( O
  690. BCC B_NAME_P1" P, n- f8 _% z$ K; L' B5 _
  691. LDX #$02. d: H4 E% O' W" Y1 f3 J8 Q
  692. JSR PPU_START
    ; [3 K) ]2 r3 d6 @& w  @( e
  693. RTS
    # c$ l7 W$ [' d( O. B

  694.   F8 B* I& D9 u' {' V& f
  695. $ H/ a! T% D# D8 o* X2 Y# U( I
  696. PLAYER_02_ADDR:  ?- H6 R' j2 C3 F
  697. .BYTE $20,$B33 p- e$ d6 t! s' Z9 a
  698. PLAYER_02_DATA:" }7 N5 p: K6 {+ i5 X. a
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    9 U" T9 K# i- |1 @3 ~
  700. PLAYER_02_PPU:
    / Q. Y4 k9 L2 U/ e5 X& @, M7 z1 l
  701. LDX #$00
    ) i$ D/ m/ O; V8 e
  702. LDA PLAYER_02_ADDR+ h6 @( p* r' r
  703. STA $0703. O3 V) T) [. \: h3 r" m0 m1 x& ^
  704. INX
    : k- L  d6 J/ l; e; q
  705. LDA PLAYER_02_ADDR,X6 f, Z& V1 ]) u5 m, c
  706. STA $0704& @& g$ F8 w4 z0 E& f$ X% }
  707. JSR PPU_PROCESS
    % z- t! Q7 d2 g2 X9 M) d
  708. PLAYER_02_W:% [: y# E2 \2 P
  709. LDA PLAYER_02_DATA,X& h$ F! r, L! q% ]
  710. CMP #CEND
    * C, N% G, V0 I: r
  711. BEQ PLAYER_02_START
    3 Q. Z! U1 |3 ]: [6 x2 U
  712. STA $0705,X* b- Y3 P' {" q5 [. E$ n
  713. INX
    $ X# X: W) `# b! ~5 M
  714. LDA #$00
    ) @7 y) @1 \8 q9 t: q, ]
  715. BEQ PLAYER_02_W$ }  E& Q7 Z" r# C4 F
  716. PLAYER_02_START:
    + ]$ O- E( O2 Y6 ~. j2 k  p( S& ?
  717. JSR PPU_START
    ' `) N% d. L/ h4 |: ^; t
  718. RTS  d  \( X  |. v* d

  719. & H" v% g* _6 D

  720. 9 I: |) n* I) y) O9 o+ `
  721. RELIFE_P2_ADDR:
    ' x6 y' ?# N6 |. |' z3 Y, Y
  722. .BYTE $20,$F3( K/ o; }1 `$ Q2 P% {
  723. RELIFE_P2_DATA:
    1 ]: }1 y, T3 K2 @1 E
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    . W: `5 l5 T; ^# `, d
  725. RELIFE_P2_PPU:
    ) V) _8 l& H0 Q9 ~) u
  726. LDX #$00' f4 E. |7 I+ Y+ C- ^6 s
  727. LDA RELIFE_P2_ADDR0 }" u  s8 f# f
  728. STA $0703# P$ f) T2 G( D
  729. INX
    3 G. n* j3 |9 D' U* d
  730. LDA RELIFE_P2_ADDR,X3 P; L! [. }; s; o& e" e1 r
  731. STA $0704
    3 G4 a# L$ q" I2 s6 l9 _5 Q4 }
  732. JSR PPU_PROCESS# b4 l3 k! p0 q& @8 |$ a, a
  733. RELIFE_P2_W:
    + q4 h% D2 }, H1 t. c1 t  r
  734. LDA RELIFE_P2_DATA,X
    % t3 }7 N! I. i* r
  735. CMP #CEND/ k% F5 L0 k# p" h0 a( |7 }
  736. BEQ RELIFE_P2_START( h+ v5 P- Y& p8 w8 J2 l
  737. STA $0705,X
    3 Q: U. h5 l9 f# B$ C
  738. INX
    ! s* D+ h" w7 M: |' @3 R
  739. LDA #$004 F- l! M* t+ Z
  740. BEQ RELIFE_P2_W
    6 {% i+ X# g5 f6 U* A; f
  741. RELIFE_P2_START:
    0 G+ \' q/ V" c, R7 Y+ a
  742. JSR PPU_START
      N3 D0 F# Q5 s3 y+ @
  743. RTS
    / Z2 f4 k1 r) p
  744. ( t) F3 x. z; @4 n3 V# ^: P& L

  745. $ N- R& Z. v, j6 ?% W
  746. RELIFE_NUMBER_P2_ADDR:
    ' Z; n8 {$ s* q' s& o+ D
  747. .BYTE $20,$FA! y; Z% D* j. l# ]6 y2 O: q. J
  748. RELIFE_NUMBER_P2_PPU:
    & _4 }' z) p" ]# W
  749. LDX #$00
    7 i; |5 r1 b$ _6 x: ?
  750. LDA RELIFE_NUMBER_P2_ADDR
    ) P6 X; X# m$ H! ]1 _8 [  f
  751. STA $0703) z8 O: d0 E" X8 e% a) S" J. x
  752. INX
    6 @1 w- m0 Z8 P3 m  g# }
  753. LDA RELIFE_NUMBER_P2_ADDR,X5 E9 V/ G5 Z( P: L# T% ~  s3 u
  754. STA $0704& R( j) t! Q) \8 M+ y% g
  755. JSR PPU_PROCESS
    + W! C- Y5 N7 l% X, x9 M
  756. LDA $33& a  a/ i) F$ U% w* i8 t6 p
  757. JSR LIFETODEC
    2 U1 R5 ]0 E- ^* N/ t
  758. RELIFE_NUMBER_P2_W:
    + _6 `/ y0 x* T- _6 `+ q5 s
  759. LDA $7A034 L0 c6 f6 ~, Y" S) A. M4 D, N
  760. STA $07052 u& ~% I( i6 d( s8 c7 r9 T# L( F
  761. INC $0705( j+ v/ {$ G2 R0 P9 ]% M
  762. LDA $7A04
    0 D" [# \+ |* R0 b9 s  P
  763. STA $0706
    + U; d; x, I5 y$ ]4 G. ~2 ^8 g
  764. INC $0706
    2 u! W8 s+ ]4 ~- Z. q* P- N% m9 U
  765. LDA $7A058 ~" f1 c5 J* m+ Z
  766. STA $07076 T1 ~1 O4 ]" V- s
  767. INC $0707
    ! }2 {) L, F4 _: C4 d, \0 t7 L
  768. LDX #$03
    9 g3 s/ c) l  N  a: D0 H0 k
  769. RELIFE_NUMBER_P2_START:
    9 Q" Y" K: N* C
  770. JSR PPU_START
    ( M, ~3 @- D: t3 _& T. q5 \7 O
  771. RTS: ]: O% A3 T: R! G: f
  772. 0 J) x8 ^$ C& m7 Z
  773. WEAPON_P2_ADDR:$ M3 |! U& X$ C
  774. .BYTE $21,$33
    0 S8 C  h, A: G# y
  775. WEAPON_P2_DATA:
    ) E! d0 w# b/ r0 n  H7 N4 |2 f
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    $ E- V: C3 T/ d0 V9 E" z0 M: z1 h
  777. WEAPON_P2_PPU:
    ) j3 z$ y5 E' @. _
  778. LDX #$00
    / \: j. v/ |: `0 L
  779. LDA WEAPON_P2_ADDR
    ! J6 S) v, ^9 ]$ L' _
  780. STA $0703
    6 m- N0 B% i( P# L" S) O8 I5 ^
  781. INX
    * r+ y8 u; P3 w9 p8 q' o
  782. LDA WEAPON_P2_ADDR,X# `4 S1 H8 u' I# L" _1 g
  783. STA $0704
    $ L# [0 G! A: X$ F9 Q( k
  784. JSR PPU_PROCESS2 g  d' k6 }0 u9 }  s
  785. WEAPON_P2_W:
    * `1 N  ^( H: |  ?2 j
  786. LDA WEAPON_P2_DATA,X
    ' h: |4 N3 X: F
  787. CMP #CEND2 w$ G! b% X: Z6 X
  788. BEQ WEAPON_P2_START
    5 r, X2 d% {* w; j5 w( y: W+ ]
  789. STA $0705,X/ k* H! M( C  \* j' l9 j
  790. INX: _; i: r5 l" U/ O0 G4 @: B
  791. LDA #$00
    1 h$ ]) o& u" y+ X  v
  792. BEQ WEAPON_P2_W
      n% ^. A1 p& s4 I/ a( \7 S* o( o
  793. WEAPON_P2_START:
    5 X8 n+ i2 d9 g/ U5 b5 L7 I
  794. JSR PPU_START6 t1 a7 J  |( O2 M3 @
  795. RTS. L8 r; [" Q/ E* a' f, a& |

  796. 4 |0 w. s, j+ Q2 v
  797. BULLET_P2_ADDR:
    8 t# T7 x5 f, Y  N
  798. .BYTE $21,$3A3 `: W- [" `$ Q1 v3 d; U
  799. BULLET_P2_DATA:" y& e. M( l% L' R/ g* c9 \. e
  800. .BYTE $00,$01,$02,$03,$04
    " E1 H2 i9 z- q2 v1 ~0 R+ l
  801. BULLET_P2_NAME:
    " Y4 T' _! Z3 R' M
  802. .BYTE CN,CM,CF,CS,CL6 ]0 ?( x! Z+ \  t, G
  803. 9 v, f3 k( O' ?/ G# V9 t
  804. BULLETPPU_P2_PPU:- w3 R* e- ?+ `3 J8 d0 j
  805. LDX #$00
    ( T3 ]# W, {! f( O* l9 _8 f. u
  806. LDA BULLET_P2_ADDR' h' e5 E& v: A; E; T
  807. STA $0703
    0 k% n% T7 w8 \  ^* d; K
  808. INX
    + ~+ e, a5 H1 ]; [' `; S6 M7 u) \0 W
  809. LDA BULLET_P2_ADDR,X
    # R9 g7 y4 y1 ?# a
  810. STA $0704
    7 _' e( @6 P2 t& F
  811. JSR PPU_PROCESS
    * l  k! f0 ?: \$ J
  812. BULLET_P2_WRITE:) C- F: A6 M' I7 k# o0 [. O3 Q
  813. LDX #$00' o) f1 c0 @$ N+ \; v) M
  814. LDA $AA
    * p( _" }! B1 _) H8 c+ x
  815. AND #$10
    ; p* ]  ~* ?1 [6 B$ ^4 ~! m8 _
  816. BEQ C_BULLET_P2& U( g8 _2 @) {" u4 b1 _# |
  817. LDA #CS7 t5 d- s& Y; f: P' R( K! L
  818. STA $0705
    : `6 |6 ~$ l- h+ l  |
  819. BNE B_NAME_P25 s" m, h$ I/ p7 T$ f
  820. C_BULLET_P2:4 R' W' O! }  Q( S
  821. LDA #CC
    ' T. R, k& D5 b
  822. STA $0705" i! s2 U- I' ~& Z
  823. B_NAME_P2:
    4 d7 G. N1 p6 ^# r# t# Z2 z
  824. LDA $AB
    3 I, D$ p! Z! o1 D. V5 p' ^
  825. AND #$0F  {$ L0 P+ \0 v5 J  K. j
  826. CMP BULLET_P2_DATA,X
    $ _6 O  E: I# v2 L
  827. BNE B_NAME_P2_RECMP: t. t9 i8 k& J  {5 D
  828. LDA BULLET_P2_NAME,X- V5 w3 E/ J0 D: l
  829. STA $0706$ u3 k* U) U) I
  830. B_NAME_P2_RECMP
    & ?/ |  p" f: Y6 z# O1 q) _8 H' \
  831. INX6 o/ C. G1 M5 Q) Y# R
  832. CPX #$05" b& p3 `5 o6 `9 H2 Y
  833. BCC B_NAME_P2+ l$ J! n' |3 @6 m. o6 [, j* p
  834. LDX #$02/ N$ t' M$ u! N' X) Q# t* t4 I
  835. JSR PPU_START( T/ x) V; b* F9 w% i5 c
  836. RTS
    3 P! S& ^; b- q( B& }$ [5 G$ [
  837. & `" \0 e' ]* R9 A) o. x% x
  838. , T+ Y- ?1 \! b% r2 ?1 V- l* l$ G+ _
  839. 6 B, e6 @, O" `1 d
  840. 4 a  h9 D1 j$ L7 X9 \7 e
  841. " K% N/ E. i, r# S
  842. ' a5 a  ?9 G9 l/ o' {! a/ x; F
  843. LIFETODEC:                ;十进制转换4 I( B9 t8 P7 @' w0 U
  844. LIFEL1:        ;initialise
    $ |% x  W9 D2 j. g: m* S
  845. STA $7A00        ;$7A00=F37 `- A  R- c, F- d( y1 f9 p
  846. LDA #$00) ~" \3 Q# d( \7 M! C$ s
  847. STA $7A03        ;$7A03=00. F+ r" N$ u6 H3 y" x
  848. STA $7A04        ;$7A04=00, w2 g  R. O- {; l$ [
  849. STA $7A05        ;$7A05=00
    0 d! b8 \0 t7 t; g. a7 O
  850. LIFEL2:        ;copy data $7A00 to 60011 L! q" I, L9 g' q' ~* n
  851. LDA $7A00. ~* i& ?' v$ E7 _
  852. STA $7A011 M5 N  [/ n8 o5 S) P8 u! u6 I
  853. , V: y" M4 H0 ]1 v( o# j7 I9 u
  854. LIFEL3:         ;hundred
    ) I9 ?: u( `- {
  855. LDA $7A01
    % l& K3 N- l8 p5 s4 t# p
  856. CMP #$64
    - @  G7 |, `" N8 I1 S/ _& ~* N& K
  857. BCC LIFEL6                ;$7A01<100 goto L6
    : S6 t" E- Z5 k/ ]
  858. LIFEL4:. }* H; M) D) ?
  859. LDA $7A015 S: i0 X/ G. v( i, o- f
  860. SEC/ n! T( e& u) s/ S
  861. SBC #$64        ;$7A01=$7A01-100
    , t5 I. X/ n8 l/ O4 `+ L
  862. STA $7A010 x3 q8 A! F3 H
  863. INC $7A03        ;hundred++6 S  z9 f0 V& Q3 ]6 N) M
  864. LIFEL5:
    7 \( l3 \) M$ L  P
  865. LDA $7A01
    : ^& u! _. X/ I. g
  866. CMP #$64# h  D( I2 a# L2 g5 d* i4 R5 k6 K
  867. BCS LIFEL4                ;$7A01>100 goto L4
    " `7 g( @" J* U) P2 q

  868. 7 d5 z/ p( S. K" t6 S
  869. LIFEL6:        ;decade3 c- t4 J' m2 c8 `
  870. LDA $7A01
    , M) B* o' z$ I+ f0 r, G0 L
  871. CMP #$0A
    4 @' U+ y8 n7 \* J$ h+ u
  872. BCC LIFEL9                ;$7A01<10 goto L9$ H4 q9 e; {& O0 @% C/ O/ f
  873. LIFEL7:        8 E* {- H9 F$ ^" V8 @
  874. LDA $7A01
    1 p. o$ e( v' S
  875. SEC9 l, g6 s( m, k4 \) B; \
  876. SBC #$0A" J& l5 `5 b" e8 l' f
  877. STA $7A01        ;$7A01=$7A01-108 ]% B) H8 u1 K- r
  878. INC $7A04        ;decade++# H/ `6 K/ N6 x8 A9 h0 `4 S
  879. LIFEL8:
    ) O4 h' T9 {4 [
  880. LDA $7A01# S7 W1 E( d1 }/ {& k
  881. CMP #$0A
    ( w7 b; Y& R# Z; R  s5 ?+ F& k* X8 V
  882. BCS LIFEL7                ;$7A01>10 goto L7/ b( G, {' F$ k) u
  883. ;unit
    , X3 `1 o6 \. u# n+ Q& v! \3 V6 ]
  884. LIFEL9:1 a7 b6 r& n# P: g1 ?
  885. LDA $7A01        ;$7A05=$7A010 w4 y! W, \  W  L
  886. STA $7A05        ;unit
    $ W8 q& A/ C" k; Q- v
  887. RTS        ;return0 [1 z8 y. S, w/ H+ L+ x

  888. . z( A  }. F* J

  889. 6 s* I9 x- ~+ Q
  890. + G6 n1 r1 A8 F$ ~& t# D
  891. PPU_PROCESS: ;PPU地址处理程序
    ( Z8 }' p( u( U
  892. LDX #$00( k6 z$ F9 B% v+ J! |% F) X
  893. LDA $FF
    9 a. g, C5 x$ t3 w* f
  894. AND #$01
    4 [' |% f( a0 M" n- L
  895. BNE PPU_2400_27C0
    0 _+ ], A9 {& @, d1 [3 N
  896. PPU_2000_23C0: ;命名表1' g  H8 C; D7 {
  897. LDA $0703( E* ^$ b9 Y% b) B, G+ W* Y
  898. AND #$FB& i9 l+ m0 L9 X
  899. STA $0703
    7 q3 W) ~( Q( b5 i7 {! Z+ K  S* B0 c
  900. RTS
    $ a* L0 f) {  g4 r+ B2 t
  901. PPU_2400_27C0: ;命名表2
    7 U1 K7 n/ ]/ c' L
  902. LDA $0703
    # r  l  H. ?" l9 k
  903. ORA #$04
    , r8 f2 E5 J! @: m
  904. STA $0703( P& ?  s2 ?1 ?" S$ I6 q4 |  P
  905. RTS
    ! N2 {4 Z* V4 H( F7 h8 ]
  906. + g4 n- I, L: J# i, ]
  907. PPU_START:  ;PPU数据写入# C2 G6 R% }* F' b6 U! S, g2 S
  908. STA $21
    ; n  J1 P- N7 v- a+ K
  909. STX $0701" w0 i3 {; C7 D' J2 u
  910. LDA #$005 d1 q; u: _; k9 h( I( x, N* Q
  911. STA $0705,X) H5 N) e! |; y7 O7 C
  912. LDA #$01
    * y( ^: F; Q7 [
  913. STA $0700
    ) `3 {: M9 c; f/ X/ }
  914. STA $0702
    8 u2 p" _) A6 f2 w5 j, \
  915. RTS# u4 G: f, D0 M  }9 g. W
  916. , [9 j& a9 ^0 D8 S
  917. " U) m, \% B8 n
  918. % ^6 F6 `2 S2 L  B
  919. ! [" N. b$ i9 `& l
  920. 8 ]6 G* E% \0 p, j* {. l
  921. + j# [7 L, T0 i, w* P
复制代码

$ X2 ~8 P9 [3 K& b0 V

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!- O) H. K0 n% [: k4 Q1 x) k! P
回复

使用道具 举报

签到天数: 2570 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

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

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-26 17:17

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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