EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    $ ^3 s! L0 y2 }; {
  2. 作者:FlameCyclone6 ]# q. l8 R- I: X6 O7 f3 b( ?
  3. 时间:2017.2.12
    % o0 E0 N1 Y- V6 C) O

  4. 7 m0 ^" A* Z7 M& L0 o; k$ i6 }
  5. 按键跳转:
    # g& Y) v. l# M% k- }
  6.         C1EF:95 F5 94 F1
    1 i4 N) C* }# \& d
  7.         C1EF:20 70 FB EA
    & e, g0 E  q. g3 n
  8. 0 R. @: d: U0 y, b& x% n0 G0 u
  9. 滚动偏移:
    , i$ R: b, b  x* S( n" k$ ?0 w
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
      S: l; B1 V' K  z3 g' b/ A
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    & N- i/ V4 ~8 x( u  ?
  12. " _+ A' X" j/ V1 j  d5 [5 j
  13. 背景调色板:$ ^, Y. A4 \. _! }2 c
  14.         CF20:9D C0 07
    7 {6 D% S6 x+ O7 k" W0 L8 q/ ]4 S# U
  15.         CF20:20 A0 FB. y6 a) u" G( ^& \
  16. 4 H, F! F& f) r
  17. PPU BANK号:9 U# @* h8 `% N6 w6 g1 V2 {
  18.         C8C9:9D F4 07
    ; f% W/ _' p/ B' O8 ^# p
  19.         C8C9:20 B0 FB
    8 Y, S9 G" O: `, Z( `5 \- }2 e

  20. $ t4 k7 Q8 O3 U5 z2 [4 P8 j
  21. 按键跳转:5 \5 `6 B7 m! y2 E: u9 X. i
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    & E. f; b  o- S/ q( p
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20; c3 e6 e* Y% Z9 Y
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    - \9 ~: o6 K" m% g# w
  25. 2 R% M! A- l: o5 e$ k
  26. 背景调色板:7 O4 R6 n" o: q
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    0 y' r4 F0 {6 D$ Y  d! a

  28. & ]2 Q; Y9 J2 H
  29. PPU BANK号:
    ) T. ]! M) Z5 Z
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    0 q) {0 X$ k( ~& G* s
  31. 5 O# W* @- v( L5 B' B1 O* ^7 z9 l+ B
  32. 滚动偏移:: \$ z. L: N( I! [' Q: ]; Y# x! z
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60$ H( N( q3 I+ G
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    " ^, l  B4 S! L6 o& V

  35. ! p$ @; g7 o' ?( C
  36. 0 {7 w# N$ I- E6 w
  37. 切BANK后A000:
    $ O9 V" r$ C5 y/ H: C: C: P7 R
  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 FF7 w$ B  S( a, [8 e' T7 J0 s

  39. # ?5 a: U6 ]- v: @! d7 a2 g
  40. 6 S* h" T2 s) Y" W5 t; J
  41. 6502 simulator:; e* h+ |" l# Q8 A9 F* [- s% X; s
  42. PPU写入程序:
    & |: r# t0 p; F: d; L# X
  43. .ORG $A000
    ) o% J4 f  _# ^  Y, @
  44. CSP = $80- N) b/ B' t% d
  45. C0 = $81
    8 i  f6 y2 Z& Q1 H& ], u0 j
  46. C1 = $82- l' A3 b2 o5 D( n. Q" c/ w& @
  47. C2 = $83
    ' k; V/ @5 i% b, _; D- ~* h* @; m
  48. C3 = $84
    : h1 f9 b# L6 S+ R
  49. C4 = $85; t$ F3 L9 E- x6 ]2 a" t& a3 P! w4 L
  50. C5 = $86, ~8 T- S$ o5 m9 C9 Y" G
  51. C6 = $87
    " P, y6 m5 w* Y
  52. C7 = $88
    6 E$ ^- I7 K' N% ~& `8 U
  53. C8 = $89
    1 ~* M) m+ \" R( R4 h# V
  54. C9 = $8A- p5 v( O/ ?1 a7 f2 \! ~, s
  55. CA = $8B
    1 ~; v( {8 W, z4 a5 P0 C
  56. CB = $8C
    " I6 e# W3 o' y- b  G
  57. CC = $8D
    ) X8 ?# ~2 t. \& G7 ?4 R
  58. CD = $8E
    3 N& Z9 C$ T" Q6 G. {' u. p
  59. CE = $8F
    0 l! Z; E# R. F$ E9 Y
  60. CF = $90
    0 ?1 |4 O" B' S3 n
  61. CG = $91
    6 }! F# {' ?5 S: a0 |" B
  62. CH = $928 `5 @1 \* \  B! w4 Z5 @* \- j3 h
  63. CI = $93  g* O$ c% Q' L6 `1 B$ }
  64. CJ = $94
    0 q5 ^) c& y) R  X! J
  65. CK = $95
    8 C& V3 _/ k- X* f: l" i" d, h" ^
  66. CL = $968 ?2 q8 G3 p8 k% A& ^) V! @
  67. CM = $970 {: b( j( y( L, W2 \+ V* ]
  68. CN = $98; s9 E! E, ^" J$ N% K
  69. CO = $99
    7 h" A/ L- d) I8 J
  70. CP = $9A
    4 `. Z& P/ @  h2 ]# b7 B! O* F
  71. CQ = $9B* ]0 g4 O0 `9 X* u  P, ^
  72. CR = $9C
    9 z% v, d1 x8 z( [
  73. CS = $9D
    # _  X* K& l' {- M% b
  74. CT = $9E4 {  j; D+ o6 l$ P5 |9 Q5 H6 q; K
  75. CU = $9F; r* Z- ]; ^8 W3 N" c9 B
  76. CV = $A09 K: i; N) {  @" b
  77. CW = $A1
    : K( [) Q2 ?/ S$ ^# m6 b+ C
  78. CX = $A2# a- n: E6 b6 w+ B3 {
  79. CY = $A3
    . c; d4 b. Y) o* }! X6 W
  80. CZ = $A4
    . a+ T3 ?% K1 ~0 N$ d6 ^
  81. CEND = $FF6 ^' ]' }/ d; D
  82. & p8 Y4 m% d/ g' B; V2 R6 @

  83. 9 J" V3 I# V# d0 x9 b4 ~7 j
  84. CMP_RE:
    . b  M: t! o! h/ ?# b8 p4 v
  85. LDA $FF
    - ?0 T+ i6 z6 Y0 b2 o' X5 q
  86. AND #$7F3 V8 F4 [$ ?4 Q! K
  87. STA $2000# I* V9 B/ ]5 e7 J, \& R
  88. LDA $20024 v6 ]7 [' d  D, q7 N1 ^2 s  e3 E. C
  89. LDA $25
    * a0 i3 N; a. `8 r, r
  90. CMP #$01" ?! n, j7 n9 C$ I0 B
  91. BNE PROREG$ u- I1 T0 E0 x( x) R
  92. LDA $F5,X% `3 e: v2 s5 Y+ b% I2 L
  93. AND #$CF) G7 ?& J2 p6 P6 y. B# P: H
  94. BEQ PROREG; A- s$ F+ {. t: }! O8 R; u( m
  95. JSR PPU_CMP
    $ O0 x. Y/ c/ ]
  96. C_RE:8 c6 E6 W5 U" C1 V2 p1 R
  97. RTS
    ( ]+ B, h& \. N3 n( E- O& f/ D
  98. PROREG:8 n6 g  U8 j* `, u
  99. PHA
    ! ]( |' a8 ~* n' W9 q! y" |
  100. TXA9 I3 x! \& ]4 l* a/ |1 ]/ W
  101. PHA
    ! f. a% M4 ?! W+ d" |( `6 q
  102. TYA$ i9 k& Z/ A) t: h6 ^7 t" F
  103. PHA
    : i! J' z# ~5 L1 a
  104. LDA $25( t7 q. I7 M( m
  105. CMP #$01
    + w1 T2 r5 U7 E- b# P
  106. BNE RE/ N9 R0 {$ H" t) T
  107. LDA $010A
    ( u/ ^* F/ u& f" G7 z) T* W
  108. CMP #$00
    - G/ p: J7 D9 n' \. g
  109. BEQ P1
    ( T3 l& k" O+ v- P: D( H

  110. # y5 U$ d4 w( G2 M% [3 `; ?# O
  111. RE:, d% L1 d* A+ j& U$ n8 ?( y: E1 ?/ t) n
  112. JMP PPUWRITE
    2 _. `- I/ N" T6 ?; Q
  113. ) l& w6 k* M5 |
  114. P1:                ; 条件判断+ c' T, B+ B! U6 ]
  115. LDA $7FFF
    - G9 V& Q9 V0 F1 A1 t3 z( v, U
  116. CMP #$FF& C2 H" B/ X) f" q
  117. BNE P1RP
    ! w$ ]" C) Z) Z; l. e# L( l- r
  118. LDA $7FA0: ?; |; }/ M3 {8 L1 a9 l) \+ i
  119. CMP #$003 A/ w) _9 `( V- l0 a
  120. BNE P1CMP- g4 T; m# m3 l3 f) d/ m1 a; Z3 s
  121. LDA #$FF
    6 _8 Z$ K% W, f
  122. STA $7FA06 P; @5 K+ W& n; p
  123. JSR CLEANA" o. N; y  D9 U7 R
  124. JMP PPUWRITE
    ( {' ]: n% w0 D; J5 v/ L/ ?
  125. P1CMP:6 T4 g3 |  F% ~6 h# ^) c
  126. LDA $7FFF5 m& q+ H3 g3 ]/ r, e8 L9 e
  127. CMP #$00
    3 K( v+ D; t0 G2 u3 L' }: K
  128. BNE RE2 h( Q; e5 H* M" g- R- X
  129. P1RP:
    , R# O' Q. u; G- j2 V/ b( I# z
  130. LDA $2002
      B0 a; b" e4 Z
  131. LDA #$00
    * |7 l* A* a" V! B, o% h5 T
  132. STA $2001
    * f+ Y# [3 D$ ~0 D7 Y: P
  133. LDX #$00# I: g2 I( Z3 T' U8 ?
  134. LDA #$FF
    9 g% E" T9 v7 ~4 l" }
  135. STA $7FFF4 Z4 T/ J- k% B4 {3 g6 ]6 C1 U5 V; ?
  136. STA $7FA0" Z7 U$ V0 u' W8 i8 n- t! V$ c
  137. JSR COPYPPU1 k3 i- Q. C: Q8 p& u8 W1 E
  138. PIRP2:/ L3 d% s& b- R& i, P
  139. JSR CLEANA
    8 u- \4 o9 f6 q5 k( ^) e
  140. JMP PPUWRITE" w! M0 v. q) Q: G5 }; R
  141. * D" v  S+ U3 @. H# ]
  142. COPYPPU:
    3 c, U" O' d0 M$ X/ T6 s" H+ ]
  143. LDA $FE% [" p. C( q5 Q) K' }
  144. STA $7F50" y9 r4 ^9 V) _$ ~5 A7 Y
  145. LDA #$080 x7 m! s; Z5 Y6 f0 [) M
  146. STA $FE  m8 u8 C4 ]9 J' Q$ l, M3 j; ~' u
  147. L0:
    ) y0 [1 {! H" b2 ?1 f
  148. LDX #$005 {! ?6 I' ?& ~3 P
  149. COPY_07C0_07DF:
    . t# n7 R$ w* r- K$ H
  150. LDA $07C0,X9 H( ~5 U- ~6 C$ G0 X
  151. STA $7F00,X( ]" V/ Y& L' O, O) h/ k% i" e
  152. INX
    : `% N- p0 V; D1 j( P  y9 @
  153. CPX #$40
    4 n% U0 c$ O  K+ M( e
  154. BCC COPY_07C0_07DF
    # R6 ?9 ^2 S/ h
  155. LDX #$00
    7 f# v! [8 C0 h9 z" c2 m
  156. PPU_07F4_07F7:, l" }, O8 `* S  I! j9 f. [
  157. LDA #$00- W4 x7 d8 @% s3 ?3 ^1 Y& u; g
  158. STA $07F4,X
    ) q: l, M1 y8 X
  159. INX! S. g3 J: L' D& t: I, I% H
  160. CPX #$04
    ; ^, f' @# Y' V& y$ z% ~" m3 p4 i, s
  161. BCC PPU_07F4_07F7( k0 W, U4 p1 S
  162. LDX #$00/ Q/ G7 ]% c0 ?3 A
  163. COLOR:
    : Y' R0 G7 i" T8 I) y& O+ L3 o
  164. LDA COLOR_DATA,X7 w) p# N, x$ R. d0 _
  165. STA $07C0,X
    ! C# o! C' V5 k; I, S9 Q. @: J5 N
  166. INX) r$ B) ~$ Q, O  s: J
  167. CPX #$10
    3 l+ z9 p* K; V" y3 T
  168. BCC COLOR
    : m( h6 K5 F" ]* \7 N( L$ }8 @) ^
  169. 0 F2 ^, G1 {" l/ c; N) l
  170. PPU_COLOR:
    1 u, s! v; s) {
  171. LDA #$3F8 l2 d/ B" ?5 {! E1 Q
  172. STA $2006& p  Z% d2 r. t2 |9 u) T
  173. LDA #$00- c- F. X, X5 ]3 G
  174. STA $2006
    ( W. C; d, j& l! w0 S
  175. LDX #$00
    * o4 i* r( d1 v2 r2 W
  176. PPU_COLOR_W:4 {" W$ F; n- s( s) A
  177. LDA COLOR_DATA,X
      m9 M) z- G2 g8 p' G
  178. STA $2007" ]- F, T& T! K/ D
  179. INX
    ' H7 Y4 P& z3 S7 O) D- S+ m8 x
  180. CPX #$10
    ! B' _. ^" J8 z5 G) E2 D- |
  181. BCC PPU_COLOR_W
    , `6 @0 U3 ~: S, s

  182. 6 ^& `! S9 z; ~" E( [- T: R

  183. / J& w9 _, R* }( P0 H* `& {9 g
  184. LDX #$00
    ' }. O0 \9 o5 F' [/ e( S
  185. LDY #$004 V1 Y1 i! O" q) o
  186. LDA $BD9 f3 q2 k6 e2 Y# H
  187. PHA6 B6 R2 [' |/ j, ?& ^
  188. LDA $BC
    , k" J6 |# C$ e2 s% k' }
  189. PHA
    7 H" q1 I* N9 _6 q& h: i
  190. LDA $BB
    $ s5 e* o9 Y! d
  191. PHA
    0 K) v+ e* @9 ^5 D0 m/ N. Y
  192. LDA $BA
    7 F6 c% _5 o  s3 O0 K4 k% X, Y
  193. PHA2 s" S* J$ z# K9 w& Y8 P1 ]
  194. LDA $B9
    , e& O4 k# F1 s6 r7 N
  195. PHA
    $ p1 _, h3 @; x% ?4 J9 h5 x* D
  196. LDA $B81 T; Y: A% y1 p  }3 J8 Z2 c
  197. PHA; m5 N  f, l- |" A
  198. LDA #$008 j3 g) Z) n5 S- X0 A0 @
  199. STA $B8
    ; F& D$ g( Q/ Q% E9 w& {
  200. STA $B9
    - @7 @( o# O" D4 ?" y2 F
  201. STA $BA1 u1 k0 N  k) J& O( A* T: Z% s
  202. STA $BB" R8 u3 G2 t, @* k( x# G6 o% v) A
  203. STA $BC
    6 @" t) T1 o; N4 c5 B8 j
  204. STA $BD' V: S5 M3 a" @, L& z$ o5 _
  205. LDA #$00- I& o: C5 w" d  X% D% ^3 _( Q
  206. STA $BA
    ! N+ E& b! e( T% U( Z8 k+ Q
  207. LDA #$20
    3 T5 _* j  z+ H3 J
  208. STA $BB
    ' I9 T, f5 t0 H, u/ U" _+ s
  209. LDA #$00: q3 F3 ~: m5 [( i+ d8 x3 U
  210. STA $BC8 \9 J  x4 ~/ h! \& @
  211. LDA #$60' Z% C+ q! B1 r) ^4 t
  212. STA $BD; l6 l. ^2 b: H* J" i# N
  213. ; Z  o. n4 {9 Z- G4 i( {3 G  M
  214. L1:                ; PPU复制& b! h. x2 r* s
  215. LDA $BB) ^) u9 z  K% @8 w1 P" k: p' T
  216. CMP #$28' i0 c! S/ ]& G6 {
  217. BNE L2
    # N, P: U; w- @3 j) F$ i& F- J
  218. LDA $BA
    , f8 w+ \0 i9 h$ o3 X: g8 \+ G
  219. CMP #$00
    ) q6 f0 j2 n; O5 G
  220. BEQ PROADPLA
    . E. m' O! f& h  u/ U( r  h
  221. , m: H1 i' e5 o; H) d
  222. L2:
    7 X) f3 y) r, ^& y+ G) H) k" g
  223. LDA $BB2 ~: K; C) o2 F  u' ~8 Y
  224. STA $2006
    . G6 O+ B: i' I
  225. LDA $BA
    $ D! {/ {9 U/ x0 r( I% n
  226. STA $2006
    * U/ w* A7 C& C

  227. : e- H3 Q& i' n. L- R4 J, A% a
  228. L3:' l9 c7 T& N4 q! i5 N3 G
  229. LDA $2007
      g& k. ?2 n1 J/ h# Y. @7 |1 L
  230. LDA $2007' f" {# I5 c1 t/ A4 m0 T. o
  231. STA ($BC),Y, Z# @4 ^* R: ?
  232. 7 `, I7 h, w9 F0 `5 _( Y: N
  233. L4:
    5 ?* ?3 s5 X2 R  Y- z
  234. LDA #$00
      c; N7 J% u4 @" T" o
  235. STA $2000+ c% ]8 p2 Q4 z; ^
  236. INX
    ' K0 s/ J* z- E) h1 ^2 u5 B* \
  237. INC $BA' y$ `( z9 N8 c
  238. INC $BC$ w  v, z, F0 [! w# K8 s0 K
  239. CPX #$002 a" y' |  r. ^% G! Q0 `6 }& e. M! M
  240. BNE L1
    0 f9 g; s1 Q+ Z7 G' W; ^. N+ D' H9 C
  241. INC $BB6 X, W0 M( J9 C: D
  242. INC $BD" V; B4 S% C/ O  w. g! E1 g
  243. JMP L1# V8 |' D: W/ L) j9 b5 K$ P5 M
  244. ; |: Q, G  M( _4 L. i8 [* r# G  T
  245. PROADPLA:                ;出栈
    + e  ]' C0 G/ e4 t
  246. PLA7 w( Y9 f/ u* f( W
  247. STA $B8) P! V5 E- W- s" H. |
  248. PLA
    ' Q0 D# `. U7 u2 l& M- E
  249. STA $B9* H6 J/ b$ e- g+ p! ]0 \
  250. PLA- s9 R" X/ |7 f* H" K
  251. STA $BA
    * G, G7 X7 F, m5 [$ }8 j
  252. PLA
    9 [5 I" n2 _; ~9 N4 c
  253. STA $BB
    1 ?2 j' G; k* a6 l4 X; @3 M+ g
  254. PLA0 b3 M! Y( G# u9 Z) n
  255. STA $BC- [, p6 V7 t' d& F9 |, L. ?! @
  256. PLA$ ]' \2 l% |' F+ W: w, F1 i" \
  257. STA $BD
    ! l" C6 Z" X* N5 z8 h2 O6 e
  258. CPRE:
    8 S# Z/ w2 w* `4 s- }
  259. RTS/ r: l$ W6 j+ v) C4 s5 u
  260. ! [* |! B' |9 {" t) N! B4 |
  261. CLEANA:                ; PPU清空: u9 ]( q5 L' v! O
  262. LDA $BD
    " O. t( X: ]- O
  263. PHA
    5 p8 s. P4 p( F0 K  r) ~
  264. LDA $BC/ O% x; j  U1 M9 o' ?  n
  265. PHA
    1 w4 r4 }' J5 A& b3 i9 a
  266. LDA $BB4 V; X4 O$ Z7 t* K: i* c
  267. PHA* R, Q" O8 d$ X! I  @$ W
  268. LDA $BA! ]( W: b1 a; W1 u
  269. PHA
    6 t' P) C) p/ @. `- V) L
  270. LDA $B9
    , V' H* H" I& |/ u5 r+ Y4 o- w
  271. PHA
    8 `+ l; t! E2 J" |4 e4 A
  272. LDA $B8
    7 b' _5 w+ q# d; G$ S8 y% U
  273. PHA/ U' m; n: F+ |
  274. LDA #$00
    # A. x4 U% d, C' @6 p) W: l
  275. STA $B84 g: u. l: Q, Z& d7 P6 B9 {2 }6 C
  276. STA $B9+ g+ v2 y* Y7 z/ F8 I
  277. STA $BA/ ]. _# I' a" @7 G
  278. STA $BB
    0 p" B$ p1 X1 L; W8 a
  279. STA $BC
    ) ^7 X. x: v/ o. B
  280. STA $BD
    & m7 a/ L$ Z- D# g* f" s. M  K
  281. STA $20019 {# w# T, `3 F' s
  282. LDX #$00
    ! |# U, T; W9 ]
  283. LDY #$00( o# d5 t. f7 R" p4 X* }
  284. LDA #$008 t6 ]) a- F0 }6 s9 V8 C, L
  285. STA $BA/ v, ^1 E8 a3 Y! O. d3 ^
  286. LDA #$20: m9 h' h/ y% u$ F: E- b
  287. STA $BB; V* P* U4 V" r* K

  288. 2 n3 r: Y6 }% T7 t- f6 H! ?+ ]0 ?
  289. CL1:
    & f+ L- h2 u$ R% Q
  290. LDA $BB
    . t4 |+ Q9 I2 a3 S* t
  291. CMP #$28
      Z0 Y( Q7 F( b* W
  292. BNE CL2/ E, H' y' d$ e8 W; `8 b
  293. LDA $BA
    7 _& B) X7 [9 T/ h
  294. CMP #$00
    7 `2 J; f4 Q  d$ z; d
  295. BEQ FREEWRIYE! v; n+ |. J( V$ z

  296. 2 D: r* C) u4 R4 i! T/ f' {' g
  297. CL2:
    * Q. ~) B2 V$ K
  298. LDA $BB
    . S+ d+ ?- z; j) X" z/ i8 h
  299. STA $2006% y6 H6 O- F+ m7 \& ?
  300. LDA $BA
    : H7 Q/ [4 y) R% H5 v
  301. STA $2006) c# e1 \" R! Z: ?
  302. 2 Y! j& E( U& w
  303. CL3:, y( A* Y/ p( q
  304. LDA #$00: N) b2 u, S3 ?; r. Q/ u- H
  305. STA $2007  v; {' u: ~2 e6 p
  306. & n' B' `; t" j0 g) c: a
  307. CL4:
    , Q" w" A) P' J, ^
  308. LDA #$003 J- d! u* c6 e" y+ C
  309. STA $2000$ R8 b" @+ ^* y
  310. INX' P" Y- ^3 ^, [% m
  311. INC $BA, @- e6 B1 f) D. V3 O  V5 O2 ?3 |
  312. CPX #$00+ U5 j8 S9 B1 Q
  313. BNE CL1
    # f3 l: t+ B$ g6 c" C
  314. INC $BB
    ; M3 k( j/ [. \7 j
  315. JMP CL1 9 p. H7 n, ~" e

  316. : y6 b9 C. a3 f
  317. ' N: P/ x# c5 b# N
  318. FREEWRIYE:
    7 G0 d3 ^' k, L2 l' V) d/ I4 Q: R

  319. * y# }" p* P1 U8 B2 Q0 D
  320. NOP
    ( }4 c% \; g6 V4 b( F4 i7 A

  321. / p  j- C. W5 c  w* T' k

  322. / y9 e+ w2 I9 ~
  323. ; f# G' Q1 S3 j0 d: t7 D  ~+ a8 K
  324. 5 o/ g/ I9 L4 W' X" t6 m

  325. / w: Q( P7 h, d8 T
  326. CLEANF:                ; 恢复现场
    $ ]" Y1 F4 i' O
  327. 3 w4 L& U! @$ \
  328. PLA
    ' P) h. |+ H1 d7 r/ H6 v
  329. STA $B8+ n) f1 k/ B  F$ F  O
  330. PLA
    ' c) B' F1 w7 e  S  g  M# N- C& G
  331. STA $B9, s9 a4 g; Z8 j& _# y" T0 k
  332. PLA
    ) t/ m! V4 l4 i' x
  333. STA $BA
    8 Q0 a3 H8 {% y. W' I
  334. PLA4 U3 d2 Z! j4 b& W. E9 _
  335. STA $BB
    2 ]3 @5 P; l1 h# h9 ?0 }% D- d6 M
  336. PLA, i/ P5 L0 S- N) n* V# L# z
  337. STA $BC
    2 h4 C. j! h# @* G: P  l: ]
  338. PLA
    + m6 J$ _. e2 @6 _+ u
  339. STA $BD
    $ e3 R7 i' p. j4 a1 [- q% [. t
  340. CLRF:  @4 [1 m" a/ Z& G8 Z& ~5 e& L3 Y
  341. JSR FREE_PPU
    0 p$ p5 n" A) i8 i$ Q" C) x/ G- T' C
  342. RTS
    9 a8 D$ Y3 s  D- C% v
  343. ; D( T  N! X3 H4 [: p5 D

  344. & n# }# Y7 {* `* E. _+ r
  345. PPUWRITE:    ;PPU写回
    0 A& z: M3 ^3 ?, _$ G) D1 p3 b, m
  346. PLA& Q# h: y4 U% T
  347. TAY
    4 p  Y$ ]  S. H( O  h! G
  348. PLA8 l/ x) h) w4 F; D8 i& e
  349. TAX
    - c! U7 ^! y1 U! B- l
  350. PLA# P5 ?+ Z! W) z& R- L( r+ u( W
  351. LDA $25
    4 w+ \8 d+ D  K' E( T
  352. CMP #$00
    / S" `4 Q$ a/ N4 K+ |
  353. BEQ WP1
    8 k, p# w8 _- G, Q8 {
  354. LDA $25
    # L8 T/ [- _: {. O
  355. CMP #$01
    0 _8 G% C2 Q" X8 W% T  t( t) T
  356. BNE WRE+ M. _, \) p3 o8 c: c) d7 W% [3 Q
  357. LDA $F5,X
    2 r& C+ f% k: R, l
  358. AND #$EF
    - X$ r! O" O! l/ B
  359. BEQ WRE
    4 \: x# H, L6 e3 Q. K. V
  360. LDA #$004 {1 D2 c8 H0 D' ^" g3 J, q
  361. STA $7FA0
    * s  v+ T/ Y4 ?+ Y/ W+ x0 H; Y

  362. ' x' X* M# w2 M( R- e  N
  363. WRE:
    4 z# ^) A6 n9 _/ v1 |
  364. RTS' j$ L0 o( V( W0 |9 w* }6 h  o
  365. 3 s! v( t2 @: E7 B
  366. WP1:' ]+ }) {1 t' l; b. \$ _
  367. LDA $7FFF
    , Z" q# T3 M3 e6 N7 H7 h; `3 P
  368. CMP #$FF
    + z5 w0 u1 @( f" e2 ?: F. ^
  369. BNE WRE
    8 J% P  O" N1 ?# s
  370. LDA #$00% g/ N* K7 q+ q3 d
  371. STA $2001" |1 G; f! a! X1 _* B! D& D
  372. LDA $BD* A( v7 c/ H  m. Q3 N
  373. PHA  W8 t' l; V5 n% E2 f( X
  374. LDA $BC
    ) X6 t' J& v4 r' ?1 A
  375. PHA: f) g) D* C" p! ^$ R) a  |+ }
  376. LDA $BB
    ' F% [4 V) a- V# X, m  b
  377. PHA5 \4 V, H! o0 u1 ?
  378. LDA $BA- _! j) x9 H+ l3 Z8 _
  379. PHA
    : u( _6 D- o) F0 a
  380. LDA $B9
    ( r. ]6 Q' x% ~7 z0 D* [1 Y
  381. PHA
    7 `% M& }; K% W6 E# b
  382. LDA $B8
    - ^9 F* s- T: J- y. D  c
  383. PHA
    : e. z' i$ }. A! L# z
  384. LDA #$00+ h- d% Y% ^7 l/ |& L
  385. STA $B8
    : w' A/ ~: c( F5 \& U
  386. STA $B9
    ' N- Q. K: }( g" ~! \: ~' f& }
  387. STA $BA# [+ }$ t% G. F  l; z- x
  388. STA $BB
    6 g$ }; F: f9 v
  389. STA $BC; \3 ~% e1 E+ b6 x: H4 s
  390. STA $BD# Z  \5 H  p/ p" R: T% }' j2 a
  391. LDA #$00
    & C$ W6 O# Z+ ?& K0 e. ~
  392. STA $7FFF3 W& Q; q, u+ D

  393. 8 I/ h+ D+ j# a
  394. WL0:5 L6 W! W) h# m# C
  395. LDX #$00* n7 n4 b4 E3 K) ~. z% {, t
  396. LDY #$00
    , D: I9 G8 F! [( ~4 r/ R, Q! T
  397. LDA #$00
    8 A: u( O! M  K  _2 R2 E
  398. STA $BA" L9 b, Y4 P( C7 a6 T0 W1 @3 I. ^0 G0 l
  399. LDA #$201 E, U# H5 t* i$ u
  400. STA $BB
    ; n6 s2 p' Y, n. p" V2 M' Y7 G
  401. LDA #$002 v8 F- P! f1 `( P2 k
  402. STA $BC
    " g, N8 W. f& o6 H
  403. LDA #$604 S; `2 Z5 y( l1 S
  404. STA $BD) [) M6 U! t6 w% p$ `- t, G
  405. 2 d: R+ R/ j1 F4 y1 `# v8 l
  406. WL1:6 L& o9 ^5 a' Z  Y* s
  407. LDA $BD6 ?$ L: |: ]5 ^. u( Q% _. e
  408. CMP #$68* G9 K7 Z6 K3 m8 v% ^% m+ ]
  409. BNE WL2  b3 }* Y: E8 T! _7 W
  410. LDA $BC
    5 }6 O! {9 S# i( B! t2 p& r
  411. CMP #$00
    " Q  ?5 x9 G  g, ?; j
  412. BEQ WLR) }- O) \, S: d9 a% `3 f( ^+ C! t

  413. : Z/ ^6 }' z$ \8 q  k2 K& M
  414. WL2:
    9 b( A. Y  ^  x- [, n
  415. LDA $BD( f' j; A, ^" g4 t
  416. STA $2006# j# q* d9 ^- N5 y2 D# {0 M# V* q" s
  417. LDA $BC3 ^* _9 z! @/ a
  418. STA $2006) t$ Q0 f# }' y) }
  419. . w0 F! O, Q7 B# _0 M: K
  420. WL3:
    4 K$ \) t1 }3 w0 h* i& ]' N2 J
  421. LDA ($BC),Y: [6 E, D: |' y+ W% X* N
  422. STA $2007
    1 ^( u) r, Q" `+ i' Y
  423. / R( i4 y5 I# m, L0 u; C
  424. WL4:
    6 W& \) F: J. E+ O6 m
  425. LDA #$00
    ' `3 A. O0 i3 ]0 J# ^$ W# a
  426. STA $2000
    ( S$ \  k6 f8 ^! H3 z
  427. INX: c- _9 V. R% J4 B
  428. INC $BA* ?- I3 E8 D; C  f/ T" g  k. S
  429. INC $BC' d8 A. A  F9 T3 m2 M
  430. CPX #$004 P" H; B9 x6 j
  431. BNE WL1
    ! z5 Q3 h# O. f: W; v
  432. INC $BB. \; W) r9 Z8 y5 C+ K8 ?
  433. INC $BD/ p# B6 i$ a) `& F5 I( q
  434. JMP WL1, Q& W) a( o! ]# o
  435. 9 t1 F' o! K" Y: t) c$ D$ p3 D" v
  436. WLR:1 }; B5 w7 S8 a+ c! f
  437. LDX #$001 ~  e3 Z, e" @
  438. COPY_7F00_7F3F:. r1 W2 x& i. j" v' ?
  439. LDA $7F00,X" `4 b- {- ]+ K+ P) U: ~9 }
  440. STA $07C0,X6 X) w0 A& o! R5 c
  441. INX
      [( Y( P" G2 W4 I; z+ w
  442. CPX #$40; K! y0 e  I& o" L4 \( _
  443. BCC COPY_7F00_7F3F5 Y4 q' H8 t3 E1 v% r* `

  444. : Z7 m: T& u) y7 s. c  j, a1 Q
  445. LDX #$00& V0 w4 m) `+ V. X* S
  446. LDA #$3F
    5 J* B6 ^1 W2 H- S! Y/ g
  447. STA $2006
    ( B. J" k5 C5 r# o5 _" H
  448. LDA #$00
    4 j& x8 f) S: }) m; l
  449. STA $20068 x  d( G. a" i6 d0 B' g
  450. COPY_7F00_7F10:9 q  d# r( x* z+ u
  451. LDA $7C0,X+ D0 t8 ?; \/ u
  452. STA $2007( W* [$ M) l) I1 ~6 J
  453. INX: m, J3 Y4 j' Y  \  [
  454. CPX #$10, Q# L( P: d. R, v& ~; Q1 a$ c
  455. BCC COPY_7F00_7F10
    ( U, _& h- ~! ]- m

  456. 3 p; T# f9 m9 N- G; B) h
  457. LDA $20026 B& c0 a% k5 E
  458. LDA $FD
    ! k$ i( d  `) y  S
  459. STA $2005. ^# A% D: N7 X& {3 e! R$ I
  460. LDA $FC2 [4 j+ F: e) V+ F
  461. STA $20056 q. Q, |( Z* z* a# O% O1 n) u" y
  462. ) d- s# C2 {* w9 c' I3 W" [, H" x
  463. LDA $7F50
    ) X" g' w$ ^! O3 A. s: x7 p, W
  464. STA $FE3 i( ?$ m) q5 \  J
  465. LDA #$00  O+ F! b! u5 ^# d3 \" S8 {( Y; `3 i
  466. STA $2000
    / S9 y, D) [" M6 O# h
  467. PLA+ _: O+ C& m" _. G1 E
  468. STA $B83 J# g+ P6 R9 P  t# v# w! q0 ~
  469. PLA
    . o; O& B( A8 m, d4 n8 G% a
  470. STA $B9% {  D3 ]- m  r4 ]: v
  471. PLA
    ) a+ w" E7 H; ]! C8 j
  472. STA $BA% U, e) j; u3 v3 }6 _( q
  473. PLA
    ! S/ u" @; e8 P+ k! x  W
  474. STA $BB/ |" D& z* J: ]/ S5 p8 l
  475. PLA% L0 G4 T, B2 K  q. j
  476. STA $BC
    2 ^( g- s8 l( L! N
  477. PLA; [8 c% g0 n/ A. |) H; F4 [
  478. STA $BD, G& o1 o& P  {6 A

  479. , ?% C0 y' n) H7 V4 `
  480. RTS
    2 p2 X+ }; o* }$ U

  481. - Z! m) q: r+ t; n
  482. PPU_CMP:
    0 C6 ?  c( n3 P/ `( \2 N2 v
  483. , a  S( i% _9 w( Y5 m
  484. " G1 B' y- @2 p
  485. PPURE:
    . J# k9 l" {5 R  D2 F+ h  w
  486. RTS
    6 X7 h3 T5 ~% S2 `. G. v

  487. , G/ P1 M" v5 `' G* _( f

  488. & w5 g' Z$ \: ~8 H9 n" X6 A8 }3 ]
  489. FREE_PPU:* z; D7 e3 g5 q6 o" u% p3 t

  490. ) y) e  \# _: }* D
  491. JSR TEXT01_PPU4 T+ ]# U& I+ f
  492. JSR $CBC0% j9 d0 g% `) W
  493. JSR P1_PPU: c6 {2 W* i2 t. @* S' l
  494. JSR P2_PPU
    3 H9 V* w: \( `$ {8 T, M  t# p9 d
  495. RTS1 z: @" v1 b! ?. J- d
  496. * y6 W- @: m; y% k, f
  497. TEXT01_ADDR:. J7 u' Q% D' z! G) j0 ~
  498. .BYTE $20,$42% a! A8 A1 l( f
  499. TEXT01_DATA:8 t, G9 Z+ g1 {3 I
  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: E  _+ o0 x* y: y
  501. TEXT01_PPU2 ~# b  T1 c: O% H& B
  502. LDX #$00# w% l/ z" {4 H: n6 R
  503. LDA TEXT01_ADDR2 `# ]! Z) c+ L2 [
  504. STA $0703
    % C; C# b* v! ]7 w4 }: T/ U
  505. INX
    / K. r1 l* P4 C$ g4 F
  506. LDA TEXT01_ADDR,X' ]* A* [+ y7 D0 g  `
  507. STA $0704( s  F( Z4 \8 v
  508. JSR PPU_PROCESS
    # K4 O. O. D. }: J
  509. TEXT01_W:. m1 v- e% h  f& Y" }
  510. LDA TEXT01_DATA,X  F( j: }' X) g7 C8 j( y# Q0 f- |
  511. CMP #CEND
    * B3 f! G( G& _
  512. BEQ TEXT01_START
    , L) ]" @8 v! g$ g  `
  513. STA $0705,X- L3 M2 o/ m% n% L1 ], a
  514. INX/ @! ~2 H3 W9 p
  515. LDA #$00
    1 O0 \3 K! |% j* }" g
  516. BEQ TEXT01_W
    - L) A- @' j/ f- g. o& ^, |2 ^
  517. TEXT01_START:  q: [5 U4 i  j3 w5 d& ?
  518. JSR PPU_START7 |* R" I# }1 c! V/ e' m3 c! c
  519. RTS
    ! k' D! d$ e, Q& _8 W- {

  520. $ `& \) X% z1 ]3 z2 b1 O

  521. ( {% y$ _/ @# s/ S' s$ _6 d
  522. COLOR_DATA:
    # Q. z$ {" i' C- |
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$281 k* t8 \; B, v7 W. ~, t

  524. * D# _$ H2 x* x5 L8 @7 G8 |' L$ B; I
  525. P1_PPU:
    5 {' P% v4 k  ~
  526. JSR PLAYER_01_PPU8 g; U( A: |. k$ [$ @% f& M0 `
  527. JSR $CBC07 k' i5 S, I) ^$ [; |% e
  528. JSR RELIFE_P1_PPU
    8 O% }& J5 U2 c$ `% u, K4 U) ^) f
  529. JSR $CBC0
    9 r. P. ~( c3 k
  530. JSR RELIFE_NUMBER_P1_PPU
    4 R( U3 j" x( P# W3 I* g
  531. JSR $CBC0
    . z0 D4 k- \2 {! S1 R
  532. JSR WEAPON_P1_PPU( h+ D5 C* |4 `7 h% j/ r: d
  533. JSR $CBC0
    ' k% ?2 V* X' a9 O* H
  534. JSR BULLETPPU_P1_PPU# B4 V3 i4 y# {3 \  P
  535. JSR $CBC03 y  I+ q7 Z# }# f4 w
  536. RTS
    " P& R0 i# J2 N6 s

  537. 2 d2 b. n! x: r/ T1 X: M; {
  538. P2_PPU:
    4 E4 V9 ]1 o0 I6 a, W- h* r3 c
  539. JSR PLAYER_02_PPU6 Q5 B( s9 {1 k! L# g
  540. JSR $CBC0* v" F- W8 P3 a2 X
  541. JSR RELIFE_P2_PPU7 Z& r' J! n6 f7 _1 u( W" q; Y
  542. JSR $CBC0
    - i  g# d; P( F& n
  543. JSR RELIFE_NUMBER_P2_PPU
    - B( {8 J' Y3 Q* D% r) Z
  544. JSR $CBC09 A9 g+ j8 i0 e& P6 F' v
  545. JSR WEAPON_P2_PPU
    # X, Y/ K! r) y4 F
  546. JSR $CBC0
    $ c  ^$ O/ X9 f) u
  547. JSR BULLETPPU_P2_PPU
    2 p& q  ^$ y1 E/ _: x( @3 K
  548. JSR $CBC0% f$ h. `, V* A, {
  549. RTS
    6 d) c' n, r3 h8 B, k0 d  i6 p
  550. 6 \/ w! d( [% D- V) h1 _

  551. ( g. p+ _* ^  [9 d  v

  552.   l; p5 W' V* x. q
  553. PLAYER_01_ADDR:; L; T* \( H7 c0 g) ?- L
  554. .BYTE $20,$A38 p$ r  {# V2 q3 G1 Y* n( W7 H
  555. PLAYER_01_DATA:( x/ O' f6 ^1 k) H/ E
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    2 W! A2 F+ J4 q% q( S% A, g
  557. PLAYER_01_PPU:; H% o& ^& u  i
  558. LDX #$002 |( I) E' f$ K5 j6 @3 \/ t# E$ ?% K
  559. LDA PLAYER_01_ADDR5 C! h5 F$ I% f
  560. STA $0703
    5 g) z/ _' Y. Q# k* F- C
  561. INX, u& B7 e4 g0 J/ c/ M% [' v" r) ^
  562. LDA PLAYER_01_ADDR,X
    , L+ y  _- C0 m/ [/ I  A- D6 A& y$ b/ S
  563. STA $0704
    % x, j+ T$ X0 N" |- P+ T% ?
  564. JSR PPU_PROCESS
    3 a/ v" w4 |( D& I& Y5 i" t
  565. PLAYER_01_W:
    # o% n$ I& k3 w( ?# Q
  566. LDA PLAYER_01_DATA,X
    # e3 T  ?4 f! R% I7 [. r
  567. CMP #CEND- p- E9 p- N6 R/ k6 s1 U( d7 J
  568. BEQ PLAYER_01_START' Z; h; J6 o  m; V
  569. STA $0705,X; ^0 z* D- h( D; x: E
  570. INX$ r) c8 i- C# A) l, R: e
  571. LDA #$00* d+ u9 {1 h7 B  k% `
  572. BEQ PLAYER_01_W
    ' [$ r) s) ~% M) \9 t. t) d9 C, b
  573. PLAYER_01_START:! A8 ?) F) @4 ]; ^
  574. JSR PPU_START6 E" L+ ^( m% ?: x# [
  575. RTS1 \- t' k+ V$ }
  576. # _" t3 e) A6 D8 n! W  ?& ?" a
  577. ( p; c- K0 n( k1 |' ^
  578. RELIFE_P1_ADDR:- @7 k; B% W0 _' J
  579. .BYTE $20,$E38 s  j: u& P1 }5 a! V6 c
  580. RELIFE_P1_DATA:
    + j/ W3 u4 }* K2 X; u* Q; E4 I
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND) O' r/ D* x. ?) V9 f$ z7 {1 q
  582. RELIFE_P1_PPU:
    1 \& u- C: G: r+ U
  583. LDX #$00
    : i& F# i$ H4 d3 c
  584. LDA RELIFE_P1_ADDR' i9 n# v2 U6 [/ C' L# d* A
  585. STA $0703
    + j- s! J3 @8 O$ J
  586. INX
    ( D$ H& {, V6 x% a: R& w1 A$ R/ h
  587. LDA RELIFE_P1_ADDR,X
    : Y! X6 q+ ^  t1 Q2 H6 v2 l# J
  588. STA $0704( h9 m6 ?# R6 K! K
  589. JSR PPU_PROCESS
    " e& g/ c$ W0 B. Y$ q. x5 D8 \
  590. RELIFE_P1_W:
    $ H& N8 ]- H, X# I( Y$ ^5 R& x5 U
  591. LDA RELIFE_P1_DATA,X3 B+ w# `. _2 Z7 x7 g8 S+ [
  592. CMP #CEND$ Q- K8 j" ~7 X9 O3 O' A# d
  593. BEQ RELIFE_P1_START  |" \: o) \9 B4 w* j
  594. STA $0705,X
    0 @. _+ W1 k- x8 d# E# L! T5 a; v- J
  595. INX
    3 e8 k# ~" n) K9 \
  596. LDA #$00
    5 r+ h/ H  ]" P9 W* G/ `  P
  597. BEQ RELIFE_P1_W( `) J# Y2 ^7 t
  598. RELIFE_P1_START:
    . C9 D6 s+ ?3 p1 P1 q
  599. JSR PPU_START
    # T2 L( i( y: k$ q, `. R$ N/ l( }
  600. RTS$ g$ n1 d; L: p/ Z+ v/ [
  601. * {# U) K# M1 C& w# K7 D

  602. 5 t2 X; t5 n5 o( ~/ R
  603. RELIFE_NUMBER_P1_ADDR:
    & p" O8 X, h& W0 {0 ]  l# i
  604. .BYTE $20,$EA8 _! G7 y$ S6 B0 M
  605. RELIFE_NUMBER_P1_PPU:. d  K( p# S  h( Z
  606. LDX #$00
    ; e6 `2 }2 f* m( Y+ Q9 x; ?& n
  607. LDA RELIFE_NUMBER_P1_ADDR
    # a. y9 r2 G! P
  608. STA $0703
    1 a: q, L& P; H2 ?$ X
  609. INX
    + n1 B, c  a0 R( \5 c
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    5 B: h$ C$ R6 x( f
  611. STA $0704
    9 \3 m( @- i! y8 A( v- E, M7 ]1 J
  612. JSR PPU_PROCESS% k$ W- N/ y' |4 _
  613. LDA $32
    " ]3 i: v  \& w
  614. JSR LIFETODEC
    6 I; i5 e) `2 B# L1 {
  615. RELIFE_NUMBER_P1_W:6 g5 r! x% x9 ?$ Q# A2 {
  616. LDA $7A03
    * p$ A8 s) k$ W+ G: L( |; [8 ~
  617. STA $0705
    - p6 E: ~7 J, B% b; u5 P9 h
  618. INC $0705; T- i! _# p! p: s
  619. LDA $7A04: N0 `" v9 s9 h% d- t# K4 @
  620. STA $0706
    9 s# ~! K( F, z) `$ h1 a
  621. INC $0706# W2 b4 D$ M/ s, O
  622. LDA $7A05
    : u6 p, }- s% t1 u( e: {3 k
  623. STA $0707
    , Z: v1 j+ s+ K8 p8 N& B
  624. INC $0707, p- }- s8 o. l& i0 O9 O8 U
  625. LDX #$03
    * U6 c9 ~4 O! D% [4 q- `7 f
  626. RELIFE_NUMBER_P1_START:
    % z: b6 J7 U1 v6 j' t: u" A# N; L
  627. JSR PPU_START$ a) s: u' y- G6 q- N
  628. RTS6 E/ x. K% X/ c1 o
  629. ' a! z8 K" a7 F+ \( [+ A- b* M
  630. WEAPON_P1_ADDR:& E; B  n( {0 s- ]  ~
  631. .BYTE $21,$23% g, ^' t- n( n, L7 v: k
  632. WEAPON_P1_DATA:
    & w. q! ]0 y+ k6 _$ O4 p
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    # ~" Z( _1 J5 P# l% {$ G
  634. WEAPON_P1_PPU:
    7 r7 S( u1 Q2 ?9 _9 t
  635. LDX #$00" p: J) \) z1 x* g5 v% G
  636. LDA WEAPON_P1_ADDR$ S7 A( t* X; a. x& o
  637. STA $0703
    2 Y, C' h8 r  x8 ?$ [4 m
  638. INX
    , w1 L5 s* R: v0 W4 X( G" s
  639. LDA WEAPON_P1_ADDR,X" g  @: @2 Q4 z- d9 g
  640. STA $0704
    , y: z' W$ T% n8 b1 F# d
  641. JSR PPU_PROCESS
    $ K* y9 Z8 Y7 k+ h- Q3 N2 J
  642. WEAPON_P1_W:
    # m. E3 n" Q4 f* A9 t4 i0 Q
  643. LDA WEAPON_P1_DATA,X
    ' [/ p1 `  u) o$ d' g6 q# w
  644. CMP #CEND  A7 c: s3 z4 k8 S) F7 M' C
  645. BEQ WEAPON_P1_START* k0 X4 a  D( c
  646. STA $0705,X
    ' s! @9 U; `) h
  647. INX2 Z5 }3 U7 n: Z9 H+ v$ ~
  648. LDA #$00
    * }  b0 x. q: B4 `( `
  649. BEQ WEAPON_P1_W
    6 M" e" r+ x: w! k4 g2 q
  650. WEAPON_P1_START:$ j/ Y: t  @/ r
  651. JSR PPU_START
    - R2 X8 @7 `/ {* K5 f
  652. RTS
    * O7 D! ~! G8 Z& R3 j& F7 O# K, n

  653. 0 Z4 D* d* g# \7 Z! |& d8 @" T9 w# C
  654. BULLET_P1_ADDR:$ d# g- N! n. D4 ?8 L
  655. .BYTE $21,$2A! C- y, ]& N) \! O7 n
  656. BULLET_P1_DATA:( Y, Y+ k9 ^' z% J
  657. .BYTE $00,$01,$02,$03,$04
    1 y$ u, O" v% e; j- f% L6 M
  658. BULLET_P1_NAME:) ?% m4 d1 I! S, _' X9 l
  659. .BYTE CN,CM,CF,CS,CL
    / o" \+ b1 S7 x* z! j$ P; ~$ F' U% E

  660. " ?" f4 `) D2 {7 X
  661. BULLETPPU_P1_PPU:
    " e3 s, f! y8 b1 T
  662. LDX #$00
    # i! p1 {1 p+ `7 q' d* q
  663. LDA BULLET_P1_ADDR
    8 h1 P. A  z2 X! X$ I) P" I- N
  664. STA $0703+ Z# U- }+ ]; P0 Z4 L
  665. INX+ N; r' M9 P0 _4 [5 a
  666. LDA BULLET_P1_ADDR,X
    ; Z/ l* i$ A( m6 T# _+ Y( E  g/ S# }
  667. STA $0704  o0 o( D" v7 M+ l4 B1 c
  668. JSR PPU_PROCESS
    8 {! j  c% V3 G" K
  669. BULLET_P1_WRITE:
    " x) Z' ~+ u+ K  s! k
  670. LDX #$00
    7 u4 A5 s2 q1 N1 T, ^: }9 d
  671. LDA $AA4 U* V1 o$ c% n& [* Q5 U7 T' E
  672. AND #$10
    $ C1 I  T3 h+ ~$ n2 i- F5 {
  673. BEQ C_BULLET_P11 d# h+ ~/ Z/ [/ c% h
  674. LDA #CS6 x  {- G) X3 U
  675. STA $0705
    ( ?3 U* b5 a* P; a. ?
  676. BNE B_NAME_P17 F5 [* b* I. e) G. S1 X0 h( ^
  677. C_BULLET_P1:
    % Q9 x6 v! F1 m+ |/ v. ~
  678. LDA #CC: E/ E* |" ]' I& D2 V
  679. STA $0705
    0 H9 v9 t& X! [7 r
  680. B_NAME_P1:* w: }) q& e0 H" X: g
  681. LDA $AA5 k) Q  j# m/ L) m, A
  682. AND #$0F/ k+ Z0 b  Y: k
  683. CMP BULLET_P1_DATA,X
    0 S$ P6 k# ^# |3 C
  684. BNE B_NAME_P1_RECMP
    - O8 g8 R& \$ E' M6 E. O% b' U
  685. LDA BULLET_P1_NAME,X4 m" S+ k5 z, M9 a( M0 J0 ?6 v
  686. STA $0706
    : P3 H" p9 s3 c# h
  687. B_NAME_P1_RECMP! E! y; M( B  T# i
  688. INX
    + `8 I% \" a# K9 q% f* a
  689. CPX #$05, }( {( H8 m# p; l
  690. BCC B_NAME_P1
    6 M( [  t5 w% Q* `" J3 P
  691. LDX #$02
    4 b& a% k" ~4 |9 U4 }
  692. JSR PPU_START7 g/ L+ M# q) H% A% G% Z9 Z
  693. RTS, e& E. |" m0 w3 K1 b

  694. ( U3 w( R" ~  e2 R$ K) C& ~

  695. 5 l% k) r# Y) b& r( Y! x
  696. PLAYER_02_ADDR:- B$ H9 q3 x) D! z1 C
  697. .BYTE $20,$B3
    ) z- T1 P. z* V* k
  698. PLAYER_02_DATA:
    1 _8 M# r% i, p- _
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    : t4 w2 U% p, l% Q) `1 [  j
  700. PLAYER_02_PPU:% T9 Z* S9 T* {% Q+ O- _
  701. LDX #$00' b3 C4 A# N5 N& M  i4 E1 d+ C
  702. LDA PLAYER_02_ADDR4 R" o/ M' O$ B/ _" o
  703. STA $0703
    / Q2 s* N' c3 k4 M% r  X
  704. INX8 ?# a* O5 V! j9 c! J  E3 c
  705. LDA PLAYER_02_ADDR,X8 M' A9 {* X: Q4 X. A: n, M9 q/ r
  706. STA $0704  j- {$ s# @; i6 H
  707. JSR PPU_PROCESS
    / _4 Q; b% l: O9 l$ K- P
  708. PLAYER_02_W:2 L( }2 w" `, w- m2 K6 z; Z6 ?' p( s( [
  709. LDA PLAYER_02_DATA,X; U$ z3 B% |2 `% j
  710. CMP #CEND6 b: z. M3 w) ?, C
  711. BEQ PLAYER_02_START) B2 _+ G9 R, s# ?# d
  712. STA $0705,X, Y( w2 q* X% S3 @
  713. INX1 I$ A4 t0 K( `. |8 e
  714. LDA #$003 N5 G6 W  j6 d5 x
  715. BEQ PLAYER_02_W; X) U8 A' _/ G: T. i
  716. PLAYER_02_START:  m  C2 X; n. ^: a8 ~
  717. JSR PPU_START3 W4 i7 x8 H0 D
  718. RTS
    ! Q* g' B1 `/ \9 w/ j3 \

  719. & T8 ^# F6 i1 P4 G- L

  720. % ^- J% A* E: X5 `, E/ X. V
  721. RELIFE_P2_ADDR:' j$ z6 H4 z. P; [% l
  722. .BYTE $20,$F3
    8 g+ V5 t0 H% k4 i' k
  723. RELIFE_P2_DATA:& L6 i" \/ R" U2 x& e7 T
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    2 a/ u! ]; ?0 x' w: ?2 `
  725. RELIFE_P2_PPU:
    6 ]1 Z4 X- D3 c5 A
  726. LDX #$00
    ( s: o; `8 i- F) C$ b* ^7 k
  727. LDA RELIFE_P2_ADDR; R2 H( C8 p$ H( n
  728. STA $0703+ T: \- y% `& y; r$ T* L. j8 V" N
  729. INX
    ) \$ _! P! |: \  p$ x
  730. LDA RELIFE_P2_ADDR,X5 D1 r% d. T4 v' C. C7 ^, ~# s# H: B
  731. STA $07049 S( k1 b# i, z# m- j* `
  732. JSR PPU_PROCESS
    2 c- f2 c) O4 q' \4 [
  733. RELIFE_P2_W:
    9 r$ \) Z( M: M) I6 g) R" y4 Y
  734. LDA RELIFE_P2_DATA,X
    1 X* S2 V8 M! J( v5 w2 J! Y4 [
  735. CMP #CEND! c/ n8 H! \8 Y" I7 A7 G
  736. BEQ RELIFE_P2_START
    $ o' L  h6 w- L6 a7 n
  737. STA $0705,X
    ( m4 w) e3 w( [2 i- |6 q" U8 `
  738. INX5 k: {8 Z' ]! ]3 N. ~& }( s
  739. LDA #$001 H. p& x1 ^# d3 Z9 s* U* p& X$ a
  740. BEQ RELIFE_P2_W/ y- o2 S4 j9 }* i
  741. RELIFE_P2_START:7 @5 w4 Q( M1 o6 t
  742. JSR PPU_START
    ; @1 B; m" X4 o0 |/ c& l
  743. RTS% s  m7 _/ S( j6 e8 Y/ w

  744. 1 {! k- n9 Q; `

  745. ' ^' J2 l$ J; R
  746. RELIFE_NUMBER_P2_ADDR:. b0 w8 V4 `: o1 q9 j2 m1 S0 X: h0 }
  747. .BYTE $20,$FA
    , V5 X& _8 A$ z, R  V' J
  748. RELIFE_NUMBER_P2_PPU:8 R5 V. \% ]& v7 X/ d' U% H
  749. LDX #$00( P* N) G; T$ s3 F7 V
  750. LDA RELIFE_NUMBER_P2_ADDR+ A0 g8 Q, L+ D4 g
  751. STA $0703' L) A* h9 p& G& D! B
  752. INX
    ' Q! _) I1 u" j+ }
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    & u% R6 L; {. o1 \/ A
  754. STA $0704$ d' ~/ v$ S3 R) F% h' k$ X" W; Y+ C
  755. JSR PPU_PROCESS
    ; A  g) ~' w6 e; W, ?  I! p" U
  756. LDA $33
    6 b7 ?1 i8 i- J- D
  757. JSR LIFETODEC5 d2 U5 ?) F  R5 f% T& e4 |5 o) h7 h
  758. RELIFE_NUMBER_P2_W:
    + Q8 f' K* v% g7 G
  759. LDA $7A03/ z8 d) @' y; J2 S
  760. STA $0705
    6 p$ f$ y: H# D+ w- Z
  761. INC $0705  H+ y* M4 V. S& }% v8 w: R/ b+ }* P
  762. LDA $7A04
    5 b. t$ r6 Q& m
  763. STA $0706
    3 y8 t4 W+ Q5 w0 Q+ D  Q8 x
  764. INC $0706" x8 r  q& p! p* `
  765. LDA $7A05
    * J8 r# s' ]/ C# n) h: C. u
  766. STA $0707
    6 `$ x0 J* v0 P9 S' n, u( N
  767. INC $0707
    ! m9 }7 I  M/ m- z
  768. LDX #$03
    5 w; C: Z; r, L
  769. RELIFE_NUMBER_P2_START:
    4 X% R3 i  ]2 x+ P- |
  770. JSR PPU_START
    1 C% }; }7 C9 T! U1 k8 E
  771. RTS
    % M$ ^; Z% J- w. |) b
  772. - Q+ x3 D0 ?& ]5 G% Z4 ~3 k
  773. WEAPON_P2_ADDR:
    - ?; j  P) L8 @; O5 S6 _* J
  774. .BYTE $21,$333 E* F1 ]' p/ a( B5 T- T
  775. WEAPON_P2_DATA:
    7 e" p, `; [2 f/ A; H# f7 @
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    ; l$ }4 }5 j4 Y) y
  777. WEAPON_P2_PPU:1 N5 o( C! C! v3 |1 u
  778. LDX #$00+ K0 s# r% p; ^2 [) [5 T
  779. LDA WEAPON_P2_ADDR
    9 n" B# D9 h; E8 \4 i$ |! i' j1 w
  780. STA $0703
      I* e. p9 C( C& X
  781. INX
      `3 v# ]1 G7 w, I8 |; X
  782. LDA WEAPON_P2_ADDR,X: G1 R% _* ]! S5 W- g) @
  783. STA $0704$ D+ t. u2 Q5 t. W! B4 Z7 _0 ~# A
  784. JSR PPU_PROCESS
    # d) B9 t- _+ M) o7 M2 E& Y
  785. WEAPON_P2_W:5 ~0 P0 w" p( s. B! v# p. _
  786. LDA WEAPON_P2_DATA,X
    , O1 S7 {8 p% Q1 r
  787. CMP #CEND! l" p! [9 H- J
  788. BEQ WEAPON_P2_START
    , y$ ~0 B+ k7 ?1 o& E) B
  789. STA $0705,X
    7 n5 n) q+ m) |) W& a, f# H8 B
  790. INX7 V  E' M- p% a. U: O( a4 M
  791. LDA #$00
    ; i! J$ R7 q3 S4 Z: l4 k* [
  792. BEQ WEAPON_P2_W! a( k1 F1 _5 F) {
  793. WEAPON_P2_START:" R- X7 K* ]# H1 B, i* X& g* T+ D/ z
  794. JSR PPU_START1 Y$ j" Q/ k4 W. y  N, r! e  z
  795. RTS0 W$ b# v2 u, g, B/ E

  796. + A( m/ d: N6 O9 `. K
  797. BULLET_P2_ADDR:
    3 @& I8 o2 V2 m( k% O+ L# U
  798. .BYTE $21,$3A
    + |" X4 f. q2 j- R/ [; D! S; s
  799. BULLET_P2_DATA:* h) _' n* S( M; P$ X
  800. .BYTE $00,$01,$02,$03,$04
    3 F4 N7 @8 Y3 Y3 ]4 B2 E
  801. BULLET_P2_NAME:
    8 E8 n7 F8 S9 k3 W  y3 ^# f1 l
  802. .BYTE CN,CM,CF,CS,CL, G; S3 X+ M8 J2 }; ?

  803. ' H/ j4 h6 c3 a6 N6 Z
  804. BULLETPPU_P2_PPU:
    ; w6 N& D/ {; r, o
  805. LDX #$00! P! @/ n4 |% V. k! K$ l
  806. LDA BULLET_P2_ADDR: }$ {* A  o: L, Q- N5 D
  807. STA $0703
    & S3 t' e$ M  |8 t% V/ a3 R. a
  808. INX
    * Z5 G9 Q9 r" b5 @' Q2 k
  809. LDA BULLET_P2_ADDR,X; A9 z6 R" N( G+ E
  810. STA $0704
    ' z8 v. y4 W3 b5 a! B
  811. JSR PPU_PROCESS
    2 _; w- Z4 G+ W+ z
  812. BULLET_P2_WRITE:
    $ Y& F" V* I1 _3 g6 L7 w  b6 Y- d
  813. LDX #$00- K8 A: H. ]% K# F; I$ J$ l
  814. LDA $AA
    ! @" N) d0 A; O8 W
  815. AND #$109 n. T9 Y- n) @5 \; n: n
  816. BEQ C_BULLET_P2
    0 f/ c  L' C! K& l" u+ u( g
  817. LDA #CS2 d) `0 J& ^4 R" E
  818. STA $0705
    , |1 D1 _$ o% w" H
  819. BNE B_NAME_P27 Y' k. O1 d+ B  {3 M
  820. C_BULLET_P2:$ E& K- |& w3 ?% H: ?# U, t
  821. LDA #CC
    0 E2 I7 r2 c8 n
  822. STA $0705' e9 z. c0 @1 x, g; t% i7 x
  823. B_NAME_P2:8 ?% s1 i& i. _/ X% L4 v
  824. LDA $AB; u3 R' Z; g; r1 T0 [
  825. AND #$0F. U, h3 w; W& p8 ~6 X& ~& l$ x
  826. CMP BULLET_P2_DATA,X6 O2 W: r8 t9 E% V( u/ D
  827. BNE B_NAME_P2_RECMP/ ?$ b  ^5 g# h
  828. LDA BULLET_P2_NAME,X3 W% f& U) ?4 I' C  w# z! G( v) s
  829. STA $0706) e; c; S. g" @, m  H9 H
  830. B_NAME_P2_RECMP$ d& [! o9 \2 a+ q
  831. INX! B+ y) J- H0 F
  832. CPX #$05" Y6 X8 O3 c- B" P
  833. BCC B_NAME_P2
    $ U& ^0 w% U' [. e/ Q4 D0 l
  834. LDX #$02  @" W$ p3 ]. ]: E: V# w$ b
  835. JSR PPU_START7 f0 G/ u3 w, |
  836. RTS
    & T: f2 y; X2 {7 Y7 }
  837. * Z% ^% n" |. [8 H

  838. : g1 l# [6 ]) ^/ X6 m: `
  839. ; h0 m/ i2 Q, }' c$ S

  840. $ ]5 f: }9 k+ F# W9 E* T2 |
  841. ! }( H3 f! X" R
  842. : N2 S& {* f' `
  843. LIFETODEC:                ;十进制转换
    # I4 e0 \4 }% c9 Q) h
  844. LIFEL1:        ;initialise
    / t7 l$ o  r0 K0 o) s5 e$ j
  845. STA $7A00        ;$7A00=F3
    ! `' U6 `. |& {* q  B- k7 m+ L& {
  846. LDA #$00/ z, U2 n% I8 m7 }7 m
  847. STA $7A03        ;$7A03=00" _! C; A5 K4 \* B  ]
  848. STA $7A04        ;$7A04=00
    9 q2 s; F/ J+ @+ w$ d0 r# x0 n& W
  849. STA $7A05        ;$7A05=003 K+ d5 {7 R7 f9 a. L
  850. LIFEL2:        ;copy data $7A00 to 6001% W2 q- L4 _+ M
  851. LDA $7A00. ?* y2 _$ ]9 a. S1 k$ }7 U" Z
  852. STA $7A01" t& n% Y8 \+ r  G% ]; \' L
  853. ' g( k0 a, o" O+ K+ B3 w  D% d
  854. LIFEL3:         ;hundred$ r, r) Q) X1 b1 D9 ~) T5 n: p
  855. LDA $7A01) s4 D8 O+ g) N% c, P
  856. CMP #$642 C2 x0 W: [4 u; I' Y( S+ T
  857. BCC LIFEL6                ;$7A01<100 goto L69 S: Q8 }9 e3 F" ~2 z7 v$ ^
  858. LIFEL4:
    1 p  C6 J5 E9 I& N5 m. j! b0 ^
  859. LDA $7A01
    3 x8 _0 T( _2 h9 Q; O
  860. SEC
    0 b* y1 T( a% Q
  861. SBC #$64        ;$7A01=$7A01-100* R1 X8 h$ @% G1 m2 z
  862. STA $7A01& z5 q6 `5 F( W. z6 Q' Z
  863. INC $7A03        ;hundred++
    ! z6 b; b8 w3 `& N
  864. LIFEL5:  }9 N  i: J8 a
  865. LDA $7A01- |) y. B/ A( A8 S
  866. CMP #$642 z& N' E6 O( q1 y' Q
  867. BCS LIFEL4                ;$7A01>100 goto L4: ?# Q! n  U  T/ f3 M# r

  868. / B8 n, U  d' q+ {7 w
  869. LIFEL6:        ;decade" s6 ]: q' r/ i6 \( }  T1 i: l
  870. LDA $7A01
    % @+ F) \8 G# ]0 L  y; E/ w
  871. CMP #$0A
    / c. a% @! F6 ?% }$ ?4 q# k! W
  872. BCC LIFEL9                ;$7A01<10 goto L9
    : s/ X$ o& C- ?) x3 ~0 L
  873. LIFEL7:       
    * g: l( t3 R% M4 |; e; y
  874. LDA $7A01
    * P% `) d8 V7 X5 F  p) e
  875. SEC5 K6 c9 Y& Q7 c; u! h/ c, a0 m  L5 H/ t
  876. SBC #$0A% _1 P9 {, D2 v' _
  877. STA $7A01        ;$7A01=$7A01-10
    - T$ K, {+ O" O
  878. INC $7A04        ;decade++
    / Q# d: B' y; I, V1 A0 l1 j
  879. LIFEL8:2 P: @0 n0 [; I  k( ?' H/ q: K
  880. LDA $7A01
    1 ?6 A& Y, r6 u) W9 B6 ^
  881. CMP #$0A) i, L$ J3 U/ z, i. r+ s, [
  882. BCS LIFEL7                ;$7A01>10 goto L7* r6 o- i* {$ l6 c
  883. ;unit: `$ o% H8 z+ V% i
  884. LIFEL9:2 C6 M9 d0 ~4 M. h. C7 L& k8 i: Q) o
  885. LDA $7A01        ;$7A05=$7A01
    9 k; w' L& M; j' n- i& @7 m& R- z
  886. STA $7A05        ;unit
    & E% ]! T0 t3 h" X  w' @
  887. RTS        ;return! S' d( D/ m3 Q) I

  888. " g( B" j& I1 l1 P( h* U) i0 P
  889. ' h4 C; y- `" F  q

  890. * k, U9 J% k6 Y9 L
  891. PPU_PROCESS: ;PPU地址处理程序7 N2 H# \. ], m; V6 j1 V
  892. LDX #$00) R& |3 l$ ?& P4 U" N
  893. LDA $FF
    5 z  o* g$ D5 `7 y% s8 S: s
  894. AND #$01- p5 d$ z2 M) m, s3 o8 Y
  895. BNE PPU_2400_27C0% y' B+ E1 d) Z: V2 V) h) q
  896. PPU_2000_23C0: ;命名表1
    * l2 V! [; d' _+ `) N3 b5 Y
  897. LDA $0703
    4 O4 |; y3 m2 r# a; J/ Q
  898. AND #$FB
    , p, Q) e4 @6 ]7 V! P" T( h
  899. STA $0703& V- I' q5 l& ^5 s# r7 T4 G
  900. RTS
    8 s; l' b. m7 u$ f
  901. PPU_2400_27C0: ;命名表2
    / N& i4 X/ f+ G9 z$ U: h5 J
  902. LDA $0703$ T; |* j+ I# O6 W" e8 {* k2 v& ]
  903. ORA #$04
    * y9 p% i' b4 w" \, `7 |
  904. STA $07038 K% g$ M8 T7 Y; v- r
  905. RTS, q4 M) x/ g, c( ^, t  q. V
  906. ! l' U" M* l0 C
  907. PPU_START:  ;PPU数据写入
    3 S5 k) b3 H1 m. H; \" F- z3 e& E
  908. STA $21  }& j, O% l& A& \1 S5 a% C4 @
  909. STX $0701/ v& s/ Q4 K& q8 c
  910. LDA #$00
    ' [, `" h5 B; J
  911. STA $0705,X
    * P7 ?/ ^! p' R  ?/ @* \: e( I9 t
  912. LDA #$01
    & ], N$ L7 i& F
  913. STA $0700
    % S& ?7 O2 B2 c5 V
  914. STA $0702
    # J* R3 H8 ?4 c) D. C% G
  915. RTS
    , a8 s1 N; t; R5 q. {4 W: e  K1 x
  916. : y- g' q* v/ y

  917. 4 Z1 v) C1 q; I- `4 g1 p% @3 F2 W. ^
  918. - T! T3 _: M  \1 y; z2 K! w
  919. 5 p9 e; `* _1 m$ Z8 h% u3 q3 C* _+ d

  920. 0 B! k8 j# N- T% p8 j( j, C

  921. + N- j7 e8 g+ c, `& N+ B4 w
复制代码

+ f+ [9 k/ u7 s0 T/ B

本帖子中包含更多资源

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

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

签到天数: 2355 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!, I  C4 s0 u( Z) @! j" K

签到天数: 2581 天

[LV.Master]伴坛终老

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

签到天数: 26 天

[LV.4]偶尔看看III

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

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2017-2-16 22:58:37 | 显示全部楼层
看不懂啊。。。。。
[发帖际遇]: liujunbtx 发帖时在路边捡到 1 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-20 13:25 , Processed in 1.091797 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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