EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    4 Y% \* l/ @5 Y
  2. 作者:FlameCyclone
    1 z0 ]3 m5 d  Z9 i8 t
  3. 时间:2017.2.12
    - Z2 o2 a& I9 T

  4. 1 K! p- G+ v8 ~2 [; q' h% t7 `! g
  5. 按键跳转:
    7 k3 _2 u3 b" U6 U6 P7 _& W, E
  6.         C1EF:95 F5 94 F10 |9 I* [9 K) g" {1 v4 C
  7.         C1EF:20 70 FB EA
    7 \7 C, m1 h8 M2 j
  8. 3 A  X) m2 u  \0 V$ v7 e' g
  9. 滚动偏移:
    4 ^$ y, T" E/ M7 a" J' \
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20/ F* N" m% T& _, A
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    ! G7 a. w6 K1 m/ V( S: y

  12. 3 s! `1 h% I. B8 L
  13. 背景调色板:( V: {% X; D/ d  B' t1 ]: O1 \9 x
  14.         CF20:9D C0 07
    0 ]2 M# n+ c. @) I+ B5 b( W# A
  15.         CF20:20 A0 FB5 i' H/ \! L* \  m" z# h" _  H

  16. ' I3 h) e7 T3 u4 T5 U' N; N* T
  17. PPU BANK号:5 ?; ]+ _; E( b' \
  18.         C8C9:9D F4 07
    2 Z% |7 j, |" ?/ @
  19.         C8C9:20 B0 FB
    / M4 o; j( ~8 V4 H+ f6 t' ~  U
  20. 6 h: }& A1 R  w9 V9 E2 |  T
  21. 按键跳转:
    7 J; l  c( C+ h9 h
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 200 K2 b$ L6 @8 t3 p  w
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 202 _" `2 R& N  ^# W2 a) D
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF  ~0 ~2 {. Z" f" \1 R$ u; @% E

  25. 7 |2 U( V- i+ o) e
  26. 背景调色板:
    ( o% t$ j' t  c, o1 k) g
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF; e, b3 V- t2 n" I, l1 Z: |

  28. 6 ~/ s+ j7 e  P" a
  29. PPU BANK号:9 n7 H5 }# G- o1 R' O3 C; W+ L
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    1 z! l/ I* k7 z. i: U

  31. 6 |5 Q; P6 _3 @1 P9 [$ \/ _
  32. 滚动偏移:3 w5 k7 T9 @9 ^7 h
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60
    + C( R- a% @* Q4 q8 x# K4 X! s
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF; H# W9 Y. I/ z9 p; }- e/ f
  35. 3 I& v: x7 C# [( J$ {6 K
  36. - C- M- t( `' L/ O+ S: ?: `
  37. 切BANK后A000:- p- k; V1 k# n# M( m+ Y0 ]
  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
    # V4 ?4 i) D  x' N% x. S2 Q/ m

  39.   {, Z5 L# w! G5 x' y8 K5 w+ \! O

  40. * n2 m7 O. G1 N8 i+ j
  41. 6502 simulator:+ l8 B. K  Q% H5 K$ O- [# c: t
  42. PPU写入程序:
    5 S  M1 k$ B) y% G0 U
  43. .ORG $A000
    4 V2 o- D6 B% L$ I
  44. CSP = $800 p( G! O! \# u; U) Q  ^4 |
  45. C0 = $81
    % _6 e, k. L& E6 o' N1 Q8 N# i
  46. C1 = $82- }8 {, A) S' i# z4 ~: I* H6 \! u! H
  47. C2 = $83& G# F1 b& H& B$ m1 }/ b
  48. C3 = $84
    ) D& c  `: p, {4 m+ y6 P4 h9 ]! G
  49. C4 = $85
    % X5 t# o& t* B5 t3 j8 S% u
  50. C5 = $864 _4 d! w' I2 Q8 o4 u
  51. C6 = $87
    ' p& a9 `5 ^+ J( k
  52. C7 = $88
    & v3 S6 E! p6 b# A1 J" z: R& V
  53. C8 = $89
    5 O6 @! d$ T0 B/ y
  54. C9 = $8A
    7 G$ ^9 W% C! _. g, i
  55. CA = $8B
    8 g# J0 _$ O" g7 K% `: X
  56. CB = $8C  ?  s: P+ F8 D1 Q0 G3 P
  57. CC = $8D
    . t' E. h4 T/ g! e& A# U
  58. CD = $8E
    + D) o0 _/ x0 h3 f( R8 H/ i
  59. CE = $8F
    1 q" |$ r9 N' F* K( I
  60. CF = $902 J0 o8 J2 K; N) A* a4 }
  61. CG = $91
    ( S( P: Z( L4 k+ y0 b
  62. CH = $92# J. J! q, G8 k7 S* T7 f( y" ~
  63. CI = $937 }- A+ N, D8 v) F
  64. CJ = $946 y# o- V$ y5 _: L" R0 w  C& W
  65. CK = $95
    1 Z( B# {& g+ m6 ]( h! \3 {
  66. CL = $96
    ( J1 o7 H! r2 L: s# v" w# O
  67. CM = $97( ~9 y  A& V& L; J4 U& g& ^
  68. CN = $980 z8 P1 y: p2 l& k3 C
  69. CO = $99# k1 L# ]- X& L
  70. CP = $9A/ u$ P; |6 ]: f* U% d) f6 ^
  71. CQ = $9B
    . g% w) b' J) s4 W4 u
  72. CR = $9C
    ( D4 g4 `8 \* m  Q
  73. CS = $9D& L3 Q" \* x0 m7 R
  74. CT = $9E. ^0 h$ P" z6 Z) h6 X, s9 {
  75. CU = $9F+ g( b( z7 L9 E8 i3 H6 i8 m
  76. CV = $A00 _6 g7 i: `3 R/ f& r
  77. CW = $A1
    . Y' I5 U+ e2 C7 D! y7 t
  78. CX = $A2
    / S- a0 E2 _' @# d" e; \
  79. CY = $A3# u7 s' [9 P) o9 A
  80. CZ = $A41 U1 y, d$ @7 \" b
  81. CEND = $FF7 `! v* w# o' U( Z/ D2 g
  82. " C5 O" [. y, R/ @0 a+ W, q1 I

  83. " \- m" c( `! Q
  84. CMP_RE:
    : q7 B, f( F3 C, E+ i6 h4 a9 t
  85. LDA $FF, Y/ G9 x7 R: j' u1 X1 X! ~& \
  86. AND #$7F+ a- B6 X. U. V8 [( \
  87. STA $2000
    : ]# t' ^0 L- j/ V; D& M% u9 ~
  88. LDA $2002
    7 J; m; e$ x! g! ^8 O$ r+ n. o7 d
  89. LDA $25
    & S* k' Q: D6 A  ?" @) z0 Q/ M$ D1 w
  90. CMP #$01- s: c" r1 \! z2 N9 h
  91. BNE PROREG
    : _: Z/ Y7 c% i" K
  92. LDA $F5,X, i& s9 T: q( H1 F
  93. AND #$CF
    $ G* V4 P3 t  D, g, v
  94. BEQ PROREG8 d) i( {( p  y. R; m2 R
  95. JSR PPU_CMP+ F( A# a0 |9 b. G+ H
  96. C_RE:5 T) {4 B  A* n. Q& i' m& p! b
  97. RTS
    2 m) T! X- ]8 ^
  98. PROREG:
    8 P8 Y7 Q- B/ x, R' W0 |
  99. PHA0 M4 _% b' F7 ?. a# g+ a4 M4 k
  100. TXA1 S" }+ W5 `3 e" h5 T  z1 e6 L! P! d/ Z
  101. PHA' e' t/ Y  N0 c, t
  102. TYA' @: f# G5 H# a! ]: @5 ^; J1 @
  103. PHA. j" G- l" z1 o0 A! D
  104. LDA $25( }# ?8 k1 w; Y: U
  105. CMP #$01" q1 J% s2 M/ A8 T5 Y
  106. BNE RE- k$ }: K, U3 J5 Q) _; S
  107. LDA $010A. F$ f  W. W0 r' u( @. D% j( Q
  108. CMP #$006 x4 ^+ F6 U/ t0 W, |& h
  109. BEQ P1
    9 m1 W; E3 s3 e% e: o+ g9 u5 x
  110. 7 L9 H/ w# Q# V( @, Q
  111. RE:9 a: C: _8 \  t4 U" ], n4 f& s
  112. JMP PPUWRITE
    ; q" f: }* k0 a) _
  113. 1 G% r: Q: s3 i. {* e3 {
  114. P1:                ; 条件判断
    7 X0 q+ n% Q) \8 F1 G
  115. LDA $7FFF* j: p1 p& O) z6 Z* o. X$ b9 ^
  116. CMP #$FF, v" [6 n6 q% ]3 w
  117. BNE P1RP
    8 l- J- X! c9 x# }7 r8 ]
  118. LDA $7FA0
    , h) f: j, z5 V; O0 \
  119. CMP #$00
    9 D7 ?  U) }, R8 T8 w7 T7 _1 U
  120. BNE P1CMP
    3 [1 H, y: ^' C
  121. LDA #$FF
      j! F' X4 m  ^' w1 j
  122. STA $7FA0
    4 s* `/ f% A2 x, T% J4 M
  123. JSR CLEANA  \0 w& B# }  {" F
  124. JMP PPUWRITE
    . \8 W4 |7 Q6 _1 u) ?" ^
  125. P1CMP:
    / @. g5 g+ h% K( u0 v4 [
  126. LDA $7FFF* M9 C$ G$ M* I5 i4 R3 h
  127. CMP #$00
    : S: x8 d# ~7 U/ p: K1 X
  128. BNE RE8 l3 O$ Z0 }7 S. q5 k
  129. P1RP:
      U7 p& U: P/ v; G% @$ v: H" \
  130. LDA $2002# w" ^1 ^3 a$ L: l6 V4 }& t
  131. LDA #$00
    * i$ H+ T* {; T( s# ~# i9 T, ]. z
  132. STA $2001
    0 b# N0 [8 K9 m* x
  133. LDX #$00
    8 ~/ Z, L, ]8 }/ }
  134. LDA #$FF
    ' P+ Q- z5 {9 w2 B# T; `
  135. STA $7FFF4 u) u* a/ P9 i- B
  136. STA $7FA0
    $ T5 i6 G. `) P6 {* C7 Q/ f6 B
  137. JSR COPYPPU
    % K+ m, U1 {, N1 ?
  138. PIRP2:9 h7 \3 D9 v0 x, h% N
  139. JSR CLEANA) o% U! ^( Z  h6 l6 z  C
  140. JMP PPUWRITE
    0 W( Z* r: i2 ^9 L

  141. 7 {1 d0 c7 r* f/ g
  142. COPYPPU:3 k% Y; i" ?0 [5 z( F$ ]- x1 q0 D
  143. LDA $FE
    % R" G. J$ G, L8 s# C6 M# v( z
  144. STA $7F504 o8 w* Q/ Q* x6 u( S3 {4 W! Q
  145. LDA #$08. q( [5 n2 z- o6 E
  146. STA $FE
    1 `" f) B" e) l/ S" Z
  147. L0:3 g3 m' w, C: p7 O) w. O
  148. LDX #$00
    # V2 f, b- e' E) F  j: r
  149. COPY_07C0_07DF:
    ! b9 c3 {. I' Q
  150. LDA $07C0,X
    1 n1 c1 v0 E' `5 p, @4 N
  151. STA $7F00,X6 i2 ]! j/ r: L, [
  152. INX1 }* w  k0 b, |- s2 A
  153. CPX #$40
    3 Z/ K2 T& k. D- j4 U  h% J
  154. BCC COPY_07C0_07DF# ?) G3 B+ W: S/ G! G* p9 Q
  155. LDX #$00
    1 [+ D1 |4 o( y( M0 I
  156. PPU_07F4_07F7:3 A' s0 M5 u  j1 F4 i
  157. LDA #$00% `0 @) |- y6 j
  158. STA $07F4,X( P0 Q5 ?# |/ b. D- L. L+ C6 q
  159. INX
    ; I" U& M( A) y5 o$ [3 A( H
  160. CPX #$04
    ; p  N, z1 S, E# K1 `
  161. BCC PPU_07F4_07F7
    , z* J9 z! d( P- C
  162. LDX #$00
    3 j8 ]. b  V- u+ Z
  163. COLOR:
    + w$ ^# ^7 r; P: ?
  164. LDA COLOR_DATA,X/ C4 e7 [  B3 Q4 d6 o8 T! M0 ^5 D
  165. STA $07C0,X
    # o4 P% k. ]8 h6 f
  166. INX
    ' e3 \  e* i$ h. i
  167. CPX #$10( E7 G' ^& e) Q, b8 ?
  168. BCC COLOR
    ' X% _4 U8 G9 i7 k4 m
  169. ) @4 j; X, ^3 B  o8 s
  170. PPU_COLOR:
    9 \- D$ ~) e, f3 L
  171. LDA #$3F
    ' A9 N2 h, F" B" `* L
  172. STA $2006
    # e+ l! y* V; B; Y
  173. LDA #$00/ h) Y4 S: x' q' ~$ j8 H5 Q! l" D
  174. STA $2006
    3 _7 g; R; m' U% b3 [9 ?
  175. LDX #$00: f$ O! E; B8 Q; {
  176. PPU_COLOR_W:  x+ U- I1 X% _- O+ @5 M/ R
  177. LDA COLOR_DATA,X7 N- ~" C' X) e% j
  178. STA $2007# a* w9 u& [4 p8 l
  179. INX
      D$ c9 P+ u  f( U" o  l7 I
  180. CPX #$10; U1 B1 e) M& s+ t, z) S
  181. BCC PPU_COLOR_W2 @  I3 q5 h& h( Q3 ?; F
  182. / a3 ^. F' v5 ^, G/ F
  183. 6 o! m4 X2 V1 {5 i# i
  184. LDX #$00
    # b8 U5 P) t" K- Q1 {
  185. LDY #$00, X) h/ \2 H$ \9 q
  186. LDA $BD
    0 @3 }7 e1 P3 L3 }' V9 h' O* c1 I
  187. PHA
    7 ]$ H/ m) z* Y- v  I4 _
  188. LDA $BC3 n$ q+ m) T" U4 Q
  189. PHA
    . F4 f# O6 u( w
  190. LDA $BB
    ( \0 {( N! a1 a- F9 i2 e
  191. PHA0 P- U+ a* [! d2 D
  192. LDA $BA4 J- S  m( @: a. d6 H+ J
  193. PHA
    $ q( B$ G( m8 O) u+ u
  194. LDA $B9& M  v( w; Q& `/ _/ G( h  d- b% Y
  195. PHA
    4 K. r8 F" g. y8 i
  196. LDA $B8
    $ l: ?+ Q9 o8 w! H$ _9 R. F
  197. PHA
    ( ~/ M6 F6 l, Z$ A8 T  }
  198. LDA #$00( v* ^1 `4 S2 E3 s, j
  199. STA $B8* h4 [5 l4 Y1 z4 i- p4 R
  200. STA $B99 j4 e4 V9 ]9 n
  201. STA $BA4 H9 z$ u! I2 m* {
  202. STA $BB
      f! T8 G6 W3 r6 H/ G
  203. STA $BC' Q9 G) c) {8 a; @. t& J5 g
  204. STA $BD
    1 t+ m% j9 t7 E) k- c4 j6 u
  205. LDA #$00
    " b: o/ E6 ^% u: }% ]
  206. STA $BA. r7 U: n* i6 H
  207. LDA #$20% H, B" r8 Y% ]! u& S; J: {
  208. STA $BB* h, c# \  v7 y) U1 C. p( t
  209. LDA #$00; N) A: C6 `: g7 s0 v* U
  210. STA $BC$ {- c5 C+ q7 l
  211. LDA #$60' z6 o7 F, u, B" k
  212. STA $BD  g  X0 n: ^0 D4 S8 O! X6 l

  213. " c. I0 H+ o1 T& l3 R' b; S
  214. L1:                ; PPU复制
    - {9 Q- Q1 j4 F/ X% b, p; s& q3 W
  215. LDA $BB
    3 C8 r  a" \& F# W& G
  216. CMP #$28
    0 U  i2 N8 Q; p1 p, o* M& ~
  217. BNE L2
    7 ]7 n* C2 K# _
  218. LDA $BA
    ! q( X0 n8 `! h+ `. b. ]* k
  219. CMP #$00  ]  g! I0 r1 l- {4 n5 a+ J. B  N
  220. BEQ PROADPLA, G/ `; X* S; q( E, \) q0 G( n) i
  221. 7 A4 x* Z* O# A
  222. L2:
    4 Y* Y9 a  y9 L/ P- V4 A/ |7 Z, a
  223. LDA $BB
    8 W+ z! E* b( ?; s; n2 H
  224. STA $2006
    - v+ J6 i) Q& V5 s, |/ C' S# g
  225. LDA $BA
    4 R0 T2 ^. P: G7 M9 \' i
  226. STA $2006
    + L, R4 q1 y8 I1 j( B3 O8 j& k& K: ]
  227. 3 {5 H! u5 B. H, D  P8 d- h, t4 Q" |
  228. L3:
    / q/ H7 |6 x3 G: J0 t
  229. LDA $2007
    % @6 b1 ?1 s' h) Q
  230. LDA $2007
    7 E# i9 `( R% g
  231. STA ($BC),Y$ }; K; @- m) S$ f
  232. * W) O) C* ^& u" `: C0 C5 ^8 O
  233. L4:
    7 i  H6 `" c' D
  234. LDA #$00
    - {( Z0 W5 N3 w! c1 R/ q3 n. p
  235. STA $2000
    * C+ F* l' H$ x' [
  236. INX
    # t, ~; u& q8 s! G- h
  237. INC $BA& s# I& i* K0 Q$ U: g; }- q5 ?" |# W( @
  238. INC $BC" \6 T0 l+ i7 V2 B, U) _2 e
  239. CPX #$00
    + s; J: N9 M/ y1 x6 [# p) J
  240. BNE L1
    5 U" K# ], r' _/ e+ a$ E6 n
  241. INC $BB
    - w% N: w( ^4 M
  242. INC $BD8 `% r+ {& T% r% G- ?- x* e
  243. JMP L1# ?5 f1 z3 o3 G+ F' p
  244. 6 r. O- x. D* l2 _+ B& ^
  245. PROADPLA:                ;出栈! Q  i0 u5 c+ j0 @0 G9 Q' f' T' w
  246. PLA  Z4 y8 A6 V- s+ \
  247. STA $B8
    $ F- o  \' `- A8 Y
  248. PLA
    7 }9 [4 n/ |6 [% R8 ~4 x- m8 _
  249. STA $B9# _' Z# m- X' p8 w. o
  250. PLA# U$ u% o5 F9 t. J6 c
  251. STA $BA/ b) o; e2 g/ m% N$ h; }7 m3 O
  252. PLA3 q6 V$ }4 q6 G1 `
  253. STA $BB
    4 D) k1 c- B0 e: N' R/ y
  254. PLA+ N6 |! G2 T# d, h. a* v
  255. STA $BC
    ; h0 S  B* u. n* `
  256. PLA
    3 U1 @3 y4 t4 u6 W* S, n
  257. STA $BD# {- t1 i2 @. V) W
  258. CPRE:
    4 J6 X  z0 ~3 L5 d
  259. RTS; R1 Y8 O- o9 R
  260. 8 R6 S( i5 S  L( v
  261. CLEANA:                ; PPU清空% \) e( F1 p) C( u
  262. LDA $BD% ^4 S! G' m& B$ l2 W; P- v
  263. PHA# u' Q9 T9 G0 D7 R! R
  264. LDA $BC& O( D) p# e: Y( ~+ a& w
  265. PHA
    ( o! j- X+ U* W0 s
  266. LDA $BB6 @/ o+ y9 x! u  R6 s0 s! [& J
  267. PHA% ]* h/ X6 w! ^
  268. LDA $BA1 F8 ]" J/ c! l$ O% z
  269. PHA
    : W7 M. P$ d2 H# Z
  270. LDA $B9
    - A) n* m6 E# {  e& c! h3 }6 s
  271. PHA) O+ ^7 K) f3 F
  272. LDA $B8
    7 w1 _( O8 B, m% ?5 C% r* P
  273. PHA
    2 e7 l$ `* m" U
  274. LDA #$00& d5 i$ D9 u8 M0 u; |* `( q1 _( s, m* C
  275. STA $B8# o( W; s3 G7 J
  276. STA $B9
    0 |' @  E9 r3 ~6 o) U6 ?
  277. STA $BA
      J* I2 f. \% d! F
  278. STA $BB, E" O* N( m5 j+ d
  279. STA $BC
    . R2 K  b0 ]% ]9 R
  280. STA $BD0 z( ]: x' {6 `. j% r6 B
  281. STA $2001
    7 \3 H8 s/ y6 C( o, l8 K  r# K
  282. LDX #$00  q3 `1 F! z- D; l
  283. LDY #$00
    ' f6 G$ o9 U+ |  i# M/ p
  284. LDA #$000 b& ?; P- n# V+ M
  285. STA $BA
    7 e1 ~8 l  w; G4 P  v( x* X4 k
  286. LDA #$20  {1 W3 ?) {+ W8 W* d
  287. STA $BB% T8 A, q+ b8 U& e

  288. 8 G; C; d. [. k. ~# `
  289. CL1:
    1 M: p( |2 U. P  N% o
  290. LDA $BB0 g5 L0 k; C& R% S
  291. CMP #$28  J1 j9 |3 m9 d, d3 ?/ ?/ r2 u
  292. BNE CL26 I: ^4 `- T0 `0 j) P5 f7 c! Q
  293. LDA $BA( W' Z3 c$ e6 E" J$ _$ p) f
  294. CMP #$00* Z0 v3 g: \, M9 ~0 m/ ?5 m
  295. BEQ FREEWRIYE
    ' \6 e7 o4 M, i/ R: m2 T1 ?* `) Y- |

  296. 1 T% @9 t3 k( F& ?4 Y1 m/ {. u
  297. CL2:
    $ z! s! ^1 [- ?7 y  N0 }
  298. LDA $BB
    7 B/ V/ F  y& ]+ D+ ~/ \
  299. STA $2006' h! a1 ^! F, f
  300. LDA $BA3 A+ `$ i. K$ O3 A6 a9 D$ r
  301. STA $2006
    ' d! B( s# p: c+ x9 c0 K( L4 m
  302. + y: d) D" K/ L& B% T5 Y
  303. CL3:+ K1 T- o6 P) d" V+ D: o. C( o) U
  304. LDA #$00* P: _+ y- A1 k5 H
  305. STA $20077 {) q% [5 c; `/ F- D  y) N

  306. 9 F! |8 D$ o# @9 S1 b
  307. CL4:6 r7 \/ q# \2 h, l' C
  308. LDA #$00
    , N1 X, J2 A/ I. p* `
  309. STA $2000! Y5 n' M# ~! d7 i# a' V) e5 Q
  310. INX7 b* S  a% P* ^
  311. INC $BA
    : y; |' U  F+ }  k" `' g) `
  312. CPX #$004 E1 r" Y8 c3 s# K- V
  313. BNE CL1
    $ h, u, z/ \) |, ]7 {
  314. INC $BB" k( i5 F/ u0 c$ i
  315. JMP CL1 ) [% W9 t# X" @* g

  316. - ^" u: S. [% Z" _

  317. 9 i$ O! I6 _' g
  318. FREEWRIYE:5 @# Q- F& S  d

  319. / F: s) L3 T% a. Q; L& {' X
  320. NOP
    % v% J8 H5 L& F$ U% u1 x- }1 `1 k& n
  321. 1 ?8 H( n9 Q- K# X# Y$ L  p
  322. , a# O1 Z& _4 G' O
  323. - k  j; y: ?5 x! m% K+ m

  324. 9 v. l6 P% S9 e/ F9 V$ c- b
  325. # w6 ~3 o) G1 L- D. [/ `
  326. CLEANF:                ; 恢复现场
    + ?3 ]2 |" R8 o" ^! n( ^
  327. 5 n, G! G2 a9 r0 H" P6 S9 c5 g$ t9 A1 O
  328. PLA
    1 a9 a. H! m* h! }
  329. STA $B8
    6 W; s( U: |- j3 P( X- e+ }
  330. PLA
    % J9 f, P! L7 W- {3 v7 t$ {. V) e
  331. STA $B9
      ^: b* J7 s( W6 e& S
  332. PLA$ ^: A! l! B. R6 u- k) m6 R+ `
  333. STA $BA1 N; }5 S7 R4 C
  334. PLA
    % J# \3 y( _2 N
  335. STA $BB
    6 k4 G( h. D) |. W: ~
  336. PLA5 W4 B# w1 M, |
  337. STA $BC
    3 W$ [3 s- U/ L! ?6 q- M
  338. PLA
    6 P! h  r6 ]* N/ R2 m
  339. STA $BD/ q6 P/ o( j0 a& q& c
  340. CLRF:2 |) z5 B( @& H6 U+ C  k  J7 t4 y. H
  341. JSR FREE_PPU) p4 }( Z5 _/ T" Z8 Z2 d
  342. RTS
    3 S- X! v* |3 q" p2 s: O
  343. " z3 c- m) k0 f: @/ e- K2 [& P: K
  344. . L, Z6 X4 h- t4 O; t( r
  345. PPUWRITE:    ;PPU写回& p. Z' m2 \  v0 o, R
  346. PLA
    7 S& `6 _2 ?& u9 J' h, R
  347. TAY6 ^* A* b( e! X" l  }+ x/ k+ S
  348. PLA
    # ]/ x- G; g; Z  W8 k" d& d
  349. TAX1 Y$ g) ^; W- j- e" a
  350. PLA
    " Y4 |+ t) B% I, d# Z/ c
  351. LDA $25
    + Y. X! ^. \' z
  352. CMP #$00" g! o' j7 J, s* n
  353. BEQ WP1
    5 ?- a6 H+ @3 O& z, z1 o# ~
  354. LDA $25
    8 v# I5 u: y2 {5 T" g- v1 C* w  Z
  355. CMP #$01# E8 O4 x. ]* C6 ^# N& m) p2 t
  356. BNE WRE
    ) [. s, F7 X# y5 x: E3 J# o
  357. LDA $F5,X$ n5 [0 R- a4 `7 e
  358. AND #$EF+ Y9 A) C6 J" a) P$ V! A
  359. BEQ WRE
    / R' J" v) L& F' H; ?$ r
  360. LDA #$00) D9 |$ x; n9 S; S, j" E
  361. STA $7FA0
    6 }7 C& ]7 h- ?, s0 N% c* |

  362. " O3 O$ H3 O$ ^3 N8 h
  363. WRE:. g) l. A6 ^' O' n5 r9 o4 Q
  364. RTS
    2 V% r3 @4 W8 D9 d
  365. . _, e% L3 P3 @" \6 H
  366. WP1:
    7 P% k- _+ g  O- r
  367. LDA $7FFF
    + Q/ Q# Y6 O/ m! V/ G* p+ E* H
  368. CMP #$FF) N! p' J8 E  M$ h! S0 ~
  369. BNE WRE( i2 D5 n  S  j. L
  370. LDA #$00
    ( Q% \. c( H8 z: I$ V2 d: x* E3 l' Z" u
  371. STA $2001" Y2 V9 `6 a4 b0 P( K) i" v+ I# E
  372. LDA $BD
    ' n  q4 u: s; Z
  373. PHA
    : i2 x! z6 r" y6 Y* [9 S4 T# P
  374. LDA $BC
    + Y( u" b8 @1 j: \" h) W! `1 d
  375. PHA; k5 k& Q# l2 K0 ]
  376. LDA $BB  I9 q, L) `8 g. I; }
  377. PHA) ~5 D# s+ N9 i) a% \
  378. LDA $BA( Q1 h& W: u( ?& N' S( U- V) A, o
  379. PHA
    3 {7 `' `8 t7 [; A& Q- w
  380. LDA $B9
    - n/ n" o+ G1 Z" I. M" k$ I
  381. PHA
    * T0 ]1 N  ?7 A+ C* P3 ^7 c
  382. LDA $B8& Y# h3 l- K, k, S3 S
  383. PHA1 s! E* |% k: |
  384. LDA #$00
    * s2 g- d4 B( h) ^
  385. STA $B8, J& Y# B3 Q6 D2 d  _" c( t
  386. STA $B92 l4 I6 c. Y# `% m6 T7 H( i
  387. STA $BA3 ], ~( ?( c- ~! A" x
  388. STA $BB- W: d2 X1 b6 S! Y  i6 S" E
  389. STA $BC+ M, S/ B- ^- v% ]6 `: w% Q
  390. STA $BD% F2 |. n; K, Q& ?' a
  391. LDA #$00
    ! v/ Q& K- a4 j0 F! M% Q7 A  B
  392. STA $7FFF  L% E, J% _$ ]$ H! n+ L

  393. . c) z* q3 J0 `0 w/ _* n& }
  394. WL0:
    5 w& }4 D! B) t2 V4 s4 I* M
  395. LDX #$00
    4 e2 S! v. A% ?6 ^
  396. LDY #$00
    2 C% n, \4 P: H9 Q
  397. LDA #$00
    9 I$ p6 k7 q! u& i5 l
  398. STA $BA
    0 J! ?1 s9 F7 T4 {
  399. LDA #$20& U, k, u( j7 n6 ]7 u
  400. STA $BB
    - S) x  b/ L0 \" R: ?
  401. LDA #$00# x+ q; c) K4 ?: n
  402. STA $BC
    . h/ Z! a! T, E' q4 q! K
  403. LDA #$60
    & o- {% b2 F. E8 L
  404. STA $BD
    8 h6 q  A9 q) X; u  d+ ?
  405. " [6 w& T+ r: s: x0 l# ?
  406. WL1:! P. O7 W( b, P4 O* {
  407. LDA $BD
      X0 f/ U; p! P0 ?2 B
  408. CMP #$68
      d! l% ]; m% [) Y% H5 Z
  409. BNE WL28 u2 Y2 n4 P) B4 B8 H
  410. LDA $BC
    $ c  V' W# Y1 F( R% X6 k' A1 g6 X
  411. CMP #$00/ D$ J; _3 F4 d9 l) A: ?
  412. BEQ WLR
    : d6 `- |4 X* j8 I6 u0 _

  413. ! L" X& z) A% [4 ]0 A5 }
  414. WL2:
    . l; \, O$ l- n& S5 Z2 ~
  415. LDA $BD
    ' ]; f: l  e; ^/ l4 l2 o. A
  416. STA $2006
    ) x& I! n) s2 Q, F  ?& m! J7 s
  417. LDA $BC
    7 A; a8 i9 {$ `6 M8 K$ k. X  Z
  418. STA $20067 ^5 b% K6 `$ L0 d. G: D
  419. 5 Z5 ?. Z6 ~! \( x" W* d& G
  420. WL3:
    : ]6 y# d; c' P
  421. LDA ($BC),Y3 l  e" Q0 Z( ]+ n3 ^- `
  422. STA $2007
    : n* M+ w$ x2 ]% Z* \
  423. " D2 t$ t2 U% W: f7 j
  424. WL4:% G1 a3 ^# G2 J5 Y! n
  425. LDA #$00
    1 {+ S& S- |2 r& `/ x4 o9 ~4 \  i
  426. STA $2000
      K, R+ l1 \! }
  427. INX- p  O2 v! _6 w3 P7 x# ]: K9 j
  428. INC $BA
    / r+ M+ d; ]+ ~% R+ L0 V" r4 x% G
  429. INC $BC' I" c+ A& ~) I5 W( L
  430. CPX #$00
    " ~5 i* y& M* o0 R" J/ J; x
  431. BNE WL1
    ! G8 i8 \$ l+ L, f  N6 S, T
  432. INC $BB$ q" D5 R9 d# _& Z
  433. INC $BD+ O% l2 a! N  Q8 G0 t5 D+ G
  434. JMP WL1
    5 s& T+ B1 O7 n5 ~) F/ S3 ~& b, `  g( A

  435. - X$ A' [. a( c3 e
  436. WLR:
    + n( G3 Y/ r: |9 C1 b+ N7 h
  437. LDX #$00/ P$ e4 o7 t; T/ x- o
  438. COPY_7F00_7F3F:
    ; l6 o. T* Y1 y' w% d6 r+ u
  439. LDA $7F00,X% w/ o; T) c0 _' d# f
  440. STA $07C0,X
    & d6 e4 \* H- o
  441. INX
    3 X2 M" M+ }: R9 D
  442. CPX #$40
    8 @1 l$ \/ I; n& m
  443. BCC COPY_7F00_7F3F
    " d) G7 A( G+ Q
  444. % n& o. `6 Q# S# H- N
  445. LDX #$00  p$ d: a+ T6 P
  446. LDA #$3F5 i  |! h, ]0 H
  447. STA $2006" Q6 J( u3 r% Z# V; r; f
  448. LDA #$001 ]0 T/ c  y- D5 Y3 z
  449. STA $2006. H, r+ K5 l. l* f& L8 f
  450. COPY_7F00_7F10:
    # s6 l3 ~. t  j4 T4 O9 Q
  451. LDA $7C0,X0 _. u7 N2 }: R) D9 u' x
  452. STA $2007
    1 w  d# z" g" p- y" L( M
  453. INX
    : x. O4 G# n" u9 z% h+ f; o
  454. CPX #$10
    0 p1 b: ?5 q. p" ~( t
  455. BCC COPY_7F00_7F10+ s* P2 I4 [. x  g! O
  456. 5 X) J) M( k- c( X3 P
  457. LDA $20029 D' J6 O; A- {$ d# ]! t
  458. LDA $FD
    6 U( |: x! m5 i7 E0 K, |
  459. STA $20057 J5 R$ s) ~9 r5 W3 [" k
  460. LDA $FC
    8 q/ P- {5 s! C0 ~: T8 y
  461. STA $2005
    9 q& X9 |$ g5 D6 z/ S: g5 {+ }, f
  462. " k% x8 x7 }$ z; `3 E
  463. LDA $7F50! K2 k9 s( O- C! y' J' U9 I
  464. STA $FE! O" @% r) E' s
  465. LDA #$009 C$ e/ T- X8 i: l. w
  466. STA $2000
    * i( t0 x: a( u5 |% ~4 G  V
  467. PLA
    : @: w0 [4 I: r2 v
  468. STA $B8
    ( u. [/ f7 W( [; i$ X
  469. PLA7 t% F: f  L$ h1 }  G- R4 Y' t9 c
  470. STA $B9
    2 |  f5 Z4 L: N9 ~
  471. PLA$ r+ }) K! R# |5 d2 h1 d" ?1 J; V
  472. STA $BA* p( B- b' m. O
  473. PLA
    5 _: k' Q/ V6 ]
  474. STA $BB
    9 `. t7 @- A% n$ q& D
  475. PLA
    , j* s- |# V0 H0 H
  476. STA $BC
    3 i/ q% d3 L6 A; H% p
  477. PLA
    6 H4 E! j  e; q8 O$ F4 G* ^: g
  478. STA $BD
    , A6 J, X* r: _8 G0 P& n  {  l
  479. 4 g1 E- q6 R% c9 p0 D
  480. RTS
    # S$ c0 }! Q9 q$ m" s  g( |' u. a

  481. & E! S! h. O; B% O& y; u% |7 }
  482. PPU_CMP:
    * Y! f9 j, q5 `& u' b% I* j; ^

  483. ' b" f, ~$ l# X( E7 j% ]+ k* x& _: U
  484. 2 ^5 W% Q! \* V7 U) H
  485. PPURE:' d& \% K! f5 D% j+ O
  486. RTS  G/ S" w* g! G) X3 @

  487. % H; B1 c- l' U) Y1 Z, q
  488. 3 J% b) T5 b/ e$ F% z
  489. FREE_PPU:
    ( F3 @  U; r0 j. s  ?

  490. 7 E/ f) e) E9 D& n% i* i5 n- t0 w
  491. JSR TEXT01_PPU1 D+ g0 D  X4 w# h# t) W* D. U
  492. JSR $CBC0) o8 K# |; N& a. B
  493. JSR P1_PPU8 G5 L6 }4 H/ ]' U, M$ J2 Y
  494. JSR P2_PPU, _5 X! p8 }9 R
  495. RTS- H0 x% I. O( N! o0 |1 Y/ a$ y
  496. % b: b1 E: F$ E! c2 ]
  497. TEXT01_ADDR:+ k; T% k$ h- ^. t* S7 b7 S  F' w
  498. .BYTE $20,$42
    ! O' d6 h' r& d, A2 o6 t
  499. TEXT01_DATA:
    6 y  l5 Z" {/ N, f8 ~2 k- ?
  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,CEND1 b0 Q9 i5 ]. ^) ^+ h
  501. TEXT01_PPU; ?3 f( A% E& e) i2 |9 ?. E) s
  502. LDX #$00
    2 b3 f% E7 l: M8 Q+ ^. |; m
  503. LDA TEXT01_ADDR- x2 G8 R8 `/ F+ y
  504. STA $0703
    8 y0 m' i6 K7 t# S% n1 J2 a4 p0 |
  505. INX* ]* Z$ \$ v4 O' k! j
  506. LDA TEXT01_ADDR,X! ]# T0 s2 X4 ~% C8 l
  507. STA $0704, y3 c6 f: x2 [' H- J. G
  508. JSR PPU_PROCESS
    ; @2 Z2 E3 }) _/ v7 W; M  x4 |
  509. TEXT01_W:8 {& t. a* e" {: U5 j
  510. LDA TEXT01_DATA,X
    + L2 n- _( q. D; j% e
  511. CMP #CEND
    4 z% X& J* V# A6 l
  512. BEQ TEXT01_START' I8 B$ |4 ~# ?' e& y
  513. STA $0705,X
    5 ?9 [" u& Z8 P3 y2 B
  514. INX: ?) Q* {6 L. k! s6 [1 C7 ^
  515. LDA #$00. u5 L4 d$ e' l6 x
  516. BEQ TEXT01_W
    , Z; w, v. g6 \8 {, F! G
  517. TEXT01_START:5 u1 ?) x; N* T: Q% A; N( p: k- x/ D# X
  518. JSR PPU_START; k+ C3 O5 _! ~7 d$ {' }. Q+ O5 e
  519. RTS
    1 q7 J2 f" K) D1 D9 q+ {
  520. $ G0 o+ C9 ^4 U' I
  521. - q$ ?1 @, Q& f
  522. COLOR_DATA:
    ! v* h" G' ]& O) K( N" v" v
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ) {3 O& i7 n( _2 {2 k  z6 B6 K

  524. ! g6 }2 d. F; o2 v) L0 i1 v
  525. P1_PPU:0 Y, P' a9 }- a2 ?% F3 v. H: X  a
  526. JSR PLAYER_01_PPU
    6 }5 |% t  _$ u6 v; n! I
  527. JSR $CBC0
    * t( A% o$ I6 W/ f
  528. JSR RELIFE_P1_PPU0 ]$ j' S3 y' J/ c
  529. JSR $CBC01 U+ d: K0 V  ^4 |. Z2 _
  530. JSR RELIFE_NUMBER_P1_PPU
    4 J9 K& i1 \" E5 \$ ]; q! @- H
  531. JSR $CBC0
    " e8 L8 U" R! E
  532. JSR WEAPON_P1_PPU+ L. B, ?- O( z5 P' ]$ t
  533. JSR $CBC0( _6 z  B; p1 `
  534. JSR BULLETPPU_P1_PPU
    * U4 E/ ]8 L( S- H$ ]& K) H
  535. JSR $CBC0+ [  c( M6 K0 Z/ k4 u( U
  536. RTS
    8 _8 w% S( n! Y0 I. i

  537. 0 _0 T3 M, X( g7 \1 q: U
  538. P2_PPU:
    " a  x" x, i8 M0 E
  539. JSR PLAYER_02_PPU
    . K8 v$ N2 l. ?" P  g7 d
  540. JSR $CBC0* S& ?# R7 [5 |0 _. ^; S& B
  541. JSR RELIFE_P2_PPU
    8 h& E- Y* u2 j; ~7 C
  542. JSR $CBC0
    2 j% s& t* E; N) q2 n5 W
  543. JSR RELIFE_NUMBER_P2_PPU
    * E7 y' N& ]  D8 P* @
  544. JSR $CBC0
    % K0 `# K0 H/ P% s
  545. JSR WEAPON_P2_PPU
    * R) c  z; y( d$ q2 W$ P
  546. JSR $CBC0/ I2 ^) I0 h6 L4 y, p% n1 }# M
  547. JSR BULLETPPU_P2_PPU% x6 v4 p, R2 Y& l# S4 m
  548. JSR $CBC05 D4 Q. A- X1 x% y8 U# s
  549. RTS
    9 B% Q* m6 i! `: B) w+ V8 ~
  550. " z* i. W) @0 t+ H5 h& f4 n

  551. $ J" P  m& o  ?

  552. # x+ R) E. D- q. g) ~
  553. PLAYER_01_ADDR:6 _# v- V% {$ F. _* g6 }
  554. .BYTE $20,$A30 v, n# K- i+ ^
  555. PLAYER_01_DATA:
    ; p9 X" N( j1 a  j
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND" s' z# Z" U, ?9 B- ^4 R3 U$ c3 h. b
  557. PLAYER_01_PPU:' G, q: W5 V0 a! P5 v! r- \1 d
  558. LDX #$00
    ( x, \1 F: a# y) x% A7 v+ z
  559. LDA PLAYER_01_ADDR9 V; o3 t$ y2 f! c: R0 N
  560. STA $0703
    * }4 X1 U$ P: V/ t  A
  561. INX
    4 E8 ~8 g/ e1 G" K5 P# A$ p( r# W; G
  562. LDA PLAYER_01_ADDR,X  K: f6 Y7 Z- d0 g5 ~7 r' @6 K, }9 d
  563. STA $0704( _# c& Z5 \) @2 {3 k' l+ r+ O0 l
  564. JSR PPU_PROCESS9 w; B6 H3 g* e0 t, e! ~
  565. PLAYER_01_W:
    % i2 T- e7 U( _' X/ _# i" C1 m6 Z# l
  566. LDA PLAYER_01_DATA,X5 H0 `6 c* E% d$ l. f9 d+ n8 Z+ Z
  567. CMP #CEND
    6 F+ j) U) K. t: F
  568. BEQ PLAYER_01_START( u; s1 ?7 q+ Z
  569. STA $0705,X
    / S# j7 x4 A9 ]8 |8 O
  570. INX  Y$ D6 S' k  l1 ?; G3 m7 K) {
  571. LDA #$00& m  C: @: j6 q9 S  [* e
  572. BEQ PLAYER_01_W
    . C/ X* A2 f& |9 B% `
  573. PLAYER_01_START:
    ; e; C1 q* O9 x# t
  574. JSR PPU_START& n' Z; J9 D0 n) F6 a
  575. RTS
    , o% v! g; b5 k" V0 S! K
  576. * \, |: Y( ]' \, }( c

  577. 2 Q0 x" d. ~" x
  578. RELIFE_P1_ADDR:/ v* M' o: D& O2 {9 s/ ~3 P
  579. .BYTE $20,$E34 V* ^5 k8 G$ |& ^2 e
  580. RELIFE_P1_DATA:
    0 }3 Z. h2 \+ a' p0 R( [9 K& p6 |
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND7 \  `" T4 E) e7 O) P
  582. RELIFE_P1_PPU:
    " m7 v& v; i, ~3 @& x$ r) h
  583. LDX #$00
    7 X4 V& F; ~; h9 F1 E. m, C
  584. LDA RELIFE_P1_ADDR& G7 w) i4 X" a! N' I
  585. STA $0703
    0 Q3 x1 G$ O" m( H4 E
  586. INX, F# h6 g. k  [6 P+ v" e% \  G
  587. LDA RELIFE_P1_ADDR,X
    # x9 e1 i5 z7 o' U) a! q/ i; x
  588. STA $0704
    ( i  F4 v( D0 L  g; A
  589. JSR PPU_PROCESS
    ! }' m0 B; f+ t+ D4 V* J2 ]
  590. RELIFE_P1_W:
    $ @; @6 e% Y0 \: @3 ~1 w
  591. LDA RELIFE_P1_DATA,X4 Q  c, m2 f. G. G* v, f
  592. CMP #CEND9 p( d5 h5 b0 B# v8 ~: Z
  593. BEQ RELIFE_P1_START
    $ b' U4 g0 G, Z9 B. k
  594. STA $0705,X
      c& L! s. @+ C4 {0 m
  595. INX
    ; Z( L! p& y: P* [
  596. LDA #$005 |/ j, ], [, G' k- c, }$ }* Q( |
  597. BEQ RELIFE_P1_W
    ' t: u, Z4 Z) v3 C& `
  598. RELIFE_P1_START:; a- i) Y% o! a. Y8 _8 {2 t
  599. JSR PPU_START
    $ G! ?, D9 X+ a" z
  600. RTS. E& Q' Q, A+ p/ G) i
  601. " d6 b0 i3 m7 c; t
  602. 3 t  X4 ^' p' e
  603. RELIFE_NUMBER_P1_ADDR:6 f: l# c; j. z7 }0 J4 V
  604. .BYTE $20,$EA: {$ N* V" B- y" z# V$ V+ l0 d' g
  605. RELIFE_NUMBER_P1_PPU:) Z4 M( `% i6 p* n. z! _, Y0 ^
  606. LDX #$00
    ! f3 M5 l/ Z* I2 G- o& W
  607. LDA RELIFE_NUMBER_P1_ADDR8 n, N7 x* J2 n0 f
  608. STA $0703* `& W- Q  T; K+ H- ~  [) z: P
  609. INX5 p4 j: k8 C) {3 b8 h5 W
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    * c0 A9 p. {" d
  611. STA $0704* P4 a8 ~7 U2 W7 S" |/ E
  612. JSR PPU_PROCESS  b6 _5 |% H1 W
  613. LDA $32
    3 p5 g) o) ~$ r$ f5 B
  614. JSR LIFETODEC
    - s0 L9 |7 c+ o
  615. RELIFE_NUMBER_P1_W:
    ' d  `, X. C8 L
  616. LDA $7A033 w/ A1 ~$ w, |. Y, Y( T7 u
  617. STA $07051 u5 K% B% J* O3 C9 R6 L# y& }6 ]
  618. INC $0705
    ' `0 t& Z/ W# v1 p$ G. r3 p" v5 [
  619. LDA $7A04
    ; Z# [8 Z' @) H4 Y
  620. STA $0706
    ( ?: G9 o! q% ]* t  O( M8 R
  621. INC $07068 H! i  N! I( P+ R) j( b9 a* a
  622. LDA $7A050 |5 m, d- p* ^* `
  623. STA $07073 f. f3 D+ i) m
  624. INC $0707- p: X: k& S; z) |
  625. LDX #$03
    4 G1 c/ ?5 F5 @) m0 D5 y/ O7 J" K
  626. RELIFE_NUMBER_P1_START:$ z! {+ k9 f  _9 G8 N
  627. JSR PPU_START
    $ q  R6 ^9 u7 q7 r+ T, _
  628. RTS+ S( G4 X! v: N# C

  629. / G; g/ p! g2 c; l! w0 f
  630. WEAPON_P1_ADDR:! S! q* W. L7 G! ~$ F- z
  631. .BYTE $21,$23
    ; I" q  i3 N2 w4 P) `
  632. WEAPON_P1_DATA:, F0 q% L7 D* R
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND- F0 m: k8 N& A- u# N# g
  634. WEAPON_P1_PPU:* {8 q; F2 n, ?
  635. LDX #$00. e% J) E7 h+ k% P; ]9 ?) X% G" {
  636. LDA WEAPON_P1_ADDR
    / H% M) ^4 x3 m2 w) V+ u$ E
  637. STA $0703
    ! l: `7 B7 B& w/ J) F
  638. INX0 T$ C; o2 W6 M8 g
  639. LDA WEAPON_P1_ADDR,X4 j5 R8 @0 o+ d
  640. STA $0704+ j$ ]1 G8 `% n- @' I. y
  641. JSR PPU_PROCESS* b  W: g9 ]; v* z, j5 j
  642. WEAPON_P1_W:" J7 {8 \* r: v5 z
  643. LDA WEAPON_P1_DATA,X
    7 F, s) ]  ^8 z
  644. CMP #CEND/ D# b$ g: v3 m! B. h2 R% P5 J0 Q
  645. BEQ WEAPON_P1_START
    3 `2 I% i+ P$ }- T/ n, t4 f
  646. STA $0705,X4 Y4 |1 m# M* p8 Z& E6 Z2 q" r$ r
  647. INX* m8 S2 o7 _3 _2 ?
  648. LDA #$008 [# q+ ~* |# V/ ^. Q
  649. BEQ WEAPON_P1_W8 C5 u) s$ W& D/ K5 C# Y
  650. WEAPON_P1_START:
    ' S, s- ~* l" o; {1 c
  651. JSR PPU_START
    ' _7 L- J$ \! h9 |
  652. RTS, F' k% U7 M- v! T$ f' L/ R
  653. / r& T9 d/ E8 G7 C$ @) q' w
  654. BULLET_P1_ADDR:
    1 h' d( _- _! w5 u
  655. .BYTE $21,$2A  r9 e0 @, f  j! X! L6 y
  656. BULLET_P1_DATA:
    + x& o- R) E% S5 o; t
  657. .BYTE $00,$01,$02,$03,$04# K7 M& ^0 u8 R9 N- t7 z
  658. BULLET_P1_NAME:$ c' t  x1 S% R6 x
  659. .BYTE CN,CM,CF,CS,CL$ j9 i$ I+ w( a% k$ [, ]

  660. 8 u- [7 J9 d, f
  661. BULLETPPU_P1_PPU:
    * n& x! Z% l7 N' T
  662. LDX #$00: m6 @' B& g5 n% H, p: o
  663. LDA BULLET_P1_ADDR! x( r3 Z+ d: S8 R
  664. STA $0703
    5 F$ f) K0 k/ q* f& T' ]
  665. INX6 L6 \- M- I! A" w/ ^' {
  666. LDA BULLET_P1_ADDR,X
    6 L; K, A5 B* {2 _/ d- m
  667. STA $0704
    0 Z8 e$ X; O. y0 e1 r8 [2 d& ^) F
  668. JSR PPU_PROCESS
    8 W! H" L: l) \& a" B
  669. BULLET_P1_WRITE:+ d+ v8 R% L' E
  670. LDX #$00
    9 w3 R# s3 a* @; r& f- O! O' W- v
  671. LDA $AA
    9 H" g1 o" [' ?! C+ o0 w2 {! |: g
  672. AND #$10
    1 g- r, i' J2 e# q9 G1 r; f
  673. BEQ C_BULLET_P1
    5 f1 }: s$ u+ ~
  674. LDA #CS" Z% Z2 E. D1 ?
  675. STA $0705
    0 A- J& Q: L4 x
  676. BNE B_NAME_P1
    ' S! V2 B7 s! y5 l0 I- R% r9 e- @
  677. C_BULLET_P1:
      E+ l# }0 e( o; \# T
  678. LDA #CC: z3 K4 o) z* h& _5 B3 z0 }
  679. STA $0705
    - X: a8 ^8 C9 k- X% e9 U
  680. B_NAME_P1:( S. Q' S& o( V9 s+ H' A. h9 W
  681. LDA $AA/ \; q& N, W( }+ ~/ e
  682. AND #$0F
    4 u" S  h/ O! A1 [
  683. CMP BULLET_P1_DATA,X7 I9 e' |$ B2 _2 F9 R) Z: h
  684. BNE B_NAME_P1_RECMP& [3 Q4 A" [4 Q+ i# g& P
  685. LDA BULLET_P1_NAME,X  J( O  q) R* Q2 R+ a* i% ~
  686. STA $0706) K* m, q; o1 z0 \' V2 B3 Z- J% p: [
  687. B_NAME_P1_RECMP3 F( C$ T# U4 p% o6 ^6 e: k
  688. INX
    2 h9 H: n8 w. O
  689. CPX #$05; g0 ~  l4 f! Y6 z2 \5 H# A
  690. BCC B_NAME_P1: g6 X* O8 ?0 Y
  691. LDX #$023 ^  P( v7 {1 u! d* n+ v3 F
  692. JSR PPU_START
      B5 k* y; H- E* [3 R) o% Z! j
  693. RTS
    ' i: J1 j; n) K1 R' M0 c$ u, I

  694. ) s$ ^+ C/ I3 d% u; e
  695. 9 t2 l' N2 K. a  C8 `7 h% ^) Q8 B
  696. PLAYER_02_ADDR:
    " u" e( q' |" g  v* p/ y( ~
  697. .BYTE $20,$B3
    ( ^7 g3 p( q6 z: ~4 O, r
  698. PLAYER_02_DATA:2 V7 W6 P+ s" a4 d3 J1 a
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    5 \+ q8 C- X4 L. ^
  700. PLAYER_02_PPU:. s, ]& l" V- [$ [2 Q
  701. LDX #$00
    ) ?: z$ `! V! W9 c( g0 B* Y
  702. LDA PLAYER_02_ADDR
    6 j* \# P, X6 X& r
  703. STA $0703
    & Z& N: M2 A6 n9 N# J
  704. INX
      {; o  F! d% d& n9 O
  705. LDA PLAYER_02_ADDR,X
    . i1 a* m/ X. s
  706. STA $07043 b4 ^6 \: g* ^  X; x; m# I4 T
  707. JSR PPU_PROCESS
    - m3 t* ]% A& h( l! Q+ b, q" d
  708. PLAYER_02_W:
    ( E: l( f/ l! K
  709. LDA PLAYER_02_DATA,X1 M1 }& g6 J% x$ R% r, Q6 T
  710. CMP #CEND
    5 C! Q" R: Y, D  Y" b
  711. BEQ PLAYER_02_START! N, B9 z3 r/ w% q/ s; ]. C1 z
  712. STA $0705,X
    / y8 w$ f* q& q/ [0 e. y3 r- x" p
  713. INX% z; o# `* N3 l/ t: {
  714. LDA #$00
    5 k* O6 \7 [6 L3 U& X" n
  715. BEQ PLAYER_02_W6 a. ?3 P, l$ f5 D' }
  716. PLAYER_02_START:$ O7 X; r5 e: z! B
  717. JSR PPU_START
    - p" j; p# j' l0 ^) f; |# _
  718. RTS
    5 K# ^* f3 t2 H% I) `

  719. ; b+ e0 t4 ^  [* a% T

  720. ! t& ~  }: z+ A  g$ `
  721. RELIFE_P2_ADDR:8 `9 j4 x- }5 |5 M- K2 s" p3 l
  722. .BYTE $20,$F3! I8 D1 I) _1 Z
  723. RELIFE_P2_DATA:
    - o% \, M2 V) X" b
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    % P5 v% T* w7 q3 D3 y
  725. RELIFE_P2_PPU:! ~& m7 m$ @& G" H+ d
  726. LDX #$00& G0 e! T6 z1 q+ {  z0 v* h
  727. LDA RELIFE_P2_ADDR9 l: [! U' s: F4 O- q% t7 \
  728. STA $0703
    6 F& h- K1 P; ^6 |8 [& R7 }  g
  729. INX0 P! k" X5 H  f% `
  730. LDA RELIFE_P2_ADDR,X* E% v7 c: z: x5 }# V
  731. STA $07042 G; o2 Z" [" k) M" {" D4 {
  732. JSR PPU_PROCESS
    2 Q+ h6 ~9 |- Q+ J  o+ e9 x
  733. RELIFE_P2_W:7 v0 }/ O7 z; z% ^4 ~
  734. LDA RELIFE_P2_DATA,X
    6 I$ Z8 R9 p( D9 c/ ^: b$ H8 H
  735. CMP #CEND7 B# g) \2 z) Y3 F
  736. BEQ RELIFE_P2_START
    6 n& O5 A. j6 u* T$ d( {
  737. STA $0705,X: l' i6 H  U! T
  738. INX
    9 y/ H  v$ e% X) `( L. h
  739. LDA #$00& l9 Y* @4 `" G4 s2 O
  740. BEQ RELIFE_P2_W
    " U+ X7 E5 e: ^' W, s  X
  741. RELIFE_P2_START:& @5 z# k: y8 h5 R& ?3 E
  742. JSR PPU_START
    $ X" j' a! N9 _$ g  ^
  743. RTS
    4 Q9 q& Q8 Z9 H) n& @7 a

  744. 8 `+ E4 ]7 K( ^% j4 J+ \; t

  745. 5 e2 U( h7 R) w$ T3 `
  746. RELIFE_NUMBER_P2_ADDR:
    + S; `0 @+ `$ @9 d& {) O8 F" Q3 Y3 g
  747. .BYTE $20,$FA
    + f) C( ~& b2 i& j
  748. RELIFE_NUMBER_P2_PPU:
    . d& ?- B& V7 x) Y1 v
  749. LDX #$00) |3 z( S0 R) y3 @9 k( F
  750. LDA RELIFE_NUMBER_P2_ADDR' P$ m* U& E4 G' Z* \0 l9 V  C
  751. STA $0703
    $ a2 t, j& P7 V5 e; T8 B$ X/ \. C9 S
  752. INX9 Q, n' f9 O5 [4 K+ P3 o
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    3 Z3 r" e$ k& u9 P& v
  754. STA $0704
    . ]. p6 }2 U" O9 {, K, s
  755. JSR PPU_PROCESS: O) D/ r+ ?' ?9 d' ]  T
  756. LDA $33# R2 U( [  K. J
  757. JSR LIFETODEC
    ( Z6 N/ h2 E8 Z& [2 Q
  758. RELIFE_NUMBER_P2_W:
    ! P( q" s# o# A
  759. LDA $7A03
    / ^# [! N; D7 n$ Z1 v( _& Y
  760. STA $0705$ V) q# b8 C1 g3 X
  761. INC $0705! k" {1 Q. B2 s' {/ t
  762. LDA $7A04
    $ `4 K( v) l- t7 P2 T3 y+ q3 n
  763. STA $0706
    " w$ ~# M% Z4 ]- t& N7 q, [" q
  764. INC $0706
    4 H1 H$ ~1 r& b5 s/ ?  k
  765. LDA $7A05: F: O' z7 z) ~+ c7 C
  766. STA $0707& Y0 ~5 [% W% ~; x# L
  767. INC $0707
    : ?6 N& t; g6 \- z& l4 E
  768. LDX #$03
    1 i: Y3 _% v/ G9 ~7 _
  769. RELIFE_NUMBER_P2_START:3 c1 i# Q3 k& d8 K; d* F+ I/ f# g
  770. JSR PPU_START
    + V* ^2 f8 R! o
  771. RTS
    + `' u* N" l: h/ B" x
  772. ( q1 W5 h% Z/ C5 Z9 O
  773. WEAPON_P2_ADDR:2 m& J9 @& h* A- e/ G7 r& t7 r' l
  774. .BYTE $21,$33
    , v5 X. r, g' T. ]- j$ l; q# o3 v
  775. WEAPON_P2_DATA:4 E% x7 R" c  k3 g7 P' S2 Y4 A
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND% C$ L- K6 G' R  Z: F
  777. WEAPON_P2_PPU:
    % z' J1 [% v$ a! s7 F
  778. LDX #$00
    7 ?. w' |8 s6 h! v0 U+ T. Q3 e
  779. LDA WEAPON_P2_ADDR: P9 A: \2 ~' H- a% _' E, O! M
  780. STA $0703
    " h, V, s: L! E: e
  781. INX: K1 L$ |$ I+ D: {8 w  J, R3 S
  782. LDA WEAPON_P2_ADDR,X
    # x9 I0 O! j# m* x. M
  783. STA $0704, a; R6 F' H3 r" X- \8 C6 g9 _
  784. JSR PPU_PROCESS! i1 j2 G8 ^6 c
  785. WEAPON_P2_W:
    ; r1 L% {' B" L7 j9 S: O
  786. LDA WEAPON_P2_DATA,X  x- T8 r! r# `2 z7 O6 B! V
  787. CMP #CEND  _! j- }0 Q! E/ U
  788. BEQ WEAPON_P2_START& o3 e5 W6 Z: S% ^# A, j3 y$ Q
  789. STA $0705,X1 b- ~9 @, C6 p  X2 f. j3 M
  790. INX& Z3 ?8 T6 a1 W' [# @
  791. LDA #$00
    6 {" I% I. L3 s9 K; d  D( S
  792. BEQ WEAPON_P2_W
    7 @9 S2 A4 V6 m1 ~, l' j& u: t
  793. WEAPON_P2_START:
    # z/ G& S6 D. @5 [/ P* H  Z: V$ T
  794. JSR PPU_START! c+ s& y. q; V; A& L
  795. RTS0 x+ C; B) d9 P3 ]1 h+ W
  796. % i; N# \( I6 m8 z
  797. BULLET_P2_ADDR:8 e8 j. c# q& z( a' `1 n2 F5 f
  798. .BYTE $21,$3A! r1 X3 K8 E1 j6 V
  799. BULLET_P2_DATA:: W4 g- k" \7 c  X' U
  800. .BYTE $00,$01,$02,$03,$04+ Y3 D: x# B. B9 M3 l, m# y. [+ I
  801. BULLET_P2_NAME:
    ' V) p) G1 e" W7 T2 ?
  802. .BYTE CN,CM,CF,CS,CL2 C/ C0 }9 P  i3 j2 d

  803. / S9 `4 i/ c; Q4 W! H: o
  804. BULLETPPU_P2_PPU:
      U' {; @# q: r; ^8 d! G) T& i$ p
  805. LDX #$00
    3 L& u% a5 f+ o4 A1 {
  806. LDA BULLET_P2_ADDR$ y/ G! y' X4 v; f3 o/ |! N% f) |
  807. STA $0703
    5 z/ A! }! q: D/ y  Y
  808. INX( M# K/ x" W1 e$ W- y6 Y. W, V
  809. LDA BULLET_P2_ADDR,X
    & }5 G6 m. F* p+ c
  810. STA $0704
    9 q! h6 o! h, s( h: Q; _% P
  811. JSR PPU_PROCESS
    4 t) y- E& _- I) c7 W; n$ s& M8 T2 c! r1 b
  812. BULLET_P2_WRITE:& [$ U, m: y6 s* y' Y0 y# D
  813. LDX #$00
    # E+ [5 y# y' f' [0 R4 f* Y
  814. LDA $AA
    & B* c: D. m9 B6 h; D
  815. AND #$10
    ) L9 J' u5 e4 w1 K8 |
  816. BEQ C_BULLET_P21 @9 j! [" t0 X  m& e; m
  817. LDA #CS! H4 N# e' W" @% g2 x
  818. STA $0705
    / y* M$ q/ a0 b6 \) \
  819. BNE B_NAME_P2, Y) n$ Q2 e6 K5 W. z7 h
  820. C_BULLET_P2:, y; h1 k" R) y& ?; [
  821. LDA #CC' O# q2 b- H0 N1 n4 q4 |) x
  822. STA $0705' {$ T8 {1 O9 h; `$ `
  823. B_NAME_P2:6 v. r9 x' a+ ?
  824. LDA $AB6 [' [' D1 M6 l4 d8 \2 S
  825. AND #$0F
    ' k4 h" y4 ~4 `) S. a
  826. CMP BULLET_P2_DATA,X$ B$ y: D' b2 u, e/ X  O
  827. BNE B_NAME_P2_RECMP
    , v2 Y, S- S, D: C) ]* v# ~, m
  828. LDA BULLET_P2_NAME,X+ [$ T- n% i1 G, O- q
  829. STA $0706
    ! @3 _& }( A9 u$ ^
  830. B_NAME_P2_RECMP
    7 y% h# V5 f5 l6 x8 q3 G3 R) Z
  831. INX
    6 s/ z( i& m, q9 B
  832. CPX #$05. y0 R: F2 M* E0 O9 b
  833. BCC B_NAME_P2
    ! T3 o( a" \, F) {" H' I
  834. LDX #$02& a8 n2 j! s, s; |1 U/ ]. e
  835. JSR PPU_START
    5 S& y  t5 _: c
  836. RTS7 Q3 h6 c1 M0 @! r4 U8 o

  837. ) G) c3 l0 u# W# |9 M6 p# N4 w

  838. & z. L9 V7 Z# B
  839. ' ]9 Q$ t- l* d5 G# Z

  840. 0 u6 Z7 |0 Q$ b7 M! p

  841. " A0 M/ e1 e0 W% d
  842. 2 j  O6 P- D. Y) I& V
  843. LIFETODEC:                ;十进制转换
    ) _/ J( l2 F- a
  844. LIFEL1:        ;initialise
    4 t- A' @) x, F+ s/ z# L6 }% o& {
  845. STA $7A00        ;$7A00=F36 f& I7 }( @( g
  846. LDA #$00
    2 q! L3 F5 l: }4 n6 @
  847. STA $7A03        ;$7A03=00
    - f0 M* B* D$ H0 U! k8 J
  848. STA $7A04        ;$7A04=00
    2 U+ H7 j* N  l+ L  ^, }( g
  849. STA $7A05        ;$7A05=00
    ! @8 b6 K% H: L7 I2 T' F5 X
  850. LIFEL2:        ;copy data $7A00 to 6001
    + z# d- s$ k/ a- ?
  851. LDA $7A00
    3 U& t' E4 ^# p) \
  852. STA $7A01
    & K2 d. w2 @5 u; I3 N2 Y/ u
  853. , p, R& d+ X% l9 ]6 j7 {
  854. LIFEL3:         ;hundred9 v9 h& h; s# L# n( B
  855. LDA $7A01
    ! N- ?2 Z& ~4 O
  856. CMP #$64
    % T1 x3 X. X* Q( q  N+ u
  857. BCC LIFEL6                ;$7A01<100 goto L6
    " a. ?- Z' ~* r: t
  858. LIFEL4:
    & ~5 W7 C1 n' O5 `: S, i
  859. LDA $7A01  s4 V$ ]7 E5 J  j( b6 E
  860. SEC5 t+ g, E7 R3 N. {# p: i
  861. SBC #$64        ;$7A01=$7A01-100) O7 W1 I8 @) M+ N8 o" }% D
  862. STA $7A01
    , b- r! I6 l. N" M* k" C
  863. INC $7A03        ;hundred++/ f9 n. q" o4 T( H& z
  864. LIFEL5:  E( L% p+ S' e
  865. LDA $7A018 |, T# [8 y* i
  866. CMP #$642 F6 H& v4 K/ ]! @/ O# N
  867. BCS LIFEL4                ;$7A01>100 goto L4
    ; S: ]; N6 ^( `! C

  868.   `$ R/ ?, K/ N+ ]/ p: D6 u* d
  869. LIFEL6:        ;decade! o5 n( u% M7 m3 L; ^; n
  870. LDA $7A01
    " d' p3 F  |' b* |# K( k4 Z
  871. CMP #$0A% y/ d9 i/ F# F( H8 L/ Q
  872. BCC LIFEL9                ;$7A01<10 goto L9# w' h4 a7 p  L9 f$ ]$ u& r* b
  873. LIFEL7:        & i% V( S9 W! X) V
  874. LDA $7A01& f# w( H/ {! ?
  875. SEC" _" H+ R0 }# G. F9 l
  876. SBC #$0A
    - g1 l5 f) @% M
  877. STA $7A01        ;$7A01=$7A01-10
    6 H/ l1 {- H2 R5 h( t& c
  878. INC $7A04        ;decade++  ^+ n. h6 N. u
  879. LIFEL8:2 k& w' u/ {% j& W( O# S
  880. LDA $7A01" m% |/ [/ d/ c* ~8 t  Q) d, Z* U
  881. CMP #$0A
    7 ~$ q" Z  m5 k' y  h
  882. BCS LIFEL7                ;$7A01>10 goto L77 Z) t8 m# e3 t9 M/ p
  883. ;unit) P7 q' H3 y4 O- B" y
  884. LIFEL9:
    + f' K& _+ [+ P% b* j, x
  885. LDA $7A01        ;$7A05=$7A01, |& H' n% Z: l% U9 A+ A' o3 a* O
  886. STA $7A05        ;unit' `% R+ I: y' i' k+ |! m
  887. RTS        ;return3 F6 }1 b% {5 R1 e

  888. . U$ L' F) ?, R3 G8 U
  889. , s  C6 K& Q' y: U' w1 a

  890. & p: F6 B" t4 U  V( b3 }2 Z- c/ y
  891. PPU_PROCESS: ;PPU地址处理程序: ^1 B; u9 e( ?5 L. e0 z: C
  892. LDX #$00
    * x% X) y8 e3 I( _
  893. LDA $FF
    1 b% I0 E) X  J( v
  894. AND #$01
    # z- ?' H. o  J
  895. BNE PPU_2400_27C0
    ; t! y( A& l5 B3 C8 L1 Z$ K% |6 {
  896. PPU_2000_23C0: ;命名表1
    1 c6 Z9 M! Q3 g9 n1 {
  897. LDA $0703" Q7 V0 Q6 D6 I" p2 _
  898. AND #$FB% G6 L0 T8 w9 W- q. M% @
  899. STA $0703$ v- a( T9 x! Q0 I* }) ?  u
  900. RTS& r: v( L: a7 u; U- z
  901. PPU_2400_27C0: ;命名表2: z9 @9 X4 }1 [$ i1 V
  902. LDA $0703% v4 M3 |( o5 r, g9 c) }6 a
  903. ORA #$04
    ( g& s9 _/ z+ s/ w3 w
  904. STA $0703
    2 S( u5 K% Z! B* @
  905. RTS
    # _! @3 F( ?( C5 [7 f
  906. ( x$ P, G$ Z5 u" ^. z
  907. PPU_START:  ;PPU数据写入
    7 W5 L3 R3 u8 e3 P9 E
  908. STA $21+ N! z; z* J* C4 F" v# F
  909. STX $0701+ ?; i* q6 f+ a) X
  910. LDA #$00' g6 \$ b" M$ q9 e8 {( v) D
  911. STA $0705,X
    * ^7 U9 ?1 n" k: H# j
  912. LDA #$01
    ' e- i& l7 f. R% X: @- {3 y9 n, l
  913. STA $0700
    7 h- t- k' X& R3 V
  914. STA $0702
    + ?8 q/ P5 Y; ]0 ^$ W* \
  915. RTS; h7 l- i* e2 w
  916. 1 l! n% H* u  }0 ~4 m9 c' a2 b

  917. 8 u! O- L& b, O1 u# H5 r
  918. ' n: z0 y' w# ?  f3 r" S% `

  919. & O2 [) Z- c+ F1 b4 c1 g4 Q
  920. , p4 @, w! \* K5 y3 ^

  921. : a& w+ ^% h$ m
复制代码
% s( R0 B) ]7 c+ d6 t5 B% B

本帖子中包含更多资源

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

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

签到天数: 2188 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
: q! F, i2 N, E

签到天数: 2556 天

[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-5-15 16:10 , Processed in 1.095703 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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