EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    + h5 ?6 s/ j- c$ c6 {
  2. 作者:FlameCyclone
    - u0 X) q2 r4 G% d
  3. 时间:2017.2.12
    / V5 F! Q3 e9 W' g; ?
  4. 5 l$ L- S9 `0 a! X$ W
  5. 按键跳转:
    2 a& o+ e5 w  K! ?1 c" `4 ~5 y
  6.         C1EF:95 F5 94 F1
    ) ^2 ?2 w  u4 F* v
  7.         C1EF:20 70 FB EA
    0 b7 U) [3 ?, F$ x9 N. h# X

  8. / s- p) G9 s( j
  9. 滚动偏移:9 y3 a8 M; @+ u, U
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    ( X5 \0 L" i5 U1 _. K
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    0 a" Z3 l9 Q' H' y6 Z

  12.   R- l, }" T/ I& m+ r
  13. 背景调色板:  H2 q6 J9 W8 |  i
  14.         CF20:9D C0 07
    + @* S1 h" w  Q$ N% M
  15.         CF20:20 A0 FB
    3 V3 _; N# S5 ^) ]& g' j+ }

  16. ! Y+ G) G" G3 o! E+ C7 p8 ]1 f
  17. PPU BANK号:
    ( {" }) G! j4 f6 j2 I
  18.         C8C9:9D F4 07
    1 o0 \! ]6 y4 J+ E# T2 I
  19.         C8C9:20 B0 FB2 O) a5 R# I# T; Q$ e/ u! {; b8 s

  20. . V# K( l7 w1 g7 `2 Y* l' g( u
  21. 按键跳转:* P: W5 U! }- q! z0 q
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    ) r; u# b0 P% O3 r" Z/ k0 |0 ]
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 205 n% }8 ]7 w+ ~. m
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    ( C& I) Z  t  ~+ p

  25. " N# W1 w; \) P) E# w
  26. 背景调色板:
    1 j1 _6 o% a8 M* S" @$ Z
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF. V! g1 }6 k: U5 m6 G
  28. 0 x3 x, R$ {/ s* B9 g$ U9 B6 W1 T
  29. PPU BANK号:0 [& l" N! \* Y5 G
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    3 o5 @8 G3 K' E# b& Y/ O

  31. 4 B2 O' ]: s6 A. [& `) ^& B
  32. 滚动偏移:
    ( |0 `* \) w4 _3 N
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    ! S# ~# m  J9 f* k, `0 z) k
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF5 B9 u% r1 x) u/ J* g

  35. 5 J$ v$ m2 O. m4 q" p$ C/ ^

  36. 1 d2 r2 J3 _: ^. a3 Q# p" D5 h' k
  37. 切BANK后A000:
    ' c( t! g) b7 F. S
  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 FF0 T! v& o* C1 e' {0 k

  39. - c% D- l; Y* P% _. J4 n
  40.   d; H; D4 ?7 l
  41. 6502 simulator:
    # r4 O+ g$ B" O; Y# p! n, e" d
  42. PPU写入程序:
    % h+ v* S6 _1 v+ W, X
  43. .ORG $A000
    0 n' ^' E% p( ^
  44. CSP = $80
      H& c% x. C/ m- k
  45. C0 = $81' d) R. t9 J  s( Y& `! o
  46. C1 = $82
    , O, J2 F/ h/ z5 q
  47. C2 = $83
    3 X- q" ~' r3 {6 R; o
  48. C3 = $84
    7 j, x. n( v6 P9 A. x' H2 i
  49. C4 = $85
      C$ B* P( u. i" w4 @
  50. C5 = $863 a; Q/ g! m! R0 S% ]6 d
  51. C6 = $87; I% p8 }$ C+ [4 D
  52. C7 = $88
    6 T) A$ H. c' z5 h
  53. C8 = $89
    ( g2 Z3 R/ y; h2 t$ y6 U
  54. C9 = $8A
    - q7 b1 O7 V! C; |6 _# r# q5 B) T
  55. CA = $8B
    ! E) i0 T- ]  h+ p* b% b
  56. CB = $8C
    7 C- Y- }7 |5 E) p# V/ F& ~
  57. CC = $8D
    ! l2 a" X. @& q, x
  58. CD = $8E, n3 x; |; k% D
  59. CE = $8F5 I* c* B: L: [7 ^+ O+ Z
  60. CF = $90
    : L2 B" g) ^: O5 I/ R' p
  61. CG = $915 `# l2 M) g: p% S
  62. CH = $92
    4 s1 A8 E) Z9 F+ M# ]
  63. CI = $93
    ) g: x4 w" R, s% T  v: @$ ]8 r
  64. CJ = $94
    $ J+ Q* L7 D2 C$ Z" X/ [! b$ D
  65. CK = $95
      ^6 S  |6 K9 R+ q' R& L; B
  66. CL = $96
    / J  S0 N7 H3 V
  67. CM = $97
    $ a& L, W2 [/ m  A7 ]: c: X
  68. CN = $981 k  U1 L- P5 d  D1 a7 {
  69. CO = $99( S/ d$ K0 L# F( E0 I1 w! i. F
  70. CP = $9A
    8 }" D; Z- e+ A, w7 R
  71. CQ = $9B5 R. ]3 s. E6 J5 X6 @  Y
  72. CR = $9C2 q) c" G) U: s' G8 E& n' n
  73. CS = $9D
    " C( g. ^$ V) I! ]$ _* @3 d$ s$ k
  74. CT = $9E
    2 f* J. {- A7 I  P- F1 O+ e2 o
  75. CU = $9F' I; y) T( `1 W9 R, \: m* H
  76. CV = $A0! _: ]$ W$ F" }' A
  77. CW = $A1, `; w* U2 k% Z4 E0 X
  78. CX = $A2
    + n- e" h6 W0 j1 g' f0 n
  79. CY = $A31 C- G; Q! D9 b# t+ D: e& x& V
  80. CZ = $A4
    ( T* S0 g  U" \7 }# N0 K
  81. CEND = $FF
    # h7 l3 H( b5 e+ s6 j) h. ^

  82. 9 E2 v6 f; p/ m+ h. l1 V

  83. 9 A2 R$ ^/ p- ^  O3 I7 k, j7 z/ U
  84. CMP_RE:
    " Y, y5 v/ X7 z, V: w
  85. LDA $FF
    * f3 R% c8 b: X& m' g: L5 j
  86. AND #$7F
    . X! I! h" B: h: ]7 p7 \' b
  87. STA $2000: v/ a8 ~8 J: Z: r( D3 w
  88. LDA $2002
    3 A$ T" i7 s- f& x: x' Y! o
  89. LDA $25
    ! C1 G9 E9 @8 V+ {  m) k8 G, c" l0 ]
  90. CMP #$017 Q' S: p; ]' _
  91. BNE PROREG/ |* n% I" x% M0 @% u. i; b/ h& K4 ?
  92. LDA $F5,X
    + L9 K9 l, T# H  C# E
  93. AND #$CF
    1 G( X' n" l; K& u% o- h8 O
  94. BEQ PROREG
      `& @! M' H0 T+ |7 f! V( K- a0 u
  95. JSR PPU_CMP
      _$ v7 H& w8 \
  96. C_RE:; A" t2 }/ u$ q& a: J
  97. RTS
    1 t& T( x/ O, b: W+ H! W! l0 |
  98. PROREG:
    ' n. l# ?0 y8 n
  99. PHA# z6 w7 P7 v4 V7 _% Y4 I, _
  100. TXA4 ~0 R+ R2 J4 Z
  101. PHA  P5 p: j/ q+ N1 x2 w
  102. TYA
    8 U/ d$ Y- q5 g. R0 p" j" W
  103. PHA4 |" t2 U0 i9 f! u, ^3 K0 U2 D
  104. LDA $25) p/ x. R+ v2 O! @
  105. CMP #$01
    % O' \3 [3 X7 _# P( D# b
  106. BNE RE
    6 u# y' N3 `1 e
  107. LDA $010A" W" F* R$ |, K( |' b
  108. CMP #$00! o" c. s( Y1 @9 `& A% v
  109. BEQ P1
    / J- R0 D% G! v/ i1 D5 \
  110.   m# X# f7 ?' l' \
  111. RE:
    & V1 a" p4 A8 c; M9 W& _
  112. JMP PPUWRITE' |. U) y4 D: K4 g4 }
  113. 2 z5 }9 h+ D7 e/ q
  114. P1:                ; 条件判断
    2 G" A1 z( \" _- A  I  H: \7 N) j$ t
  115. LDA $7FFF
    % b- J) {2 `2 g8 F
  116. CMP #$FF: Y8 v1 U: w, z$ g9 e3 a0 U
  117. BNE P1RP* [; b0 q: e% H4 e
  118. LDA $7FA0
    3 h6 \/ Q/ i. O$ a/ h" E
  119. CMP #$003 O1 x, k. X! G7 b! C# X
  120. BNE P1CMP
    9 F% B  v; S! T
  121. LDA #$FF
      {5 Z6 _4 G) W3 q7 V4 U0 s3 x
  122. STA $7FA0
    / q$ T7 P/ O9 L8 Y; D* k1 a$ R
  123. JSR CLEANA6 F) {1 R  [4 ^$ }! c: |8 |& {
  124. JMP PPUWRITE
    " [% d5 s, b3 J5 f  d3 J5 L
  125. P1CMP:( C( q( z: j+ ]) p
  126. LDA $7FFF) Y  y: ?/ d# w5 Z
  127. CMP #$00( h4 m8 [& w4 z
  128. BNE RE
    5 V  }4 H! h+ Z( Z. O
  129. P1RP:# b: U! ^  ^7 d" I. U
  130. LDA $20021 J( }' r, S# |
  131. LDA #$00
    3 F$ O6 u8 u4 f- B7 x
  132. STA $2001
    6 S9 M0 p. z4 Z4 _# O  U
  133. LDX #$00
    / K3 W1 J7 z6 e, ?9 Z
  134. LDA #$FF+ u" s' H2 E0 o; }) C8 K- Q+ }5 D/ K
  135. STA $7FFF1 ]* Y  r5 ~5 e- `9 r
  136. STA $7FA0! I8 E0 |6 w2 u% t8 C) d7 r
  137. JSR COPYPPU
    % [3 @; G4 {1 G3 F. _
  138. PIRP2:
      O2 k- U0 r/ i& H6 Z/ X
  139. JSR CLEANA/ ^; Q" h$ l: I3 N9 q
  140. JMP PPUWRITE
    . u7 T. V5 k4 l
  141. 7 I( V+ C9 Z* x4 y# f; }! \
  142. COPYPPU:7 U/ i" P6 d* |2 D) X0 W: A
  143. LDA $FE7 g* _) G; {- |& _! A* M
  144. STA $7F50
    ) Q7 G4 ^% }; \) d+ m
  145. LDA #$08. [2 d; i) z7 H6 A& b; k
  146. STA $FE
    5 x" P2 a3 X6 i( q: h3 Y
  147. L0:
    4 c  p4 H4 F( u5 u, D2 u( }# v
  148. LDX #$00. @: ?$ Y  X' i4 ^8 d" H6 F/ ~6 E% o
  149. COPY_07C0_07DF:
    + a9 I* A$ Y% n' r7 t
  150. LDA $07C0,X. @9 w7 Q( C7 f2 y
  151. STA $7F00,X
    $ |* H( H# d8 {! r6 C* r) a, u
  152. INX# K' c; y8 G0 t. Z
  153. CPX #$400 p$ r' e1 j; K4 B
  154. BCC COPY_07C0_07DF# x3 F; d, i% W$ }: N
  155. LDX #$008 D& P' i8 w' Q0 Q
  156. PPU_07F4_07F7:
    5 Y5 Z: V; {( p: |
  157. LDA #$00& n4 M& M' x' p0 K/ b0 U5 Q5 [) K
  158. STA $07F4,X8 F& X9 R- y6 F
  159. INX9 F: ]9 e) l1 v
  160. CPX #$04
    : N6 L) k% D) ^9 D! g6 a1 l
  161. BCC PPU_07F4_07F7
    9 k6 C9 K6 u! e6 ?; R3 n2 L1 Z7 C
  162. LDX #$00
    / A* J. V8 q! h: ?
  163. COLOR:
      e' s' f0 X: f$ o+ G4 t
  164. LDA COLOR_DATA,X" M, Y! ~5 d% c7 V( E; E) V/ M
  165. STA $07C0,X" B/ Q( e, n6 v$ [  z- z
  166. INX" }0 E" G$ p: s+ H3 v
  167. CPX #$10
    , S0 G2 `3 |8 x: |2 X, c
  168. BCC COLOR) {$ Z# d+ u6 E

  169. - T3 }$ m& e/ I+ x( b: t) _
  170. PPU_COLOR:: G- f: i. i- M. a; U
  171. LDA #$3F
    6 b) Z0 I) h2 J. _0 {  d7 \# C
  172. STA $20062 }# O( Y/ A  q( \
  173. LDA #$00
    ! f; l: y# n$ v3 g: q. F
  174. STA $2006
    / Z8 w0 i% `# g$ s( {7 L: _9 z/ w% d; E, ?
  175. LDX #$00  s* S  c3 d$ h+ l1 f
  176. PPU_COLOR_W:+ K+ T2 ?0 \; s: v& z9 F
  177. LDA COLOR_DATA,X! @  b+ Q' s& \; f% D  m; Q
  178. STA $2007
    ' y$ u' q- v# T. ~+ i
  179. INX4 M- _# H) }: `6 K
  180. CPX #$10; }# h) V! I- u* E0 ~( f5 k
  181. BCC PPU_COLOR_W% m: Z5 ]! `( X- D. Q* g! k& L
  182. 2 A. @5 l$ ?2 _+ P
  183. - E9 ~2 K/ o% p. `
  184. LDX #$00
    , T4 C8 ?- j& ^: y. i
  185. LDY #$00
    ; r$ L4 {3 l- s
  186. LDA $BD' i8 O6 [/ G# j  _! ?2 ~. Z
  187. PHA
    " ^- N% _$ n3 Y  U! k6 O
  188. LDA $BC- q. J: J' U: x
  189. PHA, P3 Z1 Y5 y2 l9 Z8 w. S
  190. LDA $BB
    ) @7 C6 B& q) C* q5 k. b
  191. PHA
    0 l# ~5 N2 {  V) c$ b6 C' e
  192. LDA $BA  n) U1 }8 D: A8 G6 Q
  193. PHA
    - {; a# D' `. a: |
  194. LDA $B9) ?! P3 i# y: n4 i* d) ?: J1 L
  195. PHA. j' t& P- o  K' c5 p6 x% X2 ]7 x
  196. LDA $B8% ?0 s# y3 q' P# q5 ^
  197. PHA
    1 D' v0 s$ a  g( v
  198. LDA #$00
    , B. N# R; s& [% w) h
  199. STA $B85 r$ V: R  k, X/ ^5 H' L9 I
  200. STA $B9- M- @% z( k6 _/ f" b
  201. STA $BA# G3 U: p2 R) d: \& o, f
  202. STA $BB* U6 }0 O9 j+ H8 B
  203. STA $BC
    ; A! U5 }5 S" c1 a& J. r+ r* d- y
  204. STA $BD
    " U9 Q( v* D4 j- m& T: I. S0 P7 `
  205. LDA #$006 m% N, R" |& H) `8 f9 I+ \  z  ~, a
  206. STA $BA
    0 [7 M: U: d& m# {: s: {9 v
  207. LDA #$20: I7 E4 e  m) K5 v
  208. STA $BB
    # {. T$ o) y9 N
  209. LDA #$00
    $ W5 P. c6 ^" Q; v1 |5 e- Z
  210. STA $BC
    ( T, O" ~5 Q. C) u
  211. LDA #$60! B3 {  n# `8 W! w# n3 G
  212. STA $BD0 M2 P# }* N5 O' W  O- W/ T

  213. % U! u% \; W3 p
  214. L1:                ; PPU复制. N  V7 o: A' E" R# b
  215. LDA $BB
    7 a  e1 f" R* `/ q* C1 J& G
  216. CMP #$28# t  g6 u6 m8 v$ a2 ?, \
  217. BNE L2
    % U7 y  D( y  {
  218. LDA $BA
    0 N  Y8 A! _. M+ ^( I( y4 k
  219. CMP #$00
    . Z5 z9 F. w4 _6 r
  220. BEQ PROADPLA
    $ ]7 A5 B& j* D, W- i

  221. $ }8 n/ q% F5 u' Z2 c3 L  F
  222. L2:3 u+ s; \! S+ `+ G$ L) B/ H
  223. LDA $BB
    . z% j7 X/ k0 G
  224. STA $2006" s0 [) d# @8 `
  225. LDA $BA
    # r: [) [8 L5 i" \9 ^
  226. STA $2006
    ) p+ G; X; @0 O- m" M

  227. 5 L0 W  u2 e; j% m) b
  228. L3:
    4 g6 r0 _) n6 i+ \# j
  229. LDA $2007
    6 d( p" x9 u2 `) M, x4 I
  230. LDA $2007
    6 V  `1 ]4 x/ @2 B- B
  231. STA ($BC),Y4 k# A- [9 g* Q$ ~5 B
  232. 9 s/ ?) Q: s+ ]' V
  233. L4:
    ) t& J3 K) H7 ~- ^( E
  234. LDA #$00) W7 t6 K; c8 N# v
  235. STA $2000
    % E- d: I% S" x  p& W, v; G
  236. INX. b# M( t: R: L6 w4 ^! M6 x
  237. INC $BA% c, }6 {5 P& C' G; W& p1 `5 z+ y0 r: A
  238. INC $BC
    6 q) r: u' j5 ^; Y; g6 O! z/ [4 M
  239. CPX #$00  X- G1 x$ r; C- t: p9 O" @% z
  240. BNE L1
    2 \5 \2 Q" }% h$ Z8 `% c$ W4 B* J
  241. INC $BB* K& V5 D5 @" o9 d. B
  242. INC $BD
    ' B- v5 j( j- W
  243. JMP L1
    $ u7 Y" l1 Z0 _) Z5 B- q0 x
  244. & z( t; N/ F, c: O# _; S1 L
  245. PROADPLA:                ;出栈& V! A+ m* r, Y2 ]% W) l
  246. PLA% h' U# F. A# B. [& h1 O
  247. STA $B8
    0 L0 t" i' @  [5 R
  248. PLA! Z& U: Y, x4 }
  249. STA $B95 r. `$ j4 X: J
  250. PLA4 j( M2 x$ ]" c( N
  251. STA $BA
    , v3 B) L) E& u/ c) P4 n4 F
  252. PLA8 R+ z& g' n- d3 R# ^
  253. STA $BB4 Y& W$ a1 n/ f( ]9 k8 X9 O* t2 X
  254. PLA1 V& H) O! o( r7 B4 r3 Q; N/ ~
  255. STA $BC6 D( r  v- i+ ]/ r* ~8 O# @% K
  256. PLA
    : T( F" i/ X+ g; f
  257. STA $BD# I+ D5 Q' T  ~
  258. CPRE:5 x  B& T$ `1 i
  259. RTS5 t! Y; j2 z. T2 [' g: r: x8 y
  260. . U0 `5 l* j7 b. S7 R
  261. CLEANA:                ; PPU清空, |) h! e, V% c* C6 Q7 t# N! `1 l
  262. LDA $BD- j* [9 }0 d9 v4 @: S. Q% J
  263. PHA
      i' ~% k. B# |: g  u
  264. LDA $BC3 w1 \5 C- L+ ], [% |
  265. PHA6 i0 B  J" R0 G' J
  266. LDA $BB
    9 y( V. S: N- q2 B6 m, P. {6 X
  267. PHA
    ; e/ [$ K3 R" S* h7 x! H( ~
  268. LDA $BA- r6 d- `. J- S5 e1 b1 P
  269. PHA7 W( _$ ~. |, c% F  R
  270. LDA $B9. j% a5 O8 X9 F( q5 i: w9 B
  271. PHA8 d5 O7 @& l/ X, ^4 U
  272. LDA $B8) o4 E% g1 M$ B  d$ V
  273. PHA) E8 A; A9 w% Q; h, [8 L6 y
  274. LDA #$00
    7 ]2 ^! }: ^! l& T0 T
  275. STA $B8& d' n0 X- B5 T& Y2 ]8 H
  276. STA $B9
    % _! o, r' A% a
  277. STA $BA
    & X4 W0 J: f7 }. U' K1 \: I; p$ l
  278. STA $BB5 H# W& L' x# X3 k
  279. STA $BC
    ' I2 E6 ~0 B, W* X7 I
  280. STA $BD/ f) c% R/ o. M1 R7 L9 w1 ]
  281. STA $20018 T( c) ]$ s6 Z8 h
  282. LDX #$003 {  y9 m3 v' m  a/ {+ a
  283. LDY #$00
    / e) |4 H  w- K! L
  284. LDA #$00
    4 w( l+ o. h3 U1 |3 o; }. s
  285. STA $BA
    + t# l0 N: z. `; R
  286. LDA #$20
    - C5 H: K8 W$ Z& P8 e* C1 J
  287. STA $BB
    - k1 [9 E: t( P5 h  r( R

  288. $ ]7 N( r+ I3 G6 d! D
  289. CL1:
    ) R2 o6 x2 R6 E& ~$ Z1 K" ~2 Y
  290. LDA $BB
    ) p( u! x3 P3 C4 g1 ^
  291. CMP #$28+ I8 }( t! A3 z  ]" @+ O! Q
  292. BNE CL29 ?2 G  U0 q. ^# Z5 r- ?  |0 c
  293. LDA $BA
    + }* X( J! K1 b# p. B
  294. CMP #$004 l" w6 g7 n1 z% Q: j
  295. BEQ FREEWRIYE& n, T, Z! i2 k; [3 n& H

  296. 3 C% H, a! p" _. p/ a8 H
  297. CL2:' k# k% u% q; v0 J8 E& z$ s
  298. LDA $BB8 w! g3 p6 V/ U0 k8 v. Q! M
  299. STA $2006
    - V) {7 l; S3 P6 N1 d7 Z
  300. LDA $BA9 h7 \8 W! V6 `( O0 v) ^; ?9 a
  301. STA $20067 k* \) H% C, P% q. d$ Y

  302. : t( j, d) v# Q# T0 ?- s
  303. CL3:
    * [4 f- i9 W" M0 z
  304. LDA #$00( z/ S7 f+ J" x5 B- p
  305. STA $2007
    - b4 V- A% i* C4 _4 f1 q
  306. ) i9 r: N" n8 s( P
  307. CL4:4 D* L6 X  \2 g  C9 ~9 W) a, A9 b* @6 X
  308. LDA #$00
    6 a& `( D/ W7 C
  309. STA $2000
    0 d+ e) Q5 e/ m8 I
  310. INX9 B2 z& Q; w  }2 |! e. {
  311. INC $BA  ^6 a/ B% A: h1 k6 t, F
  312. CPX #$00
    8 S5 l0 c( l$ V, j
  313. BNE CL1
    1 H7 ~- P' G$ l& q" t! _2 z
  314. INC $BB+ w3 |( a' I! Y8 z. W
  315. JMP CL1 9 o2 V0 H0 Y5 C
  316. 3 q0 T$ y$ r5 P6 B( u7 E

  317. 5 p$ t- Q; O8 F0 z
  318. FREEWRIYE:
    8 R3 \; F& h* C( x. |! I  {3 |
  319. 0 }6 g& l- i" ]8 o7 l; `. u
  320. NOP
    0 {* V$ M9 A0 B' [) n) ]8 Z
  321. ) z+ n$ S% G! x. x

  322. 0 B! `/ Q, o9 `3 n. l3 w6 q1 p" ~
  323. % ^! K6 Q% x, s$ D3 v( r
  324. ' e+ h, @: y7 l' O2 c0 Y4 M5 {4 M; S

  325. ) P; [6 u) _; L% t6 ]% S! O
  326. CLEANF:                ; 恢复现场6 J9 V* f/ Y/ U3 [2 p

  327. . G3 i/ a' N2 ^5 j! b3 b
  328. PLA6 Q! {* B7 V% B. |
  329. STA $B8. L; E& O- W' N$ @' u
  330. PLA
    * N3 ~; \$ q0 E# h; S& D
  331. STA $B99 c" r8 t! H0 r8 _+ m
  332. PLA, \; b$ W8 h' b& T: R
  333. STA $BA
    8 d7 ]8 |) @; Q8 B" U
  334. PLA0 x4 T8 n9 V; W  @( J
  335. STA $BB
    & m, K$ {8 q+ N( l- E
  336. PLA1 [9 J& _5 W, n( ?+ c
  337. STA $BC
    ) Z2 G: e; z& }: q/ u
  338. PLA
    , C$ w* R1 ~# P- X( _0 f
  339. STA $BD; K  w+ u6 @, M9 v
  340. CLRF:
    ! H5 z8 f  _' R! X/ y+ T
  341. JSR FREE_PPU5 Y+ \$ G& p: T- }6 r
  342. RTS
    ! e/ m6 {! d3 z0 G0 n( V* ]4 C

  343.   L$ t1 R* s( {. a" \, X0 Q

  344. ! I& [- G' i1 h& F; X
  345. PPUWRITE:    ;PPU写回0 @* m4 }6 x1 w- F8 a: |
  346. PLA* ~7 A2 C2 u# q( j8 ^1 b# e, T' W
  347. TAY7 r# z: E+ F5 H2 [# I% X0 c( @1 i
  348. PLA. _3 t5 v7 Q1 x! t7 H# ~; w) b
  349. TAX
    ' N2 r7 C6 P7 T- y8 i
  350. PLA
    / A) @  u* s* `8 y" m# `
  351. LDA $25. B: \& k1 x: n! u+ w  K! g
  352. CMP #$00
    8 X. U8 z& ^! p: D% W: W3 d
  353. BEQ WP1& m" |' R) q1 C" c+ T( L+ G! j+ r  l
  354. LDA $255 _: z# T+ ?( p9 _
  355. CMP #$01
    ! K6 W2 b" Z* u* u' W
  356. BNE WRE* \1 q' I. q% Z$ k
  357. LDA $F5,X
    0 N( }- i( t: Q4 `* @3 F+ f2 A
  358. AND #$EF
    ' e' x- e! G" {) a2 U) z- e% g
  359. BEQ WRE) k+ o0 u$ j$ _/ N4 w
  360. LDA #$00/ s2 `7 T) V: p
  361. STA $7FA0
    9 U' P# |: {6 \; ?# E9 Z% o, F4 r  N

  362. , B% f( b3 K- \: Q; l9 \
  363. WRE:7 L* Q4 u1 a  m1 |3 i7 X
  364. RTS
    " y' x9 O# a6 `6 M  e

  365. 4 `- A) O$ X; r6 F; ?
  366. WP1:
    7 B) [# |1 H6 Y0 r
  367. LDA $7FFF
    6 ]$ A4 P$ `4 {# E, S* w. m
  368. CMP #$FF
    ! |; ^. G3 r. k) ]# U0 \- S2 B
  369. BNE WRE2 D7 ?2 M- I4 G; K( y
  370. LDA #$008 L+ }1 c8 J8 J5 H
  371. STA $2001
    ' {6 \& D2 g) w/ Z0 Z
  372. LDA $BD
    & }8 m4 s( s" K! N
  373. PHA, i) M! E: ^& G/ u& t( O, }. q
  374. LDA $BC
    4 |  X( `1 Y0 a1 p, v0 R* e' k
  375. PHA
    ! v5 l) ~$ C! n3 R0 ^7 R
  376. LDA $BB
    " R  ?6 ]; I! x
  377. PHA
    : z/ }- K: N) @6 ]: g5 k
  378. LDA $BA
    0 E. n1 C, y4 \5 f+ ?
  379. PHA) I$ H' ^. B  X' v3 N' s$ _1 K5 O
  380. LDA $B9
    ) w: E, ]  c5 Z5 G! m
  381. PHA& X- t. t* m% [) @
  382. LDA $B8# i, {/ O! I2 d% M! `) z" D
  383. PHA
    9 A! m) g2 ]7 u1 R5 {6 B
  384. LDA #$003 U, \  V: ]* z; |8 W7 u* H" K( r
  385. STA $B8
      K% l2 o# a, Y# I. c! F/ I
  386. STA $B9
    ) a; a3 h: s( v( x- j; h/ `
  387. STA $BA
    # n; w" c+ e' k' I- D6 ~; `
  388. STA $BB2 l' E# L5 y( E# q0 C" d
  389. STA $BC- M3 y6 ^) K7 F9 N
  390. STA $BD
    / _/ X7 n6 l7 q. D6 \$ t) V
  391. LDA #$008 T% ?, M4 x; W* g4 Z
  392. STA $7FFF9 r+ A- v$ H2 S+ y+ C. Y
  393. 9 M- d5 k3 Z' N1 f$ u
  394. WL0:
    0 N2 d6 W( V) E' E/ W
  395. LDX #$00
    6 {2 M3 }* f0 q5 s8 t4 F4 X: f
  396. LDY #$00
    : i* A, c3 P7 R0 l
  397. LDA #$00
    * C9 k( n- ]" J( J7 o
  398. STA $BA3 F  n) `4 Y4 `( r# j' {6 |
  399. LDA #$20
    ; c/ G, I! }: W# I! }% J7 M1 w
  400. STA $BB( k4 h- g6 ]  x; z0 a3 O0 r
  401. LDA #$00# F3 K" C- U; G
  402. STA $BC
    ! ^) `/ ^5 d3 n9 I) z7 j3 j/ k9 B
  403. LDA #$60- U- Q2 `$ S. |" ~2 ]+ ]
  404. STA $BD, q2 z9 E; T1 }' m

  405. 4 S! J5 f! e' \; Z
  406. WL1:* l( q6 x$ C8 M& J
  407. LDA $BD
    ; g* v2 s  y4 r2 y  p/ e, A
  408. CMP #$68" H" l9 s0 C" H1 q- t0 u4 X
  409. BNE WL25 Z  |- X# e, m9 A" v
  410. LDA $BC* d7 K3 R" I5 X( E
  411. CMP #$00- L6 G3 g) j* |% T( l8 k
  412. BEQ WLR
    7 Z! k( Y% S' n/ Y: w3 c% _& B
  413. 1 M4 \0 M# }  B! N
  414. WL2:
    & U' a' e! D) B7 T
  415. LDA $BD% ]) h# P. p; k5 I
  416. STA $2006
    6 @0 S% p: f7 X0 }# v$ f
  417. LDA $BC
    ; Q% l7 }( d% \9 X- a% U9 r# q
  418. STA $2006% \) s0 O# l7 Z" x( L$ N
  419. , }, w! c+ r3 ~# k1 {
  420. WL3:6 v/ W5 Y  J3 T' f
  421. LDA ($BC),Y1 `# ~+ M; n& N5 p3 }8 d% u6 I/ c
  422. STA $20070 u& x- R7 z  W! j! z5 D) `
  423. 5 R6 C/ _  @- L( ?- \) T2 G3 h( x6 r& q
  424. WL4:
    8 e* R$ G7 k8 \8 D( ^$ @% t
  425. LDA #$00
    - w8 D8 T. X8 Y0 A  G4 v0 b0 b. R9 z
  426. STA $2000; m' s# B- f- f) X
  427. INX
    . s% j9 w5 @& f# T9 |) m
  428. INC $BA
    8 {- P! q+ }8 `) U! G: i
  429. INC $BC
      A' ?' v; A( O0 v, {) r
  430. CPX #$00. ?& k' p* G" ~# \4 h1 K5 w
  431. BNE WL1) o6 m$ p& p" y. w% D  Z+ @  X
  432. INC $BB8 U* p3 `( x& y  @& S; E0 G! k/ |
  433. INC $BD2 D+ r$ {0 T# X6 w) w) R, o
  434. JMP WL1! b7 z) h' @& Q) r

  435. # o1 [$ H- X4 c8 [* s  P
  436. WLR:
    ' i8 ]* p) ]+ k3 l# R$ i0 _; h
  437. LDX #$00
    , A+ |) ~- |. _
  438. COPY_7F00_7F3F:0 E: F5 p& o1 i& O# c9 L
  439. LDA $7F00,X
    ' w- i: @7 `% c$ p" m& m
  440. STA $07C0,X
    8 M5 K) G$ m0 w& P( C
  441. INX# l1 W, i  z2 U; r" [  [
  442. CPX #$40
    : G( i# l' o  _% s* B! L- e
  443. BCC COPY_7F00_7F3F5 W! G4 R; G$ |( E- q7 L- \% ~

  444. # n) {( d; s& c7 i& S
  445. LDX #$00
    1 a, [8 M" P! O9 X
  446. LDA #$3F$ I0 h( e, p+ W  l9 I
  447. STA $2006
    , |' A1 s! [2 X/ L. v- t* v
  448. LDA #$00
    0 m5 K/ H$ P- m  N4 i
  449. STA $2006
    1 {  Q& }7 T% j' X
  450. COPY_7F00_7F10:7 X6 m9 |1 |% G3 G/ n8 b* ~
  451. LDA $7C0,X! c2 y7 g. T+ C* u0 T: J
  452. STA $20076 ^) n. U5 F; w: G0 X6 x8 ~
  453. INX
    7 a  X9 b6 `7 F( i! t( {. j( o; l* R
  454. CPX #$10
    , ^# F. ]  p+ u6 u3 b, ~
  455. BCC COPY_7F00_7F106 f4 ]7 k+ p/ `+ ~# n  F# R2 }7 a

  456. / i: d; X% @5 B. i! e
  457. LDA $2002
    ' q! g+ b# c) p( `
  458. LDA $FD
    ! d$ N. w' R4 i/ o* t6 ~1 g
  459. STA $2005
    & ?2 v* O4 `, ~" Z2 t8 ^9 t
  460. LDA $FC, @3 \) i+ k8 j, O) h
  461. STA $2005! s  S+ r" E; ?

  462. ( K# k: s; W# S) n' S
  463. LDA $7F50) x% T0 x5 I5 z+ I
  464. STA $FE3 M7 E! }- t9 ~" o
  465. LDA #$000 y9 f4 u/ \$ [# g
  466. STA $2000" h7 N5 C- ~: C3 a
  467. PLA: |& F2 ~: r& q1 |
  468. STA $B8& M3 T6 z  o/ H- \
  469. PLA
    6 k/ E. R8 p7 N* j
  470. STA $B99 l& Y3 x# D- h( l3 a
  471. PLA& H- M: u0 {1 w! Z: \; ?
  472. STA $BA
    * ^$ \8 Q* \8 p5 n; u
  473. PLA; K% Q8 D2 q* [. e+ j( G
  474. STA $BB
    ! h' e( G) b' k
  475. PLA, `, C1 ~& G! U) E0 h$ F
  476. STA $BC
    # ?$ ?% U7 h; a# d4 d
  477. PLA9 F* _1 a" i# W0 }& v
  478. STA $BD
    3 n  |# ~4 ~3 r2 N* i

  479. # J/ p1 _7 |% X& f# K; z6 Q
  480. RTS; l5 T% t0 N5 V4 K3 V
  481. / B" D9 S1 E) b& |
  482. PPU_CMP:6 r5 b( h  e' y+ @' f

  483. " e0 E. J6 m& R: Q' H4 [5 J

  484. ) X/ {+ y0 ~9 T) d
  485. PPURE:
    ( f# _$ I4 X3 {
  486. RTS  ?( u0 e& v* M* Y! m+ o

  487. ) I* r% {- h6 y* T" N8 H+ s
  488. ' r! y$ S' E, o& k, D
  489. FREE_PPU:  v, `, o9 S1 O
  490. # c/ \) P; `( S+ ]) l8 h- |" e# U
  491. JSR TEXT01_PPU
    ! n$ I* ?$ t5 l% }0 N( e
  492. JSR $CBC0: Z5 I$ V- r* p$ h- j
  493. JSR P1_PPU2 o% y2 ]  p- i5 j  s; u' N8 U
  494. JSR P2_PPU: t* J6 u" c0 ~- f0 s
  495. RTS" |' P" V8 M: |$ j
  496.   u! z+ H( a* c/ l7 y
  497. TEXT01_ADDR:
    2 n5 u  \% s( d' C/ _
  498. .BYTE $20,$42) V5 X2 M6 @. X
  499. TEXT01_DATA:
    9 l' c& l- L. m: u6 I1 l4 {9 F
  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
      O2 B/ c: Y7 a5 W- C
  501. TEXT01_PPU9 N/ ]* P% @! A* l2 s
  502. LDX #$00) X' P- q5 S5 p
  503. LDA TEXT01_ADDR3 w5 ^( r  K" |& b- o
  504. STA $0703
    # A: g3 ?& G1 k' e8 y% x
  505. INX
    ! C* {8 V+ U! F$ ~& h& t$ O  E2 a
  506. LDA TEXT01_ADDR,X* Z& u: M5 C% J- Z: Q$ h: M- V4 G
  507. STA $0704
    7 C" A3 _+ Q, c$ s8 `
  508. JSR PPU_PROCESS
    - Q% w2 V1 f. W( V) h& k, B" B* A
  509. TEXT01_W:
    , S! D6 u" y7 U; s$ X8 w7 {5 |
  510. LDA TEXT01_DATA,X
    # ]1 E+ j8 @. p/ ~
  511. CMP #CEND
    - m# a. r& v$ f7 x3 r% b
  512. BEQ TEXT01_START
    : a1 {( x7 A. }; Q& i
  513. STA $0705,X
    + e+ o7 f  G- O
  514. INX: K3 T0 K! q1 {$ O* P7 \
  515. LDA #$00
    3 A+ j' c1 M0 E( A8 W
  516. BEQ TEXT01_W' x" x% e5 }& H. h' w! Q
  517. TEXT01_START:! E. A5 N# g* |5 [7 {) x1 \
  518. JSR PPU_START
    7 u# ~/ [2 O$ n0 t9 z( G4 v
  519. RTS
    / l7 D8 T5 u2 ]$ S
  520. 6 |$ d+ N# s* D9 ^8 ~: m; y3 J$ ]
  521. , d6 `7 k1 \( Z, _! p
  522. COLOR_DATA:
    % w# [- Z. ^& b# h" E
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    % t, n& I+ k9 B) z2 |2 d
  524. 5 j; T. j- @# ~" A) V$ m* p
  525. P1_PPU:
    , m! M6 _' y% s. K% z8 Z0 r, G
  526. JSR PLAYER_01_PPU% `1 b, c! _& R) }0 \0 T
  527. JSR $CBC0* Q$ P* P; r$ b+ z$ q2 o( i# e6 A
  528. JSR RELIFE_P1_PPU
    2 w9 l3 z* F! T
  529. JSR $CBC0
    - d* I$ p8 U0 r3 N7 Q
  530. JSR RELIFE_NUMBER_P1_PPU
    , w+ d3 u: `' @0 ^, a/ x/ t* ~7 c
  531. JSR $CBC0
    ; b' h1 E# p* N. s( @, d- c
  532. JSR WEAPON_P1_PPU3 x% x1 D+ Y0 Z/ ?& y! D
  533. JSR $CBC0
    1 \" J$ W% x0 \, c1 Z
  534. JSR BULLETPPU_P1_PPU
    0 V: p& x; ?7 Q  Y
  535. JSR $CBC0
    ) S1 I! a# t+ B+ Y" a# c
  536. RTS5 g5 y  N0 m& d

  537. . R7 N$ T/ S: b$ l" w) X7 s) w
  538. P2_PPU:
    7 a. E- X3 L5 M+ S& [% D
  539. JSR PLAYER_02_PPU/ o+ S% T2 T: D; N% R- L4 h
  540. JSR $CBC09 J1 z5 Z- e$ c. E8 Z
  541. JSR RELIFE_P2_PPU
    ; W0 l6 C8 x( g, K
  542. JSR $CBC0
    ' T& }" P" L: G% I2 d4 n) s
  543. JSR RELIFE_NUMBER_P2_PPU
    7 G; W: B6 t  S" R, ~
  544. JSR $CBC0
    ( h' z" a( u/ q" S
  545. JSR WEAPON_P2_PPU4 t+ k' ?, E2 q
  546. JSR $CBC0
    0 i+ C( K" t) m# Y# w9 e3 E  V
  547. JSR BULLETPPU_P2_PPU
    6 [+ J+ Q5 l) M$ P2 \6 v
  548. JSR $CBC0
    ) ~* h2 U; p; F+ ^9 d0 L2 D
  549. RTS$ H( Z, ^: i! z, A' a3 |/ G3 i
  550.   {8 a- i' N! {3 A: y

  551. 9 H* f+ L9 D+ ?$ k7 z
  552. " z2 b# [4 V9 u0 g
  553. PLAYER_01_ADDR:
    " ~% N* n: ?& f* _1 q8 b4 V
  554. .BYTE $20,$A3
    * ~& y6 ^& q( B) R, Y0 M# h
  555. PLAYER_01_DATA:% W9 Q) w2 w  Q+ y$ d2 u
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    & k* z8 N( N+ I" b& ^  Z
  557. PLAYER_01_PPU:- H0 p& w/ K. t: r
  558. LDX #$009 }8 I- v* w5 r4 [
  559. LDA PLAYER_01_ADDR
    8 ?" o7 t9 f: W! p
  560. STA $0703: F3 H: ^7 V# E+ G  q" i
  561. INX
    ! w/ J0 V( F6 U+ i; V1 r0 j* u0 e
  562. LDA PLAYER_01_ADDR,X
    . U- u* l  K8 S
  563. STA $0704
    3 i: N. w$ ?3 b4 M* g
  564. JSR PPU_PROCESS- e& ^1 R9 S; n, L, i
  565. PLAYER_01_W:3 o  O- x6 H6 _" c3 z9 z
  566. LDA PLAYER_01_DATA,X' {) l# R5 C  {( p# Z, z2 K2 j) R
  567. CMP #CEND3 m/ k0 A# s: @  c7 r5 k$ v# U
  568. BEQ PLAYER_01_START& q7 a4 j8 z- l
  569. STA $0705,X
    2 l1 f  D; s) T1 N
  570. INX% z# K) a0 r4 V$ w
  571. LDA #$00
    % E( n6 ^% Z1 K6 a
  572. BEQ PLAYER_01_W3 p2 w: K4 f! V/ ], ]& e5 b
  573. PLAYER_01_START:
    # w/ t# {1 a3 }( X% c5 Y- N
  574. JSR PPU_START( a% f- I( x% R+ Q. h
  575. RTS4 `. x& n/ f6 _* v) o4 Z5 L3 e$ ^8 X

  576. & C) x& z7 q/ j# A5 A

  577. . j' R7 T  Z$ t5 q; _8 l* s# Q
  578. RELIFE_P1_ADDR:& }" i6 U% Y  ~* f
  579. .BYTE $20,$E3
    7 D& Y; x% O9 E4 Z
  580. RELIFE_P1_DATA:+ q. L# R6 y& ^
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND4 e5 F. M: \4 p. u: t
  582. RELIFE_P1_PPU:4 S+ O3 U, h, B$ X+ w% W
  583. LDX #$009 q0 z  x; q, a* ]# B9 l0 ]
  584. LDA RELIFE_P1_ADDR9 w$ R: C: U9 o8 f- M/ i, M
  585. STA $0703
    ! I4 i; m; P4 U- j
  586. INX# D2 R6 c+ o9 b% M' @1 y' A
  587. LDA RELIFE_P1_ADDR,X0 q- h4 ^8 e  B
  588. STA $0704& o; M( t- l2 R1 |- u' m
  589. JSR PPU_PROCESS6 k, r: c; N  L9 P
  590. RELIFE_P1_W:
    . ?2 R! I8 z+ ?# {3 Z8 \7 f( {1 _2 z
  591. LDA RELIFE_P1_DATA,X
    : N( E% n1 _: h3 }0 a1 z
  592. CMP #CEND* n1 u# c8 y, ^# B- r4 o
  593. BEQ RELIFE_P1_START
    ; j3 [. s+ ?; b) W# _
  594. STA $0705,X$ b8 g2 ]' B/ p8 ]
  595. INX
    * o/ t$ A+ t& d7 S- P4 w
  596. LDA #$003 ~  v* O% L0 B1 @: M( j
  597. BEQ RELIFE_P1_W
    : r- q1 ]7 M6 K+ p1 p" L  K0 m0 U
  598. RELIFE_P1_START:4 y- ]) |* Y7 j. s  V9 g" A" g
  599. JSR PPU_START
    ; G& y. [0 ]2 h! s
  600. RTS/ Z$ R  u6 E2 N, K& }/ ?5 J
  601. 6 V1 |5 ~" j6 O7 ?. |
  602.   P% e7 m( K. o5 @) @
  603. RELIFE_NUMBER_P1_ADDR:
    ) C& s8 j1 a3 S6 }' U
  604. .BYTE $20,$EA4 i9 r* t7 x. Y, e+ v3 a) g  }
  605. RELIFE_NUMBER_P1_PPU:
    - K) {0 ]8 }) u) S3 A+ q0 X/ D) t1 D3 I
  606. LDX #$00
    7 p) ]( o& X! t9 x4 s. e& L1 s
  607. LDA RELIFE_NUMBER_P1_ADDR
    ; X) m$ B" I* t% y6 n6 p. O  j
  608. STA $0703
    " c, u) y: w8 E* y
  609. INX
    2 C4 u" o* q8 w  B3 F* d' Q
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    9 w. ~6 b# X' _" S
  611. STA $0704
    1 L  y! y; M: R" {
  612. JSR PPU_PROCESS
    - a8 g7 S( K% C2 ?: U# B: p2 v" L
  613. LDA $32
    % p' k) ?) h& A
  614. JSR LIFETODEC5 z. r/ x- J* M" K
  615. RELIFE_NUMBER_P1_W:4 X: L: o! x* Y8 N" s" A: k9 F, h
  616. LDA $7A03
    " I1 T# j. i1 T2 I  l% p6 f
  617. STA $0705
    0 p* z1 B2 `  j9 ^: C; L% }
  618. INC $0705
    0 G, x- `2 R2 D! Q
  619. LDA $7A04
    - q& y$ d1 j+ h5 k- j. I
  620. STA $0706
    3 v% ]9 ~. S+ c3 V5 w
  621. INC $0706+ }- j* g0 ]- i: H( R- _1 m  r- g
  622. LDA $7A05
    9 j4 a3 H9 O( P/ C
  623. STA $0707$ E; h9 I7 e5 X! h- R
  624. INC $0707
    9 J6 d, ?# v" j$ k; F  b
  625. LDX #$03$ Q$ b) t. R( I* t  x4 C
  626. RELIFE_NUMBER_P1_START:
    * {) [! r5 K) S( v' a. k1 c) r
  627. JSR PPU_START& r+ B0 B' P7 `; p& n* u
  628. RTS3 D6 {+ d7 e* e# H

  629. 3 M6 R% Q4 G2 o' F9 f5 p+ e; T6 `
  630. WEAPON_P1_ADDR:
    : h8 e9 j# \8 z6 g
  631. .BYTE $21,$23
    1 `7 u% n# q/ |/ x5 x: k
  632. WEAPON_P1_DATA:
    6 K: ?2 c/ Y! n0 G0 h3 E
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND4 k  O) A8 c) \& D/ T
  634. WEAPON_P1_PPU:
    - E% H( l  x' h) H# P
  635. LDX #$00
    3 K! y, |- x& R5 m6 H
  636. LDA WEAPON_P1_ADDR7 C6 m4 u  r& s+ p- |3 E* j, q
  637. STA $0703
    5 E4 U9 Q2 y: C# j9 ]
  638. INX1 D% S8 t3 R" M1 X9 _) z
  639. LDA WEAPON_P1_ADDR,X; D1 a) @3 S, ]' A
  640. STA $0704" D8 O/ p, S+ U2 @
  641. JSR PPU_PROCESS- }# m! o+ @& v# q* f) `
  642. WEAPON_P1_W:0 ?9 Z% t% [9 b. t' ]
  643. LDA WEAPON_P1_DATA,X
    9 A! q/ D8 q2 N3 b- `0 \
  644. CMP #CEND$ N, Z+ D/ t4 R; {9 C' [! E( S
  645. BEQ WEAPON_P1_START
    & n$ `  b) u6 b
  646. STA $0705,X3 B: S' v  {5 `: |
  647. INX
    5 v% M8 e" ~: @! l1 ~6 ]) Y
  648. LDA #$00; ^: y& Y( q) X+ J" R
  649. BEQ WEAPON_P1_W
    3 ]$ J3 @4 t: O% W
  650. WEAPON_P1_START:5 U# k$ d+ J# Y: t& L: {( t
  651. JSR PPU_START
    9 w$ C1 t% T5 ^* ?0 S
  652. RTS7 ^4 \( v. R! _( p/ L5 ?

  653. 4 W/ T: x$ @1 H2 P. K% @6 O2 K
  654. BULLET_P1_ADDR:
    & o) V# z- k2 C7 v$ o( N. H/ [
  655. .BYTE $21,$2A
    * H9 O( _# O: W" d, B4 f9 G0 K( L5 b
  656. BULLET_P1_DATA:
    ) V# Q( m/ y% Y/ X+ @* [
  657. .BYTE $00,$01,$02,$03,$04
    8 ^5 p; L/ z8 C" `
  658. BULLET_P1_NAME:% s) n; H7 {; q2 W7 H/ v
  659. .BYTE CN,CM,CF,CS,CL5 r- H0 |3 U, o: s

  660. & d" K- _$ q, x: E* k, e
  661. BULLETPPU_P1_PPU:
    ' W5 V! ]% g  ], |, z) y7 c
  662. LDX #$006 c5 Y* d) }( X: s% c- |3 m
  663. LDA BULLET_P1_ADDR
    # @3 ~& P, e- m: _. I/ N2 m
  664. STA $07039 Q  ^9 A, g4 N9 n  T" b' |
  665. INX
    ; b/ l" ~1 _# A7 R5 _4 n$ o# z
  666. LDA BULLET_P1_ADDR,X
    * p- I$ {+ e( j2 s
  667. STA $0704
    & E: x' _2 W$ y' X
  668. JSR PPU_PROCESS
    ( R$ {  J1 }  l0 r2 n$ S
  669. BULLET_P1_WRITE:
    " R/ v* V) L# u5 d) r, y+ Z
  670. LDX #$00
    - N& t9 K( ~+ U; B' j9 @8 Q& s, r
  671. LDA $AA4 {7 S0 A. K3 v1 m$ S1 E
  672. AND #$10/ G: }, X/ y+ [- g
  673. BEQ C_BULLET_P1# e  j& u$ l8 b" v! a  J  n1 v7 d
  674. LDA #CS! k4 c$ N) L# v$ B) E
  675. STA $0705
    7 ^1 `& o) x& B% g9 H* T
  676. BNE B_NAME_P1
    " W& c, N9 L( k/ [+ @3 s
  677. C_BULLET_P1:
    % S- Z( B2 I1 N# ~6 H! v9 }& F
  678. LDA #CC
    3 ]. }$ q& w, i# O4 [7 h, W7 l4 P* y  M6 a
  679. STA $0705
    8 W- ~1 {+ k& L. t+ P
  680. B_NAME_P1:
    # a2 w5 _9 }& X
  681. LDA $AA
    ; ?$ f" b6 k* a/ p- E. ^! t
  682. AND #$0F( x9 R5 b$ p* w8 `% w- Z- R
  683. CMP BULLET_P1_DATA,X6 O: g1 T: K- Y' w
  684. BNE B_NAME_P1_RECMP$ G8 ]$ a% L0 B: S9 z  A* G) ~
  685. LDA BULLET_P1_NAME,X
      e& o) ]/ n8 S3 @1 F1 O
  686. STA $0706- P0 n' }4 o7 H; ^; Z
  687. B_NAME_P1_RECMP2 Z9 T6 c  g1 a& {3 }# M. d
  688. INX
    0 B4 O8 M' i/ y
  689. CPX #$05
    & o* ^5 n" y0 G) Q
  690. BCC B_NAME_P1/ ]$ d  E3 z' G; j+ m- R1 F
  691. LDX #$02# B0 U( Z2 ?3 t* I* e
  692. JSR PPU_START
    * o  w$ h  w8 V& b# z. B
  693. RTS5 w3 X6 Y* j+ _, I# A
  694. % C. o, e3 j' @/ a9 [

  695. 4 m9 x+ q- i- w* T
  696. PLAYER_02_ADDR:
    : g1 B; o# w) r; \
  697. .BYTE $20,$B3
      T" [# e0 [  w4 l
  698. PLAYER_02_DATA:' u) a. K# @8 i1 g+ `
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND% P. n' W; ~# v. ~
  700. PLAYER_02_PPU:1 L. W* k7 Q/ g4 D# Z; L6 |& J; _
  701. LDX #$00
    9 [! _% `# B9 [- z" `, }% h  i3 K1 g
  702. LDA PLAYER_02_ADDR6 s" U6 i% u. w3 P/ t0 x6 F  ?
  703. STA $0703
    7 h; A+ _: d5 v7 F9 b
  704. INX
    ' Q' m2 T( v' _9 a
  705. LDA PLAYER_02_ADDR,X
    5 r$ e; ?+ P! E
  706. STA $07047 n+ e" X; B5 f5 b
  707. JSR PPU_PROCESS4 o  D- s+ h# i/ z" G4 S
  708. PLAYER_02_W:, x# H! j  K6 [- h; d( r$ t' _9 |" ?
  709. LDA PLAYER_02_DATA,X; g8 c; c8 K4 H5 ]
  710. CMP #CEND
    : k# `" p) U5 M" X  `* [
  711. BEQ PLAYER_02_START
    * q. x2 b' h$ U3 S. C2 ^8 ~
  712. STA $0705,X
    ' l+ H0 \; o% L* M5 f
  713. INX
    - U5 e" ~6 V) q+ R
  714. LDA #$003 H# [0 p: e: e' B* h8 Q- z# K
  715. BEQ PLAYER_02_W
    . |/ T4 G9 l; ~9 {/ a1 W  u5 _
  716. PLAYER_02_START:
    ) S, B' }) b0 u& f( q/ K' v
  717. JSR PPU_START
    0 C% n" ~1 q( G! [
  718. RTS2 G1 |5 l& l  N2 d' _
  719. 9 k/ v+ N1 r$ I7 p6 \3 j, l' W4 r4 x! Z
  720. 0 F& v8 G  Q8 m* p, d' j; N
  721. RELIFE_P2_ADDR:
    & N5 D- N  F& R  z# p0 L2 }
  722. .BYTE $20,$F3
    2 Z4 J/ S& e. f# `- [. a
  723. RELIFE_P2_DATA:3 F4 j7 ^7 |/ t6 d/ i% K
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    2 E6 Z) w: K& ]& t. q2 g
  725. RELIFE_P2_PPU:
    * D: N" u6 ~. p. j$ ]
  726. LDX #$002 e/ H( b* x) F2 z
  727. LDA RELIFE_P2_ADDR
    * f+ K& e' v. b
  728. STA $07034 U9 }$ W. d3 F9 F
  729. INX
    ' V8 e. Q% s0 }  _
  730. LDA RELIFE_P2_ADDR,X
    : i0 t. |& r' a  ~
  731. STA $07046 c: f2 J. @! J
  732. JSR PPU_PROCESS
    . g+ h& N- d9 ?8 u
  733. RELIFE_P2_W:& u/ T; H9 T8 u* @: r
  734. LDA RELIFE_P2_DATA,X
    - u* p! I0 m. C3 D
  735. CMP #CEND
    4 l. `) B4 ?; U* U
  736. BEQ RELIFE_P2_START
    3 @3 y+ _4 y5 O1 B
  737. STA $0705,X
    ' J' p$ R  q% s$ v! X5 a
  738. INX- \# y2 o$ U9 A( M4 C
  739. LDA #$005 \) x: |4 E- N! p6 P5 M6 x, e
  740. BEQ RELIFE_P2_W1 h. ?0 @; B: N5 C( C3 q" Q
  741. RELIFE_P2_START:* ~% }! C+ c- |  ~, B
  742. JSR PPU_START# R8 J& w* n6 `# U1 q
  743. RTS, S* u1 ~* h" K- Q
  744. # l; t' \) }5 _- J1 m7 g

  745. / N/ z$ u0 \$ l% r& z4 D. K9 m
  746. RELIFE_NUMBER_P2_ADDR:
    ( @/ W8 |0 M6 x; b! r0 b
  747. .BYTE $20,$FA2 M3 F0 a1 V. d" M- S
  748. RELIFE_NUMBER_P2_PPU:
    ' O7 i& w+ {$ z5 _
  749. LDX #$007 x0 L" I2 R' A* b: p8 ~
  750. LDA RELIFE_NUMBER_P2_ADDR
    * J& s+ N$ K8 ]/ r' l" ]" h- Y9 Y
  751. STA $0703
    & x; x8 ?( [+ B8 `! M
  752. INX, ?) `/ x! \7 N1 n, n0 p
  753. LDA RELIFE_NUMBER_P2_ADDR,X! Q! y* R3 q" j" n; j
  754. STA $0704
    4 E. E. e8 H5 ~5 e3 t( b+ T4 B5 \2 i
  755. JSR PPU_PROCESS
    & |' N+ a# b8 U4 Z
  756. LDA $338 z. D  Z3 u3 p' K. ~3 \
  757. JSR LIFETODEC" D- D" J& F' I2 e5 M+ I
  758. RELIFE_NUMBER_P2_W:) p6 v* d& b3 j
  759. LDA $7A03
    % v" V2 W9 o' y; q, F9 m
  760. STA $0705. ?2 U5 N: h% P( I
  761. INC $0705
    ! h* a, w4 W3 [4 v' q# A
  762. LDA $7A04
    * k# m% _* U; C7 \; F
  763. STA $0706
    ' k& O, ^1 ~& @
  764. INC $0706! i# C7 V" y1 t" d( ]' [
  765. LDA $7A05
    / L8 @  I) z# Y. n6 N+ ]1 p" h
  766. STA $0707& Y2 s# V0 ~7 E; ]( Z2 Q3 X+ R4 D
  767. INC $0707
    , D4 X/ [1 a1 e' C6 \5 p' M
  768. LDX #$038 ]0 O3 z: J+ ?! n" z9 g) E
  769. RELIFE_NUMBER_P2_START:* H2 C9 @8 K) w& t  \. u1 l* p
  770. JSR PPU_START& b, v$ x" b& ~
  771. RTS. e! L1 B0 {0 H$ E# Z
  772. . `- Q6 p+ B& F6 F, @
  773. WEAPON_P2_ADDR:
    + S4 U3 N& K" a3 x; Q/ s
  774. .BYTE $21,$33
    / B; ]: F1 z* V/ u" ?
  775. WEAPON_P2_DATA:" }& c( @; X2 L$ ~( w; e! U# m
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    9 W/ H5 p- f8 |! r' L* K
  777. WEAPON_P2_PPU:
    % V( x4 `+ V7 v. K% o, H% t% F/ ?6 ]
  778. LDX #$00! k8 m; O0 m0 U, {
  779. LDA WEAPON_P2_ADDR
    # q* |: n; z3 d" d9 y  F/ U8 k! Q
  780. STA $0703
    : I) P! c. H% X/ E. L
  781. INX
    8 r" l! G! [2 F3 k6 T6 t% R  }$ _
  782. LDA WEAPON_P2_ADDR,X5 r3 b; t& f7 f
  783. STA $0704
    ) l' M1 w9 G- m1 B6 G
  784. JSR PPU_PROCESS
    + V/ Q8 v3 m* b2 T# d+ y7 _9 H7 f! X
  785. WEAPON_P2_W:
    1 W# s# ?7 m6 F4 ?+ l, Y
  786. LDA WEAPON_P2_DATA,X) O2 J- ^9 F' Z* w  O+ O
  787. CMP #CEND6 r0 Q, E. h: X( B, l. h: c
  788. BEQ WEAPON_P2_START. S* K/ U& p9 t+ Y
  789. STA $0705,X2 r% w8 ~6 I( m- o, x0 Q4 M2 Y
  790. INX
    ) ^; ]; g8 k' j! Z3 }) N' f/ W# M# O  \
  791. LDA #$00
    # r6 P# }2 ]1 X! M
  792. BEQ WEAPON_P2_W
    9 g( p4 T9 P1 P; ?/ j' k4 J
  793. WEAPON_P2_START:- m6 f0 r) K- `: {4 W8 X7 k
  794. JSR PPU_START7 A0 [6 w; c0 i4 |5 O3 R, c8 O! C
  795. RTS
    % g9 Y6 q* F' c: a* r/ u( D
  796. & Q+ r" c; w6 p5 Z, A
  797. BULLET_P2_ADDR:
    1 A) X0 b6 p# t7 P
  798. .BYTE $21,$3A/ O9 H, J8 C, Y5 w6 k
  799. BULLET_P2_DATA:
    ) c, T9 [- r: I' t8 O
  800. .BYTE $00,$01,$02,$03,$04# C1 {; i, i6 J, @: {
  801. BULLET_P2_NAME:* Y3 m) d! Z/ a
  802. .BYTE CN,CM,CF,CS,CL
    + y+ [# @4 D0 e( i

  803. 6 [/ w7 }! U: p  p3 f& j
  804. BULLETPPU_P2_PPU:( ~+ r( e- X* F3 c3 P/ |
  805. LDX #$00
    $ |+ E2 ]  x- S5 Z' h* n8 g# l: _
  806. LDA BULLET_P2_ADDR
    7 S) q- q, q7 `( F
  807. STA $0703
    1 G% R4 @2 p% E
  808. INX9 A$ ^  ]( N' L6 o% S: @; X- }! i
  809. LDA BULLET_P2_ADDR,X
      |! G6 V7 X( c& S3 p+ R
  810. STA $07048 \% r% ^6 b4 v2 H) L  U7 S
  811. JSR PPU_PROCESS
    3 Y! h# e+ V* i+ ]% x8 f; ]
  812. BULLET_P2_WRITE:
    9 Q# o; F( `1 j' f, P+ z
  813. LDX #$001 ^. X$ x/ p: i  o* p
  814. LDA $AA4 c) ?' K1 T: Z/ r9 q- a4 O! q) c
  815. AND #$103 _8 g2 l. w: ^, K# \
  816. BEQ C_BULLET_P2
    7 @9 K) B; B, e- S, I
  817. LDA #CS8 ^8 k7 G# c& ?) Y3 F
  818. STA $0705& t# I2 q5 Z9 |+ t2 B/ d
  819. BNE B_NAME_P25 |( I7 T+ V+ C  z
  820. C_BULLET_P2:4 _* M! ^! K* j
  821. LDA #CC
    7 q- j3 w: i2 a
  822. STA $0705' u. y; X* S+ J& c7 L  k
  823. B_NAME_P2:
    9 O2 _( U; ?9 I  ]& d
  824. LDA $AB
    . r- Z1 I" v% O- Z0 C- d( U3 B* j
  825. AND #$0F
    - o' M2 D+ j5 q0 m
  826. CMP BULLET_P2_DATA,X
    ) m, {4 s& T3 S% J. ~
  827. BNE B_NAME_P2_RECMP1 Z1 J  K& y  v/ `6 s/ r5 w' K
  828. LDA BULLET_P2_NAME,X
    7 |- `5 P3 Y) z" t) V. ?
  829. STA $07065 |5 O! d4 N# U1 n" B9 u) ^
  830. B_NAME_P2_RECMP% X/ f5 L) w8 A4 Z: V2 R% c
  831. INX
    0 K, D7 L+ M! ]& b
  832. CPX #$05
    ! O7 o; d8 s4 E' I3 t6 @
  833. BCC B_NAME_P25 l8 m2 E0 \' I# m1 V6 b9 T
  834. LDX #$02: Y- K6 ?, T+ \* \
  835. JSR PPU_START
    . n4 u2 X9 z0 d; u& j; e
  836. RTS! E7 K& {  P- e0 q. `* V
  837. 6 m: `+ d  |: J3 u3 e
  838. 7 T. l# F% B6 e

  839. ' Q# R% ]; f# n& e8 Q

  840. + G3 r( _$ @6 e% L* j' C+ S% G
  841. 9 q2 X8 W0 v% w3 j: r% Y( S9 W+ R
  842. 3 N2 L: C+ T2 r5 X9 O* l0 \6 H
  843. LIFETODEC:                ;十进制转换6 C/ x7 Z: g5 |
  844. LIFEL1:        ;initialise
    / E; ^1 T4 G- A# m. F* F
  845. STA $7A00        ;$7A00=F35 U" J5 @! C, n# Q" m
  846. LDA #$00
      @5 ~9 L, s, q  S
  847. STA $7A03        ;$7A03=000 _2 k& [2 d. j  q( K3 z
  848. STA $7A04        ;$7A04=00
    $ p/ ^# m$ u6 f# z
  849. STA $7A05        ;$7A05=00
    ; k( \' d0 T3 `# }8 f  ~
  850. LIFEL2:        ;copy data $7A00 to 6001( z" s! v, q! O  r- u2 P2 Q, F# |
  851. LDA $7A00
    4 l* a2 m. E8 I4 j
  852. STA $7A01( H/ b7 w, D! h

  853. ! ^" Y4 x. p3 b' T1 C, v6 o
  854. LIFEL3:         ;hundred4 k/ a* ?/ H& D* x9 C1 M* a7 F, X
  855. LDA $7A01
    0 R; H3 `$ P0 m" v+ W
  856. CMP #$644 _" Z0 R( |7 [' D% ~- n, l5 P) b
  857. BCC LIFEL6                ;$7A01<100 goto L6' C: E( F- j3 F0 @
  858. LIFEL4:
    , q# X9 z% i5 k1 g3 u
  859. LDA $7A01) l* e$ @2 y! x8 L. Q  z# f
  860. SEC; ?+ O$ f  K; f
  861. SBC #$64        ;$7A01=$7A01-1009 m, N. N3 u, O* W% K- {
  862. STA $7A01
    1 _  y: p9 ^, p' H! K; i- y
  863. INC $7A03        ;hundred++8 A' R2 V$ c  n- I. C! o  _
  864. LIFEL5:
    1 o8 f! o% x& O- m7 O$ M
  865. LDA $7A01
    ! x$ b+ y; R5 _- e" i" k+ ^, z
  866. CMP #$64
    0 a5 ?& ]/ @3 O# j7 B: G- U
  867. BCS LIFEL4                ;$7A01>100 goto L48 @% r; o$ J0 Q% {

  868. # G) B! L6 v: \8 i
  869. LIFEL6:        ;decade8 v6 Y3 s* ~" Z$ Q. x
  870. LDA $7A013 p5 ?' E1 a6 ?
  871. CMP #$0A  i8 }. @* s( g) q5 \
  872. BCC LIFEL9                ;$7A01<10 goto L9+ {1 Y3 t: Z( ~" Z% j
  873. LIFEL7:        ! Q! S  B6 v% s; r
  874. LDA $7A01
    , U$ p  j! E6 e& q  l% b* w
  875. SEC
    2 n+ e. P5 {1 @: N
  876. SBC #$0A% Q, C/ d2 l, U1 l6 F
  877. STA $7A01        ;$7A01=$7A01-10
    0 u/ p4 V; Q6 t( K2 w) a
  878. INC $7A04        ;decade++
    ) \* D- `1 F% j1 |2 }
  879. LIFEL8:
    * f4 B* w+ B/ r3 o4 V& ?
  880. LDA $7A01$ d% Q# v0 l& o
  881. CMP #$0A+ F; }8 K+ h0 m6 c
  882. BCS LIFEL7                ;$7A01>10 goto L70 l& R* o3 w+ h6 ^% W* p, i2 S, f' b
  883. ;unit
    7 y, S; x5 h# ?" |: ~% Q3 f% M
  884. LIFEL9:
    / `1 }: B  v! q0 \8 r+ W" a. b
  885. LDA $7A01        ;$7A05=$7A01# ^: N! D* G' Z* C  m
  886. STA $7A05        ;unit; o5 N, {9 k4 t+ k6 t8 ^. V
  887. RTS        ;return
    * h3 Q+ _7 Q& u" A  K% H! o

  888. & A! |4 M0 K9 u& H' o" l) b2 [: i) d

  889. 1 r- S* o. Z/ S% H  n6 |% `# H1 D

  890. + n' A2 a% H0 t% r' g9 d, [
  891. PPU_PROCESS: ;PPU地址处理程序
    ( y: `& G2 G& h
  892. LDX #$00
    + F' ]2 u9 d! g' R( D
  893. LDA $FF0 H$ f) A  E$ X6 R2 n) Q6 e
  894. AND #$01
    / e, f7 W7 \* Z. A7 D3 V
  895. BNE PPU_2400_27C0
    0 ?1 R; M/ f5 t
  896. PPU_2000_23C0: ;命名表1
    7 w. d9 i; D2 U- t, @
  897. LDA $0703
    ! d& e& h7 c9 {" E
  898. AND #$FB
    * S. L5 r" p# A& X' P" _! i  S# R+ E
  899. STA $0703
    $ T0 f0 G/ t. |3 n3 M0 o
  900. RTS
    0 z5 a- {" K- z* v- Q! i7 T1 J
  901. PPU_2400_27C0: ;命名表28 ~. V5 ?0 S: D/ w4 A
  902. LDA $0703! W+ V. q/ s: T! A
  903. ORA #$04
    " N- f' c: r  ~$ X; e! U3 c/ j% F
  904. STA $0703
    8 |% ?/ [8 _$ x9 g9 L( Z* A
  905. RTS
    # O' u! V5 w8 _* O2 t5 H- N8 B
  906. . h( S% g  D3 {0 }- ]. a
  907. PPU_START:  ;PPU数据写入$ M8 A; ]+ J: b, p
  908. STA $21" X: I. C+ o3 ^) h& Q4 ~! {
  909. STX $07013 Y# D3 g* i/ S1 G7 ?
  910. LDA #$00/ V- U8 I* m) V
  911. STA $0705,X
    9 e( s4 ?* o/ p: P6 D
  912. LDA #$01
      V) U+ D/ Y; m0 u3 Z  |2 e
  913. STA $0700
    ! X7 |/ z# L6 X8 \  u( D
  914. STA $0702
    ( f6 e# t/ I5 `* T! l/ g
  915. RTS6 L1 ?/ J# y5 R- Z! l% ^: a/ r
  916. & J2 y6 I  \) J
  917. ) f6 i2 x6 w3 Y* M2 G) e% y1 i
  918. 0 Z9 V- O4 j, N3 c; `
  919. 8 }: m2 d2 Q: J+ i5 @' Q4 E
  920. ( i( h2 K0 t; e1 S: b4 I- ]
  921. 8 ?, K- V/ U6 I5 `# _: o9 g( Y
复制代码
' p2 l6 d1 x8 s/ K/ t  g5 H; ^5 Y

本帖子中包含更多资源

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

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

签到天数: 2210 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!4 V: @7 Z0 ]( \0 k, d$ t  n# d

签到天数: 2559 天

[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-6-10 05:12 , Processed in 1.118164 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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