EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    3 l  e/ X6 z% |" \; E. N8 ^3 b  S
  2. 作者:FlameCyclone
    ' F2 A; |% G- X  ^
  3. 时间:2017.2.12
    5 |6 ?' j4 c% t/ L+ j

  4. : k7 }% A5 |1 X/ w! F
  5. 按键跳转:
    9 ?8 \- P, p  s# M7 b* R
  6.         C1EF:95 F5 94 F1
    - y( K) L3 N# s0 i. e2 v7 o
  7.         C1EF:20 70 FB EA) k7 a4 e; A. d  @: i/ z3 R

  8. - I, Z, ?" {& T2 f; `/ f: M
  9. 滚动偏移:/ {9 \/ v% q8 D# T
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    + l; G8 R& B) b' [0 b/ B2 `
  11.         F936:20 C0 FB EA EA EA EA EA EA EA' `4 U  F; v0 J7 P

  12. $ m9 h; N( u0 e9 x; K1 b- T
  13. 背景调色板:
    ' b9 K( F/ @: u2 I5 V' ]3 J
  14.         CF20:9D C0 07
    * q( v& ^1 f: Y
  15.         CF20:20 A0 FB& s6 ^6 |" l) J$ ?* L/ _

  16. 8 `. {5 `9 n9 j5 O: z2 |
  17. PPU BANK号:4 i1 V/ h) y0 x5 q& \
  18.         C8C9:9D F4 07
    + _( N2 H2 Q5 g( d# n
  19.         C8C9:20 B0 FB
    9 z( b) L) Q$ s/ c( k! W0 U
  20. ( ^6 q+ U. m5 g" ~9 g4 Z, y* ?
  21. 按键跳转:
    6 F* d9 [6 j+ H
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20. ?% E8 _8 D( m) Z9 A& T
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20. c/ w2 H; y  z' T% K. R1 x% {0 V
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF; m) k. u( |" K' \' H% E& G3 d$ p

  25. $ o2 O0 U9 t# W- v7 I  N
  26. 背景调色板:! b# [1 k5 u6 Q7 ]+ z' n
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    5 w4 Q$ @. I6 y* U. U' ~7 d

  28. + M0 `4 ^0 H/ G& U
  29. PPU BANK号:
    ; v/ f& ?, }% _/ r
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF; u6 x: y6 u  n9 I( B' a7 c

  31. " l9 Q* y$ P& D& _
  32. 滚动偏移:1 k, a$ z& F( t$ T3 y
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60+ |3 v; t0 W6 U" v2 D$ E
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF& N1 S& P6 u* B' E) C( R- ]

  35. & _( L/ n& G3 i1 E

  36. 8 E5 X: Y+ d& P7 s& b- P
  37. 切BANK后A000:% p2 T% H# ]' T7 |+ E
  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
    $ \( q% [" c. k" t5 `9 W( ^

  39. . V9 T( s! |* n/ l6 E( C. l' n

  40. ) H  I6 f+ ^5 H
  41. 6502 simulator:; j6 e1 g0 X1 b* T) c. l. m
  42. PPU写入程序:
    4 w7 H  n% J# |, f3 u
  43. .ORG $A000
    7 P8 v5 k9 {' B
  44. CSP = $80
    + [! k& y9 Z( F* v$ S8 z
  45. C0 = $81
    . x; G$ ~0 x* K+ p+ r6 P/ s. r5 }
  46. C1 = $82
    " |3 I0 y8 h% v2 x8 k) ?, S
  47. C2 = $83
    0 \  m8 p7 i9 I+ z% r5 F
  48. C3 = $849 F. l" a/ I2 K1 T4 k2 Y/ B
  49. C4 = $85- s+ i8 P: o* b# k) M
  50. C5 = $864 s. V( |, R' `! w% H, |
  51. C6 = $87
    4 Z3 ^6 B9 a, R: z+ ^8 N1 r0 D
  52. C7 = $88
    & s2 A; w$ g; X4 e
  53. C8 = $893 K) \3 z6 b: s5 c5 b/ U) u
  54. C9 = $8A+ R# x; X* k2 M
  55. CA = $8B7 c! D9 F  X0 V8 N9 a% F3 P
  56. CB = $8C
    % @( o3 \6 A% `  j7 p. [
  57. CC = $8D
    ) N* u2 T9 A9 W! d+ T
  58. CD = $8E
    " |4 m& l" S2 V$ i
  59. CE = $8F8 P1 B! ^" G% m1 W1 Z6 r
  60. CF = $90" q1 d2 h. a% I% s3 U, |5 t4 D
  61. CG = $913 Z8 B! n0 @' W0 ]2 U
  62. CH = $92
      ]$ B- S- h% ?- |
  63. CI = $932 L! P8 `* j. b- Y# `0 H2 }1 z
  64. CJ = $94
    1 X4 R0 O; k6 Y, M: U+ U, Y
  65. CK = $95! j; Q: ^5 `1 H# A+ H4 t
  66. CL = $96
    , n7 m2 k; I0 h# N) U6 e- W* g
  67. CM = $97# t5 X$ K$ b5 v7 W3 ]& E' P& c/ w
  68. CN = $98* Z8 W2 o/ O: g2 b* N
  69. CO = $99
    8 Q9 d0 J( e$ h+ l2 G$ X  B
  70. CP = $9A
    8 X8 ]2 n6 P- R7 ]
  71. CQ = $9B
    2 q3 Y9 d# t1 a8 X$ P
  72. CR = $9C( W5 i8 n  r, s. r! c
  73. CS = $9D2 d  ~& b8 `1 d5 ?+ M
  74. CT = $9E
    . t8 r+ z9 q; w* ^; C
  75. CU = $9F
    2 a4 t3 V* u  U8 \2 B
  76. CV = $A08 z8 S) v4 i* ~$ J' V$ ?
  77. CW = $A11 G) e4 f3 k$ H7 C, H. C+ d
  78. CX = $A2
    2 ?0 r0 l  o7 t: A' V& I
  79. CY = $A3
    1 I% f$ _( K/ O" u5 n
  80. CZ = $A4$ F& ?% r/ a6 n  ~% Y) l
  81. CEND = $FF9 y' B  D/ O: {4 t6 e" A' P0 M

  82. # J1 s) v# O. r4 K

  83. 9 {$ V3 ~( d% Y2 @5 t/ o/ ^
  84. CMP_RE:
    / y% b8 D' o2 {; Q
  85. LDA $FF, ]! f2 T: ]) X, i4 z$ {
  86. AND #$7F1 f4 u! x9 E  ~3 H
  87. STA $2000) Z3 K0 B8 p& K$ N0 y5 `) W* h0 `
  88. LDA $20029 H' u' q% s' K: P- {
  89. LDA $250 U9 E" S+ O% L1 i" e9 }$ r
  90. CMP #$01
    ( t2 J( u4 ^% w; A6 \) D  n
  91. BNE PROREG
    2 W8 i' i5 T9 a
  92. LDA $F5,X
    % n9 s' y+ t! r' E
  93. AND #$CF: E7 h2 \5 \- J4 j! V2 I' H
  94. BEQ PROREG3 m- @& ~; g: F5 ^# b6 V7 n
  95. JSR PPU_CMP0 R, a5 F* o+ N% S4 _
  96. C_RE:
    0 i7 m0 U. R# {1 Y6 z: U
  97. RTS; Y- R" ^4 I# }  i7 {
  98. PROREG:$ Y: @) Y" f* Z0 O' R8 V1 S" s: Q
  99. PHA6 F# Q* Y' D" x- ^  K: E$ M
  100. TXA
    ) b8 S; r/ r9 _' E- J
  101. PHA  a! R5 m5 {# `* ]
  102. TYA* q- v3 u3 w' F" o
  103. PHA
    $ x0 D- o$ N6 e& O1 h+ Z
  104. LDA $251 Z, N6 C- B% d7 R& n& o
  105. CMP #$01  E* n3 h1 d6 G. ?. A1 [
  106. BNE RE
    % l! d( ~( x( u$ d
  107. LDA $010A" x- x5 w% m( H. U) e
  108. CMP #$00
    " y1 T8 K- _8 V3 `9 E
  109. BEQ P1
    ' g) x9 ?& H2 V1 I
  110. - X  J5 k3 D+ ~+ n+ j
  111. RE:; C4 E+ d3 S+ {4 u
  112. JMP PPUWRITE0 e% o! D0 f& w& h
  113. 9 O& z" _: O) C+ y
  114. P1:                ; 条件判断
    - [1 \) O& Q6 b
  115. LDA $7FFF
    / t( b0 {6 E0 J- D: q8 b
  116. CMP #$FF: b6 _% w( x- A* i4 w5 E
  117. BNE P1RP4 \9 w7 c+ h8 x
  118. LDA $7FA0
      g" Q9 d, \6 F2 v% k1 `
  119. CMP #$00
    " z. F. ?* ~8 J) d; I8 a3 c  e
  120. BNE P1CMP
    & e$ C$ _8 B+ |5 p  p0 h$ E
  121. LDA #$FF/ U( K3 ]# E5 C. ]4 v( R7 K
  122. STA $7FA0" D) b7 ~, O% B  P
  123. JSR CLEANA
    : ]/ a/ u1 y8 I
  124. JMP PPUWRITE: f1 V: N# i7 |9 i: K& {3 j' f# e
  125. P1CMP:
    1 c  a0 |6 k7 _! @3 d0 z, r
  126. LDA $7FFF: R* \( V; y, n( t
  127. CMP #$00
    , J* ?& G+ a0 |" v# B# b
  128. BNE RE
    7 t/ M/ E. M! l/ _+ I7 ]5 u
  129. P1RP:
    / m- F( y3 M/ R! N
  130. LDA $2002
    * s. R0 J3 |' z2 P- N
  131. LDA #$00
    $ y( ?( a: ]: Y% }1 i5 u  [
  132. STA $2001
    , N, c9 i! L+ I
  133. LDX #$00
    . f% B4 R3 p! X" Q1 ?
  134. LDA #$FF0 F. z& u" H: P( ~; H
  135. STA $7FFF2 |7 j9 [. p" p6 O9 f8 r
  136. STA $7FA0
    * z" w0 {3 g; P1 \# [9 m; x
  137. JSR COPYPPU) J/ C2 `. E: x2 {
  138. PIRP2:
      Q( J2 M  D4 t3 w! t6 d
  139. JSR CLEANA
    * G; _& R1 p4 ^$ `4 v  f: W
  140. JMP PPUWRITE* g, T% U$ ?/ Q/ `; k& I! f. i  |+ H3 j
  141. . k4 z8 l" m: ^
  142. COPYPPU:. ?0 H7 E, T+ Z7 O  o
  143. LDA $FE2 h+ d. a# a* Z* u' y
  144. STA $7F50
    5 U5 v0 m7 {4 v$ q* |8 k" w
  145. LDA #$088 s! E2 D, |& \1 R" I- G. h" f
  146. STA $FE
    % ]; `! e" v: C. k4 ?7 e' v' y" M4 X4 J
  147. L0:) K( }3 ^* S: d1 [% a0 M& c
  148. LDX #$00
      N2 {* Z" s: D! K
  149. COPY_07C0_07DF:8 q: E" i* W$ N5 G0 N% T9 Q
  150. LDA $07C0,X
    2 C* D8 F/ {% |  e( Q7 B- W" p" a- n9 `
  151. STA $7F00,X
    ' t' R# {$ e9 W
  152. INX
    6 M# h0 g7 a! Y% M; u2 E
  153. CPX #$40
    % }0 l' h& ]6 r! c% h. \8 v
  154. BCC COPY_07C0_07DF
    + G, o- M7 s& j2 v0 W% f7 z& X+ t3 `2 h
  155. LDX #$00
    # f; p% W  U, f; z
  156. PPU_07F4_07F7:, B. q0 n2 [; X: g
  157. LDA #$00
    . K- [) J; U! [% Q' \% E& i' a, |
  158. STA $07F4,X
    3 E8 H, q2 i  r& q" ^; h
  159. INX
    ) ~& w& P+ E2 K" ^$ k
  160. CPX #$04% U2 s" y% W& Y; b4 ~
  161. BCC PPU_07F4_07F7
    ' B1 c% a+ r4 [/ s- u
  162. LDX #$00
    % h/ E* G2 l* X* f- |" b; Q
  163. COLOR:7 G; Q) i  S' e4 I4 B2 y+ a. _
  164. LDA COLOR_DATA,X
    1 D+ D5 M4 S; h. G$ }$ j# T
  165. STA $07C0,X0 O4 }5 Y3 E2 F! o
  166. INX
    8 ~- X) n$ `4 A5 k4 D3 B8 S
  167. CPX #$10# K9 o4 n, ]3 x
  168. BCC COLOR6 w  r6 Q: Y4 i5 K

  169. 5 ]8 g5 q6 I) R0 L5 j1 t# r0 w8 q
  170. PPU_COLOR:
    ( J: u* i: T6 t" m- a/ _
  171. LDA #$3F; j( t# r' A, X& b1 t3 a
  172. STA $20066 ~7 i& [/ s" v% G5 p, H- v
  173. LDA #$00) d: m$ t; W+ g& @2 k' Z! A" g
  174. STA $2006
    8 d, ^+ n3 E, T0 ?* P9 Z% H8 p
  175. LDX #$00
    : G. i6 _. @7 D8 M4 k
  176. PPU_COLOR_W:
    ' E8 Y3 y/ A/ y9 I  J
  177. LDA COLOR_DATA,X
    0 k; F# \. Y$ Q: d' C0 }
  178. STA $2007+ `3 ]( B8 k  u3 D( Z0 \
  179. INX
    + J1 L+ d. \6 K9 j! u5 s& R
  180. CPX #$10
    2 a& j( n8 [% e5 k. i
  181. BCC PPU_COLOR_W$ o+ Q; c4 P" }' S

  182. " B9 T! Z8 [: K+ T* S+ k  x

  183. : u) e6 z* g7 c$ ]6 E
  184. LDX #$00
    4 Q) X: d. F% p9 k; r+ n# Z( E  _( v
  185. LDY #$00' y& ~$ S/ Y2 d7 x0 I
  186. LDA $BD
    9 B* I, g; `- X1 l% H- D% N
  187. PHA
    8 n" R2 }/ F. c5 `. r
  188. LDA $BC
    1 C/ U5 s, o" C: E/ v+ m
  189. PHA7 v, Z& p: F& [3 T- I. x
  190. LDA $BB- ?& j. d# Y) L# ?4 A. U
  191. PHA
    5 y: K8 z- Q, [  `& H/ v
  192. LDA $BA* X# W5 {, ?+ ?
  193. PHA. A# E  ]; r; l
  194. LDA $B9% ?6 }6 t: L# \& p8 I, ^  [
  195. PHA6 \# B" D* K( V* q/ o
  196. LDA $B8/ o. ]7 M* @  y9 n" f/ B' Q; |% G  v
  197. PHA# [' o, m6 \% m* j/ E
  198. LDA #$00
    ; `* L0 b& p8 ^6 ]) L
  199. STA $B8! K6 h. o4 k* M& ~( @
  200. STA $B9
    + d( }# s  o" S, x. O+ g) ~; @
  201. STA $BA, l( T; r" z2 ~% O9 V! u
  202. STA $BB
    $ {7 g! C3 b0 j7 p" K; C) j
  203. STA $BC$ f! ]; r1 Z- _# l0 @
  204. STA $BD
    " P' R) O# a& O4 ^' A
  205. LDA #$009 H4 ^* M$ d0 r0 V2 V
  206. STA $BA2 Q. s) C/ }. `! W3 m/ f5 O
  207. LDA #$20
    : j& {# E! R% O7 ], S; K
  208. STA $BB
    ) L( P  a! x( Q4 k+ L7 U* ?
  209. LDA #$00% j( B6 E) q! f5 P& e" x  n4 L5 y
  210. STA $BC
    1 b3 ?8 _5 ~/ a4 b: h+ v
  211. LDA #$60
    " a+ [. g6 {* B& v( V% h
  212. STA $BD$ ?" S5 a8 f0 D) G/ a+ h2 q4 M
  213. , U, u( f$ p( N, o
  214. L1:                ; PPU复制
    * I) R' j- G" O) |& y
  215. LDA $BB
    ' u) o; o0 b, Y
  216. CMP #$28
    : H8 e. {1 f$ f
  217. BNE L2
      e' y8 o$ I( A# e
  218. LDA $BA
    - P/ ?  H- o) c2 ]& Q
  219. CMP #$00# f+ c- z) u9 e" R! p$ \- q; p
  220. BEQ PROADPLA
    - D/ Z' l, S6 V2 v( {2 n
  221. " L& B. Q# g7 [# F, a* Z
  222. L2:7 y* i9 Y  @0 M+ {# N, t- P  E& E
  223. LDA $BB2 k( K6 y( z$ n( S4 U
  224. STA $2006( O' `1 i( f; K; T: k  L4 y; v' v
  225. LDA $BA8 |. X! C; \5 J* d/ s
  226. STA $2006
      ^  U# [! A' E8 D/ M
  227. 8 V( _3 z. T' E7 I# j
  228. L3:
    7 A8 p8 j/ P9 @  e0 U; m
  229. LDA $2007
    ) H4 T7 _: E* d2 ^1 h
  230. LDA $20073 y2 E9 G! d4 R5 r: q: l# G5 u& I
  231. STA ($BC),Y! b! z  w9 A, |0 |; _

  232. 8 |8 P- E: J/ g+ P0 N% w
  233. L4:
    2 |4 a* [3 @* |+ U
  234. LDA #$00& S1 S7 H+ d+ W0 v6 a" j2 T4 s/ e
  235. STA $2000% p& \2 Q) M" r9 z1 m& `! f, \
  236. INX( |- [" M% A5 _* T, Z
  237. INC $BA$ n8 R4 F; I0 r9 O% q9 O3 v$ l7 o
  238. INC $BC4 @( E) T8 J) a' L1 P6 Y
  239. CPX #$00
      q+ S5 \( a+ p2 A* c
  240. BNE L1" a- d/ z$ c' J0 c  k2 K
  241. INC $BB
    % ~0 D, f( t2 b4 `
  242. INC $BD0 y8 z; J6 x8 i( k( K
  243. JMP L1
    * ?/ T/ I2 S8 B' @  |8 S" z4 F
  244. 2 Y7 }+ O. `2 _* C( @
  245. PROADPLA:                ;出栈
    ; q/ w7 ~% {! r% R( m% w
  246. PLA* ~( h+ k3 B$ ]- r0 z
  247. STA $B8' P" I8 o/ z. I1 r$ N! e
  248. PLA
    8 l/ C- W2 Q7 M) P: z8 q
  249. STA $B9
    ' U6 ~- [% B9 p( I7 p
  250. PLA
    * O1 ^" T7 q  O
  251. STA $BA9 L6 N$ N) K- o- u( u$ r; k1 s
  252. PLA* t4 W9 M3 [( V1 Q
  253. STA $BB- n2 S) {8 R' o: N; M/ n1 V, i" ^
  254. PLA
    + G) `, ?5 G7 s) T
  255. STA $BC& E& T2 @: s8 ?" n4 V  c. A
  256. PLA# s1 ~/ x( V% m9 y) w/ G
  257. STA $BD  \) m: I: x6 C
  258. CPRE:
    . L2 H% y1 {4 b0 R5 R6 {
  259. RTS4 I, v  G0 T1 M7 Z

  260.   g6 h6 w3 G+ N& Q4 h4 ?
  261. CLEANA:                ; PPU清空8 u$ V3 [$ O5 c7 |/ F
  262. LDA $BD& {4 h9 e) j$ x
  263. PHA
    . n( R5 u. @/ i& {7 S" Y  O6 R
  264. LDA $BC! d5 @) ?, C2 U
  265. PHA
    0 X9 V# V1 c9 Y3 H% e) Z9 |
  266. LDA $BB  K/ H9 G+ w% q( K- j& s
  267. PHA" s5 _6 R) L5 N. n% |
  268. LDA $BA) l* S, m1 V! B+ O" Z% g
  269. PHA
    : f  s( o+ A0 t# |6 o/ Z
  270. LDA $B9
    : u. x4 c- O# k. a2 C* l
  271. PHA
    , r! Y% j( R& m  T# _
  272. LDA $B8
    & F5 F4 {6 S+ a) O/ Q% j
  273. PHA
    / o' y+ e: l3 C
  274. LDA #$00# E) b+ e3 j: Q  V: q/ K
  275. STA $B8# I$ a3 I0 ]2 B3 q) G0 i
  276. STA $B90 j: \5 T4 J2 W5 Z* K/ \: j
  277. STA $BA4 u/ x* x1 j% _# {/ O4 R& s
  278. STA $BB
    1 n+ M8 z# z4 _+ l
  279. STA $BC  A( X. N. B  B; G
  280. STA $BD
    2 k+ O, w6 @6 [2 I' Z' M& x2 x
  281. STA $2001. c; s9 q8 l5 C! @. o3 S" c% `
  282. LDX #$00
    + M. ~; `9 T4 I! s6 H- N
  283. LDY #$00
    , r" w8 x. p/ H; `& K- o
  284. LDA #$00$ U* t* s+ f/ \% u! q1 I0 {/ M: X
  285. STA $BA
    $ C5 L% i& ]6 U9 Z
  286. LDA #$20
    9 k8 C' @5 E5 Z" |, X& o
  287. STA $BB% t  C/ N8 B) q. s3 }0 A

  288. 1 G/ x1 v1 S# a" l3 w6 L
  289. CL1:0 u" H' X/ o9 S( ]) ^  |1 f* [
  290. LDA $BB
    3 b6 s! Q( a7 r5 D5 _
  291. CMP #$28
    * Y2 @0 {$ A& v7 K: B; e
  292. BNE CL2
    ; Z5 x0 n6 ?. f
  293. LDA $BA; H7 A3 J& L# D& v' U' U) E8 l
  294. CMP #$00# f! M1 J7 ?. C
  295. BEQ FREEWRIYE
    ( A* N& \+ V0 D& y+ t" m/ k

  296. ' @# J" S! Y6 |+ S0 I% X- h. m9 d
  297. CL2:
    5 y7 v8 R; H$ o  e
  298. LDA $BB
    0 h; M/ u; w5 c7 T
  299. STA $2006
    : [6 t6 p0 ?" A
  300. LDA $BA. V, k( k6 v" J- W% i  F0 }9 D  [
  301. STA $2006" j8 x) q! ~) `
  302. ) I/ R: c4 P2 z$ ]
  303. CL3:" I+ b) C6 s8 E( u" D( q
  304. LDA #$00- m) {  {; X( U- @5 s
  305. STA $20072 M; e% o2 T# _* J( X9 F
  306. . d! @& h# w$ |: {3 |0 x
  307. CL4:2 m" Q; K/ {$ F! z
  308. LDA #$00
    4 J7 W" g1 ]3 h1 j, @6 \8 @
  309. STA $20000 a; G1 z# ^, q& w6 z0 J5 ^8 _
  310. INX6 V( V4 n# O* J+ F* O! s
  311. INC $BA
    9 g: R) m9 D* j  G" {$ A
  312. CPX #$00
    . a) ~& p. h) ?: C1 H  j% f
  313. BNE CL1+ X6 t5 k2 \$ \# e$ B
  314. INC $BB
    # m/ _' }. e8 D; D
  315. JMP CL1
      c% _9 P2 P: w" C3 L- T  o0 Y0 q
  316. % \  r* j5 L" P% ~: B: O4 M
  317. ; Z6 w5 o: y% h# Y+ e- g
  318. FREEWRIYE:
    9 m; \3 I* o3 h( ?: {2 `; B

  319. ! T# U% A7 K! C6 g
  320. NOP
    3 s' ^& B( D- D

  321. % K: g; M- C: G
  322. / o3 d  r  @, `0 T4 R1 Z
  323. , U9 q! i1 [3 x- V
  324. 1 o. w$ [6 }- D2 r6 U7 _; W  [
  325. 1 N, L0 ~: Z7 A  n
  326. CLEANF:                ; 恢复现场, X5 G% F8 F& N
  327. & h* l2 D6 l' n- U/ P
  328. PLA2 B5 R1 ^, H; Y' [& Q4 A
  329. STA $B8( d2 S# H0 V# P# W
  330. PLA) n  [/ \& B+ D! Y6 @' v! j
  331. STA $B9  R2 Q5 ^$ |5 W9 C
  332. PLA0 b: k# n6 l  [  R- A
  333. STA $BA
    : }4 K7 d4 |9 M0 H" j
  334. PLA; t: D; J# `" j  h2 q0 j
  335. STA $BB
    6 p' @3 {5 J% t! b# v
  336. PLA
      T; j2 N' Y; h, H& a5 k9 w: K$ B
  337. STA $BC
    : o9 \6 f; h0 [
  338. PLA
    - m$ {( N  ]: S. ~# G0 l
  339. STA $BD
    9 y/ X, L& i: D/ B, x. F" L
  340. CLRF:4 I2 q  r3 Q; X) V3 M' k8 R
  341. JSR FREE_PPU
      D4 `( a! X" g/ ^$ A$ X! }8 G; M" ]2 q
  342. RTS# _3 ]( i! {7 l, E& N1 {) i

  343. . K  ]' Y0 y% v" q% q, |  O
  344. * j+ }9 i' ?- _) O+ O8 c
  345. PPUWRITE:    ;PPU写回5 k! b$ ?7 I7 x- Y* `# M0 \2 Z. d: [
  346. PLA: g# x5 j: H7 Y# t: [6 R+ N" E; [% X
  347. TAY
    ) q" e3 n& P( u( \
  348. PLA& i* ~" d+ v, Z( p: n: R
  349. TAX& Z$ h( I3 ]- L  z
  350. PLA
    7 }+ U, e7 [: ~. l, m6 n$ X& c+ n
  351. LDA $25
    2 ~- |. I, t. J6 Z
  352. CMP #$00
    * ^* h# O0 b: _, Y. G) _$ f$ m
  353. BEQ WP1# L& d; o& x3 U+ W$ W1 e! ?
  354. LDA $25
    0 f$ N) H8 V$ _/ X2 D+ g/ f
  355. CMP #$01/ ]& t9 [6 O  k' M& e3 U' m
  356. BNE WRE5 d* t1 v& _4 R+ @" Y; u
  357. LDA $F5,X# R, R9 P3 b, F9 L
  358. AND #$EF
    : A3 f- x  A* ^
  359. BEQ WRE/ B* u8 u, D) m: l/ R: a% ^
  360. LDA #$00# V, V0 l2 P' H7 N! g% t& N
  361. STA $7FA0. y: k6 a8 T( N8 e6 u! b/ n

  362. 0 u5 o5 h- w" x5 ?0 [
  363. WRE:7 a( e: g4 p5 z0 n8 }* U/ `
  364. RTS
    " ~/ R4 @/ R1 z9 I: m

  365. : ^; P  C% i) T3 [4 e
  366. WP1:
    ; ~* h- s9 a8 T* `) w: n
  367. LDA $7FFF7 _. m$ F  G9 b. h% _; Z+ g1 q" h
  368. CMP #$FF
      W5 \! l4 H0 n/ F) D1 f) i
  369. BNE WRE2 d: D% X" A, @4 N% o
  370. LDA #$00
    - ^* z+ N3 I4 g* D& x& m% x
  371. STA $2001
    ( S! C. |+ `1 ]* n( q9 Y6 ?
  372. LDA $BD
    9 c& s6 H; Y9 w1 i6 s6 [
  373. PHA
    , m' X0 Z+ ?( A% h( G
  374. LDA $BC) C* g5 r: A0 K8 c1 c) F
  375. PHA
    : w: f: _: v. X& A( Y
  376. LDA $BB/ F* i0 J, u5 b: s( N
  377. PHA4 R6 H$ D$ ^# f
  378. LDA $BA
    9 \9 b2 I& J( W& Z! N; ]
  379. PHA! {" ?! T$ C; I* S( n. ]8 Z
  380. LDA $B91 _- C! X+ T7 e( ~5 Y+ U1 o& S
  381. PHA! t8 l( v/ R7 F+ k7 s/ j& P
  382. LDA $B8
    4 E& j& a% M+ o
  383. PHA
    : i( U) }) Z3 |/ o7 X% ]
  384. LDA #$00
    ! ?! z  C' B- P  a  Z( w
  385. STA $B89 m4 X2 i& x6 f9 G% f, o2 D2 V; k
  386. STA $B9
    ) \2 t# @3 R2 P) k: D
  387. STA $BA
    % [, l2 e" a& Z% F# Q" |
  388. STA $BB' R, r* a1 {8 h3 _' d+ [! ?6 Z
  389. STA $BC% I7 N  p: P2 s6 D9 u
  390. STA $BD
    6 n1 A9 x2 N, d1 ~+ T" J5 Z
  391. LDA #$00
      W3 F) P! c' M1 T. A( g/ a
  392. STA $7FFF3 S; ]+ Q& U" _% T4 Q, u& z$ S

  393. " k! c4 w/ \1 a. G) C/ A
  394. WL0:& h+ ]- g& E; \
  395. LDX #$001 A( v/ V% n- Y6 t3 }& |
  396. LDY #$00
    ' I+ k3 b8 t+ x- Q% S& z
  397. LDA #$00) N2 r5 A, g0 j. t! H: w0 \
  398. STA $BA$ ~. L9 G2 a( c/ _, O* @) Y
  399. LDA #$203 x- W& j/ J9 c0 b5 j
  400. STA $BB
    7 g( N' x3 f( e, L+ s! X
  401. LDA #$00/ B8 C+ t# O1 X6 s
  402. STA $BC
    # q, z9 J  d+ s: W2 V
  403. LDA #$60
    : X) _. h" u8 w
  404. STA $BD
    ; Z" o1 x5 {8 \

  405. 6 z0 t5 x3 a3 O$ R
  406. WL1:
    % N1 M* l+ G$ c# L" I
  407. LDA $BD  u) H# F2 P& _  ]9 {
  408. CMP #$68! o8 f1 @0 \9 I8 J6 Z4 W* N
  409. BNE WL2
    $ K* H# k( ]  M) ]3 j: Z' s+ }7 U
  410. LDA $BC
    0 c$ V2 u2 W& n
  411. CMP #$00' l( [) u! E; P* S
  412. BEQ WLR  I) f- P$ p( p) s- E" B7 [
  413. 9 @8 _) w! V+ x6 n9 S
  414. WL2:( c& N$ L& P% w; Y% w3 }- B$ n; X; N3 d
  415. LDA $BD
    3 I8 k* _" O* E9 U$ L6 I3 R
  416. STA $2006+ K6 W. }: h5 e1 i) C
  417. LDA $BC
    ! S' C6 X7 i; }
  418. STA $20067 ~) ^/ _7 O( h

  419. 9 i  f, M. k0 z& m. ]3 _
  420. WL3:
    , \  I6 c- E: N) J6 ]0 _+ H
  421. LDA ($BC),Y3 Y. B; _1 x4 L# [! J9 s
  422. STA $2007$ }% D' `/ E+ \1 [& X
  423. , _4 J1 Y& `7 C% ?8 q% l' b# W
  424. WL4:
    : x; s" Q8 y! f  |( `/ W
  425. LDA #$00
    & ^- B+ q) Z% [+ z' N$ b; m
  426. STA $2000% j+ f2 C+ B( F( g; X
  427. INX5 U0 L$ D5 H0 Y8 s3 b; C
  428. INC $BA6 X8 ^6 A6 C4 _% G5 Z, R
  429. INC $BC
    9 K  y+ v: N% a; R+ P* v9 p. _
  430. CPX #$000 v* w2 G5 a+ x3 X" B
  431. BNE WL1
    $ R: H# }: K+ [
  432. INC $BB
    # M1 h4 a' ^/ r. _$ C6 h
  433. INC $BD' C' @' A3 a" i9 L, T; q# @5 e" n+ G
  434. JMP WL1, S+ ^- T& z3 d* f6 K

  435. ; d' P' U( C5 c" C& n
  436. WLR:
    . {" n2 |' |: \: h* r/ H1 a, `" n
  437. LDX #$00
    ; N; J4 Q- B8 O4 s
  438. COPY_7F00_7F3F:
    9 W; }; w, d/ }9 b# J8 f/ \# P
  439. LDA $7F00,X
    9 d" e- L+ g$ ^- C5 o3 r, }, g
  440. STA $07C0,X8 t% X# M* I! e; b. ]/ O
  441. INX7 V# p. q/ [8 H' c. }  s! [) X  i
  442. CPX #$40- w  U3 S7 e, y
  443. BCC COPY_7F00_7F3F
    4 |# U% d# X% c! P( d: k

  444. $ f# Z* E$ ^7 ?9 |( P% I
  445. LDX #$00( L3 k5 O3 ?2 c% D) M  b
  446. LDA #$3F/ l$ b" k2 W+ H2 _/ U. W5 `8 I4 r
  447. STA $2006
    ! B! `! O, n3 S2 k" Y
  448. LDA #$00
    / |: L3 ~- g8 u& F, X! v1 I* ^1 K7 [
  449. STA $2006
    - J% W; x: x+ Y: ?
  450. COPY_7F00_7F10:  \+ ], l! z! h+ n4 D
  451. LDA $7C0,X& O% Z/ V1 F, [8 l+ P" k
  452. STA $2007
    7 U! G' i2 o2 Q2 M& A; m$ F$ G7 q- O
  453. INX
    1 V9 W  r' C0 E8 ]
  454. CPX #$10
    2 {7 [) k1 @- F  w1 o: j
  455. BCC COPY_7F00_7F10+ h1 a, @* N$ K7 b2 T2 y
  456. 4 v' O: P* F* q" w8 q
  457. LDA $2002
    : S, V" w4 v0 o7 w- E" Q
  458. LDA $FD9 z) \; ^; C$ {1 O- i4 a
  459. STA $2005
    % D+ s4 i+ P$ ]! f; C% H
  460. LDA $FC" C: h0 d1 g' p
  461. STA $2005
    . _- V( t" x8 e/ ~# z7 T5 B0 t

  462. ; B( j5 c3 W8 ]0 Z0 M% Q
  463. LDA $7F50; M% w7 G8 l- ?5 s+ p9 e0 b
  464. STA $FE
    5 R3 N2 X7 B# _/ A
  465. LDA #$00
    7 M) Q( n3 M, m# Y
  466. STA $2000+ D* ?/ M# ~! f" |' ^
  467. PLA
    $ d# S0 d! G# P+ D3 s
  468. STA $B8
    8 o! B$ d/ r; T* q# m0 h# E
  469. PLA
    # Z3 M) t  p/ I' e* Y& b$ p! |
  470. STA $B9
    1 l8 i. K2 q% n; Y( \, l# m
  471. PLA
    7 ^# s  C( Y3 F; ~
  472. STA $BA
    : j1 g( }6 q5 Q  g9 {- O2 _
  473. PLA1 z" y5 e! H+ G) r- I/ m" @
  474. STA $BB
    % K# C3 ~) T* [% B- ]' _
  475. PLA# O5 n' K( {5 S) D- c. V* l2 Q9 @) V& }
  476. STA $BC
    ' ]/ ^3 H* y8 \
  477. PLA; Y/ I9 Y- h& r4 p. k- B/ ]; l
  478. STA $BD: B1 O0 |# ^+ X$ N  o

  479. * s# f* w, _5 X3 @1 V+ R
  480. RTS/ n9 C+ r/ G+ V& o: U2 f7 o7 A

  481. ( p. G: N  k: e  n7 P0 d
  482. PPU_CMP:6 v* P. A  c4 Y# W

  483. / O: Z' ]& \: x, O1 E0 x
  484. , f0 m$ Q+ N2 @  w; F! Z. \
  485. PPURE:
    1 m' ^+ y7 Y7 ?5 H; D, ~' u
  486. RTS; I9 S! M7 u, z: k

  487. & f, V! p) K/ n6 z$ I9 g9 O( E
  488. : G2 [/ f# L5 }# F2 J9 T4 U8 F
  489. FREE_PPU:: Y: {) H0 A  J( E; l5 s1 k  n

  490. 3 w) L3 X/ h$ z* v* H4 v5 M
  491. JSR TEXT01_PPU# l  F" ~* @3 `
  492. JSR $CBC01 Q  j% i6 B$ n
  493. JSR P1_PPU
    9 H* }6 |- l) T
  494. JSR P2_PPU% j3 U* I6 D6 [$ ~& w
  495. RTS+ Z8 |( H6 Z' b: [7 m- T+ u
  496. : A0 {3 o* Q0 t% `& n6 P- P
  497. TEXT01_ADDR:- B- R& |$ i( Z) r, I4 q
  498. .BYTE $20,$42
    & F/ X6 V% r% Y( o( H
  499. TEXT01_DATA:; a+ ?9 |; E4 z+ ^8 N
  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
    6 E! b/ Y3 ~$ K8 J& K' \
  501. TEXT01_PPU* \- j  |% W" {3 h; W; t) Q2 Q
  502. LDX #$00
    $ f6 G0 N) b  T% e1 S7 S; P
  503. LDA TEXT01_ADDR  ^) n  t6 \2 f0 s! {" F% x
  504. STA $0703$ M: F0 W9 n5 a' }, T; ~1 g6 v
  505. INX9 E! }; m1 W' Z' }$ F% j* A/ x
  506. LDA TEXT01_ADDR,X
    $ F5 J7 b" ?& m! @- K0 I
  507. STA $0704
    ) k; x+ R7 p$ G! i7 ~# e, l# A0 O
  508. JSR PPU_PROCESS
    7 [. K" o8 \: ]/ b! T* Q
  509. TEXT01_W:
    6 a, j' h5 B, g% z8 H
  510. LDA TEXT01_DATA,X
    ! H  U/ l* h4 B; K
  511. CMP #CEND
    ) m0 R' k4 e( S9 ~0 F
  512. BEQ TEXT01_START
    4 u5 g$ R& Q5 ^4 ~% Z, \% w
  513. STA $0705,X5 D- `" }: A  E
  514. INX
    " H  M" d" V" h/ X* G4 Y
  515. LDA #$00
    / q- r3 \* {- X, S" P
  516. BEQ TEXT01_W
    - r* j& t7 Z' |! b$ ^; i
  517. TEXT01_START:( d- s. ]' J) R
  518. JSR PPU_START
    7 \, _9 U% E2 T" u( Q& V
  519. RTS4 R' ~. D( Y0 P, z- [% ^7 R1 U

  520. $ S) f- P7 @9 P5 d6 {
  521. ! q' r9 y7 F0 o% G2 A& w" y3 A
  522. COLOR_DATA:
    3 p. {9 }& R' I1 P* s
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$288 S( E1 ]% W3 _8 |$ a. A; m( V! _0 W
  524. 8 w* x0 S8 q0 P' Y; s7 o
  525. P1_PPU:
    ( C  K) P  e0 t% P; n
  526. JSR PLAYER_01_PPU
    " M/ L3 ?# A) D. H; M% {* `
  527. JSR $CBC0  `; }6 ~. w) f) \7 h
  528. JSR RELIFE_P1_PPU- A  J8 t" l8 k8 A" o  i6 h
  529. JSR $CBC0
    7 H+ \! J, y7 }& |, z9 v
  530. JSR RELIFE_NUMBER_P1_PPU
    1 |8 M' i3 k/ F
  531. JSR $CBC0  ]6 f. S  T/ h+ J
  532. JSR WEAPON_P1_PPU
    . f. l$ O" b, U$ ?
  533. JSR $CBC0% a7 ?& V2 J  l% l7 d% P; i) y+ x4 V
  534. JSR BULLETPPU_P1_PPU9 h& a! _+ R9 k# c( ?
  535. JSR $CBC0
    9 [) ]" i/ A2 Q  R8 s
  536. RTS$ w/ j* c/ t! r+ n0 p( R
  537. ; k- [+ y* t) O2 [, {
  538. P2_PPU:
    ! ^8 F: t- t( ]3 v! I
  539. JSR PLAYER_02_PPU5 q! d0 D/ U# y
  540. JSR $CBC0
    8 f# w  j! T2 c/ d2 X1 D4 k
  541. JSR RELIFE_P2_PPU7 o% e4 Q8 l8 t. h8 P; A
  542. JSR $CBC0
    . a- O1 j# b) ]9 O  w
  543. JSR RELIFE_NUMBER_P2_PPU; A% @8 J9 k7 c+ p, a9 s8 }
  544. JSR $CBC0, m( }7 v, v# y
  545. JSR WEAPON_P2_PPU
    2 D5 i0 \8 C, g! w( V6 j% @
  546. JSR $CBC0
    & _' q" Q6 e8 D
  547. JSR BULLETPPU_P2_PPU6 `/ K3 V( `) P: t
  548. JSR $CBC0
    , V* N9 W4 }  h3 x# m& P
  549. RTS
    9 Q! }$ @; B1 x3 v

  550. 8 u7 j4 a  L( r: r$ J

  551. % n2 H" M. V0 r# q6 V, ]: T

  552. ! _: H' D4 r- G1 G9 Q1 [+ a3 ]
  553. PLAYER_01_ADDR:
    - x, u4 m0 d& J8 j, K- F' w, ^
  554. .BYTE $20,$A3  \% g+ e6 F- l9 d" G
  555. PLAYER_01_DATA:2 N5 y8 _& |! ^2 y  D! H) M2 C
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND" y' K" O7 @$ g& N( y% W( W: a
  557. PLAYER_01_PPU:$ ~9 m7 ^. M/ \' h- P1 k0 ^
  558. LDX #$00
    . h1 q( ?: a6 M* _+ k: G2 X  ^
  559. LDA PLAYER_01_ADDR
    3 t1 s% m! ~* A) P9 U( ]
  560. STA $0703: H5 \# W# L2 q  E
  561. INX+ V# p- B. f% G
  562. LDA PLAYER_01_ADDR,X
    7 }" S! m2 t! o' X& P
  563. STA $0704, v% T9 C) X4 [* {
  564. JSR PPU_PROCESS
    9 M( S" ^2 O2 w7 @! ~
  565. PLAYER_01_W:% `$ b: n, Q" `' ~
  566. LDA PLAYER_01_DATA,X- m" J, ^/ C* ]9 U
  567. CMP #CEND
    " X- L* }7 _- U0 z
  568. BEQ PLAYER_01_START
    & ]/ Q% @# x  g" S) `
  569. STA $0705,X
    ) j9 h- _+ r% s, X0 u4 r
  570. INX. ?+ M3 l* b. O% H  O
  571. LDA #$00
    & z; T; D, B" [( t, t
  572. BEQ PLAYER_01_W
    # }1 b, ?2 A; P2 X; q. E' b  m
  573. PLAYER_01_START:
    $ o* x8 Z. b" r" v# G, t
  574. JSR PPU_START$ t& |( d2 F$ D: z2 Q$ }
  575. RTS
    5 k7 W2 S( u8 D# J# @5 k* T
  576. 8 l5 M2 I1 p" ^1 }
  577. ! ?7 j# i" d% _4 M
  578. RELIFE_P1_ADDR:  b  m. _0 }& S+ J2 o
  579. .BYTE $20,$E3
    6 ?: k" {/ w+ {
  580. RELIFE_P1_DATA:/ l& E/ Z2 ^6 E
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    - H/ l# i( _9 q3 N4 |. Z6 m- T: `
  582. RELIFE_P1_PPU:
    ' u# k5 @5 ]0 w2 ?4 I/ Z- N/ ~# W5 s( T
  583. LDX #$00! n7 r, V- J# G+ Y, A
  584. LDA RELIFE_P1_ADDR
    + z' e0 c# D) T" R' d
  585. STA $07036 m/ Q# N/ S' j# Z) {
  586. INX
    + \6 w# ^& {. P
  587. LDA RELIFE_P1_ADDR,X% s! ]# F' |+ N# `- P
  588. STA $0704! a6 T6 o% {; ^6 J- i0 I  j( n
  589. JSR PPU_PROCESS
      ^5 a2 v0 T0 I1 y% q% H
  590. RELIFE_P1_W:" |7 C  y5 M! U: t
  591. LDA RELIFE_P1_DATA,X8 x" q9 `# E. E6 r1 ^  b
  592. CMP #CEND
    % E8 x' C7 ?; w& N2 r  T: ~
  593. BEQ RELIFE_P1_START
    # ]/ w( n' T( Y% R8 g0 v
  594. STA $0705,X8 l% |0 `! [! a9 W6 N
  595. INX: p+ @+ W. x( j1 ^& }
  596. LDA #$009 K! A; t9 F! q# _# e
  597. BEQ RELIFE_P1_W6 _9 V, W) a4 C/ G) g/ Z
  598. RELIFE_P1_START:. u$ O& I7 b) y5 F# ]* o$ T0 K3 G: m
  599. JSR PPU_START
    ; J/ a0 M% B* f) @
  600. RTS, m2 V3 k1 M: p9 j; V

  601. 5 A0 x: T- K. B3 X

  602. 0 P! D# Y  y; W( C
  603. RELIFE_NUMBER_P1_ADDR:
    ( J) k1 C/ D" A  ]4 h! C) P
  604. .BYTE $20,$EA, }/ \/ |) `% Z9 l% s+ A; m3 ]
  605. RELIFE_NUMBER_P1_PPU:* }' e+ f; \1 i1 C/ Y
  606. LDX #$00
    * z- }- [" u4 ]) T9 w5 n
  607. LDA RELIFE_NUMBER_P1_ADDR; ^7 j) N1 I4 ~9 P
  608. STA $0703
    : s3 ]6 W0 a5 f; N/ U1 V: P
  609. INX2 y& z& @# S$ p1 `# ]* w! L, ?
  610. LDA RELIFE_NUMBER_P1_ADDR,X0 O/ p! W% b* A) Y7 W
  611. STA $0704
    & ^+ O! B7 }2 \7 Z& L  |
  612. JSR PPU_PROCESS
    # Q; `' v& Y* Q+ h$ e( M2 ^
  613. LDA $32' m. Q- L1 v! x# \; K
  614. JSR LIFETODEC, K& [$ w8 s. F9 b
  615. RELIFE_NUMBER_P1_W:0 Q' \8 Y. }: u% ^' h, ], @: L
  616. LDA $7A03
    * _$ p* p+ I$ c
  617. STA $0705
    ; W! \' R. F+ [! c8 r, ~) s
  618. INC $0705
    . Z$ A* Z: x& f, E# s
  619. LDA $7A041 G5 P6 B# t( [
  620. STA $0706
    - ^; r3 Y2 F7 s+ G. @
  621. INC $0706
    , {+ j  K, Z9 M3 @1 v0 S
  622. LDA $7A05
    7 D2 ]6 k# j) f' }+ a7 R, Y) D
  623. STA $07077 B" a* D" B' {* L
  624. INC $0707
    / y; o8 U7 B, F& j$ K, U0 E. a+ [, D
  625. LDX #$03& r8 F2 K: P% @7 G* h2 b
  626. RELIFE_NUMBER_P1_START:
      b! S; g- S. |0 Z2 X& R9 H9 k
  627. JSR PPU_START% d8 X. Z% {7 `  N3 U- N
  628. RTS
    5 ~4 Y7 F% q% c( T
  629. % U0 w0 l+ l) _
  630. WEAPON_P1_ADDR:
    ) F' ^: N+ Y- K3 \+ `2 d4 Y
  631. .BYTE $21,$233 m: _3 J4 @* ^7 O$ c
  632. WEAPON_P1_DATA:
    ' x% S2 T# m( v  M, l
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    9 W; j3 l3 k; h6 n
  634. WEAPON_P1_PPU:7 K0 j: m+ O+ F' J7 U  O# @
  635. LDX #$000 G+ S4 j  N+ G* p, K( \
  636. LDA WEAPON_P1_ADDR
    9 k  E) A$ I* e: y* C( W7 b6 d
  637. STA $0703
    # S. \9 p: V6 H# J, }
  638. INX
    6 [: n* o0 \2 _4 J1 r6 Y: ?
  639. LDA WEAPON_P1_ADDR,X, P! x8 s, d  j* U
  640. STA $07040 Z5 E' X6 p5 A8 G
  641. JSR PPU_PROCESS4 y0 k  R5 R: g: y: ?* j5 F+ G
  642. WEAPON_P1_W:
    ; K% \& y4 F! u4 m' c* P" l
  643. LDA WEAPON_P1_DATA,X& l0 {6 x0 Y$ l  R& v  x. `
  644. CMP #CEND& c& S% h- P9 F
  645. BEQ WEAPON_P1_START6 Y, o: y7 e" h
  646. STA $0705,X
    2 Y: C1 T8 Z! l+ [. `. K9 L: V
  647. INX
    6 K+ l, T7 l. {& M: E
  648. LDA #$00
    - Y" a* j1 h& i- l2 W  z" Q
  649. BEQ WEAPON_P1_W5 X; U! z" B! |6 E( f9 i4 y. B# S
  650. WEAPON_P1_START:
    " i% d$ Z, L* ^8 R3 I: ^/ k
  651. JSR PPU_START
    7 S/ \0 l1 t; X( L( r
  652. RTS7 X/ G6 O4 r, c2 @+ H

  653. ' V( |- p% [; \( ?# {, j3 b' F
  654. BULLET_P1_ADDR:
    # d+ u* ^; z* Q/ B/ Q+ g
  655. .BYTE $21,$2A
    4 u7 T  e0 m/ \, _: ?
  656. BULLET_P1_DATA:- O' P1 [' t- c" }# H2 G$ E! _, {
  657. .BYTE $00,$01,$02,$03,$04
    ! |( ?2 w' r3 I; S+ i
  658. BULLET_P1_NAME:
    4 X0 D/ U+ G- F$ e$ |
  659. .BYTE CN,CM,CF,CS,CL
    % X9 V6 ?! V0 K$ R/ y4 R& Z

  660. 8 w- F; G* F, q* M) [
  661. BULLETPPU_P1_PPU:, e, C- R' L. C; z8 t
  662. LDX #$00* n5 S* v( E* ~9 {- \
  663. LDA BULLET_P1_ADDR; F2 ]7 M4 J( ^- [' \9 w# d9 D
  664. STA $0703
    , }8 h' N% m9 o/ [- H0 f
  665. INX% Q* z7 b# ]6 G0 u/ t% L
  666. LDA BULLET_P1_ADDR,X8 Z% P1 s/ G; O$ |/ S
  667. STA $0704: u9 `9 N4 w- L! f
  668. JSR PPU_PROCESS8 k  w5 L/ @0 q) r6 U5 `7 D
  669. BULLET_P1_WRITE:
    $ X$ d2 u9 \  y  F: K
  670. LDX #$000 M6 I- {* n3 E  v6 W% W. V
  671. LDA $AA8 v2 U7 \% r' F& m1 N; v9 x* M4 K
  672. AND #$10+ k# k3 o2 U8 h8 q9 I7 h
  673. BEQ C_BULLET_P1, [+ u/ C( Z) E9 o9 X
  674. LDA #CS* P  B* z/ z: m1 C& W
  675. STA $07050 e) U( l* Y$ b- f
  676. BNE B_NAME_P1" q& X/ B6 S3 O7 ^
  677. C_BULLET_P1:$ u+ N. r: a! h8 i
  678. LDA #CC
    8 R! j5 }* a2 A% i* K3 H
  679. STA $07059 ^2 k; e+ p1 i; [1 J( V" u& h
  680. B_NAME_P1:  s$ m. K0 i* [& w
  681. LDA $AA% K$ q3 g7 }5 n3 Y$ [& ~- @
  682. AND #$0F& C) J3 ~6 U$ o
  683. CMP BULLET_P1_DATA,X8 n4 ^. Q5 H1 p% k6 x9 c
  684. BNE B_NAME_P1_RECMP; x* w- U6 F0 u
  685. LDA BULLET_P1_NAME,X" ?1 V* |/ g- N  x; B
  686. STA $0706. `7 D3 J8 {$ _/ c3 C& i- b) \
  687. B_NAME_P1_RECMP5 p5 [% t, B& L; L
  688. INX
    & F7 w& X( a3 N$ |. |  \9 H
  689. CPX #$057 W7 m$ i" q' i3 ?1 T
  690. BCC B_NAME_P1
    ' c  T  a2 A( M5 S; ?9 t8 e! E
  691. LDX #$02
    ) d+ E; O0 O1 ~6 Y% h
  692. JSR PPU_START) c/ h1 {' f, w. `4 O
  693. RTS3 n, y& m4 ]* ]: E  m( A3 q% z
  694. / S$ W9 v6 g) n" q
  695. + d5 l/ X' K8 B6 }; D2 p
  696. PLAYER_02_ADDR:" }5 z0 T, F" x. N
  697. .BYTE $20,$B3
    , a5 h' [" M9 T; u/ P4 k7 b
  698. PLAYER_02_DATA:
    4 u  P& V- D" \
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND. b- y4 y) H0 {. q
  700. PLAYER_02_PPU:
    3 A1 d4 ]( n7 o1 W' M' H4 I4 U
  701. LDX #$00
    * {' A. a- U! z5 I
  702. LDA PLAYER_02_ADDR! t8 d/ v! \0 c! v6 n) I
  703. STA $0703
    ' I0 T% D' U3 r. G  ?# f7 L: v9 V  e3 x
  704. INX) v3 q! [+ f& N9 L7 k
  705. LDA PLAYER_02_ADDR,X
    ! x* O3 q( X' P, \/ H# y$ i# e
  706. STA $0704
    * K& f& d4 u8 U) @+ C0 R
  707. JSR PPU_PROCESS. ?/ U- }" P% }2 e. [* q/ h- s# y
  708. PLAYER_02_W:$ F$ i4 g+ ]# K2 ?4 J4 p+ J" N
  709. LDA PLAYER_02_DATA,X
      @5 [, h/ K6 v  P2 O0 p
  710. CMP #CEND
    5 D0 q& A: i! z( `! f3 J- [5 A- C, q
  711. BEQ PLAYER_02_START6 P% U; h0 r& v1 j! b* A
  712. STA $0705,X% A  O, k9 M( _! [4 ~2 b* k% C
  713. INX% }3 _" P5 J. r: r* t) c; j9 [
  714. LDA #$008 Q: n! Z3 B+ g1 P
  715. BEQ PLAYER_02_W1 i8 E! {0 T" O& G: P$ W# _
  716. PLAYER_02_START:
    ( P0 e+ F" E' b# H' z' u
  717. JSR PPU_START+ R/ P2 k& D- C0 K
  718. RTS
    7 q* Y& D. x; V; }2 [1 a

  719. - Z* b& \, Q' w

  720. , @8 j' A! {( D' M$ a( A
  721. RELIFE_P2_ADDR:8 A( ~0 @9 _! b+ U9 K% f1 F
  722. .BYTE $20,$F3
    8 c; @7 |# P" k3 G+ u8 q
  723. RELIFE_P2_DATA:
    . R7 Y- r# \. u
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND2 q8 s3 |; G# J+ l: b( Y
  725. RELIFE_P2_PPU:
    4 h: U( M3 b1 J
  726. LDX #$00. |5 \+ \: B( R7 h
  727. LDA RELIFE_P2_ADDR0 ]9 j8 b/ c0 t1 H8 ]/ P9 H
  728. STA $0703; c' P8 Y" Y" s- R& o  z, ]2 m3 E
  729. INX
    7 m# S/ c6 H# s  c7 Z" z0 U. P
  730. LDA RELIFE_P2_ADDR,X+ t# k" K8 c. @* i; S6 r9 j# t1 ?
  731. STA $0704
    ! m  Y; _# V) h& z2 J2 K
  732. JSR PPU_PROCESS. d* M2 Q( S/ u2 a7 I7 h
  733. RELIFE_P2_W:& B  x4 D& B! G9 M: c1 W# v9 w7 r
  734. LDA RELIFE_P2_DATA,X9 t$ l9 g5 \* w2 J
  735. CMP #CEND" C4 T* R* |; X5 u) X- g1 E8 G
  736. BEQ RELIFE_P2_START& L* R# v4 j9 b! ~. ?: j% f) i
  737. STA $0705,X) N2 S0 Z5 {/ n: W
  738. INX
    * ^& ?5 q! l) s* U% y. p, _3 b
  739. LDA #$00
    5 B0 f1 _5 e+ `# ^( G7 ?% v  C
  740. BEQ RELIFE_P2_W
    : d  U0 x3 l$ S6 K# a( \
  741. RELIFE_P2_START:
    ( X) l  X7 w: k7 W- D3 x' \
  742. JSR PPU_START$ B- w4 t4 t  n8 e- `+ s5 A4 ]
  743. RTS
    4 k1 t3 H( g) P  a- v

  744. & `, w9 r. ?! I2 o
  745. ' b7 P, Z! _% m' W9 A0 m- D
  746. RELIFE_NUMBER_P2_ADDR:) o8 {( A' v) f% I7 O- D
  747. .BYTE $20,$FA
    + l" _; ]( y# o  v$ i
  748. RELIFE_NUMBER_P2_PPU:
    1 }- v  ~! [- [& X; \- K  S
  749. LDX #$00
    9 W. [, U% C- F
  750. LDA RELIFE_NUMBER_P2_ADDR
    % W0 K, n3 N2 O6 t) J" R3 \( P" E$ ~
  751. STA $0703
    8 }2 U5 d4 N% L# i4 |
  752. INX
    4 i/ Q$ O7 E0 ?4 q' `
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    8 t' R# X# I" N( w
  754. STA $0704
    4 R! b( I. b" i/ B8 ]# u& o
  755. JSR PPU_PROCESS
    & f4 N5 A5 M, f
  756. LDA $33
    8 \2 i8 o. O) i; W  N% v! @
  757. JSR LIFETODEC" k, {6 {- K  D9 \
  758. RELIFE_NUMBER_P2_W:, Z* w2 i- V) R$ _8 z
  759. LDA $7A03
    4 ^% [+ N& [0 \8 B% s
  760. STA $0705
    - @/ f/ P! e( ]/ x6 t  ]  L
  761. INC $07054 }* X5 F1 V0 n2 t% x# O
  762. LDA $7A04
    , @0 B/ m( l' x, D# I
  763. STA $0706- }( H* _2 l& G0 h2 s$ ^$ R! V
  764. INC $07065 T: {+ L2 p: }) k2 {; \
  765. LDA $7A05
    . Q( v$ M- K/ t$ n( k: M
  766. STA $07074 Y# r) V7 J+ E- V% X- y
  767. INC $0707" y) h( H% U& h+ Q8 R' b- n4 L
  768. LDX #$038 V0 Q& q- X) a% E* g
  769. RELIFE_NUMBER_P2_START:
    9 b$ s8 f& A9 ^& e8 R  a
  770. JSR PPU_START
    & e3 k8 S7 {  d0 U7 J- t
  771. RTS4 `: d8 u! c* H! Z9 i

  772. 8 ^0 @5 C; w7 }
  773. WEAPON_P2_ADDR:! A; t2 r3 E& `6 P* J" E, I
  774. .BYTE $21,$33% C* r# J! l4 n' w1 X. r/ Y6 @
  775. WEAPON_P2_DATA:1 j$ t) I8 x* B8 h$ z! h5 z
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    " I0 |# L4 a, i1 n9 z
  777. WEAPON_P2_PPU:+ j4 H" k# A+ Z1 t6 {. _
  778. LDX #$00+ H: q! p' D4 Q! d) H( S
  779. LDA WEAPON_P2_ADDR
    4 F  h5 @% S. e+ _$ G* h$ P* g
  780. STA $0703
    6 b) ?/ {# X. y) p2 N, n
  781. INX
    ) A. G0 Y; U6 a+ Z; `
  782. LDA WEAPON_P2_ADDR,X
    / ~2 C( B/ y. U
  783. STA $0704
    % J' U" ^6 @7 U$ F: b/ L6 L. `
  784. JSR PPU_PROCESS
    7 ?. n7 |) n7 A. F9 J, Z$ o8 q
  785. WEAPON_P2_W:' k  k) o  P) o/ b
  786. LDA WEAPON_P2_DATA,X1 y" B3 P1 [4 j; ?+ O* O1 e/ |7 {
  787. CMP #CEND' l% C6 M" H+ v
  788. BEQ WEAPON_P2_START# D$ ]2 U) F3 F/ d" N  Q
  789. STA $0705,X
    1 a: @+ }* ^  B, {! G5 d
  790. INX
    : ~; h0 ^9 s  m6 M. x
  791. LDA #$00/ F7 _* Q' F1 J# m
  792. BEQ WEAPON_P2_W
    " H6 t# b; G6 a' o
  793. WEAPON_P2_START:
    ) l$ x* e8 `) ]4 s- e2 x' x) V: W; Q+ I
  794. JSR PPU_START
    ) H, Z" W) o& u# m( f
  795. RTS9 B8 [9 E! p6 ~; f
  796. 2 E1 h3 q, \  ]4 G/ E4 O
  797. BULLET_P2_ADDR:& P% S3 b7 Z5 I( y3 l0 ~
  798. .BYTE $21,$3A
    4 e6 w  h1 M/ W+ }! ~" ^
  799. BULLET_P2_DATA:
    % r" G3 D+ N9 I& T7 h2 ~/ J
  800. .BYTE $00,$01,$02,$03,$04! v/ v; t" R6 N# V6 z9 C/ s
  801. BULLET_P2_NAME:4 S; ]5 \0 w  X$ r% {2 c# F
  802. .BYTE CN,CM,CF,CS,CL
      N6 F' Y& S1 I1 u4 ^% L

  803. 8 J" k$ c  J4 r- E' r. {  ?8 e
  804. BULLETPPU_P2_PPU:
    & Z2 b' l" O5 V7 Y3 ^8 k8 J
  805. LDX #$00; L; w* t  |1 V, N( x
  806. LDA BULLET_P2_ADDR* e4 g: q. L, M& d5 k' V! A
  807. STA $0703) Q# L/ f; J! j  I# P1 [5 B8 ~/ O1 s
  808. INX
    * Z! k* [! Q2 k* U
  809. LDA BULLET_P2_ADDR,X( N# r6 z6 S( P3 ]* J2 O
  810. STA $0704/ K$ f1 l2 O3 U5 q4 s$ M5 W8 p
  811. JSR PPU_PROCESS3 ^+ G0 V; w& D# v' P. m7 n
  812. BULLET_P2_WRITE:
    , \% P- n) E( Z2 ?; h
  813. LDX #$00
    $ n- c+ W, ?! g
  814. LDA $AA
    # Q0 E# j. l# k; w( F! @$ m
  815. AND #$10
    & j! b) a4 t2 X) U, D1 Z
  816. BEQ C_BULLET_P2
    8 {8 v! W( Y+ e/ i
  817. LDA #CS
    - J7 O4 R7 J* I6 E
  818. STA $0705
      B. y# l0 r3 ]  B5 v7 H5 g
  819. BNE B_NAME_P2* \0 @9 w4 b6 u4 F1 w5 \
  820. C_BULLET_P2:; ~/ A  o' o0 i: G3 ]% z3 r/ a( a( _
  821. LDA #CC% ?2 t' @3 H/ X1 {1 ?: H
  822. STA $0705
    $ e& m# m& [9 C* [2 k. ^4 Y
  823. B_NAME_P2:
    : g( O1 `$ G- q  T9 F3 D/ ]
  824. LDA $AB
    $ ], u5 R( |9 _3 l0 Q; ?- E4 L
  825. AND #$0F- z; y' B% M6 q+ w
  826. CMP BULLET_P2_DATA,X# D$ [/ P% w& `* ]& t6 i
  827. BNE B_NAME_P2_RECMP( H3 ~. j/ B$ x' N
  828. LDA BULLET_P2_NAME,X$ d' k6 \$ i; Q6 t
  829. STA $0706
    $ k. i. k1 B2 Z; e
  830. B_NAME_P2_RECMP: l7 _; M. _) T0 ]7 r+ V
  831. INX
    # ^: W: ^0 [$ J. i. Q
  832. CPX #$05
      j/ l0 b/ ^% P
  833. BCC B_NAME_P2/ n3 J: b6 o: g, C" H
  834. LDX #$023 Y# w& z) F" m+ A' }$ B7 i6 e6 ^
  835. JSR PPU_START' M) Z% t1 v+ V0 x$ J: _, W% g. d
  836. RTS
    % F* {( T7 t% |, U3 e0 i

  837. * b/ c2 e/ S" L) A; Q# R
  838. & z' ?$ S9 V# f- S
  839. 9 A1 y  c+ b, ~4 t% g

  840.   U4 t1 `6 Y/ K9 j: R. g& o2 c8 M

  841. # _2 U" P" u; V& s' W) p

  842. $ x: o( K  _5 ~6 \1 h3 m+ {: Y
  843. LIFETODEC:                ;十进制转换
      ~) p+ f0 k% n
  844. LIFEL1:        ;initialise
    7 I6 A) e7 d1 `% ?' v  R
  845. STA $7A00        ;$7A00=F32 `0 t8 [- y2 @! `/ V
  846. LDA #$00
    ( n4 k9 E; {6 y
  847. STA $7A03        ;$7A03=00
    9 f) W0 z, a( [% N0 v& Y  r
  848. STA $7A04        ;$7A04=000 y8 I5 {8 p/ p7 o' J
  849. STA $7A05        ;$7A05=003 l$ ^- p! Z! p: C0 `2 C* Y( Y
  850. LIFEL2:        ;copy data $7A00 to 6001  ~( Y8 {' O5 V. g. g" D1 \1 H
  851. LDA $7A00' U. a% J8 h' F+ y
  852. STA $7A01$ G  Z' I1 U5 Q' u; u9 F
  853. ; c8 l, T+ Y7 J7 M4 W
  854. LIFEL3:         ;hundred" p# {& b. B. c$ F5 F7 j
  855. LDA $7A01% ^, C2 K4 p; M) A7 l7 w( \6 p
  856. CMP #$64
    # M& f- `6 P7 h. P# k! B5 j3 T
  857. BCC LIFEL6                ;$7A01<100 goto L6
    4 r7 G0 b) k( v0 Q% v  K  o
  858. LIFEL4:
    ) i9 J; L2 c/ Q* O4 P  O
  859. LDA $7A01( |3 ]7 p" c/ C
  860. SEC/ Y0 v4 ?/ K  x" e8 D- n, v
  861. SBC #$64        ;$7A01=$7A01-100. ]4 b' b5 q3 @1 H+ ]- L
  862. STA $7A01
    * }; y$ F4 T# P6 Y4 `
  863. INC $7A03        ;hundred++
    3 M! W1 F+ L$ E/ n/ E4 |
  864. LIFEL5:
    / B6 I+ q8 y/ q% H
  865. LDA $7A01
    - X( c3 s7 i  q. m0 E# x
  866. CMP #$64
    7 R8 W* W7 n* A2 B& f
  867. BCS LIFEL4                ;$7A01>100 goto L42 B+ E' w! a% |
  868. 7 a) ?: _5 {: }- V
  869. LIFEL6:        ;decade
    # F7 n4 I6 k' o. b" T7 J
  870. LDA $7A01+ a5 T* `. E3 A9 L! ^( ^# k
  871. CMP #$0A5 D# I. s( p2 _1 [- ~4 ]
  872. BCC LIFEL9                ;$7A01<10 goto L94 S+ p/ u; s2 x" ?
  873. LIFEL7:        . Q6 R. e* q' [- q& t4 R
  874. LDA $7A01- Q+ Q7 [' m8 K. J: P
  875. SEC
    . M# f! J7 L- }! s. X+ K& j
  876. SBC #$0A! C& O& r4 v: t; E8 @
  877. STA $7A01        ;$7A01=$7A01-10; U# r7 }7 ?+ ]  W$ g
  878. INC $7A04        ;decade++7 ^. x$ L- N3 @
  879. LIFEL8:8 D6 D$ W( ~& L& v
  880. LDA $7A01
    # f5 [" [+ e2 R% r# T/ o8 [. b
  881. CMP #$0A% {) v" N- \; F9 I- D# c
  882. BCS LIFEL7                ;$7A01>10 goto L7
    . D- D, f, N! X* [
  883. ;unit
    # Y: ]6 Y% ^* y' }, l
  884. LIFEL9:  `' V6 X, E- @7 a& _2 {
  885. LDA $7A01        ;$7A05=$7A01: _# D0 A) h6 W8 y& ^
  886. STA $7A05        ;unit
    : ?3 q) v9 [+ w' t2 n. d
  887. RTS        ;return! R$ a8 b# j6 d' V. I2 e2 x
  888. , Y3 L1 ~) Q8 j  b  h. W  N* f8 `

  889. ; X' y& O" I% c: |
  890. 8 X" p4 g; Y2 D# G1 o  R5 t. C- T
  891. PPU_PROCESS: ;PPU地址处理程序$ j1 @2 f9 P& q" e$ |2 M' u- k
  892. LDX #$00
    6 H8 W3 s  d+ v6 K% Y$ F
  893. LDA $FF# ^! j0 G5 x  w, x3 y* l+ D
  894. AND #$01
    1 h) c( c5 _# F* r! d% ^
  895. BNE PPU_2400_27C0
    4 w8 }1 G" R* u% a) s
  896. PPU_2000_23C0: ;命名表1# z" L8 H0 L+ ]) p  M0 s* [
  897. LDA $0703. \. u3 Y& J' U& a- \2 g
  898. AND #$FB
    8 L- M3 }7 a  u+ @  i! H
  899. STA $0703
    1 k  L3 j( m% ^4 Z0 Y; ?* z
  900. RTS% a1 p- G$ V* f. }
  901. PPU_2400_27C0: ;命名表2
    / T$ j( H% R8 k# J. h
  902. LDA $0703
    ' \; ]3 z4 Q3 \, c4 @( s7 N- |7 G
  903. ORA #$04
    + \9 G( {* j8 K
  904. STA $0703
    % j. c$ t7 ], j. Y
  905. RTS
    # M% |  y% A! e
  906. 3 T! @- E9 @0 U1 N! o1 o6 w
  907. PPU_START:  ;PPU数据写入
    ) T9 l" Y3 {$ ?" L: A( W
  908. STA $216 q: d7 Y( y  W" ~) w
  909. STX $0701
    ) n. K/ d  w( L0 D6 P6 i1 u
  910. LDA #$00
    & B% v  i. a0 F; m# w  I/ }) G
  911. STA $0705,X
    1 B: W: x2 ~/ K. K
  912. LDA #$01
    1 w1 u  a2 r% m- T  r
  913. STA $0700' _  V! L/ |) c
  914. STA $0702
    2 O8 T* G) T9 S) L: ~- M
  915. RTS
    ; D; ^4 y/ G" }( ]# r
  916. " o) f7 K, r5 g3 q0 x
  917. " o; r, U6 A  Z4 q0 t& A) m
  918. 3 g% B7 L2 M, ?$ B2 z' {

  919. * Y) d4 P$ X' d
  920. $ G1 m1 {2 ?5 T/ C1 X+ N

  921. % A3 i2 }# _; Y4 R1 q2 \
复制代码

9 G5 \: g# @% g7 ^

本帖子中包含更多资源

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

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

签到天数: 2276 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!+ y7 z- W/ o$ G* j& E3 x9 H% y

签到天数: 2569 天

[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-8-26 04:53 , Processed in 1.086914 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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