设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序6 b8 B6 S) q! [; M# V
  2. 作者:FlameCyclone
    4 i" a& _5 z1 ^3 i! _3 B9 U6 o
  3. 时间:2017.2.12$ j7 q6 {, s! I* I
  4. # e9 D5 g' g- c8 E/ t
  5. 按键跳转:- k& E% A/ _5 L  }/ I5 ^+ v
  6.         C1EF:95 F5 94 F1# j  d9 z" A8 D
  7.         C1EF:20 70 FB EA2 G' F0 ~5 ^6 C$ @

  8. - O" x& n6 l. _% V& |( w. e
  9. 滚动偏移:1 z6 ^$ m' c4 I) u7 U8 N
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20, x* V  c- j7 U3 z8 w" o
  11.         F936:20 C0 FB EA EA EA EA EA EA EA8 B# l2 J7 B+ a, r6 b1 H
  12. : ^4 r! K& f/ f. _
  13. 背景调色板:6 A" Q5 B% i; X9 d0 V
  14.         CF20:9D C0 07
    4 v) r* y4 \: N# V( ~; G
  15.         CF20:20 A0 FB: u! S- r4 _3 D& U% J# k

  16. - [9 G  G, W' }+ w, m
  17. PPU BANK号:
    0 }, s; X5 S$ x+ }
  18.         C8C9:9D F4 07
    " {9 P. R/ {$ {' Z) ^
  19.         C8C9:20 B0 FB) e9 u! ]" O8 F

  20. . ~- |( `: b9 z; J6 [
  21. 按键跳转:
    7 R8 h/ d$ p5 I9 q0 N
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    % e# D1 g: Q6 ]+ a
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 203 N  V; {! `; l! S$ M4 o0 B: E
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    ' l+ M5 v2 }% F; x2 n# B! ~

  25. ) g: n6 Y5 C* O
  26. 背景调色板:! f; w% f+ F/ w  A5 _9 s  f) g
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF9 {- v0 b* @$ w9 {' p3 _, q

  28. - i6 U6 `: g5 J8 T. z+ h3 n( S6 k
  29. PPU BANK号:  C! j& {7 t$ j+ e
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    2 Q/ W1 y1 A3 }0 ~' b8 g

  31. 1 K4 j. Q: N# F2 @8 S/ Z
  32. 滚动偏移:0 z) I1 f, Y3 \
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60* J! q: [* `- ^
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    " x' [+ i9 `$ `. J) ]

  35. $ n/ B3 x% B9 B' o) f3 g, x

  36. 9 b1 _, g3 t  S9 \
  37. 切BANK后A000:
    1 n9 X3 m! n. O& h! u
  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
    ! y% b8 Q) X2 w9 R8 o& k
  39. 2 h3 y9 z. G- H% [
  40. : M6 r1 \3 e/ w$ }8 x6 e! w
  41. 6502 simulator:
    . l- |3 ]: j/ |1 q6 h2 `9 C3 Q% a
  42. PPU写入程序:  g. _* B' t6 S' L
  43. .ORG $A000
    ) V1 u( y" H8 Z
  44. CSP = $80" z1 p7 U$ T; i8 T# s
  45. C0 = $81% d" m" L6 E+ T+ o# q" K( H
  46. C1 = $82
    4 |: U, J( @! O6 l1 l" n$ @* o
  47. C2 = $839 E2 e6 W3 u, _! O
  48. C3 = $84; Z" Q$ L$ B3 @: ]0 R1 y& W
  49. C4 = $853 a. d: i6 c4 ?3 o- M: ~
  50. C5 = $86
      b; s0 j! p, j/ h( D
  51. C6 = $87
    5 l7 _8 @+ G' R$ W, j* t
  52. C7 = $888 I! e+ J6 c2 S9 u3 l) t* S
  53. C8 = $89
    ( C  V+ U; L3 v5 {+ S, ]2 r
  54. C9 = $8A
    : @0 P6 W2 ?2 w
  55. CA = $8B4 d9 a. s/ q7 x7 p- @5 q+ W& N5 Q
  56. CB = $8C0 B! l# K8 j/ V5 L  U
  57. CC = $8D: u  x: E- Z8 D9 A
  58. CD = $8E
    : d2 }+ t- _; F- J5 J' A5 D
  59. CE = $8F
    . h+ E$ I5 v: ~1 p9 `
  60. CF = $90" o" x  k5 }5 l
  61. CG = $91, p5 ^! F' ~& [0 v, E6 l
  62. CH = $92$ v# K# \% E2 L! @
  63. CI = $93
    , R8 q$ m6 ]% G  i. U0 ~' u
  64. CJ = $94- j5 ?# v/ I& \9 d3 g
  65. CK = $95
    1 Y  R3 O3 Q! C' N3 @
  66. CL = $960 R1 A. F, o3 M1 b6 w( x
  67. CM = $97& k% o- F+ m" X2 G" i
  68. CN = $98
    3 W- x& ?7 N+ U' l6 t
  69. CO = $99! _. U8 Q3 I% U) h+ x7 e
  70. CP = $9A: B% L! L! c& w: m- P( J6 j
  71. CQ = $9B
      |% B8 |! q/ E! L- s
  72. CR = $9C$ E8 n; c5 R4 }$ h+ u
  73. CS = $9D0 d; [# R; C1 P. N+ n
  74. CT = $9E5 w. {" D: s. D. ~* x
  75. CU = $9F8 }: t' W4 @- F+ X5 U) G# i
  76. CV = $A0
    " N" O  i( k( k  V
  77. CW = $A1
    * P) ~/ h  d9 P. y' J9 H9 K  w, G$ E
  78. CX = $A2
    - ]( Q! l) J' b. Z
  79. CY = $A3
    7 s2 Y1 E) ?! C6 N% W
  80. CZ = $A4
    6 y7 Z, g4 m, K! |9 C( Z% c
  81. CEND = $FF4 v' h/ }5 j& J
  82. . o) H1 q, r$ e/ @* c% u
  83. % J5 }/ j. ^7 N! q* M
  84. CMP_RE:
    $ @* K+ g3 i1 [1 ~& f8 k0 O
  85. LDA $FF
    , V$ S/ ]1 ?/ R3 w, x- P) r
  86. AND #$7F, `8 [/ a5 E, Q. c! k7 D
  87. STA $2000
    9 Y" ?9 g' s0 ?) n( }
  88. LDA $2002
    * R2 b8 O( J8 z( A' a
  89. LDA $25& o$ m7 ^! p' O& R# S2 v
  90. CMP #$01! {) o) `$ N/ i; {( b
  91. BNE PROREG
    % Y6 @! A9 W; |  Q2 G
  92. LDA $F5,X
    % m& n/ i3 `( W  h' L
  93. AND #$CF
    ' g8 W+ k0 _( W1 z4 `
  94. BEQ PROREG5 S* T3 p' v( q) A( ^6 V! I
  95. JSR PPU_CMP
    1 `9 \* S0 B& i3 G8 w8 Y* Z
  96. C_RE:7 Y) Q2 W/ ~1 M# l- N4 {- t
  97. RTS, Y" ~/ U+ i0 o# h( Z% I2 d
  98. PROREG:" A) N- Z7 {. {
  99. PHA
    " Q$ e% I5 o5 I" p
  100. TXA
    5 t: ?( w4 I9 a& {4 R
  101. PHA0 M: T7 d) N8 [, N1 _" r+ @; M* L
  102. TYA
    3 |" \  O/ ~( R
  103. PHA
    / P( u( _( j  H6 O; f2 T7 p
  104. LDA $25+ G- ~* k; {3 k( [& X" ]$ n. F
  105. CMP #$01( m; N3 ^/ z" X* ]$ y% \) G7 o
  106. BNE RE1 m/ _0 w& B" c
  107. LDA $010A
    % l, r+ y- B0 |9 b8 H
  108. CMP #$00
    # v) H" B3 p- f0 [  ]# V! ^
  109. BEQ P1
    5 w8 ^$ Z% b3 ?- m( o4 d

  110. 8 a2 n+ Z8 Y: j6 l0 X: u5 g
  111. RE:: x. A* K7 m9 z
  112. JMP PPUWRITE
    2 [8 m/ I( b9 w7 j4 ?7 K

  113. . F7 _2 \2 [3 d8 h+ S
  114. P1:                ; 条件判断! S0 m- y# r/ P7 c
  115. LDA $7FFF( w; P$ ^  y6 g( x* L1 z( m5 V: j
  116. CMP #$FF0 l! R8 ]5 i) U& A
  117. BNE P1RP, t0 Y! P8 l- v( g' O7 b
  118. LDA $7FA04 S' j- z# Y7 I) m- ?
  119. CMP #$00- A5 A$ X! Q3 `+ G1 f& C
  120. BNE P1CMP+ U& e+ }- T- u
  121. LDA #$FF
    2 H. c) m8 J! V6 H- A
  122. STA $7FA0
    : n4 G$ s! z( h" h8 r
  123. JSR CLEANA
    : A! A% I, R' t, U8 r4 N
  124. JMP PPUWRITE5 K5 r! ?7 R/ s* U( a
  125. P1CMP:" h* d: q; q/ x- c9 R
  126. LDA $7FFF/ G/ u. }- O- S( b' @8 k
  127. CMP #$00
    ! P4 a) ]) m* s) f! r# H7 l2 I2 N
  128. BNE RE, O5 p5 m5 |+ {6 @9 Q9 y: d9 ~
  129. P1RP:8 b$ D6 q- L8 S4 o7 q
  130. LDA $2002
    / n' K5 d! A0 i. T! [
  131. LDA #$00* F" t. w$ T# U! l6 K. y# D$ R( w1 w
  132. STA $2001% f8 A8 b. ?3 \
  133. LDX #$002 Q0 r( b- N3 G  u- D5 j
  134. LDA #$FF5 G- w% U4 `* R& g4 z& S
  135. STA $7FFF, G1 r. L: V' X  b8 e0 \
  136. STA $7FA02 ^  S  P7 f: |1 |
  137. JSR COPYPPU
      ?: s. q7 o" e  ~: d3 v/ q; v% z
  138. PIRP2:
    ) d8 u  m0 S0 e; [# d
  139. JSR CLEANA
    2 @3 q3 u. I4 _- B* q0 D5 Z
  140. JMP PPUWRITE
    ) H5 Y) Y  w) _; H
  141. 7 C( q2 U. V9 c) B2 C+ M( R
  142. COPYPPU:$ J3 ^' V4 R6 y+ K2 o0 e: Z
  143. LDA $FE
    + t$ \# N$ I% F7 u
  144. STA $7F50& S% ]& e- m' L5 q2 l  g7 ]
  145. LDA #$08
    3 C- j! B' |0 r5 ~
  146. STA $FE
    # z5 i; e9 r$ @$ k3 D" k
  147. L0:. v2 L- W' u+ F9 E9 @, |9 s' `
  148. LDX #$00
    5 `: X; O' m0 V5 D. s! D$ r" c+ }
  149. COPY_07C0_07DF:
    5 k; l- s' H, ?1 v1 r
  150. LDA $07C0,X
    4 ^, l$ g+ ?" c* Z
  151. STA $7F00,X
    ' v, W8 h, ?' [! Y1 R6 G* D
  152. INX
    ; I1 a4 [$ u( o) ~7 ^- L9 R6 I
  153. CPX #$40
    $ z, i0 z- h5 i7 a$ G
  154. BCC COPY_07C0_07DF
    % F1 i9 t$ Y  n
  155. LDX #$00
    % \4 S$ I7 {" Q- ~
  156. PPU_07F4_07F7:
    5 ]; Y) ?! Q! L7 ]% ?
  157. LDA #$00
    ' B# z8 M( r5 l  m! _5 r: r
  158. STA $07F4,X
    " w6 p+ J0 m( ^
  159. INX
    7 \- e7 ?, V& i: b- o. R+ q# _
  160. CPX #$04
    3 y! ^4 t0 c+ p6 q' m7 f
  161. BCC PPU_07F4_07F7
    $ A! I& N9 Z1 m, b: y' e; Y
  162. LDX #$001 e7 E# q2 q2 x7 B3 w
  163. COLOR:9 t0 `' W8 r" l" m: ~
  164. LDA COLOR_DATA,X
    . C# V( L% Q) F: P" u
  165. STA $07C0,X
    : H$ i8 }) n5 u+ T
  166. INX
    $ C6 }! ]+ C1 [3 R$ ]
  167. CPX #$10
    ( o3 \. g. |' ?( x4 I/ u  m5 S
  168. BCC COLOR: i# `$ b1 \* l- H; {
  169. ) U4 R5 I6 b9 b5 j8 u2 w$ h
  170. PPU_COLOR:) ~2 p2 l$ Q0 D* ]4 l
  171. LDA #$3F0 f1 K( i# [/ d& C3 e; ^
  172. STA $2006
    ' c* |# W# ^  `" ^- B! Q0 P8 F
  173. LDA #$009 j& g5 {, q$ P8 l
  174. STA $2006" U9 a4 _7 I0 z- v* q0 K" G
  175. LDX #$00
    , |- t/ J5 ]: U4 P
  176. PPU_COLOR_W:! x* M( B3 W1 E/ m: @' W
  177. LDA COLOR_DATA,X. F6 K; l- I, {* q2 b! E
  178. STA $20074 w7 b" h7 X' a6 }7 |" I* S) N; m
  179. INX
    0 w9 T+ L) k$ ~: K! w5 ^
  180. CPX #$10
    4 J  L$ j* D: D  l+ w5 |
  181. BCC PPU_COLOR_W
    0 ]- {5 S* m( }7 m1 \# b2 W+ X
  182. 6 D% W6 I: F$ b4 J2 d

  183. ! A" `* p  D# W* H# Z- A
  184. LDX #$00' a! ?  o* {7 I0 F; P
  185. LDY #$005 _. ~( t/ i9 V1 \' t2 H
  186. LDA $BD
    1 C* W1 J) O/ b: T3 I0 U7 ~) I
  187. PHA" n) w5 g2 r! @  I
  188. LDA $BC
    6 v$ z) q) \" i( g
  189. PHA
    / }8 F) a. n$ @3 n) w' u
  190. LDA $BB
    ! B7 H1 _" l2 w7 g" i4 K
  191. PHA
    # k# _4 o  O- Y- p3 s5 ~# I7 H
  192. LDA $BA
    / l* e: Q& }( i- y* m+ I* u4 v
  193. PHA$ C, S$ X( D9 R7 ^' X- E8 u! y
  194. LDA $B9! w, l4 _9 l1 A5 A# W: r
  195. PHA
    2 r5 k+ q# v% I) M; b% M
  196. LDA $B8
    # C# d: t! L  h5 d
  197. PHA
    + J" s  I7 v/ g; O* }
  198. LDA #$00: U/ E4 Z* [* I  [6 k3 d, @. c, u
  199. STA $B8
    : t" n4 U$ q: K4 R2 V+ }. x
  200. STA $B9
    ! s& I2 Q* i! _. Z/ W" F9 X1 {8 y* L
  201. STA $BA
    # M& l3 \6 t$ D, ]+ |+ k* v
  202. STA $BB- T  w# n! L- O2 H
  203. STA $BC+ W& A" ^  v9 m5 x
  204. STA $BD0 z" r- H2 ^! p: h! ~
  205. LDA #$00
    " L# z2 ?) V; n) q" f
  206. STA $BA
    1 G& Q1 O$ a; [. Z
  207. LDA #$20; u9 M4 J* X7 Q9 \8 k1 K
  208. STA $BB' i+ e0 t" u# G& D
  209. LDA #$00) q& O! j" b/ Q% A: Y
  210. STA $BC
    " E; M- l  q  f* Q* E% c
  211. LDA #$60
    % G' B5 H4 D8 a
  212. STA $BD
    ' J4 A  H4 l& x$ b% b+ l

  213. 8 n$ c; v( r& o1 k8 D% {
  214. L1:                ; PPU复制) H/ @, A) Y4 @2 C
  215. LDA $BB' x( U* ~) F/ C- p# C
  216. CMP #$28
    / O" \5 D1 S7 h% L1 v2 l/ P
  217. BNE L2
    ' j2 k* i  r' @. K( R, I8 D
  218. LDA $BA) a2 a1 J4 d6 [6 U0 r
  219. CMP #$00& @9 ~7 L) g7 I; V9 C/ a% ]
  220. BEQ PROADPLA1 o* f4 C  F; K' ?) {; u+ p: Q& L
  221. . Y' D: o- O5 ~5 r( u( ~# V
  222. L2:6 l! P2 D4 W" E4 {
  223. LDA $BB
    " H2 c# t8 e1 j% W3 k: b
  224. STA $2006( U0 q6 I. t/ v# X" J, l
  225. LDA $BA
    ; K6 W) D, J- W: |; s
  226. STA $2006
    # M) d+ l- p: ?9 g, C

  227. ( o' F  G; i. w  f
  228. L3:
    " F: c0 H. \  T. `. p- v
  229. LDA $20074 b5 d: I# @  F, m/ _
  230. LDA $2007  j! Z' l+ {) {7 B' {
  231. STA ($BC),Y
    ; z" S, S* V  M0 A. c6 [3 T
  232. : [! J% ]4 H6 d& G
  233. L4:0 x7 U: v8 j! a7 W/ a) l
  234. LDA #$00
    " V5 ?' L- [. y6 d- r, c  D: L
  235. STA $2000
    * U9 Z% i  _) p- d. o
  236. INX
    % V3 {, s! }: ]7 S4 `7 `# H
  237. INC $BA
    1 Y1 g8 V6 Q9 p
  238. INC $BC
    3 n0 ^' a9 H" e3 [, y8 k
  239. CPX #$00
    ) s6 {  u) K0 P, U1 K
  240. BNE L15 o. T  m0 n& \& ]! ]% `6 z3 N- F
  241. INC $BB( w3 i6 F+ n) X0 K0 `1 r) s
  242. INC $BD
    * M+ n3 J' o. S, ~
  243. JMP L1
    $ Z$ s9 n% \; Q2 ~4 S1 W, P8 |
  244. 2 l. s8 A$ c1 x/ _2 E/ f& @
  245. PROADPLA:                ;出栈* m1 j7 l$ [/ m' [  n" k1 c) V) W
  246. PLA9 a; _3 a5 M2 K" p
  247. STA $B8
    7 {: w' F$ a5 o7 b0 y5 R, n5 @
  248. PLA
    # Z6 L5 m7 Y3 O6 R; \: H
  249. STA $B9+ O' X6 a' A# t+ T
  250. PLA
    * B% q6 s9 N5 V. _% w& ?
  251. STA $BA/ I6 F" g8 Y9 X, i
  252. PLA0 X3 p8 B: X4 s5 w
  253. STA $BB
    # `3 d# @7 G/ ?. L& v9 V7 O
  254. PLA
    : m5 A0 z6 |- B) C' @
  255. STA $BC8 o7 l  N! M6 A# z
  256. PLA! n8 M, n% b+ R5 [5 {% l( ?
  257. STA $BD
    7 c, g8 }) s) ]
  258. CPRE:
    - p9 H! w2 e: L) t* Y5 N
  259. RTS2 r, f) B2 o( E7 H# [
  260. # }5 J# g5 J/ X
  261. CLEANA:                ; PPU清空, k- o3 y: U9 h- z- [
  262. LDA $BD
    ( x0 u) Y9 J( ^" b0 r  K. U
  263. PHA1 R9 e/ J# H0 S  v9 n
  264. LDA $BC6 H. k+ c' S8 }+ s1 t$ T. |/ M% h
  265. PHA
    7 @3 ]* p4 V- F. O" m3 {
  266. LDA $BB
    ( V; j9 i3 k. f/ C! |( ?
  267. PHA; X5 s  Z. |% F+ Y) {' c+ X1 v* N' e
  268. LDA $BA  o+ b" c, e; E
  269. PHA
    8 q4 A; F6 D' J) A$ t6 X' i3 A" w) m3 U
  270. LDA $B9, u. o$ B$ M5 C$ e
  271. PHA
    3 h* d# q7 J5 c7 u
  272. LDA $B8! n6 `, \4 K1 }, p6 t9 K
  273. PHA
    7 E' S8 r  n; j8 e
  274. LDA #$00* Q; y, p) u. O0 M- o/ t
  275. STA $B87 G  h7 P; T* ^$ E6 P; W. B3 _, k
  276. STA $B9
    + u6 c/ Q$ j( d5 S* V% w( Y7 \  u; Z
  277. STA $BA) {  d8 G5 W$ ^$ b3 T. @% A2 r# \
  278. STA $BB
    9 k7 T. w# `$ E) J/ @/ A
  279. STA $BC( M& L# ^& }9 r$ ^0 h
  280. STA $BD+ g9 d7 c3 |( P! b+ j
  281. STA $20010 _$ r# E( t! N3 m& {
  282. LDX #$00
    + L. e3 o& d4 L* ~, k( ?
  283. LDY #$00
    8 I; R0 O. N# A3 j0 O) @
  284. LDA #$00
    . ]. Z1 |, F  U
  285. STA $BA
    8 d! Y" }- s( }" Q$ w
  286. LDA #$20
    ; Y* b: K8 \1 r( E8 z3 i- @3 z# R
  287. STA $BB* D3 W& o2 g2 u

  288. 1 u" V1 |- p# w6 L% G
  289. CL1:, x" d, D# Z, @" Q# w
  290. LDA $BB  a. }. V) |1 Q6 h+ A& N
  291. CMP #$288 d2 _& Z: H5 U3 w
  292. BNE CL2
    , J7 h6 b, d5 T0 V  m' M9 ]. `
  293. LDA $BA+ G7 Y) b  ~$ R1 T- Q8 i  Z/ Y
  294. CMP #$00
    4 {& @. f  a: i9 F* ~$ z+ n; U
  295. BEQ FREEWRIYE
    - s+ f, w: d7 c# r; k# y

  296. ! u. L. G5 l/ b& D
  297. CL2:/ r% ?: M2 B# a2 I- u
  298. LDA $BB1 ]0 N5 n+ x2 @, w# ^! U* m
  299. STA $2006
    % K' D$ D! s4 j' |* B
  300. LDA $BA
    2 [; ~) L4 ^1 M4 i  U1 ?
  301. STA $2006' @1 s/ q/ S6 o  Z! @3 z- P
  302. % I( x+ @0 P5 k$ v0 @/ L$ Q9 [4 B' _
  303. CL3:  n/ \- @) C' L1 w% o" R6 P
  304. LDA #$00
    , |6 K& P1 K( {) y% F
  305. STA $2007
    4 D" Q/ h3 i3 Z. Y! O
  306. + g$ ]# n+ w/ A, {5 q* E
  307. CL4:
    6 X4 f$ I* O0 ^" q! i( k5 s' K
  308. LDA #$00! _0 |3 [3 L: S( T+ j
  309. STA $2000
    ! I3 q$ w& v; v" z# y
  310. INX" C/ A' H5 G8 E  X" F
  311. INC $BA
    / L7 r7 W; [+ N/ F0 q& B2 O
  312. CPX #$00
    5 Q8 }; y% V+ M. d4 Z6 f
  313. BNE CL1
    $ d" d& t# ]& I# A
  314. INC $BB) z- e+ p/ r- J/ d, h# H
  315. JMP CL1
    5 e8 n( v6 o0 o8 [5 t4 y+ }% M

  316. 9 M8 S7 }' t# G: j7 H! e& o

  317. , o( G1 W1 i7 U3 C1 g, o( [
  318. FREEWRIYE:7 G+ r' l* E+ [1 R, n4 Z

  319. ; |0 E6 v2 d  r. u3 v: a+ b$ V
  320. NOP: p8 S$ f/ ]  D+ A) ]* j- V9 R

  321. 5 ]8 p9 L4 s. ^! K- o; p& r* N' k! e

  322. 3 r# T* I9 z, f- p) \7 w# Z3 _( a# |
  323. & }0 e  Y, {& R- Z

  324. - {/ p. z1 c; B0 R" g/ j- ~0 z
  325. 9 Z' y, ?2 a1 W- i6 a/ F
  326. CLEANF:                ; 恢复现场
    ) @1 ]7 O0 r- Y: i

  327. 0 x) Q  u2 g* v" s
  328. PLA
    ) V, ?/ L% p  L( ^  k9 G
  329. STA $B81 c, T! s# Z2 f8 ]1 D  G
  330. PLA+ M1 m! d% Y5 Q9 {
  331. STA $B9) s" C# \% _, ~' n
  332. PLA
    % D1 N4 ?/ V2 @6 x* J% L9 M: P
  333. STA $BA
    0 f7 }  Y/ o+ F' {. E* q% j
  334. PLA; L0 v/ H: |: J3 g$ N
  335. STA $BB5 ?3 O* q* l6 ?# N9 S$ M
  336. PLA' [4 n$ ~# d5 ?( ]5 z8 b
  337. STA $BC6 J9 f1 ]. P! f1 v) g$ C0 |
  338. PLA
    3 A1 Q" I9 ~6 S1 Z0 P
  339. STA $BD' K$ [* l. [8 N% q3 J. H! m2 F9 |
  340. CLRF:' _( u& X$ E% T
  341. JSR FREE_PPU
    2 _$ T3 w' M+ J' b3 y7 y% ^. U
  342. RTS
    . J5 v+ ?# S9 o& h* S/ ^: B

  343. * b  _9 W. H* h- d) B8 z9 \
  344. 1 J( N2 l  W# w) R1 t! _- r% J
  345. PPUWRITE:    ;PPU写回
      d3 ~4 f3 g- F9 V. F+ b
  346. PLA# Q7 h2 m6 ~/ x
  347. TAY
    $ ?( a( Q. z. ^
  348. PLA
    : B- c, k* H% m" Z' l0 d- ^
  349. TAX8 K7 y2 y, d- _3 q
  350. PLA4 @- h# a% _& y9 Y% G. n
  351. LDA $25
    / V  h8 ^' c; W/ y$ H4 I$ v
  352. CMP #$00
    9 o$ _# @& a( z/ v2 r
  353. BEQ WP1
    ! C+ U9 e$ K9 @- y
  354. LDA $25
    7 @$ `% W/ f6 s9 l2 R3 @: Q
  355. CMP #$018 S1 b/ G4 o: R0 Y  [, k: `
  356. BNE WRE7 F# G2 n) {5 y( s- R
  357. LDA $F5,X$ l. t4 U* G: V% D
  358. AND #$EF3 Q9 Z4 }, X& f" o3 |# R- X$ N7 O
  359. BEQ WRE
    ! ^" U' }) U! ]: Q) B$ r
  360. LDA #$00" X& w, J# f! u% ^( `4 [8 r4 }- ?
  361. STA $7FA0- N: {. `( ?* o/ E$ ]
  362. % [1 e( x0 g* @* N1 M" _* ~7 Y% k9 Z
  363. WRE:- d6 x+ Q* v( t; o# C5 @1 W
  364. RTS
    6 w0 Y1 A- ]2 k( z5 W1 b
  365. 6 {6 N' F  Y" e; V) ~# w
  366. WP1:2 v$ e, v  ^, y7 @- t
  367. LDA $7FFF
    , u/ E! U) u6 E5 [3 @
  368. CMP #$FF
    3 B/ L  G9 @  m9 Y# f8 L
  369. BNE WRE
    1 Z2 ]9 k0 A! f' y
  370. LDA #$00) ^5 F% X3 h+ V& ^
  371. STA $2001+ E, r! R1 A( h2 ^/ l5 ?
  372. LDA $BD0 _, D  z& M$ P8 P' U/ m
  373. PHA* V# w' P% o7 Y# |, O
  374. LDA $BC. E; @8 F3 O9 F
  375. PHA
    # V4 Z0 R% B1 d9 ^0 q
  376. LDA $BB) L  V9 {& G8 |: T% N
  377. PHA* q" u! M: m+ y; P5 c
  378. LDA $BA! H$ U2 i7 v) `5 n
  379. PHA
    ' \$ ]6 r: `4 N3 P
  380. LDA $B9
    " a5 {8 r# ?4 f2 R: g* D! T
  381. PHA0 F: ?* [% s( h) U- Q
  382. LDA $B8
    & d4 P& O) R9 N; ~2 [
  383. PHA" r2 S9 I  x) y  Z+ I
  384. LDA #$005 i  J$ t- f" {( q
  385. STA $B8
    ) t0 o$ {4 c) o* H7 Z
  386. STA $B94 Y1 d4 C# V/ H
  387. STA $BA
    9 u3 s6 F, Q7 t
  388. STA $BB
    . V0 o; V, W( m. n/ N" |* j
  389. STA $BC
      C& n5 o8 p6 F% o( {1 \, F! U
  390. STA $BD! e) T' P) w9 G) n( ~
  391. LDA #$00
    " ?$ ]$ ^5 l3 q6 S3 f- ]
  392. STA $7FFF* H4 H' W) y% Q; ?
  393. + G5 p, \( B6 I: e
  394. WL0:& ~! P0 w  b" e
  395. LDX #$009 e$ o: |: h7 p# f
  396. LDY #$00
    + _( w8 ]8 h; v! A
  397. LDA #$000 ?0 ^8 n% y3 J! W2 z
  398. STA $BA( E6 i! B0 {( O+ ~0 c
  399. LDA #$202 @' Y* Z& ]2 }; `: h0 P; i  ]
  400. STA $BB- r* U) n/ Q2 C( s( g' V) A
  401. LDA #$00
    ; `1 k6 Y0 N- o, q  z
  402. STA $BC( T, V0 f" A" n1 Q$ F# J
  403. LDA #$60) ]' W6 T  i. l- z: [0 T; b4 |/ J/ a
  404. STA $BD
    / ?$ P& Q- u" H! q7 E7 t1 b' [0 _$ V; w0 W
  405. , j! Q7 x' j. @& i
  406. WL1:
    # @0 Z! H7 L- a; C! T% E- l# Z
  407. LDA $BD$ R& S/ D4 h8 D4 U% `, C' g
  408. CMP #$68: j: B" [# C4 c" w, p! D
  409. BNE WL2
    - p5 ^2 Q* L0 L. L' e2 K5 y. e
  410. LDA $BC* v* ~5 j' b" N% i1 e7 `! I
  411. CMP #$00
    / Z3 S) E* v6 p; d# M
  412. BEQ WLR
    , t( F. B' f, M& p' S" B/ |
  413. $ s# R5 q) I  `: `
  414. WL2:
      Z/ v2 O! r- q0 K. B
  415. LDA $BD; ?4 Y6 U1 S! q' Q) ?9 k( j, d. s- O
  416. STA $2006$ K( t3 w  F% k) E  t
  417. LDA $BC
    ) ]' i% z* W' U9 @& b  }& e
  418. STA $2006
    % n; [. r- L0 m" z

  419. 4 u$ |- [% Z2 ?) U7 H4 R
  420. WL3:  v$ Y5 P4 \5 e' X- y
  421. LDA ($BC),Y
    + `5 i) a4 j$ N( H2 V( t( I, M2 d
  422. STA $2007( I. M# Q# e/ G0 H! H2 M
  423. 6 m  a6 Z# e6 P$ l7 q$ y% E, o: l
  424. WL4:$ ^& L4 R- m9 {  U
  425. LDA #$00! V; t1 D# `* U. p
  426. STA $20008 a  G# w& ^- L, C3 B
  427. INX
    0 C$ ^7 @. v9 k
  428. INC $BA1 k) l- r) o  ?$ k. \0 j
  429. INC $BC
    / d' j  O6 o* {$ H, X# K, C1 ~
  430. CPX #$00
    - M3 N4 f% j+ M" s5 @( }4 k
  431. BNE WL1/ F2 R9 e* D, x  K  \  m4 |
  432. INC $BB7 [' B  K  z# I5 _- s
  433. INC $BD
    4 y8 _4 u( r% g2 j
  434. JMP WL1, u3 n8 E9 S- N2 Q- S* U% p
  435. 7 [; B$ m4 U9 }7 n1 D. L) D
  436. WLR:" u+ {( e; X. L# C- U% s% a
  437. LDX #$00
    2 x0 {; ?8 U$ t/ R- x! H
  438. COPY_7F00_7F3F:
    . l9 `# t; ~/ |' }. s+ G& v8 W4 I
  439. LDA $7F00,X  |) G: l* W4 e: E& b2 r
  440. STA $07C0,X7 o! ?9 i1 [0 f% N( o2 Q- z
  441. INX
    % |3 Z- f* z" @6 O3 s- n
  442. CPX #$40. Q, r% b, F* p. G- Z
  443. BCC COPY_7F00_7F3F9 u7 O4 r0 X& q5 K
  444. * f/ y: R' f  O
  445. LDX #$00
    $ h0 f" K6 P5 ?, ]! U: W
  446. LDA #$3F6 U  p3 M* j& p0 i* D
  447. STA $20069 ^" `/ c; O+ u& C& ?) L5 I. v% [
  448. LDA #$00
    6 R* A. }1 V9 p  H
  449. STA $2006' [$ U0 A+ w) K* S5 T* p
  450. COPY_7F00_7F10:" N) ]4 ^7 |. C' ?& k5 ]
  451. LDA $7C0,X
    1 \& z6 P+ d0 S0 o* Z; V
  452. STA $2007& t$ ~' ~7 V" a0 w3 y$ k
  453. INX
    ) {# H* c# \6 M, A; Z* b/ D
  454. CPX #$102 \- {9 b1 N: w; V4 t
  455. BCC COPY_7F00_7F10
    ) `# ^% @/ E4 W- A4 }5 _0 }

  456. 5 j; w- ~6 o8 v$ F/ h# S5 X
  457. LDA $2002
    2 U: c' |3 m! n2 t. B5 w! P! L
  458. LDA $FD
    # b! i& A8 ~( H6 y
  459. STA $2005) P0 o( T' f- H9 \; R. ~0 o
  460. LDA $FC
    ; V3 x6 S, K4 X# E" z+ `8 Z
  461. STA $2005
    , Z  P# G+ `$ {8 F; r# X7 b
  462. $ s" G5 n+ S' ?/ N; ~8 h0 _
  463. LDA $7F50
    " |% |0 q( x# h. n" P
  464. STA $FE
    9 C& P7 C" g8 g+ `4 ]' ?3 n# t) v
  465. LDA #$00
    # D/ h3 z5 n9 \: @
  466. STA $2000! @5 L; S# l" I$ O
  467. PLA
    5 Y% R. _9 G3 p+ E, N6 H: @
  468. STA $B80 T* N% v8 Q* f# J& d5 ?
  469. PLA) i" \( [. B2 b. O( ^& H0 [) d
  470. STA $B9  \+ ~1 d) N8 F; N) K
  471. PLA5 ?/ N/ A) Y, I4 @
  472. STA $BA
    7 o/ t, v+ Q4 {# K9 B; C
  473. PLA9 W% ?3 ?7 y; E5 g* m( `1 b$ o$ ?
  474. STA $BB( W( x* T# ~* A2 h+ U: h/ i" h% k- V
  475. PLA
    # h' i, ?9 p% f# K; N$ ?
  476. STA $BC" F: h0 H; t/ y
  477. PLA4 c$ w* ]( T+ n, f: X; b2 e" j
  478. STA $BD
    . j3 t8 `' Q) P8 d% E) H
  479. 5 M4 I, z; g( D6 A+ Q) J
  480. RTS
    * W5 R4 Y6 `0 u# J2 Q, {

  481.   H5 G; T7 O, {4 A: N! ~' d
  482. PPU_CMP:6 e" Q4 @$ `( ~6 o

  483. / K* y+ U# C% J% l
  484. ( i9 |' J8 H+ o1 b  b$ t! I* a
  485. PPURE:
    7 H& Q$ M* u1 R2 Y* ?, J. R
  486. RTS
    4 [9 d2 \& Z  S. c$ q

  487. 6 A' v3 b2 v0 P# V9 D) J9 }# O" R

  488. % |4 n& e, O2 U  n# z) F
  489. FREE_PPU:
    ( I4 Y6 [# ?6 p4 s
  490. ' h+ A" {7 i4 w* y5 {
  491. JSR TEXT01_PPU5 t! h% q! y* \9 m0 O
  492. JSR $CBC0
    " @( b, G& v$ z$ D
  493. JSR P1_PPU- u8 e8 b; o( e4 X7 h( n, q# {
  494. JSR P2_PPU' c% m( B0 ^7 q$ N
  495. RTS
    ' ^4 m( t/ h- p% _: C

  496. . _% O; ]/ j* e7 T0 ?
  497. TEXT01_ADDR:& o3 R) b. q  c8 ~" w
  498. .BYTE $20,$42% b+ t- o$ h, e
  499. TEXT01_DATA:
    8 H! [/ K, t' w) x3 ^3 E( N4 m. H
  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
    ! |- S/ p" b9 x7 {1 ~% y
  501. TEXT01_PPU2 p, r" M$ G3 q+ z
  502. LDX #$003 x7 {# U+ n( _  \' C( d
  503. LDA TEXT01_ADDR
    5 s8 Y% r# F- q  P) o3 I
  504. STA $0703; @/ D# k/ j; K- e9 U- j+ e
  505. INX! Y" B7 I( {5 H4 i+ \
  506. LDA TEXT01_ADDR,X- L" o: o0 ~9 {4 J$ `, d
  507. STA $0704
    0 j; Q  }5 Z" r! \3 i& W
  508. JSR PPU_PROCESS+ [6 ]% \& @  `+ T, ]
  509. TEXT01_W:( ?# c& [, B6 a# K
  510. LDA TEXT01_DATA,X
      q5 O8 ~6 s6 ^& O- s% b
  511. CMP #CEND7 ?8 F! i" K; T  ^' [
  512. BEQ TEXT01_START
    ! F- a9 g/ u" T; `* I
  513. STA $0705,X
    2 _6 ?' ^8 F3 t& s  S: S
  514. INX
    : h. N3 ]0 I, H# f, v( V5 ]3 w0 y
  515. LDA #$00
    9 n9 {# j& j! }& K
  516. BEQ TEXT01_W2 V3 I/ {% q7 k  F7 S
  517. TEXT01_START:
    . M' s9 P) E9 X3 G/ K
  518. JSR PPU_START5 w3 b9 I1 Y: M1 I* h7 v* h
  519. RTS
    $ y& P: \0 L; V" `  y6 R# Q
  520. ; Z/ j# F( @& N) j7 n% d/ O

  521. 9 d$ D% G( D6 S6 w
  522. COLOR_DATA:! O5 Q2 e- z3 t* R- T+ t  T! c" f6 u! j
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    . i6 E0 P$ Y+ S
  524. % v. c# Z3 j$ Q$ w& D8 i
  525. P1_PPU:
    : _$ [+ O5 j" \9 W! B& {
  526. JSR PLAYER_01_PPU
    3 x, W/ ~; ^5 `" f3 ]9 x
  527. JSR $CBC0. z; l* o1 ^- [. L2 ?
  528. JSR RELIFE_P1_PPU# ^! e( E) J, p* G
  529. JSR $CBC0% b/ ?* _  o# m! F/ w4 h
  530. JSR RELIFE_NUMBER_P1_PPU
    0 n( Q6 U2 P) W& B) w1 ^/ O* K
  531. JSR $CBC0
    8 g3 R$ X/ {+ V
  532. JSR WEAPON_P1_PPU
    0 I( z* c9 m2 @* `
  533. JSR $CBC0
    * L9 L" S& R+ q/ g7 S
  534. JSR BULLETPPU_P1_PPU
    8 D2 ]& Q1 c5 ?& }" Z8 A$ c
  535. JSR $CBC0
    & R: l5 U0 f; S" u8 c: f
  536. RTS
      ~. X3 s# l( z' d8 Z+ h

  537. 4 F4 n( O+ i8 r$ k9 k* E/ X4 o
  538. P2_PPU:5 A) _' i: ]1 c: b5 B1 R
  539. JSR PLAYER_02_PPU+ a3 I" x& V# o5 W  f/ W
  540. JSR $CBC0
    + x" d; Z% H9 b  t9 |5 X
  541. JSR RELIFE_P2_PPU
    - A1 O; K4 p! t
  542. JSR $CBC0
    ( H6 K) O3 s$ E- L. O
  543. JSR RELIFE_NUMBER_P2_PPU
    3 B. z( _2 C( T' z& ]* |( K
  544. JSR $CBC0
    & P; _% b2 X0 p" h6 y( I
  545. JSR WEAPON_P2_PPU
    * H; J  R- o' ^+ y9 d
  546. JSR $CBC0& s5 w) V0 V6 O8 P+ E
  547. JSR BULLETPPU_P2_PPU
    ' i$ }* a7 M  n( |. p0 ]5 V- G( p
  548. JSR $CBC0. G+ J3 ~0 x/ R2 H
  549. RTS8 Q0 M8 w7 {1 X/ I* S

  550. # ^/ w1 @+ ~, a9 g/ C2 [$ J

  551. - ~  l9 B: G: x$ M9 G# q! n* q; z
  552. $ t9 V/ N1 r+ Z
  553. PLAYER_01_ADDR:+ O2 v% o8 T/ V- U! \; j
  554. .BYTE $20,$A3
    2 }' c0 v- F2 {0 J$ ^8 J& K% R: D
  555. PLAYER_01_DATA:
    ' Y$ u1 Z& l$ o$ x: d  i+ L0 c( N
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    1 `  m6 A9 J+ O" O1 q, b
  557. PLAYER_01_PPU:- Y0 Y& ?! L5 D
  558. LDX #$00& W2 Z* {* h* n' h- C0 V
  559. LDA PLAYER_01_ADDR% F% ^7 \5 E! {9 Q3 j
  560. STA $0703
    . P0 X* A" [4 O( g' F
  561. INX
    * ^7 ^7 ~# [. P
  562. LDA PLAYER_01_ADDR,X& N4 _$ |) b& C8 d) b. e
  563. STA $0704
    ; @+ s9 k6 g# ^$ b& E; m( a
  564. JSR PPU_PROCESS. D$ e- t9 K8 Z  F* Z, z- N
  565. PLAYER_01_W:
    7 U. P0 u& [) g6 _0 k
  566. LDA PLAYER_01_DATA,X: t5 o$ i# V+ Y2 L5 j& u- \! u; |4 e
  567. CMP #CEND
    5 @: E% ~% F& ]+ ?7 [, v$ n
  568. BEQ PLAYER_01_START
    / \" V$ m& k0 l0 _0 l7 w" m8 b
  569. STA $0705,X$ `" `/ E5 r* i
  570. INX! ]8 s' W1 E, y; ^; v
  571. LDA #$002 T; N7 X5 b) m2 ?: ~
  572. BEQ PLAYER_01_W
    2 q3 {( A6 {2 h' \7 h3 C
  573. PLAYER_01_START:
    + H' S# u! A7 }5 j* m- F  f
  574. JSR PPU_START" i+ s: _  A7 F' M2 F% Q! i' P: B& n
  575. RTS
    0 L, y2 N7 ^% a2 F
  576.   p0 v2 V" h# d8 U. W8 Z/ K

  577. 3 U- J& c' l: t+ Q8 u4 e( C
  578. RELIFE_P1_ADDR:
    5 y- X- z  H; E) ]1 Y% Q  i
  579. .BYTE $20,$E3
    2 P! u. x2 f; C; r5 ]: B9 F
  580. RELIFE_P1_DATA:
    / f( j7 C% {  N: q  [
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND! W$ E9 K. m" V$ `
  582. RELIFE_P1_PPU:$ `, n; Q! ~3 @& F9 j5 `0 J
  583. LDX #$00
    ; w( x. ]* J( A6 B& |
  584. LDA RELIFE_P1_ADDR
    " O  h8 `4 l+ m0 S0 N) B( y
  585. STA $0703
    % a# M' U( Y. [3 T5 y  i' [
  586. INX" I/ M; h5 J. O; l3 k( m
  587. LDA RELIFE_P1_ADDR,X
    . a3 F7 l. l6 F+ X' f; l+ R, V  j
  588. STA $07040 H* V8 }9 z* L1 x
  589. JSR PPU_PROCESS7 ]; G" [' P* I: n. h
  590. RELIFE_P1_W:8 i( e$ D* k2 [! K" s, @0 Z4 t
  591. LDA RELIFE_P1_DATA,X
    ; R- t* c  r. {
  592. CMP #CEND
    9 t$ z! O; R. _  B0 b) Y/ Y
  593. BEQ RELIFE_P1_START
    : u5 `9 C0 e7 V; e) H
  594. STA $0705,X8 s3 \" @- U% {+ }0 b$ }
  595. INX( p; c& d3 T/ |3 u
  596. LDA #$004 L  _% X, _1 f, ^
  597. BEQ RELIFE_P1_W2 F9 C( ?) m% p0 o- [$ ~4 R2 ]
  598. RELIFE_P1_START:/ |* _) X$ B; `: m1 D* p) K
  599. JSR PPU_START
    * P& m' s. h- b0 ?- w; X( W" [
  600. RTS! G7 _) s, u6 I2 L% G, Z- I
  601. " ?+ k8 i. W& l9 u( B& T
  602. 4 x; [# P% f8 F( G: S) C
  603. RELIFE_NUMBER_P1_ADDR:8 L( Q/ E# C: S, M, `
  604. .BYTE $20,$EA+ w6 X- [- H  S0 A0 }
  605. RELIFE_NUMBER_P1_PPU:
    7 I. q* q/ E6 z; `6 d7 }
  606. LDX #$00
    + h+ I' x0 ~+ R* ]" O
  607. LDA RELIFE_NUMBER_P1_ADDR
    9 N) \% w9 a; v/ n8 Z
  608. STA $0703
    ; P) d; {( Q0 \
  609. INX5 m0 w0 I* B  a3 ?$ }
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    # J4 L+ _4 @% G8 Y& d6 ~
  611. STA $0704
    # _0 M0 P' T( e6 }9 @4 \2 p
  612. JSR PPU_PROCESS
      I4 C) M& G4 [$ S1 E1 A
  613. LDA $32
    $ u' R6 k" I" ]9 ~( I
  614. JSR LIFETODEC
    : ^* c6 n- l6 E* B1 L( e3 ]6 w
  615. RELIFE_NUMBER_P1_W:& {% y- G9 W- I4 ?
  616. LDA $7A035 \0 t1 C& H( y
  617. STA $07053 D  r9 A& k% K
  618. INC $0705
      Y+ e/ n! \2 B6 l' S4 S# o- B" F4 ~
  619. LDA $7A04% f9 v/ m6 J8 t3 S: M. G8 d
  620. STA $0706# S4 ?/ |2 ?8 _  ?) Y7 t. d: d* K
  621. INC $0706; v* v3 }7 _; w/ r9 ^
  622. LDA $7A05
    0 Q% F6 J9 }+ e) A6 D! d) j& z8 j
  623. STA $0707' b6 a7 Q) H# k1 P4 A' C% W
  624. INC $0707
    " }8 \) u  |9 O9 R. W0 n% n0 ~
  625. LDX #$03
    0 h7 l8 c0 I' I& l, H
  626. RELIFE_NUMBER_P1_START:
    7 ?; P" c5 h& p$ o0 _% F; a
  627. JSR PPU_START5 o$ k3 i/ v9 K. z+ {, n( J
  628. RTS# a% c. G$ w# I$ ^0 o* D
  629. + N" A# j+ {9 C. m
  630. WEAPON_P1_ADDR:
    1 X' O8 }9 A4 R2 W
  631. .BYTE $21,$23
    # y* j( X$ u& t4 G
  632. WEAPON_P1_DATA:: \* A. Q" q; R. Q3 z0 s" \
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    " j$ x" d5 R1 f' v
  634. WEAPON_P1_PPU:+ r( r, k" x" ?% B9 f8 T  l3 D
  635. LDX #$00
    & ]9 S0 {! N1 h- [
  636. LDA WEAPON_P1_ADDR' u: ]# z2 W3 ^  X! X! a" U% [
  637. STA $0703
    8 y  ?4 D( }/ G1 `
  638. INX
    5 y4 \+ x; E5 b3 w; ]4 S
  639. LDA WEAPON_P1_ADDR,X2 L* E1 z. I- F* f$ T( q! p, O
  640. STA $0704
    3 m+ C: n# Z  k3 n2 j) @
  641. JSR PPU_PROCESS
    + b9 Z( H& `) Z" J8 Z
  642. WEAPON_P1_W:
    2 D- M# s3 E/ ?+ {& M
  643. LDA WEAPON_P1_DATA,X/ B1 r* d) L. Q  ]7 M  X/ l2 [
  644. CMP #CEND8 O% y3 d; ]2 {8 E  J, ]+ i! Q7 Q
  645. BEQ WEAPON_P1_START
    ) A; m! O& l# i
  646. STA $0705,X
    / L8 x9 F7 n  @, A* O
  647. INX
    + R+ D: J/ w+ s2 w% E6 n
  648. LDA #$00
    9 x1 j4 E1 }: k% ~
  649. BEQ WEAPON_P1_W
    $ s. k0 G& w  x* j. i' R/ t/ w
  650. WEAPON_P1_START:
    7 o  t; r0 O. Y
  651. JSR PPU_START
    : `9 o* Y- V  }/ o( P' y- S8 y
  652. RTS
    ' @4 i4 c. I! e- y

  653. / j9 C( n2 p% m
  654. BULLET_P1_ADDR:
    & N0 p! w( b. b: T
  655. .BYTE $21,$2A
    & A$ |. \* V) W3 N
  656. BULLET_P1_DATA:5 y/ K+ S! g  e" Y: I) ^8 h4 W& y
  657. .BYTE $00,$01,$02,$03,$04+ {# p4 d7 W& s# N$ \. B" W5 X
  658. BULLET_P1_NAME:  N  {' X+ T# ~! b* `' ~% H! G5 G
  659. .BYTE CN,CM,CF,CS,CL
    2 T; A  S0 I& @. K9 N' V# j

  660. ) U: _! k+ ~+ j2 _
  661. BULLETPPU_P1_PPU:* @+ n6 j6 ^1 q* r7 C" c
  662. LDX #$00% }) N4 h0 h! `* M. f# W  L
  663. LDA BULLET_P1_ADDR
    8 \( R% h& O2 O5 X0 t6 |
  664. STA $0703
      ^! J$ p) I: H. c$ m1 N
  665. INX7 ?8 O% J. j7 w( r; y, |
  666. LDA BULLET_P1_ADDR,X
    . w# W: ~4 w  Z0 h- h* X
  667. STA $0704
    # X* |9 A$ d& i: u/ Q# |
  668. JSR PPU_PROCESS# }% j6 Q7 A* Z& X
  669. BULLET_P1_WRITE:, R4 S& B' B1 S/ O3 S
  670. LDX #$00  _: K' r' }3 f; h7 t% o& h
  671. LDA $AA" i  D  ]# t& V, e% b6 r; ]
  672. AND #$10
    * w4 I' B& v3 B/ I: ^: a. J( k: F% s
  673. BEQ C_BULLET_P1
    ) S7 ]! ~" J, h3 g- L- y
  674. LDA #CS
    0 E6 E" P+ h' K: N, V
  675. STA $0705
    0 `& K- J8 D& r; Z, I
  676. BNE B_NAME_P1* i( g1 @; s: ]. [" ]) [! x
  677. C_BULLET_P1:+ s6 E) T# d0 C, {2 k0 l
  678. LDA #CC3 }' e4 {- k/ O
  679. STA $0705
    # G" X. \0 |) O) [2 C0 G, c6 z
  680. B_NAME_P1:7 W$ w# E# u4 q9 N' O' n. o3 ?6 R; {
  681. LDA $AA
    : |3 |7 T7 k# f
  682. AND #$0F
    - i/ Q( c$ W2 K$ g
  683. CMP BULLET_P1_DATA,X' Z7 y/ ]* Z, M7 H
  684. BNE B_NAME_P1_RECMP
    9 c9 Z# c( X( U! T
  685. LDA BULLET_P1_NAME,X
    9 c9 e/ I4 N( k2 p8 W
  686. STA $0706
    " R! T# m  W0 o
  687. B_NAME_P1_RECMP% z" w/ n, x; D5 f( K4 n; _
  688. INX( `" Z* Y# G, y& x& Z/ b' q' Y1 g
  689. CPX #$05
    : z4 d% W* b7 ]0 j
  690. BCC B_NAME_P1
    " o# ]) W- b  j  m/ T$ r
  691. LDX #$02
    % N6 P/ C. {: P$ O, {9 y3 h, g
  692. JSR PPU_START
    ) A+ T$ W3 e& G4 E
  693. RTS
      _) H" f0 _; J# @. R" ]
  694. $ v, `* _6 C+ Z# h8 G% `

  695. ) _8 M6 _, Z: h0 C: e( d
  696. PLAYER_02_ADDR:
    # i7 D, _4 @5 J5 p
  697. .BYTE $20,$B3! N% \6 F! M9 Y: s% ?
  698. PLAYER_02_DATA:) B' N- T  y- r5 ?, I
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND5 v" g% o& T' B: W! }
  700. PLAYER_02_PPU:
    " r! r. A% _2 f
  701. LDX #$00* ~8 `% T1 Z/ a
  702. LDA PLAYER_02_ADDR
    - r9 B6 |: [4 ]! ?+ K
  703. STA $0703
    . q# U9 w9 h/ d5 {- f8 [, y
  704. INX& J  A2 r2 @* a: }/ o
  705. LDA PLAYER_02_ADDR,X
    8 I5 d) E  C+ Q, M# W
  706. STA $0704
    " U+ H6 Z2 Q; @( c
  707. JSR PPU_PROCESS0 |2 p/ L+ G2 c9 C
  708. PLAYER_02_W:
    2 ]! I3 ?  {+ O7 C, C$ C
  709. LDA PLAYER_02_DATA,X9 F: J" r7 A* b
  710. CMP #CEND
    ; ^8 K9 F* n8 H' z, ~1 y- e
  711. BEQ PLAYER_02_START
    7 v5 i  N! A& r
  712. STA $0705,X
    : a8 e  j4 r4 }, a3 u
  713. INX
    , J" U% b2 N8 N) e9 n. O
  714. LDA #$00
    6 L" R3 j2 h3 B
  715. BEQ PLAYER_02_W
    2 z0 s/ [6 Q+ {: S5 ?' S
  716. PLAYER_02_START:
    9 e" G+ w1 s" q% M# f
  717. JSR PPU_START
    : F! Z) m8 |! T& X# b) D$ V, D5 X7 z4 U
  718. RTS; ?6 S- E8 n# \) ]

  719. ) s; U& K8 l$ A- j$ w

  720. 3 @# [& |' D$ W' W
  721. RELIFE_P2_ADDR:9 z; j2 v! }/ D$ l- [, Q; E
  722. .BYTE $20,$F33 @* p6 v' Y; r6 W! W# Z* p7 d
  723. RELIFE_P2_DATA:
    5 `6 ~. w" w* i. \7 Z( z9 o
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    4 b4 [7 |1 z% I0 ^
  725. RELIFE_P2_PPU:
    + M8 P% A. d7 p- B+ U" [
  726. LDX #$00/ W. ?  p5 |9 T' W5 i. M- B
  727. LDA RELIFE_P2_ADDR
    " {2 ^( E0 a' g4 F
  728. STA $0703
    + F: ~$ m, O& Z7 ~7 n
  729. INX+ z3 x" H; Y! _/ D1 x
  730. LDA RELIFE_P2_ADDR,X+ {+ l! o' t+ Y8 ]5 E2 l
  731. STA $0704. i; Y& |5 l- Q* k7 B
  732. JSR PPU_PROCESS
    % o# W- a" m3 m  l0 g
  733. RELIFE_P2_W:3 F! z0 H2 I! _, q! B
  734. LDA RELIFE_P2_DATA,X
    * F4 I4 X* b  H) Y0 O
  735. CMP #CEND
    ; k- b, Q, p2 I; |& i
  736. BEQ RELIFE_P2_START& O5 c1 p9 B3 n
  737. STA $0705,X+ h6 _6 J) R7 h6 x3 @
  738. INX2 a: U8 C7 {  F/ S, |
  739. LDA #$001 E- w! F) b  _% B
  740. BEQ RELIFE_P2_W
    + m! f/ p5 T4 C& j' a
  741. RELIFE_P2_START:
    / ?3 @" z8 ?2 R' g8 o, _/ x
  742. JSR PPU_START
    : B  m  D6 _7 G2 n' M' n: k) I
  743. RTS! u& A) |; @. Q4 W7 a# [
  744. $ r# E( j% q/ a4 H( Q

  745. ( U# R- }! ^  k
  746. RELIFE_NUMBER_P2_ADDR:
    & \* ^3 V/ e  V" a% W' ~& P
  747. .BYTE $20,$FA7 S" y% E- S" O4 b; Z* r5 A% Z
  748. RELIFE_NUMBER_P2_PPU:4 K( n/ [, ?# S
  749. LDX #$00
    ! d/ p9 ]+ z' F3 H' x0 Q/ G7 y
  750. LDA RELIFE_NUMBER_P2_ADDR
    - f! R' i3 R; K/ g( J! P3 ^% q
  751. STA $0703
    % i# ~+ J( \7 [% O5 W
  752. INX; @* Q) _5 E0 X# v! H% Y1 a
  753. LDA RELIFE_NUMBER_P2_ADDR,X' b& @6 Y( H/ Z" T4 n) ?8 @
  754. STA $0704+ v& O) _5 s% H9 W6 x
  755. JSR PPU_PROCESS  ~. x) J, f3 k/ j8 c1 b
  756. LDA $33  b+ i1 m" \# P6 |
  757. JSR LIFETODEC
    7 A! k+ t# R( G) j# }: }
  758. RELIFE_NUMBER_P2_W:
      t! l; ?$ g) j) c' L# w
  759. LDA $7A039 E' W4 m2 K' D, J. B! y
  760. STA $0705
    6 y6 S. J: L& g7 D) S
  761. INC $07053 N: O7 {* z: J, R# ^6 m! k
  762. LDA $7A04# v. O: h+ }2 T0 a$ [% B0 e
  763. STA $0706
    % F3 b; c: C% u
  764. INC $0706; @. Z7 i4 O: o( C2 D( `
  765. LDA $7A05
    & I& y# ?% w; y4 `& m
  766. STA $0707
    ' n. [' n% h. N0 j
  767. INC $0707/ N+ N3 x, w6 f6 _2 U3 }3 W
  768. LDX #$03; {7 S9 L3 v2 s% P5 f6 U* l7 B
  769. RELIFE_NUMBER_P2_START:, Z  w! F$ g( a; u8 }
  770. JSR PPU_START6 A# X1 D8 s0 m2 F4 o  m
  771. RTS& a$ v" `- a9 _
  772. 4 C& i) y# m: U# |* i/ I$ \1 x0 S
  773. WEAPON_P2_ADDR:# [% Y/ A8 r- C8 j+ [% p  F/ b( x& X
  774. .BYTE $21,$33
    ! O( w. h5 g& U
  775. WEAPON_P2_DATA:
    8 N2 _  a4 l5 m0 H, H1 @1 r4 f, y: @
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    ( d; `. f2 d1 R/ L
  777. WEAPON_P2_PPU:
    . _9 o) T& J# |
  778. LDX #$00
    4 u/ H. u5 i3 Y* o- C
  779. LDA WEAPON_P2_ADDR
    2 \3 i4 }" o0 q# H! o
  780. STA $0703
    3 [. R1 v6 e, m7 ]0 y1 z
  781. INX
    + b3 ?1 I. V" M0 W4 H/ u8 t
  782. LDA WEAPON_P2_ADDR,X
    # l* _, i* b% K, c; b. ^; w5 s6 e
  783. STA $0704' j# h) ?' I, K2 F0 u: }
  784. JSR PPU_PROCESS
    + }8 q& n$ \4 g; Y
  785. WEAPON_P2_W:9 A0 _4 H8 S5 U  S% P' ?# @
  786. LDA WEAPON_P2_DATA,X% f/ e9 R4 ?/ s9 H5 I
  787. CMP #CEND& b" p9 j7 Q9 i2 M2 Z& e
  788. BEQ WEAPON_P2_START
    3 k. W& i9 v$ Y
  789. STA $0705,X
    0 [9 ?4 Z$ i4 G! G* p* t7 I! C1 o
  790. INX/ @- U* k( y' D! z4 X/ {
  791. LDA #$00
    5 X! o, G- ?, N* n0 _
  792. BEQ WEAPON_P2_W
    " O+ A/ P# V' t) P
  793. WEAPON_P2_START:
      W+ r. a& ^3 O  l* E
  794. JSR PPU_START
    1 \! {* t- a( L$ n, J
  795. RTS' G% ~6 B& A8 d: v- \% M+ \
  796.   P, o9 F4 a" U2 ~- T  H
  797. BULLET_P2_ADDR:
    2 j  C/ C; ^7 }& g& D
  798. .BYTE $21,$3A
    / K& Z3 [6 c& A1 k: o$ h
  799. BULLET_P2_DATA:
    ' g6 n. \# X  n3 i2 n
  800. .BYTE $00,$01,$02,$03,$043 r" K  C' y) d, O5 V1 Y; B' j6 @
  801. BULLET_P2_NAME:) C# B0 H1 |6 z# {  d! a0 X
  802. .BYTE CN,CM,CF,CS,CL) U8 O% I" f! z3 M: }- ]/ t

  803. & @2 p8 Z3 E/ Z% |& K+ E) l0 l
  804. BULLETPPU_P2_PPU:
    ) e- p1 }1 N2 n/ w
  805. LDX #$00
    % O3 C: m: _7 L, \: k7 u4 a+ D+ C
  806. LDA BULLET_P2_ADDR# v/ m3 c# ]9 R1 A) i. K0 Y
  807. STA $0703
    4 g% i3 o# Y% U8 i! R
  808. INX- ~! Z. P) I! x: T
  809. LDA BULLET_P2_ADDR,X
    3 p$ c7 g4 q$ `& g
  810. STA $0704
    ; v) g2 p/ s$ R8 K0 r
  811. JSR PPU_PROCESS/ T/ |4 H% L% t9 J
  812. BULLET_P2_WRITE:
    ( s5 J- x3 Y, R! u2 T  Y& a* }) R7 X8 l
  813. LDX #$00- R7 X/ O; \! o8 G% _) _3 ?+ e
  814. LDA $AA2 M; p' B1 g/ _9 l
  815. AND #$10
    ' R1 ~& J- r  ]  V9 L! S6 W# s
  816. BEQ C_BULLET_P2* J% j( i# X& ~7 K) j
  817. LDA #CS" X7 _4 L) u) p  k1 n6 H- M2 n7 i" p
  818. STA $0705$ |+ P1 E3 G4 N* Y
  819. BNE B_NAME_P2- g- t8 B( d' L6 A7 d: D
  820. C_BULLET_P2:
    % U6 c" {0 `9 T9 g- h
  821. LDA #CC
    2 z, ^; a7 o0 a$ D2 Q/ A7 j
  822. STA $0705, ~  U1 m& d% F: B& S
  823. B_NAME_P2:0 g' n, v' O% c: Y. m8 P) M' N  ^
  824. LDA $AB( c6 k. R( I- J$ h! Y' V3 Z! i/ F
  825. AND #$0F' F. C% @1 t8 M
  826. CMP BULLET_P2_DATA,X5 e$ S6 T! \* C" a: j4 m
  827. BNE B_NAME_P2_RECMP3 l4 V$ L+ j( m- F+ `0 e6 R+ ?$ \. Z
  828. LDA BULLET_P2_NAME,X: \: u/ B. S2 W! o
  829. STA $0706  K- T1 [5 K% R  L2 b
  830. B_NAME_P2_RECMP
    9 |0 X8 r& P4 {8 T; U4 l0 R5 T
  831. INX3 p" W1 p& ?# t8 R2 A2 N
  832. CPX #$058 s+ @# Y' }; }. x
  833. BCC B_NAME_P2
    2 R: G) _9 ]# N* Q! }& C, ?
  834. LDX #$025 ^7 p# N7 N/ \- u2 B% [! I
  835. JSR PPU_START# _+ f. [8 F& o  o0 b; Y  i
  836. RTS* |1 F9 a" o1 l, }  A' e; W+ r
  837. " g' r/ ]# G8 l  Y( \
  838. $ [0 e9 z, w0 a0 G7 S) w/ z# {6 R

  839. # i% R  G% q/ e7 l/ e) `( L
  840. 7 `4 Y2 w7 i. v) H6 R# z, d* K

  841. % r4 f: q3 U# k
  842. # s. I' _7 `( ]4 Z
  843. LIFETODEC:                ;十进制转换
    : Z& v/ ~8 A9 m$ W, F; @/ n6 m
  844. LIFEL1:        ;initialise
    - {0 C3 d& I; U/ G5 H9 x
  845. STA $7A00        ;$7A00=F3% ?0 K5 I4 ?1 V+ R
  846. LDA #$00
    / h: o; X% s% t
  847. STA $7A03        ;$7A03=00, O9 F, W8 J6 K( V
  848. STA $7A04        ;$7A04=00' J6 a" D. A) s& V4 |9 J
  849. STA $7A05        ;$7A05=00  ]2 S3 j% K' B+ l8 G# N
  850. LIFEL2:        ;copy data $7A00 to 6001
    8 g) N3 v: n& y& ]$ T
  851. LDA $7A001 S& v" o7 U- p. O9 Z$ ?" }
  852. STA $7A017 ~7 o5 Q2 I9 X* ?5 F' v! T
  853. 2 Q% Y8 h% G' N! |4 D& w
  854. LIFEL3:         ;hundred
    1 h# W! T4 x: B) d- _7 H
  855. LDA $7A01
    8 d  c  ?6 r7 S, b% C- p4 D  X
  856. CMP #$64
    3 B2 W* b' S9 v+ R2 a) y
  857. BCC LIFEL6                ;$7A01<100 goto L6, K0 l( G( N4 L+ g/ T1 n
  858. LIFEL4:* [3 ~! @7 U% F* r  `
  859. LDA $7A01
    ' n! ^& X3 Q  P+ I. Q
  860. SEC
    . ~& }) G* \( H6 _5 c9 {* T& ]
  861. SBC #$64        ;$7A01=$7A01-100
    ) h% g! G" L& Y# ^6 ^
  862. STA $7A018 g+ {. A' X) j
  863. INC $7A03        ;hundred++
    2 ?$ X! E& _( a8 v5 }/ j
  864. LIFEL5:" `, K, o2 _0 l2 V2 a/ [
  865. LDA $7A01
    ) B0 U0 g3 Q. V- a& l
  866. CMP #$640 u$ ^- l# `7 \5 e$ n; V
  867. BCS LIFEL4                ;$7A01>100 goto L4
    9 M, q0 j; c. v
  868.   R5 R" K/ |( g5 b
  869. LIFEL6:        ;decade4 h3 C+ q( f  \" M0 _- S
  870. LDA $7A01
    7 p( w5 O1 \/ p4 X3 {$ u/ r
  871. CMP #$0A
    4 _+ ~/ t3 |" I/ |$ i" K( e" `; u
  872. BCC LIFEL9                ;$7A01<10 goto L9
    6 B2 Y! h- S2 f" Y- I
  873. LIFEL7:       
    * ^/ h, m$ W& R
  874. LDA $7A01
    - k5 W( G4 ?& u7 y
  875. SEC( w; n) l8 M* ?1 l, G
  876. SBC #$0A
    $ A# f+ {' Q8 |6 ~
  877. STA $7A01        ;$7A01=$7A01-10
    / _* ~4 [0 q' O9 i4 z: z' a3 ]
  878. INC $7A04        ;decade++
    ; E5 M6 M3 N/ Y% U& g1 Z
  879. LIFEL8:
    ; s5 v! G) Y: v3 h' _( F
  880. LDA $7A01+ J+ }3 K0 ^* U3 _' w$ B
  881. CMP #$0A; N" F" A) V: U7 \% j* a; f/ n" e6 V
  882. BCS LIFEL7                ;$7A01>10 goto L7
    8 k% g% p0 }8 J. ^* m* H
  883. ;unit* b8 e  @. b3 l; q
  884. LIFEL9:. ?' ~) ~/ B8 G" \) |+ G2 y, X
  885. LDA $7A01        ;$7A05=$7A015 X- x' C: ]! l4 ?, g1 E6 L# k
  886. STA $7A05        ;unit
    3 V% @  R! k3 ^3 c& i
  887. RTS        ;return
      D! ^$ \8 H+ ]. ^6 Z; b

  888. ( K4 G& [- Y; Z9 c* K
  889. + _9 P- Z+ r" _  V0 f2 T
  890. - l; l# e. A2 h% o! l
  891. PPU_PROCESS: ;PPU地址处理程序( K8 P1 w* g: e9 w
  892. LDX #$00
    , ]$ U& e' H; p: L/ r
  893. LDA $FF" l7 c) f+ x/ ^, d' F% p5 ~
  894. AND #$01
    1 n# ]: E' u+ Q% B) D- L
  895. BNE PPU_2400_27C0
    + ?- |# Y! J+ C+ [2 G
  896. PPU_2000_23C0: ;命名表1  D- ]7 _3 O/ {4 S8 k
  897. LDA $07032 G* S7 |5 F# ]* t' k- B0 d
  898. AND #$FB- v3 i1 |9 a# j: C9 \0 O9 j' c: j
  899. STA $0703
    , i& u$ \% B" M3 _' i9 t
  900. RTS
    # V. J" Y# o3 V/ K5 O
  901. PPU_2400_27C0: ;命名表2: i4 F9 y/ A' K! U- Z
  902. LDA $0703( X& \& n# W" j. O* o9 c
  903. ORA #$04
    5 J+ J& Q; H- d8 g! l+ y5 ]. U
  904. STA $07033 r9 i) F4 `6 ^, j& f
  905. RTS/ N: t1 x+ K  f* }
  906. 0 x( k$ H$ j) z" A
  907. PPU_START:  ;PPU数据写入
    7 m/ k( G/ y, Z3 L9 G
  908. STA $21/ D' X# w/ n# p5 e; I7 n, g
  909. STX $0701; H/ X$ H4 `5 G0 U) \9 _
  910. LDA #$00
    % @) v9 u6 O5 s
  911. STA $0705,X
    6 W( U2 G' K$ _/ J% M, o6 X
  912. LDA #$01
    5 J3 s. |, h! e+ i
  913. STA $07008 X7 n1 S/ V6 X4 N" [
  914. STA $0702. L3 a! P% A. h! D0 ~
  915. RTS; Z* k9 l6 W, N4 `+ _4 X; ~
  916. 7 l9 ^& w8 W( f; _3 f
  917. 3 G7 x2 v+ {& R& n

  918. ' s5 s: E- Q/ S+ \- X$ n1 h/ a9 M

  919. 8 A- f2 s& x+ \7 D
  920. , j. q* |! C/ v$ R/ A
  921. 3 [6 d) b# Q! r4 |, l) w
复制代码

5 @+ ~* b4 |; ?, o

本帖子中包含更多资源

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

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

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
5 e' m0 r4 D/ d( x8 ~
回复

使用道具 举报

签到天数: 2564 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 26 天

[LV.4]偶尔看看III

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

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-16 15:49

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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