EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序$ o8 r# N3 J. N, M2 s5 D4 W" _
  2. 作者:FlameCyclone9 P) q3 \, {" W
  3. 时间:2017.2.12
    % j& F1 F3 b/ F4 y( o( Q
  4. 1 N9 X2 b# A4 V! ]7 Q
  5. 按键跳转:
    5 o# v- W+ m7 j9 l2 V
  6.         C1EF:95 F5 94 F12 W$ ^3 g- D  D8 h$ y, M
  7.         C1EF:20 70 FB EA3 t0 B) ?7 P/ O, z7 {+ _
  8.   {$ d/ G9 j( C$ j, c1 x: i
  9. 滚动偏移:+ W+ O) p) |) b5 K) f2 b) e' l
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20- n/ @8 h; l) C7 c% x* _
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    5 ^% V9 E5 S1 _9 Z# [: v4 j
  12. / b3 h2 T8 d9 ?  m# {7 ]# D3 |0 s
  13. 背景调色板:
    9 p9 l- y+ M/ V
  14.         CF20:9D C0 07' y4 X' r8 i9 g# j
  15.         CF20:20 A0 FB
    ! k" `  X2 r+ F+ `6 u$ a6 ~$ Z" C9 w
  16. , f1 b$ R. h1 Z2 ]' N/ P6 ?* Q, K
  17. PPU BANK号:
    / T* p; n; N1 F+ v3 g% a2 o
  18.         C8C9:9D F4 07; r5 |" U4 j. F
  19.         C8C9:20 B0 FB
    5 e4 v7 ^3 O. h. K

  20. ) i' G3 \1 M; }0 ^0 H1 {; t& Z" t3 V
  21. 按键跳转:
    ) s4 F* @2 Z3 D- u* h
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20
    - g) q0 ]3 E+ I& k( _
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    3 Z8 @" d4 P3 K: |7 w+ N' U, z
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    ' c$ ~: C2 L4 l8 _
  25. - X# S4 }& E0 }/ K7 H1 k
  26. 背景调色板:
    3 q/ u% C, L8 D& z
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    * m, {+ x2 n! A, F0 W* I9 o
  28. $ D5 v+ }6 ^) i. R* Y- n; w
  29. PPU BANK号:
    $ v9 N7 k8 L* {+ u3 T7 L
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF! ]% G, T- c; b, }8 W

  31. ; g6 B8 s: R, R
  32. 滚动偏移:) `2 e# i$ C7 |+ o
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60' I9 `4 a- w) h: r1 v8 G
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    4 Z; y. {: V5 w/ }( e$ i4 v; ~. z
  35. * J+ @* O: I- }  W4 }% z
  36. 7 b9 w/ g" f* G
  37. 切BANK后A000:1 q$ R: V( k0 ^. |# Q; Q
  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
    2 {8 u* H/ O+ s( Y" @: {- p2 r7 b

  39. # e/ s# ?2 h/ ~7 w3 {

  40. 4 c; q- R( J0 l  n
  41. 6502 simulator:: \. u, |, ^- i* O9 ^6 O" b7 q; Y" P
  42. PPU写入程序:1 H) E4 c/ r: I: }( B; S
  43. .ORG $A000
    3 X1 l& r( s( }: z
  44. CSP = $80
    7 Z+ C, H. h% `+ z
  45. C0 = $81& G; O- x: D4 R3 q! h, t6 L% X6 {) f( x; {
  46. C1 = $82
    9 q% L8 p' q; Z7 W- {( |% a, `9 C2 L. y
  47. C2 = $837 v" j9 _# w; G" ~4 ?
  48. C3 = $84
    3 S( J& [* O! R9 v6 `' |1 V: V2 q
  49. C4 = $857 s: z$ t/ I- J1 o5 j
  50. C5 = $869 |* `8 k, M2 o3 [0 `
  51. C6 = $87& Y( p8 B( D2 a9 |6 o, P3 r  H
  52. C7 = $88
    6 q( C4 W! P. j0 ?7 L& Q0 B6 z
  53. C8 = $89
    & g; X0 k  {+ u7 G% Q( E
  54. C9 = $8A
    : C6 w& w0 @, C6 ]) T
  55. CA = $8B
    : Y: r4 }; @( S5 W0 S
  56. CB = $8C' J: p2 n+ i( d
  57. CC = $8D# `/ D; ]7 D7 `7 `& @3 v& m
  58. CD = $8E- f) |! _, Y8 J4 p3 l2 t- H# u
  59. CE = $8F
    , u9 I6 {. U, I6 `
  60. CF = $90
    $ i3 @  W+ j8 K1 n
  61. CG = $91' v: Y! |8 u/ f% {' ], H: ?
  62. CH = $92! N0 a; y. n9 R* n4 t9 {
  63. CI = $93
    8 E  d- \; ]4 O6 {1 \
  64. CJ = $94
    3 q9 r3 ?7 p" ?; C' ]
  65. CK = $95) X, K" o. \3 }7 K8 O
  66. CL = $96- @& g# P( b8 C  q6 }2 ]3 o2 @
  67. CM = $97, M' i* V% p* G& Y/ i
  68. CN = $98
    ! U$ ~/ c8 \- e" m
  69. CO = $99
    % {% q3 y, S6 K# z) {
  70. CP = $9A
    $ q7 g& o: z& S. C
  71. CQ = $9B" y; X* X/ [8 D9 g, O; T1 }9 s
  72. CR = $9C
    9 i+ K" D! G7 p/ G) a: ?3 T9 I
  73. CS = $9D
    # @) ?( y( U# ]* ]
  74. CT = $9E
      t' ^) a% E5 _) u! k
  75. CU = $9F/ L5 q6 I) X( ]; ?6 b1 S# v: T/ s
  76. CV = $A01 K. v& z# W# x$ Z
  77. CW = $A17 ~! V6 l( Q3 G7 w$ @
  78. CX = $A27 `8 F0 N0 P( e
  79. CY = $A3$ g, R+ c1 |1 X
  80. CZ = $A4
    , X8 ?, `' w" X* o6 D1 |$ X: O1 b# J
  81. CEND = $FF
    , \& r0 A0 i0 r- G6 i( f$ h
  82. . q' M2 |, Y& h8 {, u

  83. / d4 w" X) j1 j& Q6 n" D% |8 l% M
  84. CMP_RE:
    9 Z6 g* V8 u& I, v
  85. LDA $FF# U  j4 T. ?/ m2 i) h& k
  86. AND #$7F
    8 Z; l4 D  e1 o- \" z
  87. STA $2000
    8 z( Y' u4 X/ o' N2 {; ^
  88. LDA $2002
    / `+ ?: P4 C7 _/ m' f, v
  89. LDA $25
    ( _9 J  _; X7 H$ J0 X
  90. CMP #$01
    " N6 }5 b) C) y* O
  91. BNE PROREG! ?7 ?5 Q5 e' B$ d
  92. LDA $F5,X- d. m; r6 U0 O5 L' W) o
  93. AND #$CF
    + W0 |2 H6 ?& [# n% }5 X0 m, W$ Q9 l. V
  94. BEQ PROREG4 L4 S/ \1 C2 S: H: E+ ~; s
  95. JSR PPU_CMP
      y1 k- f. w- K+ k( ?; @
  96. C_RE:
    0 j( a4 D/ S4 W! l- Z, r5 r& p
  97. RTS
    ) ?9 j, Q0 [1 }" o, W! S! b1 X
  98. PROREG:
    , J% o5 l0 W, w# u; _- _8 I$ x
  99. PHA
    6 ^- m6 G! S+ a
  100. TXA
    & {4 ?2 j9 o- M( V9 m# o
  101. PHA
    & V! w8 {; b' p5 y) }+ x, {
  102. TYA+ ~( P4 l, {7 V
  103. PHA6 m6 V* Q' g- j
  104. LDA $25! a/ D( h: i4 a4 C
  105. CMP #$01
    ( ~- L) b$ F$ R7 s- d) U$ i
  106. BNE RE% e9 x* c. A$ L+ b  M
  107. LDA $010A
    , u$ i# l; Z1 x; v; c7 x
  108. CMP #$00
    : j: |4 x3 f/ u# s( U4 T
  109. BEQ P1
    ( @2 F$ ~! t* \
  110. ; D! V- |# d' F3 a$ `3 N5 k% F3 C' f
  111. RE:1 J2 O$ F& J7 k: _
  112. JMP PPUWRITE/ C; @, [8 t3 Q8 x) T3 s
  113. ! K/ A( [- i5 L' I- m* s  c: j( i
  114. P1:                ; 条件判断
    . \; B2 `3 o$ \' a9 Y( a; _8 X
  115. LDA $7FFF
    % i2 o5 x) t# B$ [- W0 X3 l, W( [
  116. CMP #$FF+ p; ?5 ~. ]8 ^3 }$ d
  117. BNE P1RP7 \4 C) m* G1 ]9 k; k4 H& ~' ~
  118. LDA $7FA0
      N& s1 ^# ]; k. a6 C' j- J1 h
  119. CMP #$00& Z: q4 _+ C6 V8 S
  120. BNE P1CMP- P" n7 o( h% g) d& P/ Y+ o( l
  121. LDA #$FF
    8 \& }9 y2 V/ ~0 U) k4 y/ d! ^
  122. STA $7FA0
      p( C, S! k. [, W' i
  123. JSR CLEANA
    ! y6 S7 c( `% Y  z7 R) K" D
  124. JMP PPUWRITE
    & W8 l: z, n( V$ w
  125. P1CMP:
    8 r0 M0 N  U1 L7 ~( n0 ]% ^0 z4 N
  126. LDA $7FFF7 {3 [) w. \2 Z3 t& `
  127. CMP #$00+ L1 H: {5 n1 |; c* |$ y% p
  128. BNE RE) [3 R# k" l, {/ ~
  129. P1RP:
    8 j1 t1 c% X# \$ n7 p
  130. LDA $2002$ Q  \( e% G3 E! `  W
  131. LDA #$00
    9 n  m/ M' e) G% V. X
  132. STA $2001
    2 [/ L9 ]) P1 ?" K
  133. LDX #$00* G4 P1 I! E/ p. X# E
  134. LDA #$FF3 t9 f+ @& a, y1 Q5 D, |
  135. STA $7FFF& j, ^0 {# B  w4 a+ x
  136. STA $7FA05 `& M( ^! j) d
  137. JSR COPYPPU1 x+ f/ \- ]2 }9 H1 I  C7 n3 _
  138. PIRP2:, j+ l! L3 T+ u* \+ t% ^
  139. JSR CLEANA
    - s/ Q+ _+ L3 F5 H
  140. JMP PPUWRITE
    $ l, b4 H2 P* ?2 m
  141. 7 A# ~- s+ ?( s3 L5 M
  142. COPYPPU:
    8 B, E( a! |2 v* `- E- q# P/ `
  143. LDA $FE, M  i- `$ U: ~  C6 Q0 E
  144. STA $7F503 E* R/ U3 E/ ~, a
  145. LDA #$08
    $ K3 l4 E2 R( W' w2 b
  146. STA $FE
    8 X5 V/ t3 i; v- [, T! a" m
  147. L0:7 [6 e- Q) C2 ?  r& y! a
  148. LDX #$00
    4 q( j9 L! u2 l, e6 O: g8 _8 O
  149. COPY_07C0_07DF:) p; s3 C! I+ e$ N4 w
  150. LDA $07C0,X
    : e; l% ~' d& K& r! ]% m6 ~6 y# m) t
  151. STA $7F00,X
    8 z$ q" m4 T/ I4 @
  152. INX
    4 k6 i9 M9 Z) A7 L3 N% B5 s% x2 I
  153. CPX #$40
    $ x2 c% j- s  M/ Z. W4 o
  154. BCC COPY_07C0_07DF
    4 j( ?$ _3 L+ p& |2 q; a
  155. LDX #$00! ^- b2 \: ~' j) y
  156. PPU_07F4_07F7:! K6 J. h- R! N; I, y3 b. V
  157. LDA #$00
    1 d& |1 B6 u+ b# W% @  E
  158. STA $07F4,X
    $ s$ p. B: Y1 U4 S, j4 `
  159. INX
    5 X. K: O% }* ^" t: }9 J
  160. CPX #$04% ]% B8 S) z: B9 S) J
  161. BCC PPU_07F4_07F71 q; r, f- H  E' {; I
  162. LDX #$00
    + R9 a+ e  F0 I
  163. COLOR:
    % T6 e7 @) k8 i8 T4 t* [
  164. LDA COLOR_DATA,X
    : a9 \" G& ?* L: R: P* ^
  165. STA $07C0,X
    , \( W* n$ W: }' q6 h$ i) [: S. }
  166. INX' l" `+ Q- g# v: u8 \
  167. CPX #$10
    " \0 ^. Z, {3 {/ ~) s
  168. BCC COLOR3 O$ F$ @2 ~5 x) k$ O$ M

  169. / f. |3 r/ g6 `! E
  170. PPU_COLOR:
    ( K& j/ P' E  I6 r7 w0 [0 u! Q8 _
  171. LDA #$3F
    5 }3 W& H) ~8 {+ z, W$ s% i: \% e
  172. STA $2006
    + x' j3 g3 i! `1 E: O8 x+ d
  173. LDA #$00: O- `( \3 u3 k. h  p* n6 e
  174. STA $2006
    + \5 V/ @# S2 y: G+ `+ Y* m7 {
  175. LDX #$00& S- u3 g1 X, I5 r% T; J$ W) j
  176. PPU_COLOR_W:! @. c1 }7 s* u2 {
  177. LDA COLOR_DATA,X
    6 j8 I% s1 L! h* E0 V" P  ~5 y: V
  178. STA $2007
    ) z) n! @0 ?! v0 y1 W9 e
  179. INX0 \( _/ i! ~6 Y) l% J& k; Y
  180. CPX #$103 O) w7 q4 Y$ |6 i% P) Q
  181. BCC PPU_COLOR_W3 u( @# l) m: d/ X
  182. * l" I3 N& a/ M, z, _/ L: Q, }

  183. 9 y% D7 l8 C! O. n% G1 X. _9 U6 g
  184. LDX #$00- `; B* t! N  ^
  185. LDY #$00) G9 N* s1 E) a- M
  186. LDA $BD! v9 ~6 |( X' x' s, N
  187. PHA8 k/ W. y" ~9 d& D. M
  188. LDA $BC
    / h0 F8 G( ]2 R$ D
  189. PHA
      x! {; C$ \. I# W& S- I5 _
  190. LDA $BB
    8 L( i1 O9 X3 U5 ^% F. q
  191. PHA: f5 C; S2 {! U$ t
  192. LDA $BA
    6 ~! ?, _# y1 q9 `  J7 K$ y
  193. PHA
    . ^: a$ L& ]9 n! ^) w8 X
  194. LDA $B99 j9 i& n/ r8 Z% @6 I  J
  195. PHA% M  p5 N6 Y" v; J
  196. LDA $B8) W- ~0 A4 {$ E& \
  197. PHA6 O3 _( g9 i* J- V6 a4 K
  198. LDA #$005 S- K) l- }* |4 y1 `& G5 T# g" e
  199. STA $B8
    ) z1 G$ {; E2 _
  200. STA $B9) s" b8 o( S, {+ ?" ?
  201. STA $BA
    - _, f6 ~8 M  R: s! P
  202. STA $BB
    ; E% e* T: k# ^8 j  s2 M
  203. STA $BC5 t# H/ Q3 U4 A- U
  204. STA $BD
    ' o. P# z2 o3 j3 u+ y+ [8 M
  205. LDA #$00( n9 k5 [* R) S3 d$ X
  206. STA $BA
    ( M$ c2 b4 }! j; P: r
  207. LDA #$205 f& D8 b! t5 @! E
  208. STA $BB- K! ^: t( \0 ]7 f, q
  209. LDA #$00. ^+ R4 z+ ^- e3 U
  210. STA $BC
    4 x* C- Z9 Q  q# U; c3 S
  211. LDA #$60; C4 R8 R+ w5 [, O) @* |
  212. STA $BD7 G& u7 P/ R/ a
  213. % h! l! H7 Q& X# z
  214. L1:                ; PPU复制/ g9 V( C+ f% q  o8 M- p0 ^
  215. LDA $BB0 m; J1 N) O% c  ~
  216. CMP #$288 z% d' }4 E; p
  217. BNE L2
    7 |! f1 B# y( |) j" ^% `% T
  218. LDA $BA
    / t2 R4 m& Q8 F3 y; }% N: S$ E- _
  219. CMP #$00, F! g. u7 t. L  h; p
  220. BEQ PROADPLA
    , Y/ [: i' d9 p: s' O* z) c
  221. ! b7 O/ W! {9 ^' w. l
  222. L2:# t$ N  x* ~5 X. O
  223. LDA $BB4 ^& ], z1 S* t6 R
  224. STA $20067 x7 R# ~8 Q8 m- s# Y
  225. LDA $BA" B: X6 r; Q+ o( V  m/ ?0 R# o- Z
  226. STA $20066 R4 q3 H& a/ y5 W7 [
  227. 3 W8 D) v. s  `3 i
  228. L3:
    0 A5 Q, i# F) y( h
  229. LDA $2007- h& _( O$ j" t( u- Z2 Q) l/ y0 P
  230. LDA $2007# W2 i, e2 l1 A; X8 q
  231. STA ($BC),Y+ ?% V& v' \7 Q2 c; D

  232. 8 d. i. T0 c; `" f& z6 M) a5 T: B
  233. L4:, \8 J, I* q9 i! q
  234. LDA #$007 Y. Y, m# \5 `" \7 P3 V$ Z# F0 Q* V
  235. STA $20001 G5 d0 O8 q% }
  236. INX
    2 o/ P* q; `* s/ P) C$ `3 F; P
  237. INC $BA; V4 ?) l  o1 \  Z6 c, r
  238. INC $BC
    , Z8 F6 o/ p8 Q0 e+ k8 `( Y- ]3 x3 _
  239. CPX #$007 t4 E* G1 ~, {( ]9 @8 z$ R
  240. BNE L1
    & v$ m, q- e1 u
  241. INC $BB' J# ]; b, [1 v0 \' t  M! \
  242. INC $BD5 M5 x+ M9 ]3 \7 U
  243. JMP L1
    & p/ W5 X4 a4 a5 V5 i

  244. / g0 @" b* U. Y: a0 F# n
  245. PROADPLA:                ;出栈# N4 U; i2 i) Y* Y4 I
  246. PLA
    - w* T- d4 u+ J
  247. STA $B87 J9 v: B  |; \. T
  248. PLA' V: S, {& P) r* G' R
  249. STA $B9
    ) p$ @- H! _7 p+ \, [9 L
  250. PLA
    + o4 W0 E7 c' T2 {. H
  251. STA $BA) Y+ b' }; A  r# H% L
  252. PLA
    0 |% B# K. _9 u+ ]
  253. STA $BB; O2 a: U3 B, e# E
  254. PLA
    ; d; m: M+ G1 u$ P! a5 A: N& i/ Y8 m& w
  255. STA $BC2 e) {- Q8 b7 ~7 ]% e  C2 V. d& ?
  256. PLA$ _6 H' E* H" G# C' d+ ~+ V; N: ~
  257. STA $BD
    6 s" K6 ?# a! R
  258. CPRE:3 o/ B7 n2 A0 w- |
  259. RTS
    . l! Q# p9 y9 A+ W3 r: N$ T9 c
  260. 3 F7 u2 B4 Z: m' r* `. J7 @+ L, }
  261. CLEANA:                ; PPU清空
    ) ]0 n$ t( I8 W+ m- Q
  262. LDA $BD3 m) \  t9 Y' b1 k2 U8 H
  263. PHA  \' C* P8 A+ u0 ^
  264. LDA $BC
    ' z" {. e. q! Y
  265. PHA+ L2 y4 _7 r7 U' Z. I
  266. LDA $BB5 U; Q/ Q1 I1 @& }+ Z- _1 e
  267. PHA
    5 p" I) \0 ~3 t3 W
  268. LDA $BA# d( o3 r! U8 {
  269. PHA
    ! J3 |8 M8 @) s/ z8 s" r" G" S
  270. LDA $B9- u% f, z4 L5 X& m
  271. PHA
    ' c( T; O1 \+ |
  272. LDA $B8) K, s1 |1 [% t" j3 e6 V: q
  273. PHA
    0 J+ d1 T5 H0 y* G
  274. LDA #$006 Q/ b$ r! b- j+ X& X2 `; P
  275. STA $B8
    . k- w# V6 }( E8 X0 x3 `$ Q; t
  276. STA $B9# L! ?2 z& p) M+ E7 |1 D% o& {8 [
  277. STA $BA, C7 x8 Z9 q. v' Y
  278. STA $BB
    # x; b+ y# _3 Y; E" d
  279. STA $BC
    : C1 X: d( X) N! y3 A
  280. STA $BD
    ) ~# s& P0 ]% B
  281. STA $2001+ ]$ s+ j+ F$ t" ]8 r1 r
  282. LDX #$00
    5 Z1 ^: a  T& p1 _4 l4 G5 `: ^
  283. LDY #$00
    , Z8 K5 e* N% \5 x- A( f
  284. LDA #$003 b# N9 d7 c  O5 s& M
  285. STA $BA
    4 \: q/ ~; D8 l, `, F) d' l# W
  286. LDA #$20* f3 A/ W2 B( [) e# h
  287. STA $BB
    , X$ z1 T& ?! y& Z+ N
  288. ! d  \+ ]: p& T7 x9 x1 r
  289. CL1:
    6 T- q3 M* F# }  ?, O  a+ t7 H$ G
  290. LDA $BB
      `- d& u! Q+ q9 \7 T/ p. U
  291. CMP #$28' k( b% T; J: e4 d* C8 Z) A
  292. BNE CL2
    : n2 \" k' N" o% w+ ~4 R
  293. LDA $BA
    0 s5 u* L& D1 ^8 L, K8 B
  294. CMP #$00
    - T. e$ D! ^: M
  295. BEQ FREEWRIYE
    ( j2 H' }0 I' N. |0 V

  296. + g2 h  C: Y/ @8 {5 E% y' x$ q  C5 k
  297. CL2:" d1 c# d% W; b( H
  298. LDA $BB
    1 p3 }7 V# q8 c
  299. STA $2006
      Q7 w& j# h( g
  300. LDA $BA( ^3 y; f* x. W& V( ?' }
  301. STA $2006
    ( Y0 k5 b& V; d
  302. ; h* l8 P0 P# f8 ^; [0 Y
  303. CL3:
    4 b( c8 y- U/ H: C; V5 E. F
  304. LDA #$00: g$ @3 t+ p, ]4 n3 P
  305. STA $2007  W3 @5 z7 g1 A  k8 n. r
  306. . Y0 e+ I# I  M- W4 Y. S
  307. CL4:9 L1 f8 W7 s5 U9 D/ q  x
  308. LDA #$00
    : Y# l7 o  c. w% Q/ G3 u
  309. STA $2000, r! _% \6 y. G* b' j
  310. INX
    - e, Q5 u' |6 e* W( H
  311. INC $BA
    , K, w8 P( h% r
  312. CPX #$00# V# n" m. z0 s% ]
  313. BNE CL1
    / o: g7 y8 P- l2 {0 {1 v+ J
  314. INC $BB4 m; ]/ k7 b: o& d' E1 O+ g" E2 u
  315. JMP CL1 $ ?  v0 n" v( t! _8 Q) z+ q3 z6 ?

  316. 1 e! H4 K  H- [. z, X7 r, H* e
  317. 1 r! M& g$ l4 D: i
  318. FREEWRIYE:0 I. c- W6 D# c

  319. , r( W# D& K. O1 R
  320. NOP
    % k: U  L8 O/ }1 z# A$ M" G

  321. & ^! N0 a* _, j6 C+ c% \1 p

  322. ' Q' l# x. y4 @
  323. & {( E0 x# c+ U! l8 m. T/ `

  324. ) v1 x$ d2 ~( A  f

  325. 4 l9 D, e: i( O: C# }) Z# i
  326. CLEANF:                ; 恢复现场) h* E9 `! Q/ o
  327. 5 Z; j+ W4 b# |( a8 p
  328. PLA7 l( ~  }7 N. Y' Y# [2 @
  329. STA $B8
    / i' d2 \' l% [7 j( d+ r- z) C
  330. PLA- T+ d  E- _/ w$ L. G
  331. STA $B93 k7 Q% p/ g# v# F
  332. PLA
    0 U9 E3 ~7 t# l9 H& Q
  333. STA $BA1 f! F6 H% T2 j$ K# R" y; L
  334. PLA# D; A  k: t" n% b4 O7 w3 q
  335. STA $BB2 G: a$ j: Q# d8 ]; ?1 [
  336. PLA6 \' q4 H& I# f) n  c
  337. STA $BC
    2 b7 y+ T' \. o8 T& }0 `2 q
  338. PLA
    & B( o! q) }6 B$ O8 _: D' B* h
  339. STA $BD6 v& o3 G" ~* P  M$ C
  340. CLRF:
    ; }0 q+ Q1 V. n
  341. JSR FREE_PPU
    8 o$ k2 S( L: Z: y* R, l9 |
  342. RTS
    8 I0 N9 |! u! g* H$ M7 y
  343. ' \1 v5 `( O: j/ c/ m8 b; X2 W% W
  344. ) W+ h  G* d$ p; u# j9 B5 F
  345. PPUWRITE:    ;PPU写回! h  R5 ]" t3 A1 R6 S1 ?
  346. PLA7 N# G+ J. r: {1 A4 V
  347. TAY+ c# f: K8 _$ K4 n0 q% Q
  348. PLA  z5 A8 M. {6 H" r" n
  349. TAX
    , h* n) T4 W0 R
  350. PLA
    ) a, u  J* F8 ]' a: d# \
  351. LDA $250 x5 B! `! m& \5 l& x6 W! F! z8 J
  352. CMP #$00, [/ N: r' k7 d# w, ~
  353. BEQ WP1
    ( l6 x3 ]$ Y- M
  354. LDA $256 b. A+ k) F) M+ B
  355. CMP #$012 ?# H/ n! V. E/ i/ m5 b/ _
  356. BNE WRE
    2 [* T& [# y- N, q3 g
  357. LDA $F5,X
    4 C" A% r% L$ A' x$ F& W2 J; L, r
  358. AND #$EF
    5 h& `8 J- `4 s6 m  L
  359. BEQ WRE
    6 {4 N& W. E8 Y0 w/ [! P6 w6 M
  360. LDA #$00
    1 ?2 C7 Y) k: n' _  f* g+ c6 S* W$ O
  361. STA $7FA0
    6 Y  b2 {& v/ R2 B( }: A

  362. $ O/ L! J8 _" ~
  363. WRE:
    3 e3 B6 Z, g, `" e7 i
  364. RTS5 o3 e$ V  x# l# ]) O! ^0 X4 V
  365. # K) I6 M6 e7 O% L( C4 R: s
  366. WP1:4 ?: X. k/ b3 C& Z/ M4 B
  367. LDA $7FFF: k/ W% M$ l- E
  368. CMP #$FF
    / W! V; e1 W- D& V8 _
  369. BNE WRE: F+ }. q, ~) ]  P6 ^% p/ A
  370. LDA #$00
    8 _2 G7 _# M( c4 G6 s0 Q; S3 ^
  371. STA $2001
    7 [0 R; m3 n4 D; o+ T
  372. LDA $BD
    ( ?! u) ?  e: n0 B6 }4 _
  373. PHA
    . |# H& P2 d. A( J0 U
  374. LDA $BC' x' n3 ?7 y* a0 v- `; t
  375. PHA  U$ h5 I. R5 a! o9 ~0 S* c, K  W
  376. LDA $BB3 k; j6 v* o* Q
  377. PHA1 k! L6 }, U; w% S. p
  378. LDA $BA  j3 o2 M/ U6 i
  379. PHA
    5 r' J: k8 t- _8 @5 T, v% c; H
  380. LDA $B9
    8 X6 n/ q# E9 M  W9 l
  381. PHA
    ( V# i4 |; [2 g( ^; P2 I7 s
  382. LDA $B8. W1 O4 j5 r8 |! g, c
  383. PHA
    - ~  `. e% u: P
  384. LDA #$00  @/ Y/ r7 F$ n% a  F
  385. STA $B8
    : r/ X6 O5 Q8 U* i! k
  386. STA $B9* i) a' z' L# ~8 n
  387. STA $BA
    + {$ z/ v1 J$ y" I7 z
  388. STA $BB
    ' W- E9 g5 U- z
  389. STA $BC. Z3 M# A* F( [% ]9 m/ p- p
  390. STA $BD0 t) B: D- G' A! m+ @! U0 \
  391. LDA #$00' D. [# h1 t% [5 s* b
  392. STA $7FFF; M& c$ p( X. {" o, E

  393. . o4 G0 x# l5 }- P5 ]( q  |2 r
  394. WL0:1 p' C0 q2 v2 q5 ~
  395. LDX #$00
    , I. a) t+ }# A/ W2 p
  396. LDY #$00$ X0 l" u6 [  y) [4 u. k  U
  397. LDA #$00/ M: b4 F7 w/ F0 S' v  _1 f0 e7 H
  398. STA $BA
    ( [; U- p( @" ^7 [. V& {. t
  399. LDA #$20" d5 z  r' N/ |  V9 W
  400. STA $BB! E. u: ?6 c* `/ \! u" v# m
  401. LDA #$003 c! k) H0 ?9 \- z7 T" W
  402. STA $BC8 A$ w5 U! A8 M  d3 ]$ X
  403. LDA #$60
    3 l5 y" B! H1 t/ E3 U6 j: f
  404. STA $BD
    6 h5 ^' S- L( R  o0 E' r  Y
  405. 9 g$ G6 `: V9 u- E( v: {  _9 O" f' Z: w
  406. WL1:& x; v5 Q7 F: \7 e% R
  407. LDA $BD
      f1 T( z: V+ Y; G" v
  408. CMP #$685 d0 {  o# [5 O4 S4 }+ n3 c& f/ S
  409. BNE WL2/ _. ?5 c& U; _1 V6 V5 B* {5 A, X
  410. LDA $BC2 |) K. y" |0 N! }) i% b# Y
  411. CMP #$00
      H2 j& ]$ D& O8 j( _2 `, n6 P7 v
  412. BEQ WLR( g% c/ Y3 G9 d

  413. , F; D4 d) e4 F1 p& M2 v! e) S
  414. WL2:
    # l$ W3 {$ O6 z
  415. LDA $BD7 R; K% ?1 L; H! P
  416. STA $2006# X5 ~% i$ B' Q7 d: p. z; d6 {) y
  417. LDA $BC
    ) C& F% u% G' ]  W+ Z6 ~
  418. STA $20067 q( L6 H5 e# k( s! n% q( H% D) d

  419. 5 a' w- ?6 D: w( R4 S
  420. WL3:
    / W" p$ ^9 ]' n, w
  421. LDA ($BC),Y: m* [* B7 _4 x' Y4 p* P6 U
  422. STA $2007
    & w9 }2 `+ `% A& @, Y$ Q
  423. 7 D0 D' X9 Z: i
  424. WL4:3 A7 Z% E; ^' Q4 `
  425. LDA #$003 ?0 A/ @- h  p/ ~7 q. s
  426. STA $2000
    ) w5 M- s9 E5 {; Y& M0 G+ e
  427. INX7 N6 s- P, _# ^4 p
  428. INC $BA$ P4 J! T$ [2 s2 L6 o
  429. INC $BC
    % X( r1 N; P0 ?5 Q* ]7 P+ c, z
  430. CPX #$009 Z  G; S1 b( v& ^4 r
  431. BNE WL1
    4 ~8 T1 |2 O3 v8 h
  432. INC $BB0 R! E* g) j3 ~- F# ~1 \* {" J/ O- l* U9 L
  433. INC $BD
    # H9 c* G, [4 E& i, z5 H9 r( Y7 p
  434. JMP WL1# s1 t5 B/ ~0 B* D% I

  435. 7 v( D- J, @+ ^1 g
  436. WLR:- w$ k. f5 [, Q
  437. LDX #$00& s+ m. o3 b% z: u1 n1 ^
  438. COPY_7F00_7F3F:
    ' s% ^' f7 \- F. }7 Q& g$ ~& W
  439. LDA $7F00,X
    ; K4 l7 |& g  v
  440. STA $07C0,X
    ; t1 O: J; E2 G7 ~* }
  441. INX- V& u/ T6 z8 {0 v' r- n
  442. CPX #$40
      H, Z( G+ N2 V) i
  443. BCC COPY_7F00_7F3F7 D  U% W+ ^) }1 B$ C4 P
  444. 4 ?6 p: G& |& h+ O* ]! P2 X
  445. LDX #$00$ Q1 Q1 b) \4 @7 Z- `" {
  446. LDA #$3F
    ( K; P. {8 G1 \: J- B7 _+ }
  447. STA $2006
    + v# t8 S6 n4 X  X+ C
  448. LDA #$00
      {# ^. T- Z9 V( a" V5 o3 g
  449. STA $2006
    $ S( E* p+ V+ e/ g4 i. `+ l
  450. COPY_7F00_7F10:
    6 {/ b: \, e/ _( c3 i& k. k
  451. LDA $7C0,X0 {6 _. \8 P; s" @
  452. STA $2007- f* l/ z5 ^4 k1 t9 j4 a4 H. u1 L; f
  453. INX
    3 N# ~9 m4 L9 T
  454. CPX #$10
    7 [3 K$ ]7 G2 T3 W- k( K( `
  455. BCC COPY_7F00_7F10
    $ }- j/ G2 j, r1 n% s

  456. 9 \- }. ?; t! u" i. f. I
  457. LDA $2002
    ) W1 _. |! u+ w3 r3 I4 _' Z' s* u
  458. LDA $FD+ f; w+ ^0 \9 P- o  Z: O2 P  j
  459. STA $2005* j4 b! ~3 E" m% \" D) A2 a
  460. LDA $FC
    2 c& v  u4 [( @* |/ O7 q; |5 d
  461. STA $2005
    4 `6 T7 E) f) I! b, p0 W# U

  462. 4 ?$ o3 J% p3 s7 n8 S
  463. LDA $7F50" j9 H; K; o) i  i
  464. STA $FE
    + \) n5 w+ z1 K) {  x0 d% n' Z
  465. LDA #$00& e7 _0 R6 I, Y" E2 K# [
  466. STA $2000( w6 ~9 L0 F8 c" H6 @7 u
  467. PLA
    ! R; x$ {: L& ?4 b) t3 y3 G
  468. STA $B8
    1 d! f, B  H+ M. u5 P% I
  469. PLA6 H  I; I6 w0 ?+ B, u# {
  470. STA $B9
    7 N9 [& @! I; U! j) D
  471. PLA8 |+ o7 {" E: k% |/ b+ G
  472. STA $BA" o% D6 @+ T. C
  473. PLA
    4 `+ G0 Y: O3 V. u
  474. STA $BB7 B/ O' F+ A: j7 j5 j# n3 A- J
  475. PLA
      K% @0 ^0 o, g, C) u0 P* E# c0 w
  476. STA $BC
    5 }5 P1 d( ^8 N! ]) I1 B% o0 w
  477. PLA6 b( Q& [$ S4 Y
  478. STA $BD
      R( Z, ]* F" |

  479. / n8 f3 o8 f0 ?  F
  480. RTS# c) h, H" l" x% R, z6 c
  481. : t0 V' D% X! g) N
  482. PPU_CMP:
    + |) Q0 |5 c$ w9 H' i7 X. y% [% e3 x

  483. : l; @7 [7 \2 y0 g& f* m* b' A  W
  484. + i+ e# U, t2 ?1 D6 J  N
  485. PPURE:8 e) Z6 @1 B/ T. x( w, A
  486. RTS3 H/ [0 g6 ~9 B# D1 S3 G6 n

  487.   O, B: d% ^) M' q8 ?+ S' ?& W
  488. 9 F8 T: _+ U7 E( c
  489. FREE_PPU:
    8 ?8 |. o/ t. `( ~

  490. 3 w! i0 ?. a0 I" {! f. e
  491. JSR TEXT01_PPU
    7 i& W8 X- ]6 N, |* ?/ ~0 N' V
  492. JSR $CBC0- G. m# z( n; c( C
  493. JSR P1_PPU& `) z1 w3 d& a0 s
  494. JSR P2_PPU" f4 Z' D) A3 J. W" H  Z6 k2 u) w
  495. RTS9 c% ~  [1 l5 R- y; O7 U& o
  496.   v0 `$ C# ~. C$ v2 z, q, k1 s
  497. TEXT01_ADDR:
    2 n# I/ `7 a7 N2 T5 Z% s
  498. .BYTE $20,$42/ ^- D* T6 b5 m9 `# V
  499. TEXT01_DATA:
    6 ?; V: g& \. {! P8 q/ {
  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
    8 Y3 F' \) w9 t" m9 w$ N+ w' m
  501. TEXT01_PPU
    9 ?5 Z  k( c1 r9 n/ F2 K3 m
  502. LDX #$00/ p, r" e3 x2 s9 L/ |
  503. LDA TEXT01_ADDR
    # P. D. D3 E) ]& e
  504. STA $0703
    : X$ F$ C" o7 y  D0 J4 c$ w/ J
  505. INX
    : S. A5 {; g; M
  506. LDA TEXT01_ADDR,X
    7 W6 X8 `0 E; m* [6 s! R3 V
  507. STA $0704# l% G. u4 e, o
  508. JSR PPU_PROCESS8 e4 A" \3 S3 Q! j: r5 e1 R
  509. TEXT01_W:
    - p# w" ?) u, K8 \
  510. LDA TEXT01_DATA,X
    6 n% c+ k! U& w7 ?; |) K
  511. CMP #CEND/ |8 Q4 S9 t- H6 ]. r
  512. BEQ TEXT01_START( o$ \% M- f; ]' m; v. |9 x4 R
  513. STA $0705,X& G8 S" T7 X' {) \# L" N% `6 D
  514. INX
    1 c( Y( A; J' |
  515. LDA #$00
      ?) v* b" l) d) l; g7 N. G4 I2 q
  516. BEQ TEXT01_W
    ) o  n. U' k/ d# e/ ^
  517. TEXT01_START:
    ' V8 k5 ~- T9 A* j; d! N% H
  518. JSR PPU_START
    $ i- E3 Z) X0 X: D) p9 X, C* M
  519. RTS
    5 d9 F) b; B  Y. l0 S* u

  520. 7 x7 @1 V+ N  [8 w7 x$ b$ ?6 _( O

  521. 4 f- K; G0 C* {  W/ l( W
  522. COLOR_DATA:* w4 o- K* ~1 J
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    ! S) J$ R' q( D. ^# P# \+ f
  524. 1 Z1 H! t) {9 n0 O7 {0 A
  525. P1_PPU:
    0 G  [8 _/ }8 l9 T% j* N
  526. JSR PLAYER_01_PPU
    % t2 d0 w8 S+ B. @1 R* y
  527. JSR $CBC0" t2 {* t# @3 L# H) e& M
  528. JSR RELIFE_P1_PPU
    : P! I1 b9 W6 t! `
  529. JSR $CBC0
    2 y; ]1 n1 d0 X6 b! m
  530. JSR RELIFE_NUMBER_P1_PPU3 B4 {% n) U. L3 o9 f) m& G
  531. JSR $CBC03 {8 I' Y9 g" K3 h
  532. JSR WEAPON_P1_PPU5 R7 g/ k! o4 I0 h8 D# _2 T
  533. JSR $CBC0  `2 M- ?/ O% I. W  S
  534. JSR BULLETPPU_P1_PPU9 d+ x/ [. e& Y
  535. JSR $CBC0* C+ {/ N0 `4 u' L7 \! _( B  z
  536. RTS
    & e6 X( j7 ^) Z
  537. * z1 _9 H1 j$ R& [2 I- ~
  538. P2_PPU:
    * U/ U9 C! p! d
  539. JSR PLAYER_02_PPU. a+ j5 H$ Y: _0 F8 @1 l
  540. JSR $CBC0
    * E0 y& t  P. b1 d2 A+ A
  541. JSR RELIFE_P2_PPU: N9 {" Y! ?# L# R8 v* x0 K
  542. JSR $CBC02 F  F9 B* a: k! V
  543. JSR RELIFE_NUMBER_P2_PPU0 }1 o2 W: |# w" m
  544. JSR $CBC0
    # H% a) g/ Y2 x
  545. JSR WEAPON_P2_PPU# `4 q& e0 J: r8 I2 i0 T
  546. JSR $CBC0% n8 R3 {+ x; E5 _* U, w
  547. JSR BULLETPPU_P2_PPU& }  D, U7 G3 [1 c
  548. JSR $CBC0" i/ n* w; x3 h9 f# {1 E: C- b
  549. RTS0 q: X/ s0 t, l: ~

  550. . R7 W$ |$ w5 ^/ f: B* H6 h

  551. . R' R+ V' p2 u. |4 H7 R
  552. - l# k5 \$ X2 t* u0 c7 p$ h5 b
  553. PLAYER_01_ADDR:
    / v/ `; d6 [0 z! W
  554. .BYTE $20,$A3( ]  O% C+ b# Y3 U) G, S. s, r
  555. PLAYER_01_DATA:1 K& c$ m3 q" I, V7 Z( o* C8 O
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    ' m! G5 `1 z+ R5 D% }3 r
  557. PLAYER_01_PPU:
    - }! p- o, ~) p4 v
  558. LDX #$002 @# p  q# G/ T* I8 h) V
  559. LDA PLAYER_01_ADDR
    ' Q) p, s$ ^8 H" y5 k+ Q: q. _
  560. STA $0703. Y7 k7 _1 U9 \& P
  561. INX+ n, ?3 ^. A! C7 k2 E8 j" [
  562. LDA PLAYER_01_ADDR,X
    : _- K3 }& y2 w3 o3 L0 E" r
  563. STA $0704$ E) a! z" h$ [$ \' @4 E
  564. JSR PPU_PROCESS
    ; i* H  N1 q( t1 r7 K  z- U+ T: I7 i
  565. PLAYER_01_W:
    ; i5 p8 u; {  F* T( ]" w" h/ z  V
  566. LDA PLAYER_01_DATA,X0 H: r8 W7 M# z" U
  567. CMP #CEND( ]4 j& K: j2 ]
  568. BEQ PLAYER_01_START4 f1 N8 D8 T( P3 d
  569. STA $0705,X$ Q  X% t' r4 e8 N1 m9 p! a
  570. INX; [. P- E/ \  m( l1 r
  571. LDA #$00* t5 }9 p# Y% ?5 b
  572. BEQ PLAYER_01_W
      N: H: s9 `% i. @: l
  573. PLAYER_01_START:( a# \. B7 C$ _  D
  574. JSR PPU_START
    + T1 C: Z9 m6 _0 n& W: ]8 D, R
  575. RTS
    % A$ G9 F+ g5 I# M0 U. k

  576. 8 x* ~: i" P/ b5 ~, d

  577. ; F) R+ z' K6 }0 N
  578. RELIFE_P1_ADDR:
    2 y1 t1 p/ G# M& d, _
  579. .BYTE $20,$E3
    / v" J) o( A/ |6 H$ C
  580. RELIFE_P1_DATA:* a9 X+ Y6 P3 m9 y" j
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND
    , D4 @" N6 @% G! m  C0 e% g/ \/ F
  582. RELIFE_P1_PPU:
    - Y3 N9 y/ c, Q( j$ w* C
  583. LDX #$00
    - P- c& _( n+ J4 F
  584. LDA RELIFE_P1_ADDR) X9 \& z5 c1 d# R$ d5 `% m
  585. STA $0703
    7 |, X0 v- x$ _* p/ {2 `( W
  586. INX
    ) r! e3 F+ K" U# J6 D4 f- ]
  587. LDA RELIFE_P1_ADDR,X
    7 ]. J2 E3 }" ^
  588. STA $0704. t8 h# [% @& O3 R5 N! D
  589. JSR PPU_PROCESS
    3 ?) ?$ v: e/ V7 A! P
  590. RELIFE_P1_W:  H; j" `- M# t1 c
  591. LDA RELIFE_P1_DATA,X
    1 i6 e6 h  z1 H9 Y
  592. CMP #CEND
    % U2 y3 V7 S! ]3 [
  593. BEQ RELIFE_P1_START& ~4 m& W4 y1 w+ ?& C/ ?
  594. STA $0705,X
    ; b( K2 F3 d+ S: x; L! ~# o
  595. INX8 P9 ^  Y9 o9 u' U! K' R
  596. LDA #$00
    % E2 F! }6 k7 q: c
  597. BEQ RELIFE_P1_W0 @, Z# E8 o3 ~2 c( |$ B' v% p9 x& p
  598. RELIFE_P1_START:- f7 ~0 B- b" {* o9 @3 E
  599. JSR PPU_START) k" P) d6 H* L* R
  600. RTS
    / l( o8 `5 N" T* H3 }

  601. - h8 X6 T9 l5 o- g- q
  602. 3 w9 V3 h9 g8 A
  603. RELIFE_NUMBER_P1_ADDR:7 S" e* s- ~+ k6 E- R# ]
  604. .BYTE $20,$EA
      p! ?3 n# Q) w5 y+ \* t0 ?
  605. RELIFE_NUMBER_P1_PPU:
    & L4 `! A8 ]6 n* w: Q$ t% g
  606. LDX #$00
    8 ]3 J" t' Q7 O! v9 `; x/ u
  607. LDA RELIFE_NUMBER_P1_ADDR
    * Q' F. U1 h6 v! l  c) ~9 q0 ]: E
  608. STA $0703
    - _9 f& @6 W! g/ C( w; S
  609. INX1 i) P2 g  Y8 j( G% S  t
  610. LDA RELIFE_NUMBER_P1_ADDR,X
    , [4 ~3 B' B# @+ l- v& B2 A
  611. STA $07046 f! C. c! _. T1 j9 w2 {% a* ?
  612. JSR PPU_PROCESS0 q( h' o+ N: @
  613. LDA $320 o# u" @( T/ E, ?
  614. JSR LIFETODEC
      I: w( c$ ?& _5 @( [
  615. RELIFE_NUMBER_P1_W:- ~: N% C- v* E
  616. LDA $7A03+ Q$ q- h/ ]  i" N+ m+ P
  617. STA $07053 n, b$ [( b6 |& s9 N$ N
  618. INC $0705
    : _' H# e! |$ o4 I" H( G8 w
  619. LDA $7A04! A: ^" R; U1 C/ ~+ S
  620. STA $0706
    ' Y; t; V2 |9 L1 q' |0 l
  621. INC $0706
    $ s5 U' r, z; q8 M2 Y/ y% E
  622. LDA $7A05, P9 o4 l0 J" a1 [  G
  623. STA $0707
    : @+ y! C3 t; y1 g6 n
  624. INC $0707
    - G% d, C& i, y: N' w5 M
  625. LDX #$039 C( B8 z) N' l- h2 K. k
  626. RELIFE_NUMBER_P1_START:- g2 N) o( ]: z( w0 X
  627. JSR PPU_START- O% i! j+ b1 c
  628. RTS- \) `, S6 J6 s7 x9 J
  629. / R3 S; R3 b: b
  630. WEAPON_P1_ADDR:: t9 R8 x/ t* a" D5 I% r! e
  631. .BYTE $21,$23
    % x' Z9 n/ I& k9 Q- `6 n
  632. WEAPON_P1_DATA:) D+ p+ r% p, ^) C% `0 F" u; E
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND, Y9 \3 R+ L& L' W
  634. WEAPON_P1_PPU:' v9 ?' n$ X5 A
  635. LDX #$00
    " c+ k/ J/ B; {: Z$ y: a
  636. LDA WEAPON_P1_ADDR
    3 [9 t! o+ V) s+ D* z% _! a) h
  637. STA $07038 h* t0 P1 K" T* w
  638. INX
    / h3 W4 ?) ~  a+ m' K1 g2 ?# d! y
  639. LDA WEAPON_P1_ADDR,X
    ! F" \) U) j; ~
  640. STA $0704! e& A, a5 l) ?
  641. JSR PPU_PROCESS$ v8 F/ a. u$ c9 w
  642. WEAPON_P1_W:; k5 j: y: K: h* }+ x: P2 J
  643. LDA WEAPON_P1_DATA,X0 q8 V' `8 ^3 [1 X
  644. CMP #CEND0 L9 A5 `: F1 C; Z5 ]& g0 D& a
  645. BEQ WEAPON_P1_START
    # c; u) U1 x& T: L3 R9 j
  646. STA $0705,X! H/ J$ h" d7 M* n2 ~4 v! |! R  Z3 c
  647. INX
    ' y8 J% t- S( ]- u# d: ~, G$ c- @
  648. LDA #$002 x" D3 X) i$ R/ H1 {
  649. BEQ WEAPON_P1_W
    9 A3 H5 H" W: q) ]# N" B0 H
  650. WEAPON_P1_START:9 M+ a' E; ~, T. L
  651. JSR PPU_START
    5 M" f: v# ~  X& C& p
  652. RTS
    : W8 ?% N* u: B3 t+ J1 R
  653. # z' Y3 N- j4 a5 q
  654. BULLET_P1_ADDR:9 A  r: v' i! b9 z8 k& H( }6 _4 n
  655. .BYTE $21,$2A
    6 N( K9 I2 D" U' @8 m8 ?
  656. BULLET_P1_DATA:8 r$ I, W7 X# e# s  u+ l3 R
  657. .BYTE $00,$01,$02,$03,$04' U& T; |/ O( ]+ m2 @1 i
  658. BULLET_P1_NAME:' H2 x3 L. o$ O* K) y$ s; Z' {
  659. .BYTE CN,CM,CF,CS,CL3 ^$ D  a# @2 H

  660. - f( K. I/ K. G7 i
  661. BULLETPPU_P1_PPU:
    " K' u9 P5 |# i/ n! U7 z4 Q
  662. LDX #$00
    & ]/ ], ]( C1 s- d! k9 }
  663. LDA BULLET_P1_ADDR
    6 O/ m9 Z: u& z( j8 Z2 ?
  664. STA $07035 g. }& e4 C% F9 O0 g
  665. INX
    % n9 J) A" @: O7 A; o$ c1 c+ J! {
  666. LDA BULLET_P1_ADDR,X' I! e+ ^2 @4 o7 b
  667. STA $07044 }, \5 o) k2 o, O
  668. JSR PPU_PROCESS3 O/ P, e6 E5 H& ^% p5 p
  669. BULLET_P1_WRITE:4 p6 K. j' |8 P; P$ Q7 x* S
  670. LDX #$00' F: R; a' H& S( ~
  671. LDA $AA8 U, P9 ]0 Z3 F( u0 A( s( m, {
  672. AND #$10
    ' v* r* Q% ^$ @% ]
  673. BEQ C_BULLET_P1
    ! ], M1 \8 ]8 `( }
  674. LDA #CS
    * R& }4 y  Q- |2 f7 L) N
  675. STA $0705
    + y$ I- q# J; f( {% }
  676. BNE B_NAME_P1
    4 ?( K3 ]4 n9 C; X: P  u# B
  677. C_BULLET_P1:$ o' I! f1 V7 q' ~) p; K+ V5 G1 \1 j
  678. LDA #CC# r: e9 M& w) [. W2 \
  679. STA $0705# U! n/ z) P' }+ M: ]! ~$ t
  680. B_NAME_P1:
    2 ^; u: V  J7 W  g) g' F+ Y
  681. LDA $AA; t8 m# _3 d2 r) e" `
  682. AND #$0F4 Y4 N% R% @/ N8 i1 P+ R+ Z0 n
  683. CMP BULLET_P1_DATA,X
    ! f* |3 k" h% z7 x. o, a0 l
  684. BNE B_NAME_P1_RECMP
    % }4 M% h# J) |/ I& x( o
  685. LDA BULLET_P1_NAME,X7 S' a4 e3 m, Y1 |1 I2 X9 {
  686. STA $0706# \2 V0 c2 ~1 J1 L, `
  687. B_NAME_P1_RECMP
    " }! J- Z6 B1 i' z0 ^' E4 W
  688. INX
    9 E8 K1 ]0 G  S: o" K
  689. CPX #$05
    $ Y6 ]% O) X3 E$ f! c, _" \: O! A
  690. BCC B_NAME_P1. j! ?, s5 Y  X3 P  x0 r
  691. LDX #$02' ?: F# i; K/ N( _
  692. JSR PPU_START( c" f. v7 T- j
  693. RTS6 g( }8 d) p- f- t; v' `9 u
  694. . \. G# l9 ^: D  m; Q# ]" K3 N

  695. ! E: @( N6 S' m1 A$ _: ?
  696. PLAYER_02_ADDR:5 I2 e6 [" Q  Y( A
  697. .BYTE $20,$B3
    6 H$ N0 Y% j4 t$ [4 m
  698. PLAYER_02_DATA:* \4 ?6 A. b& D; w  i
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND. z9 j! {- ?8 \' e/ t% f
  700. PLAYER_02_PPU:
    ( y8 o: _" e: K
  701. LDX #$006 ?- g- V' D7 o' {/ B2 n% L
  702. LDA PLAYER_02_ADDR
    3 @" ^  X3 x  X
  703. STA $0703* l1 q$ Q# G9 o
  704. INX% J, w. d1 R- W9 {
  705. LDA PLAYER_02_ADDR,X
    3 S4 O& l/ Y6 d0 @1 w; a
  706. STA $0704
    ; n9 p, N' T# D& J) J" Q7 a5 b
  707. JSR PPU_PROCESS7 p( p* r1 {- O6 B
  708. PLAYER_02_W:2 Y& ~/ {) N) B+ H1 V. z) u3 T
  709. LDA PLAYER_02_DATA,X
    # D# F0 W' L' _- F
  710. CMP #CEND) K+ Q8 _. I  N* q# G" ~
  711. BEQ PLAYER_02_START
    1 m' @/ b( @0 b, e- L* Q
  712. STA $0705,X1 z6 L5 Y& J" y# Q' R# K, S5 h9 Y
  713. INX
    3 r7 I6 C% ]. ?- Y
  714. LDA #$000 K; t: t. f. H- ?+ J
  715. BEQ PLAYER_02_W) h- B5 S  [2 [2 ]1 Q/ `& g) E( [
  716. PLAYER_02_START:/ P% K! X- _" Q; `& _3 z
  717. JSR PPU_START
    ' o5 Z5 t& c6 S/ u
  718. RTS0 M  K6 ]$ g1 z! ]. _/ V

  719. 5 w$ I" T: I, U8 l) {% Y7 f% K
  720. - @1 K* ]: K% w
  721. RELIFE_P2_ADDR:
    / [+ h5 m2 j/ r
  722. .BYTE $20,$F36 G. q: f) ~) [- m# e; j5 H
  723. RELIFE_P2_DATA:
    9 S0 A5 v+ L  s
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND! e& _: r1 }7 V9 q
  725. RELIFE_P2_PPU:
    $ F2 A/ G, t: q+ E9 m1 L8 ]* p
  726. LDX #$00
    - _1 e" v# p) e# ?: _$ h
  727. LDA RELIFE_P2_ADDR
    " W$ B5 B3 A0 y; _
  728. STA $0703) d0 _4 U/ W; c- w; }
  729. INX
    & }. Q% c0 T( Q& F5 k
  730. LDA RELIFE_P2_ADDR,X2 J6 l8 b+ G4 |6 r/ i+ v
  731. STA $0704, z5 n3 f( h- A: Y4 @) K
  732. JSR PPU_PROCESS
    ) ~6 p4 s4 N  a- \
  733. RELIFE_P2_W:
    . F0 r4 l$ `6 C& K0 s8 Q0 q
  734. LDA RELIFE_P2_DATA,X$ C. D7 o. }+ I" _
  735. CMP #CEND! F% h6 H# v8 x/ g9 U3 k. i9 ?
  736. BEQ RELIFE_P2_START
    & b$ R( U; u: r/ `4 H: z+ [
  737. STA $0705,X! a; Q' |* `1 Z
  738. INX
    & w% p; u/ F+ v6 H) {
  739. LDA #$005 n$ W' p  Z7 m7 v0 s
  740. BEQ RELIFE_P2_W
    ! x& ]' v# }4 u; ]- o7 o3 D
  741. RELIFE_P2_START:
    9 K, Z# D6 n- J9 H8 d- J- V: ?
  742. JSR PPU_START* J3 m  q$ ?/ O
  743. RTS
    4 o. |6 a4 [# U4 j- B! r
  744. & W2 f3 m2 K: }* E& [1 N

  745. 1 ^5 s/ I# g8 o  G- {' V" q
  746. RELIFE_NUMBER_P2_ADDR:" j# a0 B) c2 l, U& |
  747. .BYTE $20,$FA
    ! @( K" `: s1 g# j5 T0 X
  748. RELIFE_NUMBER_P2_PPU:
    $ F* [. S! d) j# D
  749. LDX #$00. g2 c' [( ?9 ^  K* X% Y
  750. LDA RELIFE_NUMBER_P2_ADDR; w: M9 X  z) a
  751. STA $0703& |0 ^5 t" b1 W9 M! `% z
  752. INX
    . {* c1 D; L7 u) V. K+ i' j
  753. LDA RELIFE_NUMBER_P2_ADDR,X: f3 w( f) E% v) X
  754. STA $0704
    0 L9 b9 `! O! _5 x: W* m" i5 v+ B, ?
  755. JSR PPU_PROCESS
    0 [9 v0 v. l2 ?& z, a
  756. LDA $33) ^6 ?: F/ N- T" }1 c: w
  757. JSR LIFETODEC+ `3 j. F- {7 b% n! D
  758. RELIFE_NUMBER_P2_W:
    ' R1 s! \( t4 |" K  U6 R# \
  759. LDA $7A03
    1 l8 r6 a, ]) W. w' f+ W9 {$ S
  760. STA $0705
    $ ?* N. [0 ^; C, \4 J7 J* }7 a1 s& ^$ h
  761. INC $0705; y9 S+ C2 d$ z& m. t: ~; L
  762. LDA $7A04
    - `( S1 T/ H$ c5 ~
  763. STA $0706
    3 w6 z$ F  l; M3 ~( J& x
  764. INC $0706
    ( _7 w0 I  @/ u: a. u4 ?
  765. LDA $7A05+ S/ i' J. ^1 S0 X0 B; u) R5 X
  766. STA $0707
    1 A* H. l9 m# Z2 \/ S6 ?1 [- Q1 c0 v% f
  767. INC $0707
    : X" \  `2 B4 w: f# T! T* ~3 X
  768. LDX #$03
      X* y/ l8 o4 C. X+ P2 Y5 I1 n2 J
  769. RELIFE_NUMBER_P2_START:
    + }  d$ j" f2 H, {
  770. JSR PPU_START
    5 V9 D# `1 A2 v
  771. RTS2 P2 U* {; i. r. S+ E) w( v; e( @

  772. * l$ J) L2 @0 E" H
  773. WEAPON_P2_ADDR:
    - f$ h* x8 l# d+ c. d+ }
  774. .BYTE $21,$33( O; O4 Q& H, [: ^1 y7 m& R
  775. WEAPON_P2_DATA:
    - |8 u  M5 W4 K0 P4 G1 B
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    ; K7 W' ^8 R) D  D, o  x1 [( }, Y6 b
  777. WEAPON_P2_PPU:* Q$ ~& o0 }9 N/ K+ X
  778. LDX #$00
    & r, p4 c7 ?% P, m( F3 i4 T0 z$ w
  779. LDA WEAPON_P2_ADDR
    4 k: B. E2 H! ~2 _6 L
  780. STA $0703) E$ t! w# c# D% \2 `! N" P# @- p
  781. INX
    5 Q& n) y8 U, {! r- I" l
  782. LDA WEAPON_P2_ADDR,X' U! g" P, L+ ~) P
  783. STA $0704% }4 Q) P" U8 `3 M; _! Z/ S3 }$ ^
  784. JSR PPU_PROCESS
    ; v* \, `+ _- D2 \0 ?
  785. WEAPON_P2_W:
    $ v$ C6 e0 z+ e2 J
  786. LDA WEAPON_P2_DATA,X5 h, i2 g% G2 ]# a: I0 n) A
  787. CMP #CEND
    ) C5 i+ v" M2 v, I
  788. BEQ WEAPON_P2_START
    : M, {2 h! l/ ?1 y# f
  789. STA $0705,X4 S% n1 W; o' z% Y
  790. INX7 o, w  ], m8 U" J
  791. LDA #$00
    ' @% p: f) }7 ^. O& t! P
  792. BEQ WEAPON_P2_W
    % U. f6 P* C# B: j0 K( r
  793. WEAPON_P2_START:# P/ L2 Z  y- b% b& Q7 U' j; D  X
  794. JSR PPU_START
    6 ]  w" Q9 M% E2 T0 S$ w0 _0 B
  795. RTS( I/ K( ^  x, m. x: ], B
  796. $ E! y$ ^, _( I) H: S2 J
  797. BULLET_P2_ADDR:
    $ a1 {3 f) f9 _" x0 o0 D$ }
  798. .BYTE $21,$3A
    ! K7 F! ?8 m* e. h8 C; @
  799. BULLET_P2_DATA:2 s8 h9 j$ L# V
  800. .BYTE $00,$01,$02,$03,$04
    + c! ]7 L% X- I. D: l3 @
  801. BULLET_P2_NAME:0 G+ E" }9 R2 I, g0 G
  802. .BYTE CN,CM,CF,CS,CL; \+ Q0 `' e$ _& t

  803. 7 c6 X8 ]  D/ ]" g/ c0 f8 [, J5 x- ?2 R
  804. BULLETPPU_P2_PPU:, v7 x& h+ l& f. _$ y
  805. LDX #$00& [; [8 U2 I* I8 b% B) o
  806. LDA BULLET_P2_ADDR
    & z9 n; |4 F) C
  807. STA $07033 T) A6 r" I* ~2 E$ E6 Z- _4 g
  808. INX
    1 ^& `" D. [$ h$ R* P% p, A* h
  809. LDA BULLET_P2_ADDR,X2 T! ~4 J3 G/ D; j5 R, [5 p
  810. STA $0704
    . J: @$ S  x" e
  811. JSR PPU_PROCESS$ P7 ~3 f6 j( u  G
  812. BULLET_P2_WRITE:# A0 }6 s) k( \
  813. LDX #$008 a3 M, D9 d3 Q$ f) b: `
  814. LDA $AA
    7 k  e8 T# y. }& }- y
  815. AND #$101 n- @) i1 J7 n. r0 W* Z7 E
  816. BEQ C_BULLET_P2
      j) l+ y6 W6 y$ r8 Q
  817. LDA #CS
    ! F" U* _: f8 m  A+ A3 k; ^
  818. STA $0705
    3 o# M5 i! J2 c$ V
  819. BNE B_NAME_P2' u8 o7 _5 M, C1 n7 H, A/ B
  820. C_BULLET_P2:6 s: Z) C9 k6 R7 t% r: Q) p. }9 v
  821. LDA #CC
    8 W7 I7 c# `# I* j) n2 ~
  822. STA $0705
    # _2 n+ F: J3 w( c1 `
  823. B_NAME_P2:
    " U, @9 o/ ~6 {9 W9 ~% ^) K4 T
  824. LDA $AB5 E3 r3 F$ h9 s( v$ U0 g- B
  825. AND #$0F) {, ^  K8 h; t1 i1 }( ^, H
  826. CMP BULLET_P2_DATA,X8 Y% ~  d  X. t" x% H
  827. BNE B_NAME_P2_RECMP8 O8 |" g( O4 x& U1 f
  828. LDA BULLET_P2_NAME,X
    9 ]: T1 S, c" ~5 q7 z* I8 G$ w# b
  829. STA $0706
    ( C1 l4 b" m1 y- J1 x7 e
  830. B_NAME_P2_RECMP
    8 Z; U/ a' V6 k& w, q/ V/ D- P
  831. INX' w% Y- n3 ?6 o% _8 ^1 a
  832. CPX #$05
    2 T7 @) d5 s% @) ?$ m
  833. BCC B_NAME_P2
    % _9 k* v: j1 q
  834. LDX #$02& K/ F8 t! Y3 c% F
  835. JSR PPU_START$ o4 L& Z/ F0 _# I2 c
  836. RTS
    0 c" w' I) R. B. V4 Y
  837. ( v9 k0 R# h4 ]6 g1 w1 r) v8 R

  838. 6 m5 @7 h6 H* I
  839. 9 x  X6 X! \. q. w2 D, @

  840. 4 _6 x% B0 S4 s8 A

  841. ; E+ @6 F, a! W2 t0 K" i

  842.   X$ B4 [- _0 T$ d
  843. LIFETODEC:                ;十进制转换& F! f/ Q2 f2 c4 _4 m- Q
  844. LIFEL1:        ;initialise
    9 h2 z0 C0 `; y+ M% @
  845. STA $7A00        ;$7A00=F37 d/ H8 [. `. c, r* k
  846. LDA #$00
    8 f, g2 @3 C1 ?4 \2 \+ C
  847. STA $7A03        ;$7A03=00
    ! @" v+ i+ N' Z/ s- Z
  848. STA $7A04        ;$7A04=00" N0 k$ T% s9 i$ U4 ?
  849. STA $7A05        ;$7A05=00
    & t& t2 j- ?7 G0 H6 s
  850. LIFEL2:        ;copy data $7A00 to 60018 h4 }' r! k# m% B6 o% S3 d4 _  x
  851. LDA $7A00
    " t) P: k3 h* B1 W3 j8 w6 g
  852. STA $7A01
    - j, n! Y9 `4 C8 B* P1 O
  853. " [( J4 Y8 ~* v$ V
  854. LIFEL3:         ;hundred( ~! N% ^- B0 U' r/ n6 A
  855. LDA $7A01
    + p: ~% Q8 {5 E. L; t5 H  z
  856. CMP #$64
    9 n- ~4 e4 s1 K/ o2 f( l* J+ O
  857. BCC LIFEL6                ;$7A01<100 goto L6  K  \, U- G6 G! \# c
  858. LIFEL4:1 N- i' g) c1 l3 ~
  859. LDA $7A01
    1 u  K8 S. u6 ^% ?2 f
  860. SEC' H1 h: W) H, H9 p2 B5 o
  861. SBC #$64        ;$7A01=$7A01-100
    ' T6 H$ S0 }4 J4 H! U
  862. STA $7A01! a2 F; n5 w  Q' m+ z- ?/ i5 v  t$ {
  863. INC $7A03        ;hundred++
      Z% {& Q- c9 w3 |$ h* i  g
  864. LIFEL5:# N3 x/ [7 V* g8 r+ x1 D
  865. LDA $7A01+ j2 M0 \. k! p$ W& t
  866. CMP #$64
    ; d, E4 m: }' c
  867. BCS LIFEL4                ;$7A01>100 goto L4
    5 \" G6 k+ ?2 D

  868. + u) r& A$ F6 O9 O$ Y
  869. LIFEL6:        ;decade
    & ]# b" L0 L3 z' p- P5 s4 k
  870. LDA $7A01
    " Q* r% {; i: G; }, Y. O- n( G
  871. CMP #$0A  a- n( ]* T8 v3 d* V3 R$ S
  872. BCC LIFEL9                ;$7A01<10 goto L9
    2 Y; f/ Q+ a7 i" x8 }
  873. LIFEL7:        ! h0 n" v* B( ~
  874. LDA $7A010 G5 V2 f  U5 ]
  875. SEC- J2 f: I4 V) d6 c. Q
  876. SBC #$0A
    1 ?& J5 z7 o5 V* U
  877. STA $7A01        ;$7A01=$7A01-10
    * j: V) @$ A5 G6 k5 ?  m
  878. INC $7A04        ;decade++
    * N4 u* j9 H7 R0 D( ]! b7 p
  879. LIFEL8:6 Z& Y% ~+ ]+ n% g+ B! d, j
  880. LDA $7A01
    1 _- }! L. [0 r& ]* c* Y) q* J
  881. CMP #$0A. }0 M( h: m" g5 f$ Y6 L9 B: Z  ?" z
  882. BCS LIFEL7                ;$7A01>10 goto L7
    1 M# t3 O  M1 @3 x1 d
  883. ;unit2 M$ }0 ^+ r' {8 _
  884. LIFEL9:# l) p% R) E) e6 F5 R  W: `# @% G
  885. LDA $7A01        ;$7A05=$7A01
    - z3 G& e" Q7 g* Z2 i9 m1 C8 q
  886. STA $7A05        ;unit* J2 x% i( d9 j8 u5 w
  887. RTS        ;return
    % i4 l' y# n8 ?& s! O
  888. * _2 J& N/ B: s% h4 @  X

  889. 4 i! ~, C- B6 m) |+ e

  890. $ L" P3 g( a5 q
  891. PPU_PROCESS: ;PPU地址处理程序! X2 v2 C" [0 l2 o( k( m
  892. LDX #$00
    , E& O# @# z- H+ W7 o( |& ^9 F
  893. LDA $FF
    / H8 i1 {& {1 v7 a
  894. AND #$01- m7 r8 s' H6 u& g2 G) u7 g& G
  895. BNE PPU_2400_27C0# y9 |5 f3 s  P5 J
  896. PPU_2000_23C0: ;命名表1$ c2 P( ]. z) g* ], C  F  p
  897. LDA $0703
    ( w3 p' {: L$ r8 e9 ~: l! q) C/ Y
  898. AND #$FB
    ! u& \$ D8 H* B  m8 R
  899. STA $0703, Q& F3 X' U. v( x- g0 X
  900. RTS0 M) ]8 I+ b4 n0 z4 ~: p
  901. PPU_2400_27C0: ;命名表2. e+ A7 a* A' g( a7 t1 l6 y. E2 }' g
  902. LDA $0703" V4 L1 t3 w9 f5 `: x
  903. ORA #$045 n& Z- X5 }; N. P( b7 E
  904. STA $07038 _6 A0 _3 X; R& m
  905. RTS/ a% S% w2 j% U
  906.   e8 h6 K4 \0 G# I! I" K4 O
  907. PPU_START:  ;PPU数据写入
    . w- u& C7 \$ P  n( E( c
  908. STA $21
    + M, x1 C. v3 B( g4 H
  909. STX $0701
    . I8 ]. ~5 b- @# C  D0 O8 N
  910. LDA #$00! {  r$ w# H1 ?$ p7 U( o3 @  u0 i
  911. STA $0705,X
    # Z, F. j, k# x0 O6 G$ d
  912. LDA #$012 J$ U* X- }( C5 ]9 L# |% |4 ^
  913. STA $0700* q7 a& A" R: |& u* }! x9 t8 \
  914. STA $0702
    ; ?: Y9 b7 I  v# i; |
  915. RTS  R: G  V' w" S% n1 U; x: c: l
  916. * W, L5 S! a4 ~1 A3 X

  917. 2 n0 X8 a- j% z+ D; E' w

  918. % g2 |" V$ C- ^
  919. & C& q0 Q4 y5 x* @) O: |
  920. " T; ?. |/ |; S- q( T

  921. - |; {3 F, Z6 k
复制代码
. u$ g1 O+ c$ n# b0 Q  p/ {

本帖子中包含更多资源

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

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

签到天数: 2115 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
+ c3 S+ K1 u5 O: r

签到天数: 2544 天

[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-2-19 07:15 , Processed in 1.091797 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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