EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    9 w- E7 y! m9 M0 M) ?0 Y! t5 A. |2 D
  2. 作者:FlameCyclone) x) K1 E! ^' E9 V# b5 M3 o
  3. 时间:2017.2.12
    , S4 U( @8 g  \7 P

  4. ! v. O0 E+ m1 \& E, D( W
  5. 按键跳转:
    3 J- r, B0 O) g) s6 L) k
  6.         C1EF:95 F5 94 F1% l" o6 @! k' P: i9 L: }+ G1 t: z( r
  7.         C1EF:20 70 FB EA3 u7 ?0 m" V% O0 f5 x2 p( H6 A
  8. 9 d( }' P5 i+ V7 C
  9. 滚动偏移:
    3 `* f1 u' y$ ?
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20+ g6 X/ o! f6 G# P6 D+ y. l! h6 E
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    + x; _% N0 d+ r' p7 k

  12. " C6 U! S" j" Q3 j6 c% f( w2 R. A& m5 d0 j
  13. 背景调色板:
    ! w, |. ~" a+ O# J! t  o: s
  14.         CF20:9D C0 07, s9 K, r2 X1 P: t
  15.         CF20:20 A0 FB, C4 l" X$ I# z) [

  16. : L: q$ s. q/ z8 u
  17. PPU BANK号:# _7 C4 U3 {5 U' l! d# p
  18.         C8C9:9D F4 079 I! ?. u# s, n/ w3 h/ I
  19.         C8C9:20 B0 FB# c6 t  w  p4 {; ^  t6 ~
  20. 1 d- W( I" X, l7 a- l1 G( W  G6 U
  21. 按键跳转:
    * O$ H* Z" m" d. k9 I7 D6 u
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ' e/ ~8 ?3 N4 p- S1 p4 V
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    1 i$ t/ t0 H5 w
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF$ M! F6 m' X4 k) j4 S
  25. " z2 C& b9 Z/ x/ d6 d0 K
  26. 背景调色板:
    9 y+ V5 Q5 @0 T2 z9 Z
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF+ w) g$ p) ]1 A3 l" x7 I  x

  28. : Q) y+ r" x- k. F$ `+ [' T
  29. PPU BANK号:* q. @0 B) p" A
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF* }: {7 B+ _8 E8 j2 d2 I

  31. ; o6 t% C) G8 M" W/ _
  32. 滚动偏移:
    6 U+ B" j5 t; q8 b. V
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60  J; {) p: g, n7 z
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    0 y9 X( ?  r. f0 o0 ?- c% }2 @0 n
  35. ! s- m+ J- `' @+ C2 i: |6 g

  36. 7 E/ R( i; W8 |0 v% r
  37. 切BANK后A000:' K1 [. g; |0 s: v' ~( O
  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$ I0 m+ P: r. L# r8 \
  39. 8 H; D1 F% r% T) H& }5 j' ~

  40. 6 `' h; ^9 w3 _0 u( }; A/ n( c
  41. 6502 simulator:* S+ v$ m: L' g: \  v2 g. T5 L9 v3 J
  42. PPU写入程序:
    * w8 p6 t$ Z8 ]3 E" c
  43. .ORG $A0004 S! V8 m6 I: C5 J
  44. CSP = $80+ b1 L' u3 c( s0 K) q: @) j
  45. C0 = $81
    ' B3 T; ^- k& l' Q; @5 N5 [0 O. {5 @
  46. C1 = $82/ P% f1 p- _# V  ^0 ]/ T
  47. C2 = $83# a" {2 ~! g& `# O1 F
  48. C3 = $84
    . R* @1 d% U1 o& m
  49. C4 = $85" {9 d( F4 `' l; O
  50. C5 = $86
    0 h# g7 L" W0 a  q* }
  51. C6 = $87
    / V2 ~, c8 t4 n5 N8 x
  52. C7 = $88/ H8 _. O2 X1 l. p& f& q
  53. C8 = $89
    3 |, p* C+ i5 X- m" P
  54. C9 = $8A
    / O' ?. P  y# g0 c  [7 Q4 G4 {
  55. CA = $8B
    ) x- p& k6 N: |3 D
  56. CB = $8C5 e' q) I& B$ U  g+ V
  57. CC = $8D
    ; H1 T9 O4 c5 f1 A0 {3 n
  58. CD = $8E% t! u6 F8 a( E. n
  59. CE = $8F9 _4 \0 l% H- G4 @
  60. CF = $90- w3 h8 ^' _8 ?
  61. CG = $91
    ( H4 K! g, v( T+ \) H. m  p
  62. CH = $92  k5 @8 z3 v0 q; h
  63. CI = $93! b8 q0 g' M) F% Q7 ~. `
  64. CJ = $94+ e  Z: J  K7 p  e( v
  65. CK = $95' ]4 k5 Z) L, [7 A$ k- O# k
  66. CL = $964 @7 _3 l8 v7 F* K. P  _3 ^
  67. CM = $97. `4 q# r4 p( t  o3 `; u! M
  68. CN = $98
    ' W" H% `3 }0 C% ]7 T
  69. CO = $99
    ! K8 n; @8 w* n, A# z7 N
  70. CP = $9A
    . v% J4 @! z: X' F* u8 E$ A+ l- x
  71. CQ = $9B% S7 L" t4 x1 V4 N) u, Z
  72. CR = $9C3 z! G$ c7 i! u& [* {) Y
  73. CS = $9D
    ; v* }; ]" c0 Y; @4 l8 S3 \" p
  74. CT = $9E4 M% n) g% y- R+ H$ [4 O7 h) X- t
  75. CU = $9F7 r# g  n' Z* t1 y
  76. CV = $A0
    1 Z; H  F* H9 A: {- ~* z  x% f
  77. CW = $A1
    6 S- ?: g+ O3 Z9 z( C( F3 X
  78. CX = $A2
    % ^" e& D- ]' k# _- j* ]/ K0 C9 P
  79. CY = $A33 v5 b5 Q. |9 {( l2 ~
  80. CZ = $A40 Q% ?0 U( e, T% C7 m! H
  81. CEND = $FF
    - I8 T7 }2 I6 P2 x
  82. 9 D. J  l2 k& p
  83. ! `' C8 s9 M$ ~/ G
  84. CMP_RE:# ?2 \! `1 ^6 P9 h" H4 F
  85. LDA $FF
    ( [# s* D% f+ P/ ?
  86. AND #$7F
    3 r; N4 g4 G2 R: a! a
  87. STA $2000
    0 L  E8 `0 r8 W& b
  88. LDA $2002
    ' [' C9 `" }7 H
  89. LDA $25% i) g4 c' o! D4 {2 V: \
  90. CMP #$01
    8 A: y( z, z- k% Q. J
  91. BNE PROREG
    & D+ D- x* S$ A  U
  92. LDA $F5,X
    : N; ]: }' D5 N0 H2 r
  93. AND #$CF4 Y8 n! V6 e+ B, [5 w) }
  94. BEQ PROREG1 Y( y0 F# G* }- C; o6 U
  95. JSR PPU_CMP) i, F+ T0 ^* }' ^/ V' i2 k
  96. C_RE:5 Y( J; e1 n) R8 D  [& J
  97. RTS3 r  }) d; [' @# E
  98. PROREG:
    4 M! b7 [  z2 r) y) E
  99. PHA
    * j* m0 n1 T% w. u7 t2 s. s) R( T( R# V
  100. TXA- ]% t4 ~5 }3 |5 d" ]' [, S
  101. PHA
    : M+ p" i+ h" k0 \9 w1 Y
  102. TYA
    , Z6 D0 |, O& d, V# d1 Z
  103. PHA+ ]  ^) h+ E# ~9 n+ L, N$ g) f  I
  104. LDA $25
    8 C7 [' X; U! K& u( S
  105. CMP #$016 J1 x" i* C  _6 |0 ]+ A$ |: ~
  106. BNE RE
    ' s: x) k' k' V
  107. LDA $010A( A* z8 R/ }) @- k: o
  108. CMP #$00
      h; U& T9 R7 E
  109. BEQ P1% A( q' b. V- E
  110. 2 i* [: V5 O0 J% K
  111. RE:; @& q. C: E/ R5 R
  112. JMP PPUWRITE
    7 b3 v  {7 F- j) r  }. Z! ~6 I0 ^. q

  113.   _1 e; A8 g+ L7 x
  114. P1:                ; 条件判断
    & G- [; [* Q4 {) w$ M
  115. LDA $7FFF
    ) f# R7 \6 M7 Z3 n9 ?! V: J6 S( G
  116. CMP #$FF
    ( D  I0 D& x2 S% k
  117. BNE P1RP
    5 n! h8 Z$ U  @; q
  118. LDA $7FA0
    ( g; D) b+ l! s8 M6 v( \' E1 R
  119. CMP #$00
    " i4 D5 Y( [  x0 s) K( p
  120. BNE P1CMP
    ) G  d. V2 H: c( b& k" u
  121. LDA #$FF) T  g. `3 I& S5 s
  122. STA $7FA00 A% z" h5 g2 |# [7 @* s: a
  123. JSR CLEANA$ \) x, d2 y# M* h, A8 J/ }  W- C
  124. JMP PPUWRITE
    : W  G8 c$ r$ s( n; P& ~
  125. P1CMP:
    " r8 I8 p( R; m2 M* e; ]
  126. LDA $7FFF% s+ [' L% F& P' z
  127. CMP #$00
    + C5 ~* }$ Y2 c; [7 ^* U1 V
  128. BNE RE. Q; x: t' f* P) u5 c7 {4 J
  129. P1RP:. D6 c" f; G# j9 m0 i' X/ J
  130. LDA $2002
    0 ^1 g# z5 V: m
  131. LDA #$00
    : O( U" z7 t& H- s/ o! Y* `" y" ^. d2 a
  132. STA $2001. a6 O0 X( i, \9 n2 x
  133. LDX #$00
    2 u5 Q5 x6 U1 J' O5 y  j& X
  134. LDA #$FF
    / S" J* a' [. H3 @  k9 ]6 z
  135. STA $7FFF% D8 D8 h5 y3 o7 N* B
  136. STA $7FA0
    $ l  x9 {2 A6 O2 w+ [, O8 F
  137. JSR COPYPPU0 k, X( [# M* o% I* j
  138. PIRP2:
    3 W% O+ C4 j0 P" ?) i
  139. JSR CLEANA
    & e2 T# r2 y8 ]) B; |# H' S2 O0 h
  140. JMP PPUWRITE' R  B" i8 _& s1 `

  141. ) n2 t3 P' V' Z! F3 P/ O$ ?$ b$ L
  142. COPYPPU:
    1 g0 B* ^& U2 W! @
  143. LDA $FE9 d! \# {7 l9 h4 k, n) K$ p
  144. STA $7F50# k$ N, s$ N  L  G/ j3 N
  145. LDA #$088 _2 \  q! N! s6 p% j- I8 |
  146. STA $FE
    9 W: d/ i; K% U+ ]( ], l
  147. L0:$ h: V7 M8 A! V/ F) ^4 z
  148. LDX #$00
    7 n/ j, h5 c: H
  149. COPY_07C0_07DF:1 \! f1 C$ @% M% B' O& A
  150. LDA $07C0,X" L2 Z* z. H# h0 l7 I
  151. STA $7F00,X
    ! y! a5 R+ I1 R2 k+ K" N/ A
  152. INX# t5 F! w8 H' Y0 G
  153. CPX #$40  w- |8 h, o, i1 v' z5 X
  154. BCC COPY_07C0_07DF4 K. z" t% j9 b3 j* J& N1 v+ }9 y1 s
  155. LDX #$00
    % q6 x. L6 g/ n" q  O: J
  156. PPU_07F4_07F7:' Z4 b) x0 P% ~6 ]
  157. LDA #$001 y8 j1 }. V( U0 w& k
  158. STA $07F4,X% G, Z1 Y. B* r6 ]+ d/ A/ g0 H
  159. INX
    + Y  j, `6 U% x: b' q: r. g
  160. CPX #$04: q) Y6 G; p# K7 F
  161. BCC PPU_07F4_07F7
    % [' x# ?: O7 }, n. [9 p
  162. LDX #$008 U! g6 y" c! T
  163. COLOR:
    6 {: ~  u5 q" U( Q( x4 [
  164. LDA COLOR_DATA,X* ~  s3 h$ w4 y" W8 `
  165. STA $07C0,X! ~- Z' B: t, l2 x! m' P0 N
  166. INX9 j1 k: D! ?9 A; U
  167. CPX #$10. Q3 w) ^& U, s2 p, z* v0 N, N/ ?
  168. BCC COLOR: ]" p: E! U) z' b& y

  169. 9 b, [5 u4 W' P& H0 F$ O
  170. PPU_COLOR:
    7 X0 k0 k. I( J" ~
  171. LDA #$3F( c/ }$ R: x! t. Z# h' g
  172. STA $2006" t" o+ Q8 _/ d5 C* E
  173. LDA #$00' `  o& R- h1 D& I% p, ?
  174. STA $2006
    0 L2 r9 V* M( \7 D; {8 g6 F' _: p# Q* Y
  175. LDX #$00
      q2 |: h) i5 N" p* s9 d5 R3 ~
  176. PPU_COLOR_W:
    : p0 l; T! ?9 \7 l
  177. LDA COLOR_DATA,X
    3 y) [. o- i& J: s; ]
  178. STA $2007& @1 @  D$ w4 P) b
  179. INX
    , |3 |% ?7 u4 G5 x
  180. CPX #$10- K& H- F% t+ v4 N/ P, D+ [5 W3 @
  181. BCC PPU_COLOR_W
    3 w8 E0 B# ~6 R! \* a

  182. ( |4 J. P  E. E

  183. " r! H/ ^* K: Q4 V) e/ D/ V
  184. LDX #$001 B9 e- `% ^# E$ S
  185. LDY #$007 m4 q! U7 c1 p# W; d. [
  186. LDA $BD! D9 x+ F- ^- {& n. K; s8 a' w1 ^! @  G
  187. PHA
    ; j. D$ M1 R4 b2 i" l% {' n
  188. LDA $BC$ v/ ^2 d: Y! ^$ U* @! D8 \
  189. PHA5 u% J8 M# k7 a
  190. LDA $BB
    ) a& Z) j& V/ N: N! P. i3 R
  191. PHA/ _  i$ @1 T! K# O! X! F; w( y
  192. LDA $BA
    # \% i7 n2 F& g) Y* o
  193. PHA. z; C8 u) P4 ?
  194. LDA $B9
    ; ^4 {; K" g. m  [  v0 r6 G: ^
  195. PHA
    / j2 p, D! Z0 e
  196. LDA $B8$ @2 Q# L+ L4 g$ g% _, T0 B+ }
  197. PHA
    & v: B# h! z6 |7 j$ \3 E
  198. LDA #$009 _% w: G; w- d& o1 J; ?
  199. STA $B8% R7 Q1 D% q" [
  200. STA $B9
    1 o* k/ T" |. r4 L1 f8 \  {# B
  201. STA $BA
    ) k8 Z& X# J- K
  202. STA $BB( P3 w+ y! S0 R
  203. STA $BC
    # S2 L5 R) u1 W5 i+ x- `
  204. STA $BD
    2 o/ e( Z+ [. F+ [3 ]4 G$ c
  205. LDA #$001 r0 o$ \  d9 Z9 y2 ^
  206. STA $BA2 @4 _: y* T8 J) K! B$ i, z
  207. LDA #$20; ~5 _" K8 I2 f2 ?! U! h; i$ v
  208. STA $BB
    8 n- c8 g7 q0 `$ z& R5 x: u" s4 y
  209. LDA #$004 ~8 \' L, c4 x# V
  210. STA $BC( C0 W( c& k5 o9 F1 L% m
  211. LDA #$60( ~, g0 I8 f3 |6 d5 [
  212. STA $BD3 a, Q$ j9 q2 |* v

  213. & p: I3 l' d/ V/ v0 n% b
  214. L1:                ; PPU复制
    % }+ l5 L  x- D7 h5 }( T
  215. LDA $BB
    * [/ n% X+ f6 k3 b% B! i
  216. CMP #$284 h: {) B7 w7 j( P8 \. Q5 L2 F
  217. BNE L2& G! u: h; ~" B, O# K, \6 e& f8 M+ E
  218. LDA $BA
      x( H5 S' J# {4 c0 R' J
  219. CMP #$00* ]( @) h' Z% `
  220. BEQ PROADPLA
    , F2 B. P* g2 X' F
  221.   _1 P+ R. g6 u  {% c' j5 [
  222. L2:4 F) B% J( v. R3 K0 h. i/ m
  223. LDA $BB
    * d1 t9 {) B3 j* I
  224. STA $2006, y. R. c1 M, y% [3 I) R. v7 B% U
  225. LDA $BA
    . u  U  v3 M( V
  226. STA $2006
    5 ~2 ^  e1 J" Q; `; O2 b

  227. 7 M+ W8 A5 ?& S
  228. L3:  v+ V* q; J6 h; ~8 q7 r' m
  229. LDA $2007
    ) H) s- |7 P# @$ e5 o6 F2 O
  230. LDA $20071 K2 s; V* m; I5 D8 A% \) u) S
  231. STA ($BC),Y
    ( J5 o. h- N8 F$ d9 k

  232. 6 ^" ]- G$ G' l) @
  233. L4:
    & a& }9 s4 x; n; z+ R
  234. LDA #$00: U5 T( D. n+ @( V0 z
  235. STA $2000
      ~  t# D* U) I6 P; |8 [) ^
  236. INX
    - C" m5 c! E, H' \6 t) d
  237. INC $BA
    & \7 m5 G( B- q) _% i
  238. INC $BC+ w  X8 u( ~' `. Y0 k. U
  239. CPX #$000 z8 P$ c+ Z1 F( S! F
  240. BNE L1
    . {  h4 V7 f, V- P
  241. INC $BB; Z: V. i7 L9 N& V, P0 P+ Y$ l! {' n
  242. INC $BD
    ' |4 q% E/ P6 {7 w4 H/ q
  243. JMP L1
    9 `1 ^3 y9 d5 B  I, h; O
  244. " i3 S+ X( k& a. E* `% f" M
  245. PROADPLA:                ;出栈
    ! L2 B: f2 f/ u9 Y
  246. PLA: q) B' T/ y; A1 ~
  247. STA $B85 J  Y4 \9 w/ w" M$ r4 o
  248. PLA
    ( U2 w, W6 e" q( B4 s0 w2 U
  249. STA $B9
    & A# \: l& F8 P; w+ w4 k" Q
  250. PLA
    9 H$ p. L# V& S! R& O
  251. STA $BA& p9 w0 B" V5 t1 Q
  252. PLA9 k4 j4 E& J, P9 |
  253. STA $BB6 k! ~  P" [; D7 T9 _; t0 O
  254. PLA2 P, r, q2 S/ O& \8 Z
  255. STA $BC
    * m( b! y/ f* m% v$ E3 T! M4 {
  256. PLA0 b! c$ Q4 C+ v1 ?1 ]
  257. STA $BD- x, E8 w& W! f; \8 M
  258. CPRE:
    ! H" ~1 L" R5 x# c
  259. RTS( e- q% ^$ P/ S: [

  260. 6 e2 C+ E0 k5 S% j4 |) ~5 A  e9 r$ h
  261. CLEANA:                ; PPU清空+ @) t/ m# x) l
  262. LDA $BD  z# E/ X, o6 {$ }0 l
  263. PHA
      t& x. T; T/ l! K
  264. LDA $BC
    8 b$ K2 \9 l" }; m
  265. PHA& a1 w" ]$ }$ d% r9 ?& D% h
  266. LDA $BB+ Q$ H2 h+ v% g0 N4 f
  267. PHA
    ' i. V: o0 ]2 z7 C7 z
  268. LDA $BA
    7 w& @! A, L( Q, a* e
  269. PHA, z: t' d* x# i. u  C
  270. LDA $B90 ^$ h0 k; B! O* q! C
  271. PHA
    8 c! K3 p' }: |1 v' v0 [' w
  272. LDA $B8
      }0 ~3 o8 l, @9 r; Y
  273. PHA5 B4 @+ n" x: W
  274. LDA #$00- Z' i* I& o% P7 y
  275. STA $B8+ Q" @# M8 F( o0 a2 V% T1 O- B
  276. STA $B93 I3 a/ R3 f  E, t0 D2 }
  277. STA $BA
    1 u; D* r: t; Y3 s9 g
  278. STA $BB
    - i7 q7 b9 C, z9 m7 a) M
  279. STA $BC1 J( c* Z9 N+ d3 K) T% _! q4 I: j4 {
  280. STA $BD3 e1 h# l, _0 ?1 z* P* B
  281. STA $2001
    0 `# O7 x6 `8 R) ]) ]* R
  282. LDX #$00$ {( I! o/ I+ e! a3 ]( n9 j
  283. LDY #$00
    2 n( s" D: a) p' [& P
  284. LDA #$00
    : h1 [3 C$ y4 Y$ @5 A
  285. STA $BA
    $ c6 E: Q; K4 U$ h
  286. LDA #$20: [' T4 I* `. q8 B2 d2 }0 A8 T# u) H
  287. STA $BB
    ( f$ I3 A8 Q- ?4 ?# B

  288. ( y9 `2 Z9 b# R) Z
  289. CL1:
    # L+ j% S; R" {+ Y, {, e8 ?
  290. LDA $BB
    9 Y. j9 q. S; |& Q- g! s
  291. CMP #$28
    # w3 l9 k4 E. K
  292. BNE CL23 s: x8 i" Q4 h/ K+ A; Y# U0 I
  293. LDA $BA3 _& y! L2 P. L
  294. CMP #$00
    & u6 r3 q0 g) F) R" n
  295. BEQ FREEWRIYE
    0 |/ E( w) l; B# c8 M1 y
  296. - t! w6 R5 Q7 Z
  297. CL2:& T/ y- w! j8 u$ }
  298. LDA $BB
    8 P8 F& D6 ]! R4 G0 c8 p+ r0 J) k5 ~
  299. STA $2006" V  i* r- [  `4 h. B
  300. LDA $BA! Y1 _  g+ j! @1 p4 j, j
  301. STA $2006$ r0 q9 }" T1 \- j
  302. " [# f8 A/ H2 n3 [; l8 i* N
  303. CL3:
    ! r4 N: {1 r' m' b3 P' `9 I1 h
  304. LDA #$00* `' z4 s! i0 P! s) G. S
  305. STA $2007
    4 p, R6 r2 T8 h& w" R

  306. 2 `6 T% V0 ?" c$ n
  307. CL4:
    # A1 A. }; F  }5 i+ S
  308. LDA #$00
    ' B4 A0 n6 D. m3 U
  309. STA $2000
    ( a9 F) _9 Q0 r' r$ j! Z
  310. INX3 `  g. i5 k( l- R$ y
  311. INC $BA
    2 [4 W) [: |2 T4 V/ G3 J2 j
  312. CPX #$00
    ! z. }$ p+ [2 N) }
  313. BNE CL1
    ; [1 B  Q; P; L9 C- \, ^
  314. INC $BB
    / B* o5 i3 g/ u1 d3 W
  315. JMP CL1
    # k5 Q, S6 R; }; v" g' q) T

  316. , l* v* }- m  ^/ q' r
  317. 2 W0 q( M, z3 G- C
  318. FREEWRIYE:. u  F0 o* e2 {8 S! ?  ?

  319. : ^4 E3 Z9 J8 Q+ _4 H% f% n
  320. NOP; O+ M2 j! j) n5 G# B* |
  321. ) h  z' s% i9 |  M. L# i
  322. 6 S& i- i7 Z; Z; T5 \& m
  323. 4 ~5 _8 ^# Q2 y

  324. # A+ b: d* l, [

  325. : C  T' M& U; z/ j' v
  326. CLEANF:                ; 恢复现场
    & R/ I  n+ m& e9 j0 o8 n
  327. / s3 g% r: b7 M) h' C: m8 i
  328. PLA
    ; Y, {% c8 s9 U3 b8 S: S
  329. STA $B8
    ) g1 R- a  x- o" I# `, P: K
  330. PLA
    . ?2 {; y) k2 ~5 M6 {6 ^3 l1 V' |7 o
  331. STA $B9: R5 N# D5 ?8 e7 n8 M8 _) u" a9 S4 P
  332. PLA
    2 ?. C, ?* I4 }/ p
  333. STA $BA5 X& [- D) N, V
  334. PLA
    0 A; y- z/ h1 `& G# u* l
  335. STA $BB
    ) o! d4 G, Q1 j4 p
  336. PLA
    " G$ m- T/ u0 a5 n- t: j' Y
  337. STA $BC" Y# o# b4 w: u( I, x
  338. PLA
    # E. X, l6 y* \: _5 w, _6 m' }
  339. STA $BD+ m+ Y. z3 E+ E9 J" I  L
  340. CLRF:
    , z& H0 O; W- i* Y* ~
  341. JSR FREE_PPU2 P- m6 {8 E8 ~) Z& `
  342. RTS
    & T1 P' w# R6 Q/ @

  343. ' _! T) ?! s$ d1 T4 c" }; H- Y

  344. ( z; c. Q: T0 l6 f# B
  345. PPUWRITE:    ;PPU写回
    + D+ p9 p' `- p$ F& I5 H  Y
  346. PLA
      ?5 y7 k" M  T# X; i9 N+ q
  347. TAY
    1 b* e, j2 P; Q, q0 g
  348. PLA" ~- C2 a$ X. q7 P- r0 a+ S9 J) [
  349. TAX  B3 C  [- p3 \* R, @
  350. PLA5 F3 K* v6 l" Q/ h( Z
  351. LDA $25
      S: y" X" G; f" {8 P7 P' U2 j" q
  352. CMP #$00
    2 x: j9 }$ o$ B* f: J
  353. BEQ WP1! e  A' B1 n/ E. F
  354. LDA $25
    . y1 f+ H& [' h( P2 L
  355. CMP #$013 w! b0 O" P% H& _* h
  356. BNE WRE, k) e: ?3 A. g% k& d' O
  357. LDA $F5,X& N$ D; Z, P8 P
  358. AND #$EF
    4 @! P# t3 Z. I- ~. R% ~
  359. BEQ WRE/ o, E$ l, l$ l% r4 p
  360. LDA #$00$ L: ^" W) \6 ^
  361. STA $7FA0& _# U9 `1 ]9 K7 U
  362. 1 p7 {4 B! l: Q" b
  363. WRE:
    1 B7 U2 \1 S; K. P7 ]
  364. RTS6 H9 s8 m5 }" k: t9 _% ]

  365. & F/ _( C5 m. {6 [
  366. WP1:6 ]$ c  s  h' P( r9 c9 L7 }( p! P
  367. LDA $7FFF
    4 m0 M7 ~, c  {5 j, m, }
  368. CMP #$FF. z& K7 V. P! X' |0 H6 K, N
  369. BNE WRE. p; q! u4 x1 o' T) ~9 C
  370. LDA #$00" G7 @" N" k) N  G; m! N( h
  371. STA $2001
    / M3 ~' C+ I& T- f* V" b
  372. LDA $BD; y( h9 t+ y7 U/ ^
  373. PHA( W. Z2 v  {4 {& s4 C
  374. LDA $BC) @0 H1 I0 `( K* E8 A2 i8 l0 v  O
  375. PHA
    # r3 e% ^7 j3 X* K7 k
  376. LDA $BB4 q# o. e  T2 q& k. c+ _/ y" l' l
  377. PHA2 z& |' \8 @2 E* v, n5 W6 q
  378. LDA $BA( K  T; l; b! r* t
  379. PHA
    * E+ Y% S) s( O
  380. LDA $B9! w* V  e/ D, H* \7 @
  381. PHA* [% W. c3 X" E+ N
  382. LDA $B8
    + z% }3 E2 @0 D7 ~8 F# M( G8 ^
  383. PHA
    0 w' t- V+ k- Z5 ^/ k9 s% v5 _* F8 F
  384. LDA #$00/ ^2 e/ x5 q  S+ k8 U- e% f3 ?* j8 K
  385. STA $B8" @! n5 P1 y+ z* e
  386. STA $B9
    3 ^' W$ W2 H, c& ]
  387. STA $BA
    , y3 E' |6 Z& x$ m  H* |/ B( i
  388. STA $BB
    1 X6 ]" T7 Z6 W! ~8 m9 {- V3 G+ L1 w
  389. STA $BC) w$ T6 }* |& @
  390. STA $BD) d* p2 h3 j" {- i6 y
  391. LDA #$005 @  W0 L, Z8 W$ c) W- E
  392. STA $7FFF5 X' u/ {$ W8 l6 |8 |+ y+ k0 [

  393. - `  _7 j  p; ~
  394. WL0:2 b# v* r; i5 j* V& x- c2 v
  395. LDX #$00
    * {( y' M1 Z5 {# d
  396. LDY #$002 Y) ?: L& N" o
  397. LDA #$000 B; u+ t9 X2 _
  398. STA $BA! P- L" M) m+ N0 R: Q) j  ^- c7 z: [! x, _
  399. LDA #$20! V5 i$ R6 }6 \
  400. STA $BB2 r0 j  C. `6 ~4 T
  401. LDA #$00
    ; |1 _/ C. w5 A  C
  402. STA $BC
    5 z6 d) D- H9 h' L5 {
  403. LDA #$60+ X% S8 f; P5 U3 W. S0 T
  404. STA $BD
    ) H- V8 Z2 c% D! {+ }
  405. 8 T8 z$ M7 I- p& K3 C) A
  406. WL1:% d7 X/ n. W" i+ h- f+ J- W) W
  407. LDA $BD
    ) Y9 O+ p6 `! b0 g; ?1 N' P; c
  408. CMP #$68
    & m0 u% D  f* m" Q) B  M
  409. BNE WL20 ~7 k) ?) ~2 b- ^. _* g
  410. LDA $BC. L# Y1 I- j/ X8 X
  411. CMP #$00
    - D1 ]3 b4 q/ X7 Z+ m- c$ o
  412. BEQ WLR/ W3 r( G+ M2 {0 R. l/ X
  413. + `2 J2 h" ?, q- t0 K, ^/ M( z
  414. WL2:
    ' R3 e1 O% V6 o& a, J& ^2 j4 }
  415. LDA $BD% `- _$ ]4 V! d7 O
  416. STA $2006
    ; `: b" [1 C0 v4 f5 n+ R" Z) m+ s
  417. LDA $BC
    5 p# [5 \' J* j) _% o9 y2 D$ x
  418. STA $2006
    ) `' h1 W. x) r6 V# l
  419. . |8 J: D9 F! u/ P# W2 }
  420. WL3:
    ' g+ v! ]. U9 Y1 p
  421. LDA ($BC),Y, |3 \$ W% J, _) r3 b( l
  422. STA $2007
    ) a2 G0 b+ o1 J' h0 u; T  W, I; O/ q

  423. 2 T) Q$ V9 c! ?9 q! a/ }: N/ v2 N; \
  424. WL4:) r6 h9 H$ H; b% h  N& Q+ d
  425. LDA #$002 ^$ D* m5 x0 t) K, }% p0 S  I  S
  426. STA $2000
    , l# a( F2 c% `
  427. INX
    : q- m2 n. b8 w- |/ ]3 ^: {: v
  428. INC $BA
    : w1 k  V+ H  C1 j. u+ r
  429. INC $BC
    ! x: Y$ W: r  p* `* t+ Z
  430. CPX #$00; R6 _# L5 B! ?* D% W6 f2 f
  431. BNE WL1# y; c2 i! G" `! W0 i
  432. INC $BB% y2 x/ I  z. \* [, z+ y2 v
  433. INC $BD
    , E0 N& E" d1 B; W/ m, `4 w/ s
  434. JMP WL1
    ; Q6 D8 M2 U/ P- f% w
  435. 5 I6 V$ G* P9 ^& Q; [, n
  436. WLR:1 n! Z% U; y: H2 \
  437. LDX #$00- ^8 |6 j7 a0 ^) G& k
  438. COPY_7F00_7F3F:; s+ i' ^9 |! \. ]7 w$ w1 l
  439. LDA $7F00,X
    ! r4 W2 D7 I( ^! y# P) {; h  R
  440. STA $07C0,X
    7 D& K7 L  N3 w
  441. INX; T" _* i5 J- i6 c. }4 h9 \% |  n) r8 w
  442. CPX #$40
    + q: P3 X" }! I2 }3 e' n/ I) n% v
  443. BCC COPY_7F00_7F3F
    ! C- G' T, b" z% K  j' l6 i
  444. & W3 O7 u# M) U# |$ \
  445. LDX #$00; q7 u8 ~! J" R1 N$ z
  446. LDA #$3F
    ( G, W5 w5 ]# F& k& a$ k8 l9 B0 A
  447. STA $2006
    # G! @$ \/ y2 d, l, Z* ~- b
  448. LDA #$00
    * {/ Q% z  ~# H
  449. STA $2006+ o  V/ h# N6 v- k+ [* m1 B
  450. COPY_7F00_7F10:: j" h( O/ ~- K; c- Q+ z! S% r6 t% U
  451. LDA $7C0,X
    & Q2 t0 g5 ~" G' l
  452. STA $20074 X$ b( c4 |% ^( U% M
  453. INX6 r' @5 X5 G+ b9 a: q$ n
  454. CPX #$10! J/ U/ |- V9 P& [/ |
  455. BCC COPY_7F00_7F10
    5 o1 Y6 m) }9 z* M5 a$ \. F; u3 H
  456. 2 \" B& P! P  R' {& Q% n6 o2 k
  457. LDA $2002
    ) \5 _& n& I) }$ L
  458. LDA $FD, R- J! G7 |- q3 o5 ^% f
  459. STA $20055 U( g/ B" M. m# Z5 u9 w
  460. LDA $FC! f& n- l$ Y; D* K4 B+ G
  461. STA $20055 x$ Z% r7 m/ d* A
  462. 3 X; C" C* }1 ~
  463. LDA $7F50( ?6 Z" q, h4 C4 Q$ ?; N: j
  464. STA $FE
    ' u+ D  e1 Z' A# i
  465. LDA #$00% Q* V. }/ j- {$ i6 `& w" i
  466. STA $2000
    5 |1 K9 w" {* x$ o% H$ \) ^0 _: T
  467. PLA
    7 j6 u& m) C8 N3 V1 o  ]: x5 ?
  468. STA $B8
      A# T3 E0 E7 `+ b" c( v  l
  469. PLA
      s: _8 u- }+ M0 L  C
  470. STA $B9
    : B# |  `! P2 e; P' [
  471. PLA; M: H4 D; Z' z" |$ _. T* C- |
  472. STA $BA
    8 z8 w& q$ v* `
  473. PLA/ w1 Q' A5 L$ |/ N  G
  474. STA $BB
    5 t1 [2 j: n7 M/ j
  475. PLA
    & J; Q& u8 O5 E) B, x
  476. STA $BC# M1 M6 P5 E: ~
  477. PLA
    & J* w2 O1 ^5 n+ U8 L
  478. STA $BD+ g, C& J0 r" X6 V3 F1 Q4 v& G5 K: ]$ U
  479. 6 f: w3 u3 C8 B3 t0 b$ K- L8 o
  480. RTS4 a2 K2 C& d4 |9 E9 Y  Z5 s
  481. / ]2 d2 `* {5 F- m% B/ X5 U* j
  482. PPU_CMP:
    : x9 e& f% D! a3 K  o) j& \2 p

  483. " F+ z: p' t) G4 s$ E# l
  484. , O" I- w$ w2 d: v0 b" B
  485. PPURE:  Z7 f+ y6 L7 s! u. X* j* X3 ^$ y
  486. RTS
    6 F7 J% j0 N9 ?

  487. ! Y; [/ R! D4 X9 }, g- z$ w0 o

  488. 7 C% W% j4 ]+ n* z$ w
  489. FREE_PPU:
    6 S* T; {3 P8 p! c& q! S

  490. 7 n3 x) d4 Q! h0 b
  491. JSR TEXT01_PPU
    ' A; B+ c7 {9 {7 u: }
  492. JSR $CBC0+ E4 J6 h3 }& R$ b/ u1 l1 x
  493. JSR P1_PPU2 X$ z- T1 \8 }9 w
  494. JSR P2_PPU  M5 b, T1 q- ?( m% M& }7 f; x
  495. RTS
    7 {. y3 h, w- w9 ^2 ^

  496. ! [8 I! G5 n  D* y# y
  497. TEXT01_ADDR:4 N, b+ Q$ [7 Q: `% S% U
  498. .BYTE $20,$42
    & E8 w" G9 R( r5 V6 e5 J, N5 B
  499. TEXT01_DATA:
    7 L" R( u  a$ ~
  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: m# N7 Y4 D# Q5 m% i
  501. TEXT01_PPU# |+ ^6 T6 @9 A
  502. LDX #$00
    : Z# I& x2 E# I3 ]. }3 w) j4 D( B
  503. LDA TEXT01_ADDR/ g$ `) K5 Y' V, `5 K9 r, E' l
  504. STA $0703" ]5 F) i4 b# t7 p8 N$ P
  505. INX
    ' p( q' X8 o  [% Q
  506. LDA TEXT01_ADDR,X* b! Y7 p$ Q' o+ i; y6 s
  507. STA $07048 O8 u5 E6 d# A$ {0 G  e" ~
  508. JSR PPU_PROCESS0 u& [: M9 G$ ^/ V3 ?, N$ b% X
  509. TEXT01_W:' O7 r  S0 Z: P7 U. G
  510. LDA TEXT01_DATA,X6 U( a% u! w% m$ `
  511. CMP #CEND
    $ _$ y, {+ \9 A( {- f8 i% B9 u" \
  512. BEQ TEXT01_START
    2 t" r4 ?8 H. l! [
  513. STA $0705,X
    9 r) C1 ~! g( h7 _' Y, P
  514. INX
    ' H& y1 p) [* ~" H8 u% x7 \
  515. LDA #$001 b$ M. U* h! k. f
  516. BEQ TEXT01_W
    ( {4 J( r/ x% `2 B
  517. TEXT01_START:
    . r+ u" D4 ?4 y0 V4 h) _4 Y5 U* g
  518. JSR PPU_START7 Y+ i! c3 s6 V3 C+ }, [
  519. RTS
    : i  i1 v3 R6 ?4 O4 m3 L
  520. 0 b4 C$ e, f& y- Z+ Z2 ?6 `- ~7 E

  521. ; v" f* V5 t" L
  522. COLOR_DATA:  t4 |; R+ k' E5 Z2 w0 [
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    6 B# }) u+ k5 U0 L# [

  524. 8 J( F; R8 v% k- a# J8 ~
  525. P1_PPU:+ F! ?8 L1 l% ~' L
  526. JSR PLAYER_01_PPU
    6 V5 S8 Y: r: }
  527. JSR $CBC0
    / m/ S- A4 v8 \) \
  528. JSR RELIFE_P1_PPU% B6 f/ H  x* Y" d
  529. JSR $CBC0
    ' d! r% C1 [4 G3 y
  530. JSR RELIFE_NUMBER_P1_PPU
    ' e6 [; z; V: Q$ s7 D
  531. JSR $CBC0
    + o/ Z3 r) |7 X/ d& T5 F
  532. JSR WEAPON_P1_PPU
    2 R0 w# w" e& Q+ A. K5 V2 {; T
  533. JSR $CBC0
    1 S2 I8 Q' G- j1 W) J; F
  534. JSR BULLETPPU_P1_PPU
    ) J. N. L2 R. W
  535. JSR $CBC0* H) I- }7 {0 ?9 c* t' i( Q
  536. RTS: ]9 p% d) G* s8 v+ V* d- b

  537. ! V, h8 T! k/ |% ^* ~
  538. P2_PPU:
    / j* s5 @3 m( y+ K: y4 j3 c4 t
  539. JSR PLAYER_02_PPU" J9 k& Z0 j8 ?) U; H/ y% d4 ?
  540. JSR $CBC0
    : \# p1 m+ ^6 T! I5 ~
  541. JSR RELIFE_P2_PPU9 ~0 n! s7 f7 I( L4 m
  542. JSR $CBC0
    2 b3 G* o: @; n! I5 ]& K
  543. JSR RELIFE_NUMBER_P2_PPU6 O* j: Z! `' h9 W7 }# O
  544. JSR $CBC08 b* D, p# `4 X( M
  545. JSR WEAPON_P2_PPU. k! f- c. T+ ]  B8 k. A
  546. JSR $CBC0
    ) R. u, [: z+ S
  547. JSR BULLETPPU_P2_PPU
    6 O) z5 w8 W# y- r$ p
  548. JSR $CBC0) p0 n3 h! M1 P: o9 j$ i) {1 f
  549. RTS$ X" [# [$ U' c8 u0 x
  550. 2 x3 U: V% D  {3 W6 H. W# W
  551. ( {/ `0 G  ?+ r7 [' \7 ^+ V- z# G, h
  552. 9 b8 a2 g% h( d9 S. C* H7 w
  553. PLAYER_01_ADDR:
    3 e5 v- |% J( |& `2 u+ h( w
  554. .BYTE $20,$A3" o% h! `- x7 p3 x* m) v/ N
  555. PLAYER_01_DATA:) S  `5 i% o: n3 l( V
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    1 n$ v0 X, s) |6 K+ F/ o0 r9 Z( v
  557. PLAYER_01_PPU:0 @. l! v! V+ _/ C7 x
  558. LDX #$00
    % c& P0 N$ D( I7 O6 \% J' k
  559. LDA PLAYER_01_ADDR
    + k$ N( m+ E6 k- P0 B
  560. STA $0703
    . c6 A/ `7 y/ ^3 q8 `/ k
  561. INX9 Z& N- N  p* d/ g4 s6 B
  562. LDA PLAYER_01_ADDR,X# V( n. n; T" \( I& N
  563. STA $0704# n' W+ a; `" @
  564. JSR PPU_PROCESS
    . H3 M2 t. U0 [" v  D
  565. PLAYER_01_W:
    2 P& ?# L" U: S
  566. LDA PLAYER_01_DATA,X
    : C. N! [& W/ c2 R! s
  567. CMP #CEND
    1 S9 \) j9 ?/ W+ ~' o+ i
  568. BEQ PLAYER_01_START
    ) E! F3 R$ J) r; y1 {/ W9 b
  569. STA $0705,X+ r5 D! ~+ d$ ~8 Z, b2 F! Q$ N! Y3 @
  570. INX& O3 ?5 V* A+ ~  B$ f) ^
  571. LDA #$00  F; n& f/ K( y; s4 B* b. z# y
  572. BEQ PLAYER_01_W
    & P$ U; ], V. B% x# ~4 z
  573. PLAYER_01_START:
    - D0 X6 W; o+ d  r# N' n
  574. JSR PPU_START# m/ G9 Z" g! u$ g; {* `2 V
  575. RTS4 v" d1 @" M  b, @0 a* I& M( A

  576. % N# M: d# c6 \$ m+ [) t7 j( w

  577. 3 i, p8 H/ h7 i+ _$ }! a- m! v
  578. RELIFE_P1_ADDR:
    : L  s9 v' X2 ^
  579. .BYTE $20,$E3) w# g8 Z0 O( q/ C
  580. RELIFE_P1_DATA:8 A6 \: M  k7 V+ ?$ X0 k& _5 Z
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ' ], v: b/ `: `6 ~( {0 i
  582. RELIFE_P1_PPU:
    2 g, c& s5 U) r
  583. LDX #$00, s% B8 D* ^# \8 X9 |) ]
  584. LDA RELIFE_P1_ADDR3 n) v( Z' ^  [) N4 |: x$ H
  585. STA $0703" k2 l" B7 M! h' S. p. U
  586. INX
    , A- M9 [; l' [- L( G
  587. LDA RELIFE_P1_ADDR,X/ B9 W$ ?, p; X( u9 @+ q# _* M' H
  588. STA $0704
    4 Y& ]& h, R3 q8 @. B. s# |- W$ m
  589. JSR PPU_PROCESS2 I' Q# @, @8 b: n! Y7 i* }
  590. RELIFE_P1_W:
    2 @3 n4 c  C# T) J8 Q
  591. LDA RELIFE_P1_DATA,X! i$ D' ^! M" D! _$ J- P; R
  592. CMP #CEND
    5 P( A6 {, s4 N" h$ [# r
  593. BEQ RELIFE_P1_START& N8 y0 X$ L6 |4 T" j6 h% _" z
  594. STA $0705,X
      o( c, P& V& }6 I# f% Z; e- b0 S7 e
  595. INX5 I/ }6 L5 q0 [: j; v: F/ b4 N2 Y
  596. LDA #$008 `) p! W5 r& m
  597. BEQ RELIFE_P1_W
    0 w8 c) K4 B  v3 b
  598. RELIFE_P1_START:4 T" o9 w: ]8 ^6 G+ H/ ~
  599. JSR PPU_START
    8 z1 N* P" N$ n& _- }
  600. RTS
    . W3 s: C9 s4 ]) X5 _/ ?. M% F

  601. # X3 {$ f5 K) p- n9 t3 m# }/ P
  602.   V- d$ W  q- j9 v8 P& T
  603. RELIFE_NUMBER_P1_ADDR:
    - Z* {8 M- \( b, A, u
  604. .BYTE $20,$EA
    . Q% I) ?  c2 w2 }, `
  605. RELIFE_NUMBER_P1_PPU:- D! e: O  s" V0 U' f) P4 x
  606. LDX #$004 l( H! z. o/ K
  607. LDA RELIFE_NUMBER_P1_ADDR+ d; V5 L4 R3 Q& K
  608. STA $0703! G( q) j) Q, w7 a: ?' R, N
  609. INX/ c, s9 H( o8 o7 A. S
  610. LDA RELIFE_NUMBER_P1_ADDR,X# z# w; p# v' _- z
  611. STA $0704
    " L3 I0 y; E5 B4 r( B' g
  612. JSR PPU_PROCESS  t1 F" W$ F1 u2 ?  K4 o9 ~, M
  613. LDA $32
    ' T4 u- ~5 R8 x( ^; q
  614. JSR LIFETODEC  j0 k9 }( |. p8 h
  615. RELIFE_NUMBER_P1_W:
    / p7 P) n' y9 a9 u/ M
  616. LDA $7A03
    3 ?) P/ k0 d7 a( N4 B
  617. STA $0705
    ) K& t& _2 I9 D
  618. INC $0705
    7 Q" ]: r! c9 a, }  G. p
  619. LDA $7A04" {; l. |7 g# z9 Q5 W
  620. STA $0706
      e1 T* g8 h: Q6 m" g
  621. INC $0706
    5 W# P' D) }+ \- n
  622. LDA $7A05
      f! R6 A$ q% z$ A( ?! p
  623. STA $0707
    6 P' @) U2 a5 b: C! s: F8 D
  624. INC $0707
    + B) n1 n+ p. S  U% s. f+ N
  625. LDX #$03
    6 P9 _! O2 K7 ]* z! s% ]
  626. RELIFE_NUMBER_P1_START:/ C3 W9 v% D% b; m9 O0 l5 A
  627. JSR PPU_START, V- q+ {" e; Z# D# A
  628. RTS
    ; ^+ r* |  M; _6 E

  629. 0 d+ \. c& ?* T0 p7 p
  630. WEAPON_P1_ADDR:; |" j6 w" P* E$ b7 d- U2 v
  631. .BYTE $21,$23
    - S1 g+ `/ G0 ]; O
  632. WEAPON_P1_DATA:  ]' K' {& ^  V3 ?* N
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND8 L8 d6 t' n$ _2 ]
  634. WEAPON_P1_PPU:4 e% W- ^, C: {' N$ f2 u
  635. LDX #$00) k! o% B0 o  b, a: I7 @
  636. LDA WEAPON_P1_ADDR1 X' ~8 P1 Z9 s, C; K: c
  637. STA $07038 _. z- m& V. Q4 i
  638. INX1 |" ]9 R7 j6 R" i+ f5 \
  639. LDA WEAPON_P1_ADDR,X) W) L5 I; {2 B% c* `
  640. STA $0704
    : k2 f2 `, I* g! `
  641. JSR PPU_PROCESS' Z# F, n" z( E; b, t% e$ n
  642. WEAPON_P1_W:
    8 Z' P1 V2 K' d! b& M" A
  643. LDA WEAPON_P1_DATA,X
    . \3 J( d$ P1 X( w
  644. CMP #CEND
    ! H3 {: T1 y0 B  u
  645. BEQ WEAPON_P1_START/ [! D( l1 R) [( d" R: e
  646. STA $0705,X9 ^* H* H" M% p: L7 j
  647. INX* j" ]* g, p  G0 V5 }
  648. LDA #$001 O5 z  I: [$ y5 n
  649. BEQ WEAPON_P1_W
    % B) C0 L. _% Y& z, a
  650. WEAPON_P1_START:  D6 e% H/ C1 s4 |7 i  v
  651. JSR PPU_START
    & d% C" [+ h; ^' i1 c
  652. RTS
    ; ~+ Z' C, H& e0 |
  653. ! @5 x: U; m' p! c
  654. BULLET_P1_ADDR:1 m% |4 t8 t* ]5 ?' [5 @
  655. .BYTE $21,$2A
    3 l4 ~  F. Q0 K3 Q0 j( t$ V) I1 B% e. _
  656. BULLET_P1_DATA:
    ; Z- S, B$ ?8 E5 r3 t# o
  657. .BYTE $00,$01,$02,$03,$04- j- ~) Y' p  R* M% y: [$ k2 \4 Y
  658. BULLET_P1_NAME:1 i* b* X; P% E% }' x
  659. .BYTE CN,CM,CF,CS,CL% C" C6 u/ A0 q6 D$ Q
  660. 1 M/ n: R% S$ ~- A+ u
  661. BULLETPPU_P1_PPU:; ~3 k% G2 S+ S; j  @. c
  662. LDX #$00$ v# m) N8 w. H1 U" R* N' W
  663. LDA BULLET_P1_ADDR
    2 D" D1 I) L" L2 L
  664. STA $0703
    5 j6 j* ?! ~. S3 m, d" Z" D
  665. INX
    3 I9 W6 G  \7 w; C5 v
  666. LDA BULLET_P1_ADDR,X
    " c/ X2 e! e$ C; U
  667. STA $0704
    ) q& }7 F& d0 R" s
  668. JSR PPU_PROCESS
    : D( u. ]* U; k  {, Y. h5 s
  669. BULLET_P1_WRITE:" i4 t' D" o: S9 D& o7 n
  670. LDX #$00
    % r9 f; X/ n. I4 f& k/ s
  671. LDA $AA
    " W7 i$ I- e5 ~+ z, q
  672. AND #$103 U3 k0 Q; d( F/ {& A& u' X0 E# ?' _
  673. BEQ C_BULLET_P15 e. ~2 g: d* T3 a* z2 u& E
  674. LDA #CS" A  R  J0 U! K
  675. STA $07055 E' z0 t' u' h  U% c
  676. BNE B_NAME_P1' h4 V3 C% ]" G9 d
  677. C_BULLET_P1:
    4 N* V+ W! U2 s" W, h; r/ @
  678. LDA #CC. {6 _& c5 U" o6 U9 m- N2 v8 J
  679. STA $0705. b0 g1 L; W# p/ m3 \
  680. B_NAME_P1:$ _6 B5 _# E7 t% W6 S) w+ \
  681. LDA $AA4 E9 d, Z; E6 g; m( p$ U4 x9 O
  682. AND #$0F9 \4 h( p, g, I& T  x
  683. CMP BULLET_P1_DATA,X
    * E! n& I1 _8 z3 {
  684. BNE B_NAME_P1_RECMP# e3 c3 \4 ?8 X8 M
  685. LDA BULLET_P1_NAME,X4 @* E7 {! H1 c" F3 G. z3 |
  686. STA $0706
    . L: q0 Q% K; I' p4 L8 T" a$ h" \
  687. B_NAME_P1_RECMP
    # E5 Q$ i9 W9 }& A  l
  688. INX
    / e1 B) f& T- ^$ t: J8 F' i
  689. CPX #$05( w5 q7 ^8 B2 r! x1 z3 N2 v* H! I
  690. BCC B_NAME_P1
    ( ^) q3 U  V, K4 U* i/ R5 Y
  691. LDX #$02
    * I5 Y/ {% [/ s& U6 S$ Y5 @8 h* r! c
  692. JSR PPU_START
    5 @% T( X0 _5 K# {9 X- T/ t  Q
  693. RTS9 C. T- z. J& _# e
  694. ! n' f  y- ~2 q6 I; y# [& y

  695. ( X6 X/ Y0 t4 l+ z; U5 \9 B8 Q
  696. PLAYER_02_ADDR:
    & W3 R! S: g& [6 ?4 m
  697. .BYTE $20,$B3
    # y, B% U- v% P$ K; g
  698. PLAYER_02_DATA:
      _7 |' F6 h, h$ H2 A8 T$ u
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND* g8 I. B! L" ^
  700. PLAYER_02_PPU:
    : I$ b7 k5 J. D: w. e/ u3 S9 [- V/ O
  701. LDX #$00
    4 y9 j1 Y% }# U+ K! a
  702. LDA PLAYER_02_ADDR1 R" R! `' N" l! ~1 w8 K
  703. STA $0703" Z: g! p! z4 Y+ b
  704. INX7 _$ W) `2 ]8 P
  705. LDA PLAYER_02_ADDR,X
    ! Y7 j9 a# @' D5 q3 R
  706. STA $0704
    & j3 G) E2 t* Z& a0 F5 n( G
  707. JSR PPU_PROCESS8 B2 C: t0 I# v3 N; m
  708. PLAYER_02_W:$ V- ]7 ~& y- Z) C
  709. LDA PLAYER_02_DATA,X
    0 R: @3 d/ j' X. |$ S
  710. CMP #CEND! p" p6 y: I" h* R1 \3 \# Q7 L
  711. BEQ PLAYER_02_START8 ^& x2 N) b. s) b" a* t% J) I
  712. STA $0705,X
    0 [* a5 \( M9 |) a! o) ?0 E& p
  713. INX: i7 w8 S! [2 z1 u+ t/ j
  714. LDA #$00
    9 }4 ]* U+ j3 v+ K
  715. BEQ PLAYER_02_W
      o! s; T4 P# j
  716. PLAYER_02_START:
    : O4 A/ x. P7 p* a! U; i
  717. JSR PPU_START
    ; J4 s2 |+ O/ M# |
  718. RTS) F' d+ j$ `2 c

  719. . w) t* g4 m7 m/ y: h9 G
  720. . ~2 A2 `) v3 e! |9 K
  721. RELIFE_P2_ADDR:
    & m. d# ?+ A/ Z4 n. |0 J
  722. .BYTE $20,$F37 @2 f7 d" d2 v" h
  723. RELIFE_P2_DATA:  P8 G/ M: @. y! v  X
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    9 C3 @0 c! V5 K) N
  725. RELIFE_P2_PPU:
    9 e, s# k5 K$ m: z
  726. LDX #$00' K2 m9 X  k2 D4 _0 P' r
  727. LDA RELIFE_P2_ADDR
      l$ Z) D5 I5 B. g1 [
  728. STA $0703% y& _! h8 r" \& k! j
  729. INX+ w$ `! b+ x; c/ c/ A/ [& c$ U$ L
  730. LDA RELIFE_P2_ADDR,X. l/ b4 ]! g% u* ~/ n$ J( I
  731. STA $0704
    5 f( R! W# G; ^7 ~$ z+ I0 h
  732. JSR PPU_PROCESS
    / `8 f, A" W* y2 J  o: }
  733. RELIFE_P2_W:6 @$ {3 u8 p$ T5 @  Y( ^
  734. LDA RELIFE_P2_DATA,X
    6 k/ L' x- l/ e5 ^8 A& ~
  735. CMP #CEND) p5 d+ d; g1 F( D' D( \* }& C
  736. BEQ RELIFE_P2_START
    % V* ?" F9 _) K% ?0 V
  737. STA $0705,X
    9 @- h) }* f  y" G. b4 R# a8 c" k$ L% q
  738. INX; s6 K7 s" u& T# P- j. Z" T
  739. LDA #$00
    9 [1 x- d5 ~0 L5 e' `% Z. X) A. k
  740. BEQ RELIFE_P2_W
    * r! J/ l7 W" f2 W- b9 I, K9 v
  741. RELIFE_P2_START:
      |2 U; [* j# q/ ]1 j9 H
  742. JSR PPU_START, V' j5 u! H8 v' z6 L$ e5 z( m
  743. RTS! Y" b' X- |* a
  744. % ~( c) J- b& H0 l6 @
  745. + O1 ~" x7 U8 F7 g& ~" }
  746. RELIFE_NUMBER_P2_ADDR:' G# L( I; t5 D, L2 m
  747. .BYTE $20,$FA
    ) v* v( ^1 \6 e1 w5 s3 [
  748. RELIFE_NUMBER_P2_PPU:& o5 \, p# S# w7 u% y
  749. LDX #$00# ]0 K1 T, W6 |( j
  750. LDA RELIFE_NUMBER_P2_ADDR
    - X" v2 @0 c: p& u: h4 t* n7 z
  751. STA $0703
    - T* S: ]; T1 D  P/ n* L, O2 S
  752. INX; t" S  |0 I; G% E  i8 P' V) c
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    ; z( r+ @! {/ `. z. M2 g$ }! a0 B
  754. STA $0704# d3 K" A* i5 F7 k  }# @3 c6 ^
  755. JSR PPU_PROCESS
    ( l5 \* n" B0 u0 a8 T, S$ t* O
  756. LDA $33
    5 P* a. n; h2 m
  757. JSR LIFETODEC/ |- S1 K: a6 B* w& p& O0 `
  758. RELIFE_NUMBER_P2_W:3 d- N# F' R5 T' I4 Q+ F
  759. LDA $7A036 x  K- ~; V1 D" h1 j4 g, E; M8 C
  760. STA $0705
    ; t, Y. Z' x" q/ W8 }$ D
  761. INC $0705# `3 @. f* ^, s3 k# H
  762. LDA $7A04' Z3 y6 D8 r1 S3 g3 H7 X# a
  763. STA $0706$ J3 L+ Q* `1 N
  764. INC $0706
    0 Y. l) x0 o6 q
  765. LDA $7A05
    6 g: I& Q8 r, ]1 I
  766. STA $0707. B+ k& j2 n4 ~
  767. INC $0707, y2 I( \& F5 k: g" A
  768. LDX #$03$ b! N( z, j7 i7 ^) i& J: I
  769. RELIFE_NUMBER_P2_START:- k: J$ u7 h+ {- b0 y
  770. JSR PPU_START6 d5 @: s  X9 N7 v! K
  771. RTS
    . S. v8 p$ M4 W& \& ?

  772. 0 u$ ]% p9 ?& [  j- A
  773. WEAPON_P2_ADDR:
    # \& A* Y- \+ g
  774. .BYTE $21,$33
    1 h" u( q7 ~6 K
  775. WEAPON_P2_DATA:
      C  i. t  Z4 ^' B0 X$ d
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    ! L8 E6 V8 G% q; I9 i1 W
  777. WEAPON_P2_PPU:5 I4 q! ~' N) \! g9 @
  778. LDX #$00" _3 q  |) g2 e5 f7 h+ u
  779. LDA WEAPON_P2_ADDR
    5 M( v4 E! [3 A; q" r
  780. STA $07030 ~2 b& P2 Q- g
  781. INX: x+ k% L  Y, L' W% n/ [
  782. LDA WEAPON_P2_ADDR,X- Z# F6 U/ o7 ~- U. `+ H
  783. STA $0704
    9 w  C7 J* V1 K; D3 B  l4 O
  784. JSR PPU_PROCESS
    3 b! [1 O% q6 }
  785. WEAPON_P2_W:
    ! B8 }4 j1 D( d* _% s) J& W
  786. LDA WEAPON_P2_DATA,X# @1 E$ x2 G( h: c1 {7 H9 K
  787. CMP #CEND
    * t6 `8 L6 ^$ t! x; j' h2 ?1 {/ z
  788. BEQ WEAPON_P2_START
    % s+ b4 n6 D: r) e
  789. STA $0705,X( N0 y0 O# `, |0 ^; d5 [: X
  790. INX3 E5 A; f/ V) N/ Q" Z6 v' k* _4 J
  791. LDA #$004 T3 v$ U& E! X- O8 i0 a* A
  792. BEQ WEAPON_P2_W
    - s5 H9 S- o+ a' t1 H; b; R4 p
  793. WEAPON_P2_START:
    6 X: ]" K" Z0 a6 T
  794. JSR PPU_START! M8 t3 `* X% u0 f& a& g
  795. RTS/ _6 t4 b5 L2 K" A

  796. # T9 x# I; n5 ~* r
  797. BULLET_P2_ADDR:
    ! j6 R3 I/ T! i4 c
  798. .BYTE $21,$3A
    * W+ y3 w* N0 y. d$ T  R5 b* j
  799. BULLET_P2_DATA:0 g# r/ Y8 a' k8 n$ R- e
  800. .BYTE $00,$01,$02,$03,$04
    ' U4 E+ w9 m' K9 X! k  a' U
  801. BULLET_P2_NAME:- w) y/ v* D* b/ x& E1 D- T6 J
  802. .BYTE CN,CM,CF,CS,CL; c5 E& H# ~- c* l5 v. n2 q
  803. & G! s) T" c; H3 q
  804. BULLETPPU_P2_PPU:
    8 z' r5 J- h) x
  805. LDX #$004 T* i) h3 E- O8 I/ s; [! \+ F3 X
  806. LDA BULLET_P2_ADDR
    ) f' W) G2 t. S) U; c0 H
  807. STA $0703
    . D' U# |% S- s  |. V: m) I
  808. INX7 x2 \( x& a8 V0 K# e/ I5 j( g
  809. LDA BULLET_P2_ADDR,X
    6 Y+ [! r4 P% E  M
  810. STA $0704! Q. O- t' M4 F5 g
  811. JSR PPU_PROCESS/ b: }6 b# [" `6 t4 S% G
  812. BULLET_P2_WRITE:( D1 K) U7 L1 A4 M$ |- _0 t% V
  813. LDX #$00
    ( p8 V! W% N8 A9 S0 ]
  814. LDA $AA/ d2 I; N' f( y2 K( ^9 M2 ^7 p
  815. AND #$10
    ( g9 q/ S! c  x8 @$ \2 @6 @
  816. BEQ C_BULLET_P2/ _( e9 k/ b& s- X" v
  817. LDA #CS
    0 k# V" C! W7 N! V' `3 g
  818. STA $0705
    . `5 {. Y6 X4 y# O% K) T, M
  819. BNE B_NAME_P2
    $ c5 ?( ^; t% G) P$ V: P7 b% K' V$ F& M
  820. C_BULLET_P2:6 h6 R, x% {3 b% \) P
  821. LDA #CC
    ( z1 Z" c) g% w' J
  822. STA $0705: J/ G, V. j9 t+ m* F
  823. B_NAME_P2:# l, q. k/ `: c+ q' W: J
  824. LDA $AB; P6 m6 F3 c4 o6 i$ q
  825. AND #$0F9 K: O0 @+ |' r  {2 I* s
  826. CMP BULLET_P2_DATA,X! j, X+ b8 g9 m/ }# U5 h
  827. BNE B_NAME_P2_RECMP
    ' z$ |* Y! B, q8 W: m3 D" U
  828. LDA BULLET_P2_NAME,X
    6 K4 ~1 _; K2 @, u% S, u
  829. STA $0706
    2 q/ [1 R( P& Q
  830. B_NAME_P2_RECMP0 ~+ T- I$ }$ e. k% _0 R7 f9 o- o
  831. INX9 J" y% B4 P' N3 g
  832. CPX #$054 A7 I! |  Z; [) }4 i  }) {" J
  833. BCC B_NAME_P2: `% L. p8 i! S, }3 A7 X4 T
  834. LDX #$02) j- u9 W4 }  z" X; S% ]4 T6 H" {
  835. JSR PPU_START0 L8 b( C- T5 K. X) W! C
  836. RTS5 c9 f7 D* Z* h: U

  837. $ _: t. O" [+ j* I. B- \1 ~
  838. 7 C, P. M  a) X: D

  839. " d# H1 P1 e1 ?1 ~  W8 Z% x

  840. 7 S8 e+ w; x0 B* E5 u+ N9 L8 i/ L

  841. # \4 B: @9 T$ |; S7 z( @% @
  842. 3 ]; B1 b8 g& N5 |$ C
  843. LIFETODEC:                ;十进制转换3 J; Z( z5 H" q) s: a4 ~, M
  844. LIFEL1:        ;initialise5 o0 O' d7 Y1 L" X) `
  845. STA $7A00        ;$7A00=F3
    * \( k1 l* Y0 A1 g. g
  846. LDA #$001 N5 ^2 ~7 W/ `' p; s1 I/ l; [
  847. STA $7A03        ;$7A03=00
    * W2 [. K1 r1 E8 S7 Z8 O
  848. STA $7A04        ;$7A04=006 S+ I8 E1 d+ r% J
  849. STA $7A05        ;$7A05=00
    # Y' h% a/ ?6 {+ ^: k
  850. LIFEL2:        ;copy data $7A00 to 6001
    2 ~  N7 f3 b, r# w, B- S
  851. LDA $7A000 m8 K9 J+ r& j, E6 O! J! B, E) N
  852. STA $7A01
    ( ~* U& ?0 O, }! n6 P
  853. ( }; B% \% t$ A: q% P5 [
  854. LIFEL3:         ;hundred- ~" Q8 P0 @6 g3 k; O" y
  855. LDA $7A01& i$ Y4 z6 i! t0 J* G
  856. CMP #$64' [$ V8 k, Q9 K9 R
  857. BCC LIFEL6                ;$7A01<100 goto L6- f' R# Y# T5 a& |; c
  858. LIFEL4:8 l1 S9 Y" e% }; W# ?
  859. LDA $7A01
    - q. T; _6 ~. K6 z$ ^' s) `
  860. SEC
    - g6 I" \5 \. U( ~4 g/ _
  861. SBC #$64        ;$7A01=$7A01-100' N: a9 x1 {7 J0 g8 A4 q4 p
  862. STA $7A01
    6 P& x7 R/ ~9 E
  863. INC $7A03        ;hundred++
    + a: [4 |! S  [2 H0 D7 d# @6 v
  864. LIFEL5:+ Z" A; i$ Y0 c! O9 G1 ^9 x  Z
  865. LDA $7A01
    , S5 ~; X* L' k. b$ u
  866. CMP #$647 f8 ]6 w/ c$ y$ V0 A' F
  867. BCS LIFEL4                ;$7A01>100 goto L4
    . i( ~: L* Y6 K  B* y; D0 d
  868. : x# s' h1 O) N5 L' ]; s) m
  869. LIFEL6:        ;decade9 V% i# j1 T8 d
  870. LDA $7A01  ~2 f7 p3 h/ o. l. f5 G+ [. Y; `
  871. CMP #$0A, g% x+ d; `" n2 Z- _5 S1 [, r
  872. BCC LIFEL9                ;$7A01<10 goto L96 v1 w' m' S4 c/ s
  873. LIFEL7:        . x. F* Q- G: A# X" S
  874. LDA $7A01
    7 f$ Y  `) y* N: y. @" a  w
  875. SEC8 d6 L' w  |3 ?
  876. SBC #$0A: h* K, r2 N7 B0 c8 O( k9 ^; `
  877. STA $7A01        ;$7A01=$7A01-10
    # N# K' I: e+ J: b
  878. INC $7A04        ;decade++
    $ o/ i4 J5 F3 n7 S2 b  I7 D
  879. LIFEL8:. V6 R  h2 I( Q* g- s; r
  880. LDA $7A01' D+ R, i6 G# t0 k% F7 C5 z
  881. CMP #$0A8 X# V( i9 ~! C6 d- V# E0 ]7 L3 R! C8 l
  882. BCS LIFEL7                ;$7A01>10 goto L74 n9 w+ w" r! A! |6 Z
  883. ;unit9 T: b  v+ {& V2 F5 y, a
  884. LIFEL9:
    ; N+ x2 u/ n- o2 X1 P
  885. LDA $7A01        ;$7A05=$7A01
    4 y* |/ @0 Q# }! F
  886. STA $7A05        ;unit
    $ F! q% A$ U$ Q" O5 d5 F/ I
  887. RTS        ;return
    & @6 o( U1 `" p% J8 Y
  888. 1 n2 A, I( N9 U3 e. V% M* ?7 n

  889. 1 ^9 M/ ^6 U8 i" p* N( S! D8 `0 o
  890. 1 l/ \0 q) y) N' k! k  S* n: y
  891. PPU_PROCESS: ;PPU地址处理程序
    2 |7 l3 V8 @6 F
  892. LDX #$00
    / v9 Q0 x! L+ {, d/ [  E
  893. LDA $FF/ w: ]0 \+ ?0 ]2 G, o+ @6 a4 F
  894. AND #$01
    # ^3 ~$ Y# A1 J  G
  895. BNE PPU_2400_27C0& Z+ f& q, U% |) s/ @
  896. PPU_2000_23C0: ;命名表1: n+ V; ]% H0 Z, Z) \
  897. LDA $0703
    1 C" I# w' `8 u% |) b5 s# b
  898. AND #$FB
    3 U/ y$ ~. i/ L
  899. STA $0703. K* t5 b/ L2 b/ |% [& j1 [
  900. RTS3 [5 m7 ?- m( U+ s$ g9 p
  901. PPU_2400_27C0: ;命名表25 N1 [% L; w# ]0 ~0 i
  902. LDA $0703
    ; q3 g8 O. H, }& r( e' @9 C6 o
  903. ORA #$04( H) Q* f( |/ Q- L/ R: R
  904. STA $0703/ B! {+ e% y9 {' Q* H! H
  905. RTS
    ( [$ x. s( \& ^  L0 c/ R9 W
  906. & p1 h: s+ i% {: p- b; u
  907. PPU_START:  ;PPU数据写入' {: n% r! v1 E8 ^1 J
  908. STA $21
    3 v* u5 k2 v% K
  909. STX $0701: a8 G. M2 @0 I( U" B2 \) x
  910. LDA #$002 f9 t! I1 L2 b7 R8 N/ a6 P
  911. STA $0705,X
    0 u8 y. M! l0 t5 X. z
  912. LDA #$01
    % S3 _. _* x( b0 W* q0 W3 d- v
  913. STA $0700
    $ c0 l+ a- k" ~
  914. STA $0702
    ' z; A0 J0 D: f: ], o) @
  915. RTS
    ' H, |) f2 L5 v

  916. 9 ]- {, j1 {0 y2 R
  917. # J* u& @8 B0 k" Y' n  f

  918. , ^& z5 w1 O- d9 Z" C# m# k
  919. 3 I- j0 @  {: K) E8 j/ V

  920. , |6 a/ i. ?0 h" L

  921. ; H5 t. S- P' \+ v
复制代码
. w$ m9 S2 ~  n' {4 z) v

本帖子中包含更多资源

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

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

签到天数: 2355 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
) ^) ~* H! Y  _" x" Q6 l3 Z# y

签到天数: 2581 天

[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-11-20 12:08 , Processed in 1.080079 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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