EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2017-2-13 11:57:33 | 显示全部楼层 |阅读模式
  1. Contra (J) PPU写入程序
    8 R# ?* g) G9 \8 A* ]% _
  2. 作者:FlameCyclone2 t/ X3 T$ f- i- d; l
  3. 时间:2017.2.12. H2 I; _* \# h; o
  4. : a4 W. r  Q1 [# \1 |/ a
  5. 按键跳转:, N9 }% h0 I6 s. e# k5 U  h
  6.         C1EF:95 F5 94 F10 T$ M  H- J- Y. e* M! H( @) f
  7.         C1EF:20 70 FB EA
    * [% g( F" z2 x1 v& x4 T" O
  8.   Q3 c* v2 k6 `/ i$ K) A
  9. 滚动偏移:% L" `$ a# z: ~0 a: H0 ?: `4 U; ]
  10.         F936:A5 FD 8D 05 20 A5 FC 8D 05 20
    : q' C2 H4 i9 L. F
  11.         F936:20 C0 FB EA EA EA EA EA EA EA
    + u$ y! \' k2 L8 ?4 H% K  D

  12. 0 q8 K; X, ?& q: C; |" m5 s/ S
  13. 背景调色板:
    / [; @+ ]. n4 ?6 g$ a- u! e. w
  14.         CF20:9D C0 07
    ( }( C6 l0 x$ @9 I+ T' J# }2 o
  15.         CF20:20 A0 FB
    7 S+ L: ~+ j! c7 S
  16. # P- \0 c  [( y; q
  17. PPU BANK号:
    4 H7 J4 b* c$ L. R  m- ^
  18.         C8C9:9D F4 07
    0 D) r7 p9 z! O2 u' y& _+ y2 k0 @  Y; E
  19.         C8C9:20 B0 FB
    / B4 w8 B2 R: x* U' A/ l

  20. $ O. {2 H& m$ i3 b  m% O8 V7 P
  21. 按键跳转:" V  S7 O$ ?  B6 D. {  \1 H2 E
  22. FB70:        95 F5 94 F1 48 8A 48 98 48 A5 FF 29 7F 8D 00 20, \4 O# m7 z/ ~/ P$ |
  23.         AD 00 80 48 A0 00 20 21 FB 20 00 A0 68 A8 C8 20
    ! ^% ~7 h( }( Q" \
  24.         21 FB A5 FF 8D 00 20 68 A8 68 AA 68 60 FF FF FF
    / V/ C7 Q: A2 q7 I$ {

  25. # V* k7 a; x7 |; V/ K1 x: I
  26. 背景调色板:8 g7 q7 c% {3 M: P4 t; i
  27. FBA0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D C0 07 60 FF
    - Z! P$ k& G( B- @1 E" V

  28. # r8 r0 \* g  }6 A3 i% U' E
  29. PPU BANK号:
    ) I5 Z1 M& S2 h! W
  30. FBB0:        48 AD FF 7F C9 FF D0 02 68 60 68 9D F4 07 60 FF
      [# y; @+ V2 x) D& n
  31. $ \! x  G) y0 d9 v6 b# l
  32. 滚动偏移:
    7 @& `4 T9 d; l- C. t0 o0 P
  33. FBC0:        AD FF 7F C9 FF D0 09 A9 00 8D 05 20 8D 05 20 608 V% x" E% X% e: B
  34.         A5 FD 8D 05 20 A5 FC 8D 05 20 60 60 FF FF FF FF
    & B& y7 e0 R, V% ~, ^

  35. # e- {3 s/ Z) ~. ?9 ]

  36. 1 v, U8 U' P3 \
  37. 切BANK后A000:
    ) u& C  u( E1 H) ]6 f
  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/ Q/ z2 {* t5 r/ e/ s* h

  39. 7 B2 M4 g8 n  F- w) S' H3 W, N4 V

  40. 7 u  K/ n) b8 F4 E/ S4 E) P
  41. 6502 simulator:( w' l$ B$ E# ~, \# A: N
  42. PPU写入程序:
    ; V8 z8 u6 G# S, S! J# [
  43. .ORG $A000
    ; l, R  h9 Y, z9 P2 A
  44. CSP = $80
    8 r' f2 h2 w( A4 c+ \8 w3 L. R, v( b* G
  45. C0 = $81
    5 E1 w3 S  G& ~
  46. C1 = $82) g7 `. v* E( H. C7 ]( z
  47. C2 = $833 O2 [/ i2 R) Q3 d$ ^
  48. C3 = $84
    2 P- x, R; d5 m' l
  49. C4 = $853 ?1 N( O6 _$ L5 w) L2 y
  50. C5 = $861 w& J2 {8 [3 d) \) ]9 h4 ?0 ?5 ?
  51. C6 = $87" g5 W- |* s3 T' C
  52. C7 = $88
    5 q2 A7 k: W, n$ S4 c! O7 j2 @
  53. C8 = $89
    $ _; s  |7 r  d5 j1 T
  54. C9 = $8A
    . u" |( \; K' q
  55. CA = $8B
    * s& g4 P+ s9 f; O2 u/ q# _; c4 a! V
  56. CB = $8C
    ! S( h7 P2 t. g& [; S+ `+ s& x2 L
  57. CC = $8D) r8 [) f6 Y1 n4 C4 {! S3 U
  58. CD = $8E& |  r6 `% V0 w& e$ y5 d
  59. CE = $8F* D' v! B/ X+ [+ ]9 G: j
  60. CF = $90
    9 c8 S' q& i( c" s
  61. CG = $91
    0 N+ U3 \) F7 R5 |
  62. CH = $92
    1 h/ J3 c  u- @
  63. CI = $93
    ) k2 s9 b# d2 ^5 W! t
  64. CJ = $940 i! V8 b) W/ C
  65. CK = $956 S! _/ M2 I4 C* X1 Q
  66. CL = $96" Y# \" H5 D" u2 c
  67. CM = $97
    , D- c( g5 U7 v
  68. CN = $98
    : a: p: ?& [6 r# y( U8 @. m
  69. CO = $99; |6 y, c6 p" e* A6 }/ Z
  70. CP = $9A
    " }- ^6 C% F) }3 C2 A) Y
  71. CQ = $9B
    5 t' Y) n$ [  B; R  e, k+ a' F
  72. CR = $9C5 Y' n: }3 \8 p2 S) X" W. b( F
  73. CS = $9D
    . L, g; K; j/ ^- g
  74. CT = $9E
    6 ~! o3 V2 f4 J& L5 t# g
  75. CU = $9F% {  I2 n% @- v
  76. CV = $A0
    ( ]# P9 Z$ W# e, q/ K5 h( d0 {! T
  77. CW = $A1# }) \1 r1 i9 b* j5 [0 @
  78. CX = $A2
    $ ?( p! ]3 F- d. \7 `, }/ A
  79. CY = $A3
    * u. X/ K. O! V4 p8 H. F
  80. CZ = $A4; L6 g9 k# W* J. Q: T/ W! \/ e
  81. CEND = $FF
    , P" R7 j  b' y( P3 c* o; ?( }

  82. $ y& q& e" v4 ~) ~

  83. . u% B" \9 t+ r* ^4 l# }
  84. CMP_RE:
    0 f9 W* |2 Z. ]8 T
  85. LDA $FF
    % v+ D; L+ |/ a1 _
  86. AND #$7F
    : O3 [, S! Z% `. _7 U8 V
  87. STA $2000
    & |& _. A' j% u+ d
  88. LDA $2002
    ; |5 y$ ]& [/ h/ _( f
  89. LDA $25
    2 D- h3 y2 q# l" G
  90. CMP #$01
    ) C0 i3 F$ A( W0 s$ O+ a
  91. BNE PROREG$ K+ G8 @$ o0 H# X7 E8 c7 s" _4 C
  92. LDA $F5,X9 A2 Q$ p- F$ x
  93. AND #$CF: w$ j2 ~! p( M) Y7 }
  94. BEQ PROREG
    0 a( u9 V0 ?- G2 x( k
  95. JSR PPU_CMP  ^# Z& a% G/ H7 P" @, t* u
  96. C_RE:2 N# f2 l* B0 }7 ]$ B4 i
  97. RTS
    ( K5 L: V0 a6 h
  98. PROREG:, Z7 W9 m$ O) E) P
  99. PHA
    4 S9 {0 Q/ @4 y$ E+ ]( t
  100. TXA
    , J0 B- @7 d" T7 [  U9 l# {
  101. PHA
    6 C) y$ N2 b8 a; a1 }( @$ F& A
  102. TYA
    : ]- e% i8 V; @) b  O" {
  103. PHA
    2 L. Y; B8 l" l' N! d: y
  104. LDA $25
    8 ^" A5 {! ?5 W; R& F% Z0 i: ^
  105. CMP #$015 B" ]- I9 z" a( k$ e7 d* X3 P
  106. BNE RE
    % m: e( r9 i( a' ^& j4 U
  107. LDA $010A- X  e3 W& S: Z: Z" e
  108. CMP #$003 d- j. b6 @  b9 r# }( }& f% B
  109. BEQ P1" R5 C* {4 }. f

  110. 5 p6 z5 P6 D/ ]. ^, U. \1 ]; p
  111. RE:/ v# w/ P3 C9 u: x2 v' G
  112. JMP PPUWRITE$ ^/ v! s0 J* `# U$ R6 w
  113. ) W* ?5 d* J/ e; r/ {7 K
  114. P1:                ; 条件判断
    ! z& s: D" B" q) ?) m
  115. LDA $7FFF' o0 l! r1 A6 i
  116. CMP #$FF& K4 X  a  `: L2 z1 y
  117. BNE P1RP/ g- E! s5 f$ I$ t: V9 M8 h  Q+ }
  118. LDA $7FA0
    ) v4 Y3 ?. c+ F# {
  119. CMP #$00, G0 c5 s. Q" m' T  y, `' z% c
  120. BNE P1CMP
    7 P! p' f+ g& ^: b3 {2 l
  121. LDA #$FF6 p+ f: m! S( q) x' S/ J
  122. STA $7FA0/ q3 `  o$ o$ o- `9 l& f4 D4 z& v5 ^
  123. JSR CLEANA" |9 O" F% H9 W( F4 u
  124. JMP PPUWRITE" w, w, b) r& l) F2 S7 n& i
  125. P1CMP:
    $ q" N" b3 z8 [% _" ^
  126. LDA $7FFF
    & h: H: |, g0 d7 a) t3 b
  127. CMP #$004 ~/ K/ a# e/ K, V- }( y& Q  Q
  128. BNE RE! _, o4 i8 T: N" t4 X4 @+ W
  129. P1RP:
    , k) c; i0 ^$ ^  U" \+ V
  130. LDA $2002
    : ~4 L. }$ V7 X% s- g, u
  131. LDA #$00
      r" K! x! N& N/ ?+ ]- w
  132. STA $2001* [! Y& F& a6 x$ G* C
  133. LDX #$00
    . ]* z7 _( f% Y/ i# z
  134. LDA #$FF- V! n. I3 V7 K+ R
  135. STA $7FFF
    5 r# j1 s: Y! @% k- |' d
  136. STA $7FA0
    ( ^  [: b; P" C% T) _1 ^  }; T4 p
  137. JSR COPYPPU
    ! w4 e1 h9 k* m) e
  138. PIRP2:
    $ Z1 b" w0 d+ k1 L
  139. JSR CLEANA5 B( r( _. O4 d6 }  \
  140. JMP PPUWRITE
    ) W  L1 Z& `, C9 x3 X

  141. ' u( F, z1 H* g, b# x2 |
  142. COPYPPU:
      f, T7 ?8 J3 ]' b
  143. LDA $FE
    & ~: G9 b. x4 l8 }
  144. STA $7F50
    . S! M2 }3 o% J% L
  145. LDA #$08
    ! y5 C4 N/ q. A0 D
  146. STA $FE
    % ?8 b/ o& `8 b" Z. g) v
  147. L0:' O) M; {1 V7 v, B3 @
  148. LDX #$00
    9 ?& y& X3 f7 Q+ V+ Y' r# Q
  149. COPY_07C0_07DF:  R/ j+ K% t4 B1 Y# c( o: w
  150. LDA $07C0,X& [! l$ v6 H5 W7 Y* w: _7 m7 m
  151. STA $7F00,X
    ( b' o1 o. |9 @8 x$ m
  152. INX: D0 i! `  s* F- h
  153. CPX #$40
    4 @: E0 ?$ v( y9 @5 o) n" d1 m
  154. BCC COPY_07C0_07DF
    5 Z8 d1 u& S3 b$ {9 B
  155. LDX #$00
    * {+ f! c! b$ Z7 J  `" y' e
  156. PPU_07F4_07F7:. J# h6 r! J$ N! p2 g8 C
  157. LDA #$00; n: i/ x/ L: g
  158. STA $07F4,X
    # P& a1 Z# x. d3 W3 a3 e3 f) h
  159. INX
    % i" d6 o# w; J) Y6 q
  160. CPX #$043 q3 h* I8 w7 A3 n: }, H
  161. BCC PPU_07F4_07F7  M5 m$ W% v: o$ B  S$ r
  162. LDX #$007 A$ W5 g8 Z) f
  163. COLOR:
    # c$ x3 C! p- O* e! j1 F
  164. LDA COLOR_DATA,X
    ! m, d% j! U1 R# z) Y; Q+ H
  165. STA $07C0,X: {2 n+ _6 L" H7 a* O2 u
  166. INX
    / Q0 y8 O4 ^; L! I5 d# \
  167. CPX #$103 Q& S5 i4 q0 W6 Y& ]+ ]  X
  168. BCC COLOR
    # J# [" k& y# i9 ]( d  h
  169. ( Q. f: a& w( j: Z+ {( F
  170. PPU_COLOR:
    1 f0 k8 K( n* t) B( q  H7 X$ u7 d
  171. LDA #$3F
    6 D' B% i7 X3 ]8 Q4 V! M
  172. STA $2006
    : Y* N! U) J. \* m4 \
  173. LDA #$008 u0 d1 w0 A5 V/ W. `
  174. STA $2006
    3 e- a1 i, c  u; z
  175. LDX #$00
    3 K/ L+ a& _' n4 }' Y, S- ~; T; h
  176. PPU_COLOR_W:
    ( e# [% {) l4 z. q) R) d
  177. LDA COLOR_DATA,X' R: D7 x, _; t8 `+ g
  178. STA $2007
    - D% X* R$ m; F: n1 V& w, G
  179. INX+ l- p/ ]- i* D( l* ]7 F+ Y& @- T
  180. CPX #$10
    9 y3 p8 J5 h* B8 d$ E9 d
  181. BCC PPU_COLOR_W
    0 I. ]- r/ W# T4 b& z

  182. 5 E, L: Y( K- l

  183.   n% }+ b/ f' ~. ]8 f
  184. LDX #$00
    9 ?* D- `( J3 m0 x- s
  185. LDY #$00
      i/ U! Q+ m  _! b3 {+ ?( o
  186. LDA $BD6 V. K% E% T% O+ o7 j
  187. PHA
    # m% K- A4 C* v3 o" H2 r! |0 h
  188. LDA $BC
    6 I9 B. L9 J( U# }% h
  189. PHA% x5 l" @0 O+ z; A) r
  190. LDA $BB8 S! t/ H  @0 I
  191. PHA
    ! M3 b9 @( V( ^; m. B0 ~
  192. LDA $BA
    / u: K( ?5 |  c4 R- a8 M
  193. PHA
    7 @4 O% I& T6 w) B# R
  194. LDA $B92 G4 b" s- e0 T& o3 [- y# m& j+ }
  195. PHA
      t! y& H$ X  T" O% |
  196. LDA $B8
    7 c' O3 X" F% n/ d; g7 O" @
  197. PHA* ]* n7 H  k: X) J
  198. LDA #$00
    9 Q/ b, w# T' i; I8 ~! L
  199. STA $B8! j# h/ g/ F7 O
  200. STA $B9
    7 g4 }; k; A: E2 I5 e- g
  201. STA $BA4 T; z# k8 x3 R, h; u$ o
  202. STA $BB
    2 d6 f3 b( q8 P8 G$ U1 {3 b! b
  203. STA $BC+ s- c6 \" V$ F! F( e
  204. STA $BD6 p" Q6 A  a7 r' g9 H6 r
  205. LDA #$00
    9 _- y* Z* `1 D! m6 K& }
  206. STA $BA4 v' e- t) q  Y6 X
  207. LDA #$20' ^; ?4 g3 j" S- r0 h* C5 l! O
  208. STA $BB& f) H* q/ |1 _8 h4 ?: h; h" G' m
  209. LDA #$007 B1 q  x  S% J, m0 k* t; B4 M, q
  210. STA $BC
    8 Q, n8 u$ n9 o! D
  211. LDA #$60; X, j. G  u* X# R
  212. STA $BD- c+ \9 o1 i) h/ M( K
  213. ' s' x8 @  G# F) D
  214. L1:                ; PPU复制& F( C6 T& l0 E+ s
  215. LDA $BB3 Q( M) `/ e. |4 T; W
  216. CMP #$28* T( @. Y3 E( x- P4 G
  217. BNE L2
    : M! e8 ^; W1 l. Q! U! x
  218. LDA $BA
    ' u8 F! m* {) u( Q$ l$ y$ F& n, G( y2 Q
  219. CMP #$006 V0 F4 @" |  U+ Q
  220. BEQ PROADPLA
    - e) y, i$ G/ u- n3 w: J2 A6 q

  221. ; o7 \: T4 U2 i: v
  222. L2:: t7 _" Q3 J# k& r5 D* V
  223. LDA $BB
    4 g2 ]8 V7 n$ q- O& F$ D! t0 k
  224. STA $2006. p' `! k2 b; E+ J2 @# a( X
  225. LDA $BA' R. Z: s$ m7 v7 [2 D8 Z
  226. STA $2006
    8 ^' m0 ]" Z: }3 o1 ?) U0 p
  227. 2 `3 Q6 [2 P% x3 F' v! s
  228. L3:
    - C3 w2 Y6 B% n" i4 e' T
  229. LDA $2007! \; B2 B7 z; J! \9 f# B% y# V
  230. LDA $2007
    . a' Y3 Y' U2 L+ k& y
  231. STA ($BC),Y+ n3 |$ X  P7 L' s  [, Y

  232. - @4 q+ G7 O& g9 I& l% w
  233. L4:
    ) F# A9 h; g3 O, F
  234. LDA #$00
    ' T* l! `6 s- u$ Y+ L. Y) _9 X
  235. STA $2000
    3 Y- b3 f1 O4 A' `
  236. INX: t6 P( @6 A1 j4 f2 n8 M# v8 [
  237. INC $BA+ Y' h$ L; i% x3 K- ^9 F
  238. INC $BC" g- i$ J! h$ O0 I/ N
  239. CPX #$00
    3 Z/ ]. G# @$ C) m4 R0 C+ C' ?
  240. BNE L15 n: W- c/ S0 i# |% L. x
  241. INC $BB; |+ g) F0 H" p0 n( C: W
  242. INC $BD
    5 A6 N% f, v, i2 X
  243. JMP L1
    # K  }7 Y( n+ h. L5 ?
  244. ( N: T5 z4 `% H; ~
  245. PROADPLA:                ;出栈5 G0 }* v$ e  |  |' t' S
  246. PLA3 o# R5 D: k) l$ A4 z/ {
  247. STA $B8
    - }; W+ j& Z4 B6 I! \5 v# Y
  248. PLA1 y: ^. E, v- O* w
  249. STA $B96 x. q' k6 v, R7 P0 Q
  250. PLA
    ; l/ {2 W- R5 {! a$ |4 z( {. O
  251. STA $BA  F  [. s: Y9 T1 E$ x3 a; X. n  K
  252. PLA& ?) A% }: T* |. Y% F, c
  253. STA $BB
    ; w0 b! E" d3 ?: `, M  z
  254. PLA' g5 T! l6 E( s  Q, T8 b' g
  255. STA $BC  F* T- U  m( q+ q' }9 n
  256. PLA  k/ A+ Q$ e( z7 ]" b. b
  257. STA $BD- K+ h4 F4 J+ O3 P
  258. CPRE:
    ; S( `2 l& u  S  D0 a. d6 k7 V
  259. RTS
    9 p6 c! ^* J% k0 [$ D
  260. : K& I& A! c, G8 [! E
  261. CLEANA:                ; PPU清空
    $ V$ S# N- A. p# _9 [% x
  262. LDA $BD
    , r- s$ y* X9 T) ?. _; S( K2 \
  263. PHA. T. q$ Y1 O$ v' ~6 R9 M
  264. LDA $BC) K' A2 ?) q# O8 S
  265. PHA
    8 y7 y! q/ j1 h8 p4 K" F& E* B3 n3 t
  266. LDA $BB
    , ?- x, h" q: y- ~% D  t% o; `1 N
  267. PHA
    5 |1 Y$ m- [; L4 v( q9 {# L
  268. LDA $BA9 B* r, [9 I. X
  269. PHA
    3 _0 @! g( M. X5 y* ?
  270. LDA $B91 [& s# X8 K/ }/ `( L
  271. PHA
    : |: N7 }- ?5 G9 O. ~
  272. LDA $B80 |) A4 z- ]- M! G/ ]
  273. PHA: e. W3 ?) _8 e  \$ I7 K9 S1 W8 m
  274. LDA #$00# p+ V# X, G, g
  275. STA $B8' ?/ |0 m$ h- i* B9 i4 W
  276. STA $B9
    3 Y+ p8 ?$ }' h; I" t
  277. STA $BA* M1 r" e3 {" Z" [8 t2 |
  278. STA $BB
    7 O5 a$ p6 ~$ ~4 o3 A. t' I0 p
  279. STA $BC
    & E/ h) }' B/ d( a/ p- o" q/ ?' P
  280. STA $BD0 W  w! X% s# R6 |  x
  281. STA $20016 h1 [8 m$ G2 n8 L: o) B* ~5 r
  282. LDX #$00
    4 A- B9 p/ O5 _
  283. LDY #$00
    2 ?; `8 K4 K' V" g% w! A
  284. LDA #$00
    , F6 `! n& k  v( H  y0 _5 ?1 J
  285. STA $BA
    8 z( P: O- t) i  H, g# Z, W4 V
  286. LDA #$208 V& ~9 x# D7 R# I1 D" M1 z- X
  287. STA $BB
    % D/ F1 Y/ `8 W+ t5 f" L4 p
  288. 3 z1 q/ G: t, t* l0 q0 w
  289. CL1:
    4 Y1 C2 p! t& ]" N% @, s# V
  290. LDA $BB0 A# o2 y2 @/ [& [& R' s4 i5 D
  291. CMP #$28$ Z, f- ?3 j. z) \2 u! i1 I8 O6 A
  292. BNE CL2& Z  Y. J* _& p& k6 g! T; c* j- F: R
  293. LDA $BA" W$ ?* d$ Z( X8 s2 g) r
  294. CMP #$00( t$ |( F0 |4 `2 {$ Z5 {( k3 Z
  295. BEQ FREEWRIYE0 C' n2 `# `* [3 d! D

  296. 7 @- h5 Q9 @+ x0 C- u: Y0 @% C
  297. CL2:$ K. O3 n6 A# K  ]
  298. LDA $BB( f# C  M- o# h% p  _
  299. STA $2006
    / O, b6 {, Y  P5 J
  300. LDA $BA
    ) d2 X" n  s+ J7 ]2 k( Z) X
  301. STA $2006
    0 n0 U5 a8 g2 Z5 L. Z# {

  302. ! Q# P! m0 A9 v5 Z& c
  303. CL3:6 X% ]( P* U5 e; F9 o! R0 i3 o
  304. LDA #$00
    + P( D7 K* s; T! i- Z/ j
  305. STA $20070 y, i$ E; x, @( W
  306. 1 e+ E- m( Y" B$ N, }$ M: H* n
  307. CL4:
    * m! b# ]% L: ], S8 o
  308. LDA #$00( N/ P0 ?) D2 `! q  g
  309. STA $2000( z+ h7 T* [. P+ d
  310. INX6 v( s3 e: j1 ?# ?0 Q3 _" H0 Z
  311. INC $BA; E4 Q/ }. |1 \# a) Y8 s
  312. CPX #$00
    8 _$ r$ `  `0 M# T, k4 Z0 D$ }3 R
  313. BNE CL1' i$ a  l2 Y  T" T
  314. INC $BB9 Y8 E8 K, B6 e9 p- I( D
  315. JMP CL1
    / G; e! s5 C- g* @6 ~/ M

  316. 4 Z& |8 E, R" k% e
  317. 5 C6 a  x% ~0 @% X# I! m5 Q0 f. S+ D
  318. FREEWRIYE:
    0 N/ w  K! h% x& ]: ?
  319. - w1 Z* ^; Y8 w' a
  320. NOP
    ; ^. ?6 L( ^" c# T& ]+ `+ }
  321.   @0 E( ~* B0 j3 y: K( U* N! I% }
  322. ( _8 W% T9 L8 o5 i4 r

  323. 2 y5 V1 I; x6 u: _7 V* c2 Z
  324. + `9 D' L- Y# U$ i4 q! _1 A3 H2 T
  325. ( a5 r+ s. T, O" N& X7 B
  326. CLEANF:                ; 恢复现场
    1 A; n) B) u6 t: \: t7 x, k$ f

  327. # s; Y4 F. w% G: Z
  328. PLA. O( j9 C% m3 W$ X  @( `" g
  329. STA $B8- ]) ~% _) E! S, k6 Z& K
  330. PLA7 N# Y& ?, v, E; [8 V2 Z& |. t
  331. STA $B9
    # I9 e" _7 x9 I6 ~' {3 {# `" J
  332. PLA
    8 `! i% B. E! B& d& Z
  333. STA $BA
    ' D' r( y7 ]1 r+ q5 Z; q% x
  334. PLA* k( ]. Q# M! _  K
  335. STA $BB
    % t/ j+ v# j7 n
  336. PLA+ L4 b' B# N8 K6 }- R
  337. STA $BC2 p; d% t7 ?! @% f4 z
  338. PLA' c/ }: O2 g& J: F6 C8 b9 d
  339. STA $BD
    $ N  Q8 i$ f& G7 s
  340. CLRF:# ~8 F' m; o1 e. `) R% e6 i# o* D
  341. JSR FREE_PPU
    . d- z0 o2 I! h0 ]$ M% @
  342. RTS
    $ G. ]$ q$ m3 v8 _; ~/ U

  343. ! _( Z* q; d7 A# {, D
  344. : h" y( W  A7 G8 ]4 D; p
  345. PPUWRITE:    ;PPU写回7 I. e6 Y( r! _& V! M
  346. PLA2 S* M1 ~: T) v) M3 ]% L/ q& _
  347. TAY& O, f% ?' d7 l/ z9 a4 Q
  348. PLA/ U6 C3 G3 [: Y8 N
  349. TAX
    * a. o6 A, s# A3 H; }0 {; k) h/ w
  350. PLA) \1 Z, @1 N# }# v/ T8 ~- Z
  351. LDA $25
    ; y. ]4 a; M0 u7 {, z1 a4 l# B
  352. CMP #$00
    4 `: I  W( ?( P$ z5 W- a8 \
  353. BEQ WP1
    3 [, W! [, p3 V/ s# k) V6 ~
  354. LDA $25
    , v. `# p" h$ @6 d; O# s
  355. CMP #$01
    1 r. x4 Y# ?* A  [( u+ X& h. y! O
  356. BNE WRE
    - a! m+ y7 \" n! @! }  Y$ p
  357. LDA $F5,X
    / R2 a* L  F: i- }7 m8 [
  358. AND #$EF( N4 I8 a, J) T6 I9 I  e3 o* p
  359. BEQ WRE7 l' q+ ^/ E5 Y7 P
  360. LDA #$00. x0 t, E1 y1 [3 v  D
  361. STA $7FA0
    3 Y: N  O5 Q- f0 y5 P

  362. 4 @" x1 P% f8 W# m6 W) q
  363. WRE:
    : D( G+ A6 o$ l  n* f
  364. RTS
      F. w2 E6 i/ s9 b; d0 W; I
  365. 5 |8 v4 O9 p$ ~+ s* {
  366. WP1:
    % \( L8 g6 w* r+ K" b+ H1 b
  367. LDA $7FFF
    - G- k4 a  H; g" c6 V4 o/ E
  368. CMP #$FF
    5 p( u" M7 F3 n! T! k" A
  369. BNE WRE5 S: U+ r. V! v* `2 F
  370. LDA #$00
      I& Y1 T  P, W
  371. STA $2001
      K; ^2 ]) d! y" a) w! e
  372. LDA $BD  A5 C' l8 t. M
  373. PHA
    ; o5 l  ~; a$ H; t
  374. LDA $BC  Q8 F, u3 R5 S( c8 [) l
  375. PHA
    ' S3 B1 d% H% e0 g7 `+ G. D
  376. LDA $BB
    + S& N( c2 R6 S
  377. PHA; {) w; z6 A0 |4 k# D
  378. LDA $BA
    ; X! ]+ b) q3 u% h
  379. PHA. _' z4 L8 v9 r6 J0 P5 G; x
  380. LDA $B9
    " V' ~1 \% G% a1 `& o
  381. PHA
    " j/ L: V% o) @" x' P  B
  382. LDA $B87 j6 M) f' |& _+ X3 v! N: V
  383. PHA1 p( U- A$ [2 t3 _0 O
  384. LDA #$00. l5 k1 v8 D0 t+ g# I4 h
  385. STA $B8( p: F& C# i, p* ?( |  Y9 b7 `
  386. STA $B9
    4 t, f! I/ O+ w' n  t
  387. STA $BA. O; y* j4 j% X# y; b" _. q1 x7 Z
  388. STA $BB3 _7 s' o. t) N- m; Y. x
  389. STA $BC. o1 L" Y4 p' Z* B
  390. STA $BD' G( `- ]- w7 B6 X
  391. LDA #$00
    ! W5 c0 a3 D9 W* h$ |0 {
  392. STA $7FFF; q) t. ]' t; ?

  393. 7 w9 t1 Q9 e* B- m9 [
  394. WL0:
    + G- u; s$ s% D) L, w
  395. LDX #$00
    " g% D" ?) E' w
  396. LDY #$001 X% L5 U: W( B
  397. LDA #$000 e- C+ ~4 ^3 Q! J# }, V  v
  398. STA $BA/ W" V1 x! x* M
  399. LDA #$207 ^# P, P4 N* a2 |8 o. M
  400. STA $BB0 ]1 ?2 l' j  [! U; m
  401. LDA #$00
    : d( ]5 u$ R+ N1 Q
  402. STA $BC
    : \/ g% i' ]! t2 f
  403. LDA #$60
    $ A+ |* G. M1 B1 r5 D+ F$ [
  404. STA $BD; W: _7 l% d0 |) i" T2 Y" U
  405. ) [  w- ~* I9 m0 z' c0 f2 U& J
  406. WL1:, J& f+ s2 t0 ~7 v$ n
  407. LDA $BD' ~6 l8 m! Q+ j/ e7 n  o
  408. CMP #$68. q' y# g5 o2 i) r% S, K3 L, ?" D
  409. BNE WL26 A7 [  `( N& X- f- G) i4 }8 L
  410. LDA $BC' M9 S/ {, @3 j; b( u! W1 H
  411. CMP #$00
    9 C' O/ y# `3 ]! k$ T/ P
  412. BEQ WLR7 k% K2 u, l0 R7 w& y5 \- [
  413. 2 P4 Z& X! X) M) w5 v$ r% `
  414. WL2:' D3 h5 E: n" T) w* e
  415. LDA $BD$ V- I9 y8 v1 m: g
  416. STA $20066 k; B2 V# X6 f
  417. LDA $BC4 s7 Q. K8 B3 E, W
  418. STA $2006
    : g4 w: v. x! i' y& O8 d' r

  419. , V. e' f) g5 X  t* W0 G" L
  420. WL3:9 g/ ?$ T1 Z8 b8 @: p. z) Z8 K  U+ m
  421. LDA ($BC),Y' A. a. ~  P7 |/ ]6 J& g
  422. STA $2007
      U2 k$ _! L: O: O
  423. ' Q; a. Y, I* `; }2 u* g
  424. WL4:! V' w" S, {8 F
  425. LDA #$00
    % s: S( S) P# g2 V6 u8 N
  426. STA $2000" Q3 R4 H( c* w4 K; T9 f5 [! J; n
  427. INX
    % q1 p6 r, `- d  h
  428. INC $BA0 F4 Q8 z1 J! F2 Y' ?4 Q1 G5 G
  429. INC $BC
    ( C" m  b' h; [! u' y
  430. CPX #$00, Z, @5 K" |& S# ?  _; H5 I
  431. BNE WL19 s3 t' D$ D" d0 l! X4 I6 a
  432. INC $BB# O4 e$ M* ?2 I0 a0 r4 a6 o6 s
  433. INC $BD
    ; z7 x8 g5 d  O* T
  434. JMP WL1
    " P/ Z7 ~! t6 j5 R

  435. ; I/ |, E& t0 L: X$ H0 P# _$ T
  436. WLR:& K  S% j- C" a1 r/ ^2 B6 n6 |* ~
  437. LDX #$00
    % X/ x, R4 |7 Q' Q: F
  438. COPY_7F00_7F3F:
    - o* l# e0 R4 v. o- p
  439. LDA $7F00,X
    4 B3 {7 H1 ^9 t& {
  440. STA $07C0,X0 q4 E1 c" G% L2 T  v' }) J! K1 G& V5 B
  441. INX
    # Y5 R0 W% f* T" C. {8 x
  442. CPX #$40
    " P8 y! K6 w; A% a; |7 A- H
  443. BCC COPY_7F00_7F3F
    / f) Z. q1 \7 }1 O* p8 ]
  444. 5 e. s; C) k' Q% T
  445. LDX #$00# e, U5 v4 i% J: ]
  446. LDA #$3F
    8 T( u7 k9 n! P+ f- m, n0 [
  447. STA $2006
    7 ]7 Z6 K: n5 G7 m7 ?4 a' }( q6 k
  448. LDA #$00: q5 c1 G9 V! z1 {
  449. STA $2006
    1 e7 X; D9 M; _7 h' V
  450. COPY_7F00_7F10:- z0 b6 B; l5 E+ J* M1 i& F
  451. LDA $7C0,X
    7 c) p3 e3 e7 S$ W
  452. STA $2007, _6 w/ D$ Z" z# m# D# a9 E
  453. INX
    % F' P2 @& ^7 d! n" k- B
  454. CPX #$106 |  P0 v3 V) x  X8 ~! u+ w% Z% O
  455. BCC COPY_7F00_7F10" V  l& c8 E+ B4 V
  456. , F' m+ N# F6 \; s3 H
  457. LDA $2002, p" u; O9 ^6 F/ @' K+ K; m
  458. LDA $FD
    8 T7 Y) F9 c! F: c" D( Z& T) b) x
  459. STA $2005: U# R. Z' @. U. _7 |
  460. LDA $FC. b4 }8 ^$ w0 a% @  [* v' r
  461. STA $2005
    % W- u2 H4 F: W2 z0 W
  462. . ^/ P' H. N8 e! @# N6 G; e2 P0 O
  463. LDA $7F50
    " S, K/ V, M! L
  464. STA $FE
    0 u7 Y! Z! R/ c) ?' r& R1 D, u
  465. LDA #$00: z0 m! l3 d' j9 C" u
  466. STA $2000
      E3 W# Z7 ^( ?
  467. PLA
    * H+ N3 Y& @" O
  468. STA $B8
    7 A5 q# J. f' v4 V" t  W7 n: l) o
  469. PLA+ |, Z+ y  j' k' O5 Z" g  i$ v
  470. STA $B97 v& ?! R9 K! d
  471. PLA
    + z, [4 ?$ ~. m5 Q9 R1 ?
  472. STA $BA
    # P; m" O6 {) @% }) ]# r
  473. PLA% ~% J) V: N; a: f
  474. STA $BB$ f- G; ^; {; n4 X
  475. PLA
    2 ^: J4 {3 w+ O3 W
  476. STA $BC
    " N! c2 }' o8 y
  477. PLA
    ! N* [% E; w( U" a$ K/ _, R
  478. STA $BD
    % z! T1 H, k) m3 K& H2 c+ M

  479. 4 D2 B" C4 X4 ^; Z( p1 L5 E
  480. RTS
    : x, s: E9 n/ K/ f7 p
  481. $ j! M. H) G, F; m+ Y% p' c7 l" p
  482. PPU_CMP:
    . x, A# H1 C: [  d* f% T
  483. / l; H: r# ^( x" c. h" H
  484. ! q4 F8 q. B: G- P, I' I3 ?
  485. PPURE:
    7 ]; F2 \% N+ @- D
  486. RTS, n" {8 W/ K3 b: i

  487. 0 e# ^( h4 d. g! S

  488. 4 {& C: I& z+ y: C, e1 ]* I; V
  489. FREE_PPU:- t2 C) k# o+ {3 E& v0 f5 M6 n

  490. # t" z' S: r% R; l, B- d
  491. JSR TEXT01_PPU6 Q; k( i$ P1 q* _' w
  492. JSR $CBC0! G$ B4 y6 O8 b+ t/ \) P/ k
  493. JSR P1_PPU
    0 S( h( O( h" H+ ~
  494. JSR P2_PPU1 K' Y, w2 Y: Q& E; r% ^7 y
  495. RTS$ a7 t! X6 c8 f
  496. : s* m5 h/ z" u" g; q; X& o
  497. TEXT01_ADDR:; [* X: m! b4 M" f( v
  498. .BYTE $20,$422 V# `% V7 X: h! T7 A( v
  499. TEXT01_DATA:
    ! @, s0 l5 {: t( ~
  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,CEND5 N3 p& m3 A7 U5 X$ O% g
  501. TEXT01_PPU
    " [+ Q# \  @% B0 }' ^+ g2 W
  502. LDX #$002 J3 ^9 f7 Q, ~, B) U3 [
  503. LDA TEXT01_ADDR
    $ [3 @) `- X. c# q6 |# f5 [" U
  504. STA $0703
    1 A0 J( T8 ~7 o
  505. INX' o1 r4 q% A# y" B, x
  506. LDA TEXT01_ADDR,X! B( ]+ h/ W# z, u" u( j# |( L) y
  507. STA $0704
    , a" r, F1 @+ P6 x' O0 n" [
  508. JSR PPU_PROCESS8 k8 E$ R9 v. l4 h
  509. TEXT01_W:
    1 k8 e6 n# r2 v; j$ ]* J
  510. LDA TEXT01_DATA,X
    0 X- ~' j0 k. r; E
  511. CMP #CEND
    ) y) \) n& X& c: W# I: v
  512. BEQ TEXT01_START4 r& g2 @( b6 ~( v9 M
  513. STA $0705,X1 a) y2 ~( j  R: E2 b8 b8 u! c
  514. INX! r) o' |4 h" U2 F8 N6 z7 u
  515. LDA #$00
    " d- Z/ e4 c  Q( R) r7 `
  516. BEQ TEXT01_W
    $ R! h. f* \" [
  517. TEXT01_START:/ n, Z. e; _2 P& `+ ]4 U
  518. JSR PPU_START  C+ @" l) h' {3 Y+ q. S
  519. RTS
    5 j# \" b5 [4 N7 C4 s" \4 M9 ]
  520. 6 Z& V4 B2 q% F* I

  521. * d% j' \3 ~* I3 B( L
  522. COLOR_DATA:$ x3 t8 I9 E0 s: o5 m  I
  523. .BYTE $0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28,$0F,$28,$28,$28  `0 I6 K% t8 ~6 B% {4 g. l

  524. # s7 k( N( S1 g  A
  525. P1_PPU:
    7 a3 O& x. H: k5 c
  526. JSR PLAYER_01_PPU
    / Y2 F  Y! t- n7 @  o! [' C% Q
  527. JSR $CBC0
    * ?" r9 j  C3 v4 K0 \  C3 ]
  528. JSR RELIFE_P1_PPU
    4 S1 @0 U$ i0 a; v" k- y
  529. JSR $CBC0$ y6 v" c3 Y% h8 U' r" `! u! ?! n! s
  530. JSR RELIFE_NUMBER_P1_PPU
    5 d- g" U. z+ }: y$ ~
  531. JSR $CBC0
    8 c7 a7 w2 z) T" j2 ^, s: H4 o
  532. JSR WEAPON_P1_PPU
    - [) n( ?7 f7 [+ `
  533. JSR $CBC0
    * O2 \7 J$ U# q: _
  534. JSR BULLETPPU_P1_PPU- u6 d! [) z! u5 U% d2 E" _- X
  535. JSR $CBC0
    6 q% a) T$ l7 x  |
  536. RTS
    8 l3 y9 i" O0 C

  537. . P& ?5 f4 z( c" `
  538. P2_PPU:
    6 s4 Z  I1 g: a% ]# h
  539. JSR PLAYER_02_PPU
    ; s+ V* t/ T7 \
  540. JSR $CBC0
    8 ]* |* r7 b8 v4 i
  541. JSR RELIFE_P2_PPU/ M* {0 P  O* X5 ~
  542. JSR $CBC0
    # B3 O- G7 J+ B' d4 _% `3 Q
  543. JSR RELIFE_NUMBER_P2_PPU
    - ?# [: n1 D# |9 G! |8 R' T
  544. JSR $CBC0
    + u- _& D2 ?2 o2 {/ E+ L. H
  545. JSR WEAPON_P2_PPU) d, m, L, ]  F" h/ ^! V
  546. JSR $CBC0$ \: ^( Z+ w9 n; a
  547. JSR BULLETPPU_P2_PPU
    ! a3 `, A1 k- S( z) P6 A4 i
  548. JSR $CBC0  r  R9 ?8 K, _( d$ }( K+ o! y9 V
  549. RTS0 d$ x+ m0 \* X6 w1 F+ x
  550. & n4 X7 q$ y9 G7 x$ v7 F

  551. % v3 T/ E2 ^( k: K, u8 K* `- v

  552. $ D6 r* W2 P) t' ]# p
  553. PLAYER_01_ADDR:! w  V+ b; j1 u# M
  554. .BYTE $20,$A36 l: z8 S! x: d4 L& B  B/ ^- L
  555. PLAYER_01_DATA:6 G1 O" D& O% u! M
  556. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C1,CEND* u! X, Y# a% a. I9 U- {' A
  557. PLAYER_01_PPU:6 N8 s) V1 x  |9 F. \4 u
  558. LDX #$00
    8 t6 i5 Q( G0 u  n2 @
  559. LDA PLAYER_01_ADDR
    ( d- Z9 _0 _1 R( p1 H$ z
  560. STA $0703$ B- g/ V# z9 r# c5 h0 Y9 ]0 H1 M! D
  561. INX
    . N+ t6 H8 _. {
  562. LDA PLAYER_01_ADDR,X
    1 s/ @/ \) f  }9 N- A
  563. STA $0704
    7 F7 x) B, c. p
  564. JSR PPU_PROCESS5 Y% e6 ~4 g6 J$ o* ~' P
  565. PLAYER_01_W:4 C2 Z5 g7 ^8 A1 R7 ^2 I
  566. LDA PLAYER_01_DATA,X" i& o; V" ?! k9 A
  567. CMP #CEND
    * V$ J1 ~5 C4 R. P
  568. BEQ PLAYER_01_START* h1 l* s/ ~% |2 h: M' S0 {* u0 d1 P; f
  569. STA $0705,X( q5 y: A" H) @2 s7 G
  570. INX
    ; u7 _% }5 n2 s: C' G
  571. LDA #$00
    8 d; O% |- X$ W8 h. G! C
  572. BEQ PLAYER_01_W% W+ P, q! J3 n- {. H$ J
  573. PLAYER_01_START:* b6 U5 @* [, m" u) n8 _: L
  574. JSR PPU_START
    ( q0 y$ z; n- t3 ~' L
  575. RTS
    $ C, q  A  f8 y) z& R

  576. ! m, s$ Z6 m1 v
  577. 5 k8 {+ g% z- b" E: Z8 J
  578. RELIFE_P1_ADDR:
    6 V) r% c) R$ Q- [2 v
  579. .BYTE $20,$E3
    " ~- ~* M5 ^- f! D7 @" n9 O
  580. RELIFE_P1_DATA:
    0 u; x, W! N$ X; l+ f2 H2 r
  581. .BYTE CR,CE,CL,CI,CF,CE,CEND% g3 k$ H/ M1 K! ?% n1 H
  582. RELIFE_P1_PPU:0 R6 S' W1 f/ q' H8 a) P- A
  583. LDX #$00% m3 {/ g. k" V9 {; w1 ]& B
  584. LDA RELIFE_P1_ADDR
    % ?% g7 z0 H/ h) p) k
  585. STA $07033 D5 P  H0 H4 r/ j& W) j  H
  586. INX# |  x5 K$ S" x: p- U
  587. LDA RELIFE_P1_ADDR,X0 M  b+ ?; e+ G0 ?2 e
  588. STA $07040 |( f. y. r+ J8 b
  589. JSR PPU_PROCESS
    & g4 ^0 ]2 {( U" D) _' h
  590. RELIFE_P1_W:1 m, B8 F- m% \
  591. LDA RELIFE_P1_DATA,X
    0 D( y' V0 N1 C# A
  592. CMP #CEND" b: I$ o% d; _3 }8 E
  593. BEQ RELIFE_P1_START5 F' Q3 i/ K4 K: A
  594. STA $0705,X  ~  R6 s9 ^2 }  U1 n) R9 k$ `
  595. INX
    / H) U# g' i: e7 a* M+ w  u1 ^9 p
  596. LDA #$006 Z# `" U/ R3 A4 u9 m7 g5 i
  597. BEQ RELIFE_P1_W
    ! w0 v$ G, n& X/ T; {
  598. RELIFE_P1_START:
    9 ^3 |/ m8 [$ F: U3 z5 a, Q1 k
  599. JSR PPU_START
    ' W/ A) m" b- D  N# I. K
  600. RTS$ g( v6 z0 b: }: n0 H
  601. * q. `# t' U7 M
  602. 1 w& }  h" v5 w5 U: C
  603. RELIFE_NUMBER_P1_ADDR:2 e* _% f! R8 ^7 }4 |9 e6 s
  604. .BYTE $20,$EA
    + e, f/ f  |, m3 \& s
  605. RELIFE_NUMBER_P1_PPU:5 v1 i! R' w% D9 L8 T; F. N4 F
  606. LDX #$00
    " @' w, Z' g; J* X( {5 {
  607. LDA RELIFE_NUMBER_P1_ADDR
    1 h8 y3 ^" b8 I& h
  608. STA $0703
    5 i$ t) c1 ]6 J; m: Z% C  |# a
  609. INX5 x' W7 i' Z: J3 F: o; _
  610. LDA RELIFE_NUMBER_P1_ADDR,X( z  I2 D- W4 |+ M9 J- B! V
  611. STA $0704/ d% _4 f, R# c; b* j2 L
  612. JSR PPU_PROCESS
    1 k7 h& n) l+ F0 X# E0 b0 [& `
  613. LDA $32  ?8 K* K$ T4 @  b  R
  614. JSR LIFETODEC& J7 f) A% p. T7 I
  615. RELIFE_NUMBER_P1_W:
    : C7 h6 ^4 U: k: y* Q, K
  616. LDA $7A03' E0 [6 r6 v, Z4 u
  617. STA $0705
    ' r1 `1 ?$ m/ I# z  V
  618. INC $0705# y9 t9 n  Q% G4 ^5 E% I4 [9 O' P
  619. LDA $7A04
    8 d5 i# o8 C. M6 y6 u
  620. STA $0706
    6 c, e3 F4 W- ]) y+ H6 _3 s" x
  621. INC $07066 l2 f; }4 Z2 {4 X" V& M
  622. LDA $7A05
    . h% a  y' P4 ]5 V% \% U5 b
  623. STA $0707
    $ q; t/ C) x8 w1 ], V6 G. w
  624. INC $0707, D" d8 S" Z; @( r" a% r: [
  625. LDX #$03
    " ~# E9 c" B/ b' ?
  626. RELIFE_NUMBER_P1_START:
    , J8 L4 F( Z. S! m
  627. JSR PPU_START; j+ @1 a9 j% |+ a& a  t
  628. RTS1 U  F8 J( A% x
  629. 8 D" q, o( ]5 a% C
  630. WEAPON_P1_ADDR:$ f% N# K0 z# S0 |
  631. .BYTE $21,$23; E7 X  Q7 H; Q0 S
  632. WEAPON_P1_DATA:, e* ?# @; i  S) f
  633. .BYTE CW,CE,CA,CP,CO,CN,CEND
    * k4 [- u1 c$ Y
  634. WEAPON_P1_PPU:  M$ Z0 ?6 g2 u/ k! R. K7 a7 c
  635. LDX #$00
    3 v9 A! t( _- G. t5 J* `
  636. LDA WEAPON_P1_ADDR  t: L) L1 `. i4 x" I4 O3 {
  637. STA $0703
    : f3 s* T, g, ?. Z) r" N4 B
  638. INX
    7 T& R, G4 `! ?1 ?
  639. LDA WEAPON_P1_ADDR,X+ H0 z7 O9 }3 {
  640. STA $0704  D' X4 P" |8 o( B( ~9 V& @' ~
  641. JSR PPU_PROCESS* \1 O% G  c( H; E( j$ f9 H
  642. WEAPON_P1_W:
    9 N# B$ i3 s: G% v7 V
  643. LDA WEAPON_P1_DATA,X
    ' F& j: I1 T" I
  644. CMP #CEND, W7 J7 P+ x9 e* o) X( R) w. L3 G
  645. BEQ WEAPON_P1_START
    4 H; A6 P, M$ ~! R
  646. STA $0705,X7 c! O7 ^& _5 K  J& D* I
  647. INX$ h9 H( M6 h( M3 G2 m. a+ ?& e
  648. LDA #$00
    * ~$ p* I9 I6 u# ]6 s+ {
  649. BEQ WEAPON_P1_W
    5 @+ @7 U4 J3 b
  650. WEAPON_P1_START:
    3 h2 ~( |  L; ^  Y; u0 v" p1 w6 k
  651. JSR PPU_START
    1 D9 ^0 Z( a/ T9 S' X
  652. RTS. n8 g6 b) a9 @

  653. ' D2 N! g4 r9 e6 M  F
  654. BULLET_P1_ADDR:
    ' C/ d, e: \+ H
  655. .BYTE $21,$2A
    . M/ N* |+ w& O7 m" K; t
  656. BULLET_P1_DATA:" ]* j8 a1 n7 H% L9 \5 w
  657. .BYTE $00,$01,$02,$03,$04) a* }0 ]1 ^8 p  ]
  658. BULLET_P1_NAME:
    " |. S- Y' P& {, D5 ?" l
  659. .BYTE CN,CM,CF,CS,CL
    5 o9 A% F/ k! b0 O3 ~
  660. " w6 n: a" r  `5 ]( w
  661. BULLETPPU_P1_PPU:+ b, E7 j# b% c$ q  A, i
  662. LDX #$00
    2 u/ g& n! X0 C0 n/ k. z7 z
  663. LDA BULLET_P1_ADDR
    , ~2 A- n; A. r0 N2 d+ J4 k% F; j! j
  664. STA $07035 V+ n8 i9 H* i5 `: H
  665. INX, Z; a  p  i, Y3 {+ [9 C& m. W
  666. LDA BULLET_P1_ADDR,X
    / i7 B- u% B& p0 A4 C9 H
  667. STA $0704
    3 M$ T4 q6 I! X+ A) y
  668. JSR PPU_PROCESS
    6 _! J9 D8 y+ p" \$ Y
  669. BULLET_P1_WRITE:; [$ l! ]1 z0 u1 y7 S. A" j/ q4 P
  670. LDX #$001 M& P- [- G  x: I
  671. LDA $AA) |- R0 ~: i* X+ q2 r
  672. AND #$10
    9 V+ l2 P6 j: O; W9 o2 i' p
  673. BEQ C_BULLET_P10 @- ~$ n: ~- d8 w; ^* K
  674. LDA #CS; _& T6 e0 H% r9 Y6 M6 G3 T
  675. STA $07057 {& W( K6 c' ?. n5 t+ C# Q
  676. BNE B_NAME_P12 J( x# r9 d* w6 a" u; U- _
  677. C_BULLET_P1:- ]+ Z1 d. E, T; M
  678. LDA #CC; N2 @+ X0 F" p* R' R, a
  679. STA $0705
    : v/ x: {7 @: x' E6 T: i! v: G" a
  680. B_NAME_P1:* N" K4 \4 {. B, \) [" C
  681. LDA $AA
    & I$ m2 d$ W, [% k- ^+ ^
  682. AND #$0F  Y! o$ l. O8 u7 V8 O
  683. CMP BULLET_P1_DATA,X3 b/ B4 L7 \6 v. X5 j
  684. BNE B_NAME_P1_RECMP8 }( }* I/ T5 u0 |2 N: @" ]
  685. LDA BULLET_P1_NAME,X1 M. T2 [5 q' Z) u5 A+ z6 I
  686. STA $07066 S, }$ f( P6 j8 p" ]+ O* W7 M9 t
  687. B_NAME_P1_RECMP
    : y1 s5 w2 G6 t, t
  688. INX& c4 J0 Q+ e% x( l& f: j0 I
  689. CPX #$058 Q2 V# M1 D: |5 Y
  690. BCC B_NAME_P15 r" b% a$ T4 |) F; i' r$ s% s
  691. LDX #$021 ]' R5 H. p  o. e! d
  692. JSR PPU_START# Z- X2 n1 T! @& ]4 _% E
  693. RTS
    ' x: Y. M5 D; q* U

  694.   C9 A4 p- s) C4 }0 s/ i/ C
  695. 3 L  C; G" \5 B
  696. PLAYER_02_ADDR:1 `- r  V7 x  M3 B/ l
  697. .BYTE $20,$B3. [$ Q/ u. S9 L
  698. PLAYER_02_DATA:; ^% _1 I" C# O: Z0 l) Z
  699. .BYTE CP,CL,CA,CY,CE,CR,CSP,C0,C2,CEND
    9 B" T1 Q/ G3 _- d
  700. PLAYER_02_PPU:2 D% k6 F- i7 K  B
  701. LDX #$006 d6 n4 ]) l0 K, i- z0 X7 u5 x
  702. LDA PLAYER_02_ADDR3 S0 p, C  g! v9 u; W/ T+ [
  703. STA $07035 B2 v3 W: P- n& ^2 w# p0 D
  704. INX7 Z/ }% n4 k9 c1 k0 ]; ^6 }
  705. LDA PLAYER_02_ADDR,X
    2 \) R' A* B2 H/ k2 h7 T
  706. STA $0704
    3 ?; _& \9 [$ o- i# k
  707. JSR PPU_PROCESS2 a: R7 U! e! @: |& z  E% c; B
  708. PLAYER_02_W:
    ! L0 P" n0 B/ V' g$ \
  709. LDA PLAYER_02_DATA,X
    , E5 x1 U, e* X
  710. CMP #CEND
    ' Y, d/ y( F& o+ Q5 ~
  711. BEQ PLAYER_02_START3 B) T8 T& o0 e2 f
  712. STA $0705,X& {0 G8 u' Y2 W$ C6 u8 s
  713. INX
    4 g& m3 b7 T' B3 g- Q
  714. LDA #$00
    . _) b, w( o1 Y4 Z- a/ j! P
  715. BEQ PLAYER_02_W
    . u. t) ^0 m+ m$ V' }
  716. PLAYER_02_START:! m3 u* v- O0 h4 _1 b
  717. JSR PPU_START; y0 j$ q3 t1 D- l
  718. RTS
    8 M' h% c6 T5 }# f! w* l) b

  719. + G8 F# {7 c8 W. M

  720. ( y) |8 L8 E! _: `1 D' u! b  ?
  721. RELIFE_P2_ADDR:
    % b! G1 z  A) V
  722. .BYTE $20,$F30 S7 @# y' ~; N9 \5 F/ R& a
  723. RELIFE_P2_DATA:
    ! D8 h3 J+ t0 R: Z' [" B
  724. .BYTE CR,CE,CL,CI,CF,CE,CEND
    7 C* R# X# v1 r; u2 C" N1 S
  725. RELIFE_P2_PPU:" j( P$ ?  Z8 Q
  726. LDX #$00
    " _  v! M5 _0 b7 n  [8 H7 i% W
  727. LDA RELIFE_P2_ADDR1 H- Q" r; f+ C& U( p+ C" a1 x
  728. STA $0703! n2 H/ _1 V, k4 V+ \' Y
  729. INX, s, m0 {, {% v1 C2 E
  730. LDA RELIFE_P2_ADDR,X% m) U- w; \0 ?* w$ _) ~4 ?5 ?
  731. STA $07046 j* c# }" h  r) q& \% |0 \  C
  732. JSR PPU_PROCESS
    & s5 \  }/ c" k& W; s
  733. RELIFE_P2_W:
    # Q. M5 c8 H  N& R, w8 s
  734. LDA RELIFE_P2_DATA,X+ @3 q" T  S9 f
  735. CMP #CEND( y* t- m, c7 t
  736. BEQ RELIFE_P2_START
    8 i' R2 v" [- D6 n, V/ r9 N
  737. STA $0705,X
      S$ U! o) o) z* [# q5 g) ~. t- r
  738. INX
    8 [) g5 O6 y" W  k2 @' X5 j3 x
  739. LDA #$006 _& W, A- |4 G8 @
  740. BEQ RELIFE_P2_W1 `0 m7 m1 a& T' O- a
  741. RELIFE_P2_START:
    2 F0 q  Z/ k  U- e
  742. JSR PPU_START
    # x1 K, {( N. r  ~0 T4 D
  743. RTS
    / f' r- q  `2 @4 f& \
  744. ) o! a2 M" d* D: {& ], g' W

  745. # \5 K: m3 D+ P# {0 h7 G$ e
  746. RELIFE_NUMBER_P2_ADDR:
    - f: k5 F+ i' f% s
  747. .BYTE $20,$FA
      I: A& Z) n7 S: E- F* N
  748. RELIFE_NUMBER_P2_PPU:' o* ^5 \! `7 ?$ z' V
  749. LDX #$00. s' ]# t* e2 X" j; ^; S1 r
  750. LDA RELIFE_NUMBER_P2_ADDR; X  \! K2 b" r, m6 V8 _  V
  751. STA $0703
    ! t' f: C3 H) ^/ s
  752. INX# }% B. {. Y8 i
  753. LDA RELIFE_NUMBER_P2_ADDR,X
    ! |- `4 v2 R6 A  o/ K: P
  754. STA $0704
    % s1 D- W3 _2 B4 Q1 }/ ^
  755. JSR PPU_PROCESS
    7 K4 Y9 U& v1 p1 D. ^
  756. LDA $33
    ( _4 @/ Y2 l# p; J) h  k& }
  757. JSR LIFETODEC
    * o' [( a8 K, X, a1 o! H
  758. RELIFE_NUMBER_P2_W:
    4 p5 w( I0 c7 ]! I! s1 }7 m$ r
  759. LDA $7A03( \) G$ }; O% M, N; p$ ^8 i
  760. STA $0705
    9 T; o+ W; k, d( ?
  761. INC $0705
    # @8 |& n. c) }4 k: Z- [; _5 k% K! Y
  762. LDA $7A04. \" G7 V% l6 H
  763. STA $0706
    ! O9 j- U" o5 ^# \! Z5 z- V8 _
  764. INC $0706
    : v% x: `+ ~" n% V6 L$ I
  765. LDA $7A05
    * I6 p9 _& J2 l* y5 h
  766. STA $07075 R- O/ j3 U$ h" `! a5 V, p+ r
  767. INC $0707
    8 g: h# e: \! X: `+ I, U0 P
  768. LDX #$036 ]  d/ C  b# @# A. l
  769. RELIFE_NUMBER_P2_START:1 m* @. a) k: @7 t
  770. JSR PPU_START  t  s9 u& s7 M
  771. RTS4 ^" {, b) c  p) y( Y$ W( A
  772. 6 U) N$ U; Z& d6 ^! R
  773. WEAPON_P2_ADDR:) p8 `. W. i% H* n
  774. .BYTE $21,$33' f' F% K8 z, c2 \2 P7 i
  775. WEAPON_P2_DATA:
    , c7 e' [) T  c) a8 w/ B
  776. .BYTE CW,CE,CA,CP,CO,CN,CEND
    8 i: J7 \4 z8 F. k: t% k, @
  777. WEAPON_P2_PPU:
    * }+ K# O% J1 ~
  778. LDX #$00
      j; k7 F; Y8 I
  779. LDA WEAPON_P2_ADDR# h8 \! @- @$ y
  780. STA $0703+ e5 u" [. Z6 r# W/ ?6 B! m: A+ C% m9 ~) v
  781. INX
    0 `- C, }7 R8 [% X! X, }
  782. LDA WEAPON_P2_ADDR,X
    5 P2 T; k" w  v& f
  783. STA $0704! j4 b: A( J8 v
  784. JSR PPU_PROCESS0 U( D/ h- O- l; N3 @/ c
  785. WEAPON_P2_W:
    ) G9 M' z3 n! h9 I- z& M* |( v/ k7 m! e
  786. LDA WEAPON_P2_DATA,X/ n- m% i" c* s! n; D  F
  787. CMP #CEND- ~% a4 W+ c$ o: H! G+ E6 e
  788. BEQ WEAPON_P2_START
    , S( q! B. {- m, C, f
  789. STA $0705,X1 \7 p" C# [1 R; i) ^; J
  790. INX" m  l! V  M/ Z( h1 }
  791. LDA #$00; q; q) J$ R/ v
  792. BEQ WEAPON_P2_W
    6 q+ L7 y9 I; H' h! I6 _( P# w
  793. WEAPON_P2_START:6 U' [  M( M0 c, `" T7 M6 y* D+ S6 [+ ?
  794. JSR PPU_START
    : T6 @8 [1 l" T# G
  795. RTS
    % b; M+ E! Y- c) n
  796. 0 O& Z! N1 h/ j7 W) B
  797. BULLET_P2_ADDR:
    & Z; G, [/ R  ?0 W! n" |1 ]+ j
  798. .BYTE $21,$3A
    3 k* ^2 `( [0 }4 [8 y' U  [, b
  799. BULLET_P2_DATA:! t( H9 R+ L9 |9 R' L- z* y4 |; p! b
  800. .BYTE $00,$01,$02,$03,$04
    + w* R" ]: Y$ u- H
  801. BULLET_P2_NAME:# d# Q8 w# m2 a% M1 e6 R: o
  802. .BYTE CN,CM,CF,CS,CL" Q4 `; \) W7 {- B! p7 ^; e

  803. & y. t+ a! D0 H1 I$ Q9 n, H
  804. BULLETPPU_P2_PPU:  V& W! x0 _5 U. j9 M  Y# E/ X6 |
  805. LDX #$00
    8 p9 t6 ~! u2 N  `% K6 x5 ]& g2 R
  806. LDA BULLET_P2_ADDR
    9 R9 t) |/ E, g3 {; K
  807. STA $07035 B# f/ [8 C# a5 T9 w2 E1 }) R+ q
  808. INX
    $ Q# Z+ U- V. n4 k6 X- f  j
  809. LDA BULLET_P2_ADDR,X* U  t' b" k3 b$ T5 i) c  q
  810. STA $0704' y7 l- d) d: n( [5 @
  811. JSR PPU_PROCESS' q. m( t& |) `8 D1 S
  812. BULLET_P2_WRITE:4 ~; E: e) ^: t) e) i" ?
  813. LDX #$00% |. e3 c2 z" g8 [! V
  814. LDA $AA
    8 g5 X9 l$ b$ ?/ @' x0 B) l2 j* b
  815. AND #$10$ ]0 s& T- z% p0 B3 L# l" e
  816. BEQ C_BULLET_P2
    : `. h. l4 n# J9 j  n' v3 s
  817. LDA #CS
    - K8 m3 p+ T4 Z
  818. STA $0705% r' s% {  h6 y1 `- z
  819. BNE B_NAME_P2
    ) M' L0 L: f: \# ^6 Y0 F/ A2 f
  820. C_BULLET_P2:
    * P4 ]2 d  C+ T  c# o
  821. LDA #CC
    ) t. \( ]: N# }, H) s/ y) Z
  822. STA $07057 e4 y) A) M; i9 \
  823. B_NAME_P2:4 a1 x! T! t+ Q$ B% d3 M7 L
  824. LDA $AB
    - w  V+ c0 ^0 r' O% }
  825. AND #$0F
    3 v* O5 G/ }; i+ I2 M
  826. CMP BULLET_P2_DATA,X/ |% F: ?& {* Q4 l; q. t
  827. BNE B_NAME_P2_RECMP
    9 V0 e/ }/ Q( |5 ~9 v$ F  K
  828. LDA BULLET_P2_NAME,X* @3 c$ F; c; C& u
  829. STA $0706) _: R0 d8 r8 V: n) R
  830. B_NAME_P2_RECMP
    4 g% x5 n8 G! T
  831. INX
    . Y4 Q; _& m' b  K
  832. CPX #$05
    - X. e9 N8 ?1 W( O/ v: l. v; s
  833. BCC B_NAME_P2
      W4 |1 r, l4 r. N* f: J
  834. LDX #$02% T+ E" s% p: Q9 B' F
  835. JSR PPU_START8 |4 g* C! M. G2 S. J( \6 k
  836. RTS+ i5 i0 q) P$ \0 i4 d, @& `
  837. 3 V$ ~* X! A$ ~' o& K$ g
  838. 7 k" m" l3 J2 d$ V' ^  T  t

  839. - i) x1 ^& R, m! F  k
  840. , D4 K4 \6 o3 ^9 e

  841. 3 |& N; V: v" S! P$ @1 L
  842. + w! A1 v; k0 Z# M- v
  843. LIFETODEC:                ;十进制转换
    2 B$ W* ^$ |$ X. ]  p
  844. LIFEL1:        ;initialise
    + V, W$ @0 x! [" x8 m7 B7 \! }
  845. STA $7A00        ;$7A00=F3$ h/ W' P; ]; S5 a4 X& e3 E1 R: N4 ~
  846. LDA #$00/ i/ V  H+ T. Z! e6 ]& e# x
  847. STA $7A03        ;$7A03=00
    . D1 \; q' J: h4 l( u1 v
  848. STA $7A04        ;$7A04=00, H% C7 Z+ y6 ^) a
  849. STA $7A05        ;$7A05=00. L) f# \  Q/ A0 _
  850. LIFEL2:        ;copy data $7A00 to 6001, S; h' X( Y7 [7 U0 o$ P
  851. LDA $7A00
    ! o9 e5 j* s* i! ~& \
  852. STA $7A01
    % u8 |& g4 t) w' j) x
  853. 1 k, G( Q1 g* B/ B( ]' s) ]
  854. LIFEL3:         ;hundred
    8 n, @/ |$ U; Y) ~/ f$ L0 l
  855. LDA $7A01% m1 }0 R$ J# q
  856. CMP #$640 j; V! l7 O7 A) C' T
  857. BCC LIFEL6                ;$7A01<100 goto L6
    3 v4 e2 a0 R* c% V! I
  858. LIFEL4:0 e, S6 U# `# N" _7 M# S
  859. LDA $7A01
    ' x) l! `4 ~3 o  P, H6 X1 l
  860. SEC8 G$ S' T" E6 H( \* {+ T
  861. SBC #$64        ;$7A01=$7A01-100
    - q( Z( b: L* i4 ^# g4 N5 j8 K+ @: d
  862. STA $7A019 b7 T8 o/ K5 n7 s6 l3 e9 L7 b( M
  863. INC $7A03        ;hundred++; d4 A! P3 o! ?1 a3 M3 `7 H/ }6 m
  864. LIFEL5:
    0 f4 ~+ F( _( j3 L: A* g7 H
  865. LDA $7A01
    5 [2 a5 b1 o) @; Z( ^
  866. CMP #$64
    ( p! l8 W) Q: ]1 B$ c: ~" }% h
  867. BCS LIFEL4                ;$7A01>100 goto L4
    ) z1 z! \' y* b) D9 \' N; j

  868. & E" A! [" f& h  U( Q. }
  869. LIFEL6:        ;decade
    , ]& X4 @: B( r" {7 M  I1 k  A
  870. LDA $7A01
      g4 b9 d5 d+ j# r+ _: k! N: v
  871. CMP #$0A! t$ z: `5 t4 J% Z6 L: w. s( C
  872. BCC LIFEL9                ;$7A01<10 goto L9
    6 P* ~1 V# U1 o1 m; J, N
  873. LIFEL7:       
    9 w$ ^; G9 [$ q- @  D
  874. LDA $7A01
    . O7 c+ ?) G* A
  875. SEC' C# _& E/ ?8 E
  876. SBC #$0A
    : s7 V) d9 D0 _/ }. Z/ g7 X
  877. STA $7A01        ;$7A01=$7A01-10
    # n2 n8 p9 `' o" A2 g0 g  D
  878. INC $7A04        ;decade++
    8 ]# Z$ B$ Z& Q; v, H0 P
  879. LIFEL8:
    / W; f' O! Y. p3 W
  880. LDA $7A018 ^- r& p# ?5 {/ `% k( b3 E
  881. CMP #$0A
    0 b* h: ]' L3 V: x5 q1 T# b1 o
  882. BCS LIFEL7                ;$7A01>10 goto L7$ K" G9 Y% w+ m9 M3 n: L# i! U
  883. ;unit
    - I0 v2 U3 P& Y5 K: v6 o. y
  884. LIFEL9:
    7 C5 f; C# w5 v' \$ X; X
  885. LDA $7A01        ;$7A05=$7A01
    % \6 i- e6 w& ^! p2 y- ^/ ~4 X9 ^
  886. STA $7A05        ;unit
    : q0 h9 \/ ^4 {- b8 R, b2 V
  887. RTS        ;return3 R5 W  n1 s& Q6 v% p

  888. : m! F3 l' I; ~) `8 e1 ?7 d. m

  889. % j, E. K$ R1 `0 u+ F# B
  890. % G5 \! x. Q: w0 r9 R5 i1 j
  891. PPU_PROCESS: ;PPU地址处理程序0 i$ Y, J# O, A( b' t/ B
  892. LDX #$00
    5 Z' p: z, f$ Z1 R
  893. LDA $FF
    ; D3 d+ ?$ _, m% l$ r  x
  894. AND #$01  [+ f# p7 y$ F
  895. BNE PPU_2400_27C0
    - i: P2 U5 F# K9 U( L% _
  896. PPU_2000_23C0: ;命名表1
    9 y6 L! |  K* y4 G! C  M
  897. LDA $0703
    6 |4 @6 h  U) w. ]* U1 X& ?
  898. AND #$FB$ g1 E4 J1 q' f: U  V. @, f
  899. STA $07036 s' A- Q5 Z, t+ @! n' m
  900. RTS
      U$ Q* f; j) Z9 F4 C- s1 |1 Q
  901. PPU_2400_27C0: ;命名表2
    + ]9 e+ n2 b. J4 E0 u
  902. LDA $0703) W( X: T* ]; c
  903. ORA #$04
    ! c* M. e& p! P
  904. STA $0703: H' l6 i0 ~/ L& d3 \) z
  905. RTS
    . j' F2 X' C5 V' J3 K5 c6 i, f
  906. : N. b3 z& b3 O
  907. PPU_START:  ;PPU数据写入  V0 g5 H6 R! A4 B9 J* ]" E
  908. STA $21$ i/ b# c4 e1 ^. w& q( `9 n( G
  909. STX $0701
    7 x, V% E9 }/ @+ v8 R
  910. LDA #$009 V$ n" H- l: l" A& Y
  911. STA $0705,X  Z: q! c' _: [0 N: O; {! P7 W  n
  912. LDA #$01
    3 ~' {, X+ M1 E$ x' J9 }0 q
  913. STA $0700
      v5 ]1 v' T* v7 x
  914. STA $07026 Z/ ?( v  y" g& E. l2 c3 C
  915. RTS
    5 n  o/ u  r6 S
  916. ' N) V; T7 m! t; J: p
  917. % Z, g9 H3 P3 \

  918. ! H4 j5 u6 P, H- m, Z
  919. 3 f# K6 L1 z$ I% f9 U# _* m

  920. 8 C. ~0 G# d/ e' D; D4 j- O
  921. - X& K; U4 L' t2 t
复制代码
/ E% M6 F3 ]/ A# p" m

本帖子中包含更多资源

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

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

签到天数: 2381 天

[LV.Master]伴坛终老

发表于 2017-2-13 17:25:19 | 显示全部楼层
这么好的教程竟然没有人支持!
- A7 f6 R/ d2 b. N- m

签到天数: 2586 天

[LV.Master]伴坛终老

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

签到天数: 26 天

[LV.4]偶尔看看III

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

签到天数: 2060 天

[LV.Master]伴坛终老

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

本版积分规则

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

GMT+8, 2025-12-27 09:44 , Processed in 1.124024 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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