EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    " |. a, }* C- Z* W' J
  2. 作者:FlameCyclone/ O+ l- D4 B9 L0 E6 i# v$ b
  3. 时间:2017.2.12# Y- C  T8 ], q9 G1 S

  4. / }8 m+ Q3 k. @: E. b. l' U6 N; `/ k
  5. 按键跳转:
    & ~: H) v6 L3 X1 \2 k* f0 O
  6.         C1EF:95 F5 94 F19 ^* a/ o" t* B* V- D$ P
  7.         C1EF:20 70 FB EA
      I( @8 b& h' G! }; ]
  8. 2 ^! N( S" U/ k1 A9 O. o
  9. 滚动偏移:0 r2 Y) g  H" e7 p
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    7 A& J) C6 g  U
  11.         F936:20 C0 FB EA EA EA EA EA EA EA# U2 X0 f' S; t+ T" V. l

  12.   J8 o  F0 V5 K
  13. 背景调色板:6 k5 X) a  p0 J
  14.         CF20:9D C0 07( n% Q5 o- Z. v' E
  15.         CF20:20 A0 FB
    3 G% n2 d/ j/ d7 m% }( D9 p

  16. 3 W0 Z# A2 B  G, c4 \& y+ |0 d  e
  17. PPU BANK号:2 F4 O" L/ f5 O# Q# i0 B5 ]. R
  18.         C8C9:9D F4 074 C+ P3 w) q9 r# o5 _+ U6 S
  19.         C8C9:20 B0 FB  t, D; w2 n- X% @7 r: f1 M

  20. ) K3 g4 s% i" q. `1 T
  21. 按键跳转:
    6 ]) \, x! c) k5 C% x  J
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
      X2 i3 Z  @; _% k" `$ ~
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    ( p7 Y; }. ]! M, \
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF$ i- q" ?/ G( A! P. ]$ q

  25. " j+ K- p! ^) r
  26. 背景调色板:! g& S" c, U& }: q
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF. m) i/ s# B9 y# h0 `  f5 ~
  28. 9 Q0 x8 [4 H3 P* g/ I
  29. PPU BANK号:4 D; n, l6 U- M8 O; R7 |- P5 ^
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    " C) T. s: r* I2 a3 Z5 L

  31. ; \8 }: d. ~: c3 P" T. x
  32. 滚动偏移:) j2 H# ~7 X0 L8 i- q6 V+ ?/ U
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60+ B+ A$ \/ a6 y4 d; P
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    ; }% n; N" K; Y+ g; }  |# m. x, \
  35. # m. C# n4 s. [2 n

  36. + `1 i5 t% z! L. F
  37. 切BANK后A000:) j7 T; t( f, i6 y9 j5 O4 K- J% ^
  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* o) F  ^- F" R0 W! M1 j6 k
  39. ; R* B' T! I: @7 C( D- X6 Y2 ~

  40. # \" J- d) y" u" L# M, r# e  C# m1 M1 D( u
  41. 6502 simulator:
    $ X. e8 `/ g* D9 L2 L/ F; j
  42. PPU写入程序:- g. t2 B  R: j- G, F. o1 f- v
  43. .ORG $A000
    + F' `( ]6 O. @7 |# `& K
  44. CSP = $80
    1 H4 J/ K4 l& i! w- F1 p
  45. C0 = $812 w; I, C' H: F3 b* C
  46. C1 = $82
    - N  k3 F! r: l% l! h) e
  47. C2 = $83& }- d0 Z: h" A- m3 p4 w
  48. C3 = $84
    3 ~8 ]$ q3 B0 g* W) c
  49. C4 = $85
    * H, \, y) t) H. E) e
  50. C5 = $86" S" Q; C& _4 X1 h* a
  51. C6 = $87; b7 U: n+ w; F/ r3 B0 a
  52. C7 = $88
    $ E( L* q8 Y3 \
  53. C8 = $890 ~' ~: @* N/ m. p3 W* P. R6 Y
  54. C9 = $8A
    - Z; Z/ c2 t" e. W" G+ D
  55. CA = $8B
    . ^- j4 g7 w. }
  56. CB = $8C
    7 A- |0 N, I- Y' w( v
  57. CC = $8D
    " }, L  T4 k9 Q
  58. CD = $8E, ^0 {1 i1 f6 \4 H( ^) `
  59. CE = $8F
    - {: c  `3 a# V* w- l+ Q9 Z" p
  60. CF = $90" l% i. g3 U3 z6 d
  61. CG = $91
    8 z  a6 p9 ~$ N
  62. CH = $92' s/ d1 D- c, ?  I( }, P6 s9 x
  63. CI = $939 T0 k+ L6 I( I+ f8 U
  64. CJ = $94. }3 L) M8 g* d: z# i3 o6 z
  65. CK = $95
    ) Y0 r* j" \% i
  66. CL = $96! ]  c6 J, C; S* ^' z  U; a& o
  67. CM = $97
    1 P% |5 [5 k: ~# f
  68. CN = $98  H6 j- \7 h: g; z
  69. CO = $99/ [+ x0 S, }+ J& D( T! O
  70. CP = $9A
    & o9 Q) G( E7 e  F# h1 `: m
  71. CQ = $9B# z( }1 \" |4 d1 Y7 K& z2 K7 B& q" B
  72. CR = $9C1 ~6 c1 B3 ]2 L
  73. CS = $9D3 C: x0 N+ f. R7 k0 W- @5 Y# r
  74. CT = $9E
    * G0 k: [8 `1 U3 m1 y
  75. CU = $9F
    5 [* _$ k: k8 T1 U; F
  76. CV = $A0: P! p: ?; _8 g6 {
  77. CW = $A1
    ' `( R' P* h+ q3 {8 G/ e* I9 V
  78. CX = $A2
    , H5 Z$ J. y# M( ?
  79. CY = $A38 \& k+ m  `% s% k" @' _) @
  80. CZ = $A46 R: w+ |2 i- K. i: ^. D4 g
  81. CEND = $FF# b1 V2 |$ s# [6 W" f" F+ ?( Y
  82. 5 T2 V- _# s' b& |9 S/ p
  83. 8 @; O) t( a+ x6 f
  84. CMP_RE:
    ( i# K( X% W# Y) \) t" y7 K0 J& ]9 }
  85. LDA $FF# B. ?: p7 S, Q5 P* l, X
  86. AND #$7F
    1 K) r3 J# ~) a1 Q2 k- k) l. i- Z
  87. STA $20007 M8 h0 r  ]7 j- ~8 u
  88. LDA $2002' [6 w) t" ~, ]2 \$ z
  89. LDA $25& Y: f$ @/ o2 j( D$ d
  90. CMP #$012 X/ V9 q1 w& E2 g: v
  91. BNE PROREG" N, P& ?1 b: l, v
  92. LDA $F5,X
    ! Z4 z$ g! E* p7 b% K% _5 ^. g  `
  93. AND #$CF
    0 N3 b5 D1 Z+ @4 n% S* K3 b
  94. BEQ PROREG! v5 n) V$ V2 n$ ]+ S
  95. JSR PPU_CMP! k; g8 [2 O7 T$ K3 |. x0 q4 j
  96. C_RE:' @  H3 M, T, K
  97. RTS- E% P3 G2 I/ c% Y$ X8 @9 V/ _& p: f
  98. PROREG:% ~, ?5 n% G; _9 g
  99. PHA
    / t: M9 a0 m$ v: d
  100. TXA
    ; X4 S% V4 y! V0 u5 T7 ^: [& h
  101. PHA
    - t% P: l+ g7 p& @. e+ c
  102. TYA2 Z/ _7 c1 W& J; b  G' c' r
  103. PHA
    ) Q5 N' M3 u+ ~3 r% @
  104. LDA $25( n- n4 R4 P' p; g3 K' E
  105. CMP #$01
    ; T5 u8 F, f& V" o' _
  106. BNE RE2 g  h! p' W7 y+ r; e" R& @, G. T
  107. LDA $010A) m2 X6 P1 c4 u% }* i
  108. CMP #$00( C# ^+ {2 @7 q. N& R' T, t
  109. BEQ P1; P: W3 c9 c! A2 Y# b

  110. + _3 l0 L: L  O
  111. RE:! B3 b2 b. w! c5 _$ `; J
  112. JMP PPUWRITE
      B! a, W$ [# ?9 Q- h0 z3 q
  113. % m# E2 t, {8 b, @8 y
  114. P1:                ; 条件判断
    5 ~7 I% P, a) C* B
  115. LDA $7FFF
    * ?) J, ~( U, J8 V6 Y
  116. CMP #$FF
    ( y, i& ^* ]6 \
  117. BNE P1RP* _9 ]9 }3 u# v2 `# `
  118. LDA $7FA0. J. s9 Y% c, K* Y3 c6 j
  119. CMP #$00
    ' E/ m" f* N& e2 \( q6 p4 @; R
  120. BNE P1CMP
    4 O5 N$ x* e5 p5 W9 A: q
  121. LDA #$FF# g- X6 H& B% ?% q6 c0 e
  122. STA $7FA0
    ) G9 v5 L  Z" u& M% ~8 k' }
  123. JSR CLEANA0 E) J' t1 J, u. H! D7 c$ n$ d
  124. JMP PPUWRITE
    " G9 \& K  o3 J0 c' `0 z9 L$ Z
  125. P1CMP:9 d& d; D- L& l, i/ ~
  126. LDA $7FFF
    ' y  `- e& |. y$ e. Z8 r2 L
  127. CMP #$00) t2 f5 E0 J4 H& `, |
  128. BNE RE
    * y( t% v: l& z5 h- F. X
  129. P1RP:3 V, u* \+ W" @& d7 f
  130. LDA $2002
    - v+ `. C5 `& |, M' R! k
  131. LDA #$00
    0 C! v8 Z4 q3 ]( S9 Q+ D
  132. STA $2001
    6 k% H- |9 p3 }9 T! p
  133. LDX #$00) c+ w  d5 p5 ]0 ?/ ?6 d
  134. LDA #$FF
      Z5 N# s7 L& T' u' O: E" r
  135. STA $7FFF
    0 W4 R* G" A$ m% I- e8 w
  136. STA $7FA0
    6 N; s9 p0 E$ _8 K& j
  137. JSR COPYPPU1 E1 O. f- U# P. C! |4 _( t) j
  138. PIRP2:: w% z1 R& |; k( ^7 h
  139. JSR CLEANA; y  F& u6 Y  h1 _
  140. JMP PPUWRITE
    : c# s7 q( m" `4 f2 X7 i% r

  141. : a7 E2 G1 Y* d9 `$ K0 m5 q5 y% [( Y1 w
  142. COPYPPU:& y  q* D. k: ^
  143. LDA $FE
    , O1 D+ `) W% x: A
  144. STA $7F50
    6 N$ n% L4 G- T, E2 o
  145. LDA #$086 t1 ~  H2 t, L  a/ ^
  146. STA $FE$ ?! T0 m$ K" Y" I; r
  147. L0:
    1 v- X. t" C! P6 @
  148. LDX #$00
    $ I! K! f2 r# Z6 n
  149. COPY_07C0_07DF:/ d' A, U+ U" ^4 b  ^( O1 C; X# |+ I
  150. LDA $07C0,X
    , E4 E, _. v# f* k
  151. STA $7F00,X
    ' E$ Z6 a+ ?4 O. _+ r$ n" C
  152. INX
    " [7 Q* z  |4 U
  153. CPX #$40
    4 o. E7 E0 |+ P* \
  154. BCC COPY_07C0_07DF
    7 d) x# k+ @+ g( v0 c
  155. LDX #$00
    . A/ F- m$ m4 |  u0 \
  156. PPU_07F4_07F7:% u0 J+ }' |; F3 u5 x4 P
  157. LDA #$00
    4 Z1 D5 H$ A) y2 D0 m0 `0 ?1 H
  158. STA $07F4,X
    6 {# R6 m! T8 Z- Q0 M+ d0 Z
  159. INX/ i6 B9 O, ?  S1 r, ?
  160. CPX #$04
    , q- u* O" g$ ]7 p' V; @
  161. BCC PPU_07F4_07F7* s; ?) f' H) `7 r; V/ o
  162. LDX #$00
    + z( H2 x5 ?+ ^1 @  @6 W* r2 m9 O
  163. COLOR:
      X/ E7 ]8 c- x0 P6 X
  164. LDA COLOR_DATA,X
    8 Z: v$ ^  g6 x+ W3 e0 H: u
  165. STA $07C0,X$ ?3 M" H0 w& [: L7 C; W! I
  166. INX
    6 u0 N: w" r& r( b- A& d, t9 n
  167. CPX #$10
    5 b0 X$ d2 A- o2 N5 b
  168. BCC COLOR$ G5 M9 m1 R  F. r4 B: W
  169. , t: w' o3 |. W) _4 d) ^9 j
  170. PPU_COLOR:9 N3 x3 N" n3 d# d* K$ T% E0 ?( c
  171. LDA #$3F
    8 i  l- O- ]! g
  172. STA $2006% l1 B% B6 Q1 i4 m- H
  173. LDA #$00
    2 T: y( Z: ~$ y9 ?9 u
  174. STA $2006
      f: k4 o4 f; I+ {! `! v! e2 {2 {
  175. LDX #$00
    3 @2 R1 a. u, E
  176. PPU_COLOR_W:% f4 b$ c1 m! w3 F0 k
  177. LDA COLOR_DATA,X
    " l. V  J) l0 @& Y0 G
  178. STA $2007
    , K' C; y4 o, G) q. k. A- C
  179. INX) I+ T7 p, q! H# j2 ?  z
  180. CPX #$10
    $ N0 j& j; L! P* F- B5 V! S$ t3 L+ w
  181. BCC PPU_COLOR_W" ~5 v  l1 H; Z& U0 j) p

  182. ' {# `* ^& z' E% I! d

  183. ' F1 @: G& T4 E7 o# x% C0 y
  184. LDX #$00
    2 ?/ Q4 h5 a/ ?8 F& m
  185. LDY #$00
    * j6 D5 p( A2 ~8 G8 I
  186. LDA $BD
    , ~$ w( B( M9 }
  187. PHA4 t* D9 U* o- S4 e( h' `
  188. LDA $BC1 x/ H% D5 L. U" B! A
  189. PHA' A; k( M3 \' J
  190. LDA $BB
    : V3 ^8 S$ n" Z1 G3 y
  191. PHA
    $ j- p7 z2 E) D- `, T
  192. LDA $BA
    " K1 h$ C: n+ d: [* m6 P
  193. PHA
    6 B" d  C+ A( `" c
  194. LDA $B9- C9 ?& H4 Z# y
  195. PHA% Z* }8 Y- k" r) e
  196. LDA $B8
    - B  l& p/ u2 N7 g9 j( v
  197. PHA
    # B4 b# }) ~9 z  m1 o9 q
  198. LDA #$006 {. R: U4 u* k7 R! w7 _8 E
  199. STA $B8
    - @7 l" a* b3 y' H7 L
  200. STA $B9
    ' e8 _8 e- v, F7 Y) ]
  201. STA $BA5 O3 d2 }( ^* @3 m( f' b/ U! H
  202. STA $BB
    6 t- D/ Z. y3 l2 T$ h1 H2 b( x
  203. STA $BC
    # p: X3 N! m& \( _( f; L
  204. STA $BD4 J  T* l- |; G; s2 `7 d# t
  205. LDA #$00
    4 N. r$ X# o( R$ R, |
  206. STA $BA
    ) `! D% u! `' S5 ?: R0 c: u" [5 c
  207. LDA #$20) b. J$ f1 X- [+ x
  208. STA $BB" c+ O! V$ H# j; M6 S
  209. LDA #$00
    1 x( b! f# g: Z
  210. STA $BC
    6 P$ B0 {& @9 {
  211. LDA #$60& l% p7 W! E$ P2 n" p/ f/ ?
  212. STA $BD, T6 A- J* g6 {3 l8 G- m

  213. 0 Y7 e8 O; @* {1 n
  214. L1:                ; PPU复制
    $ o2 j( l# D( B* I/ H! x9 p
  215. LDA $BB2 u* G/ w: w1 z7 X* }9 b
  216. CMP #$280 Q1 y) S. v/ ]
  217. BNE L2
    ! p: f3 N$ L  h
  218. LDA $BA$ V  t" e0 w' ?0 p; m' J5 u2 j* T1 `9 R
  219. CMP #$00
    ! K0 c/ d  J% s7 b
  220. BEQ PROADPLA5 u8 k2 I$ S" T7 L6 _1 S6 X5 c

  221. & l, Y" @$ R6 j
  222. L2:
    - ?! s* m& K; B0 m
  223. LDA $BB& c* Y6 ]2 e1 I! P: Y+ Q) `5 M% ]
  224. STA $20068 r# ^5 {5 s( P: `
  225. LDA $BA
    5 X% K8 d# l) p( T
  226. STA $2006, Q- `7 a  u- U, _1 k
  227.   y( d3 r* l: h: j8 e
  228. L3:
    1 D1 }5 s: ?5 e. x
  229. LDA $2007
    * ?" ~, i" T* R) r" E
  230. LDA $2007
    ! s; G& Z" b; \% c; @8 Y! d
  231. STA ($BC),Y
    ! U0 k7 @( S+ `' ?$ ?' ]  _
  232. $ q& |9 ?# T/ y/ X
  233. L4:7 o6 X9 A- K% w2 x1 s  `# l
  234. LDA #$00
    5 w( o1 S% {) T% a
  235. STA $2000
    9 O+ {  x* L& A  b
  236. INX
    ; Z" F, K/ y0 C$ F
  237. INC $BA7 q6 `- g/ N! H9 O4 n& T0 t* Y
  238. INC $BC
    , ~& q- {8 ^* R! ?" H2 h& M
  239. CPX #$00
    $ ?! y: l& a) l  T
  240. BNE L1
    3 I% w# m6 C; Q7 G' Q7 u" x
  241. INC $BB% i- h3 k: N% b5 l
  242. INC $BD
    ( W% N3 [" g2 }" R
  243. JMP L15 {6 J( }. h9 U. |7 H& g; h9 r, e  e6 ~" Z

  244. 9 O; L( H, V% {( s8 s
  245. PROADPLA:                ;出栈
      K% g2 T- c; k$ d* ]- [/ A: l) t
  246. PLA  C+ K. U. p$ H7 k( I  j
  247. STA $B8
    ' X- K# ^1 W; n8 K4 H
  248. PLA
    8 y" E  p) F% _" h  p4 x, Z4 @
  249. STA $B9
    4 e4 e3 s; D- A3 t3 Z1 s" @
  250. PLA. \5 v0 b) r# e7 K1 U2 l
  251. STA $BA0 C4 k" t/ p- X, P
  252. PLA- V( I# l/ b* [5 w8 _3 G) a/ s. O# W
  253. STA $BB
    , \& w7 G# |, }. A$ @; E
  254. PLA
    7 ]% G; ]$ E) W; P& e
  255. STA $BC
    + W- V$ Z7 e* v# `4 i" ?8 m; b7 x
  256. PLA& c0 i$ D3 Z3 O  ~7 k2 F5 k2 |
  257. STA $BD4 b! ^' ~6 ^' |$ Y
  258. CPRE:2 V1 s: N: v! ]6 F/ @* d
  259. RTS+ z% x* x! j# u) f3 f% F

  260. ; q- ?4 e  |2 B" `# O. j
  261. CLEANA:                ; PPU清空
    1 x8 p/ E/ |8 p5 d3 a: C8 ]
  262. LDA $BD
    1 _( A! x: ^3 I2 A! G8 a* [
  263. PHA( g7 g; i' o% g3 u
  264. LDA $BC
    ; n2 h2 a! @% i- \# R+ J8 r
  265. PHA
    * E' O9 R$ L4 _. l$ f/ e
  266. LDA $BB
    / a* X' ^% w  _" Q- G
  267. PHA
    $ [( x3 T( h: M7 z. j0 N
  268. LDA $BA, v3 @8 o/ i" V8 M+ V. l
  269. PHA; O: g0 p, q# M/ G/ \
  270. LDA $B9
    2 s# g3 _0 }$ x8 s- \
  271. PHA
    ' h* _: t9 m  L8 M" p. \3 M7 M1 g
  272. LDA $B82 Z; }  s8 `' s
  273. PHA" F8 `+ R; i. G/ J/ U" `3 S
  274. LDA #$001 O  L+ R* B+ |. H
  275. STA $B8
    ) ^/ ]9 C% y. ]! R! ^% h
  276. STA $B9$ K3 y" {+ z- p% `6 R8 `, l6 W5 d! @
  277. STA $BA
    , H/ a# p1 V6 o- V' ]/ U- o
  278. STA $BB" ], H/ y( d& O0 _3 ?" a
  279. STA $BC
    9 k8 v5 S4 e. _+ \5 U  _, A
  280. STA $BD
    & X( M+ Z- g8 |2 P9 G$ R
  281. STA $2001
    8 e; ^' J: e* i& T
  282. LDX #$006 Q- ^; R# g7 w, r4 K
  283. LDY #$00
    3 i1 ]( H, m" v# }; `5 I
  284. LDA #$00
    8 s% k  e$ `- c& D* c. `2 `$ y0 @
  285. STA $BA
    + o/ i; H1 Y" F8 \$ q6 ~- A, `
  286. LDA #$20" I$ X, d% m! f8 F
  287. STA $BB5 W. D: h) u) X* q* u: D9 z% b
  288. * E& \4 z0 ^# v! }  _2 s
  289. CL1:
    1 U: q% b, e5 ]) D/ t
  290. LDA $BB
    ' A/ c5 ~- X( e. ~
  291. CMP #$288 F' ]% h( |/ P" v! v# ?/ u( _/ f
  292. BNE CL20 @3 v3 s) K+ e! T0 f) D2 G) E
  293. LDA $BA
    - d, M8 F8 V, B$ X6 K
  294. CMP #$00- i/ m0 u4 S/ r7 E
  295. BEQ FREEWRIYE
    . f* p* Q2 D7 ?$ L  e4 ^$ B

  296. 9 r' D5 D6 y% L$ c! ?
  297. CL2:; [2 q7 @5 }( R8 ]
  298. LDA $BB0 [1 t, O$ w; W5 E/ ^$ [0 C2 k
  299. STA $2006) k$ ~0 d: T  e$ g
  300. LDA $BA
    1 M% P, t5 f8 b7 e' Y) x$ l
  301. STA $2006
    4 f) q* }1 Z+ V/ c8 A

  302. 9 Q; G5 }( \* h9 I( c: d
  303. CL3:0 j" K( f: H1 S: |0 q
  304. LDA #$00
    3 N0 a1 C6 q# k* r" s( K& \  d
  305. STA $2007
    " x0 R4 I0 |/ Y. l

  306. ; i1 s: p1 Q9 I2 y3 N; S* S
  307. CL4:
    / U( w% x! r; K- U* V
  308. LDA #$00
    4 `% B2 {+ k! _3 I9 Z) r) F0 p- O6 @
  309. STA $20009 y+ @0 X! I( X8 g: y9 a
  310. INX
    ; v1 w5 t; [: F! F6 m
  311. INC $BA- T3 w+ h7 U$ c) x9 E- ^
  312. CPX #$00; ?: E( G1 H" ?0 J* _8 V
  313. BNE CL11 n5 d+ U4 \4 H7 k
  314. INC $BB
    9 f+ o  O+ l6 ?" X$ }2 N% _0 n( ]
  315. JMP CL1 / M# X2 w; O) R! c: D" z, y

  316. ( {' }8 C* O1 y' z$ a' Z

  317.   l! u0 V& r: E
  318. FREEWRIYE:
    # e) U9 o( T1 [" c; @

  319. * a; ?4 x1 a3 F
  320. NOP& G1 w# L/ h1 J9 @8 A

  321. , ~4 y4 R( Q& R

  322. 1 d7 f* p( q3 ]' h; e, R

  323. 1 T/ d0 e/ ?) t. f, d6 [, ~4 R
  324. ) f% a# @1 f& N3 h3 z; Z* O5 ?3 n. A( m

  325. 9 P7 j+ E6 f4 L, _% c6 d
  326. CLEANF:                ; 恢复现场. j8 c0 M8 U6 O8 x

  327. * w7 @$ g) L/ P3 Z- L
  328. PLA9 J5 {1 M. S1 `* M: [
  329. STA $B8
    0 E, `, a, Q6 b! J# T
  330. PLA$ P7 O/ O, @' `- K
  331. STA $B9
    ) \) r# b, K1 x9 N+ a  G  M" D1 g5 f
  332. PLA# |$ d& G' ^4 y9 X  M8 X
  333. STA $BA# `" p9 H" W* e. ]" S# V
  334. PLA% N- K# ?7 D: m$ M3 q8 t# P: I% l9 w% J
  335. STA $BB
    7 z8 i* H" G+ r* U/ Q. p
  336. PLA
    , I9 K$ C9 j/ G5 e( \( y' {# v
  337. STA $BC
    ( l, C( l( h6 ~) y; q
  338. PLA+ O: ~% Y, I5 C- k0 q- [
  339. STA $BD
    . R4 ^$ Q% i, W2 I1 W
  340. CLRF:2 L8 W+ o* g: a/ ^
  341. JSR FREE_PPU8 a5 v/ d6 Q, r4 v4 |6 L
  342. RTS4 U1 s3 _! u- R5 Z' O# ]& y" @
  343. ) }% [& t) O) b0 ^- G- N3 b  n! h4 `

  344. 5 o; ^% b" `3 j& R/ y8 v: R
  345. PPUWRITE:    ;PPU写回
    , r! G3 R' e( x. _! C& v. n
  346. PLA6 m: I$ w& X* D
  347. TAY
    / N* s4 J( i5 p) y2 S) b1 w
  348. PLA
    7 p7 ?  P; R2 Z# L
  349. TAX
    - Z3 g: W5 p8 P4 B
  350. PLA
    . ?; |+ X* Z- x" t8 o7 V. K6 y
  351. LDA $25" m1 u! g3 y( `- S) p
  352. CMP #$00
    : x- S, L- e5 L3 H
  353. BEQ WP12 K) ^" K& f2 A" z7 t
  354. LDA $25
      [% p5 U# \+ m3 \! N
  355. CMP #$01$ l8 k% k6 B$ ]' w/ O# J7 H
  356. BNE WRE# w' c1 h( M* s
  357. LDA $F5,X
    , N$ R9 N: b+ H0 W- q
  358. AND #$EF
    2 t+ y5 J% ?- |
  359. BEQ WRE# ?& q# v. n  X( I- a3 n" X
  360. LDA #$00: E* O3 @8 T% v& K
  361. STA $7FA0
    + v  C  R1 H5 C) F

  362. 9 ~6 H/ X6 ]; s2 G
  363. WRE:
    . w  u& X/ A6 H6 |5 X
  364. RTS
    " i4 S2 [: a* Z/ j* z- V/ b5 b

  365. # `/ J% X, H1 V4 i" s3 `2 o7 x/ l8 }  w
  366. WP1:
    : t. L: c9 M% ]. X. O1 S) M
  367. LDA $7FFF
    ' G# d1 Y  y. U6 K# H- B3 Z
  368. CMP #$FF
    . R" w1 q/ ?' E5 O/ J
  369. BNE WRE" o; q5 g' Q2 s' G8 p3 K1 a- J* G
  370. LDA #$00
      P0 s1 x' j4 V0 w9 X
  371. STA $2001( B- O! z9 `7 x/ p( J; J4 a
  372. LDA $BD
    6 W9 P4 C0 K$ V; s% u% J3 r
  373. PHA
    0 m3 N1 {' b3 r% \- _5 L& E7 b7 B
  374. LDA $BC
    + g( L# `  v% {( P/ `! O6 \
  375. PHA
    3 z1 ~' [3 J+ D, Z$ {, v
  376. LDA $BB" h) v( c, s1 H: C2 ~% F- \
  377. PHA
    + Q* z) d! a9 A8 w- |* }0 ]
  378. LDA $BA
    3 @  \6 q9 ?* l# B3 u) y2 _
  379. PHA
    ( V: F, Z! e$ p! \% [
  380. LDA $B9
    8 ~  Q- h+ p% h/ b4 C( P
  381. PHA; t/ ~7 k# P0 T& R$ n9 y  S; o
  382. LDA $B8
    , t) E. d1 m  `
  383. PHA
    6 }# y7 n6 c1 ~
  384. LDA #$00
    * P, o/ u3 ]: J% a0 L
  385. STA $B8- f0 I) b6 V: |7 F# X
  386. STA $B9( a) h' O+ @2 F- s' p
  387. STA $BA4 s6 k( ~, c! |9 B
  388. STA $BB
    . ?: e9 h% Z4 Q# R: C/ P5 f4 b; a
  389. STA $BC2 ^: S6 M( Q0 @
  390. STA $BD
    3 v5 c! L5 A9 u1 ]2 }
  391. LDA #$006 B7 s, X* h0 K
  392. STA $7FFF
    9 M: k/ M7 I% a/ i, q; b

  393. 9 P% g) f& O7 ]. U) W: B
  394. WL0:/ t. L( i# f7 x+ l! ^, x
  395. LDX #$00
    ( b! ^2 J" u/ c$ @/ d* S+ c' D
  396. LDY #$00) u. W0 P1 `7 m4 G7 h6 `4 F
  397. LDA #$00. d/ i$ O' @2 @
  398. STA $BA8 I  j) @/ \: P5 j
  399. LDA #$20
    $ \  R8 t7 {! ]3 }0 t$ |
  400. STA $BB
    # {. w0 J/ r4 [  x+ ?7 s5 ?
  401. LDA #$00
    * ~* b" W3 s+ o6 j, l
  402. STA $BC
    / s% w( c. t) S! u9 s0 m! A
  403. LDA #$60* P1 P3 x9 T- Y4 w
  404. STA $BD/ g: N2 S/ C/ Q* j, k7 a0 m

  405. 3 [' ~' M$ C: @
  406. WL1:
    " w' n: [- F1 C7 l/ T
  407. LDA $BD9 L8 m- [+ l) M$ j  ~  O' n5 l
  408. CMP #$68
    $ Z5 d1 g, b: z5 A9 p
  409. BNE WL2
    6 }5 d' b' N$ o" o+ B* H0 z( k
  410. LDA $BC: B0 a! X8 r5 Q" m6 r, W* O& n
  411. CMP #$00
    " T' j5 D" o: Y! k
  412. BEQ WLR
      X9 O8 _9 l% y+ @& r% k3 c
  413. 5 F! W2 d$ q2 w! O  X/ y
  414. WL2:
    : F, I5 \2 k  o' M6 j/ K
  415. LDA $BD. f4 T3 u" }5 X0 S! S, n+ t
  416. STA $2006- |- g  b* K/ Q) Z" I( S
  417. LDA $BC3 }" r2 }! G& U
  418. STA $2006, G3 h4 w4 f2 s( T/ v$ U

  419. & V- s2 `# }6 v7 q- }4 [
  420. WL3:* {/ p2 P: w: h! W
  421. LDA ($BC),Y
      p1 Q7 q. w+ T7 }3 S4 \
  422. STA $20070 {1 |7 _2 U6 u' M

  423. ( R/ Z& f6 t( y7 ], Y- _0 h
  424. WL4:: O, ]/ n' x3 W4 k9 v
  425. LDA #$00
    + s2 R$ I( @  ~# z  o# x# c7 X6 X% H
  426. STA $2000
    2 m& }# p4 ~1 [; Z7 C
  427. INX' a; c! `2 |1 v" V# a* b5 d
  428. INC $BA( W) t" F- D8 B3 x4 t
  429. INC $BC. Y! [# H- C2 z) Y; O! ~: M
  430. CPX #$00
    6 h/ ~4 v, u0 [/ o9 I  J9 w& [
  431. BNE WL1
    - R- ^7 l. s1 Z' q( r! v" g: b/ ^
  432. INC $BB8 J; l. g1 a0 \$ |( ^3 D' z( v
  433. INC $BD
    ) D/ v& C& B$ m) [. J. L
  434. JMP WL1
      e! R' O; a9 ?. z* r
  435. & p4 Y5 y, O2 @2 b  ~
  436. WLR:
    - C  h7 d# J- D6 G% B5 h# @3 S
  437. LDX #$00! O& x7 C0 ^' _+ k
  438. COPY_7F00_7F3F:
    ; X; R- d0 h- a9 d' t; P
  439. LDA $7F00,X6 R9 j% E( k! e' T, a
  440. STA $07C0,X
    ! R3 V) b* v6 J
  441. INX
    & ?( _. Z9 ^) D3 G1 f- \  N
  442. CPX #$40
    + p# o, H! R$ M. C8 }, s) z: `" X
  443. BCC COPY_7F00_7F3F; l4 D; E3 a- j; ?+ z% O7 }

  444. ' E6 j4 H6 L' S
  445. LDX #$00; C" `$ I! W& N' ^( _* O
  446. LDA #$3F9 ~; O/ E- `: ^. _! j  Y
  447. STA $2006
    ! @, _( a. K1 i! O. W& S
  448. LDA #$00
    9 `* q- O- l- p( U, B- S
  449. STA $2006, ?* _0 _; @& c7 o$ J; T
  450. COPY_7F00_7F10:, G, _1 j/ ~6 f% W
  451. LDA $7C0,X+ a+ K; ]: P1 E9 i8 }3 L
  452. STA $2007; R- Q% B) Y: }) Z. _0 b8 U
  453. INX
    % ~4 j# T3 e! k) A
  454. CPX #$10
    ( L6 I7 {$ n! r" }/ H" U
  455. BCC COPY_7F00_7F10% |# e2 ]7 p4 A: f9 C  N; b3 v$ A
  456. # m7 s  _' S6 `
  457. LDA $2002
    ) B/ Q. G8 p1 d) ~
  458. LDA $FD7 P, C, `8 S  x3 u* t7 `# R9 n
  459. STA $2005& o  z" Q# f4 J  `8 c/ F
  460. LDA $FC
    % \; o* B$ f& B2 T( l+ |
  461. STA $2005* l+ T7 ~. K4 {, T5 q2 L  Y" V
  462.   e9 i5 d. R7 i8 |4 A" k: i
  463. LDA $7F50- l. P1 W( s# r
  464. STA $FE
    & X* }! u6 u+ Q/ h5 ~+ k7 a
  465. LDA #$00
    1 W  ^. T/ ?5 z, U
  466. STA $2000+ a7 }" m$ a3 N; I. G; i1 w* Y
  467. PLA5 [. N" ?3 y* f; q7 q, B2 o
  468. STA $B87 _$ d# I$ E. f6 `$ c
  469. PLA0 ?8 s( [/ o5 d" s' V
  470. STA $B9& m& S- f$ m( K' J' Q+ h
  471. PLA
    1 h( e9 B2 i% c8 S0 ~! M
  472. STA $BA
    , m- x: Q, C: V$ t
  473. PLA$ i; w7 k3 i" \
  474. STA $BB8 U, B0 L2 }* Z9 Z& c6 |4 I
  475. PLA, J+ o1 x) G8 G
  476. STA $BC
    ! M: z/ g  T8 h0 z, y7 z
  477. PLA2 m3 b) \( k& n- L9 B# T$ x% p
  478. STA $BD& Y+ i$ a' W8 W) i' g2 u2 F
  479. ! r3 {% i2 h- o5 n
  480. RTS
    & x: `& F( j& n" t
  481. 4 ~% K! [5 d! S# j
  482. PPU_CMP:
    8 q; ?% K6 m# O! |9 \2 E2 O4 t
  483. ) O" P+ d$ t& Q

  484.   M" d& j& _; ^8 K, x- _3 B5 Z; i7 d
  485. PPURE:9 L7 _! u5 m* [8 {
  486. RTS- t  F/ |  ]4 [) s
  487. 7 r% t6 f8 c) l, L5 T: O

  488. : d: J- t, W. {$ M2 q. q
  489. FREE_PPU:* O4 B5 }" p3 T9 y( P, S

  490. + b% D4 y1 H6 m& G
  491. JSR TEXT01_PPU
    . E' ?7 c' u4 Y6 t% [+ x
  492. JSR $CBC0
      Z% C( y& b. A4 |4 r2 j
  493. JSR P1_PPU0 _( c9 y1 R" X' o
  494. JSR P2_PPU& d7 S  w. M7 q8 c) G
  495. RTS
    . m( Y1 b; a* D2 f) l2 ~7 e8 k% J' ~
  496. & \3 C) e9 n. |  e4 M' R
  497. TEXT01_ADDR:
    ( }! r# K$ c* O* d& w% }
  498. .BYTE $20,$42
    ) E0 `4 n. R9 V) e$ N
  499. TEXT01_DATA:
    0 ?" c" b6 O7 h9 v
  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,CEND0 \' y' {9 `0 m: ~
  501. TEXT01_PPU7 A+ X% `7 k8 B2 r
  502. LDX #$00
    # ^, c' V/ a/ L* L
  503. LDA TEXT01_ADDR$ p1 U( [+ P: s$ R( w
  504. STA $0703# a" R0 r9 Y/ }/ T% M  s
  505. INX
    4 P' z9 M! v) }% w
  506. LDA TEXT01_ADDR,X
    7 ~# Y* R6 `1 S$ v+ N$ ~
  507. STA $0704
    3 ^( F' w/ @; Y: c* i1 |
  508. JSR PPU_PROCESS
    ! _$ B- u/ X' J0 v3 O$ d$ e
  509. TEXT01_W:; o1 W* f& ]/ n) I
  510. LDA TEXT01_DATA,X9 x5 P5 ?4 X$ ]! m- R5 {, _
  511. CMP #CEND( Z8 r/ _0 S) C& z) R5 U
  512. BEQ TEXT01_START; ]# g! i( @! p4 I$ I* g
  513. STA $0705,X
    : C5 h, [8 S; j8 O4 |
  514. INX6 G- o+ v7 l0 n) `
  515. LDA #$00
    : A6 n" W) O8 q
  516. BEQ TEXT01_W( m1 i/ _- G) T* G' C3 M
  517. TEXT01_START:
    # }) L; a' o, v; R) ]
  518. JSR PPU_START* @" j& Z8 x. L: {; D* J
  519. RTS1 ]. l5 m- S, y' r
  520. 3 I2 m8 L  R' ^! i; w
  521. # p. n1 p1 U( L2 X# o
  522. COLOR_DATA:
    ( g; u+ @, U! B( D; k
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    + i4 p# _* p+ C" N& h
  524. " L$ Q- Q# e$ H, J% E% K
  525. P1_PPU:& m  S  l( A& P
  526. JSR PLAYER_01_PPU6 r1 c2 ~9 F1 w4 ^
  527. JSR $CBC0
    4 U7 @& M2 K; T/ h
  528. JSR RELIFE_P1_PPU
    . n$ K& B4 {0 V. K( f& j: }
  529. JSR $CBC0
    ; f4 x% S9 {( Q* F1 n6 Z
  530. JSR RELIFE_NUMBER_P1_PPU! w9 L' |* q0 x7 E1 ?
  531. JSR $CBC04 m% c$ F1 O) F" c/ N5 A$ ?; e
  532. JSR WEAPON_P1_PPU3 }& ~1 L/ ]4 O
  533. JSR $CBC0
    1 f5 F% Z3 D1 W" i/ T8 l4 f; Y
  534. JSR BULLETPPU_P1_PPU
    3 N) K2 |. U9 j2 v$ e5 X3 u
  535. JSR $CBC0
      K* b/ K6 i5 M8 d. }/ g; ~& o8 s
  536. RTS' k8 I* ]; y8 u/ T; Y7 v# j4 j
  537. & b9 u3 Y/ _; {
  538. P2_PPU:: A- p; Y1 e( M
  539. JSR PLAYER_02_PPU
      z2 _( _2 a/ w. f
  540. JSR $CBC0
    0 P) q0 _3 e# f/ I
  541. JSR RELIFE_P2_PPU
    - ]' V  c1 }& |) }3 C
  542. JSR $CBC00 m3 c2 D9 I9 U- P7 k1 s6 V
  543. JSR RELIFE_NUMBER_P2_PPU
    * C% i& [3 P; b  U+ J
  544. JSR $CBC0. s! D/ M1 q8 h6 J5 r
  545. JSR WEAPON_P2_PPU
    # t( Z6 {7 w" V& T$ _& _
  546. JSR $CBC0
    # n( ?. d% ?5 T
  547. JSR BULLETPPU_P2_PPU* k/ [0 q8 r; m  \
  548. JSR $CBC0
    ( b3 E/ ~: a& b! r* U
  549. RTS
    2 m2 L# |& o1 u7 s

  550. 1 h- C3 T( h  R8 p$ q9 ~( Q, }
  551. ! f: o3 C0 a3 Z, N& R7 p/ d
  552. ' F, x3 g; }4 Y0 s( u  ^6 I, M& j
  553. PLAYER_01_ADDR:
    5 |7 n+ ?  H: L+ Q) g
  554. .BYTE $20,$A3/ ]& V4 r& |: @& O, v& {& |
  555. PLAYER_01_DATA:
    1 S3 \& a2 d/ b, ~7 Y
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND8 Z; x+ k6 F& G
  557. PLAYER_01_PPU:1 _/ ?7 m( G! c1 a
  558. LDX #$00
      B- i! U# \7 Y. m! s7 s0 k
  559. LDA PLAYER_01_ADDR+ t9 G) f8 j9 j- i3 _
  560. STA $0703( \( m. @* k7 S4 Y
  561. INX
    / s. Y5 y. j+ i$ a4 n1 {
  562. LDA PLAYER_01_ADDR,X
    ( n/ e4 g; R9 T- V
  563. STA $0704
    $ n/ r+ i) y5 M1 C. o
  564. JSR PPU_PROCESS6 |6 K! Z& f+ o- `0 H
  565. PLAYER_01_W:
      a7 R0 R1 }+ q4 _* U8 H, D$ M7 O
  566. LDA PLAYER_01_DATA,X  t: D( ~% A* s, x
  567. CMP #CEND
    4 c$ ^# t9 {9 O
  568. BEQ PLAYER_01_START; H9 I1 Y5 d& a' j1 ]4 V
  569. STA $0705,X5 D* A7 p5 ?, L
  570. INX
    # f$ N7 |2 L& u  Q3 j
  571. LDA #$00
    * W& m- x7 e3 Y2 R
  572. BEQ PLAYER_01_W  j# ^* z5 c, d: J- _
  573. PLAYER_01_START:8 e% j& _  ^  a0 @6 v. k  e8 g; u
  574. JSR PPU_START
    8 m& n% f  ^5 l/ M
  575. RTS
    7 Q) D2 ~6 e1 p! T1 t

  576. . \' d  K6 l3 w' G7 h% x

  577. 6 u" E2 {0 I# }! p
  578. RELIFE_P1_ADDR:
    ; j0 O" l1 H( I/ E6 X
  579. .BYTE $20,$E3
    & \" R+ J% w0 b  `
  580. RELIFE_P1_DATA:
    ( {* v" z  ?1 G6 ]  |
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND8 C& x" y) _& G2 J) `7 T
  582. RELIFE_P1_PPU:  I7 h+ z" t5 H. ~1 C3 m0 A' }
  583. LDX #$00
    : j! u% i# X% M% x
  584. LDA RELIFE_P1_ADDR. X% I9 ~/ B- X# ~8 M3 K4 M8 s
  585. STA $0703
    5 j, l5 r+ I( u* x  A
  586. INX
    9 i) h9 |8 \" q
  587. LDA RELIFE_P1_ADDR,X1 r$ y6 G' r0 M# M2 C5 {
  588. STA $0704  a5 g# ^- `! e; I  }# ~
  589. JSR PPU_PROCESS9 b2 }- K/ X) I5 P8 z; Y
  590. RELIFE_P1_W:  X' s+ g8 d" u9 P
  591. LDA RELIFE_P1_DATA,X1 g  w7 W1 D  P% R
  592. CMP #CEND
    6 R- u8 |" j2 j5 H6 g6 |1 X3 [
  593. BEQ RELIFE_P1_START( D: C4 W' s4 }6 z- e/ {
  594. STA $0705,X0 {( @# v. H  K) Q3 y9 ^
  595. INX
    . f( z4 g+ z$ w, K& S/ g. b
  596. LDA #$00
      ?6 w# `8 b( F7 B
  597. BEQ RELIFE_P1_W9 u) y3 g# y: y4 X" ?5 k: P8 ^$ F
  598. RELIFE_P1_START:
    ) }- o- A! n1 I7 f
  599. JSR PPU_START0 Z0 Y9 V* H0 [2 p4 P$ q
  600. RTS7 G4 @  Y! a5 f; A( t9 }

  601.   W* G  ~; e  T. z0 r0 i% W

  602. ' M0 `% c7 U' b) k& A' H) ]2 @
  603. RELIFE_NUMBER_P1_ADDR:
    2 |/ T0 {3 ]6 }1 O! W
  604. .BYTE $20,$EA
    / z0 h. I9 V/ p+ c
  605. RELIFE_NUMBER_P1_PPU:
    8 P3 P$ `% y3 r3 @- x# c
  606. LDX #$00
    , Q  \/ a5 n  n" G; {
  607. LDA RELIFE_NUMBER_P1_ADDR1 d% s; }7 l& A8 {; Y
  608. STA $0703
    9 c( \- w; Y2 o. i, `
  609. INX
    3 a+ m( k0 s5 D' S5 q
  610. LDA RELIFE_NUMBER_P1_ADDR,X2 f' v' n7 l' F' m1 Z( d
  611. STA $0704) h" Y$ D) Z& A  J8 R7 b
  612. JSR PPU_PROCESS* a% k* A: K; a0 m
  613. LDA $32
    ; u9 n. x1 Y" ]
  614. JSR LIFETODEC% t- S4 y' S$ y1 ^4 l( W
  615. RELIFE_NUMBER_P1_W:
    " E7 _! R2 j' `3 U& `: ]
  616. LDA $7A03
    $ q' c2 q& \1 p6 [+ h! L& r
  617. STA $0705
    . {- U% x+ x. ^. |7 ?) k+ d5 K% S' t
  618. INC $0705  H% L' Q) T0 r# V
  619. LDA $7A04
    ) k1 h) \7 @4 k9 l* s2 h
  620. STA $07069 `8 L2 U. [& q" K2 ~3 l3 q* x2 {& _
  621. INC $0706+ H( G5 \% \6 ^/ [# j) k
  622. LDA $7A05
    4 Z% G; G- W+ L7 P2 p; E
  623. STA $07077 @2 y. q5 Q( j. D% q
  624. INC $0707) t, q7 A. t, W
  625. LDX #$03
    / C* @  Q% t  ]4 Q: G6 \
  626. RELIFE_NUMBER_P1_START:9 G5 y& L- X2 n
  627. JSR PPU_START
    + h# Z4 U. M: }# t  o: G: E0 H
  628. RTS
    . k  {9 z$ N, f+ c

  629. / y8 u2 r0 x/ i! I6 ^5 F
  630. WEAPON_P1_ADDR:
    ! f" ]  i- a/ H# ?+ a% |: p
  631. .BYTE $21,$23) q2 m# a3 R8 H& o. V; h& @
  632. WEAPON_P1_DATA:
    - U! [* w3 X$ o6 T, i& P
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND! E% D, Y# M  W: \1 j- s
  634. WEAPON_P1_PPU:0 a+ F( E9 }) {5 R$ s7 p* u; e
  635. LDX #$00. r! d# Y4 |" s/ W( E* U7 N
  636. LDA WEAPON_P1_ADDR
    1 `/ Q2 G( `. }! [! _( y
  637. STA $07037 ^/ l+ s6 M2 R+ g. b6 q. y, E. ~
  638. INX8 T% D6 N- c1 f8 p& X
  639. LDA WEAPON_P1_ADDR,X1 @: g- u5 |; {( B/ x
  640. STA $07040 B* V( y& G6 \0 G# I
  641. JSR PPU_PROCESS" E0 x$ ?; C2 B" q
  642. WEAPON_P1_W:$ p. G2 G6 C% {5 o; B4 ?" I
  643. LDA WEAPON_P1_DATA,X$ U* y# e4 w9 r/ L. t$ A, c/ Q
  644. CMP #CEND+ Y/ y( a3 K" ~* |' S1 L- h
  645. BEQ WEAPON_P1_START# ~9 Z- F  V, Y0 |
  646. STA $0705,X3 C; u! y& I2 d0 _
  647. INX
      y; j+ I% z" K( s6 ^" P
  648. LDA #$003 _! F* W3 p7 d' L& X) r
  649. BEQ WEAPON_P1_W
    5 L* z( y3 R: G( a" o' v6 H( ?
  650. WEAPON_P1_START:
    9 I% g4 S- O& W- l: M$ c* d
  651. JSR PPU_START3 h2 S( U' n! |& I0 Z
  652. RTS
    8 g, O' ?4 h) \: N# p0 K
  653. # L) c1 E5 G6 @5 q
  654. BULLET_P1_ADDR:
    , s$ t7 U$ h& j- \$ X$ n
  655. .BYTE $21,$2A. s. K& y  I5 {5 E% A% _$ l5 B3 B
  656. BULLET_P1_DATA:
    # n2 m6 S4 }+ a! i; K; r- c
  657. .BYTE $00,$01,$02,$03,$04
    1 L5 G2 s. d1 }6 @, b
  658. BULLET_P1_NAME:: J$ T, ?; X  u( L; C0 Y
  659. .BYTE CN,CM,CF,CS,CL
    - j7 J' _' u+ B- N

  660. # w3 F7 |& D. f
  661. BULLETPPU_P1_PPU:
    3 k/ v' m' T  H  E. ~( s" O  ]+ W
  662. LDX #$008 _) ]: k- P. G1 d/ Y# b
  663. LDA BULLET_P1_ADDR
    9 p. f" A' S0 t$ l
  664. STA $0703
    + n% r6 j* J7 G3 [* W; E
  665. INX
    . ]8 Z! k5 h% {7 Z  e
  666. LDA BULLET_P1_ADDR,X/ v# h1 k- W; H5 t. I' J2 G
  667. STA $0704! n. z/ e/ u; ^% q( j
  668. JSR PPU_PROCESS+ j; n' H" k: `3 g3 A: y) R. c! p  i
  669. BULLET_P1_WRITE:
    7 I4 [6 }8 a5 {3 P
  670. LDX #$00  h6 ]9 U3 f$ n9 P# G, {5 t/ J& a
  671. LDA $AA
    . g, P: _& I: M; U! P5 {# X
  672. AND #$10
    % G& o: U# L( C0 q; h2 F
  673. BEQ C_BULLET_P16 O/ n8 l7 X( E: v; P
  674. LDA #CS6 Y# E! k, E& F) `4 s9 ?
  675. STA $0705/ Z2 p  ^, D6 k' y
  676. BNE B_NAME_P1
    9 O4 A- L0 Y" D0 g+ @5 V# R
  677. C_BULLET_P1:
    ( J9 R* I2 \9 S- b2 @3 w* T
  678. LDA #CC
    # @; m: c! x4 w7 b( ^
  679. STA $0705* S$ q. s& R1 O* j
  680. B_NAME_P1:
    9 H; t4 ^' n9 P8 V
  681. LDA $AA, b# A7 {0 ~1 J
  682. AND #$0F' l/ d9 d% L+ z+ k5 z
  683. CMP BULLET_P1_DATA,X
    2 k+ K) a2 @3 O' q
  684. BNE B_NAME_P1_RECMP
    * I; N! r  j4 Y, s& v
  685. LDA BULLET_P1_NAME,X' S& P6 s3 F& G" [$ C
  686. STA $07061 `( x/ ~1 {/ {$ N9 V
  687. B_NAME_P1_RECMP
    ' O; _! [) p& p% U
  688. INX
    , s2 j0 l: z* {* T$ X! @
  689. CPX #$05
    7 O( X5 V/ q. |6 |; V
  690. BCC B_NAME_P1
    6 s$ }. \( O% Q8 f
  691. LDX #$02
    ) j+ s8 N6 |  @# t8 ^& ~
  692. JSR PPU_START
    & u( ^. {& ^5 a( M
  693. RTS0 \# i* w/ r7 N. I8 `' H: ?
  694. $ Q, I+ d7 j* ]5 V* V: k: t" [

  695. & U* Y3 @3 e! i' G
  696. PLAYER_02_ADDR:
    ) B; L4 _0 F+ d1 ~; h
  697. .BYTE $20,$B3
    9 M8 V5 v' L$ W  x( U  T+ q
  698. PLAYER_02_DATA:: t) J2 H# _/ c3 C: M
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    3 U- q( z/ ?, R  C5 x; q$ ?* r
  700. PLAYER_02_PPU:
    3 R% E( l9 L# z8 v% C
  701. LDX #$00( L# ~( ?7 ]3 j% Y
  702. LDA PLAYER_02_ADDR4 Z' n/ {! I, X( F6 Y
  703. STA $0703+ c8 I) }5 `2 r0 ~, Q4 `
  704. INX5 e, u  Q/ A! f  F! O' a
  705. LDA PLAYER_02_ADDR,X
    # ?! t- r- @$ r
  706. STA $0704
    0 q+ L4 r+ k0 o: M6 w) m3 y0 D
  707. JSR PPU_PROCESS
    ; S! c+ }3 }6 K3 _
  708. PLAYER_02_W:
    3 C3 R& _0 n3 b: u, C' A
  709. LDA PLAYER_02_DATA,X
    & C, Y" F: |9 L. H( P. b1 g
  710. CMP #CEND
    4 i' t8 j6 U. u0 ]2 z- R; N* ^5 p
  711. BEQ PLAYER_02_START% \: ?* l* c# b6 O' |7 G
  712. STA $0705,X1 u% \  f, b0 u5 ~4 o) L
  713. INX( p0 P. r/ ^* k+ {+ ]
  714. LDA #$00
    0 w6 G; Z2 n$ \
  715. BEQ PLAYER_02_W
    ! ]7 S( Z- \! p6 E+ r) L
  716. PLAYER_02_START:
    ! i8 v& |) B0 A5 o
  717. JSR PPU_START4 l9 N, p6 `- V) D* S- r" F
  718. RTS
    $ h" {4 C& x! ~: Z

  719. 9 c' Z9 B: n+ C
  720. # A6 N% v1 v5 D9 a! X% p: H; `/ `
  721. RELIFE_P2_ADDR:4 f5 T) Y5 g& ]4 {* {
  722. .BYTE $20,$F3
    3 B% s- s6 P& h) r
  723. RELIFE_P2_DATA:6 I; G: x+ Y! I$ O
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    / k8 B3 m1 S& f3 j
  725. RELIFE_P2_PPU:
    , h5 \$ k) k  F2 w7 K
  726. LDX #$00- X3 r2 f$ C0 z" `) H1 w! f1 W
  727. LDA RELIFE_P2_ADDR
    # N6 I0 X/ s. N0 `" @4 V  e
  728. STA $0703" k/ T5 C; D" \$ m% n
  729. INX! H% n4 K$ K' q  I
  730. LDA RELIFE_P2_ADDR,X% j  B, A2 h( O' o0 |0 s1 n% P, Q, E
  731. STA $0704
    8 J8 z3 V+ [2 j# z  `. f+ K
  732. JSR PPU_PROCESS
    - w% t* i! f! Q; r# {+ }  r9 N
  733. RELIFE_P2_W:
    + |4 c) @8 s* L
  734. LDA RELIFE_P2_DATA,X! J3 u( d! s9 X4 j' d& q- i% t
  735. CMP #CEND% b2 C/ G( ~3 V% ]
  736. BEQ RELIFE_P2_START
    * h1 O% I8 o) p7 ]
  737. STA $0705,X
    ! C; g* a" O( N. H, C0 i
  738. INX
    # l1 K' t. ]" w% c; g8 Y1 e" a
  739. LDA #$00
    6 |) v! z- g7 Q+ E0 ~
  740. BEQ RELIFE_P2_W+ M% L- c7 ]" M1 a0 k& j0 R
  741. RELIFE_P2_START:( E" D( q' _2 Y, r: Q: T! O8 \
  742. JSR PPU_START
    4 |3 }' W$ B8 v- I! n
  743. RTS
    9 w, M# s: r+ g7 Z

  744. 8 L1 M9 A- q! y1 R# C+ Z% x

  745. . o" n6 i7 B- ?* ~
  746. RELIFE_NUMBER_P2_ADDR:
    4 ^9 [5 ~/ y3 f2 t' T; W$ X  W
  747. .BYTE $20,$FA
    # k8 x' I. r4 K, N3 D0 U% a
  748. RELIFE_NUMBER_P2_PPU:
    1 }* m1 ?3 H- `
  749. LDX #$008 v; O2 A" K7 Y: n
  750. LDA RELIFE_NUMBER_P2_ADDR* Z4 r" ]5 h; Y, D' d. W
  751. STA $0703
    4 P$ q9 |' h& I% y7 x
  752. INX0 o4 b3 C5 n1 B: e4 k
  753. LDA RELIFE_NUMBER_P2_ADDR,X4 T! f% e  X6 w( @1 G! l4 N
  754. STA $0704
    # R1 H2 ?# g6 U0 V
  755. JSR PPU_PROCESS
    $ X3 B7 H4 `1 o5 L4 r. l( x
  756. LDA $33) H: m# p& M2 O9 M3 x# W
  757. JSR LIFETODEC9 s+ d; k" p7 ]$ k% |
  758. RELIFE_NUMBER_P2_W:
    / k& \, l. D# g$ M; V
  759. LDA $7A03
    3 s- u! {$ j9 T
  760. STA $0705
    1 W2 s0 B4 f, }: ~- C: k# G- r
  761. INC $0705
    . v; A3 ?% t, x% n' {
  762. LDA $7A04
    5 Y& V' ~3 g. D1 c) _) h2 k+ A
  763. STA $0706
    2 [' C, j7 f* H) q' a
  764. INC $07063 w, G0 r* `, e. u7 F5 p/ |( o
  765. LDA $7A059 K! D" \( B" C0 a% I  @0 G* E
  766. STA $0707
    + f# a4 e8 |5 Q& N) _
  767. INC $0707% w+ j: H+ `4 d6 u/ h
  768. LDX #$03, K3 F/ @  A0 m9 P# r9 u" `
  769. RELIFE_NUMBER_P2_START:
    7 d3 f2 S4 ]6 ?0 ~9 @# ?
  770. JSR PPU_START
    - R. R0 u0 D8 y' q: C
  771. RTS
    3 @2 c; S, X- X! Q6 P3 E6 \8 J

  772. * s0 D2 T; Q2 d5 g
  773. WEAPON_P2_ADDR:
    : ?7 z( m* N/ Q- c
  774. .BYTE $21,$33# q! h7 s6 o- o7 _1 X
  775. WEAPON_P2_DATA:
    + |9 ^. n- `" I* _* K: _0 `7 d: Q
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND. q5 O) ]5 b# D" J+ k+ f- r, L& [
  777. WEAPON_P2_PPU:
    4 o: Y6 H; b$ C
  778. LDX #$008 Z8 T: H. ^0 k+ U( R  ?
  779. LDA WEAPON_P2_ADDR. K& E2 `& m" @3 \$ a
  780. STA $07030 |/ p5 l! |" W5 ?
  781. INX# \, T1 f9 U. X$ G9 n9 z' F2 e. a
  782. LDA WEAPON_P2_ADDR,X
    5 H, L+ @% v1 c) W3 }: g
  783. STA $0704. e* n# P& b9 p" a" k5 `
  784. JSR PPU_PROCESS
    ( I/ k$ X& L* y* R( j. Q
  785. WEAPON_P2_W:
    7 k3 E" a: n: T, C0 u* V+ \  }
  786. LDA WEAPON_P2_DATA,X
    : `* Q5 z8 [! l9 |( ]2 M  \
  787. CMP #CEND* [" c3 b: [. ?( k2 B+ E! V
  788. BEQ WEAPON_P2_START9 S, u/ I* i- ?& z
  789. STA $0705,X0 @2 |0 p, R- b4 G7 A4 m$ O
  790. INX
    - ~0 y7 ~6 a, |: O* O
  791. LDA #$00
    : h& \; m& Z+ ?4 _
  792. BEQ WEAPON_P2_W
    . ^- t( X( n# A& K2 p3 c
  793. WEAPON_P2_START:: B8 c% S6 Y# W
  794. JSR PPU_START/ x& v/ y0 [7 e  |
  795. RTS
    1 }) K. Q0 A+ r$ B
  796. " h. @: c! C1 }$ B9 S; m
  797. BULLET_P2_ADDR:6 C1 {" O$ l, B' `/ T% ]
  798. .BYTE $21,$3A8 N) ^7 v$ B7 Z) l3 ]' d
  799. BULLET_P2_DATA:0 t4 a- D( s: e+ x
  800. .BYTE $00,$01,$02,$03,$04
    2 i" O# \% k: V% `
  801. BULLET_P2_NAME:
    ; Y, g7 q6 E0 C$ t- q' U" ?' t/ x4 q
  802. .BYTE CN,CM,CF,CS,CL* n; |9 _3 A8 G# V
  803. . s* i9 |$ Q. @& |) V
  804. BULLETPPU_P2_PPU:4 @/ V4 y( E" |" E* f+ @
  805. LDX #$00
      h6 j1 d" c/ ^$ x
  806. LDA BULLET_P2_ADDR5 _+ H' a3 N+ M3 Z- N2 g9 ^  b
  807. STA $0703
    0 s/ Z% a' ?5 W0 w  n7 o
  808. INX$ r# z% y+ J5 n) T/ ?% N2 V
  809. LDA BULLET_P2_ADDR,X. K/ U! P8 Q' a5 ]# e* V
  810. STA $0704
    ; m% N+ Y; Z; }/ V+ {$ g9 Q. R
  811. JSR PPU_PROCESS& |+ O% L2 w7 G0 I' w& r) B
  812. BULLET_P2_WRITE:# o8 t8 \. T. y# F
  813. LDX #$00
    / H$ t- y% p% c! Y' ^( w: V8 L
  814. LDA $AA
    5 A4 ]3 W, o  q) @) T7 A5 g
  815. AND #$106 f3 P; |9 T: E! R8 I3 _) S  C" z  J
  816. BEQ C_BULLET_P2- \2 c4 \! Z* Q" N! J1 H, E
  817. LDA #CS* g. a# J9 z3 U9 c' I: q
  818. STA $07056 h! k) m/ W% s# W
  819. BNE B_NAME_P2
    # O( }, x% Z$ ~
  820. C_BULLET_P2:
    9 t5 p0 q$ m' G- g% w* x! |
  821. LDA #CC
    ! r* K" h0 P6 e1 ?/ s
  822. STA $0705
    4 X6 ]% }8 ^# j7 o7 j- ^
  823. B_NAME_P2:
    ; I, A7 f# H* f4 a1 t( J0 k
  824. LDA $AB
    9 g2 r* z6 Y9 g% D& j( [8 S2 u
  825. AND #$0F
    1 ^6 C$ `* h3 T* [
  826. CMP BULLET_P2_DATA,X( {8 [% a- r! D; w! v+ ]
  827. BNE B_NAME_P2_RECMP1 N& n5 M) t& H% q% v
  828. LDA BULLET_P2_NAME,X
    2 [0 T! D. T+ {, C6 A( u  e' x1 x  Q
  829. STA $0706
    9 S, B9 B; ~! b9 C7 a8 R
  830. B_NAME_P2_RECMP! X2 n8 T5 W  E5 L! T. j- o
  831. INX
    : w% w1 P5 x9 o7 D( t6 b
  832. CPX #$05
    " C" U7 \2 v) N4 `# R3 X2 J! W6 w
  833. BCC B_NAME_P2
    # ]+ G& `$ E) l" J
  834. LDX #$02
    5 a! `' Q5 c* r1 @+ b& b; V. Y6 j
  835. JSR PPU_START
    & Y, m" Y( ?1 d/ h
  836. RTS! ^8 L0 t2 r2 G0 F
  837. - }" a8 c/ `$ {1 d( b0 A( }
  838. % {# {0 z" G7 _- ?/ I5 O* N

  839. 1 }, i  \  g; O9 G4 v3 K9 s% w

  840. 2 M/ g0 n0 g- M6 b

  841. 2 [9 |. W2 ^: ^; u3 P
  842. 2 \7 C! K# |7 C3 H
  843. LIFETODEC:                ;十进制转换
    * ?8 ?! Y  A, w
  844. LIFEL1:        ;initialise
    8 n2 c0 s% C3 v! [% K# @! r5 r
  845. STA $7A00        ;$7A00=F36 T) j9 [9 Q7 ?* R% W$ y
  846. LDA #$004 Z5 W* w) A1 X, {! `; E
  847. STA $7A03        ;$7A03=00
    ' K( {* @' {* d) X' @& C
  848. STA $7A04        ;$7A04=00
    # l% I7 I1 j( F9 e
  849. STA $7A05        ;$7A05=00" `' G; M9 A+ `; B  M9 G+ m1 x8 J; J
  850. LIFEL2:        ;copy data $7A00 to 6001
    & W. n0 q* E' ~& k, U
  851. LDA $7A00, l0 ^$ Y7 m* w2 l
  852. STA $7A01
    6 a  [. H5 x# r. i) }, L

  853. 7 ^1 m! m7 ~0 t5 K/ H* M( E8 B: L
  854. LIFEL3:         ;hundred
    7 S  W' z4 h( E- d
  855. LDA $7A01
    % L9 a* b% c$ b7 ~9 d6 }: s
  856. CMP #$64
    8 T3 N% j3 M, T% z: B% j
  857. BCC LIFEL6                ;$7A01<100 goto L6
    / @) Y3 q1 @: t
  858. LIFEL4:  r/ l* U! O/ s; L* F4 A' O5 _" Y% u) ?
  859. LDA $7A01
    8 p! L5 k  ]) C& t) Y) a( v6 o
  860. SEC
    8 v# C' F% R6 a& x( Q9 k7 e3 h
  861. SBC #$64        ;$7A01=$7A01-100
    3 _6 }& ^/ S- D
  862. STA $7A014 l0 f' q* @( H  G* k" @5 I
  863. INC $7A03        ;hundred+++ N  y  \4 }' U" i3 d* M) U
  864. LIFEL5:
    + f4 ]# ]& n7 W
  865. LDA $7A015 d/ ^4 o! L; `' {
  866. CMP #$64
    - E7 @( u+ i3 Z/ U8 n! C
  867. BCS LIFEL4                ;$7A01>100 goto L4
    - Y& Z1 {% C' l% k# X' ], {2 b* V

  868. . M- G5 h. ]0 p2 Q8 V
  869. LIFEL6:        ;decade
    2 p* g1 N; {; X% v# l$ |
  870. LDA $7A01
    ! m: h- i  h# @
  871. CMP #$0A( W9 i/ v# l, k7 |5 e3 F
  872. BCC LIFEL9                ;$7A01<10 goto L9, T7 E$ B$ T- M5 @& J: M
  873. LIFEL7:        6 |$ e, Q( ~) a/ m
  874. LDA $7A015 M8 F% B: i7 J- L" f5 d
  875. SEC
    $ ?  G( h6 v7 q# V' w
  876. SBC #$0A5 r) F/ q( `$ k+ P/ }( I) I# ]( L' s9 p
  877. STA $7A01        ;$7A01=$7A01-10
    $ q" }' Y  n* N- S, J
  878. INC $7A04        ;decade++) c' k7 }# W4 K4 E9 H4 G
  879. LIFEL8:6 |% M1 I, U/ ?9 r5 X, }! x0 w
  880. LDA $7A014 ]5 t: X; ?* f- ]( s" E
  881. CMP #$0A
    : I4 N2 [+ ^) ^& W8 E
  882. BCS LIFEL7                ;$7A01>10 goto L7
    + C/ K) D, u* t
  883. ;unit) N  e: r' q5 @% `) L" _. l
  884. LIFEL9:4 V) ^) B- X. x, Y
  885. LDA $7A01        ;$7A05=$7A01+ `9 a5 {1 o* B# R" L% D7 q* T
  886. STA $7A05        ;unit% x0 ]$ t$ `) D0 A- R6 x
  887. RTS        ;return9 z- d% t( G* X2 f5 V4 m+ t4 ]
  888. 7 N) l4 N. a/ K5 Y, C1 e
  889. ( P8 P/ H* f( E6 f, q- H

  890. 2 ]2 E7 n% A* R6 i2 U
  891. PPU_PROCESS: ;PPU地址处理程序1 @. n3 w0 D# N- |2 c4 X& t
  892. LDX #$00% E2 V% y/ [1 J7 f+ R3 z
  893. LDA $FF0 Q3 m4 o. Z/ }) i+ T7 S# C" ~
  894. AND #$01
    & U; @& A% H1 v1 [9 r7 O
  895. BNE PPU_2400_27C04 h+ ]! I/ Y( h9 {
  896. PPU_2000_23C0: ;命名表1
    / l& s" H1 |- \0 Y. K& j
  897. LDA $0703
    5 k- x% Q, V6 W! [! A0 G) S9 @
  898. AND #$FB
    4 Y, a5 g* X  j
  899. STA $0703
    - V4 i7 O& J+ G- l5 @5 j* y
  900. RTS' l: z* H4 E( D& g4 |+ U* x
  901. PPU_2400_27C0: ;命名表24 f' g6 C* }9 d2 X2 J
  902. LDA $0703
    : C  u5 H- _; K5 j# ~" `
  903. ORA #$04: ~. d# f$ X6 S; _
  904. STA $0703. ]7 n* X4 \! d/ C
  905. RTS
    / @& k" L, l& P" c5 \" ~% A( N# l

  906. 7 ]: V3 ~9 u) J$ V; P! N- A
  907. PPU_START:  ;PPU数据写入3 u5 Z  ]0 e, \) q: I2 W
  908. STA $21
    & R. k) [. o( B" x  Z
  909. STX $0701
    ! H: t" L2 w7 b3 _$ w) L
  910. LDA #$00
    7 \' Q) d  N& Z6 y& V% U
  911. STA $0705,X
    8 K! X$ c9 Z* H  O; q
  912. LDA #$016 F% N5 A2 W* J
  913. STA $07002 }, y# C' G+ E
  914. STA $0702
    , t0 s' I) z$ b0 x
  915. RTS$ ~% A1 w0 }% l) G
  916. 2 ]* ^( p& J0 k

  917. ) L  l; ^; Z9 U5 P
  918. . Z+ A- B/ ^6 D3 a0 `

  919. # j& S& v( N2 F3 K

  920. $ [7 @6 k& \9 J; m8 K

  921. 7 l4 |$ P3 A8 n2 Y, S! o. R/ w1 J
复制代码
0 `. n, ]( }+ \2 b  J

本帖子中包含更多资源

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

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

签到天数: 1859 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
+ T+ h5 Y" N; ^" Q! G& |

签到天数: 2493 天

[LV.Master]伴坛终老

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

签到天数: 25 天

[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, 2024-5-5 15:52 , Processed in 1.109375 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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