EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序4 Q$ K) Z8 [1 Z8 ?; N
  2. 作者:FlameCyclone8 b2 f& ]" i3 w* l& d! D. u  z% _
  3. 时间:2017.2.126 L% j. k8 ]7 I& C

  4. 7 p* k+ D3 E; k, Y' `5 _4 R4 P4 |( s
  5. 按键跳转:, W/ R& |% V, `/ m0 ~( m) W( j! i
  6.         C1EF:95 F5 94 F1
    ! L3 c' S1 j$ G. ?
  7.         C1EF:20 70 FB EA+ F+ w/ e7 M/ x6 B' x% f) Y2 E
  8. , B* ^% X7 ^  i: _9 n# j' p
  9. 滚动偏移:9 U: z( H; U, y' q3 s% p! }
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 205 S- Z+ r  ]* q1 f0 Y7 h
  11.         F936:20 C0 FB EA EA EA EA EA EA EA) ]. i2 H9 p- B9 V
  12. ; N/ V# x- b2 w3 Z
  13. 背景调色板:
    6 o. h" ]8 c0 f) ^" P
  14.         CF20:9D C0 07$ M$ v6 K9 F3 L* r. \9 `
  15.         CF20:20 A0 FB3 p3 I7 r6 ?+ E; n4 I/ n# n

  16. ( H; U/ P) k& L. ]  u0 U8 |& Q% x
  17. PPU BANK号:
    - q, y# j8 D* l' P9 W
  18.         C8C9:9D F4 07# P) ?( ?' v& i9 q
  19.         C8C9:20 B0 FB# I2 w, Y6 G: G8 f
  20. . ]2 f2 A; B/ K5 Z5 ?$ Y/ d: o
  21. 按键跳转:9 M5 g3 f; M& H) E" W
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20& G) O6 y$ t. F5 H
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    0 |* t3 |6 t" w# p$ a4 D" q! T: H$ l& q
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF9 _) |/ `8 k6 _

  25. 0 c0 N  I5 k1 `* J
  26. 背景调色板:$ s4 O2 c% O6 ~9 [' c6 v
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF: J0 n8 L8 j2 a3 ?
  28. + B: Z" g! W! g, k3 p+ R
  29. PPU BANK号:/ h2 N7 k7 P/ s: q" e$ \
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    5 K7 u5 v2 U8 s+ _, ~6 U6 q* E1 L7 r

  31. # I2 n# v( \6 ?: ^0 n
  32. 滚动偏移:
    $ A6 @$ t+ F& Y1 ^, e6 n+ O2 e
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60, g: {, S9 `) @: d0 Z
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    ! [$ F& d! L$ O* B3 j  z
  35. 2 b1 f) H8 }/ K; L/ S# ]8 Y
  36. 5 M$ |: O7 ?7 h2 L' S' F) c
  37. 切BANK后A000:
    # ~. n* f; E" s* V% _3 X0 i
  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
    9 \6 c: V1 [8 e  r

  39. 3 Z% r! ^3 s# f" Y$ ~7 h

  40. ) p  h2 s$ M- u! C. y4 i
  41. 6502 simulator:/ @! z7 r" Q; n8 t$ p
  42. PPU写入程序:
    # K, u. B4 O, {. a$ f
  43. .ORG $A000
    9 O" F5 J4 N) U5 d5 o$ x
  44. CSP = $80* Q0 v+ y: \  C5 H
  45. C0 = $81( K& i( Z. o$ S1 X  a! M
  46. C1 = $828 R8 ^/ A1 l. O2 I
  47. C2 = $83& e, p; @/ O( a4 ]/ _
  48. C3 = $84: p# Z5 `& w6 K2 x) o2 p3 s6 _3 P# z
  49. C4 = $85
    $ n/ Z" S" ~) Q
  50. C5 = $86
      Z  e& Q5 b# w$ ?$ ?8 W6 c
  51. C6 = $879 X2 N* w9 z& c$ d: e" Z
  52. C7 = $88* i: x0 K4 |# Y& k, i. a% ~
  53. C8 = $89
    3 o5 g; Q* |' B
  54. C9 = $8A/ {7 w2 O$ }) J; |7 s% }
  55. CA = $8B
    5 }9 u9 c8 Z% I  E
  56. CB = $8C0 n0 ?( f+ L8 W! _
  57. CC = $8D8 y# o2 v7 G% W- _1 _
  58. CD = $8E
    # A" c1 g% y) j9 i3 x
  59. CE = $8F
    6 L4 w0 L! d( a5 j7 b2 g- _
  60. CF = $90
    ! y0 j8 B9 |9 l* \
  61. CG = $911 ?( |/ U7 o1 j& c0 W3 ~
  62. CH = $92- e5 v; M5 ~3 H3 n' e+ L
  63. CI = $932 v' ^) C! |) A6 z" ~) c
  64. CJ = $94' C3 d1 B" |6 B5 K
  65. CK = $95
    8 g% i! _0 _7 s( h* ]
  66. CL = $96
    3 w9 S5 t! L8 y1 p# K- k
  67. CM = $97
    $ N9 v+ }9 g5 M1 a1 d
  68. CN = $98+ O$ _( r7 W4 u/ ?0 L6 m! i, c8 C( e; q
  69. CO = $99
    9 K& k8 D  c$ x( Y# b, M
  70. CP = $9A1 I! e9 c1 v) z' A9 q
  71. CQ = $9B
    2 d! A/ M. _/ a3 t3 S
  72. CR = $9C
    ! Z; l4 A$ f" q- {2 A
  73. CS = $9D
    6 D- C' c) n: k/ l
  74. CT = $9E
    * `" g* N& ~6 k; j& ~' q
  75. CU = $9F
    , C; s: j& p9 u' ~
  76. CV = $A03 Y% B; H0 b$ p
  77. CW = $A1, D4 R1 P6 o7 x: U' i2 O2 f4 ~) d
  78. CX = $A2& G% u* I+ M2 v8 t
  79. CY = $A3
    : [: ?4 ?# H" Z  M* ~- }# c
  80. CZ = $A4
    : p0 h) O: x, ?' z8 F- l/ d3 B
  81. CEND = $FF+ Y4 _, n' ?/ Y5 G/ _  Z) N
  82. 5 ~) }$ Q7 \& b

  83. - U! V( X; S9 p' Z) j( N
  84. CMP_RE:! D) ]& c* ]* Y  l. j
  85. LDA $FF
    7 T4 R' j  l" Z3 L) z* P# U4 a
  86. AND #$7F
    - s( y8 K0 ?; I) E5 A
  87. STA $2000
    1 W  ?8 O$ D, f7 i$ k
  88. LDA $2002
    / m8 ^+ n' c1 C+ }6 M. Q3 I
  89. LDA $25
    5 P. l/ M- {  M
  90. CMP #$018 X7 l# z; ]) K+ V8 d  }) o. A
  91. BNE PROREG' n* G+ F/ x; Q; n" d: w  S+ e& N
  92. LDA $F5,X
    ( A0 t+ h! y  c" p$ A4 t1 @+ {2 @
  93. AND #$CF
    7 i& F! l$ p* g5 \7 S( v) r& z
  94. BEQ PROREG5 b, L) P6 N5 E* Y1 ^  m
  95. JSR PPU_CMP
    2 i) E* B5 ^2 H: i  d
  96. C_RE:4 C' j( s. G0 ^- x1 k& E0 X
  97. RTS
    2 i, `+ c% m# ]
  98. PROREG:! j/ x' v! g- e1 d8 c. l3 F- Y
  99. PHA7 Y. B7 C. z: Q
  100. TXA
    $ Z$ T7 }) E: _) G5 R* H* f  b
  101. PHA
    ! m: T& c2 }1 K6 H/ d
  102. TYA+ o* n. T2 L  m/ Q! `
  103. PHA
    0 K: q. q, Q) P" t, N! `0 G
  104. LDA $25( k/ w$ G* A! x# H6 X, C
  105. CMP #$01& d4 t- |! L1 L' P5 V/ a5 X7 S
  106. BNE RE
    ( m% ]1 k* k& i+ ]3 \$ B. P
  107. LDA $010A; O2 c5 C+ s7 W% Q5 a: B% R
  108. CMP #$00
    9 H& j5 X- {* r4 v% `: X0 d3 b4 }
  109. BEQ P1
    . d0 t0 L4 T' Q8 `6 {2 p
  110. ; W% {9 g6 V. @5 _  V
  111. RE:; F' C2 n. ^( A
  112. JMP PPUWRITE
    + H. S$ D& t& M+ B) z
  113. 8 E% z& q4 ~1 f4 e. D* a3 ?- d
  114. P1:                ; 条件判断
    + \* k& y/ ^+ x% k. J, {! O
  115. LDA $7FFF
    4 B* y8 R4 S+ y  }3 [$ T
  116. CMP #$FF
    : u8 l+ |- ]7 L1 y+ a6 {' ^  f
  117. BNE P1RP
    , }! o  ]" i. u' a9 y4 o
  118. LDA $7FA0
    ! P9 o2 ]8 c# z  R) L  O- g
  119. CMP #$002 X4 n1 O8 _6 s3 g- K8 i
  120. BNE P1CMP
    & w  `& o9 P$ d/ F' U/ V6 ~3 E
  121. LDA #$FF9 F3 o3 x7 f9 r% s  i! q4 k& i6 A
  122. STA $7FA0
    * o3 h, h$ U8 R5 H9 h$ y
  123. JSR CLEANA# w# j+ ^2 s: e* M/ [
  124. JMP PPUWRITE- l3 K/ y; h1 h
  125. P1CMP:! G- D4 @! D% c+ y! O/ Y
  126. LDA $7FFF. p+ [: ?; |5 t8 s6 {1 m* ]& j
  127. CMP #$00- ]* u* V5 ^2 q& S( W1 c' E3 ]/ b
  128. BNE RE
    1 ~8 j0 o& M4 S- [9 `
  129. P1RP:, Q7 j6 P( s3 x& O1 i8 N
  130. LDA $20021 J8 h) b  U* n2 J7 n/ M4 v: Z
  131. LDA #$00
    0 x& h4 j+ a& W# b/ B2 I2 |  c
  132. STA $2001
    3 I! v* s* a0 ?8 C/ N: f
  133. LDX #$00$ }' J7 x/ R) [7 Z4 ~
  134. LDA #$FF
    / }) h8 t/ o3 }/ B" m- j: U6 c
  135. STA $7FFF
    " y+ A+ M  N5 I1 O# @2 e
  136. STA $7FA0) d# B) z; d* d
  137. JSR COPYPPU
    8 i5 V7 F  J9 r6 G; f- e
  138. PIRP2:
    $ ?  R8 Q/ q& @' C/ D& B9 P: n
  139. JSR CLEANA
    " C" X( e1 L3 A$ C' _/ i& b
  140. JMP PPUWRITE  D- x5 U; \0 b  F

  141. & h  Y: \0 h2 ?4 J7 Q' \" `5 I
  142. COPYPPU:/ \" O$ ?4 {! W. o
  143. LDA $FE  h6 n6 C9 G/ }( h
  144. STA $7F50+ n5 T3 K8 J/ R0 n" e3 M
  145. LDA #$08
    9 b; B4 r& f* w% a2 z" T- _
  146. STA $FE
      `$ {; N) {4 h- B3 V
  147. L0:0 L- w. h5 s) x) M
  148. LDX #$00( M+ B  Z5 r6 U- Z* p) F
  149. COPY_07C0_07DF:# ~! z- ]3 ?: H0 T6 l6 J% k
  150. LDA $07C0,X
    # m1 D* p& H8 o. C$ S8 A- i! f6 l
  151. STA $7F00,X9 A7 v; F5 \# r" t4 G8 L3 L7 a1 f2 f
  152. INX
    ! g; W4 A* C0 Z0 G# ^
  153. CPX #$40
    ( G/ t) a  _. `- k6 \, a# L
  154. BCC COPY_07C0_07DF7 p0 @6 r8 q  ~8 W& o' v  e
  155. LDX #$00
    2 H, p$ z, N' m/ x# L8 Q- X7 u2 r
  156. PPU_07F4_07F7:( ~; {7 ?" G; n+ W1 y) O
  157. LDA #$00& n' I. K  D. J' ^, a
  158. STA $07F4,X. H; R7 o5 X/ J9 [2 \# h. `. }! `
  159. INX
    , {  n# N9 y9 z: c2 n2 E, T, E
  160. CPX #$04
    1 M6 F* t7 l! [
  161. BCC PPU_07F4_07F7" N9 d5 M# ?+ I- g3 ]# p
  162. LDX #$00
    3 d- v/ w  g$ D8 C7 w8 f- g
  163. COLOR:; O% F+ f9 J* h# z4 s
  164. LDA COLOR_DATA,X
    # d* F) b8 l2 N) G+ v: M3 c
  165. STA $07C0,X+ o2 V( o/ T- E* v+ J0 H
  166. INX) E2 w( ~2 G% H0 |; ?
  167. CPX #$10
    5 b. L7 U& D( R
  168. BCC COLOR
    - H! `2 `' L9 V2 v

  169. . x8 P5 d+ T6 T! A+ s
  170. PPU_COLOR:
    3 ^  ]. C9 y! m  x" r7 r( _% h% P
  171. LDA #$3F
    2 C2 p1 K% z; B, H4 ]" i: w2 E
  172. STA $2006
    ( R; ~& J2 z# |
  173. LDA #$002 s+ X+ g- K- g$ P
  174. STA $2006% O  g& |# ]/ q) b3 Z/ L
  175. LDX #$00
    4 q; x0 K; \1 d: \2 `; Z+ b  g
  176. PPU_COLOR_W:3 Z, F4 P  E9 m: H5 d6 Z+ b
  177. LDA COLOR_DATA,X1 {/ }) r7 j( N* U% x/ y+ V
  178. STA $20072 n! x3 F/ N, y, u' G+ n' X5 q
  179. INX' O, ~6 ?' G8 l" T, b7 e- O
  180. CPX #$10
      k$ C. ?  ]7 i& T% T+ P
  181. BCC PPU_COLOR_W
    ; D4 t; @+ d5 \" e$ W) |! ?

  182. 8 _0 S9 X  p2 y/ u+ N9 D6 I, ?8 M% ?
  183. ( b) a; M4 f0 M% Q0 ]
  184. LDX #$004 y; g0 N0 s: g/ U) H
  185. LDY #$00
    6 @6 ~$ z8 m( n+ f5 L4 m4 J
  186. LDA $BD
    5 x" V, `3 F8 I# R6 ~9 _# l
  187. PHA5 R' d( [- u) B! X% `
  188. LDA $BC
    9 [2 R( g  F6 t3 G( J6 k
  189. PHA: t' c8 }" G5 M9 D; V
  190. LDA $BB
    8 V0 Q" d5 u1 V0 b$ D9 @# [
  191. PHA6 t( X. K) K/ u9 {" F
  192. LDA $BA! V/ j: p+ ^' w/ t! ~
  193. PHA# |$ j$ t3 ^0 g* Q8 Q- \
  194. LDA $B9& C- m8 Q0 d% j7 ^- M
  195. PHA& ?# n8 c- k5 L2 r) }+ e  R
  196. LDA $B8
    $ A! w& O/ M! }& z
  197. PHA0 E1 k& ~' K6 L2 l% P
  198. LDA #$00: a" S4 L1 {9 \, v# M- Z
  199. STA $B8
    1 D! t. Q- E5 H& K+ r, w/ ]
  200. STA $B9
    0 Z  T) Y4 n, L1 l  n
  201. STA $BA! O$ a, {" v% Y4 x' U( H) C
  202. STA $BB
    9 T6 ?, X7 o  ~4 A1 `: T1 a
  203. STA $BC
    ; x( M/ a* G! b" z
  204. STA $BD) G  d% t6 {  W- W/ Y
  205. LDA #$00
    * r: H2 Q) h6 g+ B7 ?
  206. STA $BA
    3 r; u# g: ^" B/ e' @8 s0 F4 N
  207. LDA #$20
    $ q" l- `$ A4 E7 Q' h
  208. STA $BB
    ; R- t, w0 ?2 _( O
  209. LDA #$00
    3 Z! ~. A( g' v9 }
  210. STA $BC
    3 Z2 L/ C4 ?" m! l: t
  211. LDA #$60
    # n$ p5 P( @  b# w9 m* B% _
  212. STA $BD
    ( E$ ^( z" K& z" w! a- ~( [; n% n' d

  213. ; x% e. y* r* W! E$ o' x: a5 G
  214. L1:                ; PPU复制
    $ }7 i6 A6 b+ L# S! D4 o+ @/ W
  215. LDA $BB
    # C) a2 Z( V! g& _) t
  216. CMP #$287 {1 W! L# n8 _" H' l
  217. BNE L2  }+ P, Y# A$ \7 q( v
  218. LDA $BA8 A, X6 Q* g8 @
  219. CMP #$00
    & ]9 I4 Q  k; Y* y& r. n+ A
  220. BEQ PROADPLA
    % x& E0 X6 `( b4 M0 ]
  221. . y4 u$ \* ]" [/ \
  222. L2:& r( K  Q" l8 L( h4 F0 B
  223. LDA $BB6 O. Q& q* @9 D. _$ n1 L
  224. STA $2006) x& C" O1 c! v4 o2 [* X
  225. LDA $BA; J' R/ e; k+ V
  226. STA $2006
    & w* W5 f2 v4 l9 T! {& o3 ^0 A
  227. 0 \, F4 g+ ]/ [2 O+ {
  228. L3:. [# c, C  w. Y5 p1 p
  229. LDA $2007# R" {% t7 Q4 S+ ^
  230. LDA $2007
    + z, [6 V0 v; H5 X  S
  231. STA ($BC),Y
    3 @5 ?! `$ l! _# q. C0 j

  232. ' Y$ g* I+ m  ^3 R
  233. L4:
    : k6 P& ?! W2 f  k
  234. LDA #$00- v" o5 K6 l8 B+ c% T- u, k, M5 l
  235. STA $20005 }& r" S7 z$ A9 F7 a! U1 A
  236. INX
    3 e$ H# L& B+ Y) ^. H0 A
  237. INC $BA' B6 r/ E1 z" O. ^+ x; S
  238. INC $BC
    1 j0 m6 O0 H) |1 {
  239. CPX #$000 U9 g& [+ N. P3 C; L
  240. BNE L1
    . e) H' V/ c" A
  241. INC $BB
    : `+ a7 E# H: c# M2 {5 }
  242. INC $BD
    9 K# _2 {. R/ E5 Y. B. S  `, t! A0 v
  243. JMP L1' a2 d9 Z6 x2 _1 Z& w
  244. : N  c+ T) I. T1 p! G' j5 d8 n, ^* u
  245. PROADPLA:                ;出栈
    ( X* z  l. J: ?1 t
  246. PLA
    3 {# d! ]4 x2 [( |* ~
  247. STA $B8& L& [; n  v5 i' j6 x& r5 Z
  248. PLA
    7 ^5 d7 S3 R$ l% A6 M2 A
  249. STA $B9( \- \- U( x$ W$ t  Q' ^" H
  250. PLA
    + H! Y, h; M% G; s5 W, ?
  251. STA $BA
    $ X/ r) v8 P/ o7 m
  252. PLA' ~. r- T8 [- ?) B, q
  253. STA $BB
    3 I, ], C, {6 V; F/ }: P: D) O
  254. PLA
      R1 ^. X  a' S: K
  255. STA $BC: t- T9 q6 H5 b! ~* ]
  256. PLA/ y- B5 g4 }* C* J3 p
  257. STA $BD
    : ~0 X8 S. {4 H" v7 ^
  258. CPRE:$ `& L! H+ a, V, |
  259. RTS
    ! R) H* U6 V0 q6 S; z+ p3 z! R

  260. ! c! ?  ^2 K, G) ]2 l
  261. CLEANA:                ; PPU清空7 ]' U" U. I* y2 I! F6 z" O
  262. LDA $BD
    * a& Q- T/ ~2 Q; B- |0 x
  263. PHA  p% f; E& ?8 j7 V& G
  264. LDA $BC
    ( O5 W+ E: \& K' x
  265. PHA
      m- P4 Y$ o. W$ {# C, C  [
  266. LDA $BB  j1 m" ]4 I, {' Y* g
  267. PHA7 n3 D( T1 K& o' M& |/ w
  268. LDA $BA
    : B0 a  ~' p8 ^0 U; s& H
  269. PHA: E) `5 x$ B, O6 F1 A& _
  270. LDA $B9+ e9 F: c5 w& @
  271. PHA
    % C  `. Y! F4 x. s% t
  272. LDA $B8' W0 q$ \# Q& y' C/ }
  273. PHA
    ; ^4 A2 u) L8 b, b7 o7 H6 b% x
  274. LDA #$00
      I1 n- x9 ~) O' J9 w; P4 Q" B
  275. STA $B8
    9 ]% W& t. l$ J- @/ Y
  276. STA $B9
    & N/ S+ r# C- d) _- @3 k
  277. STA $BA1 M$ Y2 {( P5 A! H
  278. STA $BB- [, B- A7 H6 R) S) f, _5 [/ j* ^
  279. STA $BC
    6 }6 w3 K- K4 B3 y8 w
  280. STA $BD
    , p# V) A: [% O, W& P, M
  281. STA $2001- A$ e! P, i$ F
  282. LDX #$00
    8 _8 A+ G5 o9 o
  283. LDY #$00
    ! u2 o; E1 u/ l; W4 T# E7 d/ d
  284. LDA #$00: n7 a- M7 h; f: y
  285. STA $BA
    : e% h6 {& f  \# G/ L
  286. LDA #$20
      F2 t5 K! K+ `4 ?
  287. STA $BB: A0 L+ z! q" d% I$ F

  288. $ M1 G5 k) N1 P% `
  289. CL1:$ j4 f% e& O' j* B' o
  290. LDA $BB
      d8 @! M( k6 y3 U
  291. CMP #$28, k: _) J8 \1 r1 I4 z) A
  292. BNE CL2+ G8 V  |  v; C
  293. LDA $BA( l$ U! `+ K* s( v. J
  294. CMP #$00
    9 ^" \6 {. ^0 l% z
  295. BEQ FREEWRIYE) O- F' x( O: r  J) c

  296. 4 S8 J6 {+ ]2 N$ I
  297. CL2:1 v7 V7 l1 q$ A6 a& k
  298. LDA $BB
    $ g; E8 u7 J( v5 Z& x& ?7 L, N' e* w
  299. STA $2006/ _) }- f$ ^" {& G
  300. LDA $BA9 |2 M$ B9 O5 L2 U" }
  301. STA $20064 Z7 ]! \* P4 B& \+ v, [& f5 E$ ]
  302. 5 n# {8 [. G' l; l$ z
  303. CL3:! _2 \6 S, m( j/ _  G
  304. LDA #$004 I0 Q$ N, D4 t# Y# z( e; E- P
  305. STA $20075 w" L: I0 J) ^3 D- U1 _. t, A

  306. : E' d7 m' P) |8 w2 W% a8 A
  307. CL4:
    # y/ t+ s% H6 [6 q9 ]
  308. LDA #$00
    % r4 Q# h2 Q) ]3 j4 @# ^
  309. STA $2000
    * K, i( H- b* R2 _" C
  310. INX! I% P) C2 i2 L* q& `
  311. INC $BA
    , N) B$ `7 t+ \. B: X  S
  312. CPX #$00
    / l' \. M" d% @& w$ [
  313. BNE CL1
    " H" r) z: j! m& R8 u
  314. INC $BB
    & ]3 a  ~. W6 }. g
  315. JMP CL1
    - a2 M# G( m5 w
  316.   p7 U7 R, o( a# |/ j8 U8 c

  317. 3 t4 L0 L) q' f* Q" L
  318. FREEWRIYE:
    ' i  Y& b3 Z8 Z2 U& O6 z. N

  319. 8 v2 O5 U/ j8 ~+ f1 z0 m' Z1 n
  320. NOP: \& n' B& d! `( i& g

  321. * {$ k; f* r" T' b; k$ a5 N7 u5 a

  322. 5 R0 n/ b0 s( H3 B/ T) e

  323. , @1 ~6 Y/ W$ B; ^: t0 ]0 ?" p
  324. 3 D# y7 y0 G* H
  325. ) _/ C  G) G- ~8 z- n
  326. CLEANF:                ; 恢复现场
    ' s* z: S7 L4 ^, g& I

  327. , u6 j( m( w' z2 g4 ^$ a
  328. PLA
    ; y! v- e$ q3 S
  329. STA $B8
    0 @/ c5 }  s: H
  330. PLA# I9 e; m1 F, S! y& x1 |
  331. STA $B9
    ' y6 n4 I- k: `* W$ ^
  332. PLA1 R4 R7 F" y+ x
  333. STA $BA5 T' w; l- D' x. _9 T
  334. PLA! v5 l8 e7 d4 |6 e% r) A0 `
  335. STA $BB
    1 `, g$ V" |  B' A. U, C  K
  336. PLA
    , j0 i* M2 ^, O' d/ v
  337. STA $BC
    , x5 R. p# r2 m: L* E
  338. PLA
    # s8 b8 f& ^9 q. w2 ~. p) d* j( Z6 _
  339. STA $BD
    ; {( T" F  A, L( Z2 A: E/ O9 {
  340. CLRF:
    + t- }6 P' Y$ b- j! P/ ^/ E
  341. JSR FREE_PPU4 r" E3 U# f; |
  342. RTS: _+ w8 i3 Y+ a  [3 p
  343. $ u2 G* X; g7 L% V" ?6 P( y$ c

  344. & |2 F0 }. `* \2 i$ w( X8 y: ?
  345. PPUWRITE:    ;PPU写回7 [6 P* K0 h0 ?* ]5 s
  346. PLA
    5 d# S) P  U" i% {8 _& L% t' I  m
  347. TAY9 l% p3 y) Q9 |$ s$ D: M
  348. PLA5 @/ p1 k' h" }# O) N5 F% ]
  349. TAX
    % [8 ?3 |9 a7 P
  350. PLA
    . s3 K0 Q3 J* n2 m0 m$ A
  351. LDA $257 ^  m/ b. ~2 b. w- T( ^+ [
  352. CMP #$00" X# h6 }; Y0 r2 C0 m4 m8 s' p6 u
  353. BEQ WP1( @! A4 P& }) N! T  H
  354. LDA $256 R' g1 I) T7 b' P$ Y. h4 k
  355. CMP #$01  w4 ^8 j: N( R1 x& |
  356. BNE WRE
    ! b  x3 Z5 t# y0 P' Q
  357. LDA $F5,X
    ! f( f3 \# Z$ h7 k' x+ z7 `9 w+ @
  358. AND #$EF
    ( F0 J0 u( S9 D$ |
  359. BEQ WRE5 y: M$ A9 ~1 \, e+ B
  360. LDA #$00
    : L9 [$ `+ U# n. B9 f) i
  361. STA $7FA0# h0 G7 u, X; L- N

  362. % u# c" ~0 S, Q! U7 E3 L! b
  363. WRE:( J; w5 E5 ^, S& l6 U$ t5 R
  364. RTS
    3 q9 W/ e3 Y9 P* W- M3 M: E! l

  365. " r; y0 Y4 g0 y; A
  366. WP1:( U2 p2 q# F: o! c
  367. LDA $7FFF0 L: x1 c* n$ |; k5 G( X/ E  e
  368. CMP #$FF) `: G* C+ d2 R
  369. BNE WRE5 H9 k  W3 j0 p" r
  370. LDA #$00
    * r* R/ @" a, S, U: N
  371. STA $2001
    . P3 B5 {! \" \, R3 z
  372. LDA $BD# t3 ^: s1 A. c0 F, ]
  373. PHA( h* C* u' F% f' |# A6 @7 o* v" H* @
  374. LDA $BC
    : D- v) ~, j+ p5 ~
  375. PHA. \5 F* m; o  k
  376. LDA $BB
    9 U$ n( u2 L. t
  377. PHA
    ' d6 v- l9 V3 Z" j) {9 }
  378. LDA $BA
    6 @; l+ m  [/ Z( K9 G) M
  379. PHA
    ! O- _1 q0 T( p8 j
  380. LDA $B9
    7 p% n  Z5 h. D" R  Y" ~3 N8 \
  381. PHA. {0 V% B, r9 w0 y1 R2 c7 r
  382. LDA $B8
    : n. x* X  N0 U# h. u: _4 ]( C7 k
  383. PHA8 x. z9 W+ d# p& T- f' `
  384. LDA #$00: K! `: N" o4 Y& U5 o: p
  385. STA $B8$ C- Z6 i) L- _8 L
  386. STA $B9
    6 t+ a1 T2 m5 s- V
  387. STA $BA5 x: v: j$ Y( s/ v6 j/ V$ h* n, u
  388. STA $BB' y# M+ Z! x, [; A7 z
  389. STA $BC1 D  j% B) u! u& R" p! k. M" n8 B7 Z
  390. STA $BD$ ~1 Z6 B: B' @! e. m3 U
  391. LDA #$00/ ]9 s% H5 R9 H3 u6 D- y% Y
  392. STA $7FFF& F$ n) }! g4 i) d4 h, O6 [

  393. * |: R" m% q- B' G$ j
  394. WL0:9 k0 R$ A% R1 L! f5 `
  395. LDX #$00; {- S5 |9 k; N3 \3 i
  396. LDY #$004 j$ ?2 H. v# A$ t/ {6 }" {3 m
  397. LDA #$00- B3 ^! u: O4 @5 F" Q8 n4 s# Z
  398. STA $BA; j1 \" O2 e; v  _
  399. LDA #$20. M% [! O7 t' ~' ^
  400. STA $BB, h+ a; i% y+ M% q8 D/ O( ^5 B
  401. LDA #$00
    3 |4 ?. l2 a6 @5 K
  402. STA $BC( d3 w9 P& z" ~' ]& ^2 C$ t, ^
  403. LDA #$60
    + f1 c. d0 z1 j$ i0 I: j% e
  404. STA $BD
      Y5 `" Y0 k- m3 m. O

  405. $ b# I/ _2 i, [+ u' L
  406. WL1:# ]6 z8 p. s; _( x
  407. LDA $BD: z2 X9 o8 m. T* o* H8 z* O2 v) V
  408. CMP #$68/ f  _4 h" X8 T6 r2 w6 S
  409. BNE WL2
    , |5 a0 @7 B0 D: l2 J
  410. LDA $BC: \/ ~. t1 R5 n9 M
  411. CMP #$00, k9 C" Q, p' }" c8 |9 ?2 \' q. o
  412. BEQ WLR7 Y3 F7 u) {% U3 `) a2 c1 p

  413. , m9 e) B6 R! j; _. @, `/ }
  414. WL2:
    : l& H: E+ y4 Q1 t/ l
  415. LDA $BD$ @$ X1 i' S& C
  416. STA $2006
    2 j) t* _1 C+ m# d
  417. LDA $BC" ]9 y. B+ F& P, u2 U) [! U6 ^
  418. STA $20062 T, w2 v- f1 u9 V  ~

  419. . q1 S# O4 P- C6 W8 Y
  420. WL3:
    ' j8 Y/ n+ P2 _, ~
  421. LDA ($BC),Y' M1 l% t5 z) o" G2 [
  422. STA $2007, d' s% [1 n3 W+ U, W5 C

  423. : W* ]# i3 G) M3 v  _" @  v
  424. WL4:
    " D* R0 y& k. w) D
  425. LDA #$00
    4 ?' V  o+ R4 ]9 w4 d0 Y2 r- J
  426. STA $2000; Y5 W% g- r: e
  427. INX3 J% s+ N6 {  B9 K4 B5 _% z
  428. INC $BA5 `0 w; a% c8 F& N
  429. INC $BC
    * K7 Y1 W+ U: w- F+ g8 @. R
  430. CPX #$00
      J" ^# }  j+ W. w
  431. BNE WL1! j* x) p' R  M. T- h5 g7 j+ E) Y2 h
  432. INC $BB# I( u* t5 G1 m
  433. INC $BD
    9 }1 q2 P+ B9 y- |+ B- ~
  434. JMP WL1. ]) _! S  _) b  C) X+ y

  435. 0 o( k4 b9 e- u
  436. WLR:& V! X/ U. U8 \
  437. LDX #$00
    . J; ?, L& i: Q  _1 P5 P( Q
  438. COPY_7F00_7F3F:, m8 o; f+ i# V$ L6 @) n
  439. LDA $7F00,X, x: ]9 Z! n2 P0 Y2 ]
  440. STA $07C0,X
    5 _1 R3 t, ~: ?2 \& _  \( g
  441. INX
    + d8 d+ R! v! U. P3 V' B2 v& R) H
  442. CPX #$40$ r3 o) c5 M# Z1 R
  443. BCC COPY_7F00_7F3F6 E. _& ~2 E5 i/ ]% @3 w
  444. # n! w# R" t$ R; j
  445. LDX #$00
    & S& P+ y7 V+ |/ k9 H' K
  446. LDA #$3F
    4 f1 k4 n) m( X9 [0 L
  447. STA $2006
    6 L6 J- d- O0 o" R' N
  448. LDA #$00+ s' v. n  ^5 S5 B% U  ~
  449. STA $20067 z+ J7 U( }6 I. i
  450. COPY_7F00_7F10:
    , N4 s/ g; O9 p& h0 ?; Y3 c
  451. LDA $7C0,X: L0 J+ @3 m  t$ |5 ?2 g# R  U
  452. STA $2007
    5 p3 u: z$ D; T1 `0 r5 m
  453. INX
      _% u1 O5 p% L
  454. CPX #$102 q: ^8 ~0 p' E' A& b
  455. BCC COPY_7F00_7F10% m* s4 N8 f- c3 g" B2 A/ A3 r: u

  456. 2 p- @5 [" {: l$ `; U
  457. LDA $2002. _% b7 [7 {  f$ n7 j
  458. LDA $FD
    9 B/ y: C% H2 O' D
  459. STA $2005$ z) T% ?3 w3 L/ |
  460. LDA $FC
      |, R' n& V% _/ L
  461. STA $20051 U' b. Z) Y" H0 p. C! o* j" j

  462. / P" v6 i3 y- L0 @+ S
  463. LDA $7F50
    ; T* J3 `8 O! `2 I  _, C
  464. STA $FE/ \! K# q. ^  D' a! S5 b4 Z1 v5 M. n$ {
  465. LDA #$004 W; Q7 k9 K! {7 Y) z
  466. STA $2000
    ) v! w+ j1 m( e$ Z' f
  467. PLA( k! I3 o8 J6 S9 c+ A
  468. STA $B8
      y5 O9 f! x* E4 Q8 N% Z$ S4 `- H, C6 \
  469. PLA
    2 w5 g4 S/ d7 m/ W( A& U% P. t/ i( P0 J4 c
  470. STA $B90 y0 L" h. |5 q, E: p! W+ i; a1 @
  471. PLA
    / T$ p( ~1 v* U" E* i
  472. STA $BA
    ! `8 @% h6 ]9 I/ c- y9 C
  473. PLA
    " v2 ^" v3 \! G/ v' T- J; g
  474. STA $BB
    & f( o! E8 @. _
  475. PLA; Q/ D) Y$ W' J) d9 k5 L+ V# ^
  476. STA $BC) |  M7 R6 E6 p1 C" a
  477. PLA7 M$ z( G- |$ ?, G. D/ C: q% j
  478. STA $BD; O2 l5 `! o# m7 X3 k
  479. : q- S% m+ Y3 s
  480. RTS- x' n. d( T; |* g* b
  481. ( x$ {5 b, w" d- s* _# n
  482. PPU_CMP:' j" [, I; U* P! {# x7 K( H; T; `2 ]
  483. ) {/ a1 y( n0 \3 Q8 V! g
  484. * N3 x( M$ v- n' K' n
  485. PPURE:
    7 k, i' X2 k) v( v9 M; e* s
  486. RTS' m$ V: i- d7 [% f* m8 n
  487. ! E$ a  l  S2 _1 Q$ A$ q
  488. ) F# E2 U  Q, A" N6 n
  489. FREE_PPU:
    5 X4 c+ [0 ^1 w# j: R
  490. / J/ D! `6 F6 y6 I# q
  491. JSR TEXT01_PPU% N6 l+ ^+ t2 K/ R% e
  492. JSR $CBC0+ h  C) g1 W+ |5 s
  493. JSR P1_PPU! w+ R: L& f" W
  494. JSR P2_PPU# [7 V. O* |# J/ H8 \
  495. RTS9 T6 q: J: w6 U0 ^! n" R$ X* P; z

  496. + Z3 X+ z* r" D! J. J
  497. TEXT01_ADDR:
    " l; l/ w" b' k# p$ x
  498. .BYTE $20,$42
    4 Z4 k: p! b" b6 H# l. M
  499. TEXT01_DATA:4 T9 B) }/ v0 L, F+ i, V1 E8 R
  500. .BYTE CH,CA,CC,CK,CSP,CB,CY,CSP,CF,CL,CA,CM,CE,CC,CY,CC,CL,CO,CN,CE,CSP,CI,CN,CSP,C2,C0,C1,C7,CEND& m, O* S' z; w& \( i$ ]
  501. TEXT01_PPU" Q+ ^5 a$ A7 z0 v
  502. LDX #$00
    9 `2 R9 u  C- e' g. ]8 b  e" a6 `
  503. LDA TEXT01_ADDR
    ! T( ~# v& J, B. k) _7 Z8 }0 n
  504. STA $0703% p( J; [- Q, V9 w5 w/ }! a
  505. INX
    ' L& \+ \5 N; \- ]. B- w5 O
  506. LDA TEXT01_ADDR,X
    + ]- n1 m- l  R  S: ?4 V
  507. STA $0704. o; s2 C5 h: v. j% k" \- |* }8 l
  508. JSR PPU_PROCESS
    ) z; o7 ^0 H1 g+ ]/ `: F1 ~9 K
  509. TEXT01_W:: Q  i. Z9 B8 s: A% }
  510. LDA TEXT01_DATA,X, Z$ _: p* }- V& j( g
  511. CMP #CEND; \; I$ x$ N/ i( X
  512. BEQ TEXT01_START4 G1 [8 F$ ~, o# G  y
  513. STA $0705,X( \$ [3 t0 G4 l9 _1 A
  514. INX
    9 D6 V. f5 e/ j
  515. LDA #$00
    ; _2 P' H( C) h9 O& ?+ M( s! f' o
  516. BEQ TEXT01_W
    * S' l* ^% [7 Z+ W( ]
  517. TEXT01_START:& J1 F- N0 I6 `# S4 @1 Q3 M
  518. JSR PPU_START
      l) I1 A3 `8 A# A! G7 ^7 v- A' `
  519. RTS% w3 ~  [5 G7 V: v2 b

  520. * I% L) Y4 r' o' m* v
  521. $ X$ z& y# g1 ~4 l
  522. COLOR_DATA:
    8 x, r% [8 Z) T8 T: L
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    , Y9 t: n6 x. J

  524. " {9 b. J! `6 H: P9 Z
  525. P1_PPU:
    % n$ l4 ]1 v  F7 h* V& A# ?
  526. JSR PLAYER_01_PPU3 W0 u7 m3 n: H3 V
  527. JSR $CBC0
    % h& U& |* ?- X* L! ]# B& F+ ^
  528. JSR RELIFE_P1_PPU
    6 m* T  B5 M+ E5 ^( F' h* I
  529. JSR $CBC0/ a+ ?3 I4 c! Y% z9 I7 a
  530. JSR RELIFE_NUMBER_P1_PPU
    , |) ~  L$ q( x9 C( ~8 v7 K
  531. JSR $CBC0/ s1 o2 P" W& b* ?; J" n
  532. JSR WEAPON_P1_PPU
    ! f# I; A. b8 V5 T
  533. JSR $CBC02 @- a  p$ M: l. l
  534. JSR BULLETPPU_P1_PPU; A& z  n2 d$ ?- V( `
  535. JSR $CBC0
    3 _5 z7 _1 G# W+ e9 Q
  536. RTS
    4 u- Y" J1 y3 }! [
  537. 7 ]/ B* C! W" P
  538. P2_PPU:
    ! y. l2 L0 _/ m6 e4 @8 j
  539. JSR PLAYER_02_PPU' A  q$ A% v8 Y
  540. JSR $CBC05 Y% P% V7 K5 ?2 F
  541. JSR RELIFE_P2_PPU
    5 J0 P5 J2 t2 |' M) k
  542. JSR $CBC0
    * S3 I$ S7 d; O4 q4 H# s
  543. JSR RELIFE_NUMBER_P2_PPU
    ; c, |9 w- B# u( j/ K
  544. JSR $CBC0/ z6 _3 g: Y/ e- B9 V- ?" f
  545. JSR WEAPON_P2_PPU+ K  U/ n4 t3 N4 c- m
  546. JSR $CBC0
    ! A0 [' N" A( Z
  547. JSR BULLETPPU_P2_PPU
    ; A' W& P6 l9 C  j5 \
  548. JSR $CBC0
    9 {: O0 K! M6 G: f: V* q
  549. RTS, x$ _9 x2 {% L; \3 v3 _' Q

  550. % j: Y$ U4 G, w! T+ }9 y* v

  551. 8 C# V! [! h/ Z5 D# N1 y( t
  552. 9 d$ B/ d4 `& x: A; G$ b: P: o
  553. PLAYER_01_ADDR:# ]- R: H! Y% K) w% u0 z
  554. .BYTE $20,$A36 _- G# v1 |( s# a# I
  555. PLAYER_01_DATA:
    9 @$ M- b- t7 t; F0 X
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND) R+ ~% Y1 A4 @- G( |& r
  557. PLAYER_01_PPU:, d: j; ~7 e9 M2 L; O  J" F3 U
  558. LDX #$002 E# Q* |2 w' v3 u- T* p, J/ K7 F3 @7 k
  559. LDA PLAYER_01_ADDR0 L6 Y# B" N4 h* O! H1 W9 `4 q+ i
  560. STA $0703( z% D; y' G+ G
  561. INX" S' p* U" Z% z  R$ E2 D0 W
  562. LDA PLAYER_01_ADDR,X
    2 I8 N4 f: q$ K
  563. STA $0704
    9 h' R; j! k3 s' u6 w( v. ?8 S* G
  564. JSR PPU_PROCESS8 z& M  S7 e, G' `# S4 p3 p- n
  565. PLAYER_01_W:$ Z* u. j! X1 V
  566. LDA PLAYER_01_DATA,X- U- {( h" T% F2 G
  567. CMP #CEND
    # V5 h- f' d: I1 m' v+ M
  568. BEQ PLAYER_01_START# M" K1 Y* T6 r5 G$ w- ^0 X
  569. STA $0705,X
    2 I& V; I+ d' j* e2 q8 h( A
  570. INX
      j$ T( Z9 H8 a1 Z$ B& j
  571. LDA #$00
    ; U0 T8 X' l* s
  572. BEQ PLAYER_01_W
    " Y3 O9 E! B; `+ K
  573. PLAYER_01_START:
    ( u, s& ]) _. Q3 O
  574. JSR PPU_START* |8 n' X4 r; k, e4 k, x! S
  575. RTS! N; {. V; L( B9 V% `0 l
  576. . I. {' X! C2 m0 O
  577. ( ^2 N5 v: m! K" M! `4 s
  578. RELIFE_P1_ADDR:
    ' k. X" v# }1 R
  579. .BYTE $20,$E3% Y# A* g# J. i, m. I- Z* }
  580. RELIFE_P1_DATA:
    ! D/ }5 V7 K( W6 Z
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND9 G; l: O+ L* s; J- h: L1 n
  582. RELIFE_P1_PPU:
    , D0 ]% V5 t& m7 i
  583. LDX #$00
    . G# ~6 K+ ~; o/ z( e$ Q* n% C* K
  584. LDA RELIFE_P1_ADDR
    : V( i, c  \* V/ u- u7 ?8 }0 _+ j, L, i
  585. STA $0703( M2 j4 A, E1 p; M9 Z
  586. INX# F' N6 F- [/ K; r7 ?8 L/ w' ?3 O
  587. LDA RELIFE_P1_ADDR,X; `3 h0 g+ e2 }5 W
  588. STA $0704
    ; T5 j; V- Q2 @7 @4 g9 u3 t
  589. JSR PPU_PROCESS
    * }8 k9 }, j0 ^
  590. RELIFE_P1_W:( \; s; A+ G8 W0 e4 _" |! O
  591. LDA RELIFE_P1_DATA,X
    & H  `7 O- `1 K
  592. CMP #CEND
    4 I# }* s, n! }  I8 u; a9 T
  593. BEQ RELIFE_P1_START+ d. _6 E2 ]: w1 _
  594. STA $0705,X7 R1 J+ i9 [1 [0 E0 N# \. u
  595. INX) B9 C2 k; q$ B+ @% q
  596. LDA #$003 x: ]# W4 ~; d+ ^
  597. BEQ RELIFE_P1_W
    * A  f- f% l, n: n6 Z; U, A
  598. RELIFE_P1_START:. K* \" `1 A! h, b. b
  599. JSR PPU_START
    3 T0 {0 Z: e8 o
  600. RTS' Y( F6 V3 o" M* e; [4 x

  601. : E- b+ ^# s5 m, ~: `+ E5 i

  602. % ]: Z  I: d* g7 ~. A' u$ |- `
  603. RELIFE_NUMBER_P1_ADDR:
    : r! l9 Z6 o6 D* w! J" @2 `. E$ B
  604. .BYTE $20,$EA
    # q" C. b$ _  e5 e
  605. RELIFE_NUMBER_P1_PPU:
    ' H8 r# V, l1 u* P1 ?( @0 _/ E
  606. LDX #$00: _5 `, f; K8 Y0 A
  607. LDA RELIFE_NUMBER_P1_ADDR( s9 h$ L7 Y  p7 J# C
  608. STA $0703
    5 v' p4 d7 ]* N) d
  609. INX; v: |" ]; `( ^; [2 Z) j+ t+ ?
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    , p1 F4 r2 m5 H0 _
  611. STA $0704
    ) g/ j1 y% E3 Y( F3 n6 `& a' F
  612. JSR PPU_PROCESS9 ], I" \4 D" u* m
  613. LDA $32" w$ l4 [, D( i5 v- P, q
  614. JSR LIFETODEC$ A- ]6 p; H  r2 B& ^) `$ W
  615. RELIFE_NUMBER_P1_W:
    % i+ I) T2 r4 s5 a8 G7 Z% J& Z. [
  616. LDA $7A03, }. Z( p* H: Q1 Q8 H" h- x
  617. STA $0705
    & o1 {4 m% G  l
  618. INC $0705+ Y4 g+ i/ j* K" _, H7 S
  619. LDA $7A04
    2 k/ U3 T" q2 V/ ]
  620. STA $0706
      {8 E+ t/ G* w% C
  621. INC $07061 j' S$ B) R7 Y- M1 ~) j& ^: T
  622. LDA $7A05" ?4 F/ S" M9 G7 ^; Y) S/ @
  623. STA $07076 `: Z: W0 E) P" ^, v' K8 w$ X6 V. W
  624. INC $0707
    # }1 C& F, l* u) G4 b9 y: k: I
  625. LDX #$03
    9 O% d' d$ p; z/ n' F( F
  626. RELIFE_NUMBER_P1_START:
    : Y7 M" N; m/ V4 U# W7 `
  627. JSR PPU_START' \& F, V1 e- c  f0 A
  628. RTS" M0 s3 b* A) \4 N. l/ s# V/ g. {
  629. * K: N# j( m! V0 ^% F: |
  630. WEAPON_P1_ADDR:2 p/ _8 e2 D% a0 {! S
  631. .BYTE $21,$235 c# s5 D6 }" c2 N9 K0 f- y
  632. WEAPON_P1_DATA:
    # T, Z8 ?- C! T) t% V  |
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    9 T! W* i9 Z* b$ c% r; f; u
  634. WEAPON_P1_PPU:8 {( |% H' d& N
  635. LDX #$00
    " e0 s: p3 ?" W4 ^1 D! k; s* r
  636. LDA WEAPON_P1_ADDR
    / z  b- A0 b* m8 U; x7 A  z) n
  637. STA $0703
    6 b4 S5 o8 n8 S
  638. INX
    6 N1 N5 l& ?$ Y$ f8 \5 `, }
  639. LDA WEAPON_P1_ADDR,X7 I7 G; b, E+ i5 v; B
  640. STA $0704
    1 l$ s0 }9 V3 b0 T/ W
  641. JSR PPU_PROCESS
    ! r: V$ X: H4 O/ j  I
  642. WEAPON_P1_W:# E& J& V3 h1 p# X% p" G# N2 B% H) H
  643. LDA WEAPON_P1_DATA,X
    5 z( L6 _) g! F$ h$ _6 U% U% w$ d
  644. CMP #CEND
    + E& }+ z0 @6 ?' m7 s' L; F
  645. BEQ WEAPON_P1_START
    ; B6 F, K+ r: H. [. }$ \; I4 b
  646. STA $0705,X
    . N1 i1 }6 T; h9 ?* Z7 z" u
  647. INX
    # p  x1 G( P  \! t9 t  M
  648. LDA #$006 V* E! ~8 G3 E9 g- M! Y
  649. BEQ WEAPON_P1_W
    8 q: A1 E/ ~, Y6 }
  650. WEAPON_P1_START:
    ; h; p) B5 u7 G
  651. JSR PPU_START
    ( i* I$ ^+ _/ k) [, K1 J+ T
  652. RTS. n. k2 V2 \0 _5 D

  653. 6 a3 t7 l5 l- k- ]
  654. BULLET_P1_ADDR:5 n$ X6 \" t. K
  655. .BYTE $21,$2A
    / X! B- s" O5 A$ u' r
  656. BULLET_P1_DATA:
    ; c8 Z5 _0 t* o3 J' K! Q( f& `
  657. .BYTE $00,$01,$02,$03,$04! v  T  H$ U) m/ q% g& a( j
  658. BULLET_P1_NAME:
    # n+ a# a" d) I% p' ]1 _
  659. .BYTE CN,CM,CF,CS,CL
    ; z+ A% n( C% a1 K6 |

  660. 0 `3 A9 f  N, a- X
  661. BULLETPPU_P1_PPU:" L+ Q; X  J& y7 R# B. e, R
  662. LDX #$00) v% v# o0 J' b1 ]
  663. LDA BULLET_P1_ADDR
    / I, \. _3 C  A1 s
  664. STA $07031 [: O+ f* {8 _3 L! d9 |. _: c7 j+ z/ R
  665. INX, \- w5 \. ~$ p* Y: `  R2 B+ u
  666. LDA BULLET_P1_ADDR,X
    - i: |& D2 ?( a+ L) K- g+ q# c
  667. STA $0704
      e) Q8 \7 _9 z* Z# t8 u; @
  668. JSR PPU_PROCESS
    ! B* [$ S4 I3 X: o( D7 D' X6 _3 v0 N
  669. BULLET_P1_WRITE:- }; @/ h( R/ z" k: U8 W0 Z
  670. LDX #$00
    " s' v9 m4 A+ L0 V
  671. LDA $AA
    9 F  V0 Y1 i+ C
  672. AND #$10% o" m: u) w7 R" }8 i
  673. BEQ C_BULLET_P1& {" }+ f& B: a: q+ N' ?; ?
  674. LDA #CS
    . a7 m+ y4 |" K0 M3 H& X
  675. STA $0705
    , |5 m) G9 M7 M! M  C- F
  676. BNE B_NAME_P14 y, @2 U$ R6 c# `1 n' l
  677. C_BULLET_P1:  I3 f4 K2 V+ b  L3 x; N; T$ D
  678. LDA #CC
    0 E; ?' f* ?% x: x: M, F' K
  679. STA $0705
    ' w0 p; _0 k0 h) n$ f2 j4 g
  680. B_NAME_P1:
    7 I; b: x0 H  e5 N
  681. LDA $AA! x2 V$ N1 h" I9 u9 B/ Z. }
  682. AND #$0F
    9 x" O8 ^' F  ~" ]# w, Z
  683. CMP BULLET_P1_DATA,X9 r, W2 R, `7 [: J7 c8 R% |
  684. BNE B_NAME_P1_RECMP
    7 q* Y7 y: Z! w9 |; S+ _% p) o5 s
  685. LDA BULLET_P1_NAME,X
    4 m3 x3 B( e  d
  686. STA $0706
    , p- W/ M) L  {0 X2 J
  687. B_NAME_P1_RECMP" t, L2 h2 M) k- w% x
  688. INX+ k, J' [' x- g( R% J
  689. CPX #$053 j; o* Y) d8 _0 R) k5 F. o0 K! N
  690. BCC B_NAME_P1
    - B1 f) b" i9 X. `5 Q; U( i9 f8 c8 U
  691. LDX #$02
    2 v+ t( E7 m4 n4 |8 J4 n9 v
  692. JSR PPU_START
    ( N$ x3 ]1 A" r9 m, ]! _1 W
  693. RTS4 t: |% a; t$ v) n
  694. 2 y% M5 H6 D; ?. G* A. |1 x
  695. 7 i) b5 {; ]" N, o2 ^& A7 X; i
  696. PLAYER_02_ADDR:7 e* z5 x1 C' e  ~: n' M# M+ w
  697. .BYTE $20,$B3
    ) D  K. A! a/ G& Y
  698. PLAYER_02_DATA:7 y* Z$ H" z' k+ c$ {
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND7 J  O+ Q0 B1 |& f7 K3 I  D1 L8 ^; V+ x% o
  700. PLAYER_02_PPU:
    " S$ @# P" w# \$ l) z
  701. LDX #$007 h  H& r) M' H- h: O" B
  702. LDA PLAYER_02_ADDR
    / G- c/ t2 g0 H* d* y+ V  j! o
  703. STA $0703
    " U  G% ~" ]& L# S
  704. INX3 {4 T# @' ]1 p# \6 x
  705. LDA PLAYER_02_ADDR,X: r+ b  ^, D2 o& [" X
  706. STA $0704
    5 i! W% D3 J% h' g* i! Y) `
  707. JSR PPU_PROCESS& l; l5 I6 A4 o
  708. PLAYER_02_W:3 f- L9 }* f/ O- {
  709. LDA PLAYER_02_DATA,X
    0 n5 q% q, N8 y7 y
  710. CMP #CEND( w" H# x0 R# e% B+ g) b
  711. BEQ PLAYER_02_START
    " W  H7 w, _% s9 `) m# Z% C
  712. STA $0705,X7 R3 a0 `, z& n* ]; r
  713. INX2 C7 j" h8 l# I; ?$ {9 a( S- S
  714. LDA #$00% d  l0 ~1 k+ s4 n
  715. BEQ PLAYER_02_W
    4 C0 {2 ^& ]$ h' s
  716. PLAYER_02_START:2 V# U/ y! H: P8 b% q# L4 n' K1 S  ]
  717. JSR PPU_START
    # k# N- e- K# c2 X
  718. RTS2 m! [7 M  v4 N- L$ v2 n) x
  719. ( N; U4 |: F; Q8 I- J7 ]

  720. $ r1 M/ ^+ r! D& w0 ?& w. e6 t
  721. RELIFE_P2_ADDR:2 Z. j& }; B/ @0 j
  722. .BYTE $20,$F3  n9 {$ {9 @6 S
  723. RELIFE_P2_DATA:0 A- a, Y0 [! F# r: W; |
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND  N0 e  R& |1 M8 r9 u
  725. RELIFE_P2_PPU:. L$ l* r" x0 D1 S! b
  726. LDX #$00
    : H+ _+ e6 H! \2 |, A
  727. LDA RELIFE_P2_ADDR
    " N. c3 I% a. z6 W( v
  728. STA $07039 v) k& I7 t2 ~8 p
  729. INX' ^) e" k0 I5 V: Y+ c) d* o: a  n
  730. LDA RELIFE_P2_ADDR,X
    ) S+ `5 k7 |8 a3 b# y) F
  731. STA $0704/ C1 E: f+ W" V/ ^5 P! N% @
  732. JSR PPU_PROCESS8 K- J0 m" v0 x; s. X
  733. RELIFE_P2_W:
    3 H1 l/ w" I8 m5 G9 S
  734. LDA RELIFE_P2_DATA,X
    ( P: ?- z! t# B) A. c5 ]) V
  735. CMP #CEND
    * s/ u' V: C, \* l/ W8 e
  736. BEQ RELIFE_P2_START
    - r2 ?8 q8 C# U# t2 G  s5 r
  737. STA $0705,X- h. r4 [/ A# E1 F( L6 Y5 d
  738. INX9 q& V7 B" v' L
  739. LDA #$00
    : z- N1 t* ?4 P" t" Z6 {
  740. BEQ RELIFE_P2_W1 U+ l" G! K" Q  O$ Z7 B
  741. RELIFE_P2_START:+ y+ k* t# m: m* }3 r/ W
  742. JSR PPU_START
    : O$ }. F( H/ `) X/ `/ l3 t; X
  743. RTS+ C% K# }2 s1 `* q! M. C4 h

  744. ( p% ^' `9 P0 G7 e3 e: h

  745. ! @/ z) F, {, ]7 h
  746. RELIFE_NUMBER_P2_ADDR:, E( Z; f  m: P0 `, h- Y1 I% T+ d
  747. .BYTE $20,$FA
    1 B' F6 h1 N/ E; y1 N
  748. RELIFE_NUMBER_P2_PPU:
    5 ?* B% G5 {% m% p4 M, ^
  749. LDX #$00( G# @3 ?% k1 d
  750. LDA RELIFE_NUMBER_P2_ADDR6 \  R1 b( t: ^$ m/ k9 S
  751. STA $0703
    $ e. Q) x: e8 _* F; o! ^. O
  752. INX8 K4 K$ }& n' e! J# Q2 O6 V
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    ' k5 r2 d+ Z+ p5 z+ {* F2 M) z6 S6 g
  754. STA $0704- W. u: q5 p" f6 L" [1 f) R& P
  755. JSR PPU_PROCESS$ h; S2 _% _( W% l
  756. LDA $339 U- c# t0 w2 b* d+ F" R5 D; A
  757. JSR LIFETODEC* u" S9 A& B7 I( w6 d, l
  758. RELIFE_NUMBER_P2_W:$ t! `) F$ W9 ~4 b. Q: n
  759. LDA $7A03
    ( p% l) O" @7 M) K' d, t
  760. STA $0705
    ; |- s) a% r& o2 m
  761. INC $0705
    ) I0 C7 i2 e( O7 r& F5 w8 W
  762. LDA $7A04. s7 q! V& j, h1 m8 @, _& u2 l  J
  763. STA $0706
      K; d0 D& ], d0 |4 p8 z* F
  764. INC $0706
    3 U# x, x+ l! j7 u
  765. LDA $7A05
    6 I$ I- ?0 B/ H+ w( G2 |
  766. STA $07072 c7 }) b' _, n* f+ U4 x6 a; _
  767. INC $07079 h0 ~$ ]6 R+ R
  768. LDX #$03
    ' k/ M7 T: z" l2 I4 ]
  769. RELIFE_NUMBER_P2_START:
    7 f" H( |" W) u! i
  770. JSR PPU_START  o7 v- b; ]1 t) c! ^. ^
  771. RTS: p3 A. o/ O3 v8 k( ~. v$ Y
  772. 2 L  w& T, O/ l
  773. WEAPON_P2_ADDR:
    3 c( Q4 W/ J' K/ Q1 ~3 M: M
  774. .BYTE $21,$33
    + \; q; G2 T$ g, d
  775. WEAPON_P2_DATA:) h) K4 u# m" w6 S
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND  b: m  k# d1 _/ B
  777. WEAPON_P2_PPU:1 h# _7 q' }% L0 u8 a5 q. u
  778. LDX #$00
    : b) z; F) T: Z+ ]! p, f' U
  779. LDA WEAPON_P2_ADDR' q  _7 A( F: q& n- [5 N, A
  780. STA $0703& |: e; e$ m, s# q; [# H5 R
  781. INX
    & I# R7 q. i' e# s. @  t
  782. LDA WEAPON_P2_ADDR,X0 E  a, _+ w2 y7 U' w1 n2 B6 c0 l
  783. STA $0704
    6 F6 d' S: w1 [4 B0 E" V
  784. JSR PPU_PROCESS
    5 T, x4 b' D. ]+ d/ U. D  F' {
  785. WEAPON_P2_W:
      J5 G' I- H5 B+ Q" a
  786. LDA WEAPON_P2_DATA,X2 o4 b' u) d) `& I) h5 n
  787. CMP #CEND
    0 x6 C; R( u' x4 C
  788. BEQ WEAPON_P2_START
    4 }) S: y8 a+ {$ `* f% y3 C6 V
  789. STA $0705,X
    # s! R3 s5 i0 I, M" D
  790. INX% X: ]/ Z& I- G# I
  791. LDA #$00: P5 t: x( P% t) X
  792. BEQ WEAPON_P2_W4 M, N+ ]" v: Z3 e) I
  793. WEAPON_P2_START:
    ; a  _. H, p9 g# u# R8 p
  794. JSR PPU_START
    . \1 U' q' G' X0 W7 o  W
  795. RTS% Z) D" n% j0 B! {; i- G
  796.   f& t- n; k, O: [  B
  797. BULLET_P2_ADDR:2 y) \* z' g6 n; r$ [
  798. .BYTE $21,$3A
    2 L7 d0 _: w  q' u4 z. g+ |
  799. BULLET_P2_DATA:& X& x' t  O* v- Q7 k# @2 H
  800. .BYTE $00,$01,$02,$03,$04* n6 h# s) m3 y( r
  801. BULLET_P2_NAME:
    & c7 [  P, N* a+ ^4 [
  802. .BYTE CN,CM,CF,CS,CL
    , n+ j) j0 r" a* q3 ~
  803. 0 u' B; S/ p* D9 ?: _# ]9 U1 }3 e
  804. BULLETPPU_P2_PPU:
    / e7 I) p! c1 O) ~8 b
  805. LDX #$00- }" @* [( h7 b+ m/ I% r# O
  806. LDA BULLET_P2_ADDR' T" t% v; f0 I, T( |" Q4 F) p
  807. STA $0703
    ( X4 ~! L2 |7 w( }
  808. INX
    ) z  w" p" j: W& ]: L, Q% t
  809. LDA BULLET_P2_ADDR,X
    , q- J, B9 B! f( g5 A# N6 y
  810. STA $0704
    " l* U  A* X- f5 {9 m% ]- z
  811. JSR PPU_PROCESS  O; z9 V/ u9 Z! _
  812. BULLET_P2_WRITE:! s" f6 S- R( @+ C: t
  813. LDX #$00
    8 Y* q" {* L  c. u! T5 H8 @
  814. LDA $AA
    / O) \5 ?8 E$ ?/ C+ f
  815. AND #$10: N5 O4 i  p7 U5 Y% G; t7 U" ?
  816. BEQ C_BULLET_P2  g4 X! Z. e5 ^' y+ S- a
  817. LDA #CS
    % b, Z, Y$ X7 o$ Q( o
  818. STA $0705
    ( r* d" b- V% v8 [
  819. BNE B_NAME_P26 s7 ~0 y" p) a7 a" E! A8 l
  820. C_BULLET_P2:2 P; l* L* c. T1 q4 e
  821. LDA #CC
    6 k" n  r& e2 `( a' I' Y5 c+ B, f
  822. STA $0705
    ( P% f+ j4 _% K: T
  823. B_NAME_P2:
    ; @- V7 s" e% Y( x. m, @( R
  824. LDA $AB, G2 B% L" ]; Z1 n
  825. AND #$0F7 Q* u% J" K1 J* U1 y; r. Z
  826. CMP BULLET_P2_DATA,X. O2 C; V* e) M; |  ]& w" g1 {6 I
  827. BNE B_NAME_P2_RECMP
    2 f7 M6 O- f/ h& A6 o! Q! M
  828. LDA BULLET_P2_NAME,X! V: A; P( Y- B  @! ], p
  829. STA $0706
    7 l$ A6 _; X/ c" V: C: o
  830. B_NAME_P2_RECMP5 |1 }' n4 O9 H6 I8 M2 H6 F$ Q) A
  831. INX+ p" w: j, t  W7 G: E$ g1 E! s
  832. CPX #$05
    ' f3 A$ M1 B, U8 b( z6 g0 K; e
  833. BCC B_NAME_P2- N5 R+ H( o, b1 X5 B( G  J! J
  834. LDX #$02& C0 o8 F4 c( I! o2 `- C+ F) I
  835. JSR PPU_START
    2 [( `- }: Z6 Z2 j' P6 y
  836. RTS
    " z6 t; x, L4 V8 X& [9 ?( ^
  837. + G: h/ J0 \' i4 o8 f

  838. - @; D( b: C4 r8 H' b$ \
  839. 5 t+ H0 j/ u7 K, b

  840. + ?  M2 L  v4 ^' g& j

  841. % c& K2 `; O: _6 E2 u$ |8 o
  842. ' ^" \* i; \! q. Y/ A
  843. LIFETODEC:                ;十进制转换' y9 i$ N. V- R/ r' L
  844. LIFEL1:        ;initialise2 b  t, A" c/ L) L2 N
  845. STA $7A00        ;$7A00=F3, O. i1 U. }) t$ |$ z9 [& Q
  846. LDA #$00+ D1 |  A9 p' F% i# i0 E. B
  847. STA $7A03        ;$7A03=00+ U* @/ `7 r( h5 t; T  ]6 l
  848. STA $7A04        ;$7A04=00  Y3 Z. G" J$ @$ p% N8 j: U' J. T0 ^
  849. STA $7A05        ;$7A05=008 T: l: H# _: V1 P9 }1 q5 ^( }# t
  850. LIFEL2:        ;copy data $7A00 to 6001" H& b9 v3 g# {5 v8 y+ V7 `, X
  851. LDA $7A002 r0 i; z" I- H- v0 N. h
  852. STA $7A019 g% K5 Z+ l8 ~2 E

  853. 8 g5 X$ v) J& K; a
  854. LIFEL3:         ;hundred
    : @1 w0 Y1 f' v
  855. LDA $7A01: l. V+ K" l$ a9 A! q8 C; M
  856. CMP #$645 _" ^/ K. G; B  M
  857. BCC LIFEL6                ;$7A01<100 goto L6
    # O. Q1 y# f4 D9 h6 L1 J
  858. LIFEL4:. p  \+ Z$ ]: l
  859. LDA $7A01
    6 Z% H* u( c1 ]1 w- X
  860. SEC
    . u6 n8 ]2 R/ |. R& _! i
  861. SBC #$64        ;$7A01=$7A01-100
      ?! u+ r: @6 o" p0 [, b
  862. STA $7A017 Q+ p- h$ K0 u, n. B. Y9 q0 l( k! O
  863. INC $7A03        ;hundred++
    " t9 D& {4 R, X/ U
  864. LIFEL5:
    " I" H: u. H5 Z) ]# k( a
  865. LDA $7A01
    8 W; R9 W! \& }& m- o
  866. CMP #$64: ^% p# K3 l. Q. U/ Q, M: \; c1 n
  867. BCS LIFEL4                ;$7A01>100 goto L41 x' E! G& \5 n; }6 m- z+ U* ~

  868. 7 Z( a& Q; `3 j8 Z$ V+ d, G2 ?$ t8 [
  869. LIFEL6:        ;decade
    4 ~, Q3 B8 Y7 T" n; l! z
  870. LDA $7A01
    8 F# g" L0 F- N. s! Q& F5 [
  871. CMP #$0A) V1 V' z8 ]! W% ^0 P
  872. BCC LIFEL9                ;$7A01<10 goto L9
    5 y7 J" g; {) e6 @9 ?4 z
  873. LIFEL7:        " x! r6 T* k4 ^! \8 A# S
  874. LDA $7A015 z# \( H' v/ i5 O  t
  875. SEC9 v2 y: R& q: i
  876. SBC #$0A
    # u; [% l% B  K* F" V
  877. STA $7A01        ;$7A01=$7A01-10
    & h3 _) b. [8 g( |& Y, @/ Z$ q
  878. INC $7A04        ;decade++
    5 a. l2 l& ]$ t% l3 r6 S
  879. LIFEL8:% x" P0 j0 E( t
  880. LDA $7A01
    + Y& D* t1 y5 A) [9 B
  881. CMP #$0A/ H; O) N+ O! N+ V1 P# u2 }! N+ Z
  882. BCS LIFEL7                ;$7A01>10 goto L7
    % `( W  o! G6 Y/ I1 m5 |' J0 t
  883. ;unit
    * D( ^" ^( p/ K% N. z
  884. LIFEL9:. I; {3 b1 O. b9 g* k8 r2 B' r: C
  885. LDA $7A01        ;$7A05=$7A01  C; G, m# X6 l2 |
  886. STA $7A05        ;unit
    - m& N4 _/ n' ^  s5 |; z- [
  887. RTS        ;return& G. h8 M6 A; X9 l+ v; Y

  888. 4 w8 l$ u' b. D, |6 @) p

  889. # r/ H) v- Z8 W: e
  890. . v% x" M& b7 K7 n- b4 W4 ~
  891. PPU_PROCESS: ;PPU地址处理程序1 ~/ K! R- L/ I4 }' C! m2 a; J
  892. LDX #$00" @+ B; }- Q8 `3 X
  893. LDA $FF8 ], A- J$ D: j% {+ b
  894. AND #$01
    * F1 ^/ b8 e! v. M/ a" d
  895. BNE PPU_2400_27C0
    3 R& H. z/ P2 i' K: r6 J
  896. PPU_2000_23C0: ;命名表1' N4 N6 k2 ]" n* D
  897. LDA $0703
    " l. V, J$ i2 C* ~+ S8 _- i
  898. AND #$FB  ~2 ]. O$ L+ j$ F6 H% [+ ^$ a
  899. STA $0703
    6 C+ \) u" R) E$ }8 l
  900. RTS3 s! F" q7 `4 @* O/ @# j% ]: W  f
  901. PPU_2400_27C0: ;命名表23 Z+ S0 S6 G% t2 g$ I$ _! _$ a
  902. LDA $0703! W8 x2 m* Z2 u* B
  903. ORA #$04- {# o/ m" y; U
  904. STA $0703
    7 ~& k9 i' H, ?0 B/ W, e3 Q
  905. RTS
    , Z$ k6 B  T( g
  906. * N/ X$ ], v0 o8 i  q5 k* a6 B; O
  907. PPU_START:  ;PPU数据写入' L7 e: E$ t5 W$ _* H% f% I$ S; Q
  908. STA $21
    ) I9 }( S9 ]9 B- M/ n! k
  909. STX $0701
    + V) s% h$ m6 L
  910. LDA #$007 d. |; c0 _8 ^
  911. STA $0705,X
    7 q5 c9 m7 \0 g+ `
  912. LDA #$01
    ( f% b4 `/ {/ Q0 P0 E
  913. STA $0700! O& \. R/ \& c0 I9 h
  914. STA $0702
    + h, k) [  x7 @+ D
  915. RTS
    1 v! q: a7 ^) y

  916.   r6 `6 y+ V; C5 h
  917. , J! r* L  N: ~0 T% }

  918. # A& s& v6 ]* k4 g! p
  919. - {+ Y+ e: u1 L+ @
  920. 9 s7 X7 c. r' v( T- X5 H
  921. 7 C' I% r0 t. U1 S# z
复制代码
5 i- }0 [  U; ?: m

本帖子中包含更多资源

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

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

签到天数: 2364 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
+ v! }2 J) `8 m3 G! w

签到天数: 2583 天

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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