EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序7 |; z/ p" j% y6 ^  D
  2. 作者:FlameCyclone
    # Y% C6 |/ a' P1 M; V
  3. 时间:2017.2.120 O; o" }+ n2 u. z2 @' s

  4. & E/ `& I4 w% J7 S. i+ y, N1 c
  5. 按键跳转:
    4 U: Q/ j7 c" R1 Y
  6.         C1EF:95 F5 94 F19 ~3 k& [# n" W" H; _& t
  7.         C1EF:20 70 FB EA0 J5 ?3 v* O% U! i' A6 _9 s; r
  8. , X: n( ]  N+ j0 I9 u+ D9 v/ q
  9. 滚动偏移:
    9 S5 M  ?( [; S7 b3 h# a/ \  B" N7 j1 r
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20: Y4 M7 i7 j& B; `( c
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    6 S4 A* F7 L- M" T7 G5 p0 F4 v

  12. , v7 D) K' f  x# h: D
  13. 背景调色板:
    & A9 j1 U8 C% p
  14.         CF20:9D C0 073 l$ l( L, H1 F, \+ F# B/ w
  15.         CF20:20 A0 FB) _) k& R. i  e; f

  16. 2 v+ V4 K& o4 Q/ ?$ r7 E8 r) v
  17. PPU BANK号:
    ) @: [, C; l% k
  18.         C8C9:9D F4 074 h, z, M3 R) I6 T9 g  u0 A$ x
  19.         C8C9:20 B0 FB5 r6 r% @' J( D
  20. & `' |* n. C$ _
  21. 按键跳转:( x: ]& e' y4 p/ j- p
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 201 d+ x! b2 s! c4 @+ L( H
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 206 }; [$ i3 n  {/ s' I. b0 |" q
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF. x0 v3 I+ O) d7 D3 x

  25. & K. i1 B8 z4 g5 u
  26. 背景调色板:0 g; P' m0 |, Y0 L6 Q% k
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    1 J4 x, O2 w6 A+ o* X( J- n
  28. 1 i" S8 w0 _  }- q
  29. PPU BANK号:! Q% u3 Q) H. z& A2 i
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
    / r6 T# t" t7 ~  @' }  P$ `/ `0 X

  31. 9 b7 z) b0 g! V5 j1 ]
  32. 滚动偏移:
    1 C5 L, ]+ M& w2 Q' p
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 60/ Z8 m2 @0 b" {8 o8 a4 E
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF9 C; c; d5 s+ H8 w
  35. 2 r- z' g6 w+ E" W8 s* s
  36. ) n5 u- f1 O" h- l$ @( ~8 K8 ~$ d
  37. 切BANK后A000:
    & v! c! A. J% \/ ]* k2 z! ]0 n
  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
    3 O8 u# R' b2 t
  39. , |9 f9 j5 j4 Z9 R* k- M. n" V
  40. ( L4 g' e, f2 `0 T3 B; q
  41. 6502 simulator:
    2 L: ^7 o  s1 g2 Q9 x
  42. PPU写入程序:' V2 G3 M. S: |3 z
  43. .ORG $A000
    & o- g2 {7 d- o: E0 C4 E4 l
  44. CSP = $80& G  S; Y& K1 @5 x0 f
  45. C0 = $810 \- N3 i! Y) d$ z% i6 @0 @
  46. C1 = $82
    9 Q; W8 ~% b$ F) A1 t
  47. C2 = $83" ?5 o/ Y8 U$ Y- E' O
  48. C3 = $84* x, R9 X% ^% f, k- q! L7 c  y7 S* P* l
  49. C4 = $85& K( b. b" j, x5 T% v" ~/ j
  50. C5 = $86# T* I/ W6 b+ z6 X
  51. C6 = $87
    2 C! |' }9 j5 H. W! I
  52. C7 = $88! y* L& [5 V- U+ f) n1 a
  53. C8 = $890 d% a! e' }- ]" u8 k
  54. C9 = $8A
    , y: v( B1 n( H0 T2 Q
  55. CA = $8B+ M0 L1 y2 O* \* j5 Z* d
  56. CB = $8C
    3 m+ Y7 M; C# K* Y2 j' v$ T  ?( |
  57. CC = $8D6 \4 {5 ^. Q) g& `( P8 }3 J2 s
  58. CD = $8E
    . K; k. n- U% Y1 K) k; e
  59. CE = $8F8 v& L# I$ `) L1 D% C
  60. CF = $90
    2 z( \2 U- o" V, s% e( W- y1 F
  61. CG = $91
    ! i' Q+ V/ H" p- m7 c  B* r' U6 c
  62. CH = $92
    + t! q9 Z: O0 b% _0 o8 x) g
  63. CI = $93
    4 A3 r; a: U; {3 S' n3 q+ r/ a
  64. CJ = $94# B2 C0 v' J; r: q+ H! @3 ]
  65. CK = $95& q; W' ~# Z6 [' j8 [$ e
  66. CL = $96
    ' ?7 r4 d+ ]! U
  67. CM = $971 x3 [2 ?4 n% p6 E* i
  68. CN = $98
    2 P# D* w% f- S/ u% Z8 w1 o
  69. CO = $99
    ! z" T* z" m) z; t2 i3 F6 M  `) Q6 K
  70. CP = $9A' @  S5 K/ i1 j$ _5 @
  71. CQ = $9B
    $ S1 u5 @# S4 [- H
  72. CR = $9C" _+ x+ L4 A% Q( s6 G( p
  73. CS = $9D
    9 s* ]% p6 C! _& H5 I! W
  74. CT = $9E
    " I) P! R7 [% Q1 {6 J
  75. CU = $9F7 X- }9 x% U6 M! ]9 N& \
  76. CV = $A0
    7 H4 Q4 q* F8 k+ }% h1 l
  77. CW = $A1/ h2 w( @" u  \( Y) A& p" `
  78. CX = $A2+ Q: A1 A( u4 P
  79. CY = $A3
    ( ~6 T1 a0 _* f
  80. CZ = $A4
    ; }9 L$ I$ o# u$ h8 n+ A8 _, r
  81. CEND = $FF
    4 f2 p: U$ E' \& R/ |

  82. 6 G3 _! M* @, {3 G4 h

  83. / W9 q5 |, K) C9 d- `
  84. CMP_RE:
    9 n9 j% ~+ D, r# f
  85. LDA $FF! b% w) s3 h, ]8 k& `! p$ A- K
  86. AND #$7F/ R& C& A& c( k0 L4 [9 Q' d, b
  87. STA $2000
    . c" `6 \, S' e+ o
  88. LDA $2002
    , \# a! ]% s' V1 Z  t) I; \
  89. LDA $250 G) J! Z! O5 i) v$ X
  90. CMP #$015 t4 E# N) b9 \/ g0 u
  91. BNE PROREG7 @0 h, M/ N3 Y  x. c  t8 C
  92. LDA $F5,X
    9 W1 I4 p( }. n7 D
  93. AND #$CF
    % E7 x9 N6 I2 S. o6 s
  94. BEQ PROREG* F1 @2 S; c$ X5 }
  95. JSR PPU_CMP
    1 f1 X  _3 M2 ?9 O
  96. C_RE:
    5 @1 y$ q( V$ @# p* E% O+ v
  97. RTS
    5 J3 S" d- E; P1 M& u9 y
  98. PROREG:* O2 ]3 T" z4 O
  99. PHA7 B, E- k' Z4 E7 j0 G) ^$ ]9 W; \  a
  100. TXA4 b* g" h8 z/ J3 r/ N
  101. PHA
      o. O- u7 j* m: O, n
  102. TYA
    " [% F8 G1 r' u0 U/ N
  103. PHA2 }' D, f* W" D0 Q4 G
  104. LDA $25- k  ?  N; @- z/ t+ J
  105. CMP #$01
      i2 h7 h" F  {
  106. BNE RE) T+ y$ U; ~5 [/ Y; F" u% u2 v
  107. LDA $010A9 X$ k5 L; w. R; s9 R3 l
  108. CMP #$00
    2 T  K0 K' I6 C3 f
  109. BEQ P1
    8 `' n4 T: d# K4 G
  110. : T! x( c; V' u
  111. RE:8 l0 g- {) h) Q+ X
  112. JMP PPUWRITE; r" m  y! w. x8 a

  113. % X5 l6 @* O# [9 N7 v
  114. P1:                ; 条件判断0 {: l! p& R* B, |2 k; A* Y
  115. LDA $7FFF, ]3 W4 v6 U2 d6 M% s! x1 f. V, h
  116. CMP #$FF
    0 M3 H  g% `4 p8 k- o
  117. BNE P1RP
    3 t' X/ C7 i) o
  118. LDA $7FA0
    $ E" b/ W. _2 P9 W
  119. CMP #$00
    ; T7 ?, E& v- f. k  O5 `" i
  120. BNE P1CMP8 A9 G8 g  G$ Q
  121. LDA #$FF4 d8 b% _! a2 A1 ~3 {- {8 `
  122. STA $7FA0! H( _9 S; o( s' L
  123. JSR CLEANA* {6 h7 ?7 \5 a& T0 s4 G
  124. JMP PPUWRITE
    $ e, z" q% Q) u  }# q
  125. P1CMP:+ A# z; F! r- o
  126. LDA $7FFF
      J+ Q2 L$ A; Y/ R7 Z3 q
  127. CMP #$00
      a! l- h& B: K( L
  128. BNE RE
    ' y! C+ M+ h3 s3 f( o% b. x
  129. P1RP:
    9 ?% x" M/ O' b; j
  130. LDA $2002& i  W7 V% q4 U
  131. LDA #$003 h, k2 \$ C2 M
  132. STA $2001
      B6 S2 I& m' }2 f! m. E# k
  133. LDX #$00
    * @, N6 G; ]5 C( l: v: a( j1 n
  134. LDA #$FF
    . h1 q' P1 i1 s5 l$ @0 `: T# z
  135. STA $7FFF: D7 V. d  D4 ]! U3 z" D3 T/ _
  136. STA $7FA0# ^, G0 `0 k* |3 ~) @
  137. JSR COPYPPU8 p  c, q# c$ }$ a, Z# K
  138. PIRP2:
    : Q) A3 {% W: z; O
  139. JSR CLEANA# n- [& ?* u# x# i; K( t4 t) f, \" N
  140. JMP PPUWRITE' D& b% n  |+ U, D
  141. + i# y' p5 K: o$ ]" l; w" t
  142. COPYPPU:
    6 F5 S5 |4 u, H0 F
  143. LDA $FE  E; k2 G/ ^' F. t( T/ W2 p
  144. STA $7F50( X; m: l$ h- u* F; H0 [
  145. LDA #$08
    & A3 ]  T7 `& s% \, V+ N& ~  u& ?
  146. STA $FE$ _& l1 _  m) D" e/ i% ]
  147. L0:4 M+ ^2 F7 x2 |$ m% N
  148. LDX #$00' d/ e; M8 i% N# ~  b0 L% f& s
  149. COPY_07C0_07DF:9 v; J" C$ i" U( O5 C. F- O+ M8 X8 r4 ]
  150. LDA $07C0,X' o) h6 G5 E  a- [" X
  151. STA $7F00,X* {  g4 W+ b& X" x
  152. INX
    + X: C4 ~" l. d$ S
  153. CPX #$40
    ' N1 G) K9 M/ ~
  154. BCC COPY_07C0_07DF
    1 Z3 D" x2 l1 K; A4 k
  155. LDX #$00- _+ p- @) }1 R3 |' [
  156. PPU_07F4_07F7:. n2 I% U: T1 C' o
  157. LDA #$00# I8 P7 ]3 ]4 y6 R; |; c3 C( ]6 {
  158. STA $07F4,X4 M/ l" x# N/ W' ?) B1 C
  159. INX
    : @* X: a2 X2 J) r0 a7 W
  160. CPX #$04
    ' m3 i$ ?2 ]: x9 }) ?
  161. BCC PPU_07F4_07F70 M5 F# E4 d- e7 x, ^7 ?
  162. LDX #$00. H% u# t( m0 C2 `1 X  |# p
  163. COLOR:3 W6 @* s& r2 v8 I$ L' g
  164. LDA COLOR_DATA,X$ R( \# b. S  Z  f! K3 w
  165. STA $07C0,X
    * r  a6 }4 K6 y) F
  166. INX, n# N7 O1 `7 ~# b/ y
  167. CPX #$10' G' P1 y  y2 [
  168. BCC COLOR0 l1 `: ]1 |/ ?7 J6 H* h
  169. ( {" f# ^! i6 U$ z. _" G
  170. PPU_COLOR:! ^. I. E( V# f1 A. I7 v, N7 h/ x/ D
  171. LDA #$3F
    9 x; x1 i& p' ?# z9 X9 R. U- z& ?! N
  172. STA $2006
    0 {5 i) A. z3 V3 s1 ^: X, a
  173. LDA #$00, ]: x+ H2 |7 x4 V1 c8 e2 [# F# _
  174. STA $2006
    8 m+ k6 [! q. j/ P* q* e
  175. LDX #$008 q3 @9 ^( |2 E7 d" m
  176. PPU_COLOR_W:
    4 x+ B( h, C4 ?
  177. LDA COLOR_DATA,X
    ! ]: A2 u9 [! Z" Y' g8 _" T
  178. STA $2007
    * g4 d" h+ o- y
  179. INX
    $ `8 ~2 H2 {1 y- X) v( h# d9 _
  180. CPX #$106 L0 t7 Z9 Y/ m, J& ~  i  d
  181. BCC PPU_COLOR_W! N# O# f0 G* `  ?. Y

  182. ; }% A$ d3 T7 V9 c# n+ c
  183. ' ^1 _' v5 W* k# r% ^+ c/ E
  184. LDX #$00
      J+ R9 R5 h! T9 ^8 W& R' {
  185. LDY #$00% f2 `% i8 o' [. l* c. S4 i
  186. LDA $BD2 \: ?9 b& U% B; i/ l
  187. PHA
    + i6 P1 C( k( X* J  p# v
  188. LDA $BC
    4 K5 H- S& ]. h$ L
  189. PHA
    0 k1 m$ H) x+ n/ n$ i
  190. LDA $BB
    + w0 P  \0 J. A7 v- R; q
  191. PHA
    $ k( g! F) [+ i
  192. LDA $BA
    & B# Q6 x% N5 f6 [
  193. PHA4 }! c5 _2 v' J6 o- _' A8 G
  194. LDA $B9: {% i" L' ^* Y# n& Z6 P! a
  195. PHA
    6 o* Q9 J. n+ i3 y
  196. LDA $B8
    3 u6 s" X1 z. v! h* e
  197. PHA) y$ Q" \  F( V+ P! W6 X! i
  198. LDA #$00$ h2 g: s# y# r- }9 C
  199. STA $B8
    + b/ j$ s2 p, r! q$ _
  200. STA $B90 V: i; @7 B6 X$ @4 @; i3 l5 `
  201. STA $BA0 V/ C) j' T7 u# ?- p6 U
  202. STA $BB1 _+ g: z& k6 D" v  y& z8 s
  203. STA $BC& r( v( X4 V+ C* F4 X
  204. STA $BD$ w" o( E5 l9 ^! G# a7 D1 S3 y
  205. LDA #$006 @* J. e* s7 S* V) \. s; ?% ]
  206. STA $BA
    " w- r$ C& ^6 ]7 |
  207. LDA #$20+ S) m, _+ X3 _! B1 W+ k# U6 B
  208. STA $BB! K( V& n/ ^4 @7 i: z
  209. LDA #$00: O4 {5 _2 J" K1 g8 u) r
  210. STA $BC8 i& R2 D# s$ t6 d2 a
  211. LDA #$604 O. p1 |; ^  C
  212. STA $BD7 e- Z  I$ h; o. Z
  213. ! t. c" n& l3 B4 B& |
  214. L1:                ; PPU复制
    ! D6 `. V) O9 i2 I
  215. LDA $BB, i6 @3 [! V" ~- W* I9 ?0 K
  216. CMP #$28: q  O3 o8 Q: \
  217. BNE L2
    + w* G" V2 O$ F  `3 Y
  218. LDA $BA0 g+ G+ r7 m& k4 g: O1 i) s
  219. CMP #$00
    , U( A4 F$ y7 d) e# U
  220. BEQ PROADPLA: H# I7 u( H3 H! B! g& l
  221. ( _1 P' U1 C4 `  k6 f6 x" a
  222. L2:, R: I: g3 A/ y' h
  223. LDA $BB. `% C0 P$ Y" `$ ]# d
  224. STA $2006/ n, G8 Q/ ]7 p. u9 R
  225. LDA $BA$ P& {, \& c9 H
  226. STA $2006
    . z4 l, U1 _' w: K  D7 @2 {
  227. 0 q( C9 _) ?% f* N
  228. L3:$ g) @( {- q! ^0 `, G5 |) G
  229. LDA $2007
    $ @0 x4 u. C+ B8 Y+ \7 }$ T
  230. LDA $2007  m, G+ O* J6 }7 r& e
  231. STA ($BC),Y3 e) y8 a* w# ^+ p; _+ w; g6 k+ c
  232. 4 @% r& e$ l6 h- ?+ v
  233. L4:3 l; J* V2 F# }
  234. LDA #$00& @; p6 u. _* ?" z
  235. STA $20003 S  \3 O& J; p9 C
  236. INX* N: u! c4 B$ L( ?
  237. INC $BA2 ^2 e2 x2 E/ I9 ~, c/ V) p8 p& k+ N/ G
  238. INC $BC, c) p% J8 f$ N9 N7 U1 S. B
  239. CPX #$00
    4 R( ~6 x: e9 i
  240. BNE L1
    : t, Z1 l  d# P, ]. R& L* T/ i  n
  241. INC $BB. n% @+ [; }0 J" \0 W
  242. INC $BD
    : o2 n/ ~- N0 E3 m: D# z
  243. JMP L1
    3 m. z+ x- B. T# Z" b, B
  244. $ r* K2 M9 W! W3 ~3 D9 u3 L. D) m
  245. PROADPLA:                ;出栈
    1 T: l" ?( B1 u. Q- y/ Q
  246. PLA
      a* `/ H: [4 l3 ~
  247. STA $B88 A* S, d- M; N, T9 @! @
  248. PLA
    . H/ e& ~9 a( O6 a2 R* L, y  I. y
  249. STA $B9) [/ `0 s- m9 C7 m/ m) p
  250. PLA; p3 h' i! `, G9 m; z' z: w
  251. STA $BA0 G4 C/ h* I( L9 k" `) f% o5 m" R# M. F# t
  252. PLA, s% l; K9 p3 A
  253. STA $BB
    6 S- i8 a* m! a+ L3 e# G1 K
  254. PLA
    1 p* r9 m% J1 \2 L$ H" ?1 N
  255. STA $BC4 ]! q3 P( D- [: r3 q
  256. PLA! ]/ o& c4 n; a
  257. STA $BD1 O. r- |$ D$ j! \
  258. CPRE:; }% {: ^; S# N2 c  s
  259. RTS
    7 e! k* f" `1 k
  260. - {. Q8 R: \8 Q
  261. CLEANA:                ; PPU清空
    . T9 L, V: k) @7 y" D* h
  262. LDA $BD# ?* D) @7 T; k: d( `, ]& ^1 S
  263. PHA. ]; ]; z* ^8 p2 B
  264. LDA $BC
    6 A+ |, I; ~* F3 N/ b( r. h7 i) N; E& u
  265. PHA7 w  X; E9 P" r( n1 {$ k
  266. LDA $BB# w8 _3 e& u8 P5 ^( n5 L; y
  267. PHA
    0 U; I4 n* M1 H& Y4 S% y) n
  268. LDA $BA( H3 x. V, j0 n
  269. PHA# \/ f2 c# T# F) F$ t, r: b
  270. LDA $B9, g2 `- y% r' [2 n& R# t9 }
  271. PHA- o5 A& p* C/ ~6 U1 g
  272. LDA $B80 a8 o: ^2 P4 h( O
  273. PHA0 s6 l' s% M( `$ Z
  274. LDA #$00
    0 O5 I2 l3 |. K
  275. STA $B8
    ; c% x2 c0 b5 R# E- y5 V
  276. STA $B9
    4 f9 C: M+ k4 {, V  V2 c6 s
  277. STA $BA* P. `- w5 a# w( X+ r; t+ X
  278. STA $BB6 _1 R, Y$ U+ u" z/ ]; |
  279. STA $BC( Z, O& k+ d9 g0 B. \7 q5 X- U
  280. STA $BD+ |$ U0 |- {5 h1 e: z+ t
  281. STA $2001  u* e; j: x7 r
  282. LDX #$00: K# V  ^; n: ~3 o* e* P8 E
  283. LDY #$00
    7 A  f/ a- m% B" C4 G% B6 A
  284. LDA #$00
    # ?2 b# m( \2 L) g% l% `
  285. STA $BA3 H( O: l/ `: T8 d
  286. LDA #$20+ E9 p2 T( t  m
  287. STA $BB
    $ ]0 p+ z1 l' |6 L0 t, S3 S! Y
  288. ) ~2 S, `/ L7 ]( [) s+ `
  289. CL1:- l! l  ?" O3 k1 b1 O& \
  290. LDA $BB9 a- m% o# g6 d" u, x* K- x+ c# Z
  291. CMP #$28% W; g2 A" j6 \6 e: r  f
  292. BNE CL2; y+ k; E4 J7 R" c4 n
  293. LDA $BA
    ) d* g3 P1 C* u' k, a! i
  294. CMP #$00
    ; a) P2 \% N/ g, Z* _" V" k  r2 L/ t2 U
  295. BEQ FREEWRIYE
    7 P" T3 C7 p" X1 s- t+ q$ ]2 Q% c

  296. ! l% ~; X, M4 m/ o# H% ~4 F
  297. CL2:
    , h) i5 |: U8 q/ A5 n$ M
  298. LDA $BB
    8 B- c4 o5 ]8 T5 i: Z- w  w7 G
  299. STA $20060 }8 h( d- k, L- u8 k5 j/ e
  300. LDA $BA
    $ j+ f1 d; S+ Y# V; \4 ]* k9 I
  301. STA $2006$ f1 ]' K3 _4 z( L
  302. 1 G, {0 w+ g6 [9 g) F0 ~( z' ~
  303. CL3:
    " K! ^- u1 i! ~
  304. LDA #$00% p. s( f' {0 U) K. L9 S, o, I+ K* d, t
  305. STA $2007
    7 e. Z: b/ ?6 w& ~9 z! k
  306. " j0 c! P0 k( }: O
  307. CL4:
    * K' X) _  w! K! I$ k
  308. LDA #$00* k  l# G1 ]- u) C
  309. STA $2000
    / u4 P3 ]0 \6 t, e5 l1 w5 B
  310. INX
    - c; n0 i5 [- C+ h: P$ v- Z
  311. INC $BA
    3 Q) W0 p' w& X6 y+ n+ _: |
  312. CPX #$00
    ! R; a3 r! _2 s+ r8 n
  313. BNE CL15 ^# \% M1 Y% A5 D" a( t0 U9 j
  314. INC $BB
    . z! E# p, v4 ~0 Z6 W4 j9 D5 {
  315. JMP CL1
    9 `8 R3 q( L2 l6 I- Z% {1 W
  316. ; m, k! m, n6 l$ q) \
  317. ' p% [2 t- \7 N( B- o. M5 I7 F$ m$ W
  318. FREEWRIYE:
    : q, j4 M  w& w- C

  319. ( p7 z/ o) g, ]5 Q8 S
  320. NOP4 X* u' o; N( r

  321. ; t% W. v: Y8 X3 z2 k

  322. ; z; ^7 O. G0 w3 S
  323. ; l( J: @; [$ ~* \! b& }
  324. + f4 u" i% T$ L: d
  325. % _* {. w+ M. j$ w
  326. CLEANF:                ; 恢复现场# H4 \" `! u4 P2 p0 @
  327. 2 \! K& C- \9 K
  328. PLA
    0 v" M6 q# R- m" [) F- n8 _
  329. STA $B8$ V$ I' R8 K. I/ g
  330. PLA
    ; a2 p9 p6 N7 l' r& M# E, R; ]) ?* W
  331. STA $B9
    ( \7 K# E0 M, ?- b6 y! C, I
  332. PLA6 ~+ `4 y% g& q: w
  333. STA $BA7 b6 d/ s1 Y& V0 b
  334. PLA
    * Q. Z# K& l  [
  335. STA $BB4 |; J) q( A, t6 g, ]6 Y& ~) }
  336. PLA
    ; p6 L8 h& Q$ m+ d9 Y
  337. STA $BC
      O$ S* D; o6 w4 N6 f/ _' k# ~5 P
  338. PLA
    3 ^7 }" z& L% U2 E
  339. STA $BD4 Q4 S" y- q; B
  340. CLRF:( [- u/ D& w" }- {. {( y7 j* x, e
  341. JSR FREE_PPU( Q7 J0 D6 K; g0 T& M- A& k
  342. RTS
      _* v  C  W) ~& T

  343. ; A# F* i# G+ h2 N+ a) {3 D$ d6 u+ D& I8 R
  344. 7 W) e3 x( S8 C/ Z$ j5 N; o1 O9 `
  345. PPUWRITE:    ;PPU写回
    . l* L( W# h: z. }& Q
  346. PLA
    & p" b9 L7 {3 k; B, e
  347. TAY" k) r4 \% c* [
  348. PLA
    / \; o" G1 h2 i9 _4 e
  349. TAX
    8 ]% ?' {0 N7 U, `7 t- W) I8 ^
  350. PLA
    , d/ Y0 a8 F: h! v! V
  351. LDA $253 ~( c/ N# U% M% r' [5 t* G
  352. CMP #$00
      p( r9 |( E) u! X+ }9 O6 M6 ~5 k
  353. BEQ WP1
    2 J9 e0 p% O1 S/ K
  354. LDA $25
    % z$ b% ^# c1 V8 N( k
  355. CMP #$01
    6 V: w8 J# {7 V# S
  356. BNE WRE
      H6 i  ]- u0 y) O2 O! T9 k) X$ ~- B
  357. LDA $F5,X: O' B7 I0 L2 W- w, |; F' {
  358. AND #$EF) G: o- Z0 G7 [1 _# M: G4 {
  359. BEQ WRE
    + N7 C4 {$ f1 q; \
  360. LDA #$00
    # E$ G3 r1 ?9 b
  361. STA $7FA0
    + _! P1 F( |: b/ ~4 m
  362. 2 B. H! D: b  g3 P+ w9 _0 U
  363. WRE:" M# \5 `5 e+ b3 g1 ^
  364. RTS
    # E7 v% q, o; z6 Z- w1 ]4 q

  365. # ]" R% O0 z% r: H
  366. WP1:
    + R3 S7 ]( M5 C# H; P% u
  367. LDA $7FFF/ d; B! l+ Z& J/ M0 K- _6 O. O8 c, m1 g
  368. CMP #$FF
    8 o) ~/ k* ?4 Z" L
  369. BNE WRE
    ( `0 N/ {! {7 p0 M( E
  370. LDA #$00
    1 t  N+ j, b  v; [# m0 i% r" d
  371. STA $2001
    9 d# e# e: z6 k/ M
  372. LDA $BD1 p5 Y0 _3 Y7 ~: x  Y$ @
  373. PHA
    . @% c3 l/ h7 Z; a; t5 [
  374. LDA $BC4 `* n$ D- ~  G- ^
  375. PHA
    / Y+ X( y  ?' n3 S" d
  376. LDA $BB  Y: E5 h4 j  E: S' Y7 g
  377. PHA+ x) J% X& S& r! G- T' v- R
  378. LDA $BA  ~0 P- l2 A. t7 L) M
  379. PHA1 s0 C, G3 M7 r! L8 [' O8 n9 }6 E7 |5 Q
  380. LDA $B9, y2 {( R& u# ^# T; R
  381. PHA7 H3 p  ?% Z; F8 x
  382. LDA $B8
    2 @- q, u* i; T. p
  383. PHA, F; J) p; I2 c) z; {
  384. LDA #$005 M3 Z$ u& b9 x+ E
  385. STA $B8; l: e6 T! z! z! i
  386. STA $B93 {6 I# I# v4 l0 g; q- @
  387. STA $BA# C4 }5 k/ S: o5 Q7 r
  388. STA $BB
    6 t  j( F" O: j! t+ E6 `' M
  389. STA $BC, P' J1 u+ ?, P+ H! \+ n* Q
  390. STA $BD
    ; g4 J$ R5 i; d
  391. LDA #$00) k. n/ Y% H5 L
  392. STA $7FFF
    1 X: u% o+ x* {* U" _6 q/ {0 N1 ], W

  393. * o. n# G8 s  C. |, E
  394. WL0:
    4 m1 `5 h. j+ ?. ?
  395. LDX #$00
    2 i6 m/ Y" W' a5 I
  396. LDY #$00
    " n' ^' {. v. j$ f& d( ]2 c
  397. LDA #$00* D( x2 O$ ~7 y1 G0 t
  398. STA $BA
    7 o/ D$ Z6 q$ q2 Q
  399. LDA #$20% S! p) w. }2 n/ O/ U
  400. STA $BB& Z) L2 Z9 E7 h# x* n- {
  401. LDA #$00
    " T" V! _( n5 }  z% `, n. P
  402. STA $BC, I6 x3 P  T3 Y
  403. LDA #$60
    6 L7 H/ f5 c' A1 x3 Q0 h
  404. STA $BD
    5 L7 Z6 G9 m5 J- \0 e, r3 P3 c1 E; ^

  405.   V: }, s3 c( z: j& {
  406. WL1:
    - q- F8 D+ Z- I9 m8 F3 C
  407. LDA $BD/ x. S! N  }. B: f: b+ x+ B: J
  408. CMP #$681 W2 l# _( S2 A) y, r( R: z+ F( w2 ]3 }
  409. BNE WL2) G8 q4 A4 P0 [  n5 i8 d0 v
  410. LDA $BC
    * A* x( Y2 c/ ]7 k
  411. CMP #$00
    $ A+ `% x# b8 R- m
  412. BEQ WLR, P. K' I9 }3 i! f% w8 Z
  413. 2 b/ \6 Z  H" N! q: @
  414. WL2:5 k" v/ M, C2 k) o5 E2 g* L% V9 `
  415. LDA $BD
    * ^: b2 ]; p4 C3 t+ z" K: b: i
  416. STA $2006
    7 x, t+ X: a$ @4 C
  417. LDA $BC
    1 R! x$ D. v* b6 ?/ e
  418. STA $2006
    ) d+ @6 {( q" }
  419. 1 U2 N$ r. O7 Y& m
  420. WL3:5 O. F0 {. M( w- @+ c
  421. LDA ($BC),Y/ }6 s- P, ~& S9 _1 o  A! `
  422. STA $20079 |) r2 J4 D" e, e, {3 N8 P

  423. 2 e' p+ o6 [$ r9 r! {) z
  424. WL4:5 u" W! m, J3 D3 R) N
  425. LDA #$00) {3 s5 V1 O$ ~# @  j- q0 b
  426. STA $2000( w0 Y1 ^& \7 l$ {8 H& r2 {/ V
  427. INX) }9 R2 c& H9 M( H+ T$ S
  428. INC $BA$ U4 T$ L0 D" a& z- i6 Q" l5 U
  429. INC $BC
    7 O! H2 l. _3 B# h
  430. CPX #$00
    5 o8 z( h8 \2 {& a& u1 c% E* r
  431. BNE WL1( U4 L& ]/ T6 w3 I) F8 K( E0 g
  432. INC $BB  R) k9 n# b: q  l9 j
  433. INC $BD
    $ r$ p9 u1 a. h% U+ m5 }' s* k
  434. JMP WL13 m7 Q1 _8 S2 }; |$ {9 g8 e8 p5 |' {

  435. . {& {; d" B$ W% @3 s: h6 a6 u
  436. WLR:& t! K* a, u0 M( }* W( r
  437. LDX #$00
    4 ?% ^$ ^! x! {/ y
  438. COPY_7F00_7F3F:
    . a! S7 o# E  B1 j' h0 }/ q
  439. LDA $7F00,X
    4 L# T& [% a" S  X" V9 w& D
  440. STA $07C0,X# j! f/ f0 P0 O
  441. INX, W) n5 d! k5 q9 Q2 U. K) \2 W# L- [
  442. CPX #$40
    4 i- j+ R0 ^, m" H% r
  443. BCC COPY_7F00_7F3F& m6 s+ n  h! h/ ?; C/ S

  444. , [7 F( d1 e. B* n
  445. LDX #$00
    " w3 P+ W, @3 ?7 ^6 f3 U
  446. LDA #$3F
    ) K  }; _3 y( q' q6 M8 K
  447. STA $2006
    / Q0 Y9 j$ b. ~; B# D, l2 m4 s% V  l$ \
  448. LDA #$00
    3 Q7 _2 {5 d6 a
  449. STA $2006
    ( W6 O7 z; o1 m# _
  450. COPY_7F00_7F10:, O) S# o4 I6 w) y8 x- r* B2 a
  451. LDA $7C0,X
    * ]0 t' z3 c% i0 o% V) [. j6 E; y/ _
  452. STA $2007
    3 k& A2 P, K/ [; Z. Z2 P9 I% @
  453. INX
    ; D& F9 m# r1 C7 h- ?
  454. CPX #$10& K$ Q+ ?) F. n2 f( q# l" u0 Q
  455. BCC COPY_7F00_7F10
    9 p, h, _1 r5 d- b; E

  456. 4 O+ M/ ?; _/ r: b& q2 Z: X
  457. LDA $2002
    : N) s/ B; L. A$ f0 e0 \! b
  458. LDA $FD4 D/ Z' V, `: j/ E/ N+ }
  459. STA $2005
    3 n# P! o; L7 x  O" S
  460. LDA $FC
    5 p7 O; A+ ~/ H) p# H
  461. STA $20052 y: M, o2 D# ?# w/ t, {# v# K' R5 d( o

  462. 6 J4 s5 c6 A0 V/ D: q5 d" r9 u
  463. LDA $7F50
    % [0 @1 ~* m4 Z/ y8 ?9 X  r& J
  464. STA $FE
    ) }# B! H+ ~9 C, W$ c5 \: R
  465. LDA #$00+ S9 x( S# l# z1 S$ q/ E
  466. STA $2000, ]1 ?; ^! z/ m% u
  467. PLA
      ^2 W% s+ M( Y* V( ^
  468. STA $B8: W: m# N( ~+ x+ @5 ~" V0 X
  469. PLA( M- A* P* E1 `' Q3 y
  470. STA $B9$ ?! F3 G0 m' y& F
  471. PLA
    1 n! [0 Z. h4 Z! W
  472. STA $BA% M0 U4 e% T8 q0 }* e8 Y5 p
  473. PLA
    0 Q7 O; y% H/ q9 O# q
  474. STA $BB
    ' P- X$ F7 \  Q' }! g6 S2 \
  475. PLA3 E" i5 Q1 U0 H
  476. STA $BC
    8 e' |4 @+ x4 Y& c
  477. PLA% w# S8 f, l1 r
  478. STA $BD
    + w+ u5 c; O1 G/ A. d5 D

  479. 1 p2 x) U1 \- A( n1 S7 `' o9 u0 y2 v3 {
  480. RTS3 U: J9 Y$ y+ C+ i0 e! S% l3 C
  481. 2 u: b! i7 J( p2 ]
  482. PPU_CMP:
    8 f* g' L0 D* }7 [  _

  483. ' Z1 i; N% W' @

  484. - y* d* |7 x  }& L% K# e
  485. PPURE:
    ( M' f0 x" b( [
  486. RTS! L  a- |* q2 _; R6 Q7 U5 l' g

  487. 6 S  \6 |$ R% p5 ~4 g" g) R3 U
  488. & @; U# Y1 o8 c# ?* i7 E& H
  489. FREE_PPU:
    3 ^' G% R2 F0 |& i. f- i# L

  490. 3 `* Z6 P, K0 |' X0 p6 Y
  491. JSR TEXT01_PPU
    9 ^! [7 w' g  E. q: i
  492. JSR $CBC00 u2 ^4 K6 h+ a3 n$ _; J% C
  493. JSR P1_PPU" ]  r% ]8 \% D8 |! G2 ]; s
  494. JSR P2_PPU
    * k0 B$ o! j& e% P+ {7 L. F, Z' U
  495. RTS+ o/ x+ E6 N" J5 n3 m& D
  496. 7 F8 F3 y$ `7 s% A& P3 E, `& |6 \
  497. TEXT01_ADDR:0 k; V+ ^+ m. j; D! D
  498. .BYTE $20,$42
    # v- B: L+ V9 i: F% A  _0 f& j4 d2 c
  499. TEXT01_DATA:
    1 W) F+ G% ?7 ?) S
  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
    ; d4 C' ]: D$ ~. c9 g
  501. TEXT01_PPU/ X; h( `5 A- o$ |
  502. LDX #$00
    1 Y4 I# G5 o6 T$ B8 R" i5 S  Y" F! j
  503. LDA TEXT01_ADDR
    " `7 ?* n; \( C6 d" F" z1 f" d6 l& ~
  504. STA $0703
    3 m# p- J- Q6 D' {
  505. INX
    4 I' E' Y9 I8 A, X' o
  506. LDA TEXT01_ADDR,X; h- M; F$ `! B8 i' A8 ^
  507. STA $0704
    2 P4 |. w3 _1 ~* J) X+ O
  508. JSR PPU_PROCESS
    * f; g, ?1 Q* ]8 F- X
  509. TEXT01_W:
    0 j8 F$ a; z. O. q7 Y# h
  510. LDA TEXT01_DATA,X
    0 K" o) V! `7 k: P# S3 k( T, p0 O
  511. CMP #CEND
    4 U- v- A) }) s7 U
  512. BEQ TEXT01_START3 m0 ?8 x4 A+ V  R- C. H- |( Q) q1 g
  513. STA $0705,X' n1 C$ j/ y. t8 }6 r1 ]
  514. INX
    9 o3 L6 Z6 O5 L$ u  i' m
  515. LDA #$00
    0 g- z# Y, J- `& I7 P$ V3 j8 y2 w8 @
  516. BEQ TEXT01_W
    8 T& b; W! _8 R) g" {* Z2 F9 Y% T7 |! L
  517. TEXT01_START:
    5 Y5 _3 Q$ j9 K) }. V+ n
  518. JSR PPU_START% x9 j: @" J& }
  519. RTS0 K# s  [. @! b

  520. 6 ?& {7 P8 L  f5 w* N
  521. , ?4 }# i) t( ?! ?6 B
  522. COLOR_DATA:! b/ O2 S8 u) k8 ^( h
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28
    4 E  J; Q, n4 H

  524. / v; \9 _0 }# B: R/ V
  525. P1_PPU:
    : x& S1 b+ z# L8 A' @
  526. JSR PLAYER_01_PPU
    9 w$ S. j. Q: N- ?$ {* @0 {! J
  527. JSR $CBC0, X+ ?! ~% h- b$ L
  528. JSR RELIFE_P1_PPU, u5 i, \% w9 J9 B8 |
  529. JSR $CBC0
    2 U9 f3 l+ O$ j* c9 A
  530. JSR RELIFE_NUMBER_P1_PPU+ f. ?. T2 G* X  a/ g/ h+ j6 l" ~
  531. JSR $CBC0
    / }' R1 M6 U% P+ v# w
  532. JSR WEAPON_P1_PPU, e6 D' [. @( n7 S# D
  533. JSR $CBC0
    8 Q$ x4 y- C, c+ g( U0 A, E) n
  534. JSR BULLETPPU_P1_PPU. N  _( [2 y+ e$ p, b1 C
  535. JSR $CBC0
    - L) m8 |$ H' n/ q3 y' S1 v) S
  536. RTS
      y: V; q4 O8 E

  537. & o8 P. x7 [1 G' S
  538. P2_PPU:
    5 G# f( o( [2 y8 h+ _& }, t. E5 U' \( q
  539. JSR PLAYER_02_PPU
    # R  S% n! I. E' z; B6 u6 z
  540. JSR $CBC02 d8 Q- I& n1 g$ t, ~
  541. JSR RELIFE_P2_PPU0 }# i# e. O% h6 B; ?* E% x; t" V" g
  542. JSR $CBC0
    . d; p, g6 r3 V
  543. JSR RELIFE_NUMBER_P2_PPU$ l8 t) u; y- P& t1 R( ?$ h
  544. JSR $CBC0
    : _3 A- ?( N* ^) U
  545. JSR WEAPON_P2_PPU% N( I$ \# \  D9 T& c, U
  546. JSR $CBC02 |- {6 ?# R$ p+ a0 T+ {
  547. JSR BULLETPPU_P2_PPU
    7 D2 D% [/ H: B
  548. JSR $CBC0# M& B: A( W! l% r+ Z# V
  549. RTS
    " p" |5 G- Q, _8 F8 P
  550. - {, a! P0 {% C$ b' v
  551. 6 |9 ~% T- ]9 P0 d$ r" B
  552. + c& m$ j6 U% \6 H/ V+ y/ m
  553. PLAYER_01_ADDR:
    ; c6 b- F$ |4 I8 U  i7 c
  554. .BYTE $20,$A3
    , k" W% i& u6 B% X# |2 U, D
  555. PLAYER_01_DATA:+ ^9 t% k" @+ ^$ b% h9 u) W3 y
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND
    ) d( A" u, U) [+ u/ S
  557. PLAYER_01_PPU:2 O% V8 d1 G3 h( `- ^
  558. LDX #$00
    # W+ j! i/ o( n9 e3 [$ ~/ u$ B; H: Y
  559. LDA PLAYER_01_ADDR
    ( s$ n. k4 t7 n, b1 e
  560. STA $0703
    $ }3 \. \$ {$ B, D. I8 U
  561. INX8 i* v$ \, E. k, _) L3 g
  562. LDA PLAYER_01_ADDR,X" h( q+ _# _" K, O6 T! K
  563. STA $07048 V+ F# Z1 X5 u. n- O2 |7 I: D
  564. JSR PPU_PROCESS9 ^# m; r* G* O5 `. ?
  565. PLAYER_01_W:
    9 g5 l5 C0 n; |4 E' `
  566. LDA PLAYER_01_DATA,X
    / m) Q. v* b* {8 Y7 f- Y
  567. CMP #CEND; x- o4 W2 ?. D: Y) R% [2 k
  568. BEQ PLAYER_01_START
    . e# _9 A& i( I  j3 x2 \- g
  569. STA $0705,X4 D5 \' z; H1 N/ Y( B
  570. INX
    6 O  Z9 V/ w" j& N
  571. LDA #$00
    2 E7 S0 ]! [8 |- s% e$ k" s
  572. BEQ PLAYER_01_W0 a7 k) H- y1 y- ^
  573. PLAYER_01_START:
    " S7 Y9 X4 o3 R& L. C0 D
  574. JSR PPU_START4 p! d' f) u. C# r1 @0 W7 g
  575. RTS
    + m( u& Q$ W" K2 o% B" P
  576.   w  h1 L9 V* X2 }4 ]
  577. ( Q' P; p: l( H& o
  578. RELIFE_P1_ADDR:$ L, o7 @9 v9 L% s0 r9 H
  579. .BYTE $20,$E3
    4 J" l5 w( e. _( z: H+ T! J, O
  580. RELIFE_P1_DATA:; C# i+ U# p$ i' B, o( k) D- u4 }# f7 e
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND( n5 p" B9 M* L& N- g
  582. RELIFE_P1_PPU:
    9 G4 @8 T4 a$ U6 U0 h
  583. LDX #$00
    , i% B; H, [" j2 r$ {3 C' Q
  584. LDA RELIFE_P1_ADDR1 D; {6 d; f: O1 a  D8 ]0 q: c
  585. STA $0703
    6 L" h: G1 V" P/ B2 ?
  586. INX
    1 l0 c: f( ~) C) q4 i9 [7 C
  587. LDA RELIFE_P1_ADDR,X( U4 y  r% e% W( R
  588. STA $0704
      w$ Q2 _: B" {2 E, s: I
  589. JSR PPU_PROCESS
    0 i( G2 L( U" n3 {
  590. RELIFE_P1_W:
    , C1 n# V1 y5 B1 G# ?$ d) ?
  591. LDA RELIFE_P1_DATA,X( n. m1 j# T- Y% V8 P6 L
  592. CMP #CEND- S: N2 g) I7 W% Q7 \  w' I
  593. BEQ RELIFE_P1_START
    ( ]2 [7 s/ ^% a- d# ^  ~
  594. STA $0705,X
    $ z- V" @- W' G1 T9 b# {3 `
  595. INX
    4 `3 P9 o5 _& J
  596. LDA #$00
    2 _% h2 `0 }5 N( D4 B; S
  597. BEQ RELIFE_P1_W
    9 O4 W: A' G/ E: }- {1 ]
  598. RELIFE_P1_START:6 D7 V7 V9 S7 C3 p5 s/ C( b
  599. JSR PPU_START
    3 t4 Q( m3 f: d2 u# Q+ g% ^
  600. RTS- M5 {! ]. t8 f+ {4 C( V
  601. $ b" Z" M5 L7 G9 {

  602. 9 d( N4 e+ H2 @
  603. RELIFE_NUMBER_P1_ADDR:2 J/ V" S5 V8 j$ h
  604. .BYTE $20,$EA; Z% P' P5 {1 t. m; D$ H
  605. RELIFE_NUMBER_P1_PPU:
    + w! ~' R; V+ }* B4 u4 `# o6 a- W
  606. LDX #$00
    5 }) |# M$ _. A2 C) \
  607. LDA RELIFE_NUMBER_P1_ADDR
    ; f. a. r* q) G) `9 I+ a' L
  608. STA $0703
    # F+ A1 u7 b" [; W. h
  609. INX# O: m' c8 L9 @. x
  610. LDA RELIFE_NUMBER_P1_ADDR,X! T  X/ g1 ]2 O$ M" k/ e+ p. y8 e
  611. STA $07048 F8 |- j+ v2 U, w4 U" Y
  612. JSR PPU_PROCESS
    5 v/ A3 W6 \; u
  613. LDA $32
    2 d- U  L8 d( x2 I' c2 O9 ?
  614. JSR LIFETODEC0 o% B/ e1 w; L! x0 G$ e
  615. RELIFE_NUMBER_P1_W:. |1 t) Y: a$ @6 T: H# t
  616. LDA $7A03
    9 o8 ?+ S* R+ v7 j7 \$ g( I
  617. STA $0705
    ! ]& v1 |0 a4 t8 F3 ?  T; Z0 J8 G  y
  618. INC $0705' H$ d4 |( |! N- |2 W6 V
  619. LDA $7A04
    ! p0 h0 f9 E$ a8 @0 N
  620. STA $0706
    * E( i- g% K* ~
  621. INC $0706
    + j. d3 B8 e6 c7 f, j$ b
  622. LDA $7A05; r3 ]$ U, L( z3 D3 @* N" K! _
  623. STA $0707/ Z. ]+ W; W. ?. G9 l
  624. INC $0707
    2 j0 _+ S7 z' [  W. T4 k9 k
  625. LDX #$034 Y' q5 r5 D3 h5 d; H" p5 o6 }4 Z
  626. RELIFE_NUMBER_P1_START:
    ' ?2 U/ ^3 l2 r7 z2 j
  627. JSR PPU_START' T* w  y7 I* R. H, Q# n' E
  628. RTS' ~' b2 i1 ~" W# c/ C) z% ^9 h
  629. . \1 H- W% q' N4 K0 _& ]7 H
  630. WEAPON_P1_ADDR:
    5 g" N" ?& |& M" F
  631. .BYTE $21,$23/ N$ u! k" ~+ C' O7 B
  632. WEAPON_P1_DATA:
    ( w% L& |2 Z* l8 x3 b- U* x* }1 p
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    7 S1 L3 D2 M( y' Q- L
  634. WEAPON_P1_PPU:* W; f: m( n9 `1 V
  635. LDX #$005 C2 R8 K0 h5 y# w2 u
  636. LDA WEAPON_P1_ADDR
    5 F  s7 _' v8 R( g6 |# i" e- s
  637. STA $0703( I0 o: r$ ?1 G2 k
  638. INX
    ! Q& G' a4 |( B! b/ X, Y, S' q
  639. LDA WEAPON_P1_ADDR,X
    1 `$ ]7 Z6 y7 X1 N; j& B( U
  640. STA $0704  _5 i9 L- w0 v6 H, ]. Q# _0 \; ?
  641. JSR PPU_PROCESS
    8 q6 O% }0 d5 i1 q
  642. WEAPON_P1_W:3 ~0 l5 d! v4 x
  643. LDA WEAPON_P1_DATA,X
    8 ]2 r& ]4 }: L) p7 e: C: M9 n/ k
  644. CMP #CEND4 s8 F( ~: m) A9 j$ h( M: g
  645. BEQ WEAPON_P1_START
    & J9 g  p1 d( [2 `' _% E- ]; ^- Q- w
  646. STA $0705,X
    " f3 n6 ^: a+ H3 u% k; [# B* g% c- E
  647. INX1 F; U  r. Q5 L  u! o0 D9 T" r
  648. LDA #$00, n6 W" x/ V4 X4 y6 K
  649. BEQ WEAPON_P1_W
    & ]4 I% j, w) q( ^
  650. WEAPON_P1_START:' r- @; V3 r7 f1 P" Z5 Q. H" }
  651. JSR PPU_START
    2 n) t" a$ v0 G0 {, S
  652. RTS
    8 F6 E# s( [$ z& s5 S: {* B

  653. # r$ G$ s; }# j* V8 ~7 u7 w+ H
  654. BULLET_P1_ADDR:
    ) i2 g5 t, C1 M7 y% H3 N% j
  655. .BYTE $21,$2A7 a3 b# W* E4 P# Z
  656. BULLET_P1_DATA:0 M0 F! g7 Y5 ]2 E: E+ e
  657. .BYTE $00,$01,$02,$03,$04* N" D5 h; i; X
  658. BULLET_P1_NAME:1 w. j) b8 n/ }: g$ p
  659. .BYTE CN,CM,CF,CS,CL
    9 p0 r7 g' W! y% k
  660. . d/ p6 Q, B1 c7 q& a! ]0 r" Y) V
  661. BULLETPPU_P1_PPU:* D( H4 ~6 B* q, @! ]6 n: A
  662. LDX #$007 ?% n' E0 w: ~0 Y
  663. LDA BULLET_P1_ADDR
    , r% T3 z0 w# j2 h: v; S
  664. STA $0703+ `, G5 U( S4 v# l& ~
  665. INX
    6 ^% v" @- z" l3 ~9 K
  666. LDA BULLET_P1_ADDR,X
    + Q/ R% x1 I$ V# ?% _/ o
  667. STA $0704
    4 p4 k/ Y9 u9 e) s$ R, T
  668. JSR PPU_PROCESS# d2 U' d' \" ~& F/ V
  669. BULLET_P1_WRITE:/ u& c- |8 q+ O9 d( ^2 J
  670. LDX #$00" E) J8 \. u2 b- g8 I
  671. LDA $AA
    ) j; S# Y6 _9 t/ ^* w3 A
  672. AND #$102 z: ]5 d( y+ r* w6 w. Q$ Q
  673. BEQ C_BULLET_P1
    ) i6 C, n: q7 B7 k% {: c) N
  674. LDA #CS2 T  I+ {5 Z: a7 Q8 V
  675. STA $0705
    " a- b6 C  I* n  ?
  676. BNE B_NAME_P1
    + G+ m9 x' g* A' I3 y0 D4 B
  677. C_BULLET_P1:
    9 _9 ?( {9 e$ P1 _. o1 V: T
  678. LDA #CC) j- j8 P$ Z' `& B
  679. STA $0705
    : \$ u2 m3 ], F: L
  680. B_NAME_P1:
    " @0 F4 W4 P4 J& N! r+ z' F
  681. LDA $AA/ T6 M5 `# r# B8 Y1 ~3 V+ F, v
  682. AND #$0F
    # j9 E5 Y/ c" w( N
  683. CMP BULLET_P1_DATA,X
    / S6 @% Q" y. C1 c3 E) M
  684. BNE B_NAME_P1_RECMP( K, a. I9 c, J: x5 G, ]% _) ^
  685. LDA BULLET_P1_NAME,X$ p3 b4 \  v2 ]6 H+ A
  686. STA $07065 g$ o1 K7 J! N* D) s; u
  687. B_NAME_P1_RECMP
    ! A: G0 r/ u3 l1 B$ Z
  688. INX
    ( _% q- _6 }7 A- @2 u: M' m- W
  689. CPX #$05& T% Y3 N% s5 j4 l/ L
  690. BCC B_NAME_P1: ~5 n2 _1 V& o3 y3 F4 _
  691. LDX #$02
    : s) x  n6 v7 i. @, c8 V$ |& @  [
  692. JSR PPU_START
      t1 k9 C& W  H/ T- l
  693. RTS) B: g: G6 e& `8 J% O5 S

  694. ( i: u( [$ w$ ?; l1 A+ }6 C
  695.   C: _: F( _2 [# ?
  696. PLAYER_02_ADDR:
    5 _9 ~$ b6 y' U. ^6 C8 F
  697. .BYTE $20,$B3" P5 G# O+ O' K5 K: U2 G/ k, I
  698. PLAYER_02_DATA:
    5 i6 C" w4 Z' K; m
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND3 ?! _& \! k! w' C8 j8 f! e: E
  700. PLAYER_02_PPU:
    8 `) \' N1 {3 o( O. _8 ?( W& d
  701. LDX #$00
    6 U1 }9 ]: b1 a1 L) \( @: n& f
  702. LDA PLAYER_02_ADDR0 d" l+ ?% K( R% k. D% V
  703. STA $07039 o0 @+ o3 C0 {9 W' ^# M
  704. INX
    % |1 d+ y) T' {. E
  705. LDA PLAYER_02_ADDR,X
    + i$ [- P8 g5 O$ d2 A  A$ ~* ^
  706. STA $07041 B- p2 F2 W+ j. j$ t& n& W8 B0 B
  707. JSR PPU_PROCESS) {7 ?+ \! n/ _0 h* s) q+ x
  708. PLAYER_02_W:
    + b! M% J4 e6 t. r$ Q" m4 v7 ~- T
  709. LDA PLAYER_02_DATA,X7 A: m$ A+ f- d* F" l
  710. CMP #CEND# R5 Y* B& U- z: W9 A( Q
  711. BEQ PLAYER_02_START2 ~7 m# K/ J2 P. z% b' h' f
  712. STA $0705,X$ q& w# Y, X3 ~' t: t. h- a, G: _
  713. INX) e: D; v. j) ?$ m
  714. LDA #$00! L8 G2 N9 Z, v* q+ h5 J2 ?
  715. BEQ PLAYER_02_W3 P1 N3 m6 L5 q8 A" `
  716. PLAYER_02_START:
    . N, p1 g; }. ~: i8 `$ z
  717. JSR PPU_START
    % b1 x- _7 ^9 P7 q& m2 H: d# G
  718. RTS2 V' _! O( N! M0 J/ d( c: ]5 z
  719. ) m, ]/ Q. {* w" n. K

  720. . w$ s/ n3 Y- n% n$ X% y/ C
  721. RELIFE_P2_ADDR:% O2 U$ I' `' i! K  q) B/ C
  722. .BYTE $20,$F3" e, y  V5 Z( b, u( D
  723. RELIFE_P2_DATA:# E$ \5 Z3 D$ M: R
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    ( J- M* l4 n3 y& s& j: y* Y
  725. RELIFE_P2_PPU:
    3 c1 r# u. R! e) U; h3 u
  726. LDX #$00
    ) a, r# [0 l* b! Q
  727. LDA RELIFE_P2_ADDR# Y: w) M; u+ t# ^& n4 }
  728. STA $0703
    ) j' z) X5 t" r2 Y% _- X) Z
  729. INX
    . ~' b# Y& ?& X" }! Y2 o: V
  730. LDA RELIFE_P2_ADDR,X
    * z" [8 z$ d% k. F
  731. STA $0704
    7 F/ T" t2 \9 u* b2 b/ W9 G) V0 f
  732. JSR PPU_PROCESS$ C6 Z4 G- M/ o& C5 `! G
  733. RELIFE_P2_W:
      C! _0 t6 r$ \. s
  734. LDA RELIFE_P2_DATA,X4 o+ E4 `+ z- k; `  {; a. Z7 n2 z) Z
  735. CMP #CEND# O3 m7 T: z( L4 Q3 E% |+ `1 k3 T
  736. BEQ RELIFE_P2_START* N& V1 a" S3 w3 r9 P
  737. STA $0705,X- D; A) l  Q6 \
  738. INX
    $ W( k  r$ x5 g7 P$ w# ]5 o5 |
  739. LDA #$00$ v5 `3 S  |" ]) I0 `6 B3 K: K
  740. BEQ RELIFE_P2_W' m- }1 q; g3 ?; T; K  n
  741. RELIFE_P2_START:
    - z3 d* i5 h: d! J
  742. JSR PPU_START7 g& j% n* }$ D. K' T. \
  743. RTS9 G) v- n0 M' j7 J

  744. 9 Y" K" u3 C" t7 c$ {5 u1 U

  745. $ G  E( P6 V2 t3 d% l% N# v
  746. RELIFE_NUMBER_P2_ADDR:3 m* [  K1 n& H) F
  747. .BYTE $20,$FA) ^5 h, A4 P- `, e  P
  748. RELIFE_NUMBER_P2_PPU:
    , Y( E: G1 K; K
  749. LDX #$00% v4 \0 Y5 G' U4 `$ u! D' P
  750. LDA RELIFE_NUMBER_P2_ADDR' i. }9 N8 g  D; F: y
  751. STA $0703' m* ]$ m7 V3 x+ y( C; c6 a/ D
  752. INX
    % c' ?  n, E0 v% h' k7 n
  753. LDA RELIFE_NUMBER_P2_ADDR,X6 m3 a) o) h- c2 H$ p4 x
  754. STA $0704
    & T( h: r4 S, N( s
  755. JSR PPU_PROCESS
    " [4 L/ m! G5 o
  756. LDA $33' R* M9 {$ Y9 W$ D- Y3 g4 ^8 J" ]
  757. JSR LIFETODEC
    ; v' N9 P: S* d) W& }& s' d* |7 D
  758. RELIFE_NUMBER_P2_W:
    * U* n6 i2 `! o2 p7 ]/ b
  759. LDA $7A037 Y/ L: l8 Q$ H4 c
  760. STA $0705
    1 n' L8 L: B9 O- e! m
  761. INC $0705
    # B4 K' J" Z8 s. O4 m( a7 U
  762. LDA $7A04/ F/ h& @, g3 F! z; m. H
  763. STA $07068 a, q# r8 H0 r- m
  764. INC $0706
    2 S: L& g4 T6 a' A4 O
  765. LDA $7A05
    $ I/ _7 R, F) a
  766. STA $0707
    , z9 z, |  p: M: f+ }, ~. P) b- d+ _
  767. INC $0707# e+ u- d. Y1 U
  768. LDX #$03# Q; N- O! a  Q6 g) Y8 _, W8 _4 `
  769. RELIFE_NUMBER_P2_START:& h+ v6 O, S. P0 G- E1 S# ?
  770. JSR PPU_START
    0 p+ I# _( W! X' \4 {% u2 Y
  771. RTS
    % ~$ A, t, J7 F! [
  772. 5 V6 x$ p9 Q  J9 H. }; T
  773. WEAPON_P2_ADDR:
    # I: `! R2 i& P- D& v. J
  774. .BYTE $21,$33
    ) ]7 a& B  k. L, D1 O( q' D
  775. WEAPON_P2_DATA:+ G0 }# p7 {, A& C$ z9 t8 f
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND! I2 C+ z" Y  Y. Z& m1 X0 W, K
  777. WEAPON_P2_PPU:. o, H7 M0 K* k: K) r" O  d
  778. LDX #$008 `0 n- d) y; }# D
  779. LDA WEAPON_P2_ADDR
    4 m" C5 a2 V; ]6 G: {
  780. STA $0703; P$ `, n1 ^5 A, I' H  f
  781. INX
    4 X; ~3 X* `1 C) d6 ^
  782. LDA WEAPON_P2_ADDR,X& P1 P; `+ Y: _/ v4 R# u$ O
  783. STA $07048 E3 h) C4 R7 }, `$ l( Q$ L
  784. JSR PPU_PROCESS- L& k# C. q, r: W% n4 n
  785. WEAPON_P2_W:9 A- T% E. K8 J* N
  786. LDA WEAPON_P2_DATA,X4 ~2 d: z! Y, Z7 B
  787. CMP #CEND9 }1 {' \; J  i3 G* j
  788. BEQ WEAPON_P2_START
    9 v+ g% u1 C! j0 p- Q$ C6 u
  789. STA $0705,X
    5 W: x" N; k/ j& [
  790. INX
    8 {$ q- q5 o, R$ X& m8 w5 m
  791. LDA #$001 ]8 `- Z  ~, V& d2 _* e
  792. BEQ WEAPON_P2_W
    . v: S, x, k. b  n0 I' |6 D
  793. WEAPON_P2_START:) ~+ @2 E. Y) V7 X6 n% W: o
  794. JSR PPU_START5 @8 ~7 k  N& X5 G, m( T9 R* Z
  795. RTS
    % l: F6 |& [# M" Q* G. ]& s
  796. , [1 \  J3 ^% D5 S$ J
  797. BULLET_P2_ADDR:  q6 q: c% K9 y$ }
  798. .BYTE $21,$3A" d0 Z% z: }/ @. \' f4 ~5 I# L: L
  799. BULLET_P2_DATA:
    / ?: i8 }) K/ N$ o! L/ E# t7 [3 }
  800. .BYTE $00,$01,$02,$03,$04
    1 v* H+ Z# {& T5 s
  801. BULLET_P2_NAME:
    8 _% D" v6 u4 w- R7 [
  802. .BYTE CN,CM,CF,CS,CL
    8 j1 v$ q& V' u" ]0 c0 Q

  803. * w9 J7 I  Z8 }: c; ?
  804. BULLETPPU_P2_PPU:5 M, W! R$ N( X- i8 n* m
  805. LDX #$00
    6 ?" |* Y; Y- t" U
  806. LDA BULLET_P2_ADDR
    & C9 j( r7 y5 z
  807. STA $0703' Z( ]$ f  p5 L# M8 T' i
  808. INX- Y9 E8 [& M" P. ^9 R
  809. LDA BULLET_P2_ADDR,X( p. l2 m6 R5 ^3 P8 {4 J6 ?  p
  810. STA $07046 M; H' F7 L6 H# y1 f3 q7 o
  811. JSR PPU_PROCESS" j2 u0 b2 A; I! }7 |& ~! Q# F- @
  812. BULLET_P2_WRITE:
    . z/ V4 v5 m/ w. \) f
  813. LDX #$00
    0 f" O: }& ^6 s$ J2 V9 v* x2 C
  814. LDA $AA
    . l1 k* u3 K; C# h7 j: V( Q
  815. AND #$10
    % s- x# [/ t/ z/ a
  816. BEQ C_BULLET_P2% |3 I+ Z- O1 L7 E, _* P3 K2 F% o
  817. LDA #CS
    ; ?. I2 n) X- `; l/ W; H& `
  818. STA $0705& e- |+ r: L# w5 o4 n! \/ G) ?. K5 S
  819. BNE B_NAME_P2
    : B  U1 e& y& {
  820. C_BULLET_P2:
    ' v9 s& ^4 w# H, g
  821. LDA #CC
    * X: m) {8 j& X  O
  822. STA $0705
    6 Q, l" O6 w& ^& b" d  o
  823. B_NAME_P2:
    & Z: C: @2 u$ A' x, K- d: H
  824. LDA $AB
    , ?: `6 I9 ]6 ]
  825. AND #$0F9 r2 ~4 o" D# b# q" @# j
  826. CMP BULLET_P2_DATA,X
    - M$ F4 h. B9 F% h' n; ?
  827. BNE B_NAME_P2_RECMP
    6 u8 E3 ^8 C8 O" A0 R6 l
  828. LDA BULLET_P2_NAME,X9 ?* _7 q* z& H- _4 y% Z
  829. STA $0706' c& f7 ]# F( j4 d7 `
  830. B_NAME_P2_RECMP
    + B7 C- W8 }6 Z' D8 [3 c' h
  831. INX, }( n4 N6 E+ x, ?1 r  w
  832. CPX #$05
    3 I4 G& M0 F; S2 O4 t0 ~4 u
  833. BCC B_NAME_P2
    8 Y8 O) f- V6 [/ _4 \8 f0 g8 P3 b; l
  834. LDX #$02
    # A1 i" t- r- S% p# ^
  835. JSR PPU_START
    ; k3 A5 r- e% F# x8 w( q
  836. RTS
    . {) k% v% E* F" A
  837. & z; i* z( Q  s3 i2 X% Y
  838. ' g, |+ K4 N/ {* ^; O' D
  839. # p5 I' g/ S* J* n
  840. + q" t+ c1 q$ M0 V. ~- N
  841. 2 z$ e5 s4 W$ v& ~! x0 w

  842. 9 ~& C* P  @7 V1 ?
  843. LIFETODEC:                ;十进制转换
    ( Q7 s  ]& `- A% j, I  I
  844. LIFEL1:        ;initialise; C: [8 n( P$ G: @6 U5 [4 z
  845. STA $7A00        ;$7A00=F3
    6 ~7 B# c1 k" V- h+ i6 W
  846. LDA #$00
    4 [5 K# Q$ w! e0 v& ?, p
  847. STA $7A03        ;$7A03=00
    9 u, i, v5 C0 z+ ~- C( s7 s
  848. STA $7A04        ;$7A04=00
    ! w, z5 X& f& s$ V1 M
  849. STA $7A05        ;$7A05=00! i7 R6 e' a2 t4 g% b% }
  850. LIFEL2:        ;copy data $7A00 to 6001
    8 M9 T" f" A$ p
  851. LDA $7A00
    ) L8 l' I7 F% v
  852. STA $7A01
    $ b. @6 Z) G8 i  n  q( S

  853. 4 ?4 u8 a* m3 V6 h
  854. LIFEL3:         ;hundred' }" l) u2 D( ?1 v  J
  855. LDA $7A01& r% O" t% S) z, J5 {, a0 b5 g. F
  856. CMP #$64; h  o% c0 I& U+ Z. F. [# t2 [
  857. BCC LIFEL6                ;$7A01<100 goto L6
    " A2 K5 j/ K. f6 H# B
  858. LIFEL4:
    ' w+ T$ z5 ~4 O  Y+ ]" k8 @
  859. LDA $7A01; t, O9 I( z4 |0 b
  860. SEC3 ?# \8 o! z4 R1 I
  861. SBC #$64        ;$7A01=$7A01-100
    ! ^/ o, B6 ?5 c7 `/ w* O
  862. STA $7A01
    ' O0 z! \+ \5 q# I. H
  863. INC $7A03        ;hundred++5 x9 p: r9 V$ S$ h) O2 D
  864. LIFEL5:
    , X- e# B, D9 h8 t& q( {
  865. LDA $7A01- ^1 i' A( I3 E0 E( L
  866. CMP #$64$ }3 I7 M9 U5 n% L. _
  867. BCS LIFEL4                ;$7A01>100 goto L4
    - F' \$ Z% ?& Y% T

  868. + H! I7 M$ Y2 O' r; S  c
  869. LIFEL6:        ;decade' z; M/ p/ j$ w$ ^" h
  870. LDA $7A01+ ^' ?5 A/ V1 |  H) ^' B" ~
  871. CMP #$0A
    - a6 v3 p/ d! w4 m& y% ]
  872. BCC LIFEL9                ;$7A01<10 goto L9
    4 Z1 d4 i% j. V9 R1 J6 M- `' }" |' o
  873. LIFEL7:       
    2 E- q; N' E: j, S7 z7 ], j
  874. LDA $7A01( M% f* \# N" X
  875. SEC
    # E9 U4 |, b- S  Y7 U. h. w
  876. SBC #$0A4 R- y  v6 G5 i1 c. i% l
  877. STA $7A01        ;$7A01=$7A01-10
    3 |* I. `2 M: D& X0 d+ L
  878. INC $7A04        ;decade++
    ; d9 H/ u* w9 r
  879. LIFEL8:
    ' ^" o8 e$ n- [  U0 W+ \+ O
  880. LDA $7A011 S1 P% K. ]3 K  D/ H
  881. CMP #$0A- J: s! A) v7 y2 `4 ^- d
  882. BCS LIFEL7                ;$7A01>10 goto L79 X, l. V' B, L! q$ g
  883. ;unit8 O3 z, {# E$ o& u  l9 P  P  p
  884. LIFEL9:- u3 n7 u: [$ N6 F; P& X9 ~
  885. LDA $7A01        ;$7A05=$7A01. j1 l7 p- L7 w
  886. STA $7A05        ;unit
    / Y2 N3 w4 K- F, P4 s8 {1 n
  887. RTS        ;return% A) L+ A$ j# b; U6 l' B9 |/ s: D
  888. ; q) W' w3 `3 g% u# f- _( m

  889. % D$ n, [8 U7 g

  890. * I3 ?4 e  A$ n6 ]0 i5 J
  891. PPU_PROCESS: ;PPU地址处理程序' f' J/ A1 c  r  c/ }& |+ e
  892. LDX #$00: \' V" R& {( ?$ _' b  ]
  893. LDA $FF
    ! b3 ^* u# n9 F+ n. ]+ ]3 y
  894. AND #$018 E$ h) ]) K" H5 N5 B
  895. BNE PPU_2400_27C0
    1 f/ c/ Q2 b& I3 |
  896. PPU_2000_23C0: ;命名表1, Z5 Q. X) H! N6 `" }/ ]. `/ O
  897. LDA $07035 |- s0 V7 z* d* `
  898. AND #$FB
    6 E2 a5 ^' L# L; W2 ]# A* `2 V
  899. STA $0703
    6 ?0 }$ N* B/ g( Q* Y
  900. RTS
    6 A. z5 w5 X' x! o; L
  901. PPU_2400_27C0: ;命名表2& H& ?1 F; Y1 \6 v. l$ z" o1 o
  902. LDA $0703& {4 k3 u! ?' m# @" U9 y' P* Y
  903. ORA #$04
    1 P6 p! W/ N; t0 S4 J
  904. STA $0703, I  _2 N$ i, y- n
  905. RTS
    , ]7 l& l3 x/ `+ e/ o

  906. ; {4 D  f) Q3 x0 b, C) t
  907. PPU_START:  ;PPU数据写入
    * d; r1 j0 K6 |3 B( n
  908. STA $21
    4 r" |0 t" Y' u. m: N: Q# i7 ?
  909. STX $0701: G; m/ r9 B' f; A  s
  910. LDA #$00/ A; F1 ]0 @3 |/ x# ~  ]$ Z* L3 ]
  911. STA $0705,X
    0 r* x9 i  P: E# I8 x
  912. LDA #$01( E5 r% z# o0 i/ t
  913. STA $0700% _. U5 `# T9 k& v* w
  914. STA $07020 ]& K: r. b2 @1 P  L" J2 }7 u+ e* Z7 D
  915. RTS
    $ b* ]) {* r: p7 g: O
  916. 1 d+ {! Z3 v2 f
  917. & m2 ~# C5 ^3 l+ P3 _4 O7 l
  918. # z9 ]6 \9 W8 x3 N
  919. + J% F: S5 I8 `) k; b. y$ `
  920. / Z! d- _- _# R4 x  g8 b

  921. - i: g, I0 R1 C# U5 h# g: T
复制代码

# Y( `3 }7 y/ s$ N2 ~- u9 C

本帖子中包含更多资源

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

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

签到天数: 2216 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!3 \+ N& `, W6 y8 C4 i

签到天数: 2560 天

[LV.Master]伴坛终老

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

签到天数: 26 天

[LV.4]偶尔看看III

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

签到天数: 2060 天

[LV.Master]伴坛终老

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

本版积分规则

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

GMT+8, 2025-6-18 12:39 , Processed in 1.085937 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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